《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于LPC2364的串口轉(zhuǎn)網(wǎng)口專用協(xié)議卡的研制
基于LPC2364的串口轉(zhuǎn)網(wǎng)口專用協(xié)議卡的研制
電子元器件應(yīng)用
田 濤,,謝 華 電子科技大學(xué)
摘要: 本文所設(shè)計串口轉(zhuǎn)網(wǎng)口的轉(zhuǎn)換卡是具有串口通訊協(xié)議的轉(zhuǎn)換卡。協(xié)議卡對收到的數(shù)據(jù)會進(jìn)行分析和判斷,,進(jìn)而決定數(shù)據(jù)的發(fā)送方式,,從而實現(xiàn)FreeRTOS操作系統(tǒng)和uIP協(xié)議棧的結(jié)合。此外,,由于FreeRTOS操作系統(tǒng)和uIP協(xié)議棧對用戶而言是透明的,,因此,該模塊可以方便地隨時修改串口通訊速率,、串口通訊格式,、IP地址、網(wǎng)關(guān),、子網(wǎng)掩碼等功能.并充分利用FreeRTOS操作系統(tǒng)的穩(wěn)定性與可靠性以及實時性好等特點,,同時可發(fā)揮以太網(wǎng)通訊效率高的特點,,來為實施數(shù)據(jù)轉(zhuǎn)換提供方便。
Abstract:
Key words :

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

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

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

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

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

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


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

               

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

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。