nghien cuu va thiet ke mang rs-485

102
Đề tài: NGHIÊN CU VÀ THIT KMNG RS 485 Trang:1 GII THIU ĐỀ TÀI Ngày nay vi tc độ phát trin nhanh ca công nghvi đin tkthut truyn thông và công nghphn mm. Trong nhng năm gn đây đã to ra schuyn biến cơ bn trong hướng đi, mà được ng dng thc trin trong đời sng, trong khoa hc kthut mà công nghvi xđem đến.Ví dnhư điu khin mt toà nhà, các thiết bsinh hot, tđộng báo cháy ...v..v… Trong lĩnh vc tđộng hoá công nghip tđơn gin điu khin trc tuyến trên mt đơn vxlý cho ti kết hp ca nhiu vi xđể điu khin mt hthng phc tp.Vy vi em là sinh viên ca nghành tđộng điu khin vi đề tài được giao là "Nghiên cu và thiết kế mng RS485" để ng dng vào thc tế cho công vic chuyên môn, em sđi sâu vào phát trin và ng dng mng RS485 để phc vcho công vic chuyên môn ca em (nói riêng) và trong nghành công nghip (nói chung). Vi đề tài được giao là nghiên cu và thiết kế mng RS485 ng dng cho đề tài đây là dùng phương pháp Master và Slave (chvà t) đề tài phát trin gm: 1. Trm ch( Master ) và hai trm t(Slave ). 2. Trm t1 dùng để điu khin Led thông qua đường truyn RS 485. 3. Trm t2 cũng ging như trm t1 nhưng có thêm điu khin động cơ. - Đường truyn RS485 là chun giao tiếp ni tiếp bt đồng bcân bng sdng đin áp chênh lch đối xng gia hai đầu dây dn. Dùng mng Half - Duplex (bán song công) tc là ti mt thi đim bt ktrên dây truyn chcó thlà mt thiết bhoc là truyn hoc là nhn. - RS 485 cho phép 32 btruyn trên Bus to thành mng cc b(mng Lan ). www.4tech.com.vn

Upload: khoaitay89

Post on 01-Jul-2015

896 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:1

GIỚI THIỆU ĐỀ TÀI

Ngày nay với tốc độ phát triển nhanh của công nghệ vi điện tử kỹ thuật

truyền thông và công nghệ phần mềm. Trong những năm gần đây đã tạo ra sự

chuyển biến cơ bản trong hướng đi, mà được ứng dụng thực triển trong đời sống,

trong khoa học kỹ thuật mà công nghệ vi xử lí đem đến.Ví dụ như điều khiển một

toà nhà, các thiết bị sinh hoạt, tự động báo cháy ...v..v…

Trong lĩnh vực tự động hoá công nghiệp từ đơn giản điều khiển trực tuyến

trên một đơn vị xử lý cho tới kết hợp của nhiều vi xử lý để điều khiển một hệ

thống phức tạp.Vậy với em là sinh viên của nghành tự động điều khiển với đề tài

được giao là "Nghiên cứu và thiết kế mạng RS485" để ứng dụng vào thực tế cho

công việc chuyên môn, em sẽ đi sâu vào phát triển và ứng dụng mạng RS485 để

phục vụ cho công việc chuyên môn của em (nói riêng) và trong nghành công

nghiệp (nói chung).

Với đề tài được giao là nghiên cứu và thiết kế mạng RS485 ứng dụng cho

đề tài ở đây là dùng phương pháp Master và Slave (chủ và tớ) đề tài phát triển

gồm:

1. Trạm chủ ( Master ) và hai trạm tớ (Slave ).

2. Trạm tớ 1 dùng để điều khiển Led thông qua đường truyền RS 485.

3. Trạm tớ 2 cũng giống như trạm tớ1 nhưng có thêm điều khiển động cơ.

- Đường truyền RS485 là chuẩn giao tiếp nối tiếp bất đồng bộ cân bằng

sử dụng điện áp chênh lệch đối xứng giữa hai đầu dây dẩn. Dùng mạng Half -

Duplex (bán song công) tức là tại một thời điểm bất kỳ trên dây truyền chỉ có thể

là một thiết bị hoặc là truyền hoặc là nhận.

- RS 485 cho phép 32 bộ truyền trên Bus tạo thành mạng cục bộ (mạng

Lan ).

www.4tec

h.com

.vn

Page 2: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:2

PHẦN I

CƠ SỞ LÝ THUYẾT

Chương I: CHẾ ĐỘ TRUYỀN TẢI

I:Truyền bit song song và truyền bit nối tiếp.

1: Truyền bit song song :

- Phương pháp truyền bit song song được dùng phổ biến trong các bus nội

máy tính, bus giữ liệu, bus địa chỉ, bus điều khiển, tốc độ truyền tải phụ thuộc vào

số các kênh dẫn hay chính là độ rộng của bus song song.

VD: 8 bit, 16 bit, 32 bit hay 64 bit.

- Phương pháp truyền này chỉ hạn chế ở khoảng cách nhỏ, có yêu cầu rất

cao về thời gian và tốc độ truyền .

2: Truyền bit nối tiếp :

- Với phương pháp này từng bit được chuyển đi một cách tuần tự qua một

đường truyền duy nhất, tốc độ bit vì thế hạn chế, nhưng cách thực hiện lại đơn

giản, độ tin cậy của dữ liệu cao. Tất cả các mạng truyền thông đều sử dụng

phương pháp này .

II: Truyền đồng bộ và không đồng bộ.

- Sự phân biệt giữa chế độ truyền đồng bộ và không đồng bộ chỉ liên quan

tới phương thức truyền bit song song, vấn đề đặt ra ở đây là đồng bộ hoá giữa bên

gửi và bên nhận dữ liệu .

- Trong chế độ truyền đồng bộ các đối tác truyền thông làm việc theo cùng

một nhịp, tức với cùng tần số và độ lệch pha cố định có thể quy định một trạm có

www.4tec

h.com

.vn

Page 3: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:3

vai trò tạo nhịp và dùng một đường dây riêng mang nhịp đồng bộ cho các trạm

khác .

- Với chế độ truyền không đồng bộ bên gửi và bên nhận không làm việc

theo một nhịp chung, dữ liệu trao đổi thường được chia thành từng nhóm 7 hoặc 8

bit gọi là ký tự, các ký tự được chuyển đi vào các thời điểm không đồng đều. Vì

vậy cần thêm 2 bit để đánh dấu khởi đầu và kết thúc cho mỗi 1 ký tự.

III: Truyền một chiều, hai chiều toàn phần và gián đoạn.

- Một đường truyền dữ liệu hoặc làm việc theo chế độ hai chiều toàn phần

hoặc hai chiều gián đoạn .

- Trong chế độ truyền một chiều, thông tin chỉ được truyền đi theo một

chiều, một trạm chỉ có thể đóng vai trò hoặc bên phát hoặc bên nhận thông tin

trong suốt quá trình giao tiếp.

- Chế độ truyền hai chiều gián đoạn cho phép mỗi trạm có thể tham gia

gửi hoặc nhận thông tin nhưng không cùng một lúc, nhờ vậy mà thông tin được

trao đổi theo cả hai chiều luân phiên trên cùng một đường truyền vật lý.

- Với chế độ truyền hai chiều toàn phần mỗi trạm đều có thể gửi và nhận

thông tin cùng một lúc. Phương pháp này sử dụng hai đường truyền riêng biệt cho

thu và phát .

IV: Truyền tải dải cơ sở, truyền tải dải mang và truyền tải dải

rộng.

1: Truyền tải dải cơ sở :

- Một tín hiệu mang một nguồn thông tin có thể biểu diễn bằng tổng của

nhiều dao động có tần số khác nhau nằm trong một phạm vi hẹp được gọi là dải

tần cơ sở hay dải hẹp. Tín hiệu được truyền đi cũng chính là tín hiệu được tao ra

www.4tec

h.com

.vn

Page 4: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:4

sau khi mã hoá bit. Mọi thành viên trong mạng phải phân chia thời gian để sử

dụng đường truyền vì trong một nhịp chỉ có thể truyền đi một bít .

2: Truyền tải dải mang :

- Trong một số trường hợp dải tần cơ sở không tương thức trong môi

trường làm việc .

VD: Tín hiệu có tần số, có thể bức xạ nhiễu ảnh hướng tới các thiết bị

khác hoặc ngược lại bị các thiết bị khác gây nhiễu. Để khắc phục tình trạng này ta

sử dụng tín hiệu mang dải tần này lớn hơn nhiều so với tần số nhịp, dữ liệu cần tải

sẽ dùng để kiềm chế tần số, biên độ pha tín hiệu mang, bên nhận sẽ thực hiện quá

trình giải điều chế để phục hồi thông tin nguồn .

3: Truyền tải dải rộng :

- Một tín hiệu có thể chứa đựng nhiều nguồn thông tin khác nhau, bằng

cách sử dụng kết hợp một cách thông minh nhiều thông số thông tin. Sau khi nhiều

nguồn thông tin khác nhau được mã hóa bit, một tín hiệu được tạo ra sẽ dùng để

điều biến một tín hiệu khác thường có tần số lớn hơn nhiều gọi là tín hiệu mang,

các tín hiệu mang đã được điều biến có tần số khác nhau nên có thể pha trộn xếp

chồng thành tín hiệu duy nhất có phổ tần trải rộng, tín hiệu này cuối cùng lại được

dùng để điều biến một tín hiệu mang khác, tín hiệu thu được từ khâu này mới được

truyền đi, đây chính là kỹ thuật dùng kênh phân tần.

V: Cấu trúc mạng bus:

- Được sử dụng một đường dẫn chung cho hệ thống, các thành viên tham

gia vào mạng được nối trực tiếp qua đường dẫn chung này, đây là một kết cấu của

cấu trúc đơn giản có ưu điểm về mặt tiết kiệm dây dẫn, dễ lắp đặt.

- Trong cấu trúc bus này ta có thể chia làm ba cấu trúc sau: như được mô

tả ở hình vẽ 1.3 (trang bên).

www.4tec

h.com

.vn

Page 5: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:5

+ Daisy-chain, Trunk-line/Drop-line và Mạch vòng không tích cực.

+ Ở hai cấu trúc đầu Daisy-chain và Trunk-line/Drop-line các thành viên

tham gia vào mạng được nối với nhau theo cấu trúc đường thẳng bởi vì hai đầu

của đường thẳng không khép kín.

+ Đối với Daisy-chain các trạm được nối theo phương pháp nối tiếp

nhau bởi những dây dẫn không nối qua đoạn dây phụ như cấu trúc của Trunk-

line/Drop-line.

+ Phương pháp nối mạng trong cấu trúc của Trunk-line/Drop-line thì

ngược lại so với Daisy-chain, mỗi thành viên nối mạng không nối trực tiếp như

trên mà phải qua một đoạn dây dẫn phụ gọi là Drop-Line để kết nối vào bus tới

một đường dẫn chính gọi là Trunk-line.

+ Mạch vòng không tích cực cũng tương tự như cách nối Trunk-

Line/Drop-Line, cũng nối qua một đoạn dây dẫn phụ Drop-Line để đến trục chính

nhưng khác nhau ở chỗ trục chính khép kín thành một vòng gọi là mạch vòng. Tất

cả được minh họa ở hình vẽ dưới dây.

Hình 1 : Cấu trúc bus

Drop-line

Trunk-line

Drop-line

Caùc ñoaïn daây daãn

Drop-line

Trunk-line/Drop-line

Daisy-chain

Maïch voøng khoâng tích

www.4tec

h.com

.vn

Page 6: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:6

- Đối với hệ thống bus này ngoài những ưu điểm đơn giản như dễ kết nối và

những tính năng ưu việt của chúng, bên cạnh đó có sự tiện lợi trong việc thay thế,

sửa chữa, thêm bớt một thành viên vào trạm không làm ảnh hưởng đến hệ thống,

nên đối với hệ thống này thường được sử dụng rộng rãi trong hệ thống mạng điều

khiển công nghiệp. Bên cạnh những ưu điểm trên việc sử dụng chung một đường

truyền cũng đặt ra một giải pháp hợp lý, nhất là số lượng thành viên của mạng

tăng lên đó là sự đòi hỏi phân chia kênh truyền theo thời gian thật phù hợp để

tránh xung đột xảy ra khi nhiều trạm cùng thu phát một lúc, thì gọi là phương pháp

truy cập bus. Bên cạnh những ưu điểm ấy cấu trúc bus cũng có những khuyết điểm

sau:

- Một tín hiệu gởi đi sẽ tới tất cả các trạm có mặt trên mạng do đó không

kiểm soát được nếu không thực hiện việc gán địa chỉ cho trạm cần truyền, trong

thực tế việc gán địa chỉ sẽ gây ra không ít khó khăn.

- Tất cả các trạm đều có khả năng phát cũng như luôn kiểm tra đường truyền

xem có dữ liệu gởi cho mình hay không, do đó hệ thống phải thiết kế sao cho đủ

tải để thực hiện công việc này ở mỗi trạm, dẫn đến sự hạn chế số lượng thành viên

tham gia mạng.

- Chiều dài dây dẫn cũng tương đối dài, vì vậy đối với cấu trúc đường thẳng

thường xảy ra phản xạ giữa các mối nối làm suy giảm chất lượng tín hiệu, do đó

một vấn đề cần phải khắc phục tại điểm này.

- Trường hợp dây dẫn đứt hay ngắn mạch trong phần kết nối bus của một

trạm bị hư hỏng đều dẫn đến ngưng hoạt động hệ thống mà việc định vị cũng gặp

nhiều khó khăn.

VI: Cấu trúc mạch vòng ( tích cực):

- Để tìm hiểu cấu truc này trước hết ta khảo sát qua mô hình của cấu trúc

bằng hình vẽ dưới đây.(Hình 1)

www.4tec

h.com

.vn

Page 7: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:7

MASTER

Khoâng coù ñieàu khieån Coù ñieàu khieån trung taâm trung taâm

Hình 2 : Cấu trúc mạch vòng.

- Cấu trúc mạch vòng tích cực là cấu trúc các thành viên tham gia vào

mạng được kết nối một cách tuần tự từ thành viên này đến thành viên kia sao cho

chúng liên lạc với nhau theo một vòng khép kín. Mỗi thành viên tự tham gia tích

cực vào việc kiểm soát đường truyền để nhận biết một dòng dữ liệu, và mỗi trạm

nhận dữ liệu từ một trạm đứng trước và chuyển tiếp cho trạm đứng sau nó theo

một chiều cố định hướng trước cho đến khi dòng dữ liệu này trở về điểm xuất phát

ban đầu từ máy phát dòng dữ liệu đó và được máy này thu nhận trở lại và hủy bỏ.

Ưu điểm ở đây là mỗi một trạm vừa có chức năng thu vừa có chức năng phát lại,

do dó tránh được sự suy giảm của tín hiệu, bởi mỗi lần một trạm thu được thì đồng

thời phát lại dòng dữ liệu nên được xem như đã được khuếch đại trở lại tín hiệu

ban đầu, do đó đối với cấu trúc này có thể truyền được với khoảng cách khá lớn và

nhiều trạm có thể được kết nối hơn so với cấu trúc bus, một ưu điểm nữa là dòng

dữ liệu được di chuyển theo một hướng nhất định, do đó cũng là một vấn đề góp

phần tích cực vào việc khắc phục xung đột trên đường truyền, đối với kiểu mạch

vòng có hai cấu trúc, đó là cấu trúc có điều khiển trung tâm và không có điều

khiển trung tâm được minh họa ở hình vẽ trên (Hình 2 ).

www.4tec

h.com

.vn

Page 8: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:8

- Với mạch vòng không có điều khiển trung tâm thì các thành viên tham gia

liên kết mạng là như nhau không có sự ưu tiên trước hay sau, do đó mỗi thành viên

trên mạng tự phân chia kiểm soát đường dẫn.

- Đối với mạch vòng có điều khiển ở trung tâm thì việc kiểm soát đường

dẫn thuộc trách nhiệm của trạm chủ đảm nhiệm.

- Cấu trúc mạch vòng được xây dựng trên cơ sở của cấu trúc điểm - điểm vì

vậy rất thích hợp cho việc sử dụng công cụ truyền thông hiện đại như cáp quang,

tia hồng ngoại.v.v Việc gán địa chỉ cho các phần tử trên mạng cũng có thể do trạm

chủ điều khiển một cách tự động. Ưu điểm tiếp theo là đối với các thành viên tham

gia nối mạng một cách tuần tự vừa thu vừa phát. Do đó việc khắc phục khi có sự

cố xảy ra ở trên đường truyền như đứt dây, ngắng mạch cũng trở nên dễ dàng để

xác định, tuy nhiên để sự hoạt động của mạng được liên tục ta có thể kết hợp một

đường dây dự phòng được mô tả khái quát qua những hình vẽ dưới đây (Hình 3 )

3

4 5

7 6

2 1 8

1 2

5 4

3

6 7

8

Ñaáu taét do söï coá taïi traïm 3By-pass söï coá ñöôøng daây giöõa 1 vaø 2

Hình 3: Xử lý sự cố trong mạch vòng.

- Trong trường hợp thứ nhất ở trên hình By-pass sự cố đường dây giữa 1 và

2 được mô tả như sau: khi xảy ra sự cố tại một điểm các trạm lân cận tại điểm sự

cố tự phát hiện lỗi đường truyền và chuyển mạch qua đường dẫn phụ đi vòng qua

www.4tec

h.com

.vn

Page 9: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:9

vị trí bị sự cố. Trong trường hợp ở trên hình Đấu tắt do sự cố tại trạm 3 khi một

trạm bị sự cố các trạm lân cận tự đấu tắt qua nó đi vòng lại như hình vẽ minh họa.

VII. Cấu trúc sao:

- Là cấu trúc mà ở đó tất cả các trạm tham gia vào mạng phải được liên kết

qua một mạng trung tâm, trạm này đóng vai trò như một trung tâm giao tiếp giữa

các trạm, điều khiển truyền thông cho toàn bộ mạng, sự giao tiếp giữa các thành

viên khác nhau trên mạng đều thông qua trạm này, nếu như trạm trung tâm đóng

vai trò tích cực thì nó sẽ kiểm soát toàn bộ việc truyền thông của mạng, ngược lại

chúng được xem như một bộ chuyển mạch thông thường cho các trạm khác bắt tay

nhau. Xét về mặt kiến trúc liên kết vật lý thì được xem mạng như một liên kết

điểm - điểm thông thường, nhưng về mặt logic vẫn có thể là điểm - nhiều điểm.

