新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 軟件無線電的遠程安全配置系統(tǒng)設(shè)計

軟件無線電的遠程安全配置系統(tǒng)設(shè)計

——
作者:北京科技大學(xué) 程柏 周賢偉 覃伯平 時間:2006-08-11 來源:21IC中國電子網(wǎng) 收藏

摘 要  介紹一種軟件電以太網(wǎng)的配置方案。誼設(shè)計使用Atmel公司的FPSLIC微控制器作為主控單元,韓國Wiznet公司的W3100A為協(xié)議解析單元。在SystemDesigner3.0開發(fā)環(huán)境中,完成系統(tǒng)與遠程控制端的安全通信和遠程配置文件的加戢,使配置后的系統(tǒng)根據(jù)不同用戶有不同的硬件解密功能,最大程度地保證軟件電的配置安全。
關(guān)鍵詞 軟件電 配置系統(tǒng) FPSIJlC W31OOA

引 言
    隨著現(xiàn)代通信技術(shù)、微電子技術(shù)和計算機技術(shù)的飛速發(fā)展,無線通信技術(shù)開始從數(shù)字化走向軟件化。軟件無線電的出現(xiàn)掀起了無線通信技術(shù)的又一次革命,已成為目前通信領(lǐng)域中最重要的研究方法之一。它的基本思想是把模塊化、標(biāo)準(zhǔn)化的硬件功能單元通過一個通用的硬件平臺連接起來作為無線通信的基本平臺,把盡可能多的無線及個人通信的功能用軟件來實現(xiàn)。對于組成通用硬件平臺的可編程器件(DSP、FPGA等),可以首先根據(jù)總體要求建立完整的軟件庫,然后實時、靈活地配置到硬件平臺上。

    軟件無線電,特別是軟件無線電臺在其遠程的配置過程中,要求較高的安全保密措施。傳統(tǒng)的配置文件下載方法在數(shù)據(jù)傳遞的通路上都是明文傳輸,存在著安全的隱患,很容易被竊取和攻擊;因此,一種確保軟件無線電遠程配置的安全系統(tǒng)在軟件無線電系統(tǒng)中就顯得非常重要。軟件無線電的通用硬件平臺通常主要由專用ASIC和DSP、FPGA兩種可編程器件組成。FPGA編程特性分為熔絲型、基于EEPROM技術(shù)型和基于SRAM技術(shù)型三種?;赟RAM技術(shù)的FPGA由于容量大,設(shè)計資源豐富,設(shè)計較為靈活且可以重復(fù)操作,應(yīng)用相當(dāng)廣泛,但是由于它的結(jié)構(gòu)類似于SRAM,掉電后數(shù)據(jù)會丟失,因此每次上電后需要對它們進行重新加載。目前,常用的加載方法有通過PC電纜、外掛ROM和單片機控制加載等。在軟件無線電中,通過PC和外掛單片機都將增加系統(tǒng)的復(fù)雜程度,也不適合于軟件無線電臺的應(yīng)用環(huán)境;因此在軟件無線電臺中,常常選擇外掛EEPROM來保存和更新FPGA的配置程序。由于所開發(fā)的軟件無線電系統(tǒng)采用xilinx公司的VIRTEX系列FPGA,配合外掛XCl8V02存儲器,因此對于FPGA的配置只要更新XCl8V02中的存儲文件就可以了。

1 軟件無線電安全配置系統(tǒng)的設(shè)計
    系統(tǒng)分為管理控制和終端兩大部分。管理控制部分主要由軟件完成對已經(jīng)生成的配置文件加密、用戶登陸和傳送配置文件三個主要功能。配置系統(tǒng)的終端在配置文件過程中,首先判別不同用戶的識別信息,然后通過MCU將文件解密,在配置過程中通過MCU的接口將解密后的配置文件存儲到EEPROM中,并在全部完成后重新啟動系統(tǒng),EEPROM中的配置信息被加載到片內(nèi),系統(tǒng)開始啟動新的任務(wù)。對于不同的用戶,可以根據(jù)自己的需要選擇不同的加密算法,對自己所需要配置的文件進行二次加密,從而更進一步保證文件的安全性。這個加密算法的解密由MCU及其協(xié)處理器(FPGA)來完成,因此在加載不同用戶的配置信息的時候,不同的解密算法也會被加載到系統(tǒng)上,形成一個具有硬件解密功能的軟件無線電臺配置系統(tǒng)平臺。

    軟件無線電臺安全配置系統(tǒng)終端部分的硬件結(jié)構(gòu)如圖1所示。

    終端部分主要由兩部分組成:W3100部分是以協(xié)議芯片W31OOA為核心,完成以太網(wǎng)數(shù)據(jù)包的解析;FPSLIC部分是以Atmel公司FPSLIC器件AT94K系列微處理器為核心,完成全部控制功能和配置文件的解密。

