基于手勢(shì)信息的便攜式無(wú)線加密傳輸系統(tǒng)
圖3.1說(shuō)明了各個(gè)子模塊的邏輯關(guān)系和使用時(shí)的數(shù)據(jù)流,其中Twofish加解密算法是系統(tǒng)核心,占用FPGA內(nèi)部接近40%的邏輯資源,其它部分占30%左右。
3.2 Twofish算法
Twofish算法是由美國(guó)的Bruce Schneier等創(chuàng)建的優(yōu)秀算法,是AES的候選算法之一。Twofish算法是典型的分組加密算法,加密時(shí)它將明文按一定的位長(zhǎng)分組,明文和密鑰的全部經(jīng)過(guò)加密運(yùn)算得到密文。解密時(shí)密文和密鑰經(jīng)過(guò)解密運(yùn)算,還原成明文。Twofish的算法采用的明密文分組長(zhǎng)度為128bit, 支持128bit、192bit、256bit的密鑰長(zhǎng)度。
四 硬件系統(tǒng)實(shí)現(xiàn)
硬件系統(tǒng)主要包括Spartan-3E嵌入式平臺(tái),自制電源模塊和手勢(shì)信息采集模塊,輔以無(wú)線傳輸,液晶顯示,鍵盤(pán)等子模塊,硬件系統(tǒng)框圖如圖4.1所示。
4.1 核心FPGA
硬件系統(tǒng)核心為Spartan-3E系列的50萬(wàn)門(mén)FPGA,型號(hào)為XC3S500E-4FG320C,有1萬(wàn)多個(gè)邏輯單元和232個(gè)用戶I/O,對(duì)其進(jìn)行編程,可實(shí)現(xiàn)系統(tǒng)功能。
4.2 功能模塊
功能模塊主要包括電源模塊、手勢(shì)信息采集模塊和其它輔助模塊。
4.2.1 電源模塊
電源模塊的主要作用是使系統(tǒng)具有便攜性。
系統(tǒng)選用+8V鋰電池供電,經(jīng)各電平轉(zhuǎn)換芯片為各模塊供電。系統(tǒng)選取LM2596T-5.0開(kāi)關(guān)電源調(diào)節(jié)芯片,將+8V電源輸入轉(zhuǎn)換為+5V電源輸出,為Spartan-3E開(kāi)發(fā)板、數(shù)據(jù)輸入模塊、液晶顯示模塊供電。而無(wú)線模塊工作時(shí)對(duì)電源穩(wěn)定性要求較高,故選取7805穩(wěn)壓芯片將+8V電源輸入轉(zhuǎn)換為+5V電源輸出,為其供電。
手勢(shì)信息采集系統(tǒng)的功能是將手勢(shì)信息轉(zhuǎn)換為FPGA可處理的數(shù)字信息,包括數(shù)據(jù)輸入、模數(shù)轉(zhuǎn)換和電平轉(zhuǎn)換三部分。
數(shù)據(jù)輸入部分采用彎曲傳感器(Flex Sensor)來(lái)“感知”手勢(shì)信息。彎曲傳感器是利用其阻值變化來(lái)反映自身彎曲程度的傳感器件。
彎曲傳感器固定在一副手套的8個(gè)手指上,分別為左右手的食指、中指、無(wú)名指和小拇指。根據(jù)實(shí)驗(yàn)測(cè)得的數(shù)據(jù),手指平直時(shí)傳感器阻值約為10K,彎曲時(shí)傳感器阻值大于15K,故選取10K的電阻,與其串聯(lián),構(gòu)成分壓電路,分壓電路端電壓為5V。將傳感器的阻值變化轉(zhuǎn)換為電壓變化,供A/D轉(zhuǎn)換。此外,外設(shè)一開(kāi)關(guān),用來(lái)作為FPGA控制采樣信號(hào)的產(chǎn)生。
模數(shù)轉(zhuǎn)換電路選用ADC0809,供電為+5V,選取基準(zhǔn)電壓Vref+為+5V,Vref-為0V。
ADC0809的高電平為+5V,而FPGA的I/O接口的高電平為+3.3V,故ADC0809與FPGA之間需要電平轉(zhuǎn)化電路。選取74LV4245作為電平變換器件,可以完成5V至3V的電平雙向轉(zhuǎn)換,通過(guò)DIR引腳控制傳輸方向,引腳控制輸出使能。
控制信號(hào)和數(shù)據(jù)信號(hào)通過(guò)Spartan-3E開(kāi)發(fā)板的擴(kuò)展接口與外部電路相接,這樣,當(dāng)手勢(shì)信息變化時(shí),F(xiàn)PGA就可以控制模數(shù)部分工作,讀入手勢(shì)信息。
4.2.3 其它功能模塊
其他功能模塊包括模液晶顯示、無(wú)線傳輸、鍵盤(pán)輸入、開(kāi)關(guān)控制等。
評(píng)論