|
樓主(閱讀:4326/回復:0)RS485應用中的常見問題之三故障保護 故障保護技術是近兩年產生的,一些新的RS-485芯片都采用了此項技術,如SN75276,MAX3080-MAX3089.什么是故障保護,為什么要有故障保護,如果沒有故障保護會產生什么后果? 眾所周知,RS-485接口采用的是一種差分傳輸方式,各節點之間的通信都是通過一對(半雙工)或二對(全雙工)雙絞線作為傳輸介質的.根據RS-485的標準規定,接收器的接收靈敏度為±200mv,即接收端的差分電壓大于等于±200mv時, 接收器輸出為高電平;小于等于-200mv時,接收器輸出為低電平;介于±200mv之間時,接收器輸出為不確定狀態.在總線空閑即傳輸線上所有節點都為接收狀態,以及在傳輸線開路或短路故障時,若不采取特殊措施,則接收器可能輸出高電平也可能輸出低電平.一旦某個節點的接收器產生低電平就會使串行接收器(UART)找不到起始位,從而引起通信異常.解決此類問題的方法可以從以下兩個方面來考慮: 硬件方面 使用帶故障保護的芯片,它會在總線開路,短路和空閑情況下,使接收器的輸出為高電平.確?偩空閑,短路時接收器輸出高電平是由改變接收器輸入門限來實現的.例如,MAX3080-MAX3089輸入靈敏度為-50mV/-200mV, 則差分接收器輸入電壓UA-B≧-50mV時,接收器輸出邏輯高電平,如果UA-B≦200mV,則輸出邏輯低電平.當接收器輸入端總線適中或總線上所有發送器被禁止時,接收器差分輸入端為0V,從而使接收器輸出高電平.同理,SN75276的靈敏度為0mV/-300mV ,因而達到故障保護的目的.軟件方面 若使用不帶故障保護的芯片,如SN75176,MAX1487等,可在軟件上做一些處理,從而避免通信異常.即在進入正常的數據通信之間,由主機預告將總線驅動為大于+200mV ,并保持一段時間,使所有節點的接收器產生高電平輸出.這樣,在發出有效數據時,所有接收器能夠正確地接收到起始位,進而接收到完整的數據. 歡迎使用串口論壇 波仕與您暢游RS232/RS485串口的世界
|