CHƯƠNG 3: GIAO TIẾP MÁY TÍNH VỚI VI XỬ LÍ
3.1. Giao tiếp cổng nối tiếp
3.1.1. Cấu trúc cổng nối tiếp:
Cổng nối tiếp được sử dụng để truyền dữ liệu hai chiều giữa máy tính và ngoại vi, có các yêu điểm sau:
- Khoảng cách truyền xa hơn truyền song song.
- Số dây kết nối ít.
- Có thể truyền không dây dùng hồng ngoại.
- Có thể kết nối với nhiều vi điều khiển hay PLC (Programmable Logic Divice).
- Cho phép nối mạng.
- Có thể tháo lắp thiết bị trong khi hệ thống đang hoạt động.
- Có thể cung cấp nguồn cho một số mạch điện cơ bản.
Các thiết bị ghép nối chia làm 2 loại: DTE (Data Terminal Equipment) và DCE (Data Communication Equipment). DTE là các thiết bị trung gian như MODEM, còn DTE là các thiết bị tiếp nhận hay truyền dữ liệu như: máy tính, PLC, vi điều khiển, … Việc trao đổi tín hiệu thông thường qua 2 chân TxD (truyền) và RxD (nhận). Các chân còn lại có chức năng hỗ trợ để thiết lập và điều khiển quá trình truyền, được gọi là các tín hiệu bắt tay (handshake). Ưu điểm của quá trình truyền dùng tín hiệu bắt tay là có thể kiểm soát đường truyền.
Các phương thức nối giữa DTE và DCE là:
- Đơn công (simplex connection):
Dữ liệu chỉ được truyền theo 1 hướng.
Hình 3.1. Dạng truyền đơn công.
Báo Cáo Luận Văn Tốt Nghiệp GVHD: Ngô Thanh Hải
- Bán song công (half-duplex):
Dữ liệu truyền theo 2 hướng, nhưng mỗi thời điểm chỉ được truyền theo một hướng.
Hình 3.2. Dạng truyền bán song công.
- Song công (full-duplex):
Dữ liệu được truyền đồng thời theo 2 hướng.
Hình 3.3. Dạng truyền song công.
3.1.2. Giao tiếp cổng RS-232:
Chuẩn giao tiếp RS-232 lần đầu tiên được giới thiệu vào năm 1962 do hiệp hội kỹ thuật điện tử EIA, là chuẩn giao tiếp truyền thông giữa máy tính và một thiết bị ngoại vi.
Tín hiệu truyền theo chuẩn RS-232 của EIA, chuẩn RS-232 quy định mức logic 1 ứng với điện áp từ -3V đến -25V, mức logic 0 quy định mức điện áp từ +3V đến +25V và có khả năng cung cấp dòng từ 10mA đến 20mA. Ngoài ra, tất cả các ngõ ra đều có đặc tính chống chập mạch.
Chuẩn RS-232 cho phép truyền tín hiệu với tốc độ đến 20.000 bps, nhưng nếu cáp truyền đủ ngắn có thể lên đến 115.200 bps.
Cổng giao tiếp RS-232 là giao diện phổ biến rộng rãi nhất. Người dùng máy tính còn gọi cổng này là COM1, còn COM2 để tự do cho các ứng dụng khác. Giống như cổng máy in, cổng nối tiếp RS-232 được sử dụng một cách rất thuận tiện cho mục đích đo lường và điều khiển.
Việc truyền dữ liệu qua RS-232 được tiến hành theo cách nối tiếp, nghĩa là các bit dữ liệu được gửi đi nối tiếp nhau trên một đường truyền. Trước hết, loại truyền
Báo Cáo Luận Văn Tốt Nghiệp GVHD: Ngô Thanh Hải
này có thể dùng cho những khoảng cách lớn hơn, bởi vì các khả năng gây nhiễu nhỏ đáng kể hơn là dùng cổng song song. Việc dùng cổng song song có một nhược điểm đáng kể là cáp truyền quá nhiều sợi, và vì vậy rất đắt tiền, hơn nữa tín hiệu truyền nằm trong khoảng 0 – 5V tỏ ra không thích ứng với khoảng cách lớn.
Cổng nối tiếp không phải là một hệ thống Bus, nó cho phép dễ dàng tạo ra liên kết dưới hình thức điểm nối điểm giữa hai máy cần trao đổi thông tin với nhau. Một thành phần thứ ba không thể tham gia vào cuộc trao đổi thông tin này.
Sơ đồ chân:
Hình 3.4. Hình dáng cổng RS-232.
Cổng COM có hai dạng: đầu nối DB25 (25 chân) và đầu nối DB9 (9 chân). Ý nghĩa của các chân được mô tả như sau:
DB25 DB9 Tín
hiệu
Hướng truyền
Mô tả
1 Protected ground: nối đất bảo vệ
2 3 TxD DTE→DCE Transmitted data: dữ liệu truyền 3 2 RxD DCE→DTE Received data: dữ liệu nhận
Báo Cáo Luận Văn Tốt Nghiệp GVHD: Ngô Thanh Hải
4 7 RTS DTE→DCE Request to send: DTE yêu cầu truyền dữ liệu
5 8 CTS DCE→DTE Clear to send: DCE sẵn sàng nhận dữ liệu 6 6 DSR DCE→DTE Data set ready: DCE sẵn sàng làm việc
7 5 GND Ground: nối đất
8 1 DCD DCE→DTE Data carier detect: DCE phát hiện sóng mang
20 4 DTR DTE→DCE Data terminal ready: DTE sẵn sàng làm việc
22 9 RI DCE→DTE Ring indicator: báo chuông
23 DSRD DCE→DTE Data signal rate detector: dò tốc độ truyền
24 TSET DTE→DCE Transmit signal element timing: tín hiệu định thời truyền đi từ DTE
15 TSET DCE→DTE Transmitrer signal element timing: tín hiệu định thời truyền từ DCE để truyền dứ liệu
17 RSET DCE→DTE Receiver signal element timing: tín hiệu định thời truyền từ DCE để truyền dứ liệu
18 LL Local loopback: kiểm tra cổng
21 RL DCE→DTE Remote loopback: tạo ra bởi DCE khi tín hiệu nhận từ DCE bị lỗi
14 STxD DTE→DCE Secondary Transmitted Data 16 SRxD DCE→DTE Secondary Received Data 19 SRTS DTE→DCE Secondary Request To Send
Báo Cáo Luận Văn Tốt Nghiệp GVHD: Ngô Thanh Hải
13 SCTS DCE→DTE Secondary Clear To Send
12 SDSRD DCE→DTE Secondary Receiver Line Signal Detector
25 TM Test Mode
9 Dành riêng cho chế độ Test
10 Dành riêng cho chế độ Test
11 Không dùng
Bảng 3.1. Chức năng các chân cổng DB25 và DB9.
Việc truyền dữ liệu xảy ra trên hai đường dẫn. Qua chân TxD, máy tính gửi dữ liệu của nó đến các thiết bị khác. Trong khi đó dữ liệu mà máy tính nhận được lại đưa vào chân RxD. Các tín hiệu khác đóng vai trò như là tín hiệu hỗ trợ khi trao đổi thông tin và vì vậy không phải trong mọi ứng dụng đều dùng đến.
Một trong những vấn đề quan trọng cần chú ý khi sử dụng RS-232 là mạch thu phát không cân bằng (đơn cực). điều này có ý nghĩa là tín hiệu vào ra được so với đất. Vì vậy nếu điện thế tại hai điểm đất của hai mạch thu phát không bằng nhau thì sẽ có dòng điện chạy trên dây nối đất. Kết quả sẽ có áp rơi trên dây nối đất sẽ làm suy yếu tín hiệu logic. Nếu truyền tín hiệu đi xa, R sẽ tăng dẫn đến áp rơi trên đất sẽ lớn dần đến lúc tín hiệu logic sẽ rơi vào vùng không xác định và mạch thu sẽ không nhận đúng dữ liệu được truyền từ mạch phát. Chính sự không cân bằng này trên mạch thu phát là một trong những nguyên nhân giới hạn đường truyền.
3.1.3. Một số sơ đồ kết nối dùng cổng nối tiếp:
Hình 3.5. Sơ đồ kết nối đơn giản cổng RS-232.
Báo Cáo Luận Văn Tốt Nghiệp GVHD: Ngô Thanh Hải
Khi thực hiện kết nối như trên, quá trình truyền phải đảm bảo tốc độ ở bên phát và bên thu phải giống nhau, khi có dữ liệu đến DTE, dữ liệu này sẽ đưa vào bộ đệm và sinh ra ngắt.
Ngoài ra, khi thực hiện kết nối giữa hai DTE, ta còn dùng sơ đồ sau:
Hình 3.6. Sơ đồ kết nối đầy đủ cổng RS-232.
Khi DTE1 cần truyền dữ liệu thì cho DTR tích cực, tác động lên DSR của DTE2 cho biết sẵn sàng nhận dữ liệu và cho biết đã nhận được sóng mang của MODEM (ảo). Sau đó, DTE1 tích cực chân RTS để tác động đến chân CTS của DTE2 cho biết DTE1 có thể nhận dữ liệu. Khi thực hiện kết nối giữa DTE và DCE, do tốc độ truyền khác nhau nên phải thực hiện điều khiển lưu lượng. Quá trình điều khiển này có thể thực hiện bằng phần mềm hay phần cứng. Quá trình điều khiển bằng phần mềm thực hiện bằng hai kí tự Xon và Xoff. Kí tự Xon được DCE gởi đi khi rảnh (trạng thái có thể nhận dữ liệu). Nếu DCE bận thì sẽ gởi kí tự Xoff. Quá trình điều khiển bằng phần cứng dùng hai chân RTS và CTS. Nếu DTE muốn truyền dữ liệu thì sẽ gửi RTS để yêu cầu truyền, DCE nếu có khả năng nhận dữ liệu (đang rảnh) thì gửi lại CTS.