趙建華,韓智慧
(1.長春師范大學網(wǎng)絡中心,吉林長春 130032;2.長春科技學院,吉林長春 130600)
基于USB接口的物聯(lián)網(wǎng)數(shù)據(jù)傳輸模塊設計
趙建華1,韓智慧2
(1.長春師范大學網(wǎng)絡中心,吉林長春 130032;2.長春科技學院,吉林長春 130600)
目前物聯(lián)網(wǎng)飛速發(fā)展。為了解決計算機串行接口和并行接口嚴重不足的問題,實現(xiàn)各種儀器設備之間的方便連接,本文提出USB接口模塊和無線傳輸技術相結(jié)合的方案。以Cortex-M3為內(nèi)核,根據(jù)物聯(lián)網(wǎng)無線傳輸協(xié)議IEEE802.15.4標準,將TCP/IP協(xié)議棧中的協(xié)議進行簡化分離,設計出頻率穩(wěn)定、功耗低、傳輸協(xié)議及傳輸模式可控、快速的傳輸協(xié)議,最終完成針對物聯(lián)網(wǎng)體系中數(shù)據(jù)傳輸功能模塊的USB接口的設計。
物聯(lián)網(wǎng);Cortex-M3;USB接口;簡化TCP/IP協(xié)議
在物聯(lián)網(wǎng)技術飛速發(fā)展的今天,嵌入式技術顯得尤為重要。目前,嵌入式處理器大致分為嵌入式微處理器、嵌入式微控制器、嵌入式數(shù)字信號處理器、嵌入式片上系統(tǒng)。在日常生活中,嵌入式系統(tǒng)作為后PC時代的計算機平臺被廣泛使用,如家用電器、醫(yī)療器械、手機、汽車等。嵌入式系統(tǒng)以其軟硬件的可裁剪性、可靠性、成本低、功耗低、體積小等優(yōu)點廣受歡迎。我國物聯(lián)網(wǎng)發(fā)展現(xiàn)面臨的問題有產(chǎn)品批量生產(chǎn)的標準性、產(chǎn)品監(jiān)督和管理的統(tǒng)一規(guī)范性、數(shù)據(jù)傳輸?shù)陌踩?、產(chǎn)品知識產(chǎn)權自主性以及網(wǎng)絡的帶寬等[1]。本文主要設計適合產(chǎn)業(yè)化的物聯(lián)網(wǎng)數(shù)據(jù)傳輸模塊的USB接口。為了使傳輸速度達到最佳,以物聯(lián)網(wǎng)技術架構中的一層物理層、二層數(shù)據(jù)鏈路層為基礎,為第三層網(wǎng)絡傳輸層提供終端,并利用LTC4055芯片實現(xiàn)USB接口為設備供電。
1.1 系統(tǒng)結(jié)構總體設計
設計以USB接口為標準的在物聯(lián)網(wǎng)下進行接收與發(fā)送的傳輸模塊,系統(tǒng)設計結(jié)構分為三大部分,即USB接口芯片電路、MCU微控制器芯片電路、物聯(lián)網(wǎng)傳輸模塊芯片電路(圖1)。
圖1 系統(tǒng)設計結(jié)構圖
物聯(lián)網(wǎng)傳輸模塊電路的主要功能:首先將微控制器送來的數(shù)據(jù)傳輸?shù)诫姶挪òl(fā)射器,然后通過解調(diào)天線接收到的調(diào)制信號得到基帶信號,再送給微控制器。
1.2 無線傳感器設計方案
(1)無線傳感器網(wǎng)關運用了基于ARM Cortex-M3芯片內(nèi)核和以太網(wǎng)卡ENC28J60芯片。無線網(wǎng)關的無線通信模塊由最新芯片CC2538制作,網(wǎng)絡結(jié)構為星型無線網(wǎng)絡結(jié)構。無線接收模塊負責接收傳感器節(jié)點傳來的數(shù)據(jù),然后交由Cortex-M3微處理器處理,并通過以太網(wǎng)卡ENC28J60傳到網(wǎng)絡中的上位機,由上位機的監(jiān)測軟件完成接收并顯示。
圖2 無線數(shù)據(jù)采集系統(tǒng)結(jié)構
(2)網(wǎng)關設計是建立在應用層上的協(xié)議轉(zhuǎn)換器,連接無線協(xié)調(diào)器和以太網(wǎng)兩個相對獨立的網(wǎng)絡,圖3為協(xié)議轉(zhuǎn)換模型。傳感器節(jié)點采集到的數(shù)據(jù)按照無線協(xié)調(diào)器協(xié)議傳送到網(wǎng)關,網(wǎng)關上的無線協(xié)調(diào)器節(jié)點負責解析出數(shù)據(jù)的有效載荷,交由Cortex-M3處理器控制,由以太網(wǎng)卡芯片負責將數(shù)據(jù)發(fā)送到以太網(wǎng)上。
圖3 系統(tǒng)設計結(jié)構圖
(3)無線協(xié)調(diào)器模塊選用CC2538片上系統(tǒng)芯片來設計[2]。CC2538 內(nèi)部集成了強大的安全加速器,能快速和有效地進行身份驗證和加密,其內(nèi)部具有強大的調(diào)試系統(tǒng)和綜合驅(qū)動庫。為了減少應用程序的運行留存痕跡,CC2538xfnn ROM包括一個函數(shù)庫和一個串行引導加載程序。
1.3 USB口的設備供電設計
USB接口電路主要功能是提供總線的硬件收發(fā)接口,即系統(tǒng)和計算機或系統(tǒng)和設備端的物理連接,并實現(xiàn)電氣和底層的邏輯功能,完成上層協(xié)議處理、數(shù)據(jù)收發(fā)控制以及電壓調(diào)節(jié)。
為方便提供TTL電源、串行口通信、IAP編程及復位信號控制,可使用CP2101設計的工作電路,這樣能夠減少計算機與外設之間的接口。為將PC的USB口虛擬成COM口,可采用CYGNAL免費提供的器件驅(qū)動程序CP2101。因此,無需修改現(xiàn)有的軟件和硬件就可以通過USB向基于CP-2101的器件傳輸數(shù)據(jù),大量省去了CP2101系列器件二次開發(fā)的投入[3]。
2.1 TCP數(shù)據(jù)包首部及其分析
TCP首部格式的定義需要遵循 RFC.791的相關規(guī)定,結(jié)構體定義如下:
Typedef stryct’
{
Word srceport; //源端口號
Word destport; //目的端口號
LWord seqnum; //系列號
LWord Acknum; //確認號
Word lenflags; //首部長度及標識
Word wndsize; //窗口大小
Word urgptr; //緊急指針
} _TCP_HDR;
2.2 TCP/IP設計
TCP/IP體系結(jié)構4個層次功能如表1所示。
表1 TCP/IP體系結(jié)構及功能
嵌入式TCP/IP協(xié)議一般實現(xiàn):ARP/RARP、IP、ICMP、TCP、UDP、HTTP、SMTP、FTP、TELNET等協(xié)議,協(xié)議處理的主要流程如圖4所示[4]。
在協(xié)議處理過程中,首先將以太網(wǎng)包讀入緩存,判斷其是否為ARP包,若是則檢測硬件類型、協(xié)議類型以及服務器操作類型;若不是則判斷該包是否為IP包,若是則查看IP地址是否正確;若正確,再接著判斷其是否為ICMP包,若是則調(diào)用ICMP包協(xié)議處理;若不是則判斷該包是否為TCP包,若是則調(diào)用TCP協(xié)議,最終再將以太網(wǎng)包讀入緩存。
傳輸控制協(xié)議數(shù)據(jù)傳輸可分為3個階段。第一階段,建立連接。在建立連接時有兩種方法,即主動和被動打開。服務器一直在偵聽連接請求是一種被動打開,客戶端發(fā)送連接請求是一種主動連接[5];第二階段,傳輸數(shù)據(jù);第三階段,斷開連接。和建立連接一樣,斷開連接也分為主動和被動斷開連接兩種方式。在上述基礎上,簡化實現(xiàn)傳輸控制協(xié)議的流程圖如圖5所示。在此簡化過程中,直接判斷此連接是否處在監(jiān)聽狀態(tài),若是則檢查IP地址、端口號,檢查數(shù)據(jù)包系列號,接著檢查目的端口號,再判斷其是否為TCP協(xié)議,若不是則為正確數(shù)據(jù),接著進入不同狀態(tài)進行相應處理。
圖5 簡化的TCP協(xié)議
本文根據(jù)工業(yè)控制系統(tǒng)的要求,設計了低成本、高效率的嵌入式串口模塊化的USB接口[6],使得工業(yè)RS-485串口設備能夠與基于簡化的TCP/IP協(xié)議及無線網(wǎng)絡進行連接,實現(xiàn)了設備的數(shù)據(jù)傳輸、采集和控制的智能化管理。采用虛擬串口這種方式來實現(xiàn)上位機與現(xiàn)場串行設備之間的數(shù)據(jù)傳輸與采集,把串口模塊上的串口通過虛擬串口驅(qū)動程序映射到上位機上,這樣上位機應用層軟件就可以像使用標準串口一樣來與現(xiàn)場串口設備通訊。該系統(tǒng)以Cortex M3為核心,針對物聯(lián)網(wǎng)無線傳輸協(xié)議標準設計,由此開發(fā)出頻率穩(wěn)定、功耗低、傳輸協(xié)議及傳輸模式可控的數(shù)據(jù)傳輸模塊USB接口。
[1]熊鳴.基于Cortex-M3的數(shù)據(jù)傳輸單元設計[J].煤炭技術,2013(3):197-198.
[2]張念淮.USB總線開發(fā)指南[M].北京:國防工業(yè)出版社,2001:56-60.
[3]李浩.USB供電終極改造[J].大眾硬件,2005(3):101-102.
[4]吳軍.自定義USB接口電源供電[J].電腦維護與應用,2005(2):15.
[5]阮利華,王祥.USB2.0接口IP核的開發(fā)與設計[J].復旦大學學報:自然科學版,2005(1):173-174.
[6]劉學剛.一種基于Cortex-M3核心芯片的物聯(lián)網(wǎng)模塊[J].工業(yè)控制計算機,2012(6):5-6.
2014-09-01
吉林省科技廳科技發(fā)展計劃項目(20100512)。
趙建華(1979- ),男,吉林白城人,長春師范大學網(wǎng)絡中心講師,從事計算機應用技術研究。
韓智慧(1978- ),女,吉林長春人,講師,從事計算機應用研究。
TP334
A
2095-7602(2014)06-0032-04