當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于LPC2364的串口轉(zhuǎn)網(wǎng)口專(zhuān)用協(xié)議卡的研制

摘要:給出了采用LPC2364芯片為處理器,并利用以太網(wǎng)中TCP協(xié)議來(lái)設(shè)計(jì)串口轉(zhuǎn)網(wǎng)口模塊,從而實(shí)現(xiàn)數(shù)據(jù)傳輸方式轉(zhuǎn)換的一種設(shè)計(jì)方法。該方法中的軟件采用FreerRtos實(shí)時(shí)多任務(wù)嵌入式系統(tǒng)和uIP協(xié)議棧來(lái)實(shí)現(xiàn)串口數(shù)據(jù)通訊和網(wǎng)口數(shù)據(jù)通訊兩項(xiàng)任務(wù)。文中同時(shí)給出了系統(tǒng)框圖和主程序流程圖。
關(guān)鍵詞:TCP/IP協(xié)議;LPC2364;uIP;FreeRTOS;串口轉(zhuǎn)網(wǎng)口

O 引言
    串口轉(zhuǎn)網(wǎng)口模塊是一個(gè)可以讓串口設(shè)備立即具備聯(lián)網(wǎng)能力的設(shè)備聯(lián)網(wǎng)服務(wù)器。它具有1個(gè)可選擇界面串口和1個(gè)TCP/IP網(wǎng)絡(luò)接口,可讓串口設(shè)備立即連接網(wǎng)絡(luò)。從而實(shí)現(xiàn)工業(yè)設(shè)備完全自動(dòng)化聯(lián)網(wǎng)管理。該模塊體積小,非常容易整合在系統(tǒng)或設(shè)備內(nèi),而且可以適應(yīng)復(fù)雜的網(wǎng)絡(luò)。為此,本文給出了采用LPC2364、DP83848C、SP3485和H2019等芯片構(gòu)成一個(gè)串口轉(zhuǎn)網(wǎng)口模塊的軟硬件實(shí)現(xiàn)方法。

1 uIP介紹
    uIP是由瑞典計(jì)算機(jī)科學(xué)學(xué)院(網(wǎng)絡(luò)嵌入式系統(tǒng)小組)的Adam Dunkels開(kāi)發(fā)的一種軟件協(xié)議棧。該協(xié)議棧的源代碼由C語(yǔ)言編寫(xiě),并完全公開(kāi)。uIP協(xié)議棧去掉了完整的TCP/IP中不常用的功能,簡(jiǎn)化了通訊流程,但保留了網(wǎng)絡(luò)通信必須使用的協(xié)議。它把設(shè)計(jì)重點(diǎn)放在了IP/TCP /ICMP/UDP/ARP這些網(wǎng)絡(luò)層和傳輸層協(xié)議上,故可保證其代碼的通用性和結(jié)構(gòu)的穩(wěn)定性。
    由于uIP協(xié)議棧是專(zhuān)門(mén)為嵌入式系統(tǒng)而設(shè)計(jì)的。因此,uIP還具有如下優(yōu)越功能:
    ◇代碼非常少,其協(xié)議棧代碼不到6K,很方便閱讀和移植。
    ◇占用的內(nèi)存數(shù)非常少,RAM占用僅幾百字節(jié)。
    ◇其硬件處理層、協(xié)議棧層和應(yīng)用層共用一個(gè)全局緩存區(qū),且不存在數(shù)據(jù)的拷貝,發(fā)送和接收都是依靠這個(gè)緩存區(qū),故可極大地節(jié)省空間和時(shí)間。
    ◇支持多個(gè)主動(dòng)連接和被動(dòng)連接并發(fā)。
    ◇源代碼中提供的實(shí)例程序包括web服務(wù)器、web客戶(hù)端、電子郵件發(fā)送程序(SMTP客戶(hù)端)、Telnet服務(wù)器、DNS主機(jī)名解析程序等。而且通用性強(qiáng),移植后基本不用修改就可以通過(guò)。
    ◇對(duì)數(shù)據(jù)的處理采用輪循機(jī)制,不需要操作系統(tǒng)的支持。
    由于uIP對(duì)資源的需求較少且移植很容易,因此,大部分具有小RAM的微控制器都可以使用uIP協(xié)議棧。

2 FreeRTOS介紹
    FreeRTOS是一款可移植且源代碼開(kāi)放的微型實(shí)時(shí)內(nèi)核??蔀槎喾N不同的處理器架構(gòu)和開(kāi)發(fā)工具提供移植包。每個(gè)官方移植包都包含一個(gè)配置好的應(yīng)用范例,可用來(lái)展示內(nèi)核特性,加快學(xué)習(xí)進(jìn)程。
    FreeRTOS是一種專(zhuān)為小型嵌入式系統(tǒng)設(shè)計(jì)的,可擴(kuò)展的實(shí)時(shí)內(nèi)核。其亮點(diǎn)在于其設(shè)計(jì)遵循小型、簡(jiǎn)單、易用的原則,同時(shí)可支持任務(wù)(tasks)和協(xié)程(co-routines)以及隊(duì)列、二進(jìn)制信號(hào)量、計(jì)數(shù)信號(hào)量、遞歸信號(hào)量和互斥量等,可用于任務(wù)之間、任務(wù)和中斷之間的通信和同步。

