1.引言
MCS51單片機標準構成只有一組全雙工UART串行口,P3.0-RXD收、P3.1-TXD發,如果要完成多路串口收發,一般使用外部擴展芯片,例如:GM8123/25,完成一擴多路串口,但是,由于增加擴展芯片,造成硬件成本增加,PCB板面增大,抗干擾性下降等不良因素,因此能盡量使用現有串口,利用分時切換技術,完成串行口不同類型,不同端口的數據傳送是優先選擇。
2.硬件功能簡述
本設計用于數據采集監控系統如圖1所示。采用485串行口完成數據采集,和232串口輸出打印功能,這樣使得接口連線簡單,可靠性高。
RS-485工作特征:發送端:邏輯“1″兩線間的電壓差為+2至6V表示;邏輯”0″以兩線間的電壓差為-2至6V表示。接收端:A比B高200mV以上即認為是邏輯“1″,A比B低200mV以上即認為是邏輯”0″。RS485總線因其硬件設計和通信協議簡單、控制方便、成本低廉、傳輸距離遠以及可掛接多個從設備等優點,便于對分布式的各個現場測控設備實現集中控制,485現場總線技術得到了廣泛的應用。本設計采用MAX485E芯片,它是一款用于RS485和RS422通信的低功耗總線收發器,具有±15kV靜電放電沖擊保護和限擺率驅動特性,減小了電磁干擾和終端電纜反射,允許高達250kbps速率的無差錯數據傳輸。該芯片只需用5V的單電源電壓供電即可正常工作,而且在一條總線上最多可以連接32個負載。利用該芯片可以極大地簡化單片機和RS485總線的接口電路設計。
RS232接口是使用異步UART串行接口,其高低電平信號為-12V~+12V,因此抗干擾性優于TTL電平,傳送距離可達10多米,單片機與打印機數據交換就使用此種通信設計,它具有用線少,接口簡單可靠等優點。單片機TTL-RS232電平轉換接口電路采用Maxim公司生產的MAX232電平轉換芯片設計。MAX232芯片只需用5V的單電源供電,外加4個電容,就可實現單片機TTL電平和RS232電平之間的轉換,并直接驅動RS232總線進行數據傳輸,使用十分方便,其最高傳輸速率可達20kbps.
RS232/RS485在串口傳送中各有優缺點,在此做一簡單比較:
(1)從接線上,RS232是三線制(收、發、地),RS485是兩線制(A、B);(2)從傳輸距離上,RS232只能傳輸15米左右,RS485最遠可以傳輸1200米;(3)從速率上,RS232是全雙工傳輸,RS485是半雙工傳輸;(4)從協議層上,RS232只支持點對點通訊(1:1),RS485支持總線形式通訊(1:N)。在本設計中RS232被用于距離不遠的打印機點對點串口輸出;而數據采集則需要在多個端點設備上,且距離較遠的地方收集,于是采用了RS485總線技術來實現。單片機一組串口要完成兩組不同電平傳送,關鍵是需要分時切換串口模式,本設計采用模擬開關CD4053芯片,通過P1.5控制完成了485、232串口分離,利用完成軟件分時輸入、輸出處理功能。該電路實現簡單,硬件資源利用率高。
本設計打印機RS232通訊協議方式采用ASCII方式。默認數據格式為:1位起始位,8位數據位,1位停止位,無奇偶校驗,波特率為2400bps.RS485采用半雙工模式,由P1.3控制收/發功能,其串口分配電路如圖2所示。
3.軟件功能簡介
本系統根據不同功能,由幾十個子程序模塊組成,現將相關串口分配實現數據收發的程序進行簡要分析(匯編語言描述)
4.結論
本設計通過模擬開關CD4053將一路單片機串行口收發信號,分時轉換成兩路串行口,然后使用不同的接口芯片,實現了RS232和485總線同在一個系統下分時完成了通信工作。該設計優點:充分利用了串行口數據傳輸線少的優勢,接口簡單,并節省了不必要的硬件開銷,增加了信息傳送的可靠性。