歡迎您光臨本站 登入註冊首頁

語音錄放晶元ISD5116特點及應用

admin @ 2014-03-14 , reply:0

概述

ISD5116是ISD公司最新推出的語音錄放晶元。它除了具有該公司以往4000和5000系列語音晶元的特點(音質好、語音錄放時間長、低功耗、信息保持時間長等)以外,更是採用了增強型的5000系列結構;……

ISD5116是ISD公司最新推出的語音錄放晶元。它除了具有該公司以往4000和5000系列語音晶元的特點(音質好、語音錄放時間長、低功耗、信息保持時間長等)以外,更是採用了增強型的5000系列結構;它採用I2C串列匯流排介面,與採用MWI(微匯流排)介面相比,與CPU的介面減少到2條線;它增加了對數字量的存儲功能,可以將諸如電督號碼、系統設置、語音地址指針等參數與語音信息一起存儲在晶元內部;根據應用系統的要求,通過軟體設定採樣頻率,可使晶元錄放音時間最長達到17'28"。
一、晶元封裝形式及引腳功能
ISD5116採用TSOP和SOIC的封裝形式(見圖1),還可根據需要提供BGA形式封裝。晶元的引腳根據功能分為數字、模擬和電源三部分。
數字部分:
SCL:I2C匯流排時鐘信號線。
SCD:I2C匯流排數據信號線。
RAC:行地址時鐘信號輸出。
INT:中斷信號輸出端。當發生溢出(OVF)或遭遇到語音結束(EOM)標誌時,該端變低並一直保持低電平狀態,直至用"讀狀態"指令將其清除為止。

A0、A1:晶元I2C匯流排的從地址設置端。由於採用8位地址,而且最低地址位是讀/寫選擇位(二進位形式為:1 0 0 0 0 A1 A0 ),故晶元的地址為80~87H。
模擬部分:
MIC+、MIC-:麥克風信號輸入端。
ANA OUT+、ANA OUT-:語音信號輸出端(注意:不使用此端時,不要將其接地)
ACAP:片內"自動增益控制器"電容接入端。一般接一個4.7F電容
SP+、SP-:外接揚聲器埠。5116可以直接驅動一個8 揚聲器,此時最大功率為23.5mW。
AUX OUT:語音信號輔助輸出端。
ANA IN:語音信號輸入端。
AUX IN:語音信號輔助輸入端。
電源部分:
VCCA、VCCD:模擬和數字部分+3V電源輸入端。
VSSA、VSSD:模擬和數字電源接地端。
NC:無需連接端。
二、晶元結構
1.內部寄存器
5116內部具有多個用於儲存地址、晶元設置等信息的寄存器。其中兩個16位的晶元"設置寄存器"(CF0、CF1)控制著晶元內部各部分的功能,如聲音信號的流通路徑、採樣頻率、各種增/減率、各功能塊上電/掉電以及音量設置等等。
2.存儲器的組織形式
語音信息和數字量均存儲在晶元內部的快閃記憶體存儲器中。5116的存儲器由2048行(或頁)、每行(或頁)2048位共4194304位的陣列組成。
存儲語音信息時,行是最小可定址單位。總共2048個行通過11位地址選定。以8KHz採樣頻率為例,每行的錄放音時間為256ms,因而晶元的記錄時間為2048€?56(ms)=8'44。存儲數字量時,每頁的2048位被組織成32個「塊」,每個塊為64位,塊為最小可定址單位
注意:每個行(或頁)要麼是全部記錄語音,要麼是全部記錄數字量,不能混合記錄。
狀態字
晶元進行操作前,有時需要了解其當前的狀態,這一般通過讀取晶元的"狀態字來實現。5116的狀態字是一個8位位元組。
命令字
使晶元實現上電、開始或停止錄音、信息查找等功能,需向其寫入一"命令字。5116的命令字為一8位位元組。
三、晶元的應用
1.硬體介面說明
由於採用I2C匯流排,因此5116與具備此類匯流排的CPU(如80C552等)的介面非常簡單。
通過設置不同的從地址(A1、A0),可將多達4片5116同時掛到匯流排上,這樣一來總的錄放音時間最長可達69分鐘。
由於晶元內部集成了放大、驅動和自動增益控制等電路,因此只需外接MIC和揚聲器就可實現語音錄放,無需其它外圍器件。
2.軟體設計要點
錄音、放音——錄音時應首先對CF0和CF1進行設置,以打開相應的通路、設置採樣頻率等。
如果是對MIC信號進行錄音(假設採樣頻率為4.0KHz),CF0、CF1應設置為:
CF0<15:0>=0010 0100 0010 0001B (2421H)
CF1<15:0>=0000 0001 0100 1100B (014CH)
如果對ANA IN信號進行錄音(假設採樣頻率為6.4KHz),CF0、CF1則應設置為:
CF0<15:0>=0100 0100 0000 1011B (440BH);
CF1<15:0>=0000 0000 1100 0101B (00C5H)。
然後是向晶元發錄音命令,可使用 RECD @ADDR命令(91H),此時應依次向晶元發送:
晶元地址(8位)→錄音命令(91H)→錄音起始地址(高8位)→錄音起始地址(低8位)。
放音時,先將CF0和CF1(假設採樣頻率為4.0KHz)設置為:
CF0<15:0>=0010 0100 0010 0010B (2422H)
CF1<15:0>=0101 1001 1101 1101B (59DDH)
然後依據放音命令PLAY @ADDR (A9H)的要求依次向5116發:
晶元地址(8位)→放音命令(A9H)→放音起始地址(高8位)→放音起始地址(低8位)。
需要指出的是,由於5116在錄放語音時,只能定址到行,因此上述關於錄音和放音的起始地址只有高11位(即ADDR<15:5>)有意義。
寫數據、讀數據及擦除 —— 5116允許將其存儲器的部分頁用於儲存數字量(頁數多少可依據需要決定)。在儲存數字量時(寫數據)時,最小可定址的單位是「塊」(64位)。由於5116有2048頁、每頁有32個塊,故需要16位的地址(高11位為頁地址,低5位為塊地址)來指定塊。
如果頁中的任意一個塊已經被寫入過,則在改寫該塊前應先擦除該頁(注意:擦除是以頁為單位進行的)。一般的作法是:先讀取整個頁並將其放在RAM中,然後更改相應塊的位、擦除頁,最後一步是重寫整個頁。
寫數據時,可採用下列I2C命令次序:
發晶元地址→發寫命令(C9H)→地址高8位→地址低8位→數據(8位€?次)。
數據時,由於要先向晶元寫"讀數據命令,故相對寫數據要複雜一些。具體可採用下列I2C命令次序:
發晶元地址(位R/W =0)→發讀命令(E1H)→地址高8位→地址低8位→發晶元地址(位R/W =1)→讀數據(8位€?次)。

[admin via 研發互助社區 ] 語音錄放晶元ISD5116特點及應用已經有2615次圍觀

http://cocdig.com/docs/show-post-369.html