Cổng nối tiếp RS232

Một phần của tài liệu KĨ THUẬT GHÉP NỐI MÁY TÍNH (Trang 79 - 96)

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 ư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ạị

- Cú thể ghộp nối với vi điều khiển hay PLC (Programmable Logic Device). - Cho phộp nối mạng.

- Cú thể thỏo lắp thiết bị trong lỳc mỏy tớnh đang làm việc. - Cú thể cung cấp nguồn cho cỏc mạch điện đơn giản

Cỏc thiết bị ghộp nối chia thành 2 loại: DTE (Data Terminal Equipment) và DCE (Data Communication Equipment). DCE 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 RxD (nhận) và TxD (truyền). Cỏc tớn hiệu 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.

Tớn hiệu truyền theo chuẩn RS-232 của EIA (Electronics Industry Associations). Chuẩn RS-232 quy định mức logic 1 ứng với điện ỏp từ -3V đến -25V (mark), mức logic 0 ứng với điện ỏp từ 3V đến 25V (space) và cú khả năng cung cấp dũng từ 10 mA đến 20 mẠ 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.

Chương 5: Ghộp nối trao đổi tin song song

80 Nguyn Tun Linh – BM KTMT – Khoa Đin T

Cỏc phương thức nối giữa DTE và DCE:

- Đơn cụng (simplex connection): dữ liệu chỉđược truyền theo 1 hướng.

- 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 1 hướng.

- Song cụng (full-duplex): số liệu được truyền đồng thời theo 2 hướng.

Định dạng của khung truyền dữ liệu theo chuẩn RS-232 như sau:

Start D0 D1 D2 D3 D4 D5 D6 D7 P Stop

0 1

Khi khụng truyền dữ liệu, đường truyền sẽ ở trạng thỏi mark (điện ỏp -10V). Khi bắt đầu truyền, DTE sẽ đưa ra xung Start (space: 10V) và sau đú lần lượt truyền từ D0

đến D7 và Parity, cuối cựng là xung Stop (mark: -10V) để khụi phục trạng thỏi đường truyền. Dạng tớn hiệu truyền mụ tả như sau (truyền ký tự A):

Hỡnh 4.1 – Tớn hiệu truyền của ký tự A’

Cỏc đặc tớnh kỹ thuật của chuẩn RS-232 như sau: Chiều dài cable cực

đại

15m Tốc độ dữ liệu cực đại 20 Kbps

Điện ỏp ngừ ra cú tải ± 5V đến ± Trở khỏng tải 3K đến 7K Điện ỏp ngừ vào ± 15V Độ nhạy ngừ vào ± 3V Trở khỏng ngừ vào 3K đến 7K Cỏc tốc độ truyền dữ liệu thụng dụng trong cổng nối tiếp là: 1200 bps, 4800 bps, 9600 bps và 19200 bps. Sơđồ chõn:

Chương 5: Ghộp nối trao đổi tin song song

82 Nguyn Tun Linh – BM KTMT – Khoa Đin T

Hỡnh 4.2 – Sơđồ chõn cổng nối tiếp Cổng COM cú hai dạng: đầu nối DB25 (25 chõn) và đầu nối DB9 (9 chõn) mụ tả như hỡnh 4.2. í nghĩa của cỏc chõn mụ tả như sau: D25 D9 Tớn hiệu Hướng truyền Mụ tả 1 - - - Protected ground: nối đất bảo vệ

2 3 TxD DTEDCE Transmitted data: dữ liệu truyền 3 2 RxD DCEDTE Received data: dữ liệu nhận

4 7 RTS DTEDCE Request to send: DTE yờu cầu truyền dữ liệu 5 8 CTS DCEDTE Clear to send: DCE sẵn sàng nhận dữ liệu 6 6 DSR DCEDTE Data set ready: DCE sẵn sàng làm việc 7 5 GND - Ground: nối đất (0V) (adsbygoogle = window.adsbygoogle || []).push({});