1.1 W31DOA系統(tǒng)

    W3100A系統(tǒng)主要完成對遠程控制信息和傳送數(shù)據(jù)TCP/IP包的解析,其結(jié)構(gòu)示意圖如圖2所示。這款芯片的內(nèi)部結(jié)構(gòu)分為4部分:與處理器接口部分(MCU Interface)、硬件協(xié)議核、存儲器(DPRAM)和與MII接口部分。其中MII接口接上一個物理層芯片,系統(tǒng)中采用RTL8201BL。這款芯片能從硬件上實現(xiàn)網(wǎng)絡(luò)協(xié)議的關(guān)鍵是它的協(xié)議引擎。在它的內(nèi)部結(jié)構(gòu)中有幾個與網(wǎng)絡(luò)協(xié)議相關(guān)的寄存器:命令寄存器C_CR,它的各位分別表示系統(tǒng)初始化、通道Socket初始化、建立連接、偵聽、接收、發(fā)送、關(guān)閉等命令,將命令寄存器C-CR置位就可以完成相應(yīng)的命令;C-DIR為目的IP地址寄存器;C-DPR為目的端口地址寄存器;C-TOSR為服務(wù)類型寄存器,對應(yīng)于IP報頭的TOS字段;C-IPR為IP協(xié)議寄存器,對應(yīng)于IP報頭的協(xié)議字段;C-SPR為源端口寄存器;C-SSRSocket為狀態(tài)寄存器;GAR為網(wǎng)關(guān)地址寄存器;SMR為子網(wǎng)屏蔽寄存器;SHAR為源硬件地址寄存器;SItR為源IP地址寄存器等等。
 
    與主控部分FPSLIC器件連接選擇I2C接口,系統(tǒng)主機部分發(fā)送的配置信息在W3100A部分解析TCP/IP協(xié)議的數(shù)據(jù)幀格式,然后發(fā)送給MCU。此時MCU接收到的數(shù)據(jù)是經(jīng)過加密的配置信息。