- Các nhược điểm của cấu trúc sao là:

+ Nhược điểm thứ nhất là: trạm trung tâm đòi hỏi phải có độ tin cậy

cao, đối với trạm này nó giống như một bộ não của mạng.

- Nhược điểm thứ hai là: Nếu khoảng cách giữa các trạm nhỏ hơn nhiều so

với từ các trạm đến trạm trung tâm thì quả là tốn kém dây dẫn, do đó đối với hệ

thống mạng sử dụng trong công nghiệp đôi khi có phần hạn chế. Trên hình dưới

đây có thể mô tả một cấu trúc dạng sau:

Traïm trung taâm

Hình 4 : Cấu trúc hình sao

www.4tec

h.com

.vn

Page 10: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:10

VIII. Cấu trúc cây (Tree):

- Cấu trúc cây cũng được sử dụng rộng rãi trong kỹ thuật tự động hóa công

nghiệp nó có thể được diễn tả như một chuỗi các liên kết đường thẳng liên kết lại

với nhau tạo thành cấu trúc cây. Trong trường hợp này các phần tử dùng để nối

các phần tử đường thẳng lại với nhau có ý nghĩa đặc biệt.

- Các phần tử kết nối các dạng cấu trúc đường thẳng để tạo thành cấu trúc

dạng cây có thể đơn giản là các bộ lặp (Repeater) để kết nối các phần tử có cùng

kiểu, hay là các Router, Bridge, Gateway cho các trường hợp kết nối cho các mạng

có kiểu khác nhau. Hình vẽ dưới đây là mô hình một kiểu cấu trúc dạng cây:

Hình 5 : Cấu trúc cây

IX. Kiến trúc giao thức :

- Để tìm hiểu kiến trúc của giao thức trước hết ta cần hiểu khái niệm dịch

vụ truyền thông là gì.

- Vậy dịch vụ truyền thông là gì: Là một dịch vụ chứa các qui tắt, qui ước

mà các thành viên tham gia nối mạng cần có để sử dụng, các dịch vụ đó được sử

R Repeater

www.4tec

h.com

.vn

Page 11: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:11

dụng với các yêu cầu khác nhau như trao đổi thông tin dữ liệu, giám sát thiết bị,

tạo lập cấu hình v.v Các dịch vụ truyền thông này được cung cấp bởi các nhà cung

cấp hệ thống truyền thông, bởi phần cứng hoặc phần mềm chuyên dụng, mà đòi

hỏi người sử dụng phải khai thác phù hợp cho mục đích và yêu cầu riêng của mình

để tham gia nối mạng, việc khai thác các dịch vụ đó từ phía người sử dụng phải

thông qua một phần mềm giao diện mạng. Chẳng hạn để xây dựng một phần mềm

ứng dụng nào đó như trong điều khiển giám sát SCADA, phần mềm lập trình vi

điều khiển, phần mềm lập trình điều khiển như Delphi kết hợp với các thư viện

phần mềm có sẵn để tạo ra một chương trình ứng dụng truy xuất dữ liệu đến các vi

xử lý hay các PLC v.v Tất cả đều thiết lập sẵn trên các công cụ phần mềm chuyên

dụng mà chúng ta cần hiểu và khai thác chúng một cách có mục đích cho một yêu

cầu nào đó như trong lĩnh vực tự động hóa chẳng hạn thì được gọi là dịch vụ

truyền thông.

- Những hệ thống truyền thông khác nhau có thể qui định một chủng riêng

biệt về các yêu cầu dịch vụ truyền thông của mình. Một hệ thống truyền thông

không nhất thiết phải hỗ trợ đầy đủ các dịch vụ truyền thông, ví dụ một công cụ

phần mềm SCADA ta có thể khai thác dữ liệu từ các cảm biến ở các PLC nhưng

không nhất thiết phải hỗ trợ phần mềm lập trình cho PLC vì phần mềm này luôn đi

kèm theo PLC khi ta có được.

- Ta cũng có thể phân loại dịch vụ truyền thông theo các cấp độ khác nhau,

như các dịch vụ sơ cấp có thể là cách tạo lập ngắt nối của một phần tử trên mạng

thông thường, và các dịch vụ cấp thấp như sự trao đổi dữ liệu của các phần tử và

cuối cùng các dịch vụ cấp cao. Một dịch vụ ở cấp cao luôn luôn được hỗ trợ bởi

dịch vụ ở cấp thấp hơn nó, để thực hiện chức năng của riêng mình chẳng hạn như

tạo lập cấu hình hệ thống, hay báo cáo trạng thái có thể sử dụng dịch vụ cấp dưới

nó đó là dịch vụ trao đổi dữ liệu để thực hiện, ngoài cách để trao đổi dữ liệu cũng

cần cách tạo lập và ngắt nối của dịch vụ sơ cấp. Việc phân cấp dịch vụ truyền

www.4tec

h.com

.vn

Page 12: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:12

thông góp phần rất quan trọng trong việc sử dụng dịch vụ dẫn đến sự tiện lợi cho

người sử dụng.

X. Giao thức:

- Trong thực tiễn cuộc sống sự giao tiếp giữa người với người cũng đặt ra

một yêu cầu làm sao để hiểu được ngôn ngữ của nhau, để nhận biết mục đích yêu

cầu cũng như hành động trong giao tiếp, mở rộng hơn vấn đề ở đây ta nói đến sự

giao tiếp của máy móc thiết bị cũng cần có một ngôn ngữ chung. Vậy trong kỹ

thuật truyền thông công nghiệp cũng như một mạng máy tính rộng lớn để có sự

giao tiếp như vậy thì yêu cầu đặt ra là bên cung cấp dịch vụ cũng như bên sử dụng

dịch vụ phải tuân thủ những qui tắc, thủ tục nhất định trong phần giao tiếp giữa

các phần tử với nhau. Việc tuân thủ những qui tắc qui ước đó được gọi là giao

thức. Vậy giao thức chính là cơ sở cho việc sử dụng các dịch vụ truyền thông.

Một qui định chuẩn giao thức bao gồm các thành phần sau:

+ Cú pháp (Syntax): Cú pháp là một tiêu chuẩn qui định về cấu trúc của

một dòng dữ liệu được sử dụng khi trao đổi cho nhau trong đó chứa đựng đầy đủ

các qui định để tạo thành một gói dữ liệu hợp lệ, chẳng hạn như một gói dữ liệu

phải có phần thông tin hữu ích gọi là dữ liệu, thông tin điểm đến được gọi là địa

chỉ, thông tin điều khiển, thông tin kiểm lỗi .v.v

+ Ngữ nghĩa (Semantic): Qui định ý nghĩa từng phần của một gói dữ liệu,

như phương pháp định địa chỉ, phương pháp bảo toàn dữ liệu, thủ tục điều khiển

thông tin, xử lý lỗi.

+ Định thời (Timing): Qui định về trình tự thủ tục giao tiếp, chế độ truyền

đồng bộ hay bất đồng bộ, tốc độ truyền .v.v

+ Việc thực hiện một dịch vụ truyền thông trên cơ sở của một giao thức

tương ứng gọi là xử lý giao thức bên gởi, và giải mã xử lý giao thức bên nhận.

Việc thực hiện ở tầng giao thức tương ứng cũng giống như việc xử dụng các dịch

www.4tec

h.com

.vn

Page 13: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:13

vụ truyền thông theo các cấp cũng có sự phân chia giao thức theo từng cấp và sự

hỗ trợ của các giao thức cho nhau.

+ Giao thức cấp cao gần gũi với nguời sử dụng và thường được thực hiện

bằng phần mềm, một số ví dụ giao thức cấp cao là FTP (File Transfer Protocol)

dùng trong trao đổi file từ xa, HTTP (Hypertext Transfer Protocol) dùng để trao

đổi các trang HTML trong các ứng dụng Web, MMS (Manufactoring Message

Specification) dùng trong tự động hóa công nghiệp.

+ Giao thức cấp thấp gần gũi với thiết bị phần cứng thường được thực hiện

trực tiếp trên các mạch điện tử, một số ví dụ về giao thức cấp thấp như sau:

TCP/IP (Transmission Control Protocol/Internet Protocol) được dùng phổ biến

trong Internet, HART (Highway Adressable Remote Transducer) dùng trong điều

khiển quá trình, HDLC (High Level Data-link Control) làm cơ sở cho nhiều giao

thức khác và UART dùng trong đa số các giao diện vật lý của các hệ thống bus.

Hai giao thức nói sau HDLC và UART có vai trò quan trọng trong truyền thông

công nghiệp do đó được giới thiệu sơ lược ở đây:

+ Giao thức HDLC:

HDLC cho phép chế độ truyền nối tiếp đồng bộ hoặc không đồng bộ. Một bức

điện hay còn gọi là một khung (Frame) có cấu trúc sau:

01111110 8/16 bit 8 bit n bit 16/32 bit 01111110

Côø Ñòa chæ Ñieàu khieån Döõ lieäu FCS Côø

- Mỗi khung được mở đầu và kết thúc bằng một cờ hiệu (Flag) với dãy bit

01111110. Dãy bit này được đảm bảo không bao giờ xuất hiện trong các phần

thông tin khác qua phương pháp nhồi bit (Bit Stuffing), tức cứ sau một dãy 5 bit

có giá trị 1 (11111) thì một bit 0 được bổ sung vào.

www.4tec

h.com

.vn

Page 14: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:14

- Ở địa chỉ tiếp theo chứa địa chỉ bên gởi và bên nhận tùy theo cách gán

địa chỉ 4 hoặc 8 bit tương ứng với 32 hoặc 256 địa chỉ khác nhau, ô này có chiều

dài là 8 hay 16 bit.

- Trong HDLC có ba lọai bức điện được phân biệt ở ô thông tin điều khiển

8 bit, đó là:

+ Information Frames: khung thông tin (I-Format)

+ Supervisory Frames: khung giám sát vận chuyển dữ liệu (S-Format)

+ Unmunbered Frames: khung bổ trợ kiểm soát các mối liên kết giữa các

trạm

+ Cấu trúc các ô thông tin điều khiển được qui định như sau:

1 2 3 4 5 6 7 8

I-Format 0 N (S) P/F N (R)

S-Format 1 0 S P/F N (R)

U-Format 1 1 M P/F M

Trong đó các ký hiệu viết tắc có ý nghĩa như sau:

+ N (S) : Số thứ tự khung đã được gởi chia Module cho 8

+ N (R) : Số thứ tự khung chờ nhận được chia Module cho 8

+ P/F : bit chỉ định kết thúc quá trình truyền

+ S, M : Các bit có chức năng khác

- Ở thông tin có độ dài biến thiên, cũng có thể để trống nếu như bức điện

không dùng vào mục đích vận chuyển dữ liệu. Sau ô thông tin là đến dãy bít kiểm

www.4tec

h.com

.vn

Page 15: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:15

lỗi FCS (Frame Check Sequence), dùng vào mục đích bảo toàn dữ liệu. Tốc độ

truyền thông tiêu biểu đối với HDL từ 9,6 Kbit/s đến 2Mbit/s.

Giao thức UART:

- UART (Universal Asynchronous Receiver/Transmitter) là một mạch vi

điện tử sử dụng rất rộng rãi cho việc truyền bit nối tiếp cũng như chuyển đổi song

song - nối tiếp giữa đường truyền và bus máy tính. UART cho phép lựa chọn giữa

chế độ truyền một chiều, hai chiều đồng bộ hoặc hai chiều không đồng bộ. Việc

truyền tải được thực hiện theo từng ký tự 7 hoặc 8 bit, được bổ sung hai bit đánh

dấu đầu cuối và một bít kiểm tra chẳn lẻ P (Parity Bit). Ví dụ với ký tự 8 bit được

minh họa dưới đây.

Start 0 1 2 3 4 5 6 7 p Stop

0 LSB MSB 1

- Bít khởi đầu (Start bit) bao giờ cũng là 0 và bit Stop (Stop bit) bao giờ

cũng là 1. Các bit trong một ký tự bao giờ cũng được truyền thứ tự từ bit thấp

LSB tới bit cao MSB. Giá trị của bit chẳn lẻ P phụ thuộc vào cách chọn:

+ Nếu chọn parity chẳn, thì P bằng 0 khi tổng số bit 1 chẳn.

+ Nếu chọn parity lẻ thì P bằng 0 khi tổng số bit 1 lẻ.

- Như tên của nó đã thể hiện, chế độ truyền không đồng bộ được sử dụng ở

đây, từ không có một tín hiệu riêng phục vụ cho việc đồng bộ hóa giữa bên gởi và

bên nhận. Dựa vào các bit đầu cuối và tốc độ truyền thông đã được đặt trước cho

cả hai bên, bên nhận thông tin phải tự chỉnh nhịp lấy mẫu của mình để đồng bộ với

bên gởi.

www.4tec

h.com

.vn

Page 16: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:16

XI. Mô hình lớp :

- Việc trao đổi thông tin trên mạng đòi hỏi có một giải pháp hợp lý, làm

sao chúng có thể hiểu nhau bắt tay nhau trong giao tiếp và hiểu được ý nghĩa yêu

cầu thông tin, do đó đòi hỏi phải có sự tương tát rất phức tạp giữa các thành viên

trên mạng, một yêu cầu trừu tượng khá cao giữa các thiết bị phần cứng cũng như

phần mềm, để đơn giản thay vì phải xử lý toàn bộ trên một nền tảng duy nhất, ta

có thể chia nhỏ công việc thành những lớp và xử lý một cách độc lập trên những

lớp đó thì gọi là mô hình lớp.

- Để thực hiện một dịch vụ truyền thông của một gói giữ liệu được gởi đi,

được xử lý qua nhiều lớp ở bên gởi và bên nhận trên cơ sở các giao thức qui định

được gọi là xử lý giao thức theo mô hình lớp, mỗi lớp ở đây có thể thực hiện bằng

các chức năng của phần cứng hay phần mềm. Mỗi một trạm được xem như một hệ

thống đa tần, trong đó mỗi tần được xây dựng trên cơ sở tần trước nó, số lượng các

tần cũng như tên và chức năng của các tần đều phụ thuộc vào nhà thiết kế và mục

đích của mỗi tần là cung cấp dịch vụ cho tần cao hơn từ phía bên gởi cũng như bên

nhận, dữ liệu sẽ được thêm vào những thông tin hổ trợ khi đi qua xử lý của tần đó

đối với bên gởi, ở bên nhận sẽ thực hiện ngược lại dữ liệu được xác lập và tách ra

khi đi qua các tần xử lý tương ứng ở tần đó, hình vẽ dưới đây mô tả quá trình thực

hiện ở các lớp bên gởi và bên nhận.

N N

N-1 N-1 N N

Döõ lieäu

Lớp N-1

Lớp N

Lớp N+1

Döõ lieäu

Döõ lieäu

Döõ lieäu

Döõ lieäu

Döõ lieäu

Hình 6 :Ñöôøng truyeàn vaät lí

www.4tec

h.com

.vn

Page 17: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:17

- Nguyên tắc của kiến trúc phân lớp trong một mạng là: mỗi một hệ thống

trong một mạng đều phải có một cấu trúc lớp, tức là số lượng lớp cũng như chức

năng của mỗi lớp là như nhau vì lý do để thực hiện một thông tin trên một mạng

đòi hỏi phải có hai hay nhiều đối tác tham gia, vậy việc tạo lập một thông tin chỉ

được thực hiện khi các đối tác thực hiện truyền thông trong các lớp tương ứng, sử

dụng chung một ngôn ngữ , chung một giao thức thì có thể trao đổi thông tin cho

nhau, nếu sự truyền thông có sự khác biệt về giao thức, chẳng hạn như giữa hai

mạng khác nhau thì điều cần thiết ở đây là dùng một bộ chuyển đổi hiểu cả hai

giao thức như Bridge hay Gateway. Vấn đề mấu chốt ở đây để có thể thực hiện

được việc chuyển đổi là sự thống nhất về dịch vụ truyền thông, xuất phát từ yêu

cầu này đã ra đời các kiến trúc giao tiếp chuẩn sau đây:

XII : Kiến trúc tiêu chuẩn OSI :

- Nhiều nhà sản xuất đã theo mô hình ISO (International Standards

Organization) là tổ chức tiêu chuẩn quốc tế cho OSI (Open Systems

Interconnection) là kết nối các hệ thống mở. Mô hình này đã được định nghĩa vào

năm 1979 để giải quyết việc truyền thông giữa các thốngmạng không giống nhau.

User program User program

Application Application Presentation Presentation

Session Session

Transport Transport

Nerwort Nerwort Data link Data link

Physical Physical

Moâi tröôøng truyeàn

A B

Hình 7: Moâ hình ISO

www.4tec

h.com

.vn

Page 18: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:18

- Mô hình chuẩn ISO như sau: nếu dữ liệu được truyền giữa hai thiết bị

qua một mạng chung thì ta cần phải định nghĩa giao thức và kỹ thuật truy cập.

Các thông tin liên quan ví dụ như thiết lập link cũng phải được xác định. Do đó tổ

chức chuẩn hóa quốc tế ISO định nghĩa mô hình 7 lớp như sau:

- Các lớp 1, 2 và 4 tuyệt đối cần thiết cho việc truyền thông tin cậy, đầy

đủ. Lớp 1 định nghĩa các điều kiện vật lý như các mức dòng điện và điện áp.

Trong lớp 2 được định nghĩa cơ chế truy cập và địa chỉ của trạm. Điều này bảo

đảm chỉ có một trạm có thể gởi dữ liệu qua mạng ở bất cứ thời điểm nào.

- Độ tin cậy và sự tương thích dữ liệu chỉ được đảm bảo bằng các chức

năng của lớp 4 lớp vận chuyển. Xuất phát từ điều khiển vận chuyển, lớp vận

chuyển cũng thực hiện các chức năng điều khiển luồn dữ liệu, cấm và ghi nhận.

- Các link được thiết lập nhằm để có được chức năng này.

- Lớp thứ 7 là lớp ứng dụng chứa các dịch vụ truyền thông ví dụ được mô

tả ở hình vẽ dưới đây.

- Mô hình chuẩn định nghĩa ở các lớp mà trong đó người ta định nghĩa

đáp ứng của các cộng sự truyền thông. Các lớp này được sắp xếp theo lớp này trên

lớp kia và lớp thứ 7 là lớp cao nhất và chỉ những lớp đồng dạng nhau truyền thông

với nhau.

- Cách cài đặt các lớp riêng trong trường hợp thực thi không xác định theo