8 1 DCD DCEDTE Data carier detect: DCE phỏt hiện súng mang 20 4 DTR DTEDCE Data terminal ready: DTE sẵn sàng làm việc 22 9 RI DCEDTE Ring indicator: bỏo chuụng

23 - DSRD DCEDTE Data signal rate detector: dũ tốc độ truyền 24 - TSET DTEDCE Transmit Signal Element Timing: tớn hiệu định

thời

truyền đi từ DTE

15 - TSET DCEDTE Transmitter Signal Element Timing: tớn hiệu định thời

truyền từ DCE để truyền dữ liệu

17 - RSET DCEDTE 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 DCEDTE Remote Loopback: Tạo ra bởi DCE khi tớn hiệu nhận

từ DCE lỗi

14 - STxD DTEDCE Secondary Transmitted Data 16 - SRxD DCEDTE Secondary Received Data 19 - SRTS DTEDCE Secondary Request To Send 13 - SCTS DCEDTE Secondary Clear To Send

12 - SDSRD DCEDTE Secondary Received Line Signal Detector 25 - TM Test Mode

9 - Dành riờng cho chế độ test 10 - Dành riờng cho chế độ test

Bảng 1: D Type 9 Pin and D Type 25 Pin Connectors

Chức năng của cỏc chõn

Chữ viết tắt Tờn đầy đủ Chức năng

TD Transmit Data Serial Data Output (TXD) - Đầu ra của dữ liệu RD Receive Data Serial Data Input (RXD) - Dữ liệu được nhập vào CTS Clear to Send Bỏo rằng Modem sằn sàng trao đổi dữ liệụ

DCD Data Carrier Detect

Khi nào modem phỏt hiện ra một “Carrier” từ một modem kết thỳc khỏc của phone line, thỡ Line này trở thành tớch cực.

DSR Data Set Ready Thụng bỏo với UART rằng modem sẵn sàng thiết lập một mối liờn kết .

DTR Data Terminal Ready

Đõy là sự đối lập với DSR. Bỏo với Modem rằng UART sẵn sàng để liờn kết .

RTS Request To Send

Thụng bỏo cho Modem rằng UART sẵn sàng để trao đổi dữ liệụ

RI Ring Indicator Tớch cực khi modem phỏt hiện cú một tớn hiệu chuụng từđường điện thoại

Null Modems

Một Null Modem được sử dụng để nối cho hai DTE cựng nhaụ Những modem này thường được sử dụng như một cỏch để nối mạng cho những trũ chơi hoặc để chuyển giao giữa cỏc file mỏy tớnh sử dụng giao thức Zmodem Protocol, Xmodem Protocol, ... Điều này cũng cú thể được sử dụng với nhiều Microprocessor Development Systems (hệ thống phỏt triển bộ vi xử lý). (adsbygoogle = window.adsbygoogle || []).push({});

Hỡnh 1: Sơ đồ nối dõy Null Modem

Trờn đõy là phương phỏp ưu tiờn của việc nối dõy của một Null Modem. Nú chỉ yờu cầu 3 dõy (TD, RD & SG) để mắc được xuyờn thẳng qua vỡ vậy ảnh hưởng lớn đến chi phớ để sử dụng chạy cỏp dàị Nguyờn lý của thao tỏc khỏ đơn giản. Mục tiờu là làm cho mỏy tớnh cho rằng nú là một modem hơn là một computer khỏc. Bất kỳ dữ liệu nào được truyền từ mỏy tớnh thứ nhất phải được nhận bởi một mỏy tớnh khỏc do đú TD được nối với RD. Điều thứ hai mỏy tớnh phải cú cựng cơ cấu như vậy thỡ RD được nối tới TD. Tớn hiệu Signal Ground (SG) cũng phải được nối chung cho cả hai mỏy tớnh.

Chương 6. Ghộp nối trao đổi tin nối tiếp

