Truyền dữ liệu qua chuẩn RS – 485

Một phần của tài liệu 212854 (Trang 35 - 44)

3. Nội dung các phần thuyết minh:

3.6 Truyền dữ liệu qua chuẩn RS – 485

3.6.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ộ.

Theo nhận định của người thực hiện đề tài (đố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

3.6.2 Đặc điểm của RS-485

9Giá 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.

9Khả 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.

9Khả năng kết nối:

RS-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 khoảng cách 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.6.3 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. Bộ thu sẽ đáp ứng phần hiệu giữa các mức điện áp, được minh hoạ ở hình dưới:

Hình 3.2: Đường truyền cân bằng

Hình 3.3: Đườ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. TIA/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, ngượ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 bộ nhận đầ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

¾Ưu điểm của đường truyền cân bằng:

Đườ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ảm đề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ễu có thể là các dây khác trong cáp hoặc ở bên ngoài. Một bộ thu 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ộ thu 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.

VA GND o VBo A B Vin GND

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ộ thu. Trong kết nối ở khoảng cách lớn, điện thế ở các bộ điều khiển và bộ thu 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 bộ thu không đọc được đầu vào. Còn ở đường truyền cân bằng thì chú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.

3.6.4 Nguyên tắc hoạt động của RS-485 :

¾ 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

Hình 3.4: Ngõ ra của bộ phát RS-485

Hình bên dưới chỉ mức điện áp vi sai giữa dây A và B ở đầu ra của bộ điều khiển. 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.

A

B

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 bộ thu, điện áp 2 đầu vào A và B chỉ cần chênh lệch 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 sai này < 0,2V thì mức logic không xác định.

Sự khác nhau giữa điện áp bộ điều khiển và bộ thu 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ộ bộ điều khiển 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.

¾ 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 định 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ào ít nhất là 12 KΩ, 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 Ω. Nếu có 32 đơn vị tải thì R tương đương là 375Ω.

3.6.5 Chuyển đổi sang TTL:

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, cù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

Hình 3.6: Kết nối song công nhiều điểm

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 sẽ 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á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.

O O

NODE 0 NODE 1 NODE 2 NODE 3

O O O O O O

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.

Chip 75176B 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ộ thu 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ạng 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.

3.6.6 Kết nối mạng và phương thức truyền

120. CONTROL OUT SERIAL IN CONTROL OUT 75176BP 1 2 3 4 5 6 7 8 RO RE DE DI GND A B +VCC SERIAL IN 120 SERIAL IN +5V 75176BP 1 2 3 4 5 6 7 8 RO RE DE DI GND A B +VCC CONTROL OUT +5V SERIAL OUT SERIAL OUT +5V SERIAL OUT 75176BP 1 2 3 4 5 6 7 8 RO RE DE DI GND A B +VCC Hình 3.7: Kết nối bán song

Đặ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.

Ta xét 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 Ω nối song song với ngõ vào, ra vi sai ( chân 6-7 ), và

hai điện trở 560 Ω kéo lên

Với cách kết nối như vậy thì để truyền dữ liệu từ bộ điều khiển (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 dữ liệu về Master, chân 2-3 cũng phải lên mức cao. Còn khi nhận dữ liệu thì ta phải set chân 2-3 xuống thấp

0 R3 120 R4 560 0 1 2 7 6 3 4 8 5 R RE B A DE D VC C GN D U2 1 2 7 6 3 4 8 5 R RE B A DE D VC C GN D R5 120 0 75176 1 2 7 6 3 4 8 5 R RE B A DE D VC C GN D R6 120 VCC R2 120 R1 560 1 2 7 6 3 4 8 5 R RE B A DE D VC C GN D 0 0 R7 120

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 dữ liệu, 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 điểm này phát thì điểm 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 truyền dữ liệu. 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 khiển 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.

3.6.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 truyền dữ liệu thì nó vẫn còn được cho phép cho đến khi nó thực hiện xong việc truyền dữ liệu. Sau đó nó không được cho phép trước khi các điểm khác thực hiện việc phát.

R9 120 R10 560 0 Data in D3 D1N4148 Data out C7 103 U3 LM555 3 4 8 1 5 2 6 7 OUT RS T VC C GN D CV TRG THR DSCHG VCC 0 0 R8 3.9K VCC VCC 75176 1 2 7 6 3 4 8 5 R RE B A DE D VC C GN D C6 103 R8 560 0 Hình 3.9: Kết nối tự

Hình 3.10: Tín hiệu cho phép của bộ phát và 1 byte data được phát Mối quan hệ giữa một byte dữ liệu phát và tín hiệu cho phép bộ phát Có 3 cách để điều khiển chân cho phép của 485:

ƒ Hình trên 1 bit sẽ điều khiển cả bộ thu và bộ phát trên mỗi chip, vì

chân cho phép bộ phát tích cực mức cao, trong khi đó chân cho phép bộ thu tích cực mức thấp. Do đó chỉ có một chân được cho phép tại một thời điểm.

ƒ Trong nhiều mạng, đầu ra bộ thu lúc nào cũng được tích cực do đó nó

có thể được nối với đất. Bit điều khiển chỉ nối với chân Enable của bộ phát. Việc bỏ chân Enable của bộ thu cung cấp một cách đơn giản cho 1 điểm để phát hiện khi nào thì một chuyển đổi hoàn thành, bằng cách đọc dữ liệu truyền trở lại

ƒ Để linh hoạt hơn ta có thể sử dụng các bit riêng rẻ để điều khiển các

chân Enable của bộ phát và bộ thu.

… Kết luận về phương pháp lựa chọn :

Trên đây những người thực hiện đề tài đã trình bày một số lí thuyết về các chuẩn truyền giao tiếp máy tính. Người thực hiện đề tài thấy RS485 khá hiệu quả, chủ yếu sẽ nhờ vào khả năng lập trình của người thiết kế.

Một phần của tài liệu 212854 (Trang 35 - 44)

Tải bản đầy đủ (PDF)

(143 trang)