1. Tuyển Mod quản lý diễn đàn. Các thành viên xem chi tiết tại đây

Cần giúp đỡ, Vấn đề với cổng Serial :-(

Chủ đề trong 'Điện - Điện tử - Viễn thông' bởi TuLa, 30/10/2003.

  1. 1 người đang xem box này (Thành viên: 0, Khách: 1)
  1. TuLa

    TuLa Thành viên quen thuộc

    Tham gia ngày:
    24/10/2002
    Bài viết:
    413
    Đã được thích:
    0
    Cần giúp đỡ, Vấn đề với cổng Serial :-(

    Tớ đang phát triển với một KIT 87C055 qua cổng Serial và trình phần mềm Debuger kèm theo rất ngon nghẻ, sau đó tháo Connector ra để Test bằng một KIT khác dùng cổng Serial đó; cắm connector mới vào và dùng phần mềm HyperTerminal để giao tiếp cũng ngon nghẻ. Sau rôi Cắm KIT cũ trở lại thì báo Error (không giao tiếp được nữa). 2 ngày rồi tớ vật lộn với nó đến bốc khói ở đầu rồi mà chưa biết chính xác do làm sao ???
    Tớ đã thử cái KIT cho 87C055 đó trên PC khác chạy ngon nghẻ rồi => KIT không chết. Và khi thực hiện chạy software Debuger trên PC để giao tiếp với KIT thì không chạy được nhưng thấy KIT có báo Error => chứng tỏ có giao tiếp nhưng có vấn đề gì đó làm nó choảng nhau... không giao tiếp được. Tớ đoán là có thể xảy ra 2 vấn đề:
    1. là: cổng Serial này bị hỏng (tớ đã thử với cả 2 cổng Serial rồi nghẻo cả 2), nhưng chưa chắc chắn vì vẫn thấy thằng KIT nó báo lỗi khi thằng software trên PC bắt đầu gọi nó ???
    2. là: 2 thằng phần mềm giao tiếp nó config phần cứng thế nào đó gây cho sai ngắt (INT) giao tiếp ==> loạn cả lên. Điều này có vẻ sai: vì... chả biết nói thế nào nữa (màn hình giao tiếp HyperTerminal chẳng cho ra cái gì sất).

    Bác nào có kinh nghiệm về chuyện này rồi, chỉ bảo giúp tớ cái !
    Xin chỉ bảo gấp gấp.

    http://tula.alturl.com
    http://tula.dk3.com
  2. txnghia

    txnghia Thành viên mới

    Tham gia ngày:
    13/10/2003
    Bài viết:
    216
    Đã được thích:
    0
    Tớ chưa đụng qua cái KIT đó nhưng cũng có một vài lần bị tương tự với cái Kit khác. Mình đoán khi cắm các KIT thứ 2 vào nó đã dành mất cổng nối tiếp và đổi một vài đặc tính của cổng, ví dụ như baud rate, number of start bit.... Khi trả lại cổng nối tiếp cho KIT cũ, các đặc tính này không đổi làm cho giao diện có lỗi, vì có thể tốc độ truyền không đúng, hay số bít Start và Stop...
    Có thể đóng cái hyper-termial cũ đi, mở một cái mới. Vô phần property, thử đổi các tham số đặc tính của cổng nối tiếp cho hợp với cổng nối tiếp của KIT.
    Hy vọng có thể chữa được lửa.
  3. TuLa

    TuLa Thành viên quen thuộc

    Tham gia ngày:
    24/10/2002
    Bài viết:
    413
    Đã được thích:
    0
    Tớ cũng đã thử các việc đó rồi và thậm chí Restart hay Turn Off mấy lần xem sao nhưng vẫn không chuyển biến gì cả. Đầu tiên là tớ làm với cổng COM1, sau khi bị hỏng như đã nói, tớ đã làm với cổng COM2 bằng KIT thứ 2 và HyperTerminal thấy ngon re rồi cắm Jắc của KIT với Debuger để làm thì tèo téo teo luôn, y hệt như với COM1 :-(. Bực mình quá, tháo máy ra cắm đi cắm lại rồi .... đập cho nó vài phát rồi vẫn chẳng chuyển biến gì được. Về cái Rate của HyperTerminal thì: bình thường nếu sai Rate thì vẫn nhận được data nhưng bị sai thôi chứ không như thế này: chẳng có gì ra hết.
    Cái KIT cho 87C055 của tớ chỉ dùng 4 chân của Port Serial thôi (cáp chỉ có 4 dây nối với 4 chân) còn cái KIT với HyperTerminal kia thì dùng đủ cả các chân của Port.
    Tiến độ cần làm thì tính bằng giờ mà thế này thì xxxxxx. Kô biết làm sao cho hạ hoả được :-(((((((( Ahhhhhhhhhhhhh,
    http://tula.alturl.com
    http://tula.dk3.com
  4. txnghia

    txnghia Thành viên mới

    Tham gia ngày:
    13/10/2003
    Bài viết:
    216
    Đã được thích:
    0
    Không biết TuLa sửa (tu là sửa ) được chưa nhỉ? Mình có cách thử cổng serial với hyperterminal. Khi mở hyperterminal lên, nếu gõ lên phím thì ở ngõ TX (transmit) của cổng này có tín serial ra (RS232), tuy nhiên trên khung cửa sổ không có hiện các phím đã gõ. Nếu dùng scope sẽ thấy tín hiệu này, không thì dùng DMM cũng thấy điện thế thay đổi. Thử này có thể biết có dây TX của cổng này còn làm việc không.
    Nếu nối chân TX và RX (receive) lại với nhau (cũng của cổng này), khi đó khi gõ lên phím, phím gõ sẽ hiện trên cửa sổ của hypertermial này. Tín hiệu từ TX được gởi ra và nhận lại bằng chân RX. Nếu nối như thế mà không có gì hiện lên cửa sổ, cổng có vấn đề.
    Ðể biết chân nào là chân TX, RX thì lên trang của TuLa . Cận thận nhé đừng nối chân TX hay RX xuống Ground, lại bốc lửa đấy.
    Thanks TuLa, tớ cũng đã lên trang web của bác lấy về ebook đấy.
  5. nvl

    nvl ĐTVT Moderator

    Tham gia ngày:
    31/01/2002
    Bài viết:
    4.304
    Đã được thích:
    6

    Gửi Tula: cách đấu loop back để thử cổng COM là rất hữu dụng đấy. Tuy nhiên, nếu có điều kiện, bạn có thể mượn cái thiết bị đo cổng của một số công ty truyền thông về đo là tuyệt nhất. Thiết bị này hiển thị rõ trạng thái từng chân, ngoài ra còn có thể có cả màn hình hiển thị chuỗi bit chạy qua nữa. Nếu là loại xịn thì còn bao gồm luôn cả tính năng giải mã giao thức.
    Thiết bị loại này khá đắt, nhưng nếu chỉ dùng cho giao diện RS232 thì khá dễ chế tạo. Chỉ cần một mạch trích tín hiệu, kết hợp với máy PC có cài phần mềm sniffer là chạy rất tốt rồi.
    http://www.ttvnol.com/forum/f_62
    http://www.ttvnol.com/forum/f_394
  6. kyniem

    kyniem Thành viên quen thuộc

    Tham gia ngày:
    16/01/2002
    Bài viết:
    317
    Đã được thích:
    0
    Theo tớ TULA nên check lại Flowcontrol xem Hyperterminal dùng FlowControl gì. KIT dùng có 4 chân thôi thì chắc là dùng XON/XOFF rồi không thể là hardware flowcontrol được.
    Được kyniem sửa chữa / chuyển vào 20:39 ngày 04/11/2003
  7. Quen_mang_kinh

    Quen_mang_kinh Thành viên quen thuộc

    Tham gia ngày:
    23/05/2002
    Bài viết:
    542
    Đã được thích:
    1
    87C055 co các đặc tính sau:
    ROM sizes:
    16 kbytes OTP (87C055)
    RAM: 256 bytes
    On Screen Display (OSD) controller
    Three digital video outputs
    Multiplexer/mixer and background intensity controls
    Flexible formatting with OSD New Line option
    128 ´ 10 bits display RAM
    Designed for reduced Radio Frequency Interference (RFI)
    Character generator ROM:
    -character format 18 lines ´ 14 dots
    - 60 visible characters
    -4 special characters
    Eight text shadowing modes
    Text colour selectable per character
    Background colour selectable per word
    Background colour versus video selectable per character
    Eight 6-bit Pulse Width Modulators (PWM) for analog voltage integration
    One 14-bit PWM for high-precision voltage integration
    Digital-to-analog converter and comparator with 3 inputs multiplexer
    Nine dedicated I/Os plus 28 port bits (15 port bits with alternative uses)
    4 high current open-drain port outputs
    12 high voltage (+12 V) open-drain outputs
    Programmable video input and output polarities
    80C51 instruction set
    Plastic shrink dual in-line package (0.07 inch centre pins)
    High-speed CMOS technology
    Power supply: 5 V ±10%.
    Con Chip này ngon đấy nhỉ bác Tula mua ở đâu chỉ chỗ mua với.
  8. chuongcv

    chuongcv Thành viên mới

    Tham gia ngày:
    03/11/2003
    Bài viết:
    7
    Đã được thích:
    0
    TuLa thu dua cai thong bao loi len xem nao. Phai biet chinh xac loi gi moi co the giai quyet duoc!
  9. Quen_mang_kinh

    Quen_mang_kinh Thành viên quen thuộc

    Tham gia ngày:
    23/05/2002
    Bài viết:
    542
    Đã được thích:
    1
    KIT của bác dùng 4 chân ngoài 3 chân cơ bản ra thì chân còn lại là chân ACK hay là tận dùng nguồn từ PC nuôi Card?
    Chắc bác cũng đã kiểm tra hết rồi nhưng nếu là tôi trong trường hợp này tôi sẽ làm như sau:
    1. Cắm thử một thiết bị dùng cổng COM (null-modem) để thử xem cổng COM còn chạy tốt không. (Ở baudrate sử dụng). Có thể nối loop hai cổng COM cũng được. Cần xác định chức năng của chân còn lại và thử chân này luôn. (Tất nhiên là cần chế một dây để thử)
    Nếu còn tốt sang bước 2.
    Nếu hỏng sang bước 5.
    2. Cổng COM tốt, thử KIT thiết bị ở máy PC khác chạy với một số hệ điều hành khác nhau.
    Nếu KIT vẫn có tình trạng tương tự sang bước 3.
    Nếu KIT vẫn còn tốt . Sang bước 4.
    3. Kiểm tra lại dây nối connector KIT. Vì có khả năng dây bị không tiếp xúc được một trong hai chân RxD, TXD mà chân ACK vẫn tốt thì khi ra lệnh KIT vẫn có thể như trên.
    Nếu dây vẫn tốt thì tạm kết luận: KIT có vấn đề vì tôi chưa biết KIT của bác thế nào nên STOP.
    4. Nếu KIT kết nối được ở một máy khác thì lặp lại tình trạng gây ra lỗi.
    Nếu lỗi lại xảy ra thì có thể tạm kết luận là xung đột phần mềm. Thử với một số hệ điều hành khác. Sang bước 6.
    Nếu lỗi không xảy ra thì hơi vô lý một chút KIT tốt - cổng tốt, chương trình tốt <-> Vãn không kết nối. Có lẽ bác nên quét Virus lại máy... Thực tế tôi đã gặp là có một số KIT có thể kết nối 9600 ở máy này nhưng chỉ được 4800 hay thấp hơn ở máy khác tùy thời điểm. Bác thử chế lại dây nối hay thay MAX232 xem sao???
    5. Có thể là một trong hai KIT của bác gây hỏng cổng COM. Kiểm tra kĩ lại phần cứng trước khi mang KIT sang máy khác thử.
    Chỉ có 1% xác xuất là cổng COM nó tự hỏng. Nếu mạch không có gì sai thì xác định lại chức năng chân thứ 4 có thể chân này làm một việc gì đó mà khi chạy HyperT thì nó bật tắt chân này không đúng thời điểm khiến không kết nối.
    Nếu có lỗi Ok đã có câu trả lời.
    Nếu KIT chắc chắn không thể làm hỏng cổng thì tìm một nguyên nhân gì đấy đổ tại nó làm hỏng cổng... Nếu cần về bước 2 để test KIT.
    6. Nếu xung đột phần mềm thì vấn đề có thể giải quyết một cách tạm thời là cài lại hệ điều hành và chạy một trong hai chương trình (nhớ quét virus trước) - còn muốn tìm nguyên nhân sâu xa hơn thì phải hiểu rõ hai phân mềm Debugger và HyperT hoạt động thế nào... cái này tôi nhường cho các cao thủ khác.
    Bàn vào một chút cho ra vấn đề...

Chia sẻ trang này