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