一種基于STM32的加密錄音筆設計
本文引用地址:http://dyxdggzs.com/article/256482.htm

3.1 底層驅動(dòng)程序
S7M32控制器通過(guò)SPI接口對VS1003錄音芯片進(jìn)行寄存器配置,然后進(jìn)行數字音頻數據的傳輸,經(jīng)加密處理后將數據存儲到SD卡中,上位機通過(guò)USB接口直接對存儲器進(jìn)行讀寫(xiě)操作,以方便加密錄音文件的拷貝。系統使用VS1003,采樣率為8 kHz,采樣位數為16 bit,其配置流程如圖7(b)所示。STM32為USB開(kāi)發(fā)工具集提供了完整且經(jīng)過(guò)認證的固件包,從而可輕易實(shí)現對各類(lèi)USB固件的開(kāi)發(fā)。其中包括:用于普通設備管理任務(wù)的控制傳輸、批量傳輸、中斷傳輸以及同步傳輸。USB接口配置流程如圖7(c)所示。
3.2 TEA加密程序
為滿(mǎn)足實(shí)時(shí)加密的要求,本文采用基于TEA的加密算法。TEA是一種小型的對稱(chēng)加解密算法,支持128位密鑰,該加密算法的優(yōu)點(diǎn)是速度快、效率高。為避免for循環(huán)和除法運算,采用升級版的TEA加密算法,通過(guò)對加密算法的更改,可一次加密512 Byte,符合Flash一頁(yè)扇區的存儲大小。TEA加密算法通過(guò)加密輪數來(lái)保證數據的可靠性,程序采用12輪加密,故具有較高的可靠性。
算法的主要思想是將輸入的512 Byte明文數據進(jìn)行分組,得到每組32 bit,共128組的數組V0,V1,…,V127,并對128位密鑰進(jìn)行分組得到4組32 bit的數組K0,K1,K2,K3,然后將每組數據Vj進(jìn)行加MX運算,共進(jìn)行128次,完成一輪加密。密鑰常量設置為
unsigned char TEA_key[16]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,0x10};
TEA加密算法流程如圖8所示。

其中,Delta的初始值為0x9E3779B9,Delta值的不斷變化使得每輪的加密均有所不同。TEA解密算法是加密的逆運算,對加密后的wav文件進(jìn)行解密處理,本文使用C#編寫(xiě)解密界面。
4 實(shí)驗仿真
打開(kāi)電源開(kāi)關(guān),狀態(tài)指示燈閃爍一次;使用錄音中間“一鍵錄音”按鍵,錄音指示燈常亮;再次按鍵時(shí)錄音指示燈熄滅,停止錄音。本文使用音頻處理軟件Cool Edit Pro進(jìn)行波形觀(guān)察,加密的錄音源文件和解密后的波形文件如圖9所示。

通過(guò)音頻信號的波形對比可看出,加密后的音頻信號波形是完全隨機的亂碼,語(yǔ)音播放時(shí)呈噪音狀態(tài),解密后的音頻文件聲音還原性良好。
5 結束語(yǔ)
系統使用VS1003、STM32等器件實(shí)現一鍵錄音加密錄音筆的設計,USB從控制器與PC機進(jìn)行通信,實(shí)現數據傳輸。數字錄音技術(shù)是現代數字信號處理的重要組成部分,其融合了音頻數據采集與傳輸、音頻數據處理以及嵌入式等多種技術(shù),具有廣闊的應用前景。
濾波器相關(guān)文章:濾波器原理
濾波器相關(guān)文章:濾波器原理
低通濾波器相關(guān)文章:低通濾波器原理
塵埃粒子計數器相關(guān)文章:塵埃粒子計數器原理 晶振相關(guān)文章:晶振原理 上拉電阻相關(guān)文章:上拉電阻原理 數字濾波器相關(guān)文章:數字濾波器原理 離子色譜儀相關(guān)文章:離子色譜儀原理
評論