RS232串行數據截取器的設計方案
很多設備和其控制計算機之間采用的是RS 232標準串行接口進行通信,本文設計和實現了RS 232串行通信數據截取器,能有效地截取設備與其控制計算機之間的通信數據。
1 截取器硬件部分設計
1.1 總體框圖及原理
系統原理框圖如圖1所示。
原理分析:具體設備與其控制計算機之間的通信線路通過電平轉換分兩路。一路是直接相連,保證截取器加入后不會影響它們之間的正常通信。另一路經過擴展的串口1和2,同單片機相連,保證了它們之間的通信數據能夠被單片機捕獲,這些數據經過單片機處理以后通過另一個擴展串口傳輸到上位機,實現對通信數據的截取。
1.2 器件選擇
系統以常用的AT89C51單片機為處理核心,選取成都國騰公司生產的GM8123芯片將AT89C51單片機的1個全雙工異步串行通信接口擴展成為3個全雙工異步串行通信接口,采用MAX232芯片實現RS 232電平與TTL電平之間的相互轉換。
1.3 硬件電路
系統完整的電路原理圖如圖2所示。系統電路包括三個部分:單片機最小系統、串口擴展電路和電平轉換電路。
單片機最小系統,包括電源電路、時鐘電路和復位電路,S1,S2做波特率控制開關,分別控制P0.0,P0.1的值從00~11,對應波特率為1 200~9 600 b/s。
串口擴展電路由GM8123構成,其時鐘電路采用12 MHz的石英晶體振蕩器構成內部時鐘方式。GM8123的母串口接收引腳RXD0和發送引腳TXD0分別同單片機串口的發送引腳TXD和接收引腳RXD相連接。GM8123的復位引腳同單片機P3.6腳相連接,由P3.6控制GM8123系統復位,它的模式控制引腳MS同P3.7相連接,由P3.7進行模式選擇。GM8123的發送地址線引腳STADD0,STADD1,接收地址引腳SRADD0,SRADD1依次同單片機P1口的P1.0~P1.3相連接,由單片機P1口判斷是哪個子串口接收數據和選取某個子串口發送數據。
電平轉換電路由兩片MAX232芯片完成,實現J1,J2,J3的RS 232電平與TTL電平之間的相互轉換。
2 軟件設計
系統軟件有兩種工作模式,模式1的軟件設計是實現截取數據的實時發送,截取器工作時不能脫離上位機。模式2的軟件設計是實現截取數據的存儲轉發,截取器可以脫離上位機工作。
2.1 主程序流程設計

51單片機相關文章:51單片機教程
評論