mô hình chuẩn mà phụ thuộc vào cài đặt cụ thể. Trong những trường hợp như

PROFIBUS thì không sử dụng các lớp 3 và 6 để có đựoc sự truyền thông với tốc

độ cao với khả năng thời gian thực và các chức năng thiết yếu được tích hợp trong

lớp 1, 2 và lớp 7.

- Ý nghĩa của các lớp như bản sau đây:

www.4tec

h.com

.vn

Page 19: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:19

Lôùp Teân goïi Chöùc naêng Ñaëc tính

7 Lôùp öùng duïng

(Application layer)

Caùc chöùc naêng öùng duïng

cung caáp caùc dòch vuï

truyeàn thoâng chuyeân

duïng

Caùc dòch vuï

truyeàn thoâng.

Ví duï:

Read/Write

6 Lôùp giôùi thieäu

(Presentation layer)

Giôùi thieäu döõ lieäu

chuyeån ñoåi daïng giôùi

thieäu chuaån cuûa heä

thoáng truyeàn thoâng sang

daïng phuï thuoäc thieát bò.

Ngoân ngöõ thoâng

thöôøng.

5 Lôùp kieåm soaùt noái

(Session layer)

Ñoàng boä hoùa môû ñoùng

vaø giaùm saùt moät phieân. Ñieàu phoái phieân

4 Lôùp vaän chuyeån

(Transport layer)

Keát noái – ngaét keát noái

caùc link laäp laïi caùc

packet, saép xeáp thöù töï

caùc packet, ñoùng goùi.

Vaän chuyeån

khoâng coù lỗõi caùc

goùi döõ lieäu .

3 Lôùp maïng

(Network layer)

Ñònh ñòa chæ cuûa maïng

khaùc routing, ñieàu khieån

luoàn.

Truyeàn thoâng

giöõa hai maïng

2 Lôùp lieân keát döõ lieäu

(Data link layer)

Caùc kyõ thuaät truy caäp

caùc bieân giôùi khoái döõ

Kieåm tra CRC,

taken passing

www.4tec

h.com

.vn

Page 20: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:20

lieäu, vaän chuyeån döõ lieäu

khoâng loãi, phaùt hieän loãi

xöû lyù loãi.

1 Lôùp vaät lyù

(Physical layer)

Caùc khía caïnh vaät lyù

cuûa chuyeån döõ lieäu, moâi

tröôøng truyeàn, toác ñoä

baud, qui caùch kyõ thuaät

veà caùc tham soá ñieän cô,

vaø chöùc naêng cuûa bus.

Caùp daãn

Bảng 1 : Ý nghiã các lớp trong mô hình OSI

Lớp vật lý (Physical layer):

- Lớp này bảo đảm các bit được truyền qua môi trường vật lý theo thứ tự

mà lớp này nhận được từ lớp liên kết dữ liệu. Các đặc tính điện và cơ cũng như

kiểu cách truyền cũng được định nghĩa ở đây.

+ Các chi tiết về cấu trúc mạng như bus, cây, sao.

+ Chuẩn truyền dẫn như RS232, RS485

+ Phương pháp mã hóa

+ Chế độ truyền tải

+ Các tốc độ truyền cho phép

+ Giao diện cơ học như phích cắm.

+ Lớp liên kết dữ liệu (Data Link Layer):

- Trách nhiệm của lớp này là truyền các chuỗi bit giữa hai hệ thống. Việc

này cũng bao gồm việc điều khiển, việc truy cập môi trường truyền dẫn, bảo toàn

www.4tec

h.com

.vn

Page 21: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:21

dữ liệu, lớp liên kết dữ liệu cũng bảo đảm truy cập độc quyền môi trường truyền.

Do đó lớp này được chia làm hai lớp nhỏ là lớp điều khiển truy cập môi trường

MAC (Medium Access Control), và lớp điều khiển logic LLC (Logic Link

Control). Trong một số hệ thống, lớp liên kết dữ liệu có thể đảm nhiệm thêm các

chức năng khác như việc kiểm soát lưu thông và đồng bộ hóa việc chuyển giao các

khung dữ liệu.

- Để thực hiện chức năng bảo toàn dữ liệu, thông tin nhận được từ lớp phía

trên được đóng gói có chiều dài hợp lý (frame). Các khung dữ liệu này chứa các

thông tin bổ sung phục vụ mục đích kiểm lỗi, kiểm soát lưu thông và đồng bộ hóa.

Lớp liên kết dữ liệu bên phía nhận thông tin sẽ dựa vào các thông tin này để xác

định tính chính xác của dữ liệu, sắp xếp các khung lại theo đúng trình tự và khôi

phục lại thông tin để chuyển tiếp lên lớp trên nó.

+ Lớp mạng (Network layer):

- Lớp này có trách nhiệm truyền dữ liệu giữa hai thiết bị đầu cuối dữ liệu

(Data Terminal). Các data terminal là các máy gởi (phát) và máy nhận (thu) dữ

liệu mà có thể đi qua nhiều hệ thống chuyển tiếp.

- Một hệ thống truyền thông diện rộng như mạng Internet hay mạng viễn

thông, là sự liên kết giữa các mạng hoàn toàn độc lập, mỗi mạng đều có một

không gian địa lý riêng và cách xác lập địa chỉ khác nhau, sử dụng công nghệ

truyền thông khác nhau. Vậy một gói dữ liệu đi từ đối tác này đến đối tác khác của

hai mạng khác nhau có thể qua nhiều đường khác nhau, thời gian khác nhau,

quãng đường vận chuyển và chất lượng đường truyền cũng khác nhau thì lớp

mạng này có trách nhiệm tìm đường đi tối ưu nhất, giải phóng sự phụ thuộc của

các lớp bên trên vào phương thức chuyển giao dữ liệu và công nghệ chuyển mạch

dùng để kết nối các hệ thống khác nhau.

www.4tec

h.com

.vn

Page 22: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:22

- Có thể nhận thấy đối với lớp này không có ý nghĩa trong một hệ thống

mạng trong công nghiệp sản xuất, bởi ở đây không có nhu cầu trao đổi dữ liệu

giữa hai mạng khác nhau.

- Lớp vận chuyển (Transport Layer):

- Lớp này có trách nhiệm cung cấp cho người sử dụng một liên kết tin cậy

từ đầu này đến đầu kia. Khi một gói dữ liệu được chuyển đi thành từng gói thì cần

đảm bảo các gói đến đích và đúng thứ tự ban đầu. Vậy chức năng của lớp vận

chuyển là cung cấp dịch vụ cho việc vận chuyển một cách tin cậy bao gồm cả khắc

phuc lỗi và điều khiển lưu thông trên mạng. Nhờ vậy mà các lớp trên chỉ thực thi

chức năng riêng của nó mà không cần quan tâm đến cơ chế vận chuyển dữ liệu.

- Để thực hiện việc vận chuyển một cách hiệu quả tin cậy, một gói dữ liệu

vận chuyển được chia thành những phần nhỏ trước khi vận chuyển và được đánh

dấu thứ tự kiểm soát trước khi bổ sung các thông tin kiểm soát lưu thông.

- Do đặc tính riêng của mạng trong lĩnh vực công nghiệp nên một số nhiệm

vụ cụ thể của lớp vận chuyển trở nên không cần thiết, ví dụ như việc dồn kênh

hay kiểm soát lưu thông. Một số các ứng dụng còn lại của lớp này kết hợp với lớp

ứng dụng để tiện việc thực hiện cho người sử dụng chọn phương pháp tối ưu nâng

cao hiệu suất truyền thông.

-Lớp kiểm soát nối (Session layer):

Một quá trình truyền thông giữa hai nút mạng, chẳng hạn như việc trao đổi chương

trình thì được tiến hành qua nhiều giai đoạn. Cũng giống như sự giao tiếp giữa hai

người thì cũng có sự xếp đặt trước. Vậy giữa hai đối tác truyền thông cũng cần có

sự hỗ trợ tổ chức liên kết. Lớp này có chức năng kiểm soát mối liên kết truyền

thông giữa các chương trình ứng dụng, bao gồm các việc tạo lập, quản lý và kết

thúc các đường nối giữa các ứng dụng đối tác. Và mối liên kết giữa các chương

trình ứng dụng mang tính chất logic, thông qua một mối liên kết vật lý giữa hai

www.4tec

h.com

.vn

Page 23: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:23

trạm, giữa hai nút mạng có thể tồn tại song song nhiều mối liên kết logic. Thông

thường kiểm soát nối thuộc chức năng hệ điều hành. Để thực hiện các đường nối

giữa hai ứng dụng đối tác, hệ điều hành có thể tạo các quá trình tính toán song

song. Như vậy, nhiệm vụ đồng bộ hóa các quá trình tính toán này đối với việc sử

dụng chung một giao diện mạng cũng thuộc chức năng của lớp kiểm soát nối.

- Lớp giới thiệu (Presentation layer):

Trong các hệ thống mạng có kiểu khác nhau, thường sử dụng các ngôn ngữ khác

nhau, như sử dụng hệ điều hành khác nhau do đó cách biểu diễn dữ liệu của chúng

cũng rất khác nhau, hoặc cách sắp xếp các baye khác nhau trong một kiểu baye,

hoặc sử dụng bản mã khác nhau. Lớp giới thiệu sẽ đảm nhiệm chức năng này dịch

những ngôn ngữ khác nhau này sang một ngôn ngữ chung có cú pháp trừu tượng.

Vậy chức năng chính của lớp giới thiệu là chuyển đổi các dạng dữ liệu khác nhau

về cú pháp thành một dạng chuẩn, nhằm tạo điều kiện cho các đối tác tham gia

truyền thông có thể hiểu được nhau mặc dù chúng có thể sử dụng ngôn ngữ hoàn

toàn khác nhau. Nói một cách khác lớp giới thiệu giải phóng sự phụ thuộc của lớp

ứng dụng vào các phương pháp biểu diễn dữ liệu khác nhau.

- Lớp ứng dụng (Application layer):

Lớp ứng dụng là lớp trên cùng của mô hình OSI, có chức năng cung cấp dịch vụ

cấp cao trên cơ sở của giao thức cấp cao cho người sử dụng và các chương trình

ứng dụng. Chuẩn quan trọng nhất trong tự động hóa là MMS (Manufacturing

Message Specification) hay gọi là đặc tả thông điệp sản xuất.

Các dịch vụ của lớp ứng dụng được thực hiện hầu hết bằng phần mềm. Thành

phần phần mềm này có thể được tích hợp sẵn trong các linh kiên giao diện mạng,

hoặc dưới dạng phần mềm điều khiển có thể nạp lên khi cần thiết, hoặc một thư

viện cho ngôn ngữ lập trình chuyên dụng hay ngôn ngữ lập trình phổ thông. Để có

khả năng sử dụng cho một chương trình ứng dụng, chẳng hạn như điều khiển cơ sở

www.4tec

h.com

.vn

Page 24: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:24

hay điều khiển giám sát, nhiều hệ thống cung cấp dịch vụ này thông qua một các

khối hàm đối với các thiết bị trường thông minh , các khối hàm này không đơn

giản thuần mang tính chất dịch vụ truyền thông, mà còn tích hợp cả chức năng xử

lý thông tin thậm chí cả điều khiển tại chỗ. Đây cũng chính là xu hướng mới trong

việc chuẩn hóa lớp ứng dụng cho các hệ thống bus trường, hướng tới kiến trúc

điều khiển phân tán triệt để.

XIII . Phương pháp truy cập bus :

- Trong tất cả các hệ thống mạng như mạng máy tính rộng lớn, hay một

mạng trong phạm vi hẹp như mạng điều khiển trong công nghiệp, thì bất cứ hệ

thống nào cũng có thể sử dụng cấu trúc mạng bus, nhưng đặc biệt hơn là hệ thống

cấu trúc dạng mạng bus và mạng mạch vòng đóng vai trò rất quan trọng và thường

được sử dụng trong hệ thống mạng công nghiệp sản xuất, bởi những ưu điểm của

nó trong tự động hóa công nghiệp ở chỗ là: đơn giản về cấu trúc, thích ứng cho

một mạng nhỏ và vừa chi phí ít cho dây dẫn, dễ lắp đặt và rất linh hoạt trong sản

xuất.

- Đối với cấu trúc bus về mặt kỹ thuật phân chia thời gian cho kênh truyền

là một yêu cầu cao, vì trong một khoảng thời gian nào đó nhất định chỉ có một

trạm duy nhất trên mạng được phép tham gia truy cập bus không thể có hai trạm

cùng tham gia một lúc, đối với tất cả các trạm còn lại phải chờ cho tới khi đến lượt

mình, vì vậy đòi hỏi phải có sự phân chia đường truyền một cách hợp lý để tránh

lãng phí thời gian cũng như khả năng đáp ứng về mặt xử lý điều khiển của cả hệ

thống. Trong một mạng có cấu trúc bus các trạm đòi hỏi phải có sự phân chia nhau

thời gian truy cập bus để tránh hiện tượng xung đột tín hiệu xảy ra trên đường dẫn,

dẫn đến sai lệch thông tin, tại mỗi thời điểm trên bus chỉ được phép duy nhất một

dòng dữ liệu gởi đi tương ứng với điều này cũng có nghĩa là có một trạm được

phép gởi thông tin, còn số lượng các trạm muốn nhận tin thì không hạn chế, đây là

một trong những vấn đề ảnh hưởng đến năng suất của hệ thống.

www.4tec

h.com

.vn

Page 25: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:25

- Đối với những cấu trúc dạng khác như dạng mạch vòng, mạch sao không

phải không có sự xung đột mà vấn đề xung đột này cũng có thể xảy ra tuy không

như ở cấu trúc bus, ví dụ một cấu trúc vòng mỗi trạm không phải bao giờ cũng

khống chế được dòng dữ liệu đi qua nó hoàn toàn, hay ở cấu trúc sao phần tử xử lý

trung tâm không đóng vai trò chủ động mà nó có nhiệm vụ như một bộ chia tín

hiệu thì vấn đề xung đột vẫn có thể xảy ra, do đó những cấu trúc này cũng dùng

phương pháp phân chia quyền truy cập nhưng có phần đơn giản hơn so với một

cấu trúc dạng bus.

Phương pháp truy cập bus là một vấn đề của một hệ thống dạng bus mà đòi hỏi

phải có sự hợp lý ở đây, và mỗi phương pháp kỹ thuật của mỗi cấu trúc hệ thống

khác nhau đều được quan tâm đến, đó là một đặc tính của khả năng hoàn thiện hệ

thống. Vì vậy đối với cấu trúc dạng bus để hệ thống có tính năng hoàn thiện thì

các đặc điểm sau đây cần được đáp ứng khi xử lý phương pháp truy cập. Đó là độ

tin cậy của dữ liệu, tính năng thời gian thực và hiệu suất sử dụng đường truyền.

Tính năng thời gian thực có nghĩa là khả năng đáp ứng và xử lý thông tin một cách

kịp thời không có sự trì hoãn vì một lý do nào khác, ví dụ như sự chậm trễ vì đảm

đương nhiều công việc cùng một lúc thì được xem là thời gian không thực, chẳng

hạn như một máy tính (PC) đang xử lý một lệnh hay đang chạy một chương trình

mà phải dừng lại khi có một tình huống mới phát sinh như sự phát hiện tín hiệu di

chuyển của chuột hay sự tác động của bàn phím dẫn đến thời gian xử lý lệnh hay

chương trình nói trên bị gián đoạn vì lúc này máy tính phải đảm đương công việc

bởi những sự tác động này dẫn đến thời gian bị trì hoãn không đáp ứng kịp thời và

được xem là thời gian không thực.

- Hiệu xuất của đường truyền là một yếu tố có khả năng làm tăng hoặc giảm

tốc độ đáp ứng của mạng. Nó là một đại lượng phụ thuộc vào sự lưu thông và

phương pháp truy cập. Nếu mật độ lưu thông thấp dẫn đến hiệu xuất thấp, ngược

lại mật độ lưu thông cao không có sự kiểm soát cũng dẫn đến ùn tắt gây ra sự gián

www.4tec

h.com

.vn

Page 26: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:26

đoạn làm giảm hiệu suất đường truyền, để khai thác hiệu suất tối đa ta phải có

những phương pháp thích hợp để tìm ra những giải pháp nâng cao hiệu xuất đường

truyền trên cơ sở phương pháp truy cập bus. Ta có thể đưa ra hai phương pháp

truy cập đó là phương pháp tiền định và ngẫu nhiên như sau:

+ Phương pháp tiền định: trình tự truy cập bus được qui định trước một

cách chặt chẽ theo một trình tự được giám xác như phương pháp truy cập

Master/Slave, hay theo sự qui định trước về thời gian TDMA hoặc phương pháp

phân tán bởi các thành viên Token passing.

+ Phương pháp ngẫu nhiên: trong phương pháp này trình tự truy cập bus

không có sự qui định trước mà hoàn toàn xảy ra một cách tự phát theo tính chất

nhu cầu riêng. Khi xảy ra tình huống yêu cầu của từng trạm, mỗi thành viên tự

giám sát đường truyền nếu thấy đường truyền rảnh lập tức chiếm lấy để truy cập.

Trong phương pháp này có khả năng xảy ra xung đột, vì vậy để loại trừ tác hại

xung đột có thể sử dụng những phương pháp nhận biết xung đột như CSMA/CD

hoặc CSMA/CA. Nguyên tắt hoạt động của các phương pháp này là khi nhận biết

có xung đột xảy ra thì ít nhất có một trạm ngưng gởi tín hiệu. Ta đi vào tìm hiểu

các phương pháp cụ thể như sau.

XIV. Phương pháp truy cập Master/Slave:

- Phương pháp truy cập Master/Slave hay còn gọi là phương pháp Chủ/ Tớ,

ở đây trạm chủ có vai trò chủ động tích cực còn các trạm tớ là các phần tử tiêu cực

bị động, tất cả các trạm tớ này đều chịu sự chi phối bởi trạm chủ. Trạm chủ được

xem như trái tim mạch máu của hệ thống trạm chủ (Master) có trách nhiệm chủ

động phân chia quyền truy cập bus cho các trạm tớ (Slave), các trạm tớ thụ động

chỉ có quyền truy cập bus để nhận hay gởi dữ liệu đi khi nhận được sự yêu cầu từ

phía trạm chủ, ngược lại chúng phải đợi sự yêu cầu từ trạm chủ hay thực hiện một

công việc nào đó của riêng chúng. Vậy đối với trạm chủ có thể dùng phương pháp

để kiểm soát toàn bộ hoạt động mạng của mình như phương pháp hỏi tuần tự

