小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

ISD1700語(yǔ)音芯片SPI使用總結(jié)(一)

 ccbupt 2009-04-23
ISD1700語(yǔ)音芯片SPI使用總結(jié)(一)--轉(zhuǎn)載

ISD1700語(yǔ)音芯片SPI使用總結(jié)

該語(yǔ)音芯片的使用要仔細(xì)分析英文PDF的資料,電路可按中青世紀(jì)論壇上面所給的電路搭建,也可按英文PDF后面所畫(huà)的電路圖焊接。

本芯片使用不單純是一個(gè)放音電路,還含有其他的控制。因此程序首先要能完成指定地址的放音工作,其次還應(yīng)能嵌入整個(gè)費(fèi)額顯示程序中,即語(yǔ)音程序不能與電路其他功能相影響。費(fèi)額顯示中里面主要有八字板,點(diǎn)陣等其他的控制。

SPI放音操作設(shè)計(jì)參考了網(wǎng)絡(luò)上的部分程序,各取所長(zhǎng)設(shè)計(jì)了放音程序。在最后附上了部分程序,僅供參考。

       試驗(yàn)中采用的是ISD1760語(yǔ)音芯片,采樣率為8K時(shí),一共能播放60S的語(yǔ)音,最大地址為0x1EF,錄音實(shí)際地址為0x10-0x1EF,從此最大地址可得出:0x1EF-0x10=0x1DF=479

479+1=480;480*125MS =60S,也就是說(shuō)8K采樣率時(shí)每1個(gè)地址最小語(yǔ)音長(zhǎng)度為125MS,因此如果知道單個(gè)語(yǔ)音的長(zhǎng)度,暫時(shí)無(wú)編程器的時(shí)候,也可自己推斷每個(gè)語(yǔ)音所占的地址長(zhǎng)度。

       SPI操作時(shí)要嚴(yán)格遵守PDF上所給的各項(xiàng)操作,這里不列出。暫時(shí)僅給出試驗(yàn)中遇到的所有問(wèn)題并如何解決的。

1,  一開(kāi)始本實(shí)驗(yàn)是自己用通用板自己照電路搭建的平臺(tái),此電路正確與否可把PLAY管腿和地短路,如果芯片有語(yǔ)音并且電路功放及外圍電路正確的話(huà),此時(shí)芯片就會(huì)把所有語(yǔ)音全都循環(huán)讀一遍。接下來(lái)把4個(gè)SPI口與單片機(jī)接通,嘗試軟件控制。主循環(huán)中可設(shè)置一個(gè)連續(xù)播放的程序,上電就循環(huán)放音。放音程序沒(méi)錯(cuò)的話(huà)第一步便成功了!這期間我遇到的問(wèn)題主要有放不出音,讀音混亂,有雜音。如果放不出音,先檢查電路,程序放出聲音應(yīng)該沒(méi)出現(xiàn)什么問(wèn)題。

2,  本芯片設(shè)置的APC值為0xA00x04,具體對(duì)應(yīng)功能參見(jiàn)中文PDF

接下來(lái)遇到的問(wèn)題就是準(zhǔn)確放單個(gè)音和連續(xù)播放多個(gè)語(yǔ)音。播放單個(gè)語(yǔ)音首先是地址的編譯。1730以下的地址可定義為BYTE,從1740開(kāi)始就需要定義為WORD,其實(shí)也可定義為BYTE,就是發(fā)送地址的時(shí)候先發(fā)0x10和后兩位即可。本程序定義為WORD,做一個(gè)偏移發(fā)送即可。

接下來(lái)的問(wèn)題就是連續(xù)播放的問(wèn)題,這個(gè)問(wèn)題直到最后才正確的解決。一開(kāi)始的程序中只是一直發(fā)送SETPLAY,可以連續(xù)讀,就是讀的亂,其實(shí)就是錯(cuò)誤操作,后來(lái)嘗試在后面添加一個(gè)2秒的延時(shí),可以連續(xù)讀出語(yǔ)音了,就是每個(gè)要停頓一下才能放出第二個(gè)語(yǔ)音,自認(rèn)為就這樣就可以了,導(dǎo)致了以后還得解決此問(wèn)題!因?yàn)榇朔乓舴绞椒艞壛伺袛嘈酒瑺顟B(tài)寄存器,根本沒(méi)有實(shí)現(xiàn)連續(xù)放音,實(shí)際是單個(gè)語(yǔ)音人為把它們連起來(lái)播放,聽(tīng)起來(lái)很不自然。問(wèn)題拖到最后又衍生了別的問(wèn)題,由于此放音方式的聲音輸出信號(hào)是有高有低,當(dāng)電平跳變時(shí)對(duì)功放產(chǎn)生影響,喇叭會(huì)出現(xiàn)“噗噗”聲,術(shù)語(yǔ)可以稱(chēng)之為“過(guò)載”,如果人距離喇叭很近的話(huà)很容易聽(tīng)出來(lái)。

