Truyền nhận dữ liệu nối tiếp, không đồng bộ là phƣơng pháp chủ yếu trong truyền thông công nghiệp. Với phƣơng pháp này, các bit đƣợc truyền đi một các tuần tự trên cùng một đƣờng truyền. Với phƣơng pháp này sẽ không có đƣờng dây riêng biệt truyền dẫn tín hiệu xung nhịp nên việc đồng bộ hoá do bên nhận và bên gửi thoả thuận trên cơ sở giao thức truyền thông.
Một chuẩn truyền dẫn nối tiếp trƣớc hết đƣợc hiểu là các quy định đƣợc thống nhất về giao diện vật lý giữa các thiết bị đầu cuối xử lý dữ liệu và các thiết bị truyền dữ liệu. Có thể coi chuẩn RS485 là một phát triển của RS232 với một số ƣu điểm vƣợt trội:
Khả năng kết nối: Thay vì chỉ giới hạn ở hai thiết bị nhƣ ở chuẩn RS232 thì chuẩn RS485 có thể kết nối đồng thời nhiều thiết bị truyền/nhận. Nếu tín hiệu có trở kháng vào đủ lớn thì một mạng RS485 có thể có tới 32 nút mạng. Nếu sử dụng bộ lặp (Repeater) thì số nút mạng có thể đạt tới 256 nút.
Khoảng cách truyền nhận: Một kết nối RS485 có thể có chiều dài lên tới 1.2 Km (4000 feet), trong khi đó RS232 chỉ là 15 – 40 m (50 – 130 feet).
Tốc độ truyền nhận: Tốc độ có thể đạt tới 10 Mbps.
Có khả năng truyền nhận song công trên cùng một cable xoắn duy nhất.
1.2.2.1. Đường truyền cân bằng trong RS485
Chuẩn RS232 dùng đƣờng truyền không cân bằng. Do các tín hiệu đều lấy điểm chuẩn là điểm đất chung nên tốc độ truyền và khoảng cách truyền bị giới hạn. Khi cần tăng khoảng cách và tốc độ truyền thì phƣơng pháp sử dụng đƣờng dây cân bằng trở nên hữu hiệu hơn.
GND GND
Hình 1.8. Đƣờng truyền không cân bằng A
B
VA VB
GND GND
18
Chuẩn RS485 sử dụng đƣờng truyền tín hiệu gồm hai đƣờng dây kí hiệu là A và B. Ở phía phát, tín hiệu TTL ở mức cao tƣơng ứng với điện thế dây A cao hơn điện thế dây B và ngƣợc lại. Ở phía thu, nếu điện thế dây A cao hơn dây B thì tín hiệu ngõ ra TTL sẽ có mức cao và ngƣợc lại. Điện thế của mỗi dây tín hiệu so với đất của phần thu phải nằm trong khoảng –7V tới +12V. Điều này cho phép chênh lệch điện thế đất giữa phần phát và phần thu. Độ lớn điện áp vi sai giữa dây A và B không đƣợc phép lớn hơn 6V.
Cũng nhờ sử dụng đƣờng dây cân bằng nên RS485 có tính chống nhiễu cao. Hai dây tín hiệu có đặc tính giống nhau, tín hiệu truyền đi là hiệu số điện áp giữa hai dây. Khi có nhiễu trên đƣờng truyền thì nhiễu sẽ xuất hiện đồng thời trên cả hai dây với cùng biên độ, vì vậy nhiễu trên đƣờng dây này sẽ bị nhiễu trên đƣờng còn lại triệt tiêu. Nhiễu có thể phát ra từ tín hiệu của một đƣờng dây khác trong cùng một dây cáp truyền dẫn hay từ bên ngoài dây cáp nhƣng đƣờng dây cân bằng sẽ duy trì tín hiệu cần đƣợc truyền với nhiễu bằng không hay giảm xuống mức tối tiểu.
Một ƣu điểm nữa của việc sử dụng đƣờng dây cân bằng là không cần quan tâm đến sự chênh lệch của điện thế đất (trong một giới hạn cho phép nào đó) giữa hai thiết bị truyền nhận. Khi truyền ở khoảng cách xa, điện thế đất ở nơi phát và nơi thu có thể chênh lệch nhau. Trên đƣờng dây không cân bằng, sự sai lệch này sẽ gây ra sự lầm lẫn giữa mức logic 0 và 1. Đƣờng dây cân bằng sẽ không bị ảnh hƣởng bởi sự chênh lệch này vì tín hiệu nhận đƣợc là sự chênh lệch điện thế giữa hai đƣờng dây.
Bus giao tiếp RS485 có thể đƣợc thiết kế để giao tiếp đơn công hoặc song công. Chế độ truyền đơn công chỉ sử dụng một cặp dây tín hiệu (2 dây) và tại cùng thời điểm chỉ xảy ra quá trình truyền hay nhận. Vì vây mỗi khi muốn tham gia quá trình truyền hay nhận sẽ phải điều khiển đƣờng tín hiệu cho phép truyền hay nhận để đảm bảo không xảy ra sự xung đột.
` RO RE DE DI RO RE DE DI R D R D GND GND D R D R RO RE DE DI RO RE DE DI GND GND A B RT A B RT A B A B Trạm chủ Trạm tớ Trạm tớ Trạm tớ
19
Chế độ truyền song công cần 2 cặp dây tín hiệu (4 dây). Quá trình truyền nhận song công sử dụng các đƣờng dây truy cập bus riêng biệt cho quá trình truyền hay nhận vì vậy một node có thể truyền và nhận đồng thời.
RO RE DE DI RO RE DE DI R D R D GND GND D R D R RO RE DE DI RO RE DE DI GND GND A B A B A B RT Z Y B RT A Y Z Z B Z Y Trạm chủ Trạm tớ Trạm tớ Trạm tớ
Hình 1.11. Cấu hình bus RS485 truyền nhận song công
1.2.2.2. Đặc tính điện học
Về cơ bản giao tiếp RS485 cần nguồn đơn 5V hoặc 3.3V nhƣng mức điện áp logic ngõ ra ở các bộ phát và thu không theo chuẩn TTL hay CMOS.
Với bộ phát thì điện áp vi sai giữa hai ngõ ra A và B ít nhất là 1.5V. Điện áp chênh lệch giữa đất chung và ngõ ra không đƣợc quy định, tuy nhiên chế độ chung của ngõ ra so với đất phải nằm trong khoảng ±7V. Nếu giao tiếp RS485 là hoàn toàn cân bằng thì các ngõ ra sẽ bị dịch đi một mức điện áp DC là ½ VCC. Sự mất cân bằng sẽ làm thay đổi mức điện áp lệch này.
+1.5V -1.5V
D
Hình 1.12. Quy định trạng thái logic của tín hiệu RS-485
Tại đầu ra của bộ phát, điện thế đƣờng dây A dƣơng hơn điện thế đƣờng dây B (VOA > VOB) nếu mức logic ở đầu vào của bộ phát là cao (DI = 1). Ngƣợc lại, nếu mức logic đầu vào của bộ phát là thấp (DI = 0) thì tại đầu ra của bộ phát sẽ có điện thế đƣờng dây B lớn hơn điện thế đƣờng dây A (VOB > VOA).
Ở phía nhận, nếu điện thế đƣờng dây A lớn hơn đƣờng dây B nhỏ nhất 200mV (VIA - VIB > 200mV) thì đầu ra của bộ nhận có mức logic là cao (RO = 1), nếu điện thế đƣờng dây B lớn hơn đƣờng dây A nhỏ nhất 200mV (VIB - VIA > 200mV) thì đầu ra
20
của bộ nhận có mức logic là thấp (RO = 0). Nếu điện áp giữa A và B nhỏ nhơn 0.2V thì mức logic đầu ra không đƣợc xác định.
VOA VOB VIA VIB VOD RO RE DI DE A B
Hình 1.13. Mức điện áp vi sai tại bộ phát và bộ nhận
Từ sự chênh lệch giữa điện áp cần thiết của bên truyền và bên nhận của RS485 ta có một khoảng gây nhiễu là 1.3V. Nhƣ vậy tín hiệu có thể chấp nhận một điện áp nhiễu có biên độ 1.3V mà không làm sai lệch tín hiệu. Khoảng gây nhiễu cho phép này nhỏ hơn so với RS232 nhƣng bù lại đƣờng truyền cân bằng của RS485 lại cung cấp một khả năng triệt nhiễu khá tốt.
Một đặc tính quan trọng của RS485 là khả năng ghép nối nhiều điểm truyền nhận vì vậy mà RS485 đƣợc sử dụng phổ biến trong các hệ thống bus. Cụ thể là 32 thiết bị có thể tham gia ghép nối, định địa chỉ và giao tiếp đồng thời trong mạng mà không cần bộ lặp.
Để đạt đƣợc điều này, tại cùng thời điểm chỉ một thiết bị đƣợc phép kiểm soát đƣờng truyền và phát tín hiệu. Vì vậy, một số bộ phát phải đƣa vào trạng thái tổng trở cao sau khi kết thúc quá trình truyền để tạo điều kiện cho các thiết bị khác tham gia vào đƣờng truyền. Một số IC RS485 có khả năng tự động xử lý tình huống này, trong nhiều trƣờng hợp thì việc này đƣợc thực hiện bởi phần mềm điều khiển. Trong mạch của bộ kích RS485 có một tín hiệu vào cho phép (Enable) đƣợc dùng cho mục đích chuyển bộ kích về trạng thái phát tín hiệu hay tổng trở cao.
Bảng 1.1: Một số thông số của chuẩn truyền dẫn RS-485
Thông số Điều kiện Tối thiểu Tối đa
Điện áp đầu ra hở mạch ±1.5 V ±6 V
Điện áp đầu ra khi có tải RLoad = 54 Ω ±1.5 V ±5 V
Dòng ra ngắn mạch ±250 mA
Độ nhạy cảm đầu vào -7V < VCM < 12V ±200 mV
Điện áp chế độ chung -7 V 12 V
Trở kháng đầu vào 12 KΩ
1.2.2.3. Mối quan hệ giữa tốc độ truyền và chiều dài dây dẫn
Với các tốc độ cao hơn, khoảng cách truyền bị giảm xuống. Ví dụ, với tốc độ 1 Mbps khoảng cách là 400 feet còn với tốc độ 10 Mbps khoảng cách lớn nhất chỉ là 50
21
feet. Các số liệu trên đƣợc đo với dây xoắn, không bọc giáp, có điện trở phản sóng theo chuẩn AWG-24.
Tốc độ truyền tải tối đa cũng phụ thuộc vào chất lƣợng cáp mạng, cụ thể là dây xoắn đôi loại STP có khả năng chống nhiễu tốt hơn loại UTP và vì thế có khả năng truyền tải với tốc độ cao hơn. Có thể sử dụng bộ lặp để tăng số thiết bị trong mạng cũng nhƣ chiều dài đƣờng truyền, đồng thời đảm bảo đƣợc tính chính xác của tín hiệu. Số lƣợng các bộ lặp cho phép phụ thuộc vào hệ thống truyền thông cụ thể, ví dụ nhƣ số lƣợng tối đa địa chỉ có thể đánh đƣợc cho các thiết bị.
10.000 1000 100 10 10K 100K 1M 10M Tốc độ truyền (Bits/Second) C hi ều d ài d ây d ẫn ( m )
Hình 1.14: Quan hệ giữa tốc độ truyền và chiều dài dây dẫn
1.2.2.4. Cáp nối trong mạng RS-485
RS485 không phải là một tiêu chuẩn đầy đủ mà chỉ là một chuẩn về đặc tính điện học, vì vậy nó không đƣa ra các quy định cho cáp nối cũng nhƣ các bộ nối. Có thể dùng cáp đôi xoắn, cáp trơn hay các loại cáp khác với trởi kháng 120 Ω và 22–24 AWG. Tuy nhiên cáp đôi xoắn vẫn là cáp đƣợc sử dụng phổ biến nhất nhờ đặc tính chống tạo nhiễu và xuyên âm của nó.
1.2.2.5. Vai trò của trở đầu cuối
Do tốc độ truyền thông và chiều dài dây dẫn là khác nhau trong các ứng dụng nên hầu nhƣ tất cả các bus RS485 đều yêu cầu sử dụng trở đầu cuối tại hai đầu dây. Sử dụng trở đầu cuối có tác dụng chống lại các hiệu ứng phụ trong truyền dẫn tín hiệu (ví dụ nhƣ sự phản xạ tín hiệu). Trở đầu cuối có thể dùng từ 100 ÷ 120 .
Một sai lầm gây tác hại nghiêm trọng thƣờng gặp trong thực tế đó là dùng trở đầu cuối tại mỗi thiết bị. Vì tải đầu cuối chiếm tải phần lớn trong toàn mạch cho nên trong trƣờng hợp này dòng qua tải đầu cuối lớn dẫn tới tín hiệu mang thông tin bị suy giảm mạnh làm sai lệch hoàn toàn tín hiệu.
22
Trong trƣờng hợp truyền với khoảng cách ngắn và tốc độ truyền thấp ta có thể không cần tải đầu cuối. Tín hiệu suy giảm sẽ đƣợc triệt tiêu sau vài lần qua lại. Tốc độ truyền dẫn thấp đồng nghĩa với chu kỳ nhịp bus dài. Nếu tín hiệu phản xạ triệt tiêu hoàn toàn trƣớc thời điểm trích mẫu ở nhịp tiếp theo (thƣờng vào giữa chu kỳ) thì tín hiệu mang thông tin sẽ không bị ảnh hƣởng.
Với mạng có khoảng cách truyền nhận xa thì ngƣời ta có thể sử dụng một trong hai phƣơng pháp sau để cải thiện khả năng truyền của mạng:
Phương pháp 1: Đƣợc dùng phổ biến nhất là chỉ dùng một điện trở nối giữa hai
đầu dây A, B tại mỗi điểm truyền nhận. Phƣơng pháp này còn đƣợc gọi là chặn song song. Điện trở đƣợc chọn có giá trị tƣơng đƣơng với trở kháng đặc trƣng của dây dẫn. Nhƣ vậy sẽ không có tín hiệu phản xạ và chất lƣợng tín hiệu mang thông tin sẽ đƣợc bảo đảm. Nhƣợc điểm của phƣơng pháp này là tổn hao tại điện trở đầu cuối.
A B RT RO RE RO Bộ phát DI Bộ truyền
Hình 1.15. Chặn đầu cuối sử dụng thuần trở
Phương pháp 2: Sử dụng tụ C mắc nối tiếp với điện trở R. Mạch RC này cho
phép khắc phục nhƣợc điểm của cách sử dụng điện trở thuần nhƣ trên. Trong lúc tín hiệu ở giai đoạn quá độ, tụ C có tác dụng ngắn mạch và trở R có tác dụng chặn đầu cuối. Khi tụ C đảo chiều sẽ cản trở dòng một chiều vì thế có tác dụng giảm tải. Tuy nhiên hiệu ứng lọc thông thấp không cho phép hệ thống hoạt động với tốc độ cao.
A B RO RE RO Bộ phát DI Bộ truyền R C T T Hình 1.16. Chặn đầu cuối sử dụng R và C
Trong quá trình hoạt động có thể xảy ra trƣờng hợp xấu làm sai trạng thái logic đầu ra của bộ nhận. Có 3 khả năng có thể làm sai trạng thái đầu ra của bộ nhận:
- Trạng thái hở mạch: Gây ra do đứt đƣờng dây mạch hoặc mất kết nối giữa bộ
truyền nhận với đƣờng bus.
- Trạng thái ngắn mạch: Xảy ra khi lớp cách điện trong dây cable bị hỏng làm
cho các dây dẫn tín hiệu ngắn mạch.
23
Để khắc phục các trƣờng hợp xấu trên, chúng ta có thể thiết kế mạch phân cực an toàn trong trƣờng hợp xấu với biên độ nhiễu 10mV. Mạch phân cực an toàn sử dụng các điện trở để tạo ra một mạch phân áp đủ để điều khiển đầu ra của bộ nhận có trạng thái logic đúng. Nhƣ vậy điện áp VAB = 200mV + VNhiễu.
Giá trị RB của mạch phân cực an toàn đƣợc tính toán trong trƣờng hợp xấu nhất là biên độ nguồn nhiễu lớn nhất và nguồn nhỏ nhất.
Với:
VBus_min – Điện áp nguồn nhỏ nhất.
VAB – Điện áp chênh lệch giữa đƣờng dây A và B. Z0 – Trở kháng của cable truyền (120Ω).
B vcc RT RB RB A B RO RE RO Bộ phát DI Bộ truyền Hình 1.17: Mạch phân cực an toàn
Trở kháng đầu vào của bộ nhận RS485 phải có giá trị lớn hơn 12 kΩ. Trở kháng này đƣợc định nghĩa nhƣ là một đơn vị tải (UL). Khi mắc thêm mạch phân cực an toàn sẽ làm tăng tổng trở của mạch. Mạch phân cực an toàn sẽ làm tăng thêm 20 đơn vị tải vào tổng trở của mạng. Vì vậy, số lƣợng bộ truyền nhận trong mạng phụ thuộc vào tổng trở của mạng.
Với: UL1 – Đơn vị tải chuẩn.
UL2 – Đơn vị tải mạch phân cực an toàn. UL3 – Đơn vị tải của một bộ truyền nhận.
Bảng 1.2. Trở kháng bộ nhận khi không có mạch phân cực an toàn
Đơn vị tải Số nút mạng Trở kháng đầu vào bộ nhận
24
Đơn vị tải Số nút mạng Trở kháng đầu vào bộ nhận
1/2 64 24 kΩ
1/4 128 48 kΩ
1/8 256 96 kΩ
Bảng 1.3. Trở kháng đầu vào bộ nhận khi có mạch phân cực an toàn
Đơn vị tải Số nút mạng Trở kháng đầu vào bộ nhận
1 12 12 kΩ
1/2 24 24 kΩ
1/4 48 48 kΩ
1/8 96 96 kΩ
1.2.2.6. Vai trò của đất
Mặc dù mức tín hiệu đƣợc xác định bằng điện áp chênh lệch giữa hai dây dẫn A và B không liên quan gì đến điểm đất nhƣng RS485 vẫn cần một đƣờng dây nối đất để tạo đƣờng thoát cho nhiễu chế độ chung và các dòng khác (ví dụ nhƣ dòng đầu vào bộ thu). Nếu chỉ dùng hai dây nối để nối hai thiết bị, dòng chế độ chung sẽ tìm cách quay lại nguồn phát, bức xạ nhiễu ra môi trƣờng xung quanh sẽ ảnh hƣởng đến tính tƣơng thích điện từ của hệ thống. Nối đất sẽ tạo đƣờng thoát trở kháng nhỏ tại vị ví xác định, nhờ vậy giảm thiểu tác nhân gây nhiễu. Hơn nữa với cấu hình trở đầu cuối tin cậy, việc nối đất tạo thiên áp sẽ giữ mức điện áp tối thiểu giữa hai dây A và B trong trƣờng hợp bus rỗi hay có sự cố.
1.3. Giao thức truyền thông Modbus–RTU
Modbus là một giao thức do hãng Modicon (thuộc AEG và Schneider Automation) đề xuất. Theo mô hình ISO/OSI thì Modbus thực chất là một chuẩn giao thức và dịch vụ thuộc lớp ứng dụng, vì vậy có thể đƣợc thực hiện trên các cơ chế vận chuyển cấp thấp nhƣ TCP/IP, MAP, Modbus Plus và ngay cả qua đƣờng truyền nối tiếp RS232.