,
(淮陰工學(xué)院 計算機與軟件工程學(xué)院,淮安 223001)
采集終端在線動態(tài)修改IP地址是當(dāng)今智能化時代的需求,它不僅衡量著產(chǎn)品的性能,還關(guān)聯(lián)著節(jié)約人力資源、減少人為操作失誤、方便主站管理等優(yōu)點[1],因此在采集終端設(shè)計的過程中添加“在線動態(tài)修改IP地址”功能是必不可少的。
本文設(shè)計了基于LPC1788嵌入式微控制器、K9F1G08U0A片外NandFlash和DP83848網(wǎng)絡(luò)接口作為核心模塊組成的采集終端在線動態(tài)修改IP系統(tǒng),完成了短時間內(nèi)快速動態(tài)修改IP,主站重新以新的目標(biāo)IP地址連接采集終端的實驗,有效地減少了人為斷電上電或復(fù)位的操作量和響應(yīng)時間。
采集終端在線動態(tài)修改IP系統(tǒng)的結(jié)構(gòu)如圖1所示, 主站和采集終端之間用以太網(wǎng)連接,DP83848以太網(wǎng)模塊[10-11]用于接收主站發(fā)送的報文,K9F1G08U0A片外NandFlash用于存儲重要信息(如終端版本信息、終端IP地址等),LPC1788用于控制寄存器和相關(guān)模塊,JTAG仿真調(diào)試接口用于下載程序調(diào)試仿真。
圖1 系統(tǒng)結(jié)構(gòu)圖
動態(tài)修改IP流程如圖2所示,主站和采集終端采用TCP/IP協(xié)議通信,主站作為客戶端,采集終端作為服務(wù)器,在主站的通信方式里輸入采集終端默認設(shè)置的IP地址(192.168.1.5)和端口號(5000);請求進行連接,連接成功后,發(fā)送新IP地址的報文給采集終端,采集終端通過網(wǎng)絡(luò)模塊接收到內(nèi)容后,根據(jù)Q/GDW-376.1協(xié)議從報文中提取出有效幀,校驗幀的合法性以及是否需要修改IP地址,如果幀合法且需要修改IP地址,則把新的IP地址存放在NandFlash中[8-9],然后禁用默認網(wǎng)卡“netif_set_down(netif_default)”,讀取NandFlash中的IP地址,寫入默認網(wǎng)卡“netif_
set_addr(netif_default, &ipaddr, &netmask, &gw)”,延時1 s,再次使能網(wǎng)卡“netif_set_up( netif_default)”。此時終端會重新創(chuàng)建socket,綁定新的終端IP地址(如192.168.1.10)和端口號(8080),并對端口號進行監(jiān)聽,等待主站的請求連接。此時主站會自動斷開連接,重新在通信方式中輸入新的IP地址(192.168.1.10)和端口號(8080),可以建立新的連接,如果沒有內(nèi)容需要發(fā)送,可以根據(jù)需要發(fā)送斷開報文幀給終端,請求斷開連接[2-7]。
圖2 動態(tài)修改IP地址流程
測試結(jié)果如圖3所示,主站先以IP :192.168.1.5,端口號:5000 與終端連接,并發(fā)送了修改IP地址的報文。根據(jù)Q/GDW-376.1協(xié)議,如圖4所示,報文的 DAT鏈路用戶數(shù)據(jù)部分,第一個字節(jié)為應(yīng)用層功能碼AFN=04,幀序列號SEQ=72,數(shù)據(jù)單元標(biāo)識Pn=0000、Fn=4000,數(shù)據(jù)單元:C0 A8 01 0A FF FF FF 00 C0 A8 01 01(16進制),對應(yīng)為十進制是192 168 1 10 (新IP地址)、255 255 255 0(子網(wǎng)掩碼)、192 168 1 1(網(wǎng)關(guān))。終端接收后處理報文,創(chuàng)建新的socket綁定新的IP地址192.168.1.10,端口號為8080,并對端口號進行監(jiān)聽,主站以新的IP地址和端口號能夠迅速與終端進行連接。
圖3 測試結(jié)果
圖4 鏈路用戶數(shù)據(jù)層格式
本設(shè)計應(yīng)用在如圖5所示的油井智能終端中,能夠根據(jù)主站修改IP命令,實時修改IP地址,性能滿足實時性、便捷性要求。
圖5 油井智能終端
參考文獻
[1] 呂京建.嵌入式因特網(wǎng)技術(shù)的興起與前景[J].今日電子,2000(S1):4-5.
[2] Ju H,Choi M,Hong J W.An efficient and lightweight embedded Web server for Web‐based network element management[J].International Journal of Network Management,2015,10(5):261-275.
[3] 陳利鋒,劉博勤,涂時亮,等.嵌入式系統(tǒng)網(wǎng)絡(luò)互連技術(shù)的設(shè)計與實現(xiàn)[J].計算機科學(xué),2001,28(10):100-103.
[4] 蘇勇輝.基于ARM微處理器TCP/IP協(xié)議棧LwIP實現(xiàn)[J].國外電子測量技術(shù),2009,28(10):76-78.
[5] 王慧青,張小國,丁晗.一種基于移動終端動態(tài)IP地址的數(shù)據(jù)實時傳輸方法:中國,CN105610997A[P].2016.
[6] 李慶江.基于LwIP協(xié)議棧的嵌入式Web服務(wù)器的設(shè)計及實現(xiàn)[J].齊魯工業(yè)大學(xué)學(xué)報,2008,22(4):97-100.
[7] 石廣治,劉波,姜秀杰,等.基于ARM的嵌入式系統(tǒng)以太網(wǎng)通訊設(shè)計[J].微計算機信息,2010,26(32):80-82.
[8] Gou H L,Liang G Z,Xie H Q.Application of K9F1G08U0A in MSP430 sigle chip system[J].Hebei Journal of Industrial Science&Technology,2009.
[9] 李晴.高速大容量NAND FLASH存儲系統(tǒng)的設(shè)計與實現(xiàn)[D].北京:北京理工大學(xué),2015.
[10] 陳冬發(fā),朱寧西.基于ARM-LPC2368的網(wǎng)絡(luò)接口的設(shè)計與實現(xiàn)[J].微計算機信息,2008,24(14):119-120.
[11] 于春雪.基于STM32F107的高速以太網(wǎng)接口設(shè)計與應(yīng)用[J].電聲技術(shù),2011,35(9):63-67.