Data Terminal Ready (DTR) được nối vũng vào chõn Data Set Ready (DSR) và Data Carrier Detect (DCD) trờn cả hai mỏy tớnh. Khi chõn Data Terminal Ready ở mức tớch cực thỡ chõn Data Set Ready và chõn Data Carrier Detect ngay lập tức trở thành tớch cực (active). Vào thời điểm này mỏy tớnh cho rằng Virtual Modem sẵn sàng được nối và phỏt hiện ra súng mang của modem khỏc.

Và vấn đề cần lo lắng bõy giờ là chõn Request to Send và chõn Clear To Send. Trong khi cả hai mỏy tớnh giao thiệp với nhau ở cựng một tốc độ, vỡ vậy việc điều khiển luồng là khụng cần thiết do đú hai chõn này được nối vũng với trờn mỗi mỏy tớnh. Khi mỏy tớnh muốn gửi dữ liệu, nú xỏc nhận sự cú mặt của chõn Request to Send ở mức cao và khi đú nú múc nối với chõn Clear to Send, lỳc này ngay lập tức mỏy tớnh nhận được cõu trả lời rằng nú cú thể gửi dữ liệu và nú thực hiện ngaỵ

Hỡnh 2: Sơ đồ nối dõy Loopback Plug

Loopback plug thiết bị này cú thể trở nờn vụ cựng dễ sử dụng khi viết những chương trỡnh truyền thụng sử dụng cổng nối tiếp RS232. Nú cú thể nhận và truyền nhiều tuyến đường cựng nhau, vỡ thế mà mọi thứ được truyền ra ngoài của cổng nối tiếp thỡ ngay lập tức nhận được bởi cựng cổng đú. Nếu chỳng ta nối thiết bị này với cổng nối tiếp nạp vào Terminal Program, thỡ bất cứ cỏi gỡ chỳng ta đỏnh mỏy sẽ ngay lập tức được hiện lờn trờn màn hỡnh.

Xin chỳ ý rằng thiết bị này chưa được dự định cho việc sử dụng với những chương trỡnh Chẩn đoỏn (Diagnostic Programs) và sẽ cú lẽ khụng làm việc. Bởi vỡ những chương trỡnh mà chỳng ta yờu cầu khỏc nhau sẽ bỏo cho Loop Back plug cỏi mà cú thể thay đổi từ chương trỡnh này đến chương trỡnh khỏc.

Tốc độ DTE / DCE

Chỳng ta đó núi túm tắt về DTE và DCẸ Một thiết bị đầu cuối dữ liệu (Data Terminal Device) tiờu biểu là một mỏy tớnh và một thiết bị truyền thụng dữ liệu (Data Communications Device) tiờu biểu là một Modem. Người ta thường nhắc đến tốc độ của DTE to DCE hoặc DCE to DCẸ DTE to DCE là tốc độ giữa modem và mỏy tớnh của chỳng ta, đụi khi được đề cập đến như là tốc độ của thiết bị cuối của chỳng tạ DTE to DCE cần phải chạy ở một tốc độ nhanh hơn tốc độ của DCE to DCẸ DCE to DCE là sự kết nối giữa cỏc modem, đụi khi được gọi là tốc độ đường truyền.

Hầu hết mọi người ngày nay cú những modem với tốc độ 28,8K hoặc 33,6K. Bởi vậy chỳng ta cần phải chờ đợi tốc độ của DCE to DCE cũng như tốc độ của modem là 28,8K hoặc 33,6K. Suy cho cựng vỡ tốc độ cao của modem nờn chỳng ta mong muốn tốc độ của DTE to DCE sẽđạt đến khoảng 115,200 BPS (Maximum Speed of 16550a UART). Những chương trỡnh truyờn thụng mà chỳng ta sử dụng đó đặt tốc độ cho DCE to DTẸ Tuy nhiờn, chỳng chỉ cú tốc độ 9,6 KBPS, 14,4 KBPS ... và coi như nú là tốc độ modem của chỳng tạ

