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

tcp/ip相關(guān)文章:tcp/ip是什么
評論