RS485/RS232轉換器實現的串行通信
在電參數儀的設計中,數據采集由單片機AT89C52負責,上位PC機主要負責通信(包括與單片機之間的串行通信和數據的遠程通信),以及數據處理等工作。在工作中,單片機需要定時向上位PC機傳送大批量的采樣數據。通常,主控PC機和由單片機構成的現場數據采集系統相距較遠,近則幾十米,遠則上百米,并且數據傳輸通道環境比較惡劣,經常有大容量的電器(如電動機,電焊機等)啟動或切斷。為了保證下位機的數據能高速及時、安全地傳送至上位PC 機,單片機和PC機之間采用RS485協議的串行通信方式較為合理。
本文引用地址:http://www.104case.com/article/201612/330824.htm實際應用中,由于大多數普通PC機只有常用的RS232串行通信口,而不具備RS485通信接口。因此,為了實現RS485協議的串行通信,必須在PC機側配置RS485/RS232轉換器,或者購買適合PC機的RS485卡。這些附加設備的價格一般較貴,尤其是一些RS485卡具有自己獨特的驅動程序,上位PC機的通信一般不能直接采用WINDOW95/98環境下有關串口的WIN32通信API函數,程序員還必須熟悉RS485卡的應用函數。為了避開采用RS485通信協議的上述問題,我們決定自制RS485/RS232轉換器
來實現單片機和PC機之間的通信。
單片機和PC機之間的RS485通信硬件接口電路的框圖,如圖1所示。
從圖1可看出,單片機的通信信號首先通過光隔,然后經過RS485接口芯片,將電平信號轉換成電流環信號。經過長距離傳輸后,再通過另一個RS485接口芯片,將電流環信號轉換成電平信號。
該電平信號再經過光電隔離,最后由SR232接口芯片,將該電平信號轉換成與PC機RS232端口相兼容的RS232電平。由于整個傳輸通道的兩端均有光電隔離,故無論是PC機還是單片機都不會因數據傳輸線上可能遭受到的高壓靜電等的干擾而出現“死機”現象。
2、接口電路的具體設計
2.1單片機側RS485接口電路的設計
單片機側RS485接口電路如圖2所示。
AT89C52單片機的串行通信口P30(RXD)和P31(TXD)的電平符合TTL/CMOS標準(邏輯“0”的電平范圍為 0V~0.8V,邏輯“1”的電平為24V~VCC),它們首先通過光電隔離器件6N137隔離,以保護單片機不受傳輸通道的干擾影響,其中T01和 T02是為了增加光隔輸入端的驅動能力。光隔6N137的左側電源與單片機相同,右側必須采用另一組獨立的+5V電源,且兩組電源不能供電。
評論