999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32與Lwip協(xié)議棧的高效通信技術(shù)

2019-11-15 10:23:24李晨蔣林劉思平
電子技術(shù)與軟件工程 2019年19期
關(guān)鍵詞:設(shè)備系統(tǒng)

文/李晨 蔣林 劉思平

1 引言

在工業(yè)通信控制領(lǐng)域,隨著科學(xué)技術(shù)的發(fā)展,對(duì)數(shù)據(jù)傳輸?shù)臅r(shí)實(shí)性、時(shí)間響應(yīng)的要求越來(lái)越高。相比較于傳統(tǒng)的RS-485或RS-232通信方式,工業(yè)以太網(wǎng)RJ45具有通信速率高、傳輸距離長(zhǎng)、方便布線等優(yōu)點(diǎn),本系統(tǒng)用了STM32F107微控制芯片移植LWIP輕協(xié)議棧,通過(guò)STM32F107的網(wǎng)絡(luò)中斷接收到觸發(fā)方式,降低了單片機(jī)資源與通信延遲,提高了處理效率,提高了通信穩(wěn)定可靠性。

2 系統(tǒng)軟件設(shè)計(jì)

本系統(tǒng)軟件部分采用了UCOS操作系統(tǒng)下移植了LWIP協(xié)議棧,利用STM32F107自帶的DMA+ETH中斷實(shí)現(xiàn)快速高效傳輸,同時(shí)采用UDP服務(wù)器模式進(jìn)行通信,從而實(shí)現(xiàn)工業(yè)上的高效通信,系統(tǒng)的Lwip通信程序流程圖如1所示。

在軟件流程圖中可以清晰的看到,先初始化系統(tǒng),進(jìn)行UCOS初始化并創(chuàng)建Lwip任務(wù),在任務(wù)中先進(jìn)行DP8348硬件初始化,在進(jìn)行Lwip初始化,然后建立UDP服務(wù)器,Lwip任務(wù)就可以掛起任務(wù)了;同時(shí)在網(wǎng)絡(luò)中斷中進(jìn)行數(shù)據(jù)包接收讀取,讀取到數(shù)據(jù)包后進(jìn)行命令解析、數(shù)據(jù)處理,最后在回發(fā)給客戶端,完成一輪的數(shù)據(jù)通信。由于使用了DMA進(jìn)行對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行控制,并且數(shù)據(jù)都是在中斷接收回調(diào)函數(shù)中處理回發(fā),如果沒(méi)有接收到數(shù)據(jù),是不會(huì)占用CPU資源,進(jìn)一步降低了CPU的負(fù)擔(dān),減少了通信延遲,提高了處理效率,提高了通信穩(wěn)定可靠性。

圖1:Lwip程序數(shù)據(jù)流程圖

2.1 LWIP協(xié)議棧移植路

LWIP是一個(gè)輕量級(jí)的開(kāi)源免費(fèi)的TCP/IP協(xié)議棧,移植Lwip協(xié)議棧可以從Lwip官網(wǎng)下載源碼,也可在STM32官網(wǎng)上下載帶Lwip協(xié)議棧的源碼。本系統(tǒng)在UCOS操作系統(tǒng)下移植了LWIP協(xié)議棧,但是實(shí)際上使用軟件為ETH中斷+DMA接收觸發(fā),已經(jīng)和是否使用嵌入式系統(tǒng)沒(méi)太大關(guān)系了,本系統(tǒng)使用UCOS系統(tǒng)為了優(yōu)化程序本身,進(jìn)一步提高單片機(jī)效率。在移植LWIP協(xié)議棧中,將宏NO_SYS設(shè)置為1,同時(shí)本系統(tǒng)使用了RAW的UDP接口方式,在頭文件中對(duì)應(yīng)需要把LWIP_NETCONN與LWIP_SOCKET設(shè)置為0,LWIP_UDP設(shè)置為1,從而啟動(dòng)UDP協(xié)議。工業(yè)設(shè)備終端作為UDP服務(wù)器,一般需要固定IP地址,因此在將LWIP_DHCP設(shè)置為0,關(guān)閉自動(dòng)獲取IP地址,最后配置MEM_SIZE、PBUF_POOL_SIZE、PBUF_POOL_BUFSIZE等設(shè)置POOL與HEAP的內(nèi)存大小。

