當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 內(nèi)容摘要:在STM32平臺(tái)上采用TEA微型加密算法實(shí)現(xiàn)了數(shù)字加密錄音筆的設(shè)計(jì),其中模擬音頻信號(hào)通過低通濾波器和放大器處理后,進(jìn)行A/D轉(zhuǎn)換和ADPCM編碼,STM32主控制器對(duì)編碼數(shù)據(jù)進(jìn)行加密以及存儲(chǔ)操作。同

內(nèi)容摘要:在STM32平臺(tái)上采用TEA微型加密算法實(shí)現(xiàn)了數(shù)字加密錄音筆的設(shè)計(jì),其中模擬音頻信號(hào)通過低通濾波器和放大器處理后,進(jìn)行A/D轉(zhuǎn)換和ADPCM編碼,STM32主控制器對(duì)編碼數(shù)據(jù)進(jìn)行加密以及存儲(chǔ)操作。同時(shí)通過對(duì)加密錄音筆進(jìn)行測(cè)試和分析,表明系統(tǒng)錄音過程穩(wěn)定可靠、加密效果良好,且達(dá)到了設(shè)計(jì)要求。

隨著電子產(chǎn)品對(duì)數(shù)字信號(hào)處理技術(shù)的需求廣泛應(yīng)用,語(yǔ)音信息的保密性也成為信息處理領(lǐng)域的一個(gè)重要研究方向。模擬音頻信號(hào)的數(shù)字化過程包括采樣、量化和編碼等,數(shù)字信號(hào)具有抗干擾能力強(qiáng)、信號(hào)動(dòng)態(tài)范圍大(S/N>90 dB)以及可進(jìn)行數(shù)據(jù)壓縮的特點(diǎn)。數(shù)據(jù)加密是由加密密鑰和加密算法將明文數(shù)據(jù)轉(zhuǎn)化為沒有固定意義的密文;數(shù)據(jù)解密即是由解密密鑰和解密算法將密文恢復(fù)為明文。


系統(tǒng)使用基于ARM內(nèi)核的STM32處理器執(zhí)行加密算法和系統(tǒng)的協(xié)作控制。采用TEA加密算法對(duì)接收到的音頻數(shù)據(jù)進(jìn)行實(shí)時(shí)加密,加密后的語(yǔ)音數(shù)據(jù)存儲(chǔ)到外部SD卡中,并可將語(yǔ)音文件通過USB接口傳輸?shù)接?jì)算機(jī)進(jìn)行解密處理。文中設(shè)計(jì)完成了數(shù)字錄音模塊和STM32外圍配置的硬件電路;PCB布局布線;編寫加密錄音筆軟件,實(shí)現(xiàn)了數(shù)字錄音筆的數(shù)據(jù)加密與數(shù)據(jù)存儲(chǔ)功能。

1 系統(tǒng)整體設(shè)計(jì)

系統(tǒng)硬件電路主要分為數(shù)字錄音模塊和STM32處理器模塊兩部分,如圖1所示。數(shù)字錄音模塊負(fù)責(zé)模擬音頻信號(hào)捕獲和信號(hào)采樣、量化以及編碼處理;處理器模塊實(shí)現(xiàn)數(shù)字?jǐn)?shù)據(jù)的加密運(yùn)算、數(shù)據(jù)存儲(chǔ)以及系統(tǒng)的整體控制。

語(yǔ)音信號(hào)通過麥克風(fēng)輸入后進(jìn)行數(shù)字錄音,數(shù)字錄音電路包括濾波器網(wǎng)絡(luò)、增益放大和語(yǔ)音處理3部分。由于系統(tǒng)要求盡可能減小PCB板面積,所以本文選擇能同時(shí)滿足增益放大、A/D采樣以及編碼處理的錄音芯片VS1003。STM32處理器模塊負(fù)責(zé)加密算法的執(zhí)行和系統(tǒng)的協(xié)作控制。VS1003將采集到的數(shù)據(jù)通過SPI接口實(shí)時(shí)傳輸?shù)絊TM32進(jìn)行加密處理,并將加密后的密文數(shù)據(jù)通過另一個(gè)SPI接口存儲(chǔ)到外部容量為2 GB的SD卡中。