因此需修改程序,芯片內(nèi)部有個(gè)緩沖器,如果連續(xù)發(fā)送相同的兩個(gè)setplay命令,芯片會(huì)發(fā)完第一個(gè)音后接著連續(xù)發(fā)第二個(gè)音,并且兩音之間的間隔時(shí)間幾乎沒(méi)有。利用這個(gè)特點(diǎn),可以在發(fā)完一個(gè)語(yǔ)音命令后一直發(fā)送讀芯片狀態(tài)命令,從返回來(lái)的數(shù)據(jù)判斷RDY,PLAY,INT位,當(dāng)?shù)谝粭l放音指令發(fā)送完,讀音播放完,立即發(fā)送第二條setplay,并以此類(lèi)推。這樣實(shí)現(xiàn)了連續(xù)放音,并且聲音輸出一直為高電平(除了開(kāi)始和結(jié)束音),解決了噗噗聲的問(wèn)題。

但是要一直發(fā)送讀芯片狀態(tài)指令就會(huì)影響其他指令,如本實(shí)驗(yàn)是執(zhí)行串口指令,點(diǎn)陣刷新,八字板的顯示和亮度調(diào)整等,推薦在do{ISD_Rd_Status;}while();內(nèi)添加以上命令,便可解決只讀音不響應(yīng)其他命令的問(wèn)題。串口可判斷標(biāo)志位;點(diǎn)陣可在連續(xù)刷新16行(16*16點(diǎn)陣)后執(zhí)行下一判斷芯片標(biāo)志位程序;八字板的顯示可以鎖存,因此有改變顯示時(shí)執(zhí)行一次即可;八字板的亮度需要一直執(zhí)行,但是當(dāng)亮度為3以下時(shí)(即16MS內(nèi)有3MS是點(diǎn)陣亮,13MS是不亮),放音時(shí)八字板會(huì)有閃爍現(xiàn)象,原因可能是執(zhí)行除了亮度調(diào)整指令外其他指令占用了大約3MS的時(shí)間,暫時(shí)還沒(méi)有好的解決辦法。

 

正在放音的同時(shí)用串口發(fā)送調(diào)節(jié)音量也遇到了問(wèn)題,一開(kāi)始的解決辦法是打斷當(dāng)前語(yǔ)音,延時(shí)超過(guò)最大語(yǔ)音長(zhǎng)度的時(shí)間,再發(fā)送修改APC的指令。這樣做的原因是如果用本程序在發(fā)完當(dāng)前音后突然發(fā)送修改APC的指令時(shí)候,芯片會(huì)從頭到尾讀所有音!!到最后仔細(xì)研究才發(fā)現(xiàn)這個(gè)程序中有個(gè)修改永久內(nèi)部寄存器的指令,當(dāng)正在進(jìn)行讀音操作發(fā)送修改內(nèi)部永久寄存器時(shí)會(huì)導(dǎo)致以上現(xiàn)象,把此程序剝離后實(shí)現(xiàn)了邊播放語(yǔ)音邊調(diào)節(jié)音量。發(fā)送時(shí)也要注意判斷芯片狀態(tài),RDY1后發(fā)送,RDY再次為1時(shí)繼續(xù)發(fā)放音指令。

本芯片的錄音采用拷貝機(jī),拷貝機(jī)燒錄語(yǔ)音時(shí)也需注意以下問(wèn)題:首先是在最后的語(yǔ)音后添加一空語(yǔ)音,以保證錄音不會(huì)出現(xiàn)問(wèn)題;其次是燒錄語(yǔ)音時(shí)電腦除了運(yùn)行燒錄語(yǔ)音的程序,其它什么都不要開(kāi),什么QQ,殺毒軟件等都要關(guān)閉,最好鼠標(biāo)都不要?jiǎng)?!燒錄語(yǔ)音前最好檢查下聲卡驅(qū)動(dòng),保證有驅(qū)動(dòng)并且最新,最好將聲卡聲音輸出設(shè)置(本機(jī)為AC97 Audio)中喇叭組態(tài)設(shè)置為耳機(jī),不要什么立體聲等其他狀態(tài)。音量大小可以隨意,本試驗(yàn)設(shè)置最大。官方意見(jiàn)是三分之二的狀態(tài),總之,在噪音最小的情況下也要保證音量。

       第一次芯片初始化修改APC時(shí),最好在前面添加chk_mem這個(gè)指令,在1700datasheet里的說(shuō)明并不多。大意是檢查環(huán)狀存儲(chǔ)器存儲(chǔ)地址是否首尾相連的意思。因?yàn)榫W(wǎng)上有人反映不添加此指令APC修改不了。

拷貝機(jī)很貴,并不是必須買(mǎi),本芯片燒錄語(yǔ)音的拷貝機(jī)也不是自己的,囧!燒錄語(yǔ)音的試驗(yàn)還沒(méi)做過(guò),將來(lái)會(huì)做這方面的試驗(yàn)。另外芯片也有次品,主要表現(xiàn)是在放音時(shí)有很大的“咔嚓”聲,還有一個(gè)干脆就是燒不了音!拿去退貨!試驗(yàn)樣本100ISD1760,次品率十五分之一。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多