www.4tec

h.com

.vn

Page 27: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:27

(polling) theo chu kỳ, nhờ vậy mà dữ liệu từ trạm chủ có thể gởi đến tất cả các

trạm tớ theo một thủ tục tuần tự một vòng luân phiên trên mạng, để yêu cầu trả lời

các thông tin kỹ thuật từ phía trạm tớ hay nhận những thông tin điều khiển từ phía

trạm chủ gởi đến trạm tớ.

- Để đảm bảo cho một hệ thống hoạt động tốt. Trong một số hệ thống các

trạm tớ hoàn toàn chịu sự giám sát chặt chẽ từ phía trạm chủ, tất cả mọi hoạt động

nảy sinh từ phía các trạm tớ với nhau đều phải thông qua trạm chủ, chẳng hạn sự

trao đổi dữ liệu cần thiết của hai trạm tớ không được thực hiện bởi chúng mà nhất

thiết phải có sự phân bổ của trạm chủ. Do đó nếu hoạt động giao tiếp theo phương

pháp hỏi tuần tự chu kỳ, thì nếu một yêu cầu được gởi dữ liệu của một trạm tớ

đến cho trạm tớ khác thì trạm chủ yêu cầu dữ liệu từ phía trạm tớ gởi sau đó trạm

chủ gởi cho trạm tớ nhận, như vậy trạm chủ đóng vai trò trung gian trong việc giao

tiếp giữa hai trạm tớ với nhau. Do đó khi có yêu cầu trao đổi dữ liệu bất thường

của trạm tớ này với trạm tớ khác thì trước hết trạm tớ muốn gởi phải thông báo

yêu cầu của mình khi trạm chủ hỏi đến và sau đó chờ cho đến khi được phục vụ.

- Trình tự thủ tục truy cập bus của hệ thống mạng nào đó với mô hình chủ

tớ. Phương pháp truy cập cũng như cách thức truyền dữ liệu giữa các trạm đều

được xây dựng một cách có qui định được gọi là tiền định hay định trước do người

tạo lập mạng tạo ra bằng các công cụ để tạo lập một cấu hình của một mạng có mô

hình một trạm chủ duy nhất và nhiều trạm tớ. Thời gian cần thiết để trạm chủ hoàn

thành công việc hỏi tuần tự một vòng cũng chính là thời gian tối thiểu của một chu

kỳ bus. Như vậy ta cũng có thể tính toán trước được một cách tương đối chắc chắn

của một chu kỳ bus, vì tất cả những thành viên tham gia về mặt số lượng ta có thể

biết trước cũng như chiều dài tối đa của một khung dữ liệu tốc độ đường truyền

(Boud), do đó ta có thể xác định được chu kỳ bus. Tốc độ đáp ứng của chu kỳ bus

chính là một tính năng thời gian thực của hệ thống, mà tính năng này đóng một vai

www.4tec

h.com

.vn

Page 28: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:28

trò quan trọng trong hệ thống điều khiển công nghiệp. Ta có thể mô tả một mô

hình chủ tớ (Master/Slave) qua hình vẽ dưới đây:

Master

Slave Slave Slave

Hình 8 : Mô hình chủ tớ (Master/Slave).

- Phương pháp chủ tớ thích hợp cho một hệ thông điều khiển. Bởi lẽ tính

đơn giản kết nối, khả năng thêm bớt số lượng thành viên và lắp đặt. Toàn bộ kỹ

thuật của mạng hầu như tập trung vào trạm chủ, các trạm tớ chỉ đóng một vai trò

như một thiết bị có thể dễ dàng thêm vào hay bớt đi.

- Một nhược điểm của phương pháp chủ tớ là phương pháp kiểm soát tập

trung bởi trạm chủ, điều này là một nhược điểm làm giảm hiệu suất thông tin, khi

một yêu cầu trao đổi dữ liệu giữa hai tớ phát sinh sẽ không được thực hiện nếu

không qua trung gian trạm chủ. Chính vì lý do này khi xuất hiện một nhu cầu trao

đổi dữ liệu giữa hai phần tử tớ với nhau như các vi xử lý hay PLC nhất định phải

được thực hiện với thời gian tối thiểu dài hơn một chu kỳ bus.

- Để khắc phục tình trạng này có thể sử dụng một hệ thống cho phép các

phần tử tớ có thể thông tin trực tiếp cho nhau nhưng trong một chừng mực nào đó

được kiểm soát nhất định có thể minh họa ở đây qua hình vẽ (hình 9 ).

www.4tec

h.com

.vn

Page 29: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:29

Slave(A) Slave(B) Master

Hình 9 : Mô tả sự trao đổi dữ liệu giữa hai trạm tớ.

- Vậy khi có một yêu cầu trao đổi dữ liệu giữa trạm tớ B cho trạm tớ A,

trong khi đó một yêu cầu từ phía trạm chủ yêu cầu tạm tớ A nhận dữ liệu

(Receive-Request) và trạm B gởi dữ liệu (Send-Request) thì trạm B gởi trực tiếp

cho trạm A (Send-Data), sau khi nhận được sự kết thúc (Send -Completed) từ

phía trạm B thì trạm A có trách nhiệm thông báo lại (Receive -Completed) cho

trạm chủ như được minh họa ở hình vẽ. Như vậy việc truy cập đường truyền cũng

không chồng chéo nhau mà hai trạm tớ vẫn thực hiện trao đổi dữ liệu được với

nhau trong một chu kỳ bus.

- Một nhược điểm thứ hai là: đối với phương pháp này độ tin cậy của hệ

thống hoàn toàn phụ thuộc vào trạm chủ, nếu trong một trường hợp nào đó gây sự

cố ở trạm chủ thì toàn bộ hệ thống mạng ngưng hoạt động dẫn đến ảnh hưởng tiến

độ sản xuất trong phạm vi tự động hóa công nghiệp. Vậy ta cần có biện pháp khắc

phục trong trường hợp này đó là phương pháp sử dụng một trạm tớ có vai trò đóng

Send-Request

Send-Data

Send –Completed Receive – Completed

Receive -Request

www.4tec

h.com

.vn

Page 30: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:30

một trạm chủ khi cần thiết, ví dụ như nếu có sự cố xảy ra thì trạm tớ này có khả

năng thay thế trạm chủ tạm thời.

XV. Phương pháp TDMA:

- Phương pháp TDMA hay còn gọi là phương pháp đa truy cập phân chia

theo thời gian (Time Division Multiple Access), mỗi một trạm được phân chia một

khoảng thời gian truy cập bus nhất định. Tất cả các trạm trao đổi thông tin cho

nhau trong một khoảng thời gian luân phiên được cho phép của mình, theo một qui

ước đã phân chia trước, việc phân chia này được xây dựng trên một hệ thống mạng

mà người xây dựng mạng tạo lập ra nó gọi là cơ chế tiền định, nghĩa là có sự sắp

xếp qui định trước. Ở đây nó có đặc điểm khác với mô hình chủ tớ ở chỗ là có thể

có trạm chủ hoặc không có trạm chủ nào, nếu có trạm chủ thì trạm chủ này chỉ có

một vai trò hạn chế đó là mức độ kiểm soát các trạm tuân thủ đúng vai trò phân

chia thời gian của mình không làm ảnh hưởng khoảng thời gian của các thành viên

khác trên mạng, và mỗi trạm chủ động trong vai trò giao tiếp với các trạm khác.

- Dưới đây để minh họa cho phương pháp phân chia theo thời gian TDMA

cho một chu kỳ bus được vẽ ở hình 10 :

1 2 ··· N Yeâu caàu rieâng

Hình 10 : Chu kỳ bus TDMA

Moät chu kyø bus

- Như hình vẽ mỗi khoảng thời gian này tương ứng dành riêng cho một

trạmvà mỗi trạm chỉ có quyền trao đổi thông tin cho nhau trong khoảng thời gian

tương ứng của mình được đánh dấu từ 1 đến N, các trạm sẽ trao đổi thông tin luân

phiên sau mỗi thời gian N lần, không có sự ưu tiên dành riêng cho trạm nào. Ngoài

những khoảng thời gian phân chia từ 1 đến N còn có một khoảng thời gian dành

www.4tec

h.com

.vn

Page 31: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:31

cho các thông tin riêng vì một lý do nào đó xảy ra. Ví dụ như thông tin cảnh báo,

yêu cầu thay đổi cấu hình.

- Đối với nguyên tắc chung phân chia thời gian từng khoảng từ 1 đến N của

TDMA thì có những cách truy cập khác nhau như sau: chẳng hạn có thể phân chia

theo thứ tự truy cập bus hay phân chia theo địa chỉ hay theo chức năng của từng

trạm, và cũng có thể dùng phương pháp kết hợp giữa TDMA và phương pháp chủ

tớ (Master/slave) nhưng ở đây có sự cho phép các trạm tớ liên lạc với nhau, trạm

chủ chỉ có vai trò giám sát khoảng thời gian cho từng trạm thích hợp.

XIV. Phương pháp Token Passing:

- Token (thẻ bài) là một thông điệp không chứa dữ liệu có cấu trúc đặc biệt

khác với một khung dữ liệu thông thường, nó được xem như một chìa khóa luân

chuyển từ trạm này đến tạm khác trên mạng, Token cho phép một trạm có quyền

truy cập bus trao đổi thông tin giữ liệu trong thời gian trạm đó nhận Token, vậy

Token là một bức thông điệp đóng vai trò phân chia quyền truy cập bus cho các

trạm. Nếu một trạm nào đó nhận được Token nhung không có nhu cầu truy cập

bus thi trạm đó nhường Token lại cho trạm khác theo một trình tự nhất định. Nếu

trình tự này đúng với trình tự sắp xếp vật lý trong một mạch vòng (tích cực hoặc

không tích cực) ta dùng khái niệm Token Ring. Còn nếu trình tự được qui định chỉ

có tính chất logic như ở cấu trúc bus, ví dụ như theo thứ tự địa chỉ, ta dùng khái

niệm Token Bus. Trong mỗi trường hợp đều hình thành một mạch vòng logic.

- Một trạm đang dữ Token chẳn những có quyền truy cập bus và gởi thông

tin dữ liệu mà còn đóng vai trò đặc biệt đó là kiểm soát các trạm khác, chẳng hạn

như nếu một trạm nào đó có sự cố, đối với các trạm còn lại không giữ Token cũng

có khả năng tham gia kiểm soát, chẳng hạn sau một thời gian nhất định không

nhận được Token có thể là mất hay một sự cố bởi trạm nào đó đang giữ Token, thì

lúc này một trạm đảm nhiệm chức năng tạo ra Token mới và tiếp tục luân chuyển

trên mạng thay thế Token cũ. Chính vì vậy Token Passing được xếp vào phương

www.4tec

h.com

.vn

Page 32: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:32

pháp kiểm soát phân tán. Do thời gian được quyền giữ Token hạn chế dẫn đến việc

tính toán được thời gian phản ứng cũng như chu kỳ bus tối đa. Các hệ thống sử

dụng phương pháp truy nhập này cũng có khả năng thời gian thực.

Token Traïm4Traïm2

Traïm 1

Traïm 1 Traïm 2 Traïm 3

Traïm 3 Traïm 4 Traïm 5 Traïm 6

ring Bus Token Token

Hình 11 : Hai dạng của phương pháp Token Passing

- Trong thời gian xác lập cấu hình, các trạm có thể dự tính về thời gian

dùng Token của mình, từ đó đi tới thỏa thuận một chu kỳ bus thích hợp để tất cả

các trạm đều có quyền tham gia gởi thông tin và kiểm soát hoạt động truyền thông

của mạng. Việc kiểm soát bao gồm các việc sau:

+ Giám sát Token: nếu do một lỗi nào đó mà Token bị mất hoặc gia

bội, cần phải thông báo xóa các Token cũ và tạo một Token mới.

+ Khởi tạo Token: sau khi khởi động một trạm có trách nhiệm tạo

một Token mới.

+ Tách trạm ra khỏi mạch vòng logic: một trạm có sự cố phải được

phát hiện và tách ra khỏi trình tự nhận Token.

+ Bổ sung trạm mới: một trạm mới được kết nối mạng, một trạm cũ

được thay thế hoặc đưa trở lại sử dụng phải được bổ sung vào mạch vòng logic để

có quyền nhận Token.

www.4tec

h.com

.vn

Page 33: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:33

- Token Passing cũng có thể sử dụng kết hợp với phương pháp chủ/tớ, trong

đó mỗi trạm có quyền giữ Token là một trạm chủ, hay còn gọi là trạm tích cực.

Phương pháp kết hợp này còn được gọi là Multi - Master. Các trạm chủ này có thể

là các bộ điều khiển (PLC, PC), còn các trạm tớ (trạm không tích cực) là các bộ

vào/ra phân tán, các thiết bị trường thông minh.

www.4tec

h.com

.vn

Page 34: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:34

Chương II : CHUẨN TRUYỀN DẪN

- Truyền dữ liệu nối tiếp, không đồng bộ là phương pháp dùng 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 từ bên

gửi đến bên nhận một cách tuần tự trên cùng một đường truyền, cũng chính vì

không có một đường dây riêng biệt mang tín hiệu nhịp nên việc đồng bộ hoá thuộc

trách nhiệm bên gửi và bên nhận thỏa thuận trên cơ sở giao thức truyền thông .

- Các chuẩn truyền dẩn TIA/EIA là hiệp hội đã xây dựng và phát triển một

số giao diện cho truyền thông công nghiệp, trong đó có có các truyền dẩn nối tiếp

theo nghĩa 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

qui định được thống nhất về giao diện vật lý giữa các thiết bị cuối xử lý dữ liệu và

các thiết bị truyền dữ liệu.

I: Phương thức truyền dẫn tín hiệu:

- Tín hiệu được dùng để truyền tải thông tin không kể tới môi trường truyền

dẫn thì thành phần cơ bản trong hệ thống gồm có bộ phát và bộ thu, một thiết bị

vừa có khả năng thu và phát được gọi vơi cái tên là (Transceiver).

- Có hai phương thức truyền dẫn tín hiệu trong hệ thống truyền thông công

nghiệp đó là chênh lệch đối xứng và phương thức không đối xứng.

+ Truyền dẫn không đối xứng

Truyền dẫn không đối xứng tín hiệu số, sự liên quan giữa trạng thái logic

của một tín hiệu với trạng thái logic của dãy bit mang thông tin được truyền phụ

thuộc vào phương pháp mã hoá bit, tức là giá trị logic của tín hiệu tại một thời

điểm không nhất thiết phải đồng nhất với giá trị logic của bit tương ứng mang

thông tin.

+Truyền dẫn chênh lệch đối xứng.

Truyền dẫn chênh lệch đối xứng sử dụng điện áp giữa hai dây dẩn biểu diễn

trạng thái logic 1 và logic 0 của tín hiệu không phụ thuộc vào đất. Khái niệm

www.4tec

h.com

.vn

Page 35: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:35

chênh lệch đối xứng được thể hiện qua cân xứng về điện áp của hai dây đối với đất

trong điều kiện bình thường. Một tác động nhiễu ở bên ngoài sẽ làm tăng hay giảm

tức thời điện áp ở cả hai dây một giá trị gần tương đương, vì thế tín hiệu ít bị sai

lệch. Sự khác nhau về điện áp đất giữa các thiết bị tham gia truyền thông cũng hầu

như không bị ảnh hưởng trực tiếp tới việc đánh giá giá trị logic của tín hiệu. Một

nguyên nhân gây nhiểu khác là xuyên âm cũng được loại trừ đáng kể .

- Thông thường một tín hiệu được phát đi khi tới một đầu dây sẽ phản xạ

ngược trở lại giống như hiện tượng phản xạ ánh sáng khi tốc độ truyền tương đối

thấp hoặc dây dẩn tương đối ngắn, sao cho thời gian Tb lớn hơn gấp nhiều lần so

với thới gian lan truyền tín hiệu Ts, tín hiệu phản xạ sẽ bị suy giảm và bị triệt tiêu

sau một vài lần qua lại không gây ảnh hưởng tới chất lượng của tín hiệu mang bit

dữ liệu vì vậy ngươì ta dùng trở đầu cuối để hấp thụ tín hiệu ban đầu .

II: Đặc điểm của các công nghệ truyền dẩn RS-232, RS-422,

RS485:

Thoâng soá RS-232 RS-422 RS-423 RS-485

Chieàu daøi

caùp

Length (max)

15m

(50 ft)

1.2km

(4000ft )

1.2km

(4000ft)

1.2km

(4000ft)

Baud rate

(Toác ñoä

Baud)

20Kbs/15m 10M bs/12m

1Mbs/120m

100Kbs/1.2km

100Kbs/9m

10Kbs/90m

1Kbs/1.2km

10Mbs/12m

1Mbs/120m

100Kbs/1.2km

Mode Unbalanced Balanced

Differential

Balanced

Differential

Balanced

Differential

Driver No. 1 1 1 32

Receiver 1 10 10 32

www.4tec

h.com

.vn

Page 36: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:36

Logic 0 +3V -

>+25V

+2V->+5V +3.6V->+6V +1.5V->+5V

Logic 1 -3V ->-25V -2V-> -5V -3.6V ->-6V -1.5V ->-5V

Community 2V 1.8V 3.4V 1.3V

Cable/signal 1 2 2 2

Methode Simplex Simplex Simplex Simplex

Phöông thöùc Half-

duplex

Full-duplex

Half-duplex

Full-duplex

Half-duplex

Full-duplex

Half-duplex

Full-duplex

Short circuit

current

500mA 150 mA 150mA 150 mA

Baûng 1: Thoâng soá cho 232, 422, 423, 485

III: Chuẩn RS-232 :

- Là chuẩn của EIA nhằm định nghĩa giao diện vật lý giữa DTE và DCE (ví

dụ như giữa một máy tính và một modem). Chuẩn này sử dụng đầu nối 25 chân,

tuy nhiên chỉ có một số ít chân là thực sự cần thiết cho việc liên kết. Về phương

diện điện, chuẩn này quy định các mức logic 0 và 1 tương ứng với các điện thế

nhỏ hơn -3V và lớn hơn +3V. Tốc độ đường truyền không được vượt quá 20Kbs

và khoảng cách nhỏ hơn 15m.

- Chuẩn RS-232C có thể chấp nhận phương thức truyền song công (Full-

Duplex).

- Một trong những yêu cầu quan trọng của RS-232C là thời gian chuyển từ

mức logic này sang mức logic khác không vượt quá 4% thời gian tồn tại của một

www.4tec

h.com

.vn

