<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 通用可靠的串口/以太網(wǎng)網(wǎng)關(guān)設計

通用可靠的串口/以太網(wǎng)網(wǎng)關(guān)設計

作者: 時(shí)間:2012-07-18 來(lái)源:網(wǎng)絡(luò ) 收藏

2. 1. 1 RT-Thread實(shí)時(shí)操作系統
為實(shí)現,選用了實(shí)時(shí)操作系統RT-Thread。RT-Thread是一款國內的開(kāi)源實(shí)時(shí)操作系統,并且商業(yè)許可證非常寬松,由國內一些專(zhuān)業(yè)開(kāi)發(fā)人員開(kāi)發(fā)、維護。RT-Thrcad不僅是一款高效、穩定的實(shí)時(shí)核心,也是一套面向嵌入式系統的軟件平臺,覆蓋了全搶占的實(shí)時(shí)操作系統內核小巧的文件系統、輕型的TCP/IP協(xié)議棧以及輕型的圖形用戶(hù)界面。

本文引用地址:http://dyxdggzs.com/article/148750.htm

h.JPG


圖5是RT-Thread及外圍組件的基本框架圖。RT-Thread的使用范圍極為靈活,可以從資源極度緊張的小型系統到帶內存管理單元、網(wǎng)絡(luò )功能的基本計算單元。RT-Thread有著(zhù)高度可配置、易裁減、可擴展性好和性高等特點(diǎn),適用于嵌入式實(shí)時(shí)系統。
2. 1.2 Mini2440開(kāi)發(fā)板
硬件平臺使用了Mini2440開(kāi)發(fā)板,Mini2440是一款ARM9開(kāi)發(fā)板,微處理器采用三星公司的S3C2440芯片,具有64 MB SDRAM、128 MB/256 MB/1 GB大小可選的NAND F1ash和2 MB NOR Flash,外設包括1個(gè)100MRJ-45口(采用DM9000網(wǎng)卡)和3個(gè)等。
2.2 實(shí)現
2. 2.1 軟件相關(guān)
如圖2所示,系統使用了3個(gè)線(xiàn)程:接收線(xiàn)程、Socket發(fā)送線(xiàn)程和Socket接收線(xiàn)程,下面對這3個(gè)線(xiàn)程作具體介紹:
接收線(xiàn)程。以阻塞的方式接收“UART_RX_IRQ_EVENT”事件,接收到此事件后,從串口環(huán)形接收緩沖中解析串口幀,當有數據幀需要向發(fā)送時(shí),便將該數據幀的首地址以郵件的方式給Socket發(fā)送線(xiàn)程。而在RT_Thread中,郵件的存儲方式本質(zhì)是雙向循環(huán)隊列。
②Socket發(fā)送線(xiàn)程。以阻塞的方式接收來(lái)自串口接收線(xiàn)程的指針郵件,接收到此類(lèi)郵件后,Socket發(fā)送線(xiàn)程將指針指向的數據封裝成Socket幀發(fā)送。
③Socket接收線(xiàn)程。用于從接收數據,并緩存解析數據幀,調用串口發(fā)送接口函數,將收到的數據幀封裝成串口幀并插入串口發(fā)送隊列。
串口收/發(fā)工作于中斷方式,可以連續發(fā)送串口發(fā)送隊列中緩存的待發(fā)送幀和從串口接收字節數據并寫(xiě)入串口的環(huán)形接收緩存。在接收到等于EFD的字節時(shí),向串口接收線(xiàn)程發(fā)送一個(gè)“UART_RX_IRQ_EVENT”事件,通知串口接收線(xiàn)程環(huán)形緩存中可能存在一個(gè)完整的幀。
串口幀發(fā)送完畢后等待確認幀的時(shí)間計時(shí)使用了RT-Thrcad提供的定時(shí)器,并且在定時(shí)器的超時(shí)函數中處理幀重發(fā)問(wèn)題。
在軟件實(shí)現過(guò)程中遇到了一個(gè)問(wèn)題:在RT-Thread操作系統的中斷程序中不能申請和釋放動(dòng)態(tài)內存,而串口中斷發(fā)送程序往發(fā)送完一個(gè)幀后,如果該幀是確認幀或非確認幀但達到了最大發(fā)送次數,那么需要從待發(fā)送隊列刪除該幀并釋放對應的動(dòng)態(tài)內存。這就存在矛盾,系統小能提供中斷程序釋放內存的功能,但實(shí)際應用又需要此功能。
為此,程序中專(zhuān)門(mén)設置了一個(gè)刪除隊列,當中斷程序需要釋放發(fā)送幀時(shí),將對應幀插入刪除隊列,并向串口接收線(xiàn)程發(fā)送一個(gè)刪除事件“UART_TX_DEL_EVENT”,在串口接收線(xiàn)程中接收到此事件后再來(lái)釋放隊列中的幀,這就避免了在串口發(fā)送中斷程序中直接釋放動(dòng)態(tài)內存。
2.2.2 硬件相關(guān)
在硬件方面,為提高串口通信的性,也做了相應處理。
S3C2440微處理器的串口具有兩種工作模式:非FIFO模式和FIFO模式。在FIFO模式中,串口發(fā)送和接收分別具有64字節的硬件FIFO緩沖,使用硬件緩沖,能顯著(zhù)地減少串口發(fā)送和接收中斷產(chǎn)生的次數,進(jìn)而減小止常程序被中斷的頻率,提高系統性能。并且使用接收FIFO后,在處理器不能及時(shí)跳轉到串口接收中斷程序的情況下,由于硬件FIFO的存在,使得串口數據丟失的可能性減小。所以,中S3C2440微處理器的串口使用了FIFO模式。
另外,S3C2440微處理器的串口還具有硬件自動(dòng)流控制功能,當與網(wǎng)關(guān)相連的串口設備也具有硬件自動(dòng)流控制功能時(shí),開(kāi)啟此功能。在開(kāi)啟此功能的情況下,當通信的某一端不能及時(shí)讀取接收緩沖中的數據時(shí),硬件自動(dòng)流控制能自動(dòng)暫停另一端串口的數據發(fā)送,以防止數據的丟失。
在網(wǎng)關(guān)的軟件實(shí)現中,確認機制的開(kāi)關(guān)、確認超時(shí)時(shí)間、重發(fā)次數、隊列容量、緩沖的大小、串口的FIFO設置和硬件流控制的開(kāi)關(guān)等都是可配置的,針塒不同的應用可以非常容易地做出合適的裁剪和設置。

結語(yǔ)
目前該網(wǎng)關(guān)被用于一個(gè)無(wú)線(xiàn)體溫監測項目,以連接本地無(wú)線(xiàn)傳感網(wǎng)絡(luò )和遠程數據庫服務(wù)器,實(shí)現本地設備對遠程數據庫服務(wù)器的訪(fǎng)問(wèn),通過(guò)實(shí)際運行實(shí)驗,網(wǎng)關(guān)能很好地實(shí)現本文講述的功能。當然,網(wǎng)關(guān)仍然有不盡完善之處,比如對有些公共資源的訪(fǎng)問(wèn)沒(méi)有提供競爭保護機制,可能會(huì )影響網(wǎng)關(guān)運行的穩定性和性,有待今后進(jìn)一步完善。

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



上一頁(yè) 1 2 3 4 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>