在Lwip的初始化過(guò)程中在對(duì)設(shè)備MAC地址進(jìn)行設(shè)置時(shí),為了防止出現(xiàn)設(shè)備MAC地址沖突而無(wú)法正常工作,可讀取STM32內(nèi)部的唯一ID為MAC地址。Lwip的初始化代碼如下:

Lwip初始化完成后,系統(tǒng)采用了DMA+ETH中斷方式進(jìn)行數(shù)據(jù)接收,還需編寫(xiě)對(duì)應(yīng)ETH中斷函數(shù),網(wǎng)絡(luò)中斷對(duì)應(yīng)代碼如下:

先用STM固件庫(kù)中的ETH_GetRxPktSize()檢測(cè)是否收到數(shù)據(jù)包,再調(diào)用Lwip協(xié)議棧的LwIP_Pkt_Handle()接收處理函數(shù),從以太網(wǎng)緩沖區(qū)讀取接收到的數(shù)據(jù)包,最后清除DMA對(duì)應(yīng)的中斷標(biāo)志位。

2.2 創(chuàng)建UDP服務(wù)端

如今網(wǎng)絡(luò)數(shù)據(jù)通信,一般采用TCP協(xié)議或UDP協(xié)議,相比較于TCP協(xié)議,UDP協(xié)議是一種無(wú)連接,不可靠,傳輸速度快,相對(duì)安全性高、可實(shí)現(xiàn)一對(duì)一,多對(duì)一的傳輸層的協(xié)議。在工業(yè)應(yīng)用場(chǎng)合中,UDP協(xié)議更高的效率,更快的傳輸實(shí)時(shí)性,資源占用率更低,反而更加適合。隨著網(wǎng)絡(luò)控制芯片與技術(shù)的發(fā)展,使得UDP協(xié)議的丟包率已經(jīng)很低了,應(yīng)用層的協(xié)議優(yōu)化,也大大增加了數(shù)據(jù)傳輸?shù)目煽啃浴DP服務(wù)端的代碼初始化如下:

UDP服務(wù)端初始化后,Lwip的子任務(wù)就可直接掛起,等待網(wǎng)絡(luò)中斷接收到數(shù)據(jù)包后,進(jìn)入回調(diào)函數(shù)。在回調(diào)函數(shù)中,在此進(jìn)行數(shù)據(jù)處理解析后,把數(shù)據(jù)發(fā)送回客戶端,發(fā)送完后在釋放遠(yuǎn)程客戶端的連接與內(nèi)存即可。

3 測(cè)試結(jié)果

將系統(tǒng)硬件設(shè)備用網(wǎng)線接入路由器中,與計(jì)現(xiàn)代信息科技 ,2018,2(G軟件對(duì)系統(tǒng)設(shè)備進(jìn)行測(cè)試,結(jié)果主機(jī)每100ms對(duì)設(shè)備ping 32字節(jié)數(shù)據(jù),一共不間斷連續(xù)發(fā)送56萬(wàn)包數(shù)據(jù),最短時(shí)間0ms,最大時(shí)間3ms,平均時(shí)間0.11ms,丟包率為0%。同時(shí)為了測(cè)試通信的穩(wěn)定性,每間隔100ms發(fā)送數(shù)據(jù),總共發(fā)送515946個(gè)包,15個(gè)小時(shí),接收515946個(gè)包,丟包率為0%,在實(shí)際應(yīng)用中,如果出現(xiàn)錯(cuò)誤、丟包的情況,通過(guò)應(yīng)用層協(xié)議,重復(fù)向設(shè)備終端發(fā)送命令進(jìn)行查詢通信,以此進(jìn)一步提高數(shù)據(jù)通信的可靠性與穩(wěn)定性。

UDP協(xié)議是一個(gè)非連接的協(xié)議,通信數(shù)據(jù)的客戶端和服務(wù)端不建立連接,當(dāng)它發(fā)送數(shù)據(jù)時(shí),只是可能快地把它丟到到網(wǎng)絡(luò)上,一對(duì)多傳送也可兼容,并且在做斷網(wǎng)重連測(cè)試的時(shí)候,也不需要像TCP協(xié)議一樣,還得專門(mén)定時(shí)查詢處理,只要設(shè)備重新連接上網(wǎng)絡(luò)后,就可恢復(fù)正常通信。

4 結(jié)論

本文提供了一種基于基于STM32與Lwip協(xié)議棧的高效通信技術(shù),利用STM32F107的ETH中斷+DMA方式,通過(guò)移植Lwip協(xié)議棧,使用UDP服務(wù)端模式通信,從而實(shí)現(xiàn)工業(yè)上的高效通信技術(shù)。經(jīng)過(guò)測(cè)試,在多對(duì)一下以100ms間隔的通信,經(jīng)過(guò)長(zhǎng)達(dá)15多個(gè)小時(shí)的測(cè)試,以極低的丟包率與錯(cuò)誤率證明,該技術(shù)方案有效的優(yōu)化單片機(jī)資源與通信延遲,并提高了通信穩(wěn)定可靠性,在嵌入式工業(yè)應(yīng)用上具備了相當(dāng)?shù)膶?shí)用價(jià)值。