Page 37: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:37

bit. Giả sử với tốc độ truyền 19200 baud thì thời gian chuyển mức logic phải nhỏ

hơn 0.04/19200 = 2.1 s. Điều này làm giới hạn chiều dài đường truyền. Với tốc độ

19200 baud ta có thể truyền xa nhất là 50ft (15.24m ).

- Một trong những vấn đề quan trọng cần chú ý là khi sử dụng RS-232C là

mạch thu phát không cân bằng (đơn cực), tức là tín hiệu vào và ra được so với đất.

IV: RS-422A:

- Một cải tiến quan trọng của chuẩn RS-232C là chuẩn RS-422A. Chuẩn

này sử dụng việc truyền dữ liệu sai lệch Differential Data trên những đường truyền

cân bằng. Một dữ liệu sai lệch cần hai dây, một cho dữ liệu không đảo (Non-

Inverted) và một đường cho dữ liệu đảo (Inverted). Dữ liệu được truyền trên

đường dây cân bằng, thường là cặp dây xoắn với một trở ở đầu cuối. Một IC lái

(Driver) sẽ biến đổi các mức logic thông thường thành một cặp tín hiệu sai lệch để

truyền. Bên nhận sẽ có một mạch chuyển đổi tín hiệu sai lệch thành các mức logic

tương ứng. Các IC lái RS-422A hầu hết hoạt động với nguồn +5V như các chíp

logic khác. Với chuẩn mới này, tốc độ cũng như khoảng cách truyền được cải

thiện rất nhiều.

V: RS 485 :

- Chuẩn RS-232 dùng đường truyền không cân bằng vì các tín hiệu đều lấy

điểm chuẩn là đường mass chung, do đó 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 phương pháp dùng hai dây trở

nên hửu hiệu hơn vì hai dây có đặt tính giống nhau, tín hiệu truyền đi là hiệu số

điện áp giữa hai dây. Do đó, loại trừ được nhiễu chung.

- Tín hiệu từ máy tính theo chuẩn RS-232 có mức điện áp là ±12V phải đổi

sang mức TTL 0 -> 5V dùng vi mạch MAX 232, sau đó tín hiệu đơn được đổi

sang tín hiệu vi sai dùng vi mạch MAX 485. Điện áp vi sai phải lớn hơn 200mV.

Nếu Vab > 200mV ta coi như logic 1 được truyền còn nếu Vab < -200mV thì logic

0 đươc truyền.

www.4tec

h.com

.vn

Page 38: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:38

- Truyền RS-485 là công nghệ truyền được sử dụng thường xuyên bởi

PROFIBUS. Các lĩnh vực ứng dụng bao gồm tất cả các lĩnh vực mà trong đó cần

lắp đặt không đắt tiền, đơn giản và truyền tốc độ cao. Người ta dùng cáp đồng

xoắn kép có bọc (STP).

- Công nghệ truyền RS-485 thì dể xử lý. Lắp đặt cáp xoắn kép (TP) không

cần kiến thức chuyên gia. Kiến trúc Bus cho phép thêm và lấy đi các trạm mà

không làm ảnh hưởng đến các trạm khác. Những mở rộng sau này không làm ảnh

hưởng đến các trạm đang hoạt động.

- Giao tiếp EIA RS-485 là một cải tiến của chuẩn RS-422A. Đặc tính điện

của nó giống như chuẩn RS-422A. RS-485 là chuẩn truyền vi sai, sử dụng hai dây

cân bằng. Với RS-485 tốc độ truyền có thể đạt đến 10Mbs và chiều dài cáp có thể

lên đến 1.2km. Điện áp vi sai ngõ ra từ +1.5V -> +5V nếu là logic mức 0 và mức

logic 1 sẽ là từ -1.5V -> -5V. Một đặc điểm quan trọng của RS-485 là có thể cung

cấp đến 32 Drivers và Receivers trên cùng một đường truyền. Điều này cho phép

tạo thành một mạng cục bộ. Để có khả năng như vậy, ngõ ra Driver RS-485 phải là

ngõ ra 3 trạng thái. Và do đó một Slave sẽ ở trạng thái tổng trở cao khi nó không

được chọn để giao tiếp cùng với Master.

- Chỉ có một trạm được chọn làm Master, các trạm còn lại đều là Slave.

Master được quyền truyền bất cứ lúc nào, nó sẽ chỉ định một Slave bất kì giao

tiếp với nó. Slave chỉ có thể truyền sau khi nhận được lệnh của Master. Mọi Slave

có một địa chỉ riêng trên đường truyền và sẽ không được phép truyền nếu không

có yêu cầu từ Master..

+ Đặc điểm :

- P RS _485 là chuẩn giao tiếp nối tiếp bất đồng bộ cân bằng, sự truyền

thông tin trên.

- P dây xoắn đôi bán song công (Half _ Duplex), nghĩa là tại một thời điểm

bất kì trên dây truyền chỉ có thể là một thiết bị hoặc là truyền hoặc là nhận.

- RS_485 cho phép 32 bộ truyền trên bus.

www.4tec

h.com

.vn

Page 39: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:39

- RS_485 có ngõ ra 3 trạng thái.

- RS_485 cho phép tốc độ truyền tối đa là 10Mbps.

VI: Cách lắp đặt RS-485:

Tất cả các thiết bị được nối vào cấu trúc Bus tối đa 32 trạm (Master hay

Slave) có thể được nối vào một Sement (đoạn). Bus được kết thúc bằng Bus tích

cực (Active Bus Terminator) ở đầu và cuối mỗi Segment. Để đảm bảo hoạt động

không có lỗi thì cả đầu kết thúc Bus luôn luôn được có điện.

MAX485

12

34

6

7RORE

DEDI

A

B

MAX485

12

34

6

7RORE

DEDI

A

B

MAX485

1 2346 7

RO

RE

DE

DI

A B MAX485

1 2346 7

RO

RE

DE

DI

A B

R1

120

R2

120

Hình 1 : Sô ñoà maïng Half_ Duplex RS485:

U4

MAX489

2

3

4

5

11

12

9

10

RO

RE

DE

DI

B

A

Y

Z

U4

MAX489

2 34 5

11129 10

RO

RE

DE

DI

BAY Z U4MAX489

2 34 5

11129 10

RO

RE

DE

DI

BAY Z

R1

120

R2

120R3

120

R4

120

U4

MAX489

2

3

4

5

11

12

9

10RO

RE

DE

DI

B

A

Y

Z

Hình 2 : Sô ñoà maïng RS485 Full_Duplex:

www.4tec

h.com

.vn

Page 40: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:40

Trong tröôøng hôp treân 32 traïm hoaëc ñeå môû roäng maïng, ngöôøi ta söû duïng

caùc Repeatrer ñeå lieân keát caùc ñoaïn Bus rieâng laïi. Chieàu daøi toái ña cuûa caùp phuï

thuoäc vaøo toác ñoä truyeàn: toác ñoä truyeàn caøng cao thì chieàu daøi caùp caøng giaûm.

BAUDRATE MAX. SEGMENT

LENGTH

MAX. EXPANSION

9,6 1000 m 10000 m

19.2 1000 m 10000 m

93.75 1000 m 10000 m

187.5 1000 m 10000 m

500 400 m 4000 m

1500 200 m 2000 m

3000 100 m 1000 m

6000 100 m 1000 m

12000 100 m 1000 m

Toác ñoä truyeàn vaø chieàu daøi caùp truyeàn RS-485

Ñeå taêng chieàu daøi caùp truyeàn , ta coù theå duøng boä Repeater nhö sau:

R2

120

U1

MAX491

2

3

4

5

11

12

9

10

RO

RE

DE

DI

B

A

Y

Z

R1

120DATA IN

DATA OUT

- Bộ Repeater hay gọi là bộ tiếp sức, có chức năng làm khuếch đại tín hiệu

dữ liệu trên cáp LAN, ta cần RS-485 Repeater khi ta muốn gắn hơn 32 nút vào

www.4tec

h.com

.vn

Page 41: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:41

mạng hoặc chiều dài đoạn cho phép được vượt quá. Tối đa 9 Repeater có thể được

sử dụng giữa hai nút bất kỳ.

- Chú ý là việc tăng kích thước mạng bằng Repeater có thể dẩn đến thời

gian truyền dài hơn và có thể kể đến khi cài đặt cấu hình mạng.

VII: Topology của mạng RS-485:

- Tốc độ truyền, ta có thể chọn một trong các tốc độ truyền sau:

9,6 Kbps,19,2 Kbps, 45,45 Kbps, 93,75 Kbps, 187,5 Kbps, 500 Kbps, 1,5 Mbps

Các thành phần gắn vào Bus được chia làm hai nhóm:

+ Các thành phần có tốc độ độ truyền từ 9.6 Kbps đến tối đa 1.5Mbps.

+ Các thành phần có tốc độ độ truyền từ 9.6 Kbps đến tối đa 12Mbps.

- Gắn nút: Các nút được gắn vào Bus qua các bộ kết nối Bus (Bus

Connector) Bus Rerminnal hay RS485 Repeater.

Kết thúc cáp:

- Mỗi Sub Segment phải được kết thúc ở hai đầu bằng tổng trở đặc tính của

nó. Bộ kết thúc cáp này (Bus Terminator) được tích hợp trong RS485 Repeater,

Bus Terminal, ILM và các Bus Connector và có thể kích hoạt nếu cần.

- Trước khi kích hoạt Bus Terminal này thì phải cung cấp nguồn cho các

thành phần mạng này. Với các bus Terminal và các Bus Connecter thì nguồn điện

này được cung cấp bởi DTE được kết nối, trái lại RS485 Repeater, ILM và

Terminal luôn có nguồn điện riêng cho mình.

- Kỹ thuật truyền RS-485 cho phép gắn tối đa là 32 thiết bị (các DTE và các

Repeater) trên Bus Segment. Chiều dài cáp tối đa được cho phép bởi Segment phụ

thuộc vào tốc độ truyền và cáp LAN được sử dụng.

www.4tec

h.com

.vn

Page 42: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:42

- Mạng RS-485 em thiết kế trong đề tài này là mạng bán song công (Half-

Duplex): Dữ liệu chỉ đi từ Master đến các vi xử lý hay từ các vi xử lý đến Master.

Tại một thời điểm trên mạng chỉ có một phần tử truyền và cho phép các phần tử

khác có thể nhận thông điệp đó. Có điều quan trọng ta nên chú ý là với sơ đồ mạch

RS-485 được thiết kế như trên thì chỉ có thể giao tiếp giữa Master (PC) và các vi

xử lý nhưng giữa các vi xử lý không thể liên lạc trực tiếp với nhau. Chúng giao

tiếp với nhau nếu có thể đó thuộc một dạng giao tiếp khác.

VIII. Các phương thức truyền thông:

- Có 3 phương pháp truyền được dùng trong mục đích truyền thông tin:

Đơn công, bán song công, và song công. Ta sẽ lần lượt khảo sát các phương pháp

truyền trên.

+ Đơn công:

Đường truyền đơn công có khả năng truyền dữ liệu chỉ theo một hướng.

Nguyên nhân không phải do tính chất của đường dây đơn giản, chỉ vì một đầu cuối

chỉ có một máy phát và đầu cuối kia cũng chỉ có một máy thu. Cấu hình này ít

được sử dụng trong các máy tính vì không có cách nào để máy thu phát tín hiệu

nhận biết tới máy phát cho biết thông điệp đã nhận đúng. Phát thanh và truyền

hình là một trong những thí dụ về đơn công.

+ Bán song công (Half-duplex Communication).

Đường truyền bán song công có thể phát và nhận dữ liệu theo cả hai hướng

không đồng thời. Trong suốt một cuộc truyền, một modem là máy phát và modem

còn lại sẽ là máy thu. Ví dụ như một thiết bị A là máy phát gởi dữ liệu đến thiết bị

B là máy thu, sau đó A và B đổi vai trò cho nhau, B là máy phát gởi tín hiệu báo

dữ liệu nhận được có lỗi hay không đến máy thu A. Nếu không có lỗi thì A và B

sẽ lại đổi vai trò cho nhau và A tiếp tục gởi dữ liệu đến máy thu B. Nếu máy thu B

www.4tec

h.com

.vn

Page 43: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:43

báo dữ liệu có lỗi thì máy phát A sẽ gởi lại dữ liệu cũ cho đến khi B báo là dữ liệu

không có lỗi.

Nhược điểm của phương pháp này là thời gian cần để chuyển đường truyền

bán song công từ hướng này sang hướng khác có thể dài gấp nhiều lần thời gian

truyền một kí tự. Sự chuyển động của xe trên đường ray là một ví dụ về phương

pháp này.

- Song công ( Full-duplex Communication):

Ngược lại so với truyền bán song công, đường truyền song công có khả

năng phát và nhận dữ liệu đồng thời theo cả hai hướng. Một cách khái quát, đường

truyền song công tương đương với 2 đường truyền đơn công, một đường cho mỗi

hướng.

- Vì hai đường truyền có thể tiến hành song song, một đường cho mỗi

hướng, nên truyền song công có thể phát nhiều thông tin hơn truyền bán song công

với cùng tốc độ truyền dữ liệu. Truyền song công không mất thời gian để thay đổi

hướng truyền.

IX. Truyền thông tuần tự:

- Hầu hết các máy tính lưu trữ dữ liệu và thao tác dữ liệu theo cách song

song. Nghĩa là khi gởi một byte từ bộ nhận này tới bộ nhận khác của máy tính, nó

không truyền từng bit một mà một lúc một byte trên những cáp sợi song song

nhau. Số các bit truyền đi cùng một lúc thay đổi tùy thuộc vào từng máy tính

nhưng thông thường là 8 hoặc bội của 8.

- Tuy nhiên việc truyền dữ liệu từ máy tính này đến máy tính hay một thiết

bị khác thì xảy ra theo kiểu tuần tự, nghĩa là dữ liệu được gởi đi từng bit một. Một

bộ giao tiếp tuần tự sẽ đảm nhận nhiệm vụ chuyển đổi dữ liệu từ song song sang

nối tiếp trước khi chúng gởi đi hoặc đổi từ nối tiếp sang song song khi chúng nhận

về.

www.4tec

h.com

.vn

Page 44: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:44

- Có hai hình thức truyền thông tuần tự: truyền thông đồng bộ và không

đồng bộ.

- Truyền thông bất đồng bộ (Asynchronous Communication): Khoảng thời

gian giữa hai kí tự truyền đi không cố định, mặc dù khoảng thời gian giữa hai bit

liên tiếp trong một kí tự là không thay đổi nhưng khoảng thời gian giữa hai kí tự

liên tiếp không phải là hằng số. Sự biến thiên tốc độ này làm nảy sinh vấn đề là

phải làm sao máy thu phân biệt được giữa bit 0 và không có dữ liệu.

- Để giải quyết vấn đề trên, người ta phát trực tiếp một bit Start ngay trước

một kí tự và một hoặc hai Stop bit ngay sau mỗi kí tự được truyền đi.

- Để kiểm tra lỗi đường truyền, người ta sử dụng bit chẳn lẻ (Parity bit), tức

kiểm tra tổng số bit trong 1 byte dữ liệu được truyền. Phương thức này thường

được sử dụng trong các máy tính PC vì tính đơn giản của nó. Hạn chế của phương

pháp này là tốc độ truyền thấp do phải truyền thêm một số bit Start, bit Stop và bit

Parity.

- Truyền thông đồng bộ ( Synchronous Communications):

- Phương thức truyền này không dùng các bit Start, Stop để đóng khung

mỗi kí tự mà chèn các kí tự đặc biệt như SYN ( Synchronization), EOT (End Of

Transmission) hoặc một cờ giữa các dữ liệu của người sử dụng để báo hiệu cho

bên nhận biết rằng có dữ liệu đang đến hay đã đến.

- Truyền đồng bộ thường được tiến hành ở tốc độ dưới 4800bps, 9600bps

hoặc thậm chí còn cao hơn. Trong phương pháp này, một khi đã đồng bộ, các

modem vẫn tiếp tục gởi các kí tự để duy trì đồng bộ, ngay cả lúc không phát dữ

liệu. Một kí tự "idle" được gởi đi khi không có dữ liệu phát. Trong phương pháp

truyền đồng bộ không giống như phương pháp truyền bất đồng bộ, khoảng thời

gian giữa hai kí tự luôn bằng nhau.

www.4tec

h.com

.vn

Page 45: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:45

Chương III: GIỚI THIỆU AVRATMEGA32

I: Giới thiệu AVRATMEGA32 :

- VARATMega32 là của công ty Hoa Kỳ đây là loại vi điều khiển mới rất

mạnh có rất nhiều ưu điểm so với các vi điều khiển khác như vi điều khiển 89C5x

hay 89C5x vv

- Công ty Atmel là nhà xuất hàng đầu về vi mạch (IC) là một kiến trúc phổ

biến của các bộ vi sữ lý hiện đại .

- Kiến trúc RISC với hầu hết các lệnh có chiều dài cố định, truy nhập bộ

nhớ nạp lưu trữ (Load-Store), và 32 thanh ghi đa năng .

- Kiến trúc đường ống lệnh kiểu hai tầng (Two-Stageinstructionpipeline)

cho phép làm tăng tốc độ thực thi lệnh .

- Có chứa nhiều bộ phận ngoại vi ngay trên chíp bao gồm cổng I/O số, bộ

biến đổi ADC, bộ nhớ EEPROM, bộ định thời, UART, bộ định thời RTC, bộ điều

chế độ rộng xung (PWM) vv đặc điểm này được xem là nổi bật so với vớ nhiều họ

vi điều khiển khác vì trong khi nhiều bộ vi xử lý khác phải tạo bộ truyền nhận

UART hoặc giao diện SPI bằng phần mền hay máy ảo thì trên vi điều khiển

AVRATMega32 lại được thực hiện bằng phần cứng trên các vi điều khiển

AVRATMega32 đã tích hợp sẵn .

II: Đặc điểm chung:

- Là một vi điều khiển 8 bit mạnh, chỉ tiêu chất lượng cao tiêu thụ năng

lượng thấp.

- Kiến trúc RISC (Reduce Instruction Set Computer) cao cấp.

- Với 132 lệnh mạnh hầu hết các lệnh được thực thi trong một chu kỳ máy.

- Có 32 thanh ghi 8bit đa năng.

- Tốc độ xử lý lên đến 16 triệu lệnh trong 1 giây (gấp 16 lần 89 C51x ) .

www.4tec

h.com

.vn

Page 46: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:46

III: Bộ nhớ dữ liệu và bộ nhớ trương trình không tự mất dữ liệu

