基于μC/OS-II和TCP/IP協議的多串口服務器
在該系統中,需根據不同的應用場合使用RS-232收發器或RS-422/485收發器及其外圍電路。使用RS-232收發器可以進行近距離全雙工通信,使用RS-422/485收發器能夠進行遠距離數據傳輸。由于整個系統工作于3.3V電壓下,為了匹配TTL電平和RS-232電平或RS-422/485電平,該電路采用MAX3232芯片或MAX3485芯片。
LM8962內部集成的以太網控制器包含一個完整的MAC模塊和PHY接口器件,簡化了硬件電路設計。該以太網控制器完全支持10BASE-T和100BASE-TX標準以及遵守IEEE802.3協議。整個系統連接以太網只需一個隔離變壓器,無需外接以太網控制芯片,簡化了硬件設計。隔離變壓器能夠隔離模塊地和數字地,從而保證SC28L198能夠遠離外界的復雜信號。
3 軟件設計
在該系統中,用戶可以對串口服務器的配置、狀態查詢和在計算機(客戶端)上通過以太網收發數據進而操作該串口服務器。在客戶端上,8個SC28L198的通道被虛擬成8個COM接口。操作這些虛擬COM接口就如同操作計算機上的物理COM接口,因此用戶不必知道數據是通過以太網進行傳輸。實際上,用戶操作這些COM接口時,產生的命令和數據將被打包成一幀數據并發往處理器LM8962,然后LM8962將數據通過SC28L198的相應通道發送到設備上。串口服務器使用ARM處理器LM8962作為嵌入式設備的核心器件,在其上運行μC/OS-II操作系統來打開、關閉和管理8個串行通道的相應進程。因此,8個串行通道能夠同時收發數據而不相互影響。
3.1μC/OS-II
μC/OS-II是免費開源、專門為嵌入式系統設計的實時操作系統。它包括任務計劃、任務管理、時間管理、內存管理、任務間的通信以及其他一些基本功能。在該系統中采用μC/OS-II來實現以下功能:
(1)建立一個消息隊列來存儲串口通道的消息和UDP消息;(2)控制SC28L198收發串口數據;(3)建立一個任務來管理UDP通信,并通過以太網收發數據;(4)建立一個任務來管理串口通道收發任務與UDP通信任務之間的通信。
3.2TCP/IP模塊
TCP/IP協議具有分層結構,能夠實現對以太網數據幀進行打包和解包。UDP在TCP/IP的傳輸層,提供一種不可靠的數據傳輸服務,但UDP協議相對簡單,比起TCP協議更能夠提供實時和快速的數據傳輸。在正常的運行過程中,該TCP/IP程序模塊能夠從數據隊列中獲取串口通信的數據并將數據打包至UDP包中,然后將UDP包發送至IP層,最后形成一幀數據。該幀數據將會通過以太網發送到計算機中。與此同時,該程序模塊還將從以太網接收到的數據解包出來,將其中的串口通道號和串口數據發送到SC28L198中去。表1描述了收發一幀數據的格式。
表1數據傳輸格式

tcp/ip相關文章:tcp/ip是什么
評論