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