(Nonvolatile )

- 32 Kb bộ nhớ dành cho việc lập trình chịu được 10 ngàn lập trình/ xoá

- 1024 byte EEPROM, chịu được 10 ngàn lần viết/ xoá.

- 2 Kb SRAM.

- Chế độ bảo mật cho chương trình lập trình được.

- Giao diện JTAG .

IV: Có nhiều thiết bị ngoại vi được tích hợp sẵn.

- Hai Timer trên bộ đếm 8 bit, với chế độ chia tầng riêng biệt và chế độ so

sánh .

- Bộ đếm thời gian thực với chế độ giao động riêng biệt.

- Một Timer trên bộ đếm 16 bit với chế độ chia tầng riêng biệt và chế độ so

sánh.

- Bốn kênh PWM.

- 8 kênh, 10 bit AĐC.

- 8 kênh biến đổi AĐC đơn cực.

- 2 kênh biến đổi vi sai với độ khuyếch đại 1,1 hay 200 lần.

- Giao tiếp 12C.

- Chế độ USART lập trình được.

- Giao diện chủ/tớ SPI.

- Bộ Watchdog Timer lập trình được với dao động riêng lẻ.

- Bộ so sánh Analog trên Chip.

V: Những điểm đặc biệt.

- Tự Reset khi cấp nguồn.

- Có bộ giao động RC bên trong chíp.

www.4tec

h.com

.vn

Page 47: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:47

- Các nguồn ngắt trong và ngắt ngoài.

- Có 6 chế độ nghỉ (Sleep): Dừng (Idle), tiết kiệm năng lượng (Power save),

nguồn giảm (Power Down), giảm nhiều khi biến đổi ADC chế độ chờ (Standby ),

và chế độ chờ mở rộng.

VI: Số lượng I/O và dạng đóng gói:

- Có 32 đường I/O lập trình được với các chức năng khác nhau.

- 40 chân kiểu đóng gói PDIP, 44 chân kiểu TQFP, và 44 chân kiểu MLF

VII: Nguồn cung cấp.

- Từ 2.5 Volt đến 5.5 Volt đối với ATMega 32L

- Từ 4.5 Volt đến 5.5 Volt đối với ATMega 32L

VIII: Thạch anh dao động:

- Từ 0 đến 8MHz cho ATMega 32L

- Từ 0 đến 16MHz cho ATMega 32

IX: Năng lượng tiêu thụ ở chế độ giao động 1MHz, 3 Volt, 25 0C

đối với ATMega 32L

- Chế độ làm việc : 1.1 mA.

- Chế độ dừng (Idle): 0.35mA

- Chế dộ nguồn giảm < 1uA

www.4tec

h.com

.vn

Page 48: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:48

X: Hỗ trợ tốt cho các trình biên dịch bằng C như IamgeCreft C,

Code VisionAVR, IAR ...

Hình�1: Sô ñoà chaân cuûa ATMega32

www.4tec

h.com

.vn

Page 49: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:49

Hình 2: Sơ đồ khối của ATMega32

XI: Mô tả các chân :

- VCC: Chân cấp nguồn V+

- GND: Chân cấp nguồn V-

- PortA (PA0..PA7): PortA có chức năng là các đầu vào của bộ biến đổi

A/D.

- PortA cũng có chức năng như là một cổng xuất nhập 8 bit, hai hướng. Nếu

chức năng biến đổi A/D không được sử dụng thì các chân của PortA có thể có khả

năng cung cấp các điện trở kéo lên bên trong (có khả năng lựa chọn cho từng bit).

www.4tec

h.com

.vn

Page 50: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:50

Khi PortA được sử dụng chức năng là các cổng xuất, các bộ đệm xuất nhập của nó

có một tính năng đối xứng là có khả năng hút hoặc cấp nguồn cao.

- Khi PortA được xử dụng như những chân (Input), chúng sẽ có khả năng

hút dòng rất mạnh nếu những điện trở kéo xuống bên trong được kích hoạt. Các

chân của PortA sẽ ở trạng thái Tri-Stated khi chế độ Reset được kích hoạt, thậm

chí nếu xung đồng hồ bị ngưng.

- PortB (PB0..PB7): PortB có chức năng như là một cổng xuất nhập 8 bit,

hai hướng. PortB có thể có khả năng cung cấp các điện trở kéo lên bên trong ( có

khả năng lựa chọn cho từng bit ). Khi PortB được sử dụng chức năng là các cổng

xuất, các bộ đệm xuất nhập của nó có một tính năng đối xứng là có khả năng hút

hoặc cấp nguồn cao.

Khi PortB được xử dụng như những chân (Input), chúng sẽ có khả năng hút dòng

rất mạnh, nếu những điện trở kéo xuống bên trong được kích hoạt. Các chân của

PortB sẽ ở trạng thái Tri-Stated khi chế độ Reset được kích hoạt, thậm chí nếu

xung đồng hồ bị ngưng. Ngoài ra PortB cũng có chức năng đặc biệt khác.

- PortC (PC0..PC7): PortC có chức năng như là một cổng xuất nhập 8 bit,

hai hướng . PortC có thể có khả năng cung cấp các điện trở kéo lên bên trong ( có

khả năng lựa chọn cho từng bit ). Khi PortC được sử dụng chức năng là các cổng

xuất, các bộ đệm xuất nhập của nó có một tính năng đối xứng là có khả năng hút

hoặc cấp nguồn cao.

Khi PortC được xử dụng như những chân (Input), chúng sẽ có khả năng hút

dòng rất mạnh, nếu những điện trở kéo xuống bên trong được kích hoạt. Các chân

của PortC sẽ ở trạng thái Tri-Stated khi chế độ reset được kích hoạt , thậm chí nếu

xung đồng hồ bị ngưng.

- Nếu giao diện JTAG được cho phép, các điện trở kéo lên trên các chân

PC5(TDI), PC3(TMS), PC2(TCK), sẽ được kích hoạt thập chí nếu có reset xay ra.

Ngoài hai chức năng là xuất nhập và giao diện JTAG thì PortC còn có các chức

năng đặc biệt khác.

www.4tec

h.com

.vn

Page 51: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:51

- PortD (PD7..PD0): Cũng như PortA, PortB, PortC, PortD cũng có chức

năng xuất nhập tương tự như các Port khác, ngoài ra PortD cũng có chức năng là

một giao diện nối tiếp USART, và chân vào của các ngắt ngoài. Về chức năng

USART thì sẽ nói chi tiết ở phần sau.

Reset: Khi một mức điện áp thấp được đặc vào được đặt vào chân này kéo

dài hơn một thời gian tối thiểu thì trái thái Reset sẽ được kích hoạt , thậm ch1 nếu

xung đồng hồ bị ngưng, xung có thời gian ngăn hơn thời gian tối thiểu không được

đảm bảo sẽ phát sinh ra Reset.

XTal1: lối vào của bộ khuyếch đại dao động đảo và là lối vào của xung đồng hồ để

VĐK hoạt động.

Xtal2: lối ra từ bộ khuyếch đại đảo.

AVCC:là nơi cung cấp nguồn cho bộ biến đổi A/D bên trong VĐK, măc dù nếu ta

không sử dụng chế độ biến đổi A/D thì ta cũng nên mắc chân này lên VCC.

AREF: Là chân Vref của bộ biến đổi ADC

XII: Giao diện nối tiếp USART.

- Tổng quang giao diện nối tiếp USART

- Giao diện nối tiếp USART (Universal Synchronous And Asynchonous

Serial Receiver And Transmitter) là một bộ truyền nhận nối tiếp linh động cao

được tích hợp sẵn trong VĐK có các chức năng chính là:

+ Chế độ truyền phát song công hoàn chỉnh (các thanh ghi truyền

nhận là những thanh ghi độc lập với nhau)

+ Chế độ truyền nhận đồng bộ và không đồng bộ

+ Chế độ hoạt động đồng bộ với các thiết bị chủ tớ

- Độ phân giải cao về các tốc độ baud.

- Hổ trợ kích thước các khung truyền là: 5,6,7,8 hoặc 9 bit dữ liệu và một

hay 2 bit Stop.

www.4tec

h.com

.vn

Page 52: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:52

- Tự động phát bit kiểm tra chẳn lẻ và tự kiểm tra chẳn lẻ.

- Tự động dò khi dữ liệu bị tràn.

- Tự động dò lổi khung truyền.

- Chế độ lọc nhiễu gồm lổi bit Start, và bộ lọc thông thấp số.

- Hổ trợ ba ngắt riêng biệt: TX (ngắt khi truyền xong), RX (ngắt khi thu xong),

ngắt khi thanh ghi truyền rỗng.

- Hổ trợ chế độ thông tin đa VĐK .

- Hổ trợ tốc độ truyền gấp đôi ở chế độ truyền bất đồng bộ.

Hình 3 : Sơ đồ khối của bộ USART

XIII: Tốc độ baud:

Tốc độ baud phụ thuộc vào tần số thạch anh chuẩn mắc vào VĐK ta có thể

sử dụng những giá trị chuẩn để gán giá trị cho thạch anh phù hợp với tốc độ baud.

www.4tec

h.com

.vn

Page 53: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:53

Hình 4: Sơ đồ khối cách phát tốc độ baud

- Txclk: xung clock phát (tín hiệu bên trong)

- Rxclk: xung clock thu (tín hiệu bên trong)

- Fosc: Tần số dao động của hệ thống.

- Cách thông dụng nhất để đặt tốc độ baud là cài đặt các giá trị tương ứng

với tốc độ baud mà ta mong muốn vào thanh ghi tốc độ baud UBRR.Bảng ví dụ

dưới đây cho ta các giá trị tương ứng với tốc độ baud mà ta muốn đặt trong trường

hợp sử dụng một số thạch anh thông dụng.

Baûng1: Phaùt toác ñoä baud.

www.4tec

h.com

.vn

Page 54: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:54

Baûng 2 : Phaùt toác ñoä baud.

Baûng 3: Phaùt toác ñoä baud.

XIV: Bộ biến đổi ADC bên trong chíp:

- Trong phần lớn các bộ vi điều khiển AVR điều có bộ biến đổi ADC được

tích hợp sẵn bên trong chíp, đây có thể xem là phần nổi trội hơn các vi điều khiển

khác VD: như 89C51…vv.

- Đặc điểm của bộ biến đổi ADC bên trong vi điều khiển ATMEGA32 :

+ Độ phân giải lên đến 10 bit .

www.4tec

h.com

.vn

Page 55: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:55

+ Thời gian chuyển đổi từ 13 dến 260us .

+ 8 kênh biến đổi ADC đơn cực .

+ 7 kênh vi sai .

+ Điện áp biến dổi từ 0VCC .

+ Có thể lựa chọn mức Vref là 2,56 volt .

+ Hai kênh nhập vào vi sai với chế độ lựa chọn bộ khuyếch đại là 10x đến

200x .

+ Hổ trợ ngắt khi hoàn thành việc biến đổi ADC .

+ Hổ trợ chế độ giảm nhiểu .

Hình 5: Sô ñoà khoái boä bieán ñoåi ADCtrong vi ñieàu khieån ATMega32.

www.4tec

h.com

.vn

Page 56: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:56

PHẦN II

THIẾT KẾ VÀ THI CÔNG

I: Mạch nguồn :

Hình 1: Sơ đồ nguồn ổn áp 5V.

Dùng IC ổn áp 3 chân 78xx loại này cho ra điện áp có định được chỉ ra

bằng hai số cuối của IC. Ví dụ 7805 ổn áp 5V, 7812 (+12V), 7815 (+15V), 7824

(+24V); ở đầu ra thông thường mắc thêm tụ C = 0,1 uF để cải thiện quá trình quá

độ và dữ cho điện trở ra của mạch đủ nhỏ.

Hình 1: Mạch hiển thị Led

7805 5V

17 ÷35 V 0,1μ

LED

R3

R

0

VCC

Q1A

31

2

www.4tec

h.com

.vn

Page 57: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:57

II: Mạch hiển thị Led:

Để hiển thị trạng thái nhận được của các Vi Điều Khiển ta xử mạch hiển thị

bởi các Led được mắc vào mạch như hình trên. Khi có tín hiệu kích vào cực B

Transistor làm cho Transistor dẫn, lúc này dòng điện chạy từ Vcc qua mối nối CE

qua R3 qua Led và xuống mas làm cho Led sáng.

Ta có:

Vcc = 5V;

Vce = 0,2V;

Vled = 0,7V; dòng chạy qua Led tối đa là: Iled = 15mA;

Từ sơ đồ mạch ta có :

Vcc = Vce + Vled + R3* Iled;

R3* Iled = Vcc -Vce -Vled

III: IC MAX RS485 :

Hình 3: Sô ñoà chaân Max 485

Nguồn 5volt .

Chuẩn EIA .

Tốc độ truyền dữ liệu 5mb/s .

Bảo vệ nhiệt và ngắn mạch .

Thời gian trễ khi truyền là 10ns và nhận là 20ns .

www.4tec

h.com

.vn

Page 58: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:58

Chaân

IP/SO μMAX Teân Chöùc naêng

1 3

RO Ngoõ ra boä thu :

Neáu A > B laø200mV, RO laø cao.

Neáu A < B laø 200mV , RO laø thaáp.

2 4

/RE Cho pheùp ngoõ ra boä thu :

RO ñöôïc cho pheùo khi /RE laø thaáp.

RO laø trôû khaùng cao khi /RE laø cao.

3 5

DE Cho pheùp ngoõ ra laùi :

Caùc ngoõ ra laùi A vaø B ñöôïc cho pheùp khi DE cao.

Caùc ngoõ ra laùi A vaø B laø trôû khaùng cao khi DE thaáp.

Neáu nhöõng ngoõ ra laùi ñöôïc cho pheùp thì töøng ngoõ coù chöùc

naêng nhö laøcaùc ñöôøng laùi.

Khi chuùng laø trôû khaùng cao, chöùc naêng cuûa chuùng nhö laø

caùc ñöôøng thu cuûa boä thu neáu /RE laø thaáp.

4 6

DI Ngoõ vaøo boä laùi :

DI thaáp thì A thaáp vaø B cao

DI cao thì A cao vaø B thaáp.

5 7 GND Noái mass.

6 8 A Ngoõ vaøo voä thu vaø ngoõ ra boä laùi ñeàu khoâng ñaûo.

7 1 B Ngoõ vaøo boä thu vaø ngoõ ra boä laùi ñeàu ñaûo.

8 2 Vcc Nguoàn cung caáp döông 4.75V 5.25V Vcc ≤≤

www.4tec

h.com

.vn

Page 59: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:59

Chöùc naêng cuûa caùc ñöôøng ñieàu khieån :

Truyeàn :

Tín hieäu vaøo Tín hieäu ra

/RE DE DI B A

X 1 1 0 1

X 1 0 1 0

0 0 X High Z High Z

1 0 X High Z High Z

Nhaän:

Tín hieäu vaøo Tín hieäu ra

/RE DE A-B RO

0 0 mV200≥ 1

0 0 mV200≤ 0

0 0 Ngoõ vaøo hôû

maïch

1

1 0 X High Z

IV: MASTER VÀ SLAVE :

Phương pháp truy cập cho hệ thống mạng của đề tài này. Theo hương pháp

Master/ Slave thì: trạm chủ (Master) có trách nhiệm chủ động trong việc phân chia

www.4tec

h.com

.vn

Page 60: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:60

quyền truy cập bus cho hệ thống, đặc biệt tránh sự xung đột khi có hai trạm tớ

cùng phát dữ liệu lên đường truyền một lúc đây là một điểm yếu có thể làm mất dữ

liệu được gởi, hay có thể làm sai lệch nội dung .

+ Trạm chủ Master có trách nhiệm phân chia quyền truy cập bus cho trạm

tớ.

+ Trạm chủ có thể dùng phương pháp hỏi tuần tự đến các trạm tớ.

+ Các trạm tớ đóng vai trò thụ động, chỉ có quyền truy cập khi nhận được

yêu cầu từ trạm chủ.

+ Các trạm tớ sẽ gởi dữ liệu lên đường truyền về trạm chủ khi có yêu cầu,

ngược lại thực thi công việc của riêng mình cho đến khi trạm chủ hỏi tiếp sau mỗi

chu kỳ.

+ Tất cả các trạm tớ không có quyền liên lạc với nhau.

Dựa vào các tính chất này ta xây dựng phương pháp chủ tớ (Master/ Slave)

. Để đảm bảo tại một thời điểm chỉ có một trạm tớ duy nhất tức các Vi Xử

Lý có quyền truy cập bus, việc này được đảm nhiệm bỡi trạm chủ (Master) phải có

một phương pháp điều khiển các trạm tớ thích hợp, mặt khác tất cả các trạm tớ

nhận dữ liệu tư ( Master) gởi đi, hay truyền dữ liệu về cho (Master) đều phụ thuộc

vào các lệnh nhận được từ (Master). Để thực hiện những yêu cầu này thì đồi hổi

trạm chủ phải có kỹ thuât quản lý đương truyền, cũng như đáp ứng đúng tính chất

của phương pháp chủ tớ (Master/ Slave) . như hình 4 :

www.4tec

h.com

.vn

Page 61: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:61

MASTER

Rs485

SALAVE SALAVE

. . .

Hình 4: Sô ñoà khoái maïng RS485

V: Trạm chủ (Master ) :

- Dùng vi sử lý ATMega32 :

- Port A từ PA0 - PA7 dùng xuất giá trị hiển thị Led.

- Port B từ PB1 - PB5 điều khiển quét Led, PB6 và PB7 được

dùng để hiển thị Led cho động cơ, PB0 được nối với chân số 2 và

chân số 3 của 485, mục đích điều khiển việc truyền nhận dữ liệu.

- Port C từ PC0 - PC7 dùng suất ra để điều khiển phím theo

phương pháp ma trận , có bốn hàng bốn cột .

- PC0- PC3 sử dụng làm hàng .

- PC4 -PC7 sử dụng làm cột .

-Chân Reset nối nguồn VCC, qua bề tụ .

- Port PD0 và PD7 sử giao tiếp nối tiếp. Trong đó chân PDO là

chân RXD tức là chân nhận dữ liệu của Port nối tiếp, chân PD1 là

chân TXD tức là chân truyền dữ liệu của Port nối tiếp. Hai chân này

được nối RS485 tương ứng với chân RXD được nối với chân số 1 là

www.4tec

h.com

.vn

Page 62: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:62

chân R của Max 485, chân TXD được nối với chân số 4 là chân D của

