Download as pdf or txt
Download as pdf or txt
You are on page 1of 53

Chương 4

GHÉP NỐI VÀO RA NỐI TIẾP


Khái niệm
• Máy tính truyền dữ liệu theo hai cách:
 Song song
 Cần 8 hoặc nhiều hơn đường dây dẫn để truyền dữ liệu đến
một thiết bị chỉ cách xa vài bước
 Ví dụ của truyền dữ liệu song song là các máy in hoặc các
ổ cứng, mỗi thiết bị sử dụng một đường cáp với nhiều dây
dẫn
 Truyền dữ liệu đi trong một khoảng thời gian ngắn
Khái niệm
 Nối tiếp
 Các đường cáp dài làm suy giảm thậm chí làm méo tín
hiệu
 Các đường cáp dài có giá thành cao
 Truyền dữ liệu đi xa
 Dữ liệu được chuyển đi từng bit một
Khái niệm
• Ưu điểm của truyền nối tiếp
– 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ể 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 phương thức nối giữa DTE và
DCE
• 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
• 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).
Phương thức truyền thông nối
tiếp
• Truyền thông đồng bộ (Synchronous)
o Hai bên truyền thông sử dụng chung một đường tín
hiệu clock
o Mỗi bit truyền đi được xác định tại một thời điểm khi
có sự thay đổi mức tín hiệu của tín hiệu clock
o Bên nhận không cần phải biết trước tốc độ trao đổi tin
mà chỉ cần qua tâm tới tín hiệu đồng bộ phát trên
đường dây đồng bộ
o Hữu ích khi truyền ở khoảng cách gần bởi nó cho phép
truyền thông với tốc độ cao
• Mỗi khối tin đồng bộ thường gồm nhiều byte, các khối
được đánh dấu bởi các byte đánh dấu khung tin, các byte
này có giá trị là 16H (mã ASCII của chữ Sync)
• Truyền thông đồng bộ phải thực hiện liên tục, khi không
có dữ liệu cần truyền thì bên phát vẫn tiếp tục phải truyền
các dữ liệu “trống” để duy trì sự đồng bộ.
• Truyền thông đồng bộ thực hiện kiểm tra lỗi bằng phương
pháp số dư vòng (chia tổng tin của khung cho một đa thức
- gọi là đa thức sinh). Số dư của phép chia được ghi vào
một byte FCS (Frame Check Sum). Ở phía thu, cũng tính
tương tự và so sánh kết quả. Nếu bằng nhau thì tin truyền
không bị lỗi.
Phương thức truyền thông nối
tiếp
• Truyền thông không đồng bộ (Asynchronous)
o Đường truyền sẽ không cần có thêm đường tín hiệu
clock bởi vì mỗi bên đã có bộ phát xung đồng bộ của
riêng nó
o Hai bên phải thống nhất một tần số xung chung
o Mỗi byte truyền đi sẽ bao gồm một bit Start để đồng
bộ xung đồng hồ giữa hai bên và một bit Stop để đánh
dấu kết thúc byte được truyền
o Quá trình truyền thông không đồng bộ sử dụng một số
định dạng khác nhau. Thông dụng nhất là dạng 8-N-1
Phương thức truyền thông nối
tiếp
• Bộ truyền dữ liệu không đồng bộ (UART - Universal
Asynchronous serial Reveiver and Transmitter)
• Bộ truyền dữ liệu bất/ đồng bộ (USART- Universal
Synchronous/Asynchronous Receiver/Transmitter)
Phương thức truyền thông nối
tiếp
• Đơ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): dữ liệu được truyền đồng thời theo 2
hướng.
Tốc độ Baud
• Tốc độ truyền (tóc độ Baud) là số bit được truyền trên
đường dây trên một đơn vị thời gian, thông thường
được tính bằng đơn vị baud, tương đương với đơn vị
bit trên giây (b/s).
• Với định dạng 8-N-1, tốc độ truyền một byte dữ liệu
bằng 1/10 tốc độ truyền.
-> Nếu ta truyền với tốc độ 9600 baud thì trong một
giây truyền được 960 byte.
Chuẩn tốc độ truyền
Tốc độ (bps) Ký tự / giây
110 11
300 30
600 60
1200 120
2400 240
4800 480
9600 960
19200 1920
56600 5660
Khung truyền (Frame)
• Start là bit đầu tiên được truyền trong một frame
truyền, bit này có chức năng báo cho thiết bị nhận
biết rằng có một gói dữ liệu sắp được truyền
tới. Start là bit bắt buộcphải có trong khung truyền,
nó là một bit thấp (0).
• Data hay dữ liệu cần truyền. Bit có trọng số nhỏ nhất
(LSB - Least Significant Bit, bit bên phải) của data sẽ
được truyền trước và cuối cùng là bit có trọng số lớn
nhất (MSB - Most Significant Bit, bit bên trái).
Khung truyền (Frame)
• Parity là bit dùng để kiểm tra dữ liệu truyền có đúng
không (một cách tương đối). Có 2 loại parity là parity
chẵn (even parity) và parity lẻ (odd parity). Parity
chẵn nghĩa là số lượng số “1” trong dữ liệu bao gồm
bit parity luôn là số chẵn. Ngược lại tổng số lượng
các số “1” trong parity lẻ luôn là số lẻ.
• Parity bit không phải là bit bắt buộc và vì thế
chúng ta có thể loại bit này khỏi khung truyền.
• Stop bits là 01 hoặc nhiều bit báo cho thiết bị nhận
rằng một gói dữ liệu đã được gởi xong. Stop bits là
các bit bắt buộc, bit cao (1).
Khung truyền (Frame)
Truyền thông nối tiếp sử dụng giao
diện RS-232
• 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 mức đ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 mA.
• 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.
Định dạng của khung truyền dữliệu
theo chuẩn RS-232

