您好~
目前我正在設計一個有關RS485多機通訊的工程,這是一個簡單的系統
這系統的MCU適用8051 並且使用 MAX488這個IC將 UART轉換成 全雙工的485線路則是利用網絡線 網絡線也是雙絞線 因此覺得這樣可行
連接方式為:
主機 --> 子機1-->子機2-->子機n
如圖:
目前測試出來發現,主機傳送數據給子機 ,子機都可以確實的接收到數據,
但如果由子機回傳數據給主機,主機都無法接收,接一檯子機還可以被主機
接收到數據,但接了兩台以上就不行了,我有嘗試過100.奧姆電阻匹配,
或是使用3.3K電阻進行上拉及下拉,都是不行的。
後來 利用示波器測量子機傳出來的訊號,得到以下這張圖
圖片中,第一個示波器的波形是:單一接上一檯子機,並傳送數據給
主機的波形,橘色與藍色為正確的差分信號,可以讓主機正確的接收到
資料。
圖片中第二個示波器波形,為我接上了兩個子機,其中尾端子機有接100
奧姆的終端電阻,接上了之後,並且讓其中一檯子機傳出訊號,主機接收不
到了,看到差分訊號便成了這副模樣。
第三個波形是接上了上拉及下拉電阻,波形又夠有問題了= =
而如果子機都沒有傳送訊號時,我發現差分訊號是 一個為高電位
一個為0電位,會是這個影響到的嗎?
請教各位高手,我該如何修正這問題,讓其中一檯子機傳送
出來的數據可以給主機正確收到呢?
謝謝您
***************************************************
我曾經有思考過,當某個子機要傳送資訊的同時,
其他子機就不能傳送訊號 ,並且要是 Hi-Z 的狀態,
但不知到要怎麼做才能夠有這個功能
**************************************************
|