使用SPCE061A的SIO實(shí)現(xiàn)數(shù)碼錄音及播放
作者EMAIL: xiangyan@sunnorth.com.cn
SPCE061A是臺灣凌陽公司生產(chǎn)的一種新型的十六位單片機(jī),該款單片機(jī)資源豐富,具有極高的性價比。SPCE061A具有可編程的音頻處理功能,同時又具有串口輸入輸出端口SIO(它提供了一個1位的串行接口,用于與其它設(shè)備進(jìn)行數(shù)據(jù)通訊),本文就是介紹利用SPCE061A的這兩個資源和串行接口的FLASH(SPR1024)來開發(fā)數(shù)碼錄音及播放系統(tǒng)。
本系統(tǒng)只使用5個IO口,還有好多資源沒有用到。因此,開發(fā)者可以在此基礎(chǔ)上擴(kuò)展系統(tǒng)的功能,比如,使用SPCE061A的通用異步串行接口UART來實(shí)現(xiàn)與PC機(jī)的通訊,或者使用其他的IO口來外掛USB器件實(shí)現(xiàn)與PC機(jī)的USB通訊,制作復(fù)雜的錄、放音系統(tǒng)。
3.1系統(tǒng)結(jié)構(gòu)
系統(tǒng)結(jié)構(gòu)框圖如圖3.7所示,它主要由按鍵輸入、音頻錄入、音頻輸出和SPR1024存儲擴(kuò)展這四部分組成。
按鍵輸入部分:它由3個按鍵組成。
音頻錄入部分:主要由MIC、自動增益電路、AD轉(zhuǎn)換電路構(gòu)成。
音頻輸出部分:主要由LM386放大器,喇叭播放器組成。
SPR1024 FLASH部分:主要用來存儲編碼后的語音數(shù)據(jù)。
3.2硬件設(shè)計(jì)
本系統(tǒng)主要采用SPCE061A單片機(jī)和SPR1024 FLASH芯片。其中SPR1024也是臺灣凌陽科技公司生產(chǎn)的,它是串行接口的FLASH,是40腳DIP封裝的IC。它的工作電壓范圍為2.7V~3.6V,存儲容量為128K * 8位,F(xiàn)LASH內(nèi)部結(jié)構(gòu)以1k字節(jié)為一頁,共128頁。該芯片與SPCE061A的IOB0和IOB1相連的管腳是21pin的SCLK,4pin的ADPAD。
SPCE061A是性價比極高、資源豐富的一款十六位單片機(jī),使用它可以非常方便的實(shí)現(xiàn)語音的錄放系統(tǒng)。SPCE061A的A/D轉(zhuǎn)換器有8個通道,其中有1個通道是MIC-IN輸入,它專門用于對語音信號進(jìn)行采樣。語音信號經(jīng)Mic轉(zhuǎn)換成電信號,由隔直電容隔掉直流成分,然后輸入至SPCE061A內(nèi)部前置放大器。SPCE061A內(nèi)部自動增益控制電路AGC能隨時跟蹤、監(jiān)視前置放大器輸出的音頻信號電平,當(dāng)輸入信號增大時,AGC電路自動減小放大器的增益;當(dāng)輸入信號減小時,AGC電路自動增大放大器的增益,以便使進(jìn)入A/D的信號保持在最佳電平,又可使削波減至最小。 2路10位精度的DA,只需要外接功放(LM386)電路即可完成語音的播放。
系統(tǒng)的硬件連接圖如圖3.8所示。圖中三個按鍵控制著系統(tǒng)的錄音、停止、放音三個過程。按下Record鍵,采集語音數(shù)據(jù),編碼后存儲語音數(shù)據(jù)到SPR1024;按下Stop鍵,停止錄音;按下Play鍵,播放所錄語音。
圖3.8硬件連接圖
3.3軟件設(shè)計(jì)
本系統(tǒng)軟件設(shè)計(jì)流程圖如圖3.9所示:
錄放音的編解碼是靠調(diào)用庫函數(shù)完成,不需要我們設(shè)計(jì)硬件電路。凌陽公司提供了豐富的庫函數(shù),我們只要了解庫函數(shù)的使用,就能輕松完成語音錄放。本系統(tǒng)采用的是凌陽公司提供的音頻格式SACM_A2000,它的壓縮編碼率是16Kbit/s,因此可以計(jì)算出1Mbit的存儲器可以存放播放1M/16K = 64秒的語音數(shù)據(jù)。凌陽的音頻格式有許多種,由于篇幅關(guān)系,不在這里詳細(xì)講述,請參考相關(guān)資料。
本系統(tǒng)底層驅(qū)動程序包括IO口初始化、SPR1024的讀寫、擦除使用的是匯編語言編寫的。上層程序包括語音的錄放采用C語言編寫。程序以函數(shù)的形式封裝對SPR1024芯片的操作,上層程序可以輕松調(diào)用這些函數(shù),實(shí)現(xiàn)對SPR1024讀寫、擦除操作。這些主要源于凌陽十六位單片機(jī)具有易學(xué)易用的效率較高的一套指令系統(tǒng)和集成開發(fā)環(huán)境。在此環(huán)境中,支持標(biāo)準(zhǔn)C語言,可以實(shí)現(xiàn)C語言與凌陽匯編語言的互相調(diào)用。
3.4總結(jié)
凌陽公司的十六位單片機(jī)SPCE061A 是一種款式新穎,性價比極高的單片機(jī)。它具有較高運(yùn)算速度的16位16位的乘法運(yùn)算指令;具有DSP功能的內(nèi)積運(yùn)算指令;具有音頻處理功能;具有8位機(jī)價格、16位單片機(jī)性能
本系統(tǒng)只是實(shí)現(xiàn)SPCE061A的一個基本應(yīng)用,設(shè)計(jì)者只要對該系統(tǒng)的電路、程序稍加改動,就可以實(shí)現(xiàn)語音復(fù)讀機(jī)、跟讀機(jī)、留言機(jī)、以及電話錄音儀等功能。
評論