rs-485標準介面是微控制器系統常用的一種序列匯流排之一。採用半雙工通訊方式,它文成ttl電平轉換為rs-485電平的功能。
以max485晶元為例,其結構和引腳都非常簡單,內部含有乙個驅動器和接收器。max485的封裝有dip、so和umax三種。
dip封裝如下
管腳的功能如下:
r0:接收器輸出端,若a比b大200mv,ro為高(接收為高電平);反之則接收為低電平。
re: 接收器使能端,re為低時,ro有效(接收有效);re為高,ro呈高阻狀態。
de:驅動器使能端,de=1,di有效(輸出有效);若de=0,則di呈高阻態。
di:驅動輸入端。di=0,有a=0,b=1; di=1,則a=1,b=0。
gnd:接地
a:同相接收器輸入和同相驅動器輸出。
b:反相接收器輸入和反相驅動器輸出
vcc:電源端,一般接3.3v(5v)。
以下為典型的485工作電路,平衡電阻rp通常取100~300歐姆。
rs485一種比較常用的現場匯流排,運用領域比較廣泛。
曾經寫好的485程式,過段時間貌似好像又不行了,似乎沒有改**。程式莫名其妙被更改了,可能麼 ? 答案是no。
那麼應該是硬體上有問題,就要進行485功能除錯,排除故障。假設硬體設計上沒有問題。
出現過故障:
1、485通訊能發不能收?
2、485傳送不正常?
3. 485通訊亂碼(非波特率問題)
工具:電腦(usb轉串列埠ttl再轉rs485) 板上(uart口/rs485)
總的來說乙個485程式經過以下幾步除錯應該ok。
1、確定板上uart與電腦通訊正常(不經過485,證明mcu和電腦通訊正常)。
2、切換各種波特率,uart與電腦通訊
3、擦除板上程式,使用電腦usb-->ttl->rs485->rs485->ttl與電腦進行通訊(若通訊不正常,則一定是rs485部份存在問題,實現電腦通過兩個485通訊)
4、切換各波特率再與電腦進行通訊
)485通訊能發不能收:使能re/de始終置1,
485傳送:使能re/de始終清零。
總結——乙個ic器件的硬體除錯
1、熟悉ic器件的datasheet,每個管腳在不同功能是的不同配置,以及不同功能的時序圖,保證軟體邏輯沒有問題。
2、確定各管腳有沒有虛焊、短路、短路,特別是電源和地不能短路。在上電後,確保各管腳輸入沒有問題。可以用無水酒精把板子擦洗一般,因為在除錯過程中某些管腳總會搞進點汙穢,引起短路,這個方法可以解決大約40%板子突然罷工的問題(確認是板上問題)。
3.在2的基礎上如直接輸出有問題,則很大的概率是ic器件掛了(一般很皮實的)
4.經過介面線外接器件時,外接器件收到有問題,很有可能是介面線問題,一般通說一步一步沿著訊號傳輸的方向查詢問題。
rs485除錯軟體 RS485 三種硬體電路設計
rs485介面具有抗干擾性強,適合長距離傳輸和多站點通訊等特點,因此在工業控制中被普遍使用。微控制器只有uart介面,如果需要使用rs485通訊,需要外面加乙個transceiver。由於rs485工作在半雙工模式,因此傳送和接收的方向切換是設計過程中的乙個重要問題。通常的介面電路有以下三種 1 第...
硬體除錯經驗
以前覺得虛焊 短路 斷路是很簡單 很容易解決的問題。虛焊 短路 斷路雖然很簡單,但是如果你碰到其中一種情況,可能要除錯大半天才能發現問題所在,所以這些越基本的東西,更值得注意,無謂在這上面浪費除錯時間。而且如果遇到這些簡單的問題解決不出來,去麻煩高手,小心被bs啊。除錯的步驟一般就是先弄清楚系統有多...
RS485匯流排除錯總結
原文 rs485匯流排除錯總結 這裡把這三天來除錯rs485匯流排所遇到的問題和經驗教訓總結一下,備忘。這兩天主要做的是把keller 30x系列工業用壓力變送器的rs485介面和stm32微控制器聯通,並將資料通過usb口 到pc上。我首先直接使用keller 30x連線電腦的rs485介面,這自...