Điều khiển phát data trên RS485

Một phần của tài liệu Thiết kế mạng giám sát và điều khiển MC68HC11 dùng RS 485 (Trang 70 - 73)

I. MẠCH RS48 5:

I.2Điều khiển phát data trên RS485

Vấn đề khĩ khăn thường gặp khi thiết kế mạch RS485 là điều khiển bộ truyền qua chân DE của IC SN75176. Vì tất cả các node mạng đều dùng chung một đường dây để truyền và nhận, do đĩ tại mỗi thời điểm chỉ cĩ một node được cho phép truyền mà thơi, nếu cĩ một node nào đĩ cũng được cho phép truyền, trên đường dây sẽ xảy ra hiện tượng xung đột data (data collision).Cĩ hai phương pháp điều khiển chân DE của chip 75176 để bảo đảm bộ truyền hoạt động đúng.

I.2.1 Điều khiển bằng phần mềm

Phương pháp thứ nhất là dùng một đường điều khiển riêng, thường là chân RTS nếu ở máy tính hoặc bất cứ chân nào trống của vi xử lý để điều khiển việc cho phép và cấm truyền. Phần mềm sẽ set chân RTS lên mức cao trước khi muốn truyền data để cho phép 75176 cho tín hiệu chuyển từ TTL sang mức vi sai và xuống mức thấp sau khi việc truyền dữ liệu kết thúc. Do chỉ cĩ một node được phép truyền nên thời gian từ cạnh xuống của bit Stop cuối cùng đến khi chân RTS được disable phải càng ngắn càng tốt nhằm bảo đảm node khác cĩ thể tiếp tục truyền dữ liệu trên mạng. Trong phương pháp này thời gian delay trước khi enable và disable chân RTS rất quan trọng nhằm bảo đảm đường truyền đang trống và dữ liệu đã được truyền đi hết.

I.2.2 Điều khiển bằng phần cứng

Phương pháp thứ hai là dùng một bộ định thời để tạo xung cho phép truyền trên chân DE của SN75176. Cách này cịn được gọi là phương pháp điều khiển truyền dữ liệu tự động (Automatic Send Data Control). Một mạch được thiết kế đặc biệt sẽ xuất một xung khi phát hiện bit Start và sẽ xuống mức thấp trong khoảng thời gian từ 1-2µs. Khi phát hiện bit Start của ký tự thứ hai, một xung khác sẽ tự động xuất ra và cho phép ký tự này được truyền đi. Bằng cách này ta cĩ thể truyền số ký tự tuỳ ý và bộ truyền sẽ luơn tự kích một xung cho phép với ký tự mới. Hoặc xung từ bộ định thời cĩ thể lên mức cao trong khoảng thời gian bắt đầu truyền dữ liệu cho đến khi kết thúc truyền (từ bit Start của ký tự đầu tiên cho đến bit Stop của ký tự cuối cùng).

Phương pháp định thời theo hướng bít

Một cách cĩ nguyên lý tương tự như trên nhưng hơi khác một chút là phương pháp định thời theo hướng bit (“bit oriented” timming cheme) được sử dụng kết hợp với mạch phân cực và đây là phương pháp em sử dụng trong luận văn này.

Thay vì cho phép bộ truyền trong suốt khoảng thời gian truyền một ký tự hay khối dữ liệu, phương pháp này chỉ cho phép bộ truyền khi phát hiện bit Start hay bất cứ mức logic thấp nào khác trên ngõ vào của bộ truyền (chân số 4 của SN76176) và sẽ cấm truyền (disable) sau 40µs khi phát hiện cạnh lên của bit Stop

hay bất cứ mức logic cao nào trên ngõ vào input. Khi bộ truyền được disable, chính mạch phân cực sẽ đảm bảo mức logic cao trên ngõ ra.

Sơ đồ mạch RS485 dùng nguyên lý bit-oriented.

Một IC định thời là LM555 hoạt động ở chế độ monostable(one shot) được sử dụng để tạo xung cho phép. Hai thơng số quan trọng nhất trong mạch định thời là R và C để xung xuất ra cĩ thời hằng thích hợp. Trong luận văn này, R=3.9K và C=0.01µF.

Tín hiệu Data out được đưa vào chân số 2 là chân Trigger của LM555. Cạnh xuống trên Data out (cĩ thể của bit Start hoặc của bit thấp nào đĩ) sẽ kích bộ timer. Ngõ ra timer sẽ lên mức cao cho phép bộ truyền hoạt động đưa mức áp trên chân B dương hơn trên chân A của SN75176 (mức logic 0 của tín hiệu vi sai).

Khi Data out lên mức cao, sau 40µs bộ truyền sẽ bị cấm, mức điện áp của ngõ ra sẽ là mức điện áp trên mạch phân cực, tức chân A dương hơn so với chân B(mức logic 1 của tín hiệu vi sai).

Tương tự như vậy, bất cứ cạnh xuống nào của data được truyền sẽ cho phép bộ truyền và bất cứ cạnh lên nào cũng disable bộ truyền sau một khoảng delay. Khi gặp cạnh lên của bit Stop cuối cùng, bộ truyền sẽ bị cấm sau một khoảng thời gian trễ là 40µs . Với tốc độ baud rate bằng 9600 hoặc nhỏ hơn, độ rộng của mỗi

bit khoảng 104µs, điều này cĩ nghĩa là bộ truyền bị cấm gần khoảng giữa của bit. Với tốc độ lớn hơn, khoảng delay này vẫn là 40µs sau cạnh lên của bit Stop. Nếu mạng cần tốc độ đáp ứng nhanh hơn ở mức baud rate lớn hơn 9600, ta cĩ thể giảm giá trị R để tạo mức delay ngắn hơn.

Một phần của tài liệu Thiết kế mạng giám sát và điều khiển MC68HC11 dùng RS 485 (Trang 70 - 73)