1 概述 ISD4004 是美國ISD 公司制造的一種新款語音芯片。與ISD 其它系列語音產品不同的是,ISD4004是一種微控制器“從”設備,而“主”控制器可以是內置有SPI 兼容接口的微控制器,也可以用I/O 仿真SPI通信協議。ISD4004 系列工作電壓為3V,單片錄放時間為8~16 分鐘,音質好,適用于移動電話及其它便攜式電子產品中。該芯片采用CMOS 技術,內含振蕩器、抗混疊濾波器、平滑濾波器、音頻放大器、自動靜噪及高密度多電平閃爍存貯陳列。芯片的所有操作必須由微控制器控制,操作命令可通過串行通信接口(SPI 或Microwire)送入。ISD4004 采用多電平直接模擬量存儲技術,每個采樣值直接存貯在片內閃爍存貯器中,因此能非常真實、自然地再現語音、音調和效果聲,避免了一般固體錄音電路因量化和壓縮造成的量化噪聲和“金屬聲”。采樣頻率可為4.0,5.3,6.4,8.0kHz,頻率越低,錄放時間越長,音質則有所下降, 片內信息存于閃爍存貯器中,可在斷電情況下保存100 年(典型值),反復錄音10萬次。 2 引腳功能描述 ISD4004 的引腳排列如圖1 所示,各引腳功能如下: 電源(VCCA,VCCD):為使噪聲最小,芯片的模擬和數字電路使用不同的電源總線,并且分別引到外封裝的不同管腳小,模擬和數字電源端最好分別走線。盡可能在靠近供電端處相連,而去耦電容應盡量靠近器件。地線(VSSA,VSSD):芯片內部的模擬和數字電路也使用不同的地線。 同相模擬輸入(ANA IN+):錄音信號 的同相輸入端。輸入放大器可用單端或差分驅動。單端輸入時,信號由耦合電容輸入,最大幅度為峰峰值32mV,耦合電容和本端的3kΩ 電阻輸入阻抗決定了芯片頻帶的低端截止頻率。差分驅動時,信號最大幅度為峰峰值16mV,與ISD33000 系列相同。 反相模擬輸入(ANA IN-):差分驅動時,為錄音信號的反相輸入端。信號通過耦合電容輸入,最大幅度為峰 峰值16mV。音頻輸出(AUD OUT):提供音頻輸出,可驅動5kΩ 的負載。片選(SS):此端為低,即向該ISD4004芯片發送指令,兩條指令之間為高電平。 串行輸入(MOSI):此端為串行輸入端,主控制器應在串行時鐘上升沿之前半個周期將數據放到本端,供ISD 輸入。串行輸出(MISO):ISD 的串行輸出端。ISD 未選中時,本端呈高阻態。串行時鐘(SCLK):ISD 的時鐘輸入端,由主控制器產生,用于同步MOSI 和MISO 的數據傳輸。數據在SCLK 上升沿鎖存到ISD,在下降沿移出ISD。中斷(INT):本端為漏極開路輸出。ISD 在任何操作(包括快進)中檢測到EOM或IVF 時,本端變低并保持。中斷狀態在下一個SPI 周期開始時清除。中斷狀態也可用RINT 指令讀取。OVF 標志用來指示ISD 的錄、放操作已到達存儲器的末尾。只在放音中檢測到內部的EOM 標志時,此狀態位才置1。行地址時鐘(RAC):漏極開路輸出。每個RAC 周期表示ISD 存儲器的操作進行了一行(ISD4004系列中的存貯器共2400 行)。該信號保持高電平的時間為175ms,低電平時間為25ms。在快進模式,RAC 可保持高電平218.75μs,低電平31. 25μs。該端可用于存儲管理技術。 3 工作原理與功能特性 ISD4004 聲音錄放采用CchipCorder 專利技術,即無須A/D 轉換和壓縮就可以直接儲存,沒有A/D轉換誤差,在個記錄位(BIT)可存儲250 級聲音信號,相當于通常的A/D 記錄的8 倍。 3.1 SPI(串行外設接口)ISD4004 工作于SPI 串行接口。SPI 協議是一個同步串行數據傳輸協議,該協議假定微控制器的SPI移位寄存器在SCLK 的下降沿工作,因此對于ISD4004 而言,在時鐘上升沿將鎖存MOSI 引腳的數據, 而在下降沿則將數據送至MISO 引腳。 3.2 SPI 接口指令 SPI 的接口指令如表1 所列。 表1 SPI 的接口指令 3.3 SPI 端口的控制位 SPI 端口控制位如圖2 所示。 3.4 SPI 控制寄存器 SPI 控制寄存器控制器件可以實現如錄放、錄音、信息檢索(快進)、上電/掉電、開始和停止操作、忽略地址指針等功能。具體控制位如表2 所列。 當IAB 置0 時,錄、放操作從A9~A0 地址開始。為了能連貫地錄、放到后續的存儲空間,在操作到達該行末之前,應發出第二個SPI 指令將IAB 置1,否則器件在同一個地址上將反復循環。這一點對語音提示功能很有用。RAC 腳和IAB 位可用于信息管理。 4 在智能控制中的典型應用 本系統是以單片機,語音處理芯片及報警傳感器為基礎,利用公共電話網絡建立起來的智能家居服務系統。它具有以下主要功能: (1)家電控制功能:打電話在通過密碼校驗后,在語音的提示下,進行遠程控制家電、查詢其工作狀態及家電定時操作。 (2)電話錄音功能:可來電留主及用戶自己錄音 (3)自動語音報警功能:在無的情況下,監控系統檢測到非法闖入,能自動拔打報警電話。在叫通后,能接報警信息以語音的形式發送出去。由上可以看到,在整個家居服務系統中,要多次實現語音提示,應答,查詢等功能。這些功能的實現是靠單片機89C51 與ISD4004 之間的通訊來完成的。89C51 與ISD4004 的連接如圖3 所示圖中,ISD4004 的13 管腳是模擬語音信號的輸出端,輸出的語音信號通過LM386 功率放大器放大,然后經過變壓器耦合到電話線上。 MIC 是麥克風,即語音信號的輸入端,輸出的模擬語音信號通過三極管組成放大器加到ISD4004 語音芯片的輸入端。 該系統的錄音子程序如下: LUYIN: ;用戶錄音子程序 MOV R0,# # # # # # # # # # ACALL FAST ;語音提示如何修改 JB P3.5,$ MOV A,#20H ;語音芯片上電 ACALL ISDX SETB P1.0 ACALL YS50 ;上電延時 ACALL YS50 MOV A,# # # # # ;“# # # # # #”表示是錄音具體地址 ACALL ISDX ;置錄音地址 MOV A,#0A0H ACALL ISDX SETB P1.0 LUY1:MOV R1,#20H ;錄音開始 LUY2:ACALL YS50 DJNZ R1,LUY2 MOV A,#0B0H ;錄音 ACALL ISDX SETB 1.0 JNB P3.3,$ LUY9:MOV A,#30H ACALL ISDX SETB P1.0 LUY3:MOV R5,#10H LUY5:JNB P1.4,LUY4 ;檢查錄音是否超時 JNB P3.5,LUY3 DJNZ R5,LUY5 MOV A,#30H ;錄音停止 ACALL ISDX SETB P1.0 LUY6:MOV R4,#0FFH LUY7:MOV R5,#0FFH LUY8:MOV R6,#0FFH LUYA:JNB P3.5,LUY9 DJNZ R6,LUYA DJNZ R5,LUY8 DJNZ E4,LUY7 SJMP GUANJI LUY4:MOV R0,# # # # # #;“錄音超過,請重錄制” ACALL FSAT SJMP LUYIN 放音子程序: FANGYI:MOV R0,# # # # # #;“提示放音程序開始工作” ACALL FAST FANGY2:MOV R1,#0FFH FANGY3:MOV R2,#0FFH FANGY4:MOV A,#0FFH MOV P0,A SETB P0.7 SETB P0.4 CLR P0.5 SETB P0.6 MOV A,P0 ;讀8880 狀態寄存器 JB ACC.2,FANGY6 FANGY6:DJNZ R2,FANGY4 DJNZ R1,FANGY3 SJMP GUANJI CLR P0.4 MOV A,P0 ;讀8880 接收數據寄存器 ANL A,#0FH ;屏蔽高四位 CJNE A,#02H,FANGYI;查詢是否“2”鍵按下,是則放音 FANGY5:MOV A,#0FFH MOV P0,A SETB P0.7 SETB P0.4 CLR P0.5 SETB P0.6 MOV A,P0 JNB ACC.2,FANGY5 MOV R0,# # # # # ACALL FAST INC R0 SJMP FANGY2 |