《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > ISD4004語音芯片在語音報站器中的應(yīng)用

ISD4004語音芯片在語音報站器中的應(yīng)用

2008-08-28
作者:張建華 高守瑋 楊建國

  摘? 要: ISD4004語音系列芯片是美國ISD公司推出的產(chǎn)品,具有可多次重復(fù)錄放、存儲時間長,、使用時不需擴充存儲器,、所需外圍電路簡單等特點。介紹了ISD4004芯片在語音報站器中的一個實際應(yīng)用" title="實際應(yīng)用">實際應(yīng)用,并說明了其功能和使用方法,從而使讀者對ISD4004系列語音芯片" title="語音芯片">語音芯片的使用有個初步的了解,。

  關(guān)鍵詞: 1SD4004? 單片機? 語音報站器

?

  ISD4004語音芯片是由美國ISD公司推出的新產(chǎn)品,。關(guān)于該語音芯片的引腳說明以及內(nèi)部電路等,很容易在ISD公司提供的芯片資料中查到,筆者就不進(jìn)行過多的描述,只簡單地對其特點做一介紹。

  與普通的錄音/重放芯片相比,ISD4004具有如下特點:首先,記錄聲音沒有段長度限制,并且聲音記錄不需要A/D轉(zhuǎn)換和壓縮;其次,將快速閃存作為存儲介質(zhì),無需電源即可保存數(shù)據(jù)長達(dá)100年,重復(fù)記錄10000次以上;此外,ISD4004具有記錄時間長(可達(dá)16分鐘,本文采用的為8分鐘的ISD4004語音芯片)的優(yōu)點;最后,ISD4004的開發(fā)應(yīng)用具有所需外圍電路簡單的優(yōu)點,這一點從本文介紹的其在語音報站器中的實際應(yīng)用可以體會到,。

1 語音報站器硬件電路設(shè)計

  目前市場上流通的語音報站器,大多采用的不是ISD4004系列的芯片,這與其剛推出不久以及價格偏高有關(guān),。但隨著ISD4004應(yīng)用的增多以及價格的回落,再加上ISD4004系列芯片本身的優(yōu)點,可以相信,在語音報站器中采用ISD4004系列語音芯片是完全可行的。筆者設(shè)計了該裝置的硬件電路,并進(jìn)行了上車調(diào)試,取得了較為滿意的效果,。

  本文討論的語音報站器主要是指裝在車上的放音電路,不包含錄音電路,。而在實際應(yīng)用中,錄音電路則完成報站內(nèi)容的錄音工作,并收錄內(nèi)容存儲到語音芯片中。本文主要結(jié)合ISD4004在放音電路中的使用介紹ISD4004的典型應(yīng)用,。

????本文討論的報站器主電路主要由單片機89C52" title="89C52">89C52和ISD4004構(gòu)成,。該系統(tǒng)的硬件電路連接圖如圖1所示。

?

  本系統(tǒng)主要分為三部分:單片機控制部分,、放音部分和顯示部分,。顯示電路采用的是通過P3.0、P3.1控制的兩個7段數(shù)碼管的靜態(tài)顯示器,在此不作詳細(xì)介紹;控制部分主要由單片機89C52構(gòu)成,包含必要的按鍵電路,、復(fù)位電路和看門狗電路等外圍電路;放音部分主要由ISD4004構(gòu)成,包含配套的變壓電路,、功放電路等。

  從圖1中可以看出89C52和ISD4004之間的連接較少,。單片機的P1.0~P1.3引腳接按鍵,控制報站器工作過程中是否放音和放音內(nèi)容;P1.6接ISD4004的片選引腳/SS,控制ISD4004是否選通;P1.7接ISD4004的串行輸入引腳MOSI,從該引腳讀入放音的地址;P3.0和P3.1控制外圍顯示電路,在報站器工作過程中顯示當(dāng)前的站號;P3.2和P3.3分別接ISD4004的串行時鐘引腳SCLK和中斷引腳/INT,。ISD4004芯片所需要的連接還有音頻信號輸出引腳AUDOUT,該引腳通過一個濾波電容與揚聲器連接;AMCAP為自動靜音端,使用時通過一電容接地,。此外,由于ISD4004的工作電壓為3V,而單片機所需供電電壓為5V,因此需要采用變壓電路得到3V電壓供ISD4004使用。

2 軟件設(shè)計

  程序流程圖如圖2所示,。

?

