ld3320芯片學(xué)習(xí)產(chǎn)品通用開發(fā)手冊_第1頁
ld3320芯片學(xué)習(xí)產(chǎn)品通用開發(fā)手冊_第2頁
ld3320芯片學(xué)習(xí)產(chǎn)品通用開發(fā)手冊_第3頁
ld3320芯片學(xué)習(xí)產(chǎn)品通用開發(fā)手冊_第4頁
ld3320芯片學(xué)習(xí)產(chǎn)品通用開發(fā)手冊_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

一.簡介LD3320是一款“語音識別”。該集成了語音識別處理器和一些外部電路,包括AD、DA轉(zhuǎn)換器、麥克風(fēng)接口、聲音輸出接口等。本建議用戶先仔細(xì)閱讀《LD3320。對LD3320進(jìn)行快速開發(fā)和驗證可以參考“B-LD3320開發(fā)板”和“M-LD3320模塊二.寄存器操作本的,都必須通過寄存器的操作來完成。比如設(shè)置標(biāo)志位、硬)和串SPI方式(軟、硬??蓞⒖嘉臋n《LD3320并行串行讀寫輔助說明圖 并行方式寫時Data2并行方式讀時由時序圖可以看到,A0負(fù)責(zé)通知是數(shù)據(jù)段還是地址段。A0為高時是地址,而A0為低時是數(shù)據(jù)。發(fā)送地址時CSB*和WRB*必須有效,寫數(shù)據(jù)時同樣CSB*和WRB*必須有效,而讀數(shù)據(jù)時CSB*和RDB*必須有效。46腳(MD)接高電平,且第42腿(SPIS*)接地時按照此方式工作。寫圖 SPI方式寫時寫的時候SDI發(fā)送一指令(04H然后SDI8位寄圖 SPI方式讀時寫的時候SDI發(fā)送一指令(05H然后SDI8位寄三.寄存器介紹RecognitionFIFOFirstInFirstOut(*)LD3320內(nèi)部有2個FIFO,分別是:FIFO_EXTFIFO_DATAFIFO_DATAFIFOASRFIFO_EXT語音識別添加用FIFO緩存其余位Bit:。第0位:寫入1→清除FIFO_DATA寫48H可以激活DSP;00HADC(管腳MIC_P,MIC_N,MBS,管腳9,10,1223HMonoLine-inADCFIFO_DATA上8位(UpperBoundaryFIFO_DATA下8位(LowerBoundaryFIFO_DATAMCU8(MCUwatermarkFIFO_DATAMCU8(MCUwatermarkFIFO_DATADSP8(DSPwatermarkFIFO_DATADSP8(DSPwatermark中斷允許(可讀寫中斷請求編號(可讀寫第4位: 第2位: 值為1表示內(nèi)部FIFO中斷發(fā)生。MP3第3位:值為1表示內(nèi)部已經(jīng)出現(xiàn)錯誤。片進(jìn)行重啟Reset,才可以繼續(xù)工作。 時寫入01H,完寫入00H測試版工作時使用的設(shè)置是43H。可以設(shè)置為00H-7FH。寫06H:通知DSP開始識別語音。FIFO_EXT上8位(UpperBoundaryFIFO_EXT下8位(LowerBoundaryFIFO_EXTMCU8(MCUwatermarkFIFO_EXTMCU8(MCUwatermarkFIFO_EXTDSP8(DSPwatermarkFIFO_EXTDSP8(DSPwatermarkBit7,6,0:87H.Bit11Bit7,6,0:代表聲音越?。槐炯拇嫫髟O(shè)置為00H為最大音量。87H.Bit01,可以使調(diào)節(jié)MP35AHBit[1,0]為混音器反饋電阻設(shè)置00:60kohm01:45kohm10:30kohm11: Bit3:喇叭音量調(diào)節(jié)激發(fā)(見8E寄存器)初始化時寫03H內(nèi)部增益控制Bit7,6,1,0:87H.Bit31,可以使調(diào)節(jié)LineOutASR:VadDefault:1~80ASR:Vad每1單位,10毫秒。ASR:VadSilence20~200200~2000ASR:VadVoicemax每1單位,100毫秒。ASR:Pass11幀數(shù)據(jù),20毫秒。給出識別結(jié)果;如果始終沒有說話聲音,將會返回0識別,見BA寄存器,并發(fā)出中斷。初始化時寫入00HValue:1–4:N個識別候選存器提前結(jié)束本次ASR過程;最優(yōu)識別候選,返回BA=0-4可與(0xb2)寄存器的0x21值配合使用。ASR:ASR結(jié)果(最佳四.驅(qū)動程序拉低→拉高的操作,以激活內(nèi)部DSP。可按照以下順序:void{}delay(1)是為了更穩(wěn)定地工作進(jìn)行的延時,具體的Delay實現(xiàn)見用這個方法恢復(fù)的初始狀態(tài)。始識別”后,寄存器B2H的值,如果為21H就表示有識別結(jié)果產(chǎn)生。在此之后候選項等操作與中斷方式相同。通用初始化 { y=/*PLLsetting*/if(nLD_Mode==LD_MODE_MP3){LD_WriteReg(0x19,LD_PLL_MP3_19);LD_WriteReg(0x1B,LD_PLL_MP3_1B);LD_WriteReg(0x1D,LD_PLL_MP3_1D);}{LD_WriteReg(0x19,LD_PLL_ASR_19);LD_WriteReg(0x1B,LD_PLL_ASR_1B);LD_WriteReg(0x1D,LD_PLL_ASR_1D);}}語音識別用初始化void{delay(10);delay(1);}寫入識別列表列表的規(guī)則是,每個識別條目對應(yīng)一個特定的編號(1個字節(jié),不同的識別條目的編號可以相同,而且不用連續(xù)。本最多支持個識別條目,每個識別條目是標(biāo)準(zhǔn)普通話的漢語拼音(小寫1bei1shou3shang7tianchongchong8編號可以相同,可以不連續(xù),但是數(shù)值要小于256(00H~FFH。例子中的“”和“首都”對應(yīng)同一編號,說這兩個詞會有相同的NYB9順序?qū)懭爰拇嫫?5 01378先介紹一個0xB2寄存器的函數(shù),如果在以后的ASR命令函數(shù)前不能夠到正確Idle狀態(tài),說明內(nèi)部可能出錯了。經(jīng)拷機測試,當(dāng)使用的電情況時,建議ResetLD3320,重新啟動設(shè)置。//Return1:uint8{uint8uint8flag=for(j=0;j<10;{if(LD_ReadReg(0xb2)=={flag=1;}}return}//Return1:success.{uint8k,flag;constcharsRecog[5][13]={"beijing","shoudu","shanghai","tianjin","chongqing"};constuint8pCode[5]={CODE_BEIJING,CODE_BEIJING,CODE_SHANGHAI,CODE_TIANJIN,CODE_CHONGQING};flag=for(k=0;k<5;{{flag=0;}LD_WriteReg(0xc1,pCode[k]);LD_WriteReg(0xc3,0);LD_WriteReg(0x08,0x04);for(nAsrAddLength=0;nAsrAddLength<20;{if(sRecog[k][nAsrAddLength]==0)}LD_WriteReg(0xb2,0xff);LD_WriteReg(0x37,0x04);}return}開始識別設(shè)置幾個相關(guān)的寄存器,就可以控制LD3320開始語音識別。 }//Return1:success.uint8LD_AsrRun(){delay(1);delay(1);{return}return}uint8{uint8i=0;for(i=0;i<5;{if{}if(LD_AsrRun()=={}}return}main.ccase{if(RunASR()==0){nAsrStatus=LD_ASR_ERROR;}}響應(yīng)中斷例如發(fā)音為“”并被成功識別(無其他候選那么BA寄存器里的數(shù)值是1,而C5寄存器里的值是對應(yīng)的編碼3。 B2,NN[1..4]運算結(jié)果是運算結(jié)果是—voidExtInt0Handler(void)interrupt{}void{uint8ucRegVal=LD_ReadReg(0x2B);LD_WriteReg(0x29,0);LD_WriteReg(0x02,0);if(nLD_Mode==LD_MODE_ASR_RUN){if((ucRegVal&0x10)&&{nAsrResCount=LD_ReadReg(0xba);if(nAsrResCount>0&&nAsrResCount<4){}{}}{}}}uint8{return}值得注意:獲取識別結(jié)MP3用初始化(包括通用初始化)→調(diào)節(jié)音量→開始聲音,通用初始化聲音用初始void{nLD_Mode=}調(diào)節(jié)音設(shè)置音量時,將(15-音量值)8E2-576543210 {uint8ucTmp;ucSPVol=val;val=((15-val)&0x0f)<<2;LD_WriteReg(0x8E,val|0xc3);}2個寄存器都是只有第1-5位有效,共32級,而且這5位都為0(00000B)的時候是音量最大的,都為1(11111B)的時候音量最小。76543210 開始聲while{Mp3Pos增加1} Mp3PosMP3 NNYvoidLD_{ if(nMp3Pos>=nMp3Size)return;LD_WriteReg(0xBA,0x00);LD_WriteReg(0x17,0x48);LD_WriteReg(0x33,0x01);LD_WriteReg(0x29,0x04);LD_WriteReg(0x02,0x01);LD_WriteReg(0x85,0x5A);}void{uint8val;uint8nCurMp3Pos=nMp3StartPos+nMp3Pos;IO_Send_Byte(W25P_FastReadData);/*readcommand*/IO_Send_Byte(((nCurMp3Pos&0xFFFFFF)>>16));/*send3addressbytesIO_Send_Byte(((nCurMp3Pos&0xFFFF)>>8));IO_Send_Byte(nCurMp3Pos&0xFF);ucStatus=while(!(ucStatus&MASK_FIFO_STATUS_AFULL)&&(nMp3Pos<nMp3Size)){{}ucStatus=}}可能需要改寫這一部分。例的系統(tǒng)可能使用大容量的RAM,取數(shù)的是SPI協(xié)議。中斷響應(yīng)。開始可以把聲音數(shù)據(jù)的最初部分送入,等到這一段響應(yīng)函數(shù)處理2種中斷。這里為了簡明,將中斷函數(shù)分開書寫。 YYNY和29的內(nèi)容。因為這時已經(jīng)結(jié)束了,應(yīng)該讓02,29以便于繼續(xù)出中斷,連續(xù)。voidExtInt0Handler(void)interrupt{}void{uint8ucRegVal=LD_ReadReg(0x2B);LD_WriteReg(0x29,0);LD_WriteReg(0x02,0);if(nLD_Mode==LD_MODE_MP3){{LD_WriteReg(0x2B,0); return;}{LD_WriteReg(0xBC,0x01);LD_WriteReg(0x29,}LD_WriteReg(0x02,ucLowInt);}}五.補充說明此的特色是兼有語音識別和MP3的兩項功能,但是由于這兩項功須從最“通用初始化”開始,對進(jìn)行一系列的設(shè)置。/電流有比較大的波動造成。這時應(yīng)使用復(fù)位的功能(對的發(fā)送低電平,使重新開始工作附件資料里有基于測試版的簡單演示代碼(Keil51

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論