Professional Documents
Culture Documents
ch4 Noitiep
ch4 Noitiep
• 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
• 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.
• 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.