A “Space” (logic 0) ở giữa +3V và +12V.


A “Mark” (logic 1) ở giữa -3V và -12V.
Vùng giữa +3V và -3V là không xác định
Cấu trúc Vật lý DB 9Pin

Chiều dài cable cực đại15m


Tốc độ dữ liệu cực đại 20 Kbps
Điện áp ngõ ra cực đại ±25V
Điện áp ngõ ra có tải ±5V đến ±15V
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
Chuẩn Cab
Chức năng của các chân
D-Type-25 Pin No D-Type-9 Pin No Abbreviation Full Name
Chân 2 Chân 3 TD Transmit Data
Chân 3 Chân 2 RD Receive Data
Chân 4 Chân 7 RTS Request To Send
Chân 5 Chân 8 CTS Clear To Send
Chân 6 Chân 6 DSR Data Set Ready
Chân 7 Chân 5 SG Signal Ground
Chân 8 Chân 1 CD Carrier Detect
Chân 20 Chân 4 DTR Data Terminal Ready
Chân 22 Chân 9 RI Ring Indicator

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ệu.
Khi nào modem phát hiện ra một “Carrier” từ một modem kết
DCD Data Carrier Detect
thúc khác của phone line, thì Line này trở thành tích cực.
Thông báo với UART rằng modem sẵn sàng thiết lập một mối
DSR Data Set Ready
liên kết .
Đây là sự đối lập với DSR. Báo với Modem rằng UART sẵn sàng
DTR Data Terminal Ready
để 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ệu.
RI Ring Indicator Goes active when modem detects a ringing signal from PSTN.
Truyền thông giữa hai nút

Kết nối đơn giản trong truyền thông nối tiếp


Kết nối trong truyền thông nối tiếp dùng tín hiệu bắt tay
Ghép nối VĐK với RS232
• Chuẩn RS232 được thiết lập trước họ logic TTL rất
lâu → điện áp đầu vào và đầu ra không tương thích
với mức TTL → sử dụng các bộ biến đổi điện áp
(như MAX232) để chuyển đổi các mức điện
áp RS232 về các mức điện áp TTL sẽ được chấp
nhận bởi các chân TxD và RxD của 8051 và ngược
lại.
• Các IC MAX232 nhìn chung được coi như các bộ
điều khiển đường truyền.
• IC MAX232 dùng điện áp nguồn +5v cùng với điện
áp nguồn của 8051→ có thể dùng chung một nguồn
Max232
Lập trình phần mềm
 Thanh ghi SBUF
– Là thanh ghi 8 bit được dùng riêng cho truyền thông
nối tiếp trong 8051.
– Đối với một byte dữ liệu muốn truyền qua
đường TxD thì nó phải được đặt trong thanh
ghi SBUF. Tương tự, SBUF cũng giữ một byte dữ liệu
khi nó được nhận từ đường RxD của 8051:
• Khi một byte được ghi vào thanh ghi SBUF nó sẽ được
đóng khung với các bit Start, Stop và được truyền nối
tiếp quan chân TxD.
• Khi các bit được nhận nối tiếp từ RxD thì 8051 mở
khung đó để loại trừ các bit Start, Stop để lấy ra một
byte từ dữ liệu nhận được và đặt byte đó vào thanh
ghi SBUF.
Lập trình phần mềm
 Thanh ghi SCON
– Là thanh ghi 8 bit → lập trình việc đóng khung dữ liệu,
xác định các chế độ làm việc của truyền thông nối tiếp.
– SCON là thanh ghi có thể đánh địa chỉ theo bit.

Bit Tên Địa chỉ Chức năng


