Một số đặt điểm của RS-485: Giá thành thấp: Các bộ điều khiển Driver và bộ nhận Receiver không đắt và chỉ yêu cầu cung cấp nguồn đơn +5V để tạo ra mức điện áp vi sai tối thiểu 1.5V ở
Trang 1CHƯƠNG VI :
Chuẩn RS-485
1 Giới thiệu:
Khi hệ thống cần truyền một khối thông tin nhỏ ở khoảng cách xa, thông thường người ta chọn RS-485
Mạng sử dụng chuẩn RS-485 rất đa dạng: ta có thể giao tiếp giữa PC với nhau, hoặc giữa PC với Vi Xử Lý , hoặc bất kỳ thiết bị nào truyền thông nối tiếp bất đồng bộ Khi so sánh với Ethernet và những giao diện truyền thông theo những chuẩn khác thì giao diện RS-485 đơn giản và giá thành thấp hơn nhiều
Theo nhận định của em ( đối với truyền khối dữ liệu nhỏ ) thì chuẩn
RS-485 rất linh động Ta có thể chọn số lượng bộ điều khiển ( Master ), bộ nhận ( Slave ), chiều dài cáp, tốc độ truyền, số node cần giao tiếp, và rất tiết kiệm năng lượng
2 Một số đặt điểm của RS-485:
Giá thành thấp:
Các bộ điều khiển ( Driver ) và bộ nhận ( Receiver ) không đắt và chỉ yêu cầu cung cấp nguồn đơn +5V để tạo ra mức điện áp vi sai tối thiểu 1.5V ở ngỏ ra vi sai
Khả năng về mạng:
RS-485 là một giao diện đa điểm ( multi-drop ), nó có thể có nhiều Driver và Receiver, số Receiver có thể lên đến 256 nếu ngõ vào của các Receiver có trở kháng vào cao
Khả năng kết nối:
Trang 2RS-485 có thể truyền xa 1200m, tốc độ lên đến 10Mbps Nhưng 2 thông số này không xảy ra cùng lúc Khi tốc độ truyền tăng thì tốc độ baud giảm xuống
Ví dụ: khi tốc độ là 90Kbps thì khoảng cách là 1200m, 1Mbps
thì khoảng cách là 120m, còn với tốc độ 10Mbps thì khoảng cách chỉ còn 15m
3 Giải thích một số đặc tính RS-485 :
Các đường truyền cân bằng và không cân bằng:
Sở dỉ RS-485 có thể truyền trên một khoảng cách lớn là do chúng sử dụng đường truyền cân bằng Mỗi một tín hiệu sẽ truyền trên một cặp dây, với mức điện áp trên một dây là âm hoặc điện áp bù trên dây kia Receiver sẽ đáp ứng phần hiệu giữa các mức điện áp, được minh hoạ ở hình dưới:
VA
GND
A B
Hình: Đường truyền cân bằng
Vin
GND
Hình: Đường truyền không cân bằng
Một thuận lợi lớn của RS-485 là khả năng chống nhiễu tốt Một thuật ngữ khác của đường truyền tín hiệu dạng này là vi sai tín hiệu
Trang 3TIA/EIA – 485 chỉ định hai đường vi sai là A và B Tại bộ điều khiển ( Driver ) nếu VA > VB thì mức logic ở đầu vào là cao, nguợc lại VA < VB thì mức logic ở đầu vào là thấp Tại bộ nhận ( Receiver ) nếu VA > VB thì mức logic ở đầu ra là cao và ngược lại
Đối với các Receiver đầu vào phải nằm trong tầm –7V ¸ + 12 V Mức áp
vi sai đầu vào tối đa - 6V £ VA – VB £ +6V
Tại sao dùng đường truyền cân bằng có lợi :
Đường truyền cân bằng có ưu điểm bởi hai đường tín hiệu mang dòng gần bằng nhau nhưng ngược dấu Điều này giúp giảm nhiễu trên đuờng truyền bởi hầu hết các điện áp nhiễu điều tăng hay giản điều nhau trên cả hai đường truyền Bất kì một điện áp nhiễu nào tác động lên một dây điều bị triệt tiêu bởi điện áp bù trên dây kia Đường nhiễi có thể là các dây khác trong cáp hoặc ở bên ngoài Một bộ nhận cân bằng chỉ nhận tín hiệu cần truyền, loại bỏ tín hiệu nhiễu hoặc giảm đi rất nhiều tín hiệu nhiễu
Ngược lại, trong giao tiếp không cân bằng, bộ nhận phát mức điện áp giữa dây tín hiệu và đất Khi có nhiễu chúng sẽ tác động đến mạch, khi gặp mội trường có nhiễu lớn chúng sẽ gây sai lệch mức logic ®mạch hoạt động sai
Một ưu điểm khác của đường truyền cân bằng là nó có thể triệt tiêu được phần điện áp tiềm tàng giữa bộ phát và bộ nhận Trong kết nối ở khoảng cách lớn, điện thế ở các Driver và Reciver có thể khác nhau nhiều vôn
Ơû một đường truyền không cân bằng, điện thế đất khác nhau có thể làm cho Receiver không đọc được đầu vào Còn ở đường truyền cân bằng thì
Trang 4chúng không quan tâm đến điện thế đất vì nó chỉ đọc phần điện thế hiệu giữa hai dây truyền tín hiệu
Trong thực tế, các thành phần RS-485 chỉ phù hợp với sự chênh lệch thế đất nhất định Một cách để triệt tiêu hoặc giảm bớt vấn đề này là cô lập mạng
4 Nguyên tắc hoạt động của RS-485 :
a) Mức áp yêu cầu:
Giao tiếp RS – 485 điển hình sử dụng nguồn cung cấp đơn +5V nhưng mức logic tại đầu phát và đầu thu không phải là mức TTL hay mức CMOS, để có mức ra thích hợp thì VA – VB ³ 1.5V
Điện áp giữa mỗi đầu ra và đất không xác định bằng việc trừ mà mode điện áp chung phải nằm trong tầm ±7V Nếu như giao tiếp cân bằng một cách hoàn hảo thì các đầu ra offset bằng một nửa với nguồn cung cấp Bất cứ sự cân bằng nào cũng làm tăng hay giảm mức offset
Hình bên dưới chỉ áp ra A và B của một bộ điều khiển RS-485 Biên độ đầu ra gần 3V thay đổi từ +1 ¸ +4V hoặc –1V ¸ -4V so với đất Nguồn cung cấp cho bộ điều khiển là +5V
A
B
Ngỏ ra của bộ phát RS-485
Trang 5Hình bên dưới chỉ mức điện áp vi sai giữa dây A và B ở đầu ra của Driver Biên độ đỉnh đỉnh của áp ra là 6V gấp hai lần biên độ đỉnh đỉnh của điện áp trên mỗi đường dây
Ngỏ ra vi phân của bộ phát RS-485 Nếu như một đầu ra đóng mở trước một đầu ra khác thì điện áp đầu ra vi sai đóng mở chậm hơn và điều này giới hạn tốc độ truyền của mạng Thời gian lệch ( Skew ) là khoảng thời gian đóng mở chênh lệch giữa 2 đầu ra Các Driver của RS-485 được thiết kế sao cho tối thiểu thời gian lệch
Tại Receiver, điện áp 2 đầu vào A và B chỉ cần 200mV Nếu VA - VB ³ 0.2V thì đầu thu sẽ đọc là mức logic 1, ngược lại là mức logic 0 nếu như điện áp vi sainày < 0,2V thì mức logic không xác định
Sự khác nhau giữa điện áp Driver và Receiver là giới hạn nhiễu cho phép 1,3V điện áp vi sai có thể yếu đi hoặc bị nhiễu kí sinh khoảng 1,3 V thì đầu thu vẫn nhận được mức logic đúng
Trong hầu hết các mạng, điện áp đầu ra bộ phát lớn hơn 1,5V Do đó giới hạn nhiễu lớn hơn Một bộ Driver cần cấp nguồn 3V cũng có thể có áp ra vi sai giữa 2 đầu ra là 1,5 V
TIA/EIA – 485 định nghĩa : B > A ® mức 1; A > B ® mức 0 Sử dụng định nghĩa này các chip giao tiếp RS-485 thì làm ngược lại
Trang 6b) Dòng yêu cầu:
Dòng tổng trong RS-485 thay đổi theo trở kháng vào của thành phần trong mạng gồm: các bộ phát, các đầu thu, cáp và các thành phần đầu cuối Trở kháng ra của bộ phát thấp và trở kháng của cáp thấp cho phép việc đóng mở được nhanh hơn và bảo đảm bộ thu sẽ nhận được tín hiệu với tốc độ cao nhất có thể Nếu trở kháng của đầu thu cao thì nó sẽ làm giảm dòng trong mạng và kéo dài tuổi thọ của bộ nguồn
Việc sử dụng thành phần đầu cuối sẽ có lợi đối với dòng trong mạng Khi không có các thành phần đầu cuối thì trở kháng vào của các bộ thu sẽ ảnh hưởng lớn đối với điện trở tổng nối tiếp Tổng trở kháng vào thay đổi theo các bộ thu và trở kháng vào của chúng
Một bộ phát RS-485 có thể lái đến 32 đơn vị tải TIA/EIA – 485 xác định một đơn vị tải dưới dạng dòng yêu cầu Một bộ thu tương đương một đơn vị tải, mà tải này không kéo nhiếu hơn một lượng dòng xác địmh tại đầu vào và điện áp được xác định theo tiêu chuẩn Khi áp tại đầu thu là 12V thì một đơn
vị tải – Bộ thu sẽ không kéo nhiều hơn 1mA Để đạt được yêu cầu này thì một bộ thu phải có một điện trở đầu vàu ít nhất là 12 KW, mắc giữa mỗi đầu vi sai với Vcc hay GND tùy thuộc vào chiều dòng điện Nếu thêm một bộ thu thì điện trở tương là 6000 W Nếu có 32 đơn vị tải thì R tương đương là 375W
5 Chuyển đổi sang TTL:
a) Song công ( Full-Duplex ):
RS-485 được thiết kế để dùng cho hệ thống nhiều node ( multi-drop) Hầu hết mạng RS-485 là bán song công sử dụng nhiều bộ phát và bộ thu,
Trang 7cùng chia sẽ một đường truyền tín hiệu Nhưng chúng ta cũng có thể sử dụng RS-485 ở dạng song công, ở đó mỗi hướng sẽ có đường truyền tín hiệu riêng của nó Việc chuyển đổi mạng RS-232 sang RS-485 song công dễ dàng thực hiện bằng phần mềm
Với mạng loại này ta có thể sử dụng SN75179B ở hai đầu bộ phát và bộ thu Mạng này gồm 1 bộ phát dùng chuyển đổi 5V TTL sang RS-485 và một bộ thu dùng chuyển RS-485 sang 5V TTL
Đây là một giải pháp đơn giản khi ta muốn tạo một mạng song công, khoảng cách xa giữa các vi điều khiển Các chip giao tiếp RS-485 nhỏ hơn, đơn giản và rẻ hơn trong việc chuyển đổi sang RS-232
O
O
O
O
O
O
O
O
Hình 1.5: Kết nối song công nhiều node
Trong một mạng gồm có chủ và tớ, ở đó node chủ dùng để điều khiển mạng và cho phép việc thu phát của thành phần khác Một cặp dây dùng để nối bộ phát của con chủ với bộ thu của các con tớ, còn một cặp dây khác nối bộ phát của các con tớ với bộ thu của con chủ
Tất cả các con tớ phải được thông tin từ con chủ để biết con nào được cho phép Việc định địa chỉ của con tớ được xác định bằng cặp dây đối lặp Thuận lợi của phương pháp này là tiết kiệm thời gian cho các con tớ bởi vì chúng không đọc thông tin trả lời của các con tớ khác Nếu tất cả các node cùng chia
Trang 8sẽ một đường dữ liệu thì các con tớ phải đọc tất cả mọi thông tin lưu thông trên đường mạng để lấy thông tin từ con chủ gởi tới
b) Bán song công:
Rất nhiều mạng dùng kết nối 485 là bán song công với nhiếu bộ phát và thu cùng chia sẽ một đường tín hiệu
Khi một mạng có 3 hay nhiều node thì tại một thời điểm chỉ có một node được thu hay phát Việc sử dụng 2 đường truyền tín hiệu là thuận lợi khi chỉ có
2 thiết bị ( một chủ, một tớ ) vì mỗi node có thể thu phát bất kì lúc nào mà không sợ có sự xung đột Nhưng nếu có nhiều hơn một bộ phát trên cùng một cặp dây thì không có sự đảm bảo rằng đường truyền tín hiệu là “ rỗng”(free) khi bộ phát cần truyền
Trên các vi điều khiển cho phép xây dựng các bit port như là đầu vào
hay đầu ra, chúng ta có thể gởi hay nhận một bit đơn , tái tạo lại bit khi cần thiết Chúng ta cũng có thể làm điều này để sử dụng ít nhất số bit port có thể hoặc sử dụng bán song công để tiết kiệm dây
Trang 9CONTROL OUT
SERIAL IN
CONTROL OUT
75176BP
1 2 3 4
6 7
8
RO RE DE
DI
A B +VCC
SERIAL IN
120
SERIAL IN
+5V
75176BP
1 2 3 4
6 7
8
RO RE DE
DI
A B +VCC
CONTROL OUT
+5V
SERIAL OUT SERIAL OUT
+5V
SERIAL OUT
75176BP
1 2 3 4
6 7
8
RO RE DE
DI
A B +VCC
Hình 1.6: Kết nối bán song công
Chip bao gồm một bộ phát dùng đổi mức logic TTL sang RS-485 và một bộ thu dùng chuyển RS-485 sang mức TTL và ở mỗi chip đều có một đầu vào cho phép Không giống như SN75179B chip này chỉ có một cặp chân RS-485 và chân cho phép vào, dùng xác định liệu bộ phát hay bộ tu là tích cực
Khi đầu vào cho phép của bộ phát ở mức thấp thì ngõ ra của bộ phát ở trạnh thái tổng trở cao Khi đầu vào cho phép của bộ thu ở mức cao thì đầu ra của bộ thu ở trạng thái tổng trở cao
6 Kết nối mạng và phương thức truyền:
Đặc điểm của mạng dùng chuẩn RS-485 là phải chung mass, mức điện áp chung: -7 ¸ +12v
a Dạng kết nối tổng quát:
Hình bên dưới mô tả cách kết nối tổng quát, mỗi node có chip thu phát SN75176B ( tương tự Max485, LTC485, DS3695 )
Mạch có điện trở 120 W nối song song với ngõ vào, ra vi sai ( chân 6-7 ), và hai diện trở 560 W kéo lên
Trang 10Với cách kết nối như vậy thì để truyền data từ bộ điều (Master) đến các thiết bị chấp hành ( Slave ) ta phải set chân 2-3 lên mức cao, tương tự khi các Slave gởi Message về Master, chân 2-3 cũng phải lên mức cao Còn khi nhận Message thì ta phải set chân 2-3 xuống thấp
Hình 1.7: Dạng kết nối tổng quát của mạng dùng chuẩn RS-485
b Kết nối tự động :
Vấn đề: khi thiết kế mạng dùng chuẩn RS-485, do tất cả các node cùng
chia sẽ một đường data, nhưng tại một thời điểm chỉ có một bộ điều khiển hoạt động Tức là trước khi node này phát thì node khác không được phát Hình dưới đây cho ta cách kết nối tự động không cần phải set chân 2-3 mỗi khi phát
Trang 11
Hình 1.8: Kết nối tự động
Với mạch hình trên thì khi ta viết chương trình điều khiển, ta không cần phải chốt bộ điều khiển, vì dùng 75176B kết hợp với 555, sẽ cho ta thời gian delay đủ để bộ điều này hoạt động ( Enable ) thì bộ điều khiển khác không hoạt động ( Disable ) Giải thích cụ thể nguyên lý hoạt động của mạch trên, sẽ được đề cập trong phần thiết kế mạch
7 Việc cho phép bộ điều khiển ( Driver ):
Một việc quan trọng trong sử dụng mạng bán song công là việc điều khiển cho phép các bộ điều khiển ( bộ phát ) Khi một bộ phát đang chuyển thì nó vẫn còn được cho phép cho đến khi nó thực hiện xong việc chuyển data Sau đó nó không được cho phép trước khi các node khác thực hiện việc phát
Hình 1.9: Tín hiệu cho phép của bộ phát và 1 byte data được phát