2 硬件電路設(shè)計(jì)

2.1 STM32處理器電路

2.1.1 主控芯片配置電路

主控芯片使用STM公司的STM32F103C6T6控制器,該系列32位閃存微控制器使用ARM公司具有突破性的Cortrex-M3內(nèi)核,Cortex-M3內(nèi)核基于哈佛架構(gòu),指令總線和數(shù)據(jù)總線相互獨(dú)立,使STM32的性能得到明顯提高,并在大幅提高了應(yīng)用程序的執(zhí)行速度。

STM32通過BOO了[1:0]引腳選擇3種不同的啟動(dòng)模式,系統(tǒng)使用主閃存存儲(chǔ)模式,即主閃存存儲(chǔ)器被選為啟動(dòng)區(qū)域;系統(tǒng)時(shí)鐘采用8 MHz內(nèi)部時(shí)鐘經(jīng)內(nèi)部倍頻為48 MHz。STM32支持兩種調(diào)試接口(SWJ):SW調(diào)試和JTAG調(diào)試,且SW調(diào)試和JTAG調(diào)試的部分引腳是復(fù)用的。本文采用SW(同步串行協(xié)議)調(diào)試:SWCLK為從主機(jī)到目標(biāo)的時(shí)鐘信號(hào);SWDIO為雙向數(shù)據(jù)信號(hào);SWDIO為雙向接口,需接100 kΩ的上拉電阻。STM32主控芯片的配置結(jié)構(gòu)如圖2所示。

2.1.2 SD卡存儲(chǔ)電路

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

2.1.3 USB通信電路

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

2.2 數(shù)字錄音電路

數(shù)字錄音單元通過對(duì)輸入的模擬音頻信號(hào)進(jìn)行低通濾波、增益放大以及采樣、量化和ADPCM編碼處理,輸出數(shù)字音頻數(shù)據(jù)。VS1003是VLSI公司的一款支持MP3/WMA/MIDI音頻編解碼和ADPCM編碼的芯片,內(nèi)置一個(gè)高性能、低功耗的DSP處理器內(nèi)核,具有5 kB的指令RAM,0.5 kB的數(shù)據(jù)RAM,串行控制/數(shù)據(jù)輸入接口,1個(gè)UART口以及4個(gè)通用IO口;同時(shí)片內(nèi)帶有一個(gè)立體聲DAC以及一個(gè)可變采樣率的ADC。

輸入模擬音頻信號(hào)經(jīng)LINE_IN引腳輸入到VS1003進(jìn)行A/D采樣,量化和ADPCM編碼,并通過SPI通信協(xié)議與STM32主控制器進(jìn)行數(shù)據(jù)與控制信號(hào)的傳輸。錄音電路與STM32的連接電路如圖5所示。

VS1003芯片由外部晶振提供12.288 MHz時(shí)鐘作為主時(shí)鐘,如圖5所示。錄音芯片由系統(tǒng)電源模塊供電,所需2.5 V模擬電壓、3.3 V數(shù)字電壓以及3.3 V模擬電壓,由AMS1117線性電源模塊提供。XRESET信號(hào)提供錄音芯片的硬件復(fù)位,當(dāng)XRESET為低時(shí),VS1003處于復(fù)位狀態(tài)。系統(tǒng)通電或硬件復(fù)位后,主機(jī)通過對(duì)各硬件寄存器的設(shè)置來實(shí)現(xiàn)對(duì)錄音芯片錄音模式和具體參數(shù)的設(shè)定。

2.3 供電電路