猜你喜歡
設(shè)備系統(tǒng)
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
基于VB6.0+Access2010開(kāi)發(fā)的設(shè)備管理信息系統(tǒng)
基于MPU6050簡(jiǎn)單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
500kV輸變電設(shè)備運(yùn)行維護(hù)探討
主站蜘蛛池模板: 性69交片免费看| 久久综合色播五月男人的天堂| 精品亚洲国产成人AV| 国产在线小视频| 久久中文字幕不卡一二区| 亚洲国产日韩在线成人蜜芽| 夜夜操狠狠操| 丁香婷婷激情网| 99久久这里只精品麻豆| 2021国产在线视频| 国产网友愉拍精品视频| 欧美激情二区三区| 全午夜免费一级毛片| 激情综合网激情综合| 国产精品久久久久久久久久98| 亚洲色图另类| AV不卡在线永久免费观看| 看av免费毛片手机播放| 日韩天堂在线观看| 亚洲最新在线| 亚洲午夜福利精品无码不卡| 99er这里只有精品| 国产成人亚洲无码淙合青草| 天天做天天爱天天爽综合区| 小说 亚洲 无码 精品| 毛片大全免费观看| 亚洲欧洲自拍拍偷午夜色无码| 九九久久99精品| 免费在线一区| 2021国产乱人伦在线播放| 91久久夜色精品国产网站| 特级精品毛片免费观看| 天天色综网| 国产一区二区三区在线精品专区| 女人一级毛片| 无码又爽又刺激的高潮视频| 四虎精品黑人视频| 欧美中文字幕一区| 亚国产欧美在线人成| 国产精品成人第一区| 欧美日韩福利| 欧美综合在线观看| 久操线在视频在线观看| 亚洲欧美日韩中文字幕在线一区| 亚洲视频无码| 激情影院内射美女| 亚洲精品自拍区在线观看| 国产9191精品免费观看| 99免费视频观看| 青青草国产在线视频| 亚洲一区二区无码视频| 婷婷中文在线| 日韩在线网址| 久久亚洲高清国产| 亚洲日韩精品无码专区97| 欧美在线天堂| 亚洲国产精品一区二区高清无码久久| 精品一区二区三区无码视频无码| 国产小视频网站| 日韩天堂视频| 亚洲中文在线视频| 久久综合亚洲鲁鲁九月天| 国产剧情伊人| 亚洲精品动漫| 亚洲欧美一区在线| 丰满少妇αⅴ无码区| 国内精品视频区在线2021| 五月婷婷中文字幕| 人妻精品全国免费视频| 免费人欧美成又黄又爽的视频| 国产91在线|日本| 玖玖精品视频在线观看| 亚洲浓毛av| 日韩欧美亚洲国产成人综合| 国产成人免费| 国产成人综合亚洲欧洲色就色| 国产99欧美精品久久精品久久| 精品一区二区三区自慰喷水| 欧美精品高清| 曰韩人妻一区二区三区| 成人无码一区二区三区视频在线观看| 欧美午夜久久|