基于STM32的加密錄音筆設計
摘要 在STM32平臺上采用TEA微型加密算法實(shí)現了數字加密錄音筆的設計,其中模擬音頻信號通過(guò)低通濾波器和放大器處理后,進(jìn)行A/D轉換和ADPCM編碼,STM32主控制器對編碼數據進(jìn)行加密以及存儲操作。同時(shí)通過(guò)對加密錄音筆進(jìn)行測試和分析,表明系統錄音過(guò)程穩定可靠、加密效果良好,且達到了設計要求。
本文引用地址:http://dyxdggzs.com/article/201610/308146.htm隨著(zhù)電子產(chǎn)品對數字信號處理技術(shù)的需求廣泛應用,語(yǔ)音信息的保密性也成為信息處理領(lǐng)域的一個(gè)重要研究方向。模擬音頻信號的數字化過(guò)程包括采樣、量化和編碼等,數字信號具有抗干擾能力強、信號動(dòng)態(tài)范圍大(S/N>90 dB)以及可進(jìn)行數據壓縮的特點(diǎn)。數據加密是由加密密鑰和加密算法將明文數據轉化為沒(méi)有固定意義的密文;數據解密即是由解密密鑰和解密算法將密文恢復為明文。
系統使用基于A(yíng)RM內核的STM32處理器執行加密算法和系統的協(xié)作控制。采用TEA加密算法對接收到的音頻數據進(jìn)行實(shí)時(shí)加密,加密后的語(yǔ)音數據存儲到外部SD卡中,并可將語(yǔ)音文件通過(guò)USB接口傳輸到計算機進(jìn)行解密處理。文中設計完成了數字錄音模塊和STM32外圍配置的硬件電路;PCB布局布線(xiàn);編寫(xiě)加密錄音筆軟件,實(shí)現了數字錄音筆的數據加密與數據存儲功能。
1 系統整體設計
系統硬件電路主要分為數字錄音模塊和STM32處理器模塊兩部分,如圖1所示。數字錄音模塊負責模擬音頻信號捕獲和信號采樣、量化以及編碼處理;處理器模塊實(shí)現數字數據的加密運算、數據存儲以及系統的整體控制。

語(yǔ)音信號通過(guò)麥克風(fēng)輸入后進(jìn)行數字錄音,數字錄音電路包括濾波器網(wǎng)絡(luò )、增益放大和語(yǔ)音處理3部分。由于系統要求盡可能減小PCB板面積,所以本文選擇能同時(shí)滿(mǎn)足增益放大、A/D采樣以及編碼處理的錄音芯片VS1003。STM32處理器模塊負責加密算法的執行和系統的協(xié)作控制。VS1003將采集到的數據通過(guò)SPI接口實(shí)時(shí)傳輸到STM32進(jìn)行加密處理,并將加密后的密文數據通過(guò)另一個(gè)SPI接口存儲到外部容量為2 GB的SD卡中。
2 硬件電路設計
2.1 STM32處理器電路
2.1.1 主控芯片配置電路
主控芯片使用STM公司的STM32F103C6T6控制器,該系列32位閃存微控制器使用ARM公司具有突破性的Cortrex-M3內核,Cortex-M3內核基于哈佛架構,指令總線(xiàn)和數據總線(xiàn)相互獨立,使STM32的性能得到明顯提高,并在大幅提高了應用程序的執行速度。
STM32通過(guò)BOO了[1:0]引腳選擇3種不同的啟動(dòng)模式,系統使用主閃存存儲模式,即主閃存存儲器被選為啟動(dòng)區域;系統時(shí)鐘采用8 MHz內部時(shí)鐘經(jīng)內部倍頻為48 MHz。STM32支持兩種調試接口(SWJ):SW調試和JTAG調試,且SW調試和JTAG調試的部分引腳是復用的。本文采用SW(同步串行協(xié)議)調試:SWCLK為從主機到目標的時(shí)鐘信號;SWDIO為雙向數據信號;SWDIO為雙向接口,需接100 kΩ的上拉電阻。STM32主控芯片的配置結構如圖2所示。

2.1.2 SD卡存儲電路
安全數碼卡(Secure Digital Memory Card,SD)是基于半導體快閃記憶器的多功能存儲卡,具有容量大、性能高、安全性強等優(yōu)點(diǎn)。SD卡支持3種傳輸模式:SPI模式、1位SD模式以及4位SD模式,文中使用SPI傳輸模式與STM32主控制器進(jìn)行通信,SD卡與STM32的連接如圖3所示。

2.1.3 USB通信電路
STM32處理器內部自帶一個(gè)USB從控制器,符合USB通信連接規范。USB傳輸所需的48 MHz時(shí)鐘由內部系統時(shí)鐘提供,USB接口電壓由+5 V供電。其接口電路連接圖如圖4所示。

2.2 數字錄音電路
數字錄音單元通過(guò)對輸入的模擬音頻信號進(jìn)行低通濾波、增益放大以及采樣、量化和ADPCM編碼處理,輸出數字音頻數據。VS1003是VLSI公司的一款支持MP3/WMA/MIDI音頻編解碼和ADPCM編碼的芯片,內置一個(gè)高性能、低功耗的DSP處理器內核,具有5 kB的指令RAM,0.5 kB的數據RAM,串行控制/數據輸入接口,1個(gè)UART口以及4個(gè)通用IO口;同時(shí)片內帶有一個(gè)立體聲DAC以及一個(gè)可變采樣率的ADC。
輸入模擬音頻信號經(jīng)LINE_IN引腳輸入到VS1003進(jìn)行A/D采樣,量化和ADPCM編碼,并通過(guò)SPI通信協(xié)議與STM32主控制器進(jìn)行數據與控制信號的傳輸。錄音電路與STM32的連接電路如圖5所示。

VS1003芯片由外部晶振提供12.288 MHz時(shí)鐘作為主時(shí)鐘,如圖5所示。錄音芯片由系統電源模塊供電,所需2.5 V模擬電壓、3.3 V數字電壓以及3.3 V模擬電壓,由AMS1117線(xiàn)性電源模塊提供。XRESET信號提供錄音芯片的硬件復位,當XRESET為低時(shí),VS1003處于復位狀態(tài)。系統通電或硬件復位后,主機通過(guò)對各硬件寄存器的設置來(lái)實(shí)現對錄音芯片錄音模式和具體參數的設定。
2.3 供電電路
系統由外部電源或鋰電池供電,采用數字5 V進(jìn)行供電,使用CN3052充電電路對鋰電池充電。CN3052A是對單節鋰離子或鋰-聚合物可充電電池進(jìn)行恒流/恒壓充電的充電器電路,其只需較少的外圍器件,且符合USB總線(xiàn)技術(shù)規范。充電模塊電路如圖6所示。

3 錄音筆軟件設計
錄音系統的軟件程序包括加密錄音程序和上位機解密程序。加密錄音過(guò)程為,首先對VS1003語(yǔ)音芯片進(jìn)行初始化配置,設定錄音參數,通過(guò)計數器計數值為文件名,創(chuàng )建WAV頭文件,讀取SPI接口采集的數字音頻數據并進(jìn)行數據加密處理,隨后再保存為WAV文件。上位機解密軟件通過(guò)計算機對加密錄音文件進(jìn)行解密處理。加密錄音流程如圖7(a)所示。

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ù),具有廣闊的應用前景。
- STM32單片機中文官網(wǎng)
- STM32單片機官方開(kāi)發(fā)工具
- STM32單片機參考設計
評論