1.2 FPSLIC系統(tǒng)

    FPSIC系統(tǒng)接收來自W3100A系統(tǒng)解析后的數(shù)據(jù),通過內(nèi)部MCU將數(shù)據(jù)解密并將解密后的數(shù)據(jù)存放到存儲器。當(dāng)全部接收完成后,系統(tǒng)自動重新啟動,新的配置信息將被加載,系統(tǒng)開始新的任務(wù)。

    這個過程如圖3所示。在這個過程中,除了相同的文件接收、系統(tǒng)解密、文件發(fā)送等相同的配置信息外,還可以根據(jù)不同的用戶配置不同的軟件無線電解密信息。真正軟件無線電的配置信息需要等待系統(tǒng)終端配置完成并重新啟動后,從主機端接收加密的配置信息并解密得到。這個過程如圖4所示。

    FPSIC系統(tǒng)采用Atrrlel公司的AT94K40為控制器,包含1個AVR單片機內(nèi)核和l片40K門數(shù)的FPGA以及1個32K動杰分布的靜杰存儲器(SRAM)。

    嵌入式AVR內(nèi)核在單個時鐘周期內(nèi)執(zhí)行指令。它的吞吐量接近l MIPS/MHz,而AVR的實際吞吐量可以使系統(tǒng)結(jié)構(gòu)隨著處理速度而優(yōu)化電源功耗。30 MIPS的AVR內(nèi)核給予增強型RISC結(jié)構(gòu),是一個集合了32個工作寄存器的指令組合系統(tǒng)。這些工作寄存器直接連接到算術(shù)邏輯單元,使得在單個周期內(nèi)執(zhí)行單條指令時,能響應(yīng)2個獨立的寄存器。30 MIPS的吞吐量能使FPSLIC電路適應(yīng)任何高性能的應(yīng)用場所。微處理器中固有的硬件乘法器支持復(fù)雜的DSP功能,并支持微處理器和FPGA及DSP的邏輯電路軟件和硬件算法。

    AVR單片機內(nèi)核的數(shù)據(jù)總線直接和FPGA的總線資源相聯(lián)結(jié),可以將FPGA用作AVR的I/O設(shè)備。用戶可以利用FPGA實現(xiàn)各種外設(shè)或當(dāng)作協(xié)處理器。FPGA具有16條編碼地址線,可以為AVR提供最多16個中斷信號。在工作狀態(tài)中,AVR可以對FPGA重新編程,實現(xiàn)系統(tǒng)動態(tài)配置。系統(tǒng)中用FPGA的中斷來判斷一個數(shù)據(jù)是否解密完成,完成后,繼續(xù)下一個數(shù)據(jù)。AVR向FPGA發(fā)送數(shù)據(jù)的程序如下所示:
    void senddata_to_fpga(void)( //發(fā)送數(shù)據(jù)到FPGA
    FPGA_INT_FLAG=O;
    delay(500):
    FI1SCR=Ox00; //配置FPGAI/O選擇線
    FISUA=0x00t
    FISCR=0X80; //使能FPGA_AVR中斷
    FIUA=OX11; //選擇FPGA中斷0
    }
    #pragma interrupt_handler FPGA_intO_isr:iv_FPGA_lNT0
    void FPGA_int0_isr(void){
    PORTD'=0X04;
    FPGA_lNT_FLAG=1; //FPGA發(fā)送完成后,請求終端
    //接收下一個數(shù)據(jù)
    }
    crc=crc<<1;
    }

    信息的加載過程中,數(shù)據(jù)幀的結(jié)構(gòu)及傳輸協(xié)議如下:

    每個數(shù)據(jù)幀都由開始位、包號碼、包號校驗碼、數(shù)據(jù)和數(shù)據(jù)校驗位五部分組成。配置信息過程中,如果出現(xiàn)網(wǎng)絡(luò)中斷或者人為破壞,使得配置信息不能夠順利加載,系統(tǒng)將根據(jù)配置信息加載信息流的傳輸協(xié)議返回錯誤信息,并中斷傳輸,保持以前用戶的信息不變。因此,當(dāng)一個用戶的登陸或加載失敗時,系統(tǒng)并不受影響,而是保持原來的狀態(tài)繼續(xù)運行。


3 配置信息的生成和加載
    不同的用戶可以在自己的加密算法開發(fā)完成后,用SystemDesigner3.0所包含的下載軟件CPS(Configurator Programming System)將文件下載到系統(tǒng)進行調(diào)試。調(diào)試成功后,再用CPS將文件從器件中讀出,生成.bst文件。

    讀取文件時,CPS的設(shè)置如圖6所示。

    系統(tǒng)在主機端提供了二進制文件加密生成軟件,可以將這個.bst文件加密并轉(zhuǎn)化成.hex的二進制文件,用來配置終端系統(tǒng)。這個加密算法是系統(tǒng)本身提供的,對于任何用戶都是相同的,目的在于保護終端配置信息在傳輸通道上的安全。二進制加密配置文件生成的過程如圖7所示。當(dāng)用戶登錄成功后,系統(tǒng)會根據(jù)用戶信息自動配置用戶預(yù)先設(shè)定好的配置信息。當(dāng)返回成功配置信息后,用戶就可以通過終端解密來實現(xiàn)軟件無線電的配置。


結(jié)語
    通過驗證,本系統(tǒng)能夠很好地完成遠程軟件無線電的安全配置,達到了預(yù)期的目的。W3100A系統(tǒng)利用簡單的設(shè)計完成了配置系統(tǒng)與以太網(wǎng)的結(jié)合,適用于基于網(wǎng)絡(luò)的嵌入式系統(tǒng)的開發(fā)。應(yīng)用FPSLIC微控制器實現(xiàn)系統(tǒng)設(shè)計,具有體積小、功耗低等特點。在此平臺上開發(fā)軟件無線電的安全配置系統(tǒng),具有很大的優(yōu)越性。這種設(shè)計可以推廣到更多要求高安全性的在線可編程系統(tǒng)應(yīng)用中。



關(guān)鍵詞: 通訊 網(wǎng)絡(luò) 無線

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