<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è) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM7的串口服務(wù)器的實(shí)現

基于A(yíng)RM7的串口服務(wù)器的實(shí)現

作者: 時(shí)間:2011-08-29 來(lái)源:網(wǎng)絡(luò ) 收藏
發(fā)送主線(xiàn)首先是以太網(wǎng)初始化函數( 1)開(kāi)始,調用鏈路層發(fā)送函數(2)并增加各層協(xié)議頭, 再調用RTL8019發(fā)送函數(9)發(fā)送數據。

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

  接收主線(xiàn)除初始化以太網(wǎng)外, 需調用鏈路層初始化函數(3) , ( 3)中調用( 4)初始化RTL8019。

  收到的數據先經(jīng)過(guò)函數(8) , 然后通過(guò)信號量傳送到函數(6) , 由( 6)調用( 7)得到數據個(gè)數, 最后由(5)根據以太網(wǎng)幀頭攜帶的上層協(xié)議類(lèi)型判斷是交給IP協(xié)議還是ARP協(xié)議處理。

  移植完畢, 進(jìn)行數據收發(fā)實(shí)驗驗證。使用TCP傳輸協(xié)議, 由網(wǎng)口虛擬軟件VSPM通過(guò)調試工具收發(fā)數據, 圖4是以10 ms的發(fā)送速度在自發(fā)自收程序中收發(fā)數據的截圖。

  

圖4 TCP協(xié)議數據傳輸界面

  圖4 TCP協(xié)議數據傳輸界面

  由于COM1和COM2被PC機占用, 故由網(wǎng)口虛擬出來(lái)的是COM3, 由圖4可看出在面向連接的TCP協(xié)議下, 高速收發(fā)數據不會(huì )丟包。

  2.2 實(shí)時(shí)多任務(wù)方案的設計

  16個(gè)串口分別與網(wǎng)絡(luò )端口組成16 個(gè)雙向通道。為使代碼靈活、透明, 程序不使用LW IP提供的SOCKET AP I。應用程序把每個(gè)雙向通道分為發(fā)送, 接收, 串口3個(gè)任務(wù), 加上LW IP本身需占用一個(gè)任務(wù), 共需建立49個(gè)任務(wù)。μC /OS - Ⅱ最多能建立64 個(gè)任務(wù), 其中8 個(gè)操作系統本身占用,剩56個(gè)能滿(mǎn)足要求。由VSPM軟件把網(wǎng)口模擬成16個(gè)串口, 串口偵聽(tīng)的16 個(gè)端口分別是1 000~1 015, 如圖5所示。

  

圖5 網(wǎng)口虛擬擴展16個(gè)串口界面

  圖5 網(wǎng)口虛擬擴展16個(gè)串口界面

  網(wǎng)絡(luò )端和串口端的數據接收會(huì )觸發(fā)相應的中斷。每個(gè)雙向通道的3個(gè)任務(wù)各司其職, 網(wǎng)口端接收數據中斷后在傳輸層協(xié)議判斷信源的端口號,交給相應的接收任務(wù), 處理完后交給串口任務(wù)把數據從相應串口發(fā)送; 串口接收數據后在中斷程序中判斷信源的通道號, 把數據交給串口任務(wù),處理完后由發(fā)送任務(wù)通過(guò)網(wǎng)口把數據發(fā)送出去。

  支持TCP /UDP兩種傳輸協(xié)議, 下面給出一個(gè)通道的TCP傳輸流程圖, UDP部分代碼只需在相應任務(wù)中調用LW IP給的UDP函數。TCP模式下串口工作在Server模式, PC機工作在Client模式, 流程圖, 如圖6所示。

  

圖6串口服務(wù)器單通道程序流程圖

  圖6串口服務(wù)器單通道程序流程圖

  3.結論

  文中本服務(wù)器是以性能不及ARM9且不能使用L inux的為主控芯片, 但兩種開(kāi)源代碼μC /OS - Ⅱ實(shí)時(shí)操作系統和LW IP協(xié)議棧的有效結合避免了高額的軟件費用, 而且能滿(mǎn)足通信要求。實(shí)驗證明, LW IP和μC /OS - Ⅱ的串口服務(wù)器不僅能雙向通信,而且傳輸數據實(shí)時(shí)、準確, 符合工業(yè)應用的要求。

  


上一頁(yè) 1 2 下一頁(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>