ISD4004-16M語音芯片的循環(huán)錄放電路設(shè)計
摘要:針對ISD語音芯片的特點,設(shè)計一種由單片機控制,能夠循環(huán)錄放的語音電路,可作為錄音機,復(fù)讀機、音頻記錄儀使用,既節(jié)省存儲空間,又降低成本,具有較高的實用價值。
關(guān)鍵詞:ISD4004 語音 循環(huán)錄放
目前,市場上的固體錄音機及各種錄音筆,大多采用的是順序錄音,不具備循環(huán)錄音功能,一旦存儲器錄滿,必須重新操作才行。本文設(shè)計一種能夠循環(huán)錄放的語音電路,即可解決上述問題。
1 器件功能介紹
ISD系列語音芯片是美國ISD公司推出的產(chǎn)品。該系列語音芯片采用多電平直接接模擬存儲(Chip Corder)專利技術(shù),聲音不需要A/D轉(zhuǎn)換和壓縮,每個采樣值直接存儲在片內(nèi)的閃爍存儲器中,沒有A/D轉(zhuǎn)換誤差,因此能夠真實、自然地再現(xiàn)語音、音樂及效果聲。避免了一般固體錄音電路量化和壓縮造成的量化噪聲和金屬聲。
圖1
ISD4004語音芯片采用CMOS技術(shù),內(nèi)含晶體振蕩器、防混疊濾波器、平滑濾波器、自動靜噪、音頻功率放大器及高密度多電平閃爍存儲陣列等(見圖1),因此只需很少的外圍器件就可構(gòu)成一個完整的聲音錄放系統(tǒng)。芯片設(shè)計是基于所有操作由微控制器控制,操作命令通過串行通信接口(SPI或Microwire)送入。采樣頻率可為4.0Hz、5.3Hz、6.4Hz、8.0kHz,頻率越低,錄放時間越長,而音質(zhì)則有所下降。片內(nèi)信息存于內(nèi)爍存儲器中,可在斷電情況下保存100年(典型值)反復(fù)錄音10萬次。器件工作電壓3V,工作電流25~30mA,維持電流1μA?單片錄放語音時間8~16min,音質(zhì)好,適用于移動電話機及其它便攜式電子產(chǎn)品中。
1.1 引腳描述
ISD4004系列芯片引腳圖如圖2所示。
圖2
同相模擬輸入(ANA IN+)-這是錄音信號的同相輸入端,輸入放大器可用單端或差分驅(qū)動。單端輸入時,信號由耦合電容輸入,最大幅度為峰峰值32mV,耦合電容和本端的3kΩ輸入阻抗決定了芯片頻率的低端截止頻率。在差分驅(qū)動時,信號最大幅度為峰峰值16mV。
反相模擬輸入(ANA IN-)-差分驅(qū)動時,這是錄音信號的反相輸入端。信號通過耦合電容輸入,最大幅度為峰峰值16mV,本端的標稱輸入阻抗為56kΩ,單端驅(qū)動時,本端通過電容接地。兩種方式下,ANA IN+和ANA IN-端的耦合電容值應(yīng)用相同。
音頻輸出(AUD OUT)-提供音頻輸出,可驅(qū)動5kΩ的負載。
片選(SS)-此端為低,即選中ISD4004系列。
串行輸入(MOSI)-此為單行輸入端,主控制器應(yīng)在串行時鐘上升沿之前半個周期將數(shù)據(jù)放到本端,供ISD輸入。
圖3
串行輸出(MISO)ISD-串行輸出端,ISD未選中時,本端呈高阻態(tài)。
串行時鐘(SCLK)-ISD的時鐘輸入端,由于控制器產(chǎn)生,用于同步MOSI和MISO的數(shù)據(jù)傳輸。數(shù)據(jù)在SCLK上升沿鎖存到ISD,在下降沿移出ISD。
中斷(INT)-本端為漏極開路輸出,ISD在任何操作(包括快進)中檢測到EOM或OVF時,本端變低并保持,中斷狀態(tài)在下一個SPI周期開始清除,中斷狀態(tài)也可用RITN指令讀取。
行地址時鐘(RAC)-漏極開始輸出。生個RAC周期表示ISD存儲器的操作進行了一行(ISD4004系列中的存儲器有2400行)。8kHz采樣頻率的器件,RAC周期為200ms,其中175ms保持高電平,低電平為25ms。快進模式下,RAC為218.75μs高電平,31.25μs為低電平,該端可用于存儲管理技術(shù)。
外部時鐘(XCLK)-本端有內(nèi)部下拉元件,芯片內(nèi)部的采樣時鐘在出廠前已調(diào)校,誤差在+1%內(nèi),在不外接時鐘時,此端必須接地。
自動靜噪(AM CAP)-1μF電容構(gòu)成內(nèi)部峰值檢測電路的一部分,檢測出的峰值電平與內(nèi)部設(shè)定的閾值作比較,決定自動靜噪電路的工作與否。大信號時自動靜噪電路不衰減,靜音時衰減6dB。同時,1μF電容也影響自動靜噪電路時信號幅度的響應(yīng)速度,本端接VCCA則禁止自動靜噪。
1.2 串行外部接口(SPI)
ISD4004工作于SPI串行接口。SPI協(xié)議是一個同步串行數(shù)據(jù)傳輸協(xié)議,協(xié)議假定微控制器的SPI移位寄存器在SCLK的下降沿動作。因此,對ISD4004而言,在時鐘上升沿鎖存MOSI引腳數(shù)據(jù),在下降沿將數(shù)據(jù)送至MISO引腳。協(xié)議具體內(nèi)容如下。
①所有串行數(shù)據(jù)傳輸開始于SS下降沿。
②SS在傳輸期間必須保持為低電平,在兩條指令之間保持為高電平。
③數(shù)據(jù)在時鐘上升沿移入,在下降沿移出。
④SS變低,輸入指令和地址后,ISD行才開始錄放保持。
⑤指令格式是8位控制碼加16位地址碼。
圖5
⑥ISD的任何操作(含快進)如果遇到EOM或OVF,則產(chǎn)生一個中斷,該中斷狀態(tài)在下一個SPI周期開始時被清除。
⑦使用“讀”指令會使中斷狀態(tài)位移出ISD的MISO引腳時,控制及地址數(shù)據(jù)也同步從MOSI端移入。
⑧所有操作在運行位(RUN)置1時開始,置0時結(jié)束。
⑨所有指令都在SS端上升沿開始執(zhí)行。
OVF標志指示ISD錄放操作已到達存儲器的末尾。EOM標志只有放音過程中檢測到內(nèi)部的EOM標志時,此狀態(tài)位置1,如圖3所示。
以下列舉了幾種對ISD器件進行操作進的批令次序。
圖6
*信息快進。用戶不必知道確切的地址,就能快地跳過一條信息。信息快進只用于放音模式。放音速度是正常的1600倍,遇到EOM后停止,內(nèi)部地址計數(shù)器加1,并接下條信息開始處。
*上電順序。器件延時TPUD(8kHz)采樣時,約25ms后才能開始操作。因此,用戶發(fā)完上電指令后,必須等待TPUD,才能發(fā)出一條操作指令。例如從00處放音,應(yīng)遵循如下時序:發(fā)power up命令;等待TPUD(上電延時);發(fā)地址值為00的SETPLAY命令;發(fā)PLAY命令。器件會從00地址開始放音,當(dāng)出現(xiàn)EOM時,立即中斷,停止放音。如果從00處錄音,則按以下時序:發(fā)power up命令;等待TPUD(上電延時);發(fā)power up命令;等待2倍TPUD;發(fā)地址值為00的SETREC命令;發(fā)REC命令。器件便從00地址開始錄音,一直到出現(xiàn)OVF(存儲器末尾),錄音停止。
1.3 時序
8位及24位命令格式如圖4和圖5所示。
錄音、放音、停止時序如圖6所示。
圖7
2 循環(huán)錄放電路的設(shè)計
該電路采用AT89C51單片機,通過操作5個微型按扭開關(guān)和一個微動開關(guān)實現(xiàn)功能轉(zhuǎn)換,操作命令由串行通信接口(SPI)送入。電路即可工作在順序模式,又可工作在循環(huán)模式。當(dāng)工作在循環(huán)模式。當(dāng)工作在循環(huán)模式的錄音狀態(tài)時,ISD芯片將始 終記錄最后16min的語音信息,直至按下停止鍵。
2.1 硬件電路設(shè)計
電路原理圖如圖7所示,整個電路由單片機控制顯示電路、ISD4004語音錄放電路、話筒輸入電路、音頻功率放大電路幾部分構(gòu)成。ISD4004的片選信號SS由控制器P2.0提供。單片機AT89C51的串行口工作于同步移位寄存器方式,同步移位脈沖由TXD(P3.1)輸出至ISD4004的串行時鐘輸入端SCLK,數(shù)據(jù)由RXD(P3.0)輸入輸出。因AT89C51單片機不具備(SPI)接口,故這里通過三態(tài)門將RXD(P3.0)數(shù)據(jù)線復(fù)用。對單片機而言,發(fā)射時作為輸出,接至ISD4004的串行輸入端(MOSI);接收時作為輸入,接至ISD4004的串行輸出端(MISO)。電路中拔動開關(guān)Ks用于選擇啟用或取消循環(huán)錄音功能。
2.2 軟件設(shè)計
整個程序包括主程序和中斷子程序兩部分。AT89C51單片機提供了用戶鍵盤、顯示和ISD4004所需接口。它接收擊鍵功作,并將相應(yīng)指令傳給ISD4004,同時監(jiān)控ISD4004的中斷輸出。當(dāng)開關(guān)KS閉合(KS=1)時,讀取ISD4004的狀態(tài)寄存器,從而根據(jù)OVF和EOM的狀態(tài)進行相應(yīng)的處理。當(dāng)OVF=1,即存儲器溢出時,則不管當(dāng)前為何種狀態(tài)均將ISD4004的地址置零,并繼續(xù)運行原指令;當(dāng)EOM=1時,當(dāng)前狀態(tài)只可能為放音或快進,若為快進則置為放音態(tài),并繼續(xù)運行。如此設(shè)計便實現(xiàn)了循環(huán)錄放的功能,同時在快進時,自動停止在下一個語音段開始處,并繼續(xù)放音。
中斷程序流程圖如圖8所示。源程序清單見網(wǎng)站www.dpj.com.cn。
3 總體性能與功能擴展
該電路正常工作時功耗為200mW,音量增大時功耗有所增加。整個電路工作穩(wěn)定、可靠,輸出的聲音清晰,音色優(yōu)美,主觀上聽不到循環(huán)模式下將ISD地址置零所產(chǎn)生的間斷音。系統(tǒng)最大錄放時間為16min,如需增加錄放時間,只需增加ISD4004芯片數(shù)量,通過片選即可實現(xiàn)。例如,采用4片ISD4004,就能達到近一個小時的錄音長度。