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