Những modem ngày nay cú thể nộn dữ liệu vào trong chỳng (Data Compression). Điều này cũng như rất nhiều PK-ZIP nhưng phần mềm trong modem của chỳng ta cú thể nộn và giải nộn dữ liệụ Khi đưa ra đỳng cỏch thức chỳng ta cú thể mong đợi việc nộn số truyền với tỷ lệ 1:4 hoặc thậm chớ cũn cao hơn. Tỷ lệ nộn dữ liệu 1:4 là rất tiờu biểu cho việc nộn dữ liệu của những file văn bản. Nếu chỳng ta chuyển những file văn bản đú ở 28,8K (DCE-DCE), thỡ khi modem nộn nú chỳng ta thực sự đang chuyển 115,2 KBPS giữa những computers và như vậy tốc độ của DCE-DTE là 115,2 KBPS. Như vậy dú là lý do tại sao tốc độ của DCE-DTE cần phải cao hơn tốc độ kết nối của modem.

Tuy nhiờn, hóy khoan lạm dụng modem của chỳng ta nếu chỳng ta khụng cú những tốc độ mong muốn. Đú là những tỷ lệ nộn cực đạị Trong vài trường hợp cỏ biệt nếu chỳng ta cố gắng gửi cho một file nộn, modem của chỳng ta cú thể mất nhiều thời gian hơn nộn nú, vỡ vậy chỳng ta cú tốc độ truyền chậm hơn tốc độ kết nối của modem. Nếu điều này xảy chỳng ta nờn cố gắng tắt việc nộn dữ liệu của chỳng ta lạị Lỳc này cần phải cố định trờn những modem mới hơn. Một vài file nộn dễ dàng hơn những file khỏc vỡ vậy bất kỳ file nào mà nộn đơn giản thỡ tự nhiờn sẽ cú một tỷ lệ nộn cao hơn.

Điều khiển Luồng (Flow Control)

Như vậy nếu tốc độ của DTE to DCE là nhanh hơn gấp vài lần tốc độ của DCE to DTE PC cú thể gửi dữ liệu tới modem của chỳng ta tại 115,200BPS. Sớm hay muộn dữ liệu sẽ bị mất khi bộ đệm bị tràn, trường hợp này điều khiển luồng sẽ được sử dụng. Điều khiển luồng cú hai dạng cơ bản, phần cứng (hardware) hoặc phần mềm (software).

Điều khiển luồng bằng phần mềm (Software flow control), đụi khi được biểu thị như Xon/Xoff sử dụng hai dạng ký tự Xon và Xoff. Xon thường cho biết bởi những ký tự của ASCII 17 trong khi đú ký tự ASCII 19 được sử dụng cho Xoff. Những modem chỉ cú một bộđệm nhỏ vỡ thế khi mỏy tớnh ghi đầy nú, Modem gửi một ký tự Xoff để bỏo cho mỏy tớnh dừng cụng việc gửi dữ liệụ Khi modem trống cho nhiều dữ liệu hơn, nú gửi một ký tự Xon và mỏy tớnh sẽ gửi nhiều dữ liệu hơn. Kiểu điều khiển luồng thế này cú nhiều lợi thế rằng nú khụng yờu cầu bất kỳ tớn hiệu riờng nào như những ký tựđược gửi qua những đường TD/RD. Tuy nhiờn mỗi ký tự yờu cầu liờn kết chậm mất 10 bits điều đú cú thể làm chậm việc truyền thụng lạị

Điều khiển luồng phần cứng (Hardware flow control) cũng được biết như điều khiển luồng RTS/CTS. Nú sử dụng hai dõy trong cỏp nối tiếp của chỳng ta hơn là truyền thờm những ký tự trong đường dữ liệu của chỳng tạ

Chương 6. Ghộp nối trao đổi tin nối tiếp

Điều khiển luồng Phần cứng cũng được biết như điều khiển luồng RTS / CTS. Vỡ vậy điều khiển luồng phần cứng (hardware flow control) sẽ khụng làm chậm việc truyền thụng lại như việc sử dụng Xon-Xoff thực hiện. Khi mỏy tớnh muốn gửi dữ liệu nú sẽ điều khiển hoạt động của đường Request to Send. Nếu modem cú chỗ trống cho dữ liệu này, thỡ modem sẽ bằng việc điều khiển hoạt động của đường Clear to Send và mỏy tớnh bắt đầu gửi dữ liệụ Nếu modem khụng rỗng thỡ nú sẽ khụng gửi tớn hiệu cho Clear to Send.

