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