岳晴晴,潘曉陽,孟祥冬
(中科芯集成電路有限公司,江蘇 無錫 214072)
隨著信息技術(shù)的發(fā)展,多設(shè)備協(xié)同工作越來越重要。目前的多設(shè)備協(xié)同工作多采用有線連接,但是有時設(shè)備距離過遠(yuǎn),存在信號線纜過長、現(xiàn)場布線過于繁瑣的問題,且需要人工手動連接。ZigBee是一種適用范圍較廣泛的短距離、低速率無線通訊技術(shù),具有網(wǎng)絡(luò)加密功能,廣泛應(yīng)用于農(nóng)業(yè)、工業(yè)、國防等領(lǐng)域。為實現(xiàn)設(shè)備的靈活、便捷通訊連接,基于ZigBee的無線傳輸系統(tǒng)越來越被重視。通過ZigBee完成網(wǎng)絡(luò)信息的交換,實現(xiàn)數(shù)據(jù)的無線傳輸,已成為ZigBee技術(shù)領(lǐng)域的一個研究熱點[1-2]。
為滿足不同設(shè)備之間的無線通訊要求,本文設(shè)計出將數(shù)字信號處理器(DSP)、ZigBee、控制器域網(wǎng)(CAN)相結(jié)合的無線通訊系統(tǒng)。
本文設(shè)計的無線通訊系統(tǒng)組成如圖1所示,整個設(shè)備由DSP控制器、ZigBee無線收發(fā)電路、CAN總線收發(fā)器電路、加密電路、數(shù)據(jù)存儲電路、RS422收發(fā)器及BOOT配置電路6個部分組成[1]。DSP選用德州儀器(TI)的TMS320F28335,通過DSP外圍電路來實現(xiàn)各功能需求。
圖1 無線通訊系統(tǒng)組成
(1)DSP控制器
TMS320F28335的主頻最高可達(dá)150 MHz,可進(jìn)行浮點數(shù)運算,將從CAN總線收到的數(shù)據(jù)進(jìn)行處理后通過ZigBee轉(zhuǎn)發(fā)出去。
(2)ZigBee無線收發(fā)電路
ZigBee采用周立功ZM32系列ZM32P2S24E模塊,該模塊基于Silicon Labs公司REF32系列無線片上系統(tǒng)開發(fā),具有低功耗、高可靠性的特點,頻率范圍為2.4~2.5 GHz,采用串行通訊接口(SCI)通訊,具有協(xié)調(diào)器、路由、終端3種設(shè)備類型,能夠?qū)崿F(xiàn)點對點通訊、星型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、中繼路由結(jié)構(gòu)3種組網(wǎng)方式,能對傳輸數(shù)據(jù)進(jìn)行加密,并能隨時對模塊進(jìn)行靈活配置。
(3)CAN總線收發(fā)器電路
CAN總線收發(fā)器電路主要包括隔離電路和CAN收發(fā)器電路,實現(xiàn)將DSP的CAN信號轉(zhuǎn)換為符合CAN標(biāo)準(zhǔn)協(xié)議的差分信號,并通過光耦合器、瞬變電壓抑制二極管(TVS)對其做隔離保護,防止CAN總線上產(chǎn)生的瞬間高電壓對其造成損傷。
(4)加密電路
加密電路采用北京宏思的WNG4數(shù)字物理噪聲源芯片,產(chǎn)生1 B的真隨機數(shù)序列作為ZigBee模塊的網(wǎng)絡(luò)密鑰,通過通用輸入/輸出(GPIO)接口與DSP進(jìn)行數(shù)據(jù)交互;產(chǎn)生8 B真隨機數(shù)序列作為加密算法的密鑰對無線數(shù)據(jù)進(jìn)行加密,保證無線數(shù)據(jù)傳輸?shù)陌踩浴?/p>
(5)數(shù)據(jù)存儲電路
數(shù)據(jù)存儲電路主要包括靜態(tài)隨機存取存儲器(SRAM)及2路帶電可擦可編程只讀存儲器(EEPROM)。SRAM為并行接口,DSP通過外部擴展接口(XINTF)對其空間進(jìn)行訪問;EEPROM為串行外設(shè)接口(SPI),DSP處理器分別通過SPI總線及多通道緩存串口(McBsp)對EEPROM進(jìn)行數(shù)據(jù)讀寫。
(6)RS422收發(fā)器及BOOT配置電路
RS422收發(fā)器及BOOT配置電路主要用來燒寫DSP中的應(yīng)用程序。
上位機軟件運行于PC端,主要作用是配置與查詢無線通訊系統(tǒng)的各種參數(shù),使其可以正常工作,并進(jìn)行數(shù)據(jù)收發(fā)的基本測試。本文通過調(diào)用CAN卡與無線通訊系統(tǒng)互聯(lián),最終實現(xiàn)了上位機軟件與應(yīng)用軟件的通訊,主要實現(xiàn)功能包括連接狀態(tài)檢測、節(jié)點號配置與查詢、CAN波特率配置、轉(zhuǎn)發(fā)策略配置與查詢、網(wǎng)絡(luò)參數(shù)查詢與配置、CAN數(shù)據(jù)與無線數(shù)據(jù)轉(zhuǎn)發(fā)測試等。
上位機軟件工作流程如圖2所示。啟動后首先選擇硬件CAN卡、與下位機對應(yīng)的波特率(默認(rèn)為250 kbit/s)及通訊通道(默認(rèn)通道0);然后進(jìn)行CAN初始化,并設(shè)置與下位機相符的節(jié)點號;最后根據(jù)測試需要對下位機無線通訊系統(tǒng)進(jìn)行相關(guān)配置,包括轉(zhuǎn)發(fā)策略配置、CAN波特率配置、出廠編號配置等。
圖2 上位機軟件工作流程
無線通訊系統(tǒng)應(yīng)用軟件運行于DSP,與上位機軟件通過CAN總線進(jìn)行通訊,根據(jù)上位機軟件發(fā)送的配置命令對無線通訊系統(tǒng)進(jìn)行配置管理,并聯(lián)網(wǎng)進(jìn)行無線數(shù)據(jù)的收發(fā),實現(xiàn)如節(jié)點號配置、CAN總線波特率配置、上電次數(shù)查詢、連接狀態(tài)查詢、軟件版本號查詢、創(chuàng)建網(wǎng)絡(luò)、入網(wǎng)操作、轉(zhuǎn)發(fā)策略配置、CAN總線在線升級[3-4]、數(shù)據(jù)加密等功能。
DSP軟件數(shù)據(jù)處理控制流程如圖3所示。DSP軟件采用輪詢加中斷的方式:在CAN中斷時將相應(yīng)數(shù)據(jù)幀存入接收隊列,在輪詢函數(shù)時根據(jù)數(shù)據(jù)幀類型進(jìn)行參數(shù)配置或?qū)Ψ限D(zhuǎn)發(fā)策略的數(shù)據(jù)進(jìn)行加密轉(zhuǎn)發(fā);在串口中斷時將接收到的數(shù)據(jù)存入串口接收隊列,在輪詢中進(jìn)行解密處理,并將解密后的轉(zhuǎn)發(fā)數(shù)據(jù)通過CAN總線發(fā)出。
圖3 DSP軟件數(shù)據(jù)處理控制流程
數(shù)據(jù)加解密的處理是最重要的部分,關(guān)系著整個系統(tǒng)的安全性。本系統(tǒng)采用數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)算法,DES算法具有以下特性:(1)提供高質(zhì)量的數(shù)據(jù)保護,防止數(shù)據(jù)未經(jīng)授權(quán)的泄露和未被察覺的修改;(2)具有相當(dāng)高的復(fù)雜度,使破譯的成本超過收益本身,同時又便于理解和使用;(3)安全性由密鑰決定,與算法本身無關(guān),56 bit的密鑰使算法的加密有256種結(jié)果;(4)算法實現(xiàn)簡單,能夠應(yīng)用于多種場合。
通過2臺設(shè)備互聯(lián)進(jìn)行無線通訊系統(tǒng)功能測試,應(yīng)用軟件測試環(huán)境如圖4所示。通過周立功USBCAN-2E-U實現(xiàn)無線設(shè)備與PC端的連接,上位機無線通訊系統(tǒng)測試軟件通過CAN總線發(fā)送數(shù)據(jù)給無線通訊系統(tǒng)A,繼而通過天線發(fā)送數(shù)據(jù)給無線通訊系統(tǒng)B,并通過CAN總線上傳給上位機無線通訊系統(tǒng)測試軟件。
圖4 無線通訊系統(tǒng)應(yīng)用軟件測試環(huán)境
測試環(huán)境搭建完成后,首先將DSP主頻配置為80 MHz,將ZigBee串口波特率配置成115200 bit/s,將CAN波特率配置成250 kbit/s,通過PC上位機將無線通訊系統(tǒng)A的ZigBee模塊配置為協(xié)調(diào)器,并創(chuàng)建網(wǎng)絡(luò)。將無線通訊系統(tǒng)B的ZigBee模塊配置為終端,并搜索網(wǎng)絡(luò)入網(wǎng),完成網(wǎng)絡(luò)連接后,協(xié)調(diào)器下發(fā)WNG4隨機產(chǎn)生的1 B網(wǎng)絡(luò)密鑰及8 B動態(tài)密鑰給終端設(shè)備。接著配置各自的轉(zhuǎn)發(fā)策略,并將在轉(zhuǎn)發(fā)策略范圍內(nèi)的CAN幀以10 ms每幀的速度進(jìn)行數(shù)據(jù)收發(fā)測試,測試結(jié)果如圖5所示。在發(fā)送時間周期為10 ms時,進(jìn)行10000幀數(shù)據(jù)的轉(zhuǎn)發(fā)加密,數(shù)據(jù)轉(zhuǎn)發(fā)未丟幀,加解密數(shù)據(jù)未失敗,表明ZigBee通訊系統(tǒng)在增加DES算法后能夠正常進(jìn)行數(shù)據(jù)加解密、傳輸工作。DES算法的引進(jìn),不僅未引進(jìn)新的通訊問題,還加強了網(wǎng)絡(luò)的安全性能。
圖5 數(shù)據(jù)收發(fā)測試結(jié)果
DES算法耗時性能測試結(jié)果如表1所示。DSP主頻配置為80 MHz,每幀數(shù)據(jù)為標(biāo)準(zhǔn)CAN幀(數(shù)據(jù)為8 B),通過對10000幀數(shù)據(jù)進(jìn)行多次加解密測試后發(fā)現(xiàn),平均加解密耗時相近,為2.1425 ms左右,且加解密成功率均為100%,表明DES算法在DSP平臺運行具有一定的穩(wěn)定性及可行性。
表1 DES算法耗時性能測試結(jié)果
本文提出了基于ZigBee的DES加密通訊系統(tǒng),從器件選型、硬件設(shè)計、軟件設(shè)計等方面對其進(jìn)行了詳細(xì)的介紹,并進(jìn)行了系統(tǒng)級的測試驗證。此設(shè)計方案能夠滿足需求,并能夠保證系統(tǒng)的穩(wěn)定性及安全性。該設(shè)計方案不局限于某種特定處理器和編程語言。在信息安全日益重要的今天,本研究為不同平臺的加密通訊系統(tǒng)提供了一種可靠的方案。