通訊模塊:RS485的通訊是在小板上實現的,其通訊電路由UART接口和RS485驅動電路組成UART接口負責對接收和發送的數據進行處理,如:添加奇偶校驗位,起始位,結束位等。RS485驅動電路負責把UART發送的信號轉換為RS485的電氣特性的電平,把接收到的信號從RS485標準轉換為0~5V的標準數字信號。本文采用MAX485芯片實現RS485電氣特性的電平與0~5V的標準數字信號電平之間的轉換。在電路圖中,MAX485芯片內部有一個接收器和一個發送器組成,接收器通過A、B兩端來接收由RS485總線傳輸的電平信號,RO為接收器輸出端,通過光禍接單片機的RXD引腳;發送器通過DI引腳接收到由單片機傳送的數據后由A、B發送到RS485總線上,Dl為發送器輸入端,通過光耦接單片機的TXD引腳;/RE、DE引腳分別是接收器、發送器的使能端。由于MAX485芯片是半雙工工作,故/RE、DE可通過單片機的一個I/O口控制。通訊電路設計如圖所示:
當接收器輸入端(A、B)開路或總線浮空(總線上所有驅動器輸出為高阻)時,若接收器輸出低電平,則UART(通用異步收發器)可能認為是通信幀的“起始”而引起工作不正常,克服此問題的方法是在A端上拉電阻,再B端下拉電阻,從而保證A、B開路或浮空時,輸出處于確定狀態(輸出高電平)。