Max 485 được thể hiện ở hình 5:

T

1 s

C

Q5

U2

ATMega32

3031

1011

9

12

13

1

15

161718192021

32

2223242526272829

4039283736353433

876543232

AVCCG

ND

VC

CG

ND

RESE

XTAL2

XTAL1

PB0

PD1(TXD)

PD2PD3PD4PD5PD6PD7

PD0(RXD)

PC0PC1PC2PC3PC4PC5PC6PC7

PA0PA1PA2PA3PA4PA5PA6PA7

PB7PB6PB5PB4PB3PB2PB1AREF

Q5

Enter

2

. . . . .

3

VCC

4

VCCC1

VCC

5

6

C2C

MAX485

6

7

23

8

4

5

1A

B

REDEV

CC

DGN

D

R

7

Q5 Q5

VCC

8

VCC

9

Q5

0

r

Y1

R4

R N

Hình 5: Sơ đồ thiết kế trạm chủ (Master )

Phương pháp truyền nhận dữ liệu của master :

Trạm chủ gởi đi một khung dữ liệu gồm các byte sau :

Dc (địa chỉ ), byte Dl ( dữ liệu ), có lệnh truyền và nhận ( R , S ), byte động cơ

ĐC (địa chỉ ) Byte đầu tiên byte này là byte địa chỉ nhận diện ..

L (lệnh ) Byte thứ hai là Byte lệnh gồm hai lệnh, đó là yêu cầu nhận dữ

liệu hay yêu cầu gởi dữ liệu về master .

DL (dữ liệu ) Byte thứ ba là Byte dữ liệu.

Byte thứ 4: là byte điều khiển động cơ nếu trạm có động cơ hoặc byte thêm

vào cho đủ khung dữ liệu 4 byte đối với trạm không có động cơ.

www.4tec

h.com

.vn

Page 63: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:63

Bắt đầu

Khởi động Port nối tiếp.

Đặt tốc độ baud.

Quét Led.

Quét phím ≤ 4

Kiểm tra bộ đếm nhận

Nhận khung dữ liệu gồm 4 byte

Xử lí khung dữ liệu

Rx Counter < 4

Rx Counter = 4

Gởi khung dữ liệu gồm 4 byte

Kết thúc

Byte = 4

Hình 6: Lưu đồ giải thuật Master

www.4tec

h.com

.vn

Page 64: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:64

VI: Khái quát về các trạm tớ

ạm tớ ( Slave).

e địa chỉ so sánh

với địa

ra Byte lệnh nếu là lệnh

nhận th

nhận Byte thứ ba làm Byte dữ liệu đối với trạm có địa chi là 8 thì byte

vi sử lí kiểm tra dữ liệu của mình và gởi khung dũ liệu

về cho

m chỉ có một Vi Xử Lý truy cập

đường

II: Trạm tớ 1( địa chỉ 4 )

:

- Gồm có một trạm chủ (Master ) và hai tr

- Các Vi Xử Lý (các trạm) lấy Byte đầu tiên hay gọi là byt

chỉ của mình nếu đúng thì xử lý tiếp các Byte còn lại, nếu không thì bỏ

khung truyền vừa nhận được và đợi nhận khung tiếp theo

- Nếu đúng là địa chỉ của mình thì Vi Xử Lý kiểm t

ì

Vi Xử Lý

thứ 4 là byte điều khiển động cơ, đối với trạm có địa chỉ là 4 thì byte thứ 4 là byte

thêm vào cho đủ khung dữ liệu (khung dữ liệu là 4 byte).

- Nếu là lệnh gởi :

Nếu là lệnh gởi thì

trạm chủ thông qua đường truyền RS485

Vậy theo phương pháp này tại một thời điể

truyền để gởi dữ liệu về cho trạm chủ, khi Vi Xử Lý nhận được lệnh, đối

với các Vi Xử Lý còn lại không được xác định địa chỉ thì bỏ khung và thực thi

công việc của riêng chúng không truy cập đường truyền, vậy không thể xảy ra hiện

tượng tại một thời điểm có hai hay nhiều trạm tớ cùng truyền dữ liệu lên đường

truyền, do đó không thể có xung đột xảy ra ở đây. Toàn bộ hệ thống được trạm

chủ quoản lý và chỉ có trạm tớ nào có yêu cầu gởi dữ liệu thì mới có quyền truy

cập bus .

V

www.4tec

h.com

.vn

Page 65: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:65

Sơ đồ mạch điện được thể hiện ở hình 8 trạm này thì đơn giản dữ liệu

nhận được từ trạm chủ gởi tới và so sánh với địa chỉ của mình là 4 nếu đúng thì

xác định byte th nh nh

hiện có của nó và gởi giá trị này về cho trạm chủ. Dưới đây là sơ đồ mạch được

ứ hai là lệnh gì nếu là lệ ận thì nó lấy byte dữ liệu là byte thứ

3 đồng thời đưa giá trị này ra Prot A. Nếu là lệnh gởi thì nó đọc giá trị của Port A

thể hiện ở hình 8: Và lưư đồ giải thụât được thể hiện ở hình 9:

R4

R

U2

ATMega32

30

3110

11

9

12

13

1

15

161718192021

32

2223242526272829

4039283736353433

32

8765432

8765432

AVCC

GND

VCC

GND

RESE

XTAL2

XTAL1

PB0

PD1(TXD)

PD2PD3PD4PD5PD6PD7

PD0(RXD)

PC0PC1PC2PC3PC4PC5PC6PC7

PA0PA1PA2PA3PA4PA5PA6PA7

AREF

PB7PB6PB5PB4PB3PB2PB1

PB7PB6PB5PB4PB3PB2PB1

Y1

VCC

C

VCC

VCC

MAX485

6

7

23

8

4

5

1A

B

REDEVC

C

DGND

R

C1

C2C

Hình 8: Sô ñoà thieát keá traïm (Slave 1 )

www.4tec

h.com

.vn

Page 66: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:66

Hình 9: Lưu đồ giải thuật Trạm 1

Bắt đầu

Khởi động Port nối tiếp.

Nhận khung dữ liệu 4 byte

Kiểm tra địa chỉ Sai

Nhận byte dữ liệu, làm dữ liệu

Gởi khung dữ liệu

Đúng

Kết thúc

Kiểm tra lệnh (2 lệnh RS)

www.4tec

h.com

.vn

Page 67: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:67

VIII: Trạm Slave (trạm tớ 2 ) :

Cũng dùng vi sử lý ATMega32 được thiết kế phần cứng gần giống như

trạm 1

thuận từ trạm chủ

(Maste

bốn byte :

u )

. Khác ở chổ là có thêm phần động cơ. Phần mềm được lập trình để thu

nhận và xử lý dữ liệu từ trạm chủ gởi đến và được hiển thị các trạng thái nhận

được bởi các LED. Ngoài ra ta còn có mạch điều động cơ trên trạm này, và được

điều khiển trực tiếp bởi trạm chủ. khi trạm tớ này nhận được lệnh điều khiển từ

trạm chủ gởi tới, mạch điều khiển động cơ hoạt động như sau :

Khi nhận được lệnh kích khởi động động cơ theo chiều

r), thì trạm tớ kích hoạt chân PC1 làm cho Q3 dẫn điện đồng thời Q2 cũng

có điện (vì Q2 và Q3 ở trạng thái luôn luôn dẩn ) nên dòng điện qua động cơ đến

D1 qua Q3 về Mass, (trong mạch Q2, Q1 luôn dẫn bảo hòa). Khi có lệnh khởi

động theo chiều ngược lại theo yêu cầu của trạm chủ, thì lúc này chân PC0 được

kích hoạt, dòng điện chạy từ Q1 qua động cơ, đến D2 qua Q4 về Mass, lúc này

dòng chạy qua động cơ theo chiều ngược lại do đó động cơ đựơc khởi động theo

chiều ngược lại.

Cũng dùng

- ĐC (địa chỉ )

- L (lệnh )

- DL (dữ liệ

- Đ ( động cơ ) www.4tec

h.com

.vn

Page 68: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:68

R4

R

Q2

R5R

Q1

D1

DIODE

R

U2

ATMega32

30

3110

11

9

12

13

1

15

161718192021

32

2223242526272829

4039283736353433

8765432

32

AVCC

GND

VCC

GND

RESE

XTAL2

XTAL1

PB0

PD1(TXD)

PD2PD3PD4PD5PD6PD7

PD0(RXD)

PC0PC1PC2PC3PC4PC5PC6PC7

PA0PA1PA2PA3PA4PA5PA6PA7

PB7PB6PB5PB4PB3PB2PB1

AREF

B

A R2R

C1

Q2

VCCVCC

C2C

C

Y1

BR

DC. .

MAX485

6

7

23

8

4

5

1A

B

REDEVC

C

DGND

R

D2

DIODE

A

Q3

VCC

VCC

VCC

R1R

Hình 10: Sô ñoà thieát keá traïm (salave 2 )

www.4tec

h.com

.vn

Page 69: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:69

Bắt đầu

Khởi động Port nối tiếp.

Hình 11: Lưu đồ giải thuật Trạm tớ 2

Nhận khung dữ liệu 4 byte

Kiểm tra địa chỉ Sai

Nhận byte dữ liệu và byte động cơ

Gởi khung dữ liệu

Kết thúc

Nhận R

Kiểm tra lệnh (2 lệnh RS)

Đúng

S (Lệnh gởi)

www.4tec

h.com

.vn

Page 70: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:70

CHƯƠNG TRÌNH VIẾT CHO CÁC TRẠM

Traïm chuû Master. This program was produced by the CodeWizardAVR V1.24.7d Professional Automatic Program Generator © Copyright 1998-2005 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com e-mail:[email protected] Project : Version : Date : 6/3/2006 Author : F4CG Company : F4CG Comments: Chip type : ATmega32 Program type : Application Clock frequency : 4.000000 MHz Memory model : Small External SRAM size : 0 Data Stack size : 512 *****************************************************/ #include <mega32.h> #include <delay.h> #define RXB8 1 #define TXB8 0 #define UPE 2 #define OVR 3 #define FE 4 #define UDRE 5 #define RXC 7 #define FRAMING_ERROR (1<<FE) #define PARITY_ERROR (1<<UPE) #define DATA_OVERRUN (1<<OVR) #define DATA_REGISTER_EMPTY (1<<UDRE) #define RX_COMPLETE (1<<RXC) // USART Receiver buffer #define RX_BUFFER_SIZE 8

www.4tec

h.com

.vn

Page 71: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:71

char rx_buffer[RX_BUFFER_SIZE]; #if RX_BUFFER_SIZE<256 unsigned char rx_wr_index,rx_rd_index,rx_counter; #else unsigned int rx_wr_index,rx_rd_index,rx_counter; #endif // This flag is set on USART Receiver buffer overflow bit rx_buffer_overflow; // USART Receiver interrupt service routine interrupt [USART_RXC] void usart_rx_isr(void) { char status,data; status=UCSRA; data=UDR; if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) { rx_buffer[rx_wr_index]=data; if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE) { rx_counter=0; rx_buffer_overflow=1; }; }; } #ifndef _DEBUG_TERMINAL_IO_ // Get a character from the USART Receiver buffer #define _ALTERNATE_GETCHAR_ #pragma used+ char getchar(void) { char data; while (rx_counter==0); data=rx_buffer[rx_rd_index]; if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0; #asm("cli") --rx_counter; #asm("sei") return data; } #pragma used-

www.4tec

h.com

.vn

Page 72: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:72

#endif // USART Transmitter buffer #define TX_BUFFER_SIZE 8 char tx_buffer[TX_BUFFER_SIZE]; #if TX_BUFFER_SIZE<256 unsigned char tx_wr_index,tx_rd_index,tx_counter; #else unsigned int tx_wr_index,tx_rd_index,tx_counter; #endif // USART Transmitter interrupt service routine interrupt [USART_TXC] void usart_tx_isr(void) { if (tx_counter) { --tx_counter; UDR=tx_buffer[tx_rd_index]; if (++tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0; }; } #ifndef _DEBUG_TERMINAL_IO_ // Write a character to the USART Transmitter buffer #define _ALTERNATE_PUTCHAR_ #pragma used+ void putchar(char c) { while (tx_counter == TX_BUFFER_SIZE); #asm("cli") if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0)) { tx_buffer[tx_wr_index]=c; if (++tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0; ++tx_counter; } else UDR=c; #asm("sei") } #pragma used- #endif // Standard Input/Output functions #include <stdio.h> // Declare your global variables here

www.4tec

h.com

.vn

Page 73: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:73

unsigned char j,k,chuso[4],bay[8],tr,i,ma[4],n,p,bd,x,tam1,tam2,tam3; unsigned char nhan0,nhan1,nhan2,nhan3,z,nt,truyen=1,nhan,ks; void main(void) { // Declare your local variables here // Input/Output Ports initialization // Port A initialization // Func7=In Func6=In Func5=Out Func4=Out Func3=In Func2=In Func1=Out Func0=Out // State7=T State6=T State5=1 State4=1 State3=T State2=T State1=1 State0=1 PORTA=0x33; DDRA=0xFF; // Port B initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=Out Func0=Out // State7=T State6=T State5=T State4=T State3=T State2=T State1=1 State0=1 PORTB=0x03; DDRB=0xFF; // Port C initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=1 PORTC=0x01; DDRC=0xFF; // Port D initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00; DDRD=0x00; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00; TCNT0=0x00; OCR0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off

www.4tec

h.com

.vn

Page 74: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:74

// Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00; // USART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On // USART Transmitter: On // USART Mode: Asynchronous // USART Baud rate: 9600 UCSRA=0x00; UCSRB=0xD8; UCSRC=0x86; UBRRH=0x00;

www.4tec

h.com

.vn

Page 75: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:75

UBRRL=0x19; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // Global enable interrupts #asm("sei") rx_counter=0; rx_buffer[1]=0; rx_buffer[2]=0; rx_buffer[3]=0; rx_buffer[4]=0; rx_buffer[5]=0; rx_buffer[6]=0; rx_buffer[7]=0; chuso[0]=32; chuso[1]=32; chuso[2]=32; j=0; k=0; z=0; while (1) { // Place your code here delay_ms(10); UCSRB=0x00; if (truyen==1) { for ( i=0; i<=3; i++) //quet phim

{ x=1; p=x<<i; DDRC=0x0f; PORTC=p; delay_ms(5); n=PINC; if (n==129) {

bd=1; delay_ms(100);

}

www.4tec

h.com

.vn

Page 76: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:76

if ((z!=1) & (n==17)) {

chuso[j]=126; ma[j]=0;

delay_ms(100); j++;

} if ((z!=1) & (n==18)) {

chuso[j]=18; ma[j]=1; delay_ms(100); j++;

} if ((z!=1) & (n==20)) {

chuso[j]=61; ma[j]=2; delay_ms(100); j++;

} if ((z!=1) & (n==24)) { chuso[j]=109; ma[j]=3; delay_ms(100); j++; } if ((z!=1) & (n==40)) { chuso[j]=75; ma[j]=4; delay_ms(100); j++; } if ((z!=1) & (n==36)) { chuso[j]=103; ma[j]=5; delay_ms(100);

www.4tec

h.com

.vn

Page 77: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:77

j++; } if ((z!=1) & (n==34)) { chuso[j]=119; ma[j]=6; delay_ms(100); j++; } if ((z!=1) & (n==33)) { chuso[j]=76; ma[j]=7 ; delay_ms(100); j++; } if ((z!=1) & (n==72)) { chuso[j]=127; ma[j]=8; delay_ms(100); j++; } if ((z!=1) & (n==68)) { chuso[j]=111; ma[j]=9; delay_ms(100); j++; } if ((z==1) & (n==130)) { chuso[j]=103; ma[j]=4; delay_ms(100); j++; } if ((z==1) & (n==66)) { chuso[j]=95; ma[j]=8; delay_ms(100);

www.4tec

h.com

.vn

Page 78: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:78

j++; }

}//for ( i=0; i<=3; i++) tam1=chuso[0]; tam2=chuso[1]; tam3=chuso[2]; if (j==0); // QUET chu so 0; { DDRB=0xFF; PORTB=0x04; DDRA=0xff; PORTA=chuso[0]; delay_ms(5); } if (j==1); // Quet chu so 1 { DDRB=0xFF; PORTB=0x08; DDRA=0xff; PORTA=chuso[1]; delay_ms(5); } if (j==2); // quet chu so thu 2 { DDRB=0xFF; PORTB=0x20; DDRA=0xff; PORTA=chuso[2]; delay_ms(5); } if(z==0)// dia chi DC. { PORTB=0x01; DDRB=0xff; PORTA=121; delay_ms(5); PORTB=0x02; DDRB=0xff; PORTA=177; delay_ms(5);

www.4tec

h.com

.vn

Page 79: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:79

} if (z==1)// chu lenh (L). { PORTB=0x01; DDRB=0xff; PORTA=178; delay_ms(1); } if(z==2)//du lieu (DL) { PORTB=0x01; DDRB=0xff; PORTA=121; delay_ms(5); PORTB=0x02; DDRB=0xff; PORTA=50; delay_ms(5); } if (z==3) //dong co (D) { PORTB=0x01; DDRB=0xff; PORTA=121; delay_ms(1); if ((chuso[0]==18)&&(chuso[1]==126)) bay[3]=1; if ((chuso[0]==18)&&(chuso[1]==18)) bay[3]=2; if ((chuso[0]==126)&&(chuso[1]==126)) bay[3]=0; tr=1; } else { bay[3]=255; tr=1; } // doan chuong trinh tinh gia tri cua bay. if ((tam1!=32)&&(tam2==32)&&(tam3==32)&&(bd==1)&&(k<=2)) { bay[k]=ma[0];

www.4tec

h.com

.vn

Page 80: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:80

chuso[0]=32; chuso[1]=32; chuso[2]=32; j=0; z++; k++; bd=0; } if ((tam1!=32)&&(tam2!=32)&&(tam3==32)&&(bd==1)&&(k<=2)) { bay[k]=((ma[0]*10)+ma[1]); chuso[0]=32; chuso[1]=32; chuso[2]=32; j=0; z++; k++; bd=0; } if ((tam1!=32)&&(tam2!=32)&&(tam3!=32)&&(bd==1)&&(k<=2)) { bay[k]=(ma[0]*10+ma[1])*10+ma[2]; chuso[0]=32; chuso[1]=32; chuso[2]=32; j=0; z++; k++; bd=0; } //Ket thuc doan chuong trinh tinh gia tri cua bay. // doan chuong trinh truyen if ((tr==1)&&(bd==1)) { PORTB=16; DDRB=0xff; chuso[0]=32; chuso[1]=32; chuso[2]=32; j=0; UCSRB=0x48; putchar(bay[0]);