3 串口轉(zhuǎn)網(wǎng)口模塊的硬件實(shí)現(xiàn)
    串口轉(zhuǎn)網(wǎng)口模塊使用到的芯片有LPC2364、DP83848C、SP3485和H2019,其系統(tǒng)的硬件電路圖如圖1所示。

4 串口轉(zhuǎn)網(wǎng)口模塊的軟件實(shí)現(xiàn)
    本串口轉(zhuǎn)網(wǎng)口模塊的軟件需要建立兩個(gè)任務(wù),一是初始化,二是任務(wù)調(diào)度。其中初始化包括時(shí)鐘初始化,協(xié)議棧初始化,IP地址初始化,網(wǎng)關(guān)地址初始化,子網(wǎng)掩碼初始化,網(wǎng)口初始化。串口初始化等。其主函數(shù)代碼如下:
   

[!--empirenews.page--]
     
    圖2所示是其主函數(shù)流程圖。主函數(shù)中可進(jìn)行uIP協(xié)議棧初始化和串口初始化的并使并設(shè)置,同時(shí)通過(guò)操作系統(tǒng)初始化來(lái)建立兩個(gè)通訊任務(wù),然后就可以開(kāi)始操作系統(tǒng)的任務(wù)調(diào)度。圖3所示是系統(tǒng)中的串口任務(wù)控制流程。

               

5 協(xié)議轉(zhuǎn)換卡的通訊試驗(yàn)
    本文的協(xié)議轉(zhuǎn)換卡并不是通用意義上的協(xié)議轉(zhuǎn)換卡,而是基于特定串口通訊協(xié)議的轉(zhuǎn)換卡。該卡在規(guī)定的協(xié)議中,由網(wǎng)口接收到的數(shù)據(jù)可以分為兩種,一種是控制命令,一種是查詢(xún)命令。在軟件中,串口任務(wù)和網(wǎng)口任務(wù)有兩個(gè)共享的數(shù)據(jù)緩沖區(qū),通過(guò)串口任務(wù)可檢查緩沖區(qū),如果緩沖區(qū)中有數(shù)據(jù),則根據(jù)通訊協(xié)議判斷這些數(shù)據(jù)是否是正確的指令,若是正確的指令,則判斷是查詢(xún)命令還是控制命令,若是控制命令,則將此控制命令發(fā)送出去,并清空緩沖區(qū);若是查詢(xún)命令,網(wǎng)口任務(wù)則會(huì)到另一個(gè)緩沖區(qū)中取出數(shù)據(jù),并用協(xié)議棧將此數(shù)據(jù)發(fā)送出去,同時(shí)清空緩沖區(qū)。通過(guò)用TCP通訊客戶(hù)端檢測(cè)工具和串口調(diào)試助手調(diào)試可以發(fā)現(xiàn),如果TCP通訊客戶(hù)端發(fā)出的是查詢(xún)命令,則網(wǎng)口任務(wù)自動(dòng)到預(yù)定的緩沖區(qū)取出數(shù)據(jù),并發(fā)送出來(lái),同時(shí)在TCP通訊客戶(hù)端上顯示出來(lái);如果TCP通訊客戶(hù)端發(fā)出的是控制命令,則等待串口調(diào)試助手的返回?cái)?shù)據(jù)。如果有返回,則在TCP通訊客戶(hù)端上顯示出來(lái);如果串口助手沒(méi)有返回,軟件控制則一直發(fā)送控制命令,直到收到正確的回復(fù)。

6 結(jié)束語(yǔ)
    本文所設(shè)計(jì)串口轉(zhuǎn)網(wǎng)口的轉(zhuǎn)換卡是具有串口通訊協(xié)議的轉(zhuǎn)換卡。協(xié)議卡對(duì)收到的數(shù)據(jù)會(huì)進(jìn)行分析和判斷,進(jìn)而決定數(shù)據(jù)的發(fā)送方式,從而實(shí)現(xiàn)FreeRTOS操作系統(tǒng)和uIP協(xié)議棧的結(jié)合。此外,由于FreeRTOS操作系統(tǒng)和uIP協(xié)議棧對(duì)用戶(hù)而言是透明的,因此,該模塊可以方便地隨時(shí)修改串口通訊速率、串口通訊格式、IP地址、網(wǎng)關(guān)、子網(wǎng)掩碼等功能.并充分利用FreeRTOS操作系統(tǒng)的穩(wěn)定性與可靠性以及實(shí)時(shí)性好等特點(diǎn),同時(shí)可發(fā)揮以太網(wǎng)通訊效率高的特點(diǎn),來(lái)為實(shí)施數(shù)據(jù)轉(zhuǎn)換提供方便。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