| 語(yǔ)音錄放芯片ISD5116特點(diǎn)及應(yīng)用 |
| 作者:衣軍 |
| ISD5116是ISD公司最新推出的語(yǔ)音錄放芯片。它除了具有該公司以往4000和5000系列語(yǔ)音芯片的特點(diǎn)(音質(zhì)好、語(yǔ)音錄放時(shí)間長(zhǎng)、低功耗、信息保持時(shí)間長(zhǎng)等)以外,更是采用了增強(qiáng)型的5000系列結(jié)構(gòu);它采用I2C串行總線接口,與采用MWI(微總線)接口相比,與CPU的接口減少到2條線;它增加了對(duì)數(shù)字量的存儲(chǔ)功能,可以將諸如電話號(hào)碼、系統(tǒng)設(shè)置、語(yǔ)音地址指針等參數(shù)與語(yǔ)音信息一起存儲(chǔ)在芯片內(nèi)部;根據(jù)應(yīng)用系統(tǒng)的要求,通過(guò)軟件設(shè)定采樣頻率,可使芯片錄放音時(shí)間最長(zhǎng)達(dá)到17'28"。 |
| 一、芯片封裝形式及引腳功能 |
| ISD5116采用TSOP和SOIC的封裝形式(見圖1),還可根據(jù)需要提供BGA形式封裝。芯片的引腳根據(jù)功能分為數(shù)字、模擬和電源三部分。 |
| 數(shù)字部分: |
| SCL:I2C總線時(shí)鐘信號(hào)線。 |
| SCD:I2C總線數(shù)據(jù)信號(hào)線。 |
| RAC:行地址時(shí)鐘信號(hào)輸出。 |
| INT:中斷信號(hào)輸出端。當(dāng)發(fā)生溢出(OVF)或遭遇到語(yǔ)音結(jié)束(EOM)標(biāo)志時(shí),該端變低并一直保持低電平狀態(tài),直至用"讀狀態(tài)"指令將其清除為止。 |
| XCLK:外部時(shí)鐘輸入端。一般采用片內(nèi)時(shí)鐘,只需將此端與VSSD 相連;如必需外接時(shí)鐘,則此端接一個(gè)4.096MHz的時(shí)鐘源。 |
| A0、A1:芯片I2C總線的從地址設(shè)置端。由于采用8位地址,而且最低地址位是讀/寫選擇位(二進(jìn)制形式為:1 0 0 0 0 A1 A0 ),故芯片的地址為80~87H。 |
| 模擬部分: |
| MIC+、MIC-:麥克風(fēng)信號(hào)輸入端。 |
| ANA OUT+、ANA OUT-:語(yǔ)音信號(hào)輸出端(注意:不使用此端時(shí),不要將其接地) |
| ACAP:片內(nèi)"自動(dòng)增益控制器"電容接入端。一般接一個(gè)4.7F電容 |
| SP+、SP-:外接揚(yáng)聲器端口。5116可以直接驅(qū)動(dòng)一個(gè)8 揚(yáng)聲器,此時(shí)最大功率為23.5mW。 |
| AUX OUT:語(yǔ)音信號(hào)輔助輸出端。 ANA IN:語(yǔ)音信號(hào)輸入端。 AUX IN:語(yǔ)音信號(hào)輔助輸入端。 |
| 電源部分: VCCA、VCCD:模擬和數(shù)字部分+3V電源輸入端。 VSSA、VSSD:模擬和數(shù)字電源接地端。 |
| NC:無(wú)需連接端。 |
| 二、芯片結(jié)構(gòu) |
| 1.內(nèi)部寄存器 |
| 5116內(nèi)部具有多個(gè)用于儲(chǔ)存地址、芯片設(shè)置等信息的寄存器。其中兩個(gè)16位的芯片"設(shè)置寄存器"(CF0、CF1)控制著芯片內(nèi)部各部分的功能,如聲音信號(hào)的流通路徑、采樣頻率、各種增/減率、各功能塊上電/掉電以及音量設(shè)置等等。 |
| 2.存儲(chǔ)器的組織形式 |
| 語(yǔ)音信息和數(shù)字量均存儲(chǔ)在芯片內(nèi)部的閃存存儲(chǔ)器中。5116的存儲(chǔ)器由2048行(或頁(yè))、每行(或頁(yè))2048位共4194304位的陣列組成。 存儲(chǔ)語(yǔ)音信息時(shí),行是最小可尋址單位?偣2048個(gè)行通過(guò)11位地址選定。以8KHz采樣頻率為例,每行的錄放音時(shí)間為256ms,因而芯片的記錄時(shí)間為2048?56(ms)=8'44。存儲(chǔ)數(shù)字量時(shí),每頁(yè)的2048位被組織成32個(gè)“塊”,每個(gè)塊為64位,塊為最小可尋址單位 |
| 注意:每個(gè)行(或頁(yè))要么是全部記錄語(yǔ)音,要么是全部記錄數(shù)字量,不能混合記錄。 |
| 狀態(tài)字 |
| 芯片進(jìn)行操作前,有時(shí)需要了解其當(dāng)前的狀態(tài),這一般通過(guò)讀取芯片的"狀態(tài)字來(lái)實(shí)現(xiàn)。5116的狀態(tài)字是一個(gè)8位字節(jié)。 |
| 命令字 |
| 使芯片實(shí)現(xiàn)上電、開始或停止錄音、信息查找等功能,需向其寫入一"命令字。5116的命令字為一8位字節(jié)。 |
| 三、芯片的應(yīng)用 |
| 1.硬件接口說(shuō)明 |
| 由于采用I2C總線,因此5116與具備此類總線的CPU(如80C552等)的接口非常簡(jiǎn)單。 |
| 通過(guò)設(shè)置不同的從地址(A1、A0),可將多達(dá)4片5116同時(shí)掛到總線上,這樣一來(lái)總的錄放音時(shí)間最長(zhǎng)可達(dá)69分鐘。 |
| 由于芯片內(nèi)部集成了放大、驅(qū)動(dòng)和自動(dòng)增益控制等電路,因此只需外接MIC和揚(yáng)聲器就可實(shí)現(xiàn)語(yǔ)音錄放,無(wú)需其它外圍器件。 |
| 2.軟件設(shè)計(jì)要點(diǎn) |
| 錄音、放音——錄音時(shí)應(yīng)首先對(duì)CF0和CF1進(jìn)行設(shè)置,以打開相應(yīng)的通路、設(shè)置采樣頻率等。 |
| 如果是對(duì)MIC信號(hào)進(jìn)行錄音(假設(shè)采樣頻率為4.0KHz),CF0、CF1應(yīng)設(shè)置為: |
| CF0<15:0>=0010 0100 0010 0001B (2421H) |
| CF1<15:0>=0000 0001 0100 1100B (014CH) |
| 如果對(duì)ANA IN信號(hào)進(jìn)行錄音(假設(shè)采樣頻率為6.4KHz),CF0、CF1則應(yīng)設(shè)置為: |
| CF0<15:0>=0100 0100 0000 1011B (440BH); |
| CF1<15:0>=0000 0000 1100 0101B (00C5H)。 |
| 然后是向芯片發(fā)錄音命令,可使用 RECD @ADDR命令(91H),此時(shí)應(yīng)依次向芯片發(fā)送: |
| 芯片地址(8位)→錄音命令(91H)→錄音起始地址(高8位)→錄音起始地址(低8位)。 |
| 放音時(shí),先將CF0和CF1(假設(shè)采樣頻率為4.0KHz)設(shè)置為: |
| CF0<15:0>=0010 0100 0010 0010B (2422H) |
| CF1<15:0>=0101 1001 1101 1101B (59DDH) |
| 然后依據(jù)放音命令PLAY @ADDR (A9H)的要求依次向5116發(fā): |
| 芯片地址(8位)→放音命令(A9H)→放音起始地址(高8位)→放音起始地址(低8位)。 |
| 需要指出的是,由于5116在錄放語(yǔ)音時(shí),只能尋址到行,因此上述關(guān)于錄音和放音的起始地址只有高11位(即ADDR<15:5>)有意義。 |
| 寫數(shù)據(jù)、讀數(shù)據(jù)及擦除 —— 5116允許將其存儲(chǔ)器的部分頁(yè)用于儲(chǔ)存數(shù)字量(頁(yè)數(shù)多少可依據(jù)需要決定)。在儲(chǔ)存數(shù)字量時(shí)(寫數(shù)據(jù))時(shí),最小可尋址的單位是“塊”(64位)。由于5116有2048頁(yè)、每頁(yè)有32個(gè)塊,故需要16位的地址(高11位為頁(yè)地址,低5位為塊地址)來(lái)指定塊。 |
| 如果頁(yè)中的任意一個(gè)塊已經(jīng)被寫入過(guò),則在改寫該塊前應(yīng)先擦除該頁(yè)(注意:擦除是以頁(yè)為單位進(jìn)行的)。一般的作法是:先讀取整個(gè)頁(yè)并將其放在RAM中,然后更改相應(yīng)塊的位、擦除頁(yè),最后一步是重寫整個(gè)頁(yè)。 |
| 寫數(shù)據(jù)時(shí),可采用下列I2C命令次序: |
| 發(fā)芯片地址→發(fā)寫命令(C9H)→地址高8位→地址低8位→數(shù)據(jù)(8位?次)。 |
| 數(shù)據(jù)時(shí),由于要先向芯片寫"讀數(shù)據(jù)命令,故相對(duì)寫數(shù)據(jù)要復(fù)雜一些。具體可采用下列I2C命令次序: |
| 發(fā)芯片地址(位R/W =0)→發(fā)讀命令(E1H)→地址高8位→地址低8位→發(fā)芯片地址(位R/W =1)→讀數(shù)據(jù)(8位?次)。 |
| 源自《世界電子元器件》第1期 |