www.4tec

h.com

.vn

Page 81: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:81

putchar(bay[1]); putchar(bay[2]); putchar(bay[3]); delay_ms(10); UCSRB=0x00; delay_ms(10); UCSRB=0x90; PORTB=0; delay_ms(100); z=0; k=0; tr=0; bd=0; } //ket thuc truyen }//fi truyen // doan nhan if (rx_counter>=4) { truyen=0; nhan=1; nhan0=getchar(); nhan1=getchar(); nhan2=getchar(); nhan3=getchar(); nt=nhan2; PORTA=nt; DDRA=0xFF; PORTB=2; rx_counter=0; rx_buffer[1]=0; rx_buffer[2]=0; rx_buffer[3]=0; rx_buffer[4]=0; rx_buffer[5]=0; rx_buffer[6]=0; rx_buffer[7]=0; UCSRB=0x00; } // ket thuc nhan PORTC=0;

www.4tec

h.com

.vn

Page 82: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:82

while (nhan==1) // su ly quet led nhan { int A[4],B,i2,j=0; if (nhan0==8) { PORTB=0x01; DDRB=0xff; PORTA=127; delay_ms(5); PORTB=0x02; DDRB=0xff; PORTA=1; delay_ms(5); } if (nhan0==4) { PORTB=0x01; DDRB=0xff; PORTA=75; delay_ms(5); PORTB=0x02; DDRB=0xff; PORTA=1; delay_ms(5); } if (nhan3==1) { PORTB=128; delay_ms(5); } if (nhan3==2) { PORTB=64; delay_ms(5); } if (nt>=100) // chuong trinh tinh gia tri nhan ve { A[0]=nt/100; B=nt-A[0]*100; A[1]=B/10;

www.4tec

h.com

.vn

Page 83: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:83

A[2]=B-A[1]*10; i2=2; } if ((nt<100)&&(nt>=10)) { A[0]=nt/10; A[1]=nt-A[0]*10; i2=1; } if (nt<10) { A[0]=nt; i2=0; } // ket chuong trinh tinh gia tri nhan ve for ( i=0; i<=i2;i++ ) { if (A[i]==0) { chuso[j]=126; j++; } if (A[i]==1) { chuso[j]=18; j++; } if (A[i]==2) { chuso[j]=61; j++; } if (A[i]==3) { chuso[j]=109; j++; } if (A[i]==4) {

www.4tec

h.com

.vn

Page 84: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:84

chuso[j]=75; j++; } if (A[i]==5) { chuso[j]=103; j++; } if (A[i]==6) { chuso[j]=119; j++; } if (A[i]==7) { chuso[j]=76; j++; } if (A[i]==8) { chuso[j]=127; j++; } if (A[i]==9) { chuso[j]=111; j++; } } if (j==0); // QUET chu so 0; { DDRB=0xFF; PORTB=0x04; DDRA=0xff; PORTA=chuso[0]; delay_ms(5); } if (j==1); // Quet chu so 1 { DDRB=0xFF; PORTB=0x08;

www.4tec

h.com

.vn

Page 85: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:85

DDRA=0xff; PORTA=chuso[1]; delay_ms(5); } if (j==2); // quet chu so thu 2 { DDRB=0xFF; PORTB=0x20; DDRA=0xff; PORTA=chuso[2]; delay_ms(5); } // quay lai tu dau (thoat) PORTC=1; ks=PINC; if (ks==65) { nhan=0; truyen=1; chuso[0]=32; chuso[1]=32; chuso[2]=32; } }// while (nhan==1) }; }

Traïm tôù 1 : program was produced by the CodeWizardAVR V1.24.7d Professional Automatic Program Generator © Copyright 1998-2005 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com e-mail:[email protected]

www.4tec

h.com

.vn

Page 86: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:86

Project : Version : Date : 6/7/2006 Author : F4CG Company : F4CG Comments: Chip type : ATmega32 Program type : Application Clock frequency : 4.000000 MHz Memory model : Small External SRAM size : 0 Data Stack size : 512 *****************************************************/ #include <mega32.h> #include <delay.h> #define RXB8 1 #define TXB8 0 #define UPE 2 #define OVR 3 #define FE 4 #define UDRE 5 #define RXC 7 #define FRAMING_ERROR (1<<FE) #define PARITY_ERROR (1<<UPE) #define DATA_OVERRUN (1<<OVR) #define DATA_REGISTER_EMPTY (1<<UDRE) #define RX_COMPLETE (1<<RXC) // USART Receiver buffer #define RX_BUFFER_SIZE 8 char rx_buffer[RX_BUFFER_SIZE]; #if RX_BUFFER_SIZE<256 unsigned char rx_wr_index,rx_rd_index,rx_counter; #else unsigned int rx_wr_index,rx_rd_index,rx_counter; #endif

www.4tec

h.com

.vn

Page 87: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:87

// This flag is set on USART Receiver buffer overflow bit rx_buffer_overflow; // USART Receiver interrupt service routine interrupt [USART_RXC] void usart_rx_isr(void) { char status,data; status=UCSRA; data=UDR; if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) { rx_buffer[rx_wr_index]=data; if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE) { rx_counter=0; rx_buffer_overflow=1; }; }; } #ifndef _DEBUG_TERMINAL_IO_ // Get a character from the USART Receiver buffer #define _ALTERNATE_GETCHAR_ #pragma used+ char getchar(void) { char data; while (rx_counter==0); data=rx_buffer[rx_rd_index]; if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0; #asm("cli") --rx_counter; #asm("sei") return data; } #pragma used- #endif // USART Transmitter buffer #define TX_BUFFER_SIZE 8

www.4tec

h.com

.vn

Page 88: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:88

char tx_buffer[TX_BUFFER_SIZE]; #if TX_BUFFER_SIZE<256 unsigned char tx_wr_index,tx_rd_index,tx_counter; #else unsigned int tx_wr_index,tx_rd_index,tx_counter; #endif // USART Transmitter interrupt service routine interrupt [USART_TXC] void usart_tx_isr(void) { if (tx_counter) { --tx_counter; UDR=tx_buffer[tx_rd_index]; if (++tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0; }; } #ifndef _DEBUG_TERMINAL_IO_ // Write a character to the USART Transmitter buffer #define _ALTERNATE_PUTCHAR_ #pragma used+ void putchar(char c) { while (tx_counter == TX_BUFFER_SIZE); #asm("cli") if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0)) { tx_buffer[tx_wr_index]=c; if (++tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0; ++tx_counter; } else UDR=c; #asm("sei") } #pragma used- #endif // Standard Input/Output functions #include <stdio.h>

www.4tec

h.com

.vn

Page 89: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:89

// Declare your global variables here unsigned char nhan1,nhan2,nhan3,nhan4,tr1,tr2,tr3,tr4; void main(void) { // Declare your local variables here // Input/Output Ports initialization // Port A initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=1 State6=0 State5=0 State4=0 State3=1 State2=0 State1=0 State0=1 PORTA=0x89; DDRA=0xFF; // Port B initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0xFF; DDRB=0xFF; // Port C initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00; DDRC=0x00; // Port D initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00; DDRD=0x00; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00; TCNT0=0x00; OCR0=0x00;

www.4tec

h.com

.vn

Page 90: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:90

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;

www.4tec

h.com

.vn

Page 91: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:91

// USART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On // USART Transmitter: On // USART Mode: Asynchronous // USART Baud rate: 9600 UCSRA=0x00; UCSRB=0xD8; UCSRC=0x86; UBRRH=0x00; UBRRL=0x19; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // Global enable interrupts #asm("sei") while (1)//tram dia chi 4 { // Place your code here delay_ms(10); PORTB=0; ; UCSRB=0x90; UCSRB=0x90; if (rx_counter>=4) { nhan1=getchar(); nhan2=getchar(); nhan3=getchar(); nhan4=getchar(); delay_ms(10); UCSRB=0x00; rx_counter=0; rx_buffer[1]=0;

www.4tec

h.com

.vn

Page 92: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:92

rx_buffer[2]=0; rx_buffer[3]=0; rx_buffer[4]=0; if ((nhan1==4)&(nhan2==4)) { PORTA=nhan3; DDRA=0xff; } if ((nhan1==4)&(nhan2==8)) { UCSRB=0x00; delay_ms(50); PORTB=1; delay_ms(50); // dl100 tr1=4; tr2=255; tr3=PINA; tr4=55; UCSRB=0x48; putchar(tr1); putchar(tr2); putchar(tr3); putchar(tr4); delay_ms(10); PORTB=0; UCSRB=0x00; } } };

Traïm tôù 2 :

This program was produced by the CodeWizardAVR V1.24.7d Professional Automatic Program Generator © Copyright 1998-2005 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com e-mail:[email protected]

www.4tec

h.com

.vn

Page 93: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:93

Project : Version : Date : 6/3/2006 Author : F4CG Company : F4CG Comments: Chip type : ATmega32 Program type : Application Clock frequency : 4.000000 MHz Memory model : Small External SRAM size : 0 Data Stack size : 512 *****************************************************/ #include <mega32.h> #include <delay.h> #define RXB8 1 #define TXB8 0 #define UPE 2 #define OVR 3 #define FE 4 #define UDRE 5 #define RXC 7 #define FRAMING_ERROR (1<<FE) #define PARITY_ERROR (1<<UPE) #define DATA_OVERRUN (1<<OVR) #define DATA_REGISTER_EMPTY (1<<UDRE) #define RX_COMPLETE (1<<RXC) // USART Receiver buffer #define RX_BUFFER_SIZE 8 char rx_buffer[RX_BUFFER_SIZE]; #if RX_BUFFER_SIZE<256 unsigned char rx_wr_index,rx_rd_index,rx_counter; #else unsigned int rx_wr_index,rx_rd_index,rx_counter;

www.4tec

h.com

.vn

Page 94: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:94

#endif // This flag is set on USART Receiver buffer overflow bit rx_buffer_overflow; // USART Receiver interrupt service routine interrupt [USART_RXC] void usart_rx_isr(void) { char status,data; status=UCSRA; data=UDR; if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) { rx_buffer[rx_wr_index]=data; if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE) { rx_counter=0; rx_buffer_overflow=1; }; }; } #ifndef _DEBUG_TERMINAL_IO_ // Get a character from the USART Receiver buffer #define _ALTERNATE_GETCHAR_ #pragma used+ char getchar(void) { char data; while (rx_counter==0); data=rx_buffer[rx_rd_index]; if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0; #asm("cli") --rx_counter; #asm("sei") return data; } #pragma used- #endif // USART Transmitter buffer

www.4tec

h.com

.vn

Page 95: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:95

#define TX_BUFFER_SIZE 8 char tx_buffer[TX_BUFFER_SIZE]; #if TX_BUFFER_SIZE<256 unsigned char tx_wr_index,tx_rd_index,tx_counter; #else unsigned int tx_wr_index,tx_rd_index,tx_counter; #endif // USART Transmitter interrupt service routine interrupt [USART_TXC] void usart_tx_isr(void) { if (tx_counter) { --tx_counter; UDR=tx_buffer[tx_rd_index]; if (++tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0; }; } #ifndef _DEBUG_TERMINAL_IO_ // Write a character to the USART Transmitter buffer #define _ALTERNATE_PUTCHAR_ #pragma used+ void putchar(char c) { while (tx_counter == TX_BUFFER_SIZE); #asm("cli") if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0)) { tx_buffer[tx_wr_index]=c; if (++tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0; ++tx_counter; } else UDR=c; #asm("sei") } #pragma used- #endif // Standard Input/Output functions

www.4tec

h.com

.vn

Page 96: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:96

#include <stdio.h> // Declare your global variables here unsigned char nhan1,nhan2,nhan3,nhan4,tr1,tr2,tr3,tr4; void main(void) { // Declare your local variables here // Input/Output Ports initialization // Port A initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=1 State2=0 State1=0 State0=0 PORTA=0x03; DDRA=0xFF; // Port B initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTB=0x01; DDRB=0xFF; // Port C initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00; DDRC=0x00; // Port D initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00; DDRD=0x00; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00; TCNT0=0x00;

www.4tec

h.com

.vn

Page 97: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:97

OCR0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00;

www.4tec

h.com

.vn

Page 98: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:98

// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00; // USART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On // USART Transmitter: On // USART Mode: Asynchronous // USART Baud rate: 9600 UCSRA=0x00; UCSRB=0xD8; UCSRC=0x86; UBRRH=0x00; UBRRL=0x19; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // Global enable interrupts #asm("sei") while (1)// tram dc8 { // Place your code here delay_ms(10); PORTB=0; UCSRB=0x90; UCSRB=0x90; if (rx_counter>=4) { nhan1=getchar(); nhan2=getchar(); nhan3=getchar(); nhan4=getchar(); delay_ms(10); UCSRB=0x00; rx_counter=0;

www.4tec

h.com

.vn

Page 99: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:99

rx_buffer[1]=0; rx_buffer[2]=0; rx_buffer[3]=0; rx_buffer[4]=0; if ((nhan1==8)&(nhan2==4)) { PORTA=nhan3; DDRA=0xff; PORTC=nhan4; DDRC=0xff; } if ((nhan1==8)&(nhan2==8)) { UCSRB=0x00; delay_ms(50); PORTB=1; delay_ms(50); // dl100 tr1=8; tr2=255; tr3=PINA; tr4=PINC; UCSRB=0x48; putchar(tr1); putchar(tr2); putchar(tr3); putchar(tr4); ; ; delay_ms(10); PORTB=0; UCSRB=0x00; } } };

www.4tec

h.com

.vn

Page 100: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:100

TÀI LIỆU THAM KHẢO 1: Mạng truyền thông công nghiệp. Hoàng Minh Sơn - NXB KHKT 2001 2: Vẽ và thiết kế mạch in với ORCAD 9.0 KS Quang Huy-KS Nguyển Đức Hiệp NXB Đà Nẵng 2002 3: Data sheet của hãng ATMEL 4: Một số tài liệu, tạp chí trên mạng INTERNET. 5: Vi điều khiển với AVR Ngô Diên Tập Nhà xuất bản khoa học và kỹ thuật. Hà Nội - 2003

www.4tec

h.com

.vn

Page 101: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:101

MỤC LỤC Trang

Nhiệm vụ luận văn tốt nghiệp:........................................................... 1 Lịch trình làm luận văn tốt nghiệp:.................................................... 2 Phiếu đánh giá:................................................................................... 3 Lời cảm ơn: ........................................................................................ 4 Giới thiệu đề tài:................................................................................. 5

PHẦN I........................................6 CƠ SỞ LÝ THUYẾT......................6 Chương I: CHẾ ĐỘ TRUYỀN DẪN: .................................................... 6

I: Truyền bít song song và truyền bít nối tiếp: ........................................ 6 1: Truyền bít song song: ............................................................... 6 2: Truyền bít nối tiếp: ................................................................... 6

II: Truyền đồng bộ và không đồng bộ: .................................................... 6 III: Truyền 1 chiều 2 chiều toàn phần và gián đoạn:............................... 7 IV: Truyền tải dải cơ sở truyền tải dải mang và truyền tải dải rộng: ..... 7

1: Truyền tải dải cơ sở : ................................................................ 7 2: Truyền tải dải mang:................................................................. 8 3: Truyền tải dải rộng: .................................................................. 8

V: Câu trúc mạng bus: ............................................................................. 8 VI: Cấu trúc mạch vòng : ...................................................................... 10 VII: Cấu trúc sao: .................................................................................. 12 VIII: Cấu trúc cây:................................................................................. 13 IX: Kiến trúc giao thức:......................................................................... 14 X: Giao thức ......................................................................................... 16 XI: Mô hình lớp:.................................................................................... 20 XII: Kiến trúc tiêu chuẩn OSI: .............................................................. 21 XIII: Phương pháp truy cập bus: ........................................................... 28 XIV: Phương pháp truy cập Master/Slaver: .......................................... 30 XV: Phương pháp TDMA: .................................................................... 34 XIV: Phöông phaùp token passing ..............................................................35

Chương II: CHUẨN TRUYỀN DẪN................................................... 38 I: Phương thức truyền dẫn tín hiệu:....................................................... 38 II: Đặc điểm của các công nghệ truyền dẫn: ......................................... 39 III: Chuẩn RS 232:................................................................................. 40 IV: RS 422 A ......................................................................................... 41 V: RS 485 .............................................................................................. 41 VI: Cách lắp đặt RS 485:....................................................................... 43 VII: Topolgy của mạng RS 485: ........................................................... 45 VIII: Phương thức truyền thông: ........................................................... 46 IX: Truyền thông tuần tự: ...................................................................... 47

www.4tec

h.com

.vn

Page 102: Nghien cuu va thiet ke mang RS-485

Đề tài: NGHIÊN CỨU VÀ THIẾT KẾ MẠNG RS 485 Trang:102

Chương III: TỔNG QUAN AVRATMEGA32:.................................. 49 I: Giới thiệu: .......................................................................................... 49 II: Đặc điểm chung: ............................................................................... 49 III: Bộ nhớ dữ liệu và bộ nhớ chương trình: ........................................ 50 IV: Có nhiều thiết bị ngoại vi được tích hợp sẳn: ................................. 50 V: Những điểm đặc biệt: ....................................................................... 50 VI: Số lượng I/O và dạng đóng gói: ...................................................... 51 VII: Nguồn cung cấp: ............................................................................ 51 VIII: Thạch anh dao động:..................................................................... 51 IX: Hổ trợ các trình biên dịch:............................................................... 52 X: Mô tả các chân:................................................................................. 53 XI: Giao diện nối tiếp: ........................................................................... 55 XII: Tốc độ baud: .................................................................................. 56 XIII: Bộ biến đổi ADC bên trong chíp:................................................. 58 PHẦN II..................................60

THIẾT KẾ VÀ THI CÔNG ..............60 I: Mạch nguồn:....................................................................................... 60

II: Mạch hiển thị Led:............................................................................ 61 III: IC MAX RS 485:............................................................................. 61 IV: Maxter và Slaver: ............................................................................ 64 V: Trạm chủ: ......................................................................................... 65 VI: Khái quát về các trạm tớ: ................................................................ 68 VII: Trạm tớ 1:....................................................................................... 69 VIII: Trạm tôù 2: .................................................................................... 71

Chương trình viết cho các trạm: .......................................................... 74 Tài liệu tham khảo: .............................................................................. 104

www.4tec

h.com

.vn