7 SM0 9Fh Xác định chế độ cổng nối tiếp (bit 0)
6 SM1 9Eh Xác định chế độ cổng nối tiếp (bit 1)
5 SM2 9Dh Cho phép truyền thông đa xử lý
4 REN 9Ch Bit cho phép nhận
3 TB8 9Bh Sử dụng trong chế độ 2 và 3
2 RB8 9Ah Sử dụng trong chế độ 2 và 3
1 TI 99h Cờ truyền: được bật sau khi trền xong 1 byte
0 RI 98h Cờ nhận: được bật sau khi nhận đủ 1 byte
Lập trình phần mềm
• SM0, SM1:
– Chúng được dùng để xác định các chế độ đóng khung
dữ liệu, có 4 chế độ:

• SM2
- Là bit D5 của thanh ghi SCON. Bit này cho phép khả
năng đa xử lý của 8051. Đối với các ứng dụng của
chúng ta, đặt SM2 = 0 vì ta không sử dụng 8051 trong
môi trường đa xử lý.
Lập trình phần mềm
• REN
– Cho phép nhận (bit D4 của thanh ghi SCON).
– Khi bit REN cao thì nó cho phép nhận dữ liệu trên
chân RxD .
– Nếu ta muốn VĐK vừa truyền vừa nhận dữ liệu thì bit
REN phải được đặt lên 1.
– Bit này có thể được dùng để khống chế mọi việc nhận
dữ liệu nối tiếp
– Đây là bit cực kỳ quan trọng trong thanh ghi SCON.
Lập trình phần mềm
• TI, RI
– Bit ngắt truyền TI và ngắt nhận RI là các
bit D1 và D0 của thanh ghi SCON. Các bit này là cực
kỳ quan trọng của thanh ghi SCON
– Khi kết thúc truyền một ký tự 8 bit → bật TI để báo
rằng nó sẵn sàng truyền một byte khác. Bit TI được bật
lên trước bit Stop.
– Khi nhận được dữ liệu nối tiếp qua chân RxD → tách
các bit Start và Stop để lấy 8 bit dữ liệu→ đặt vào
SBUF
– Sau khi hoàn tất nó bật cờ RI để báo rằng nó đã nhận
xong 1 byte và cần phải lấy đi kẻo dữ liệu bị mất.
Cờ RI được bật khi đang tách bit Stop.
Lập trình phần mềm
• Để lập trình truyền các byte ký tự nối tiếp thì cần phải thực
hiện các bước sau đây:
1. Nạp thanh ghi TMOD giá trị 20H: báo rằng sử dụng Timer1
ở chế độ 2 để thiết lập chế độ baud.
2. Nạp thanh ghi TH1 các giá trị phù hợp để thiết lập chế độ
baud truyền dữ liệu nối tiếp.
3. Nạp thanh ghi SCON giá trị 50H báo chế độ nối tiếp 1 để
đóng khung 8 bit dữ liệu, 1 bit Start và 1 bit Stop.
4. Bật TR1=1 để khởi động Timer1.
5. Xoá bit cờ truyền dữ liệu: TI= 0.
6. Byte ký tự cần phải truyền được ghi vào SBUF.
7. Bit cờ truyền TI được kiểm tra bằng một vòng lặp để đợi đến
lúc dữ liệu được truyền xong (cờ TI=1).
8. Để truyền ký tự tiếp theo quay trở về bước 5.
Lập trình phần mềm
• Nhân đôi tốc độ baud trong 8051
– Tăng tần số thạch anh (thường thì thông số này giữ cố
định)
– Thay đổi bit trong thanh ghi PCON
Lập trình phần mềm
• Xác định giá trị cài đặt trong TH1 để tạo ra một tốc
độ baud nhất định:
• PCON.7=0:
– TH1 = 256 - ((Crystal / (12*32)) / Baud) = 256 -
((Crystal / 384) / Baud)
• PCON.7:
– TH1 = 256 - ((2*Crystal / (12*32)) / Baud) = 256 -
((Crystal / 192) / Baud)
Lập trình phần mềm
Tìm giá trị của TH1 (cả decinal và hex) để thiết lập tốc
độ baud cho từng trường hợp sau:
a) 9600
b) 4800 nếu SMOD=1.
Giả sử tần số XTAL là 11.0592 MHz
USB2COM
Chuẩn 485
• Để tăng khoảng cách truyền, dùng 2 dây truyền vi sai vì
lúc này 2 dây có cùng đặc tính nên sẽ loại trừ được nhiễu
chung.
• Hai chuẩn được sử dụng là RS422 và RS485, thông
thường sử dụng RS485.
• RS485 thể hỗ trợ một mạng lên tới 32 trạm thu phát
trên cùng một đường truyền, tốc độ baud có thể lên tới
115.200 cho khoảng cách là 1200m..
Truyền dẫn cân bằng

• Điện áp vi sai yêu cầu phải lớn hơn 200mV.