系統(tǒng)由外部電源或鋰電池供電,采用數(shù)字5 V進(jìn)行供電,使用CN3052充電電路對(duì)鋰電池充電。CN3052A是對(duì)單節(jié)鋰離子或鋰-聚合物可充電電池進(jìn)行恒流/恒壓充電的充電器電路,其只需較少的外圍器件,且符合USB總線技術(shù)規(guī)范。充電模塊電路如圖6所示。

3 錄音筆軟件設(shè)計(jì)

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


3.1 底層驅(qū)動(dòng)程序

S7M32控制器通過SPI接口對(duì)VS1003錄音芯片進(jìn)行寄存器配置,然后進(jìn)行數(shù)字音頻數(shù)據(jù)的傳輸,經(jīng)加密處理后將數(shù)據(jù)存儲(chǔ)到SD卡中,上位機(jī)通過USB接口直接對(duì)存儲(chǔ)器進(jìn)行讀寫操作,以方便加密錄音文件的拷貝。系統(tǒng)使用VS1003,采樣率為8 kHz,采樣位數(shù)為16 bit,其配置流程如圖7(b)所示。STM32為USB開發(fā)工具集提供了完整且經(jīng)過認(rèn)證的固件包,從而可輕易實(shí)現(xiàn)對(duì)各類USB固件的開發(fā)。其中包括:用于普通設(shè)備管理任務(wù)的控制傳輸、批量傳輸、中斷傳輸以及同步傳輸。USB接口配置流程如圖7(c)所示。

3.2 TEA加密程序

為滿足實(shí)時(shí)加密的要求,本文采用基于TEA的加密算法。TEA是一種小型的對(duì)稱加解密算法,支持128位密鑰,該加密算法的優(yōu)點(diǎn)是速度快、效率高。為避免for循環(huán)和除法運(yùn)算,采用升級(jí)版的TEA加密算法,通過對(duì)加密算法的更改,可一次加密512 Byte,符合Flash一頁(yè)扇區(qū)的存儲(chǔ)大小。TEA加密算法通過加密輪數(shù)來保證數(shù)據(jù)的可靠性,程序采用12輪加密,故具有較高的可靠性。

算法的主要思想是將輸入的512 Byte明文數(shù)據(jù)進(jìn)行分組,得到每組32 bit,共128組的數(shù)組V0,V1,…,V127,并對(duì)128位密鑰進(jìn)行分組得到4組32 bit的數(shù)組K0,K1,K2,K3,然后將每組數(shù)據(jù)Vj進(jìn)行加MX運(yùn)算,共進(jìn)行128次,完成一輪加密。密鑰常量設(shè)置為

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解密算法是加密的逆運(yùn)算,對(duì)加密后的wav文件進(jìn)行解密處理,本文使用C#編寫解密界面。

4 實(shí)驗(yàn)仿真

打開電源開關(guān),狀態(tài)指示燈閃爍一次;使用錄音中間“一鍵錄音”按鍵,錄音指示燈常亮;再次按鍵時(shí)錄音指示燈熄滅,停止錄音。本文使用音頻處理軟件Cool Edit Pro進(jìn)行波形觀察,加密的錄音源文件和解密后的波形文件如圖9所示。

通過音頻信號(hào)的波形對(duì)比可看出,加密后的音頻信號(hào)波形是完全隨機(jī)的亂碼,語(yǔ)音播放時(shí)呈噪音狀態(tài),解密后的音頻文件聲音還原性良好。

5 結(jié)束語(yǔ)

系統(tǒng)使用VS1003、STM32等器件實(shí)現(xiàn)一鍵錄音加密錄音筆的設(shè)計(jì),USB從控制器與PC機(jī)進(jìn)行通信,實(shí)現(xiàn)數(shù)據(jù)傳輸。數(shù)字錄音技術(shù)是現(xiàn)代數(shù)字信號(hào)處理的重要組成部分,其融合了音頻數(shù)據(jù)采集與傳輸、音頻數(shù)據(jù)處理以及嵌入式等多種技術(shù),具有廣闊的應(yīng)用前景。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