ISD4004語(yǔ)音芯片在語(yǔ)音報(bào)站器中的應(yīng)用 作者: 時(shí)間:2007-03-09 來(lái)源:網(wǎng)絡(luò) 加入技術(shù)交流群 掃碼加入和技術(shù)大咖面對(duì)面交流海量資料庫(kù)查詢 收藏 摘要:ISD4004語(yǔ)音系列芯片是美國(guó)ISD公司推出的產(chǎn)品,具有可多次重復(fù)錄放、存儲(chǔ)時(shí)間長(zhǎng)、使用時(shí)不需擴(kuò)充存儲(chǔ)器、所需外圍電路簡(jiǎn)單等特點(diǎn)。介紹了ISD4004芯片在語(yǔ)音報(bào)站器中的一個(gè)實(shí)際應(yīng)用,并說(shuō)明了其功能和使用方法,從而使讀者對(duì)ISD4004系列語(yǔ)音芯片的使用有個(gè)初步的了解。 關(guān)鍵詞: ISD4004 單片機(jī) 語(yǔ)音報(bào)站器 ISD4004語(yǔ)音芯片是由美國(guó)ISD公司推出的新產(chǎn)品。關(guān)于該語(yǔ)音芯片的引腳說(shuō)明以及內(nèi)部電路等,很容易在ISD公司提供的芯片資料中查到,筆者就不進(jìn)行過(guò)多的描述,只簡(jiǎn)單地對(duì)其特點(diǎn)做一介紹。 與普通的錄音/重放芯片相比,ISD4004具有如下特點(diǎn):首先,記錄聲音沒(méi)有段長(zhǎng)度限制,并且聲音記錄不需要A/D轉(zhuǎn)換和壓縮;其次,將快速閃存作為存儲(chǔ)介質(zhì),無(wú)需電源即可保存數(shù)據(jù)長(zhǎng)達(dá)100年,重復(fù)記錄10000次以上;此外,ISD4004具有記錄時(shí)間長(zhǎng)(可達(dá)16分鐘,本文采用的為8分鐘的ISD4004語(yǔ)音芯片)的優(yōu)點(diǎn);最后,ISD4004的開(kāi)發(fā)應(yīng)用具有所需外圍電路簡(jiǎn)單的優(yōu)點(diǎn),這一點(diǎn)從本文介紹的其在語(yǔ)音報(bào)站器中的實(shí)際應(yīng)用可以體會(huì)到。 1 語(yǔ)音報(bào)站器硬件電路設(shè)計(jì) 目前市場(chǎng)上流通的語(yǔ)音報(bào)站器,大多采用的不是ISD4004系列的芯片,這與其剛推出不久以及價(jià)格偏高有關(guān)。但隨著ISD4004應(yīng)用的增多以及價(jià)格的回落,再加上ISD4004系列芯片本身的優(yōu)點(diǎn),可以相信,在語(yǔ)音報(bào)站器中采用ISD4004系列語(yǔ)音芯片是完全可行的。筆者設(shè)計(jì)了該裝置的硬件電路,并進(jìn)行了上車(chē)調(diào)試,取得了較為滿意的效果。圖1 報(bào)站器硬件電路連接圖本文討論的語(yǔ)音報(bào)站器主要是指裝在車(chē)上的放音電路,不包含錄音電路。而在實(shí)際應(yīng)用中,錄音電路則完成報(bào)站內(nèi)容的錄音工作,并收錄內(nèi)容存儲(chǔ)到語(yǔ)音芯片中。本文主要結(jié)合ISD4004在放音電路中的使用介紹ISD4004的典型應(yīng)用。 本文討論的報(bào)站器主電路主要由單片機(jī)89C52和ISD4004構(gòu)成。該系統(tǒng)的硬件電路連接圖如圖1所示。 本系統(tǒng)主要分為三部分:?jiǎn)纹瑱C(jī)控制部分、放音部分和顯示部分。顯示電路采用的是通過(guò)P3.0、P3.1控制的兩個(gè)7段數(shù)碼管的靜態(tài)顯示器,在此不作詳細(xì)介紹;控制部分主要由單片機(jī)89C52構(gòu)成,包含必要的按鍵電路、復(fù)位電路和看門(mén)狗電路等外圍電路;放音部分主要由ISD4004構(gòu)成,包含配套的變壓電路、功放電路等。 從圖1中可以看出89C52和ISD4004之間的連接較少。單片機(jī)的P1.0~P1.3引腳接按鍵,控制報(bào)站器工作過(guò)程中是否放音和放音內(nèi)容;P1.6接ISD4004的片選引腳/SS,控制ISD4004是否選通;P1.7接ISD4004的串行輸入引腳MOSI,從該引腳讀入放音的地址;P3.0和P3.1控制外圍顯示電路,在報(bào)站器工作過(guò)程中顯示當(dāng)前的站號(hào);P3.2和P3.3分別接ISD4004的串行時(shí)鐘引腳SCLK和中斷引腳/INT。ISD4004芯片所需要的連接還有音頻信號(hào)輸出引腳AUDOUT,該引腳通過(guò)一個(gè)濾波電容與揚(yáng)聲器連接;AMCAP為自動(dòng)靜音端,使用時(shí)通過(guò)一電容接地。此外,由于ISD4004的工作電壓為3V,而單片機(jī)所需供電電壓為5V,因此需要采用變壓電路得到3V電壓供ISD4004使用。2 軟件設(shè)計(jì) 程序流程圖如圖2所示。 電路上電后,首先完成程序的初始化,隨后查詢按鍵狀態(tài),進(jìn)入系統(tǒng)待機(jī)狀態(tài)。如果有按鍵按下,則轉(zhuǎn)去執(zhí)行該按鍵指向的工作程序。按鍵包括放音鍵、停止鍵、加一鍵、減一鍵以及特殊語(yǔ)鍵。在待機(jī)狀態(tài)下,如果放音鍵首次被按下,程序?qū)⑹紫扰袛嗍侨ミ€是回(公交車(chē)路徑一般是既去又回的),并點(diǎn)亮相應(yīng)的指示燈,自動(dòng)讀出第一站的放音內(nèi)容,站號(hào)顯示1。如果不是首次按下,則首先判斷當(dāng)前站號(hào),并以該站號(hào)為依據(jù)獲得存放該站放音內(nèi)容的首地址;然后調(diào)用放音子程序,讀入前面獲得的本站放音內(nèi)容首地址,開(kāi)始放音。每一句放音完畢后,ISD4004的中斷引腳(25腳)會(huì)自動(dòng)送一低電平信號(hào)。在硬件設(shè)計(jì)中,該引腳與單片機(jī)的P3.3連接,因此會(huì)引起一次中斷,在中斷子程序中有一個(gè)計(jì)數(shù)器記錄中斷次數(shù),從而判斷何時(shí)當(dāng)前一站結(jié)束,站號(hào)加一并刷新顯示。加一鍵按下后,程序放音內(nèi)容轉(zhuǎn)向下一站;減一鍵按下后,則使程序放音內(nèi)容轉(zhuǎn)向上一站,相應(yīng)的站號(hào)顯示也將隨之刷新;特殊語(yǔ)鍵按下后,程序轉(zhuǎn)向執(zhí)行特殊語(yǔ)放音(譬如“拐彎請(qǐng)注意”等語(yǔ)句);停止鍵按下,將中止當(dāng)前的放音狀態(tài)。為了便于讀者對(duì)ISD4004應(yīng)用的理解,本文給出了部分程序。 該部分程序主要完成放音操作,把獲得的放音內(nèi)容的地址送到ISD4004中,完成放音。 PLAY ACALL POWERUP 上電子程序 ACALL DELAY25 延遲子程序,至少延 遲25ms CLR P1.6 選中ISD4004 MOV PLAY2#11100000B 存放SETPLAY命令 MOV APLAY0 送放音地址低8位 ACALL SEND 調(diào)用送地址子程序 MOV APLAY1 送放音地址高8位 ACALL SEND MOV APLAY2 送SETPLAY命令 ACALL SEND SETB P1.6 CLR P1.6 MOV PLAYING#11110000B 送入放音指令 MOV APLAYING ACALL SEND SETB P1.6 RET POWERUP 送上電指令子程序 MOV POWING#00100000B 送入語(yǔ)音芯片上電信號(hào) MOV APOWUPING CLR P1.6 ACALL SEND SETB P1.6 RET SEND: 向ISD4004送指令、 地址等的子程序 CLR MOSI CLR P3.2 MOV R1#8 OUTBIT1 CLR P3.2 時(shí)鐘下降 RRC A MOV MOSIC 輸出1位 NOP NOP SETB P3.2 時(shí)鐘上升沿到 NOP NOP NOP DJNZ R1OUTBIT1 RET 放音程序中,要嚴(yán)格按照ISD4004的要求編程。首先要送上電指令,然后等待25μs的延遲,再送16位放音起始地址,最后送8位的開(kāi)始放音指令。 在放音電路的調(diào)試過(guò)程中,首先測(cè)量ISD4004的工作電壓是否是3V,如果是則進(jìn)入下級(jí)調(diào)試。再看是否可以送入放音地址,對(duì)此可以測(cè)量AUDOUT引腳的電壓,若為1.2V則說(shuō)明可以讀入放音地址。再后測(cè)量是否能夠放音,可以測(cè)量AUDOUT引腳電壓,若為1.2V則說(shuō)明ISD4004芯片工作正常,可以放音。如果沒(méi)有聽(tīng)到放音則調(diào)試后級(jí)放音電路,看是否是后級(jí)電路有問(wèn)題。 本文介紹的報(bào)站器電路已經(jīng)經(jīng)過(guò)上車(chē)實(shí)驗(yàn)調(diào)試,能夠穩(wěn)定可靠工作。
評(píng)論