新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于μC/OS-II和TCP/IP協(xié)議的多串口服務(wù)器

基于μC/OS-II和TCP/IP協(xié)議的多串口服務(wù)器

作者: 時(shí)間:2011-09-12 來(lái)源:網(wǎng)絡(luò) 收藏
SC28L198的系統(tǒng)時(shí)鐘(SCLK)可同時(shí)作為主機(jī)接口和其他內(nèi)部電路的基本時(shí)間基準(zhǔn)。為了確保內(nèi)部控制器的正確操作,提供的SCLK頻率必須大于X1晶體時(shí)鐘的2倍或任何外部的1X數(shù)據(jù)時(shí)鐘輸入。由于LM8962芯片本身沒有提供時(shí)鐘信號(hào)輸出引腳,若由定時(shí)器中斷產(chǎn)生7.3728MHz以上頻率的方波信號(hào)將使LM8962頻繁處理中斷程序,影響程序執(zhí)行效率。當(dāng)SC28L198工作在50MHz頻率下,其中的PWM硬件模塊最高可以產(chǎn)生25MHz輸出,且不產(chǎn)生任何中斷,因此LM8962將從頻繁的查詢和處理中斷中解脫出來(lái)。

本文引用地址:http://2s4d.com/article/150228.htm

  在該系統(tǒng)中,需根據(jù)不同的應(yīng)用場(chǎng)合使用RS-232收發(fā)器或RS-422/485收發(fā)器及其外圍電路。使用RS-232收發(fā)器可以進(jìn)行近距離全雙工通信,使用RS-422/485收發(fā)器能夠進(jìn)行遠(yuǎn)距離數(shù)據(jù)傳輸。由于整個(gè)系統(tǒng)工作于3.3V電壓下,為了匹配TTL電平和RS-232電平或RS-422/485電平,該電路采用MAX3232芯片或MAX3485芯片。

  LM8962內(nèi)部集成的以太網(wǎng)控制器包含一個(gè)完整的MAC模塊和PHY接口器件,簡(jiǎn)化了硬件電路設(shè)計(jì)。該以太網(wǎng)控制器完全支持10BASE-T和100BASE-TX標(biāo)準(zhǔn)以及遵守IEEE802.3。整個(gè)系統(tǒng)連接以太網(wǎng)只需一個(gè)隔離變壓器,無(wú)需外接以太網(wǎng)控制芯片,簡(jiǎn)化了硬件設(shè)計(jì)。隔離變壓器能夠隔離模塊地和數(shù)字地,從而保證SC28L198能夠遠(yuǎn)離外界的復(fù)雜信號(hào)。

  3 軟件設(shè)計(jì)

  在該系統(tǒng)中,用戶可以對(duì)的配置、狀態(tài)查詢和在計(jì)算機(jī)(客戶端)上通過(guò)以太網(wǎng)收發(fā)數(shù)據(jù)進(jìn)而操作該。在客戶端上,8個(gè)SC28L198的通道被虛擬成8個(gè)COM接口。操作這些虛擬COM接口就如同操作計(jì)算機(jī)上的物理COM接口,因此用戶不必知道數(shù)據(jù)是通過(guò)以太網(wǎng)進(jìn)行傳輸。實(shí)際上,用戶操作這些COM接口時(shí),產(chǎn)生的命令和數(shù)據(jù)將被打包成一幀數(shù)據(jù)并發(fā)往處理器LM8962,然后LM8962將數(shù)據(jù)通過(guò)SC28L198的相應(yīng)通道發(fā)送到設(shè)備上。使用ARM處理器LM8962作為嵌入式設(shè)備的核心器件,在其上運(yùn)行μ操作系統(tǒng)來(lái)打開、關(guān)閉和管理8個(gè)串行通道的相應(yīng)進(jìn)程。因此,8個(gè)串行通道能夠同時(shí)收發(fā)數(shù)據(jù)而不相互影響。

  3.1μ

  μ是免費(fèi)開源、專門為嵌入式系統(tǒng)設(shè)計(jì)的實(shí)時(shí)操作系統(tǒng)。它包括任務(wù)計(jì)劃、任務(wù)管理、時(shí)間管理、內(nèi)存管理、任務(wù)間的通信以及其他一些基本功能。在該系統(tǒng)中采用μC/OS-II來(lái)實(shí)現(xiàn)以下功能:

  (1)建立一個(gè)消息隊(duì)列來(lái)存儲(chǔ)串口通道的消息和UDP消息;(2)控制SC28L198收發(fā)串口數(shù)據(jù);(3)建立一個(gè)任務(wù)來(lái)管理UDP通信,并通過(guò)以太網(wǎng)收發(fā)數(shù)據(jù);(4)建立一個(gè)任務(wù)來(lái)管理串口通道收發(fā)任務(wù)與UDP通信任務(wù)之間的通信。

  3.2模塊

  具有分層結(jié)構(gòu),能夠?qū)崿F(xiàn)對(duì)以太網(wǎng)數(shù)據(jù)幀進(jìn)行打包和解包。UDP在的傳輸層,提供一種不可靠的數(shù)據(jù)傳輸服務(wù),但UDP相對(duì)簡(jiǎn)單,比起TCP協(xié)議更能夠提供實(shí)時(shí)和快速的數(shù)據(jù)傳輸。在正常的運(yùn)行過(guò)程中,該TCP/IP程序模塊能夠從數(shù)據(jù)隊(duì)列中獲取串口通信的數(shù)據(jù)并將數(shù)據(jù)打包至UDP包中,然后將UDP包發(fā)送至IP層,最后形成一幀數(shù)據(jù)。該幀數(shù)據(jù)將會(huì)通過(guò)以太網(wǎng)發(fā)送到計(jì)算機(jī)中。與此同時(shí),該程序模塊還將從以太網(wǎng)接收到的數(shù)據(jù)解包出來(lái),將其中的串口通道號(hào)和串口數(shù)據(jù)發(fā)送到SC28L198中去。表1描述了收發(fā)一幀數(shù)據(jù)的格式。

  表1數(shù)據(jù)傳輸格式

  

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




評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