?

  電路上電" title="上電">上電后,首先完成程序的初始化,隨后查詢按鍵狀態(tài),進(jìn)入系統(tǒng)待機狀態(tài),。如果有按鍵按下,則轉(zhuǎn)去執(zhí)行該按鍵指向的工作程序。按鍵包括放音鍵,、停止鍵,、加一鍵,、減一鍵以及特殊語鍵,。在待機狀態(tài)下,如果放音鍵首次被按下,程序?qū)⑹紫扰袛嗍侨ミ€是回(公交車路徑一般是既去又回的),并點亮相應(yīng)的指示燈,自動讀出第一站的放音內(nèi)容,站號顯示1。如果不是首次按下,則首先判斷當(dāng)前站號,并以該站號為依據(jù)獲得存放該站放音內(nèi)容的首地址;然后調(diào)用放音子程序" title="子程序">子程序,讀入前面獲得的本站放音內(nèi)容首地址,開始放音,。每一句放音完畢后,ISD4004的中斷引腳(25腳)會自動送一低電平信號,。在硬件設(shè)計中,該引腳與單片機的P3.3連接,因此會引起一次中斷,在中斷子程序中有一個計數(shù)器記錄中斷次數(shù),從而判斷何時當(dāng)前一站結(jié)束,站號加一并刷新顯示。加一鍵按下后,程序放音內(nèi)容轉(zhuǎn)向下一站;減一鍵按下后,則使程序放音內(nèi)容轉(zhuǎn)向上一站,相應(yīng)的站號顯示也將隨之刷新;特殊語鍵按下后,程序轉(zhuǎn)向執(zhí)行特殊語放音(譬如“拐彎請注意”等語句);停止鍵按下,將中止當(dāng)前的放音狀態(tài),。

  為了便于讀者對ISD4004應(yīng)用的理解,本文給出了部分程序,。

  該部分程序主要完成放音操作,把獲得的放音內(nèi)容的地址送到ISD4004中,完成放音。

  PLAY:

    ACALL? ?????? POWERUP????? ???????? ??;上電子程序

    ACALL? ?????? DELAY25????????????? ? ;延遲子程序,至少延遲25ms

    CLR???     P1.6 ?????? ?????? ?? ,;選中ISD4004

?? ?   MOV??     PLAY2,,#11100000B?    ,;存放SETPLAY命令

???   MOV? ??    A,,PLAY0?????????????? ?;送放音地址低8位

 ???  ACALL??    SEND??????????????????? ,;調(diào)用送地址子程序

???? ?? MOV???????????A,,PLAY1??????????????? ;送放音地址高8位

    ACALL? ?????? SEND????????????

?????? ?MOV? ???????? A,,PLAY2??????????????? ,;送SETPLAY命令

?????? ACALL? ?????? SEND

?    SETB??? ????? P1.6

??????? CLR?????? ??? P1.6

??????? MOV ????????? PLAYING,#11110000B???? ,;送入放音指令

?????? ?MOV?????????? A,,PLAYING

??????? ACALL ??????? SEND

??????? SETB????????? P1.6

??????? RET

  POWERUP:?????????????? ?????????????? ?? ;送上電指令子程序

?? ???? MOV? ??????? POWING,,#00100000B? ??? ?,;送入語音芯片上電信號

??????? MOV????????? A,POWUPING

??????? CLR ????? ?? P1.6

?????? ?ACALL??????? SEND

??????? SETB ??????? P1.6

??????? RET

  SEND:??????  ???????????????????? ????? ,;向ISD4004送指令,、地址等的子程序

??????? CLR???????? MOSI

??????? CLR???????? P3.2

??????? MOV???????? R1,,#8

  OUTBIT1:

    CLR????? ? P3.2????????????????????? ;時鐘下降

??????? RRC????????? A

??????? MOV??????? MOSI,,C??????????????????? ,;輸出1位

??????? NOP

??? ??? NOP

??????? NOP

??????? SETB ?????? P3.2???? ??????? ???????? ;時鐘上升沿到

    NOP

    NOP

    NOP

    DJNZ? ?   R1,,OUTBIT1

  RET

  放音程序中,要嚴(yán)格按照ISD4004的要求編程,。首先要送上電指令,然后等待25μs的延遲,再送16位放音起始地址,最后送8位的開始放音指令。

  在放音電路的調(diào)試過程中,首先測量ISD4004的工作電壓是否是3V,如果是則進(jìn)入下級調(diào)試,。再看是否可以送入放音地址,對此可以測量AUDOUT引腳的電壓,若為1.2V則說明可以讀入放音地址,。再后測量是否能夠放音,可以測量AUDOUT引腳電壓,若為1.2V則說明ISD4004芯片工作正常,可以放音。如果沒有聽到放音則調(diào)試后級放音電路,看是否是后級電路有問題,。

  本文介紹的報站器電路已經(jīng)經(jīng)過上車實驗調(diào)試,能夠穩(wěn)定可靠工作,。

?

參考文獻(xiàn)

1 李 華.MCS-51系列單片機實用接口技術(shù).北京:北京航空? 航天大學(xué)出版社, 1993

2 薛鈞義,,張彥斌.MCS-51/96系列單片微型計算機及其應(yīng)用(第2版).西安:西安交通大學(xué)出版社,, 1997

3 王振紅,李 洋,郝承祥.ISD4004語音芯片的工作原理及其在智能控制系統(tǒng)中的應(yīng)用.電子器件,2002,;25(1)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]