• Nếu VAB > 200 mV thì tương ứng với logic 1
• Nếu VAB < -200 mV tương ứng với logic 0.
Điện trở đầu cuối

• Điện trở đầu cuối (Terminating Resistor) đơn giản là điện


trở được đặt tại hai điểm tận cùng kết thúc của đường
truyền.
• Giá trị của điện trở đầu cuối lí tưởng bằng giá trị trở
kháng đặc tính của đường dây xoắn (100Ω ÷120Ω)
• Nếu điện trở đầu cuối không phù hợp với giá trị trở kháng
đặc tính của đường dây thì nhiễu có thể xảy ra do có sự
phản xạ xuất hiện trên đường truyền, nhiễu ở mức độ lớn
thì có thể làm tín hiệu bị sai lệch.
Điện áp kiểu chung

• Tín hiệu truyền dẫn gồm hai dây không có dây mass nên
chúng cần được tham chiếu đến một điểm chung (mass
hay bất kì một mức điện áp cho phép )
• Điện áp kiểu chung (Common-mode voltage -VCM) về
mặt toán học được phát biểu như là giá trị trung bình của
hai điện áp tín hiệu được tham chiếu với mass hay một
điểm chung.
Điểm nối đất
• Tín hiệu trên hai dây khi được tham chiếu đến điểm
chung là đất (Ground) thì khi đó nó cần được xem xét
kỹ lưỡng. Lúc này bộ nhận sẽ xác định tín hiệu bằng
cách tham chiếu tín hiệu đó với đất của nơi nhận, nếu
đất giữa nơi nhận và nơi phát có một sự chênh lệch điện
thế vượt qua ngưỡng cho phép thì tín hiệu thu được sẽ
bị sai hoặc phá hỏng thiết bị.
• Mạng RS485 gồm hai dây nhưng có tới ba mức điện
áp được xem xét. Do đất là một vật dẫn điện không
hoàn hảo nên nó có một điện trở xác định, gây ra chênh
lệch điện thế từ điểm này tới điểm kia, đặc biệt là tại
các vùng có nhiều sấm sét, máy móc tiêu thụ dòng lớn,
những bộ chuyển đổi được lắp đặt và có nối đất.
• Chuẩn RS485 cho phép chênh lệch điện thế đất lên tới tối
đa 7V.
• Đất là điểm tham chiếu không đáng tin tưởng cần sử dụng
thêm dây thứ ba, nó được nối mass tại nguồn cung cấp để
dùng làm điện áp tham chiếu
Phân cực đường truyền
• Để duy trì trạng thái mức cao khi đường truyền rảnh thì
việc phân cực đường truyền (Biasing) phải được thực
hiện.

• Một điện trở R kéo lên nguồn ở


đường A và một điện trở R kéo
xuống mass ở đường B sao cho
VAB≥ 200mV sẽ ép đường
truyền lên mức cao để khối thu
không hiểu nhầm là có dữ liệu.
Các kiểu mẫu truyền nhận trong
RS485
• Một phát, một nhận
• Một phát, nhiều nhận
• Một phát, nhiều nhận

• Việc truyền và nhận được thực hiện bởi một cặp dây, nên
truyền nhận phải theo hình thức bán song công (half
duplex), trong một thời điểm chỉ có một bộ truyền.
• Nhiều phát, nhiều nhận
Rẽ nhánh
• Đoạn dây rẽ nhánh dài sẽ làm ảnh hưởng tới sự phối
hợp trở kháng. Nên giữ cho chiều dài đoạn dây rẽ nhánh
càng ngắn càng tốt
Truyền mã ASCII theo chuẩn 485
• Bình thường đường truyền rảnh (Idle line) sẽ ở mức cao,
VAB> 200mV. Tín hiệu TX Control cho phép phát tín
hiệu đi. Mỗi bit tín hiệu TXD phát đi sẽ được biểu diễn
tương ứng dưới dạng tín hiệu VAB theo chuẩn.
• Bit 1 tương ứng với VAB dương, bit 0 tương ứng với VAB
âm.
• Sau khi phát đủ 10 bit thì đường truyền lại lên mức cao
báo hiệu trạng thái rỗi.
232/485
Kỹ thuật CRC
• CRC (Cyclic Redundancy Check) là một phương pháp để
phát hiện lỗi bằng cách gắn thêm một khối bit phía sau
khối dữ liệu.
• CRC là một kỹ thuật mạnh để phát hiện lỗi, vì vậy nó
được dùng rộng rãi trong mọi hệ thống giao tiếp dữ liệu.
Các bit bổ sung thêm vào bit thông tin được gọi là các bit
CRC.
• Nếu các bit bổ sung là 16, CRC được biểu diễn như
CRC-16. CRC-32 sử dụng 32 bit bổ sung.

You might also like