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