Vi mạch điều khiển truyền thụng khụng đồng bộ van năng UART

UART là viết tắt của Universal Asynchronous Receiver/Transmitter. Đa số cỏc card sẽ cú UART tớch hợp vào trong những mạch điện tử chip khỏc mà cũng cú thể điều khiển cổng song song của chỳng ta, cổng games, floppy hoặc ổ đĩa cứng (hard disk drives) và tiờu biểu là những thiết bị giao tiếp với người sử dụng. Họ vi mạch 8250, bao gồm 16450, 16550, 16650, & 16750 UARTS là những kiểu thường thấy trờn PC của chỳng tạ Về sau chỳng ta sẽ xem xột những kiểu khỏc.

Hỡnh 3: Sơ đồ Chõn cho 16550, 16450 & 8250 UARTs

16550 là chip tương thớch với 8250 & 16450. Chỉ khỏc ở hai chõn 24 và 29. Chõn 24 trờn 8250 là việc lựa chọn chip ở ngoài mà chức năng chỉ là việc Ỏchỉ bỏoế tới nếu chip hoật động hoặc khụng. Chõn 29 khụng được kết nối trờn 8250/16450 UARTs. 16550 đưa vào hai chõn mới trong nú. Đú là Transmit Ready và Receive Ready mà cú thể thực thi với DMA (Direct Memory Access). Những chõn này cú hai kiểu thao tỏc khỏc nhaụ Mode 0 hỗ trợ việc chuyển giao đơn DMA trong khi mode 1 hỗ trợ Multi-transfer DMẠ

Mode 0 cũng được gọi là mode 16450. Mode này được lựa chọn khi bộ đệm FIFO được vụ hiệu hoỏ qua bit 0 của FIFO Control Register hoặc khi bộ đệm FIFO được cho phộp nhưng DMA Mode Select = 0. (Bit 3 của FCR) Trong mode này RXRDY là tớch cực ở mức thấp khi ớt nhất một characters (Byte) cú mặt trong Receiver Buffer. RXRDY sẽ khụng hoạt động ở mức cao khi khụng cú nhiều characters tồn tại trong Receiver Buffer. TXRDY sẽ hoạt động ở mức thấp khi khụng cú characters trong Transmit Buffer. Nú sẽ khụng hoạt động ở mức cao sau khi characters/byte đầu tiờn được tải vào trong Transmit Buffer. Mode 1 là khi bộ đệm FIFO được kớch hoạt và DMA Mode Select = 1. Trong mode 1, RXRDY sẽ hoạt động ở mức thấp khi trigger level là reached hoặc khi 16550 Time Out xảy ra và sẽ quay trở lại trạng thỏi khụng hoạt động khi khụng cú characters trong FIFỌ TXRDY sẽ được kớch hoạt khi khụng

cú characters cú mặt bờn trong Transmit Buffer và sẽ khụng được kớch hoạt khi FIFO Transmit Buffer là hoàn toàn Full.

Chõn Tờn 6.3.2.1.1.1.1.1 Lời ghi chỳ

Chõn 1:8 D0:D7 Data Bus

Chõn 9 RCLK Receiver Clock Input. Tần số đầu vào này cần phải cõn bằng với receivers baud rate * 16

Chõn 10 RD Nhận dữ liệu (Receive Data) Chõn 11 TD Truyền dữ liệu (Transmit Data) Chõn 12 CS0 Chip Select 0 - Active High Chõn 13 CS1 Chip Select 1 - Active High Chõn 14 nCS2 Chip Select 2 - Active Low

Chõn 15 nBAUDOUT Baud Output - Output from Programmable Baud Rate (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu KĨ THUẬT GHÉP NỐI MÁY TÍNH (Trang 79 - 96)