- 相關推薦
ISD4004語音芯片在語音報站器中的應用
摘要:ISD4004語音系列芯片是美國ISD公司推出的產品,具有可多次重復錄放、存儲時間長、使用時不需擴充存儲器、所需外圍電路簡單等特點。介紹了ISD4004芯片在語音報站器中的一個實際應用,并說明了其功能和使用方法,從而使讀者對ISD4004系列語音芯片的使用有個初步的了解。ISD4004語音芯片是由美國ISD公司推出的新產品。關于該語音芯片的引腳說明以及內部電路等,很容易在ISD公司提供的芯片資料中查到,筆者就不進行過多的描述,只簡單地對其特點做一介紹。
與普通的錄音/重放芯片相比,ISD4004具有如下特點:首先,記錄聲音沒有段長度限制,并且聲音記錄不需要A/D轉換和壓縮;其次,將快速閃存作為存儲介質,無需電源即可保存數據長達100年,重復記錄10000次以上;此外,ISD4004具有記錄時間長(可達16分鐘,本文采用的為8分鐘的ISD4004語音芯片)的優點;最后,ISD4004的開發應用具有所需外圍電路簡單的優點,這一點從本文介紹的其在語音報站器中的實際應用可以體會到。
1 語音報站器硬件電路設計
目前市場上流通的語音報站器,大多采用的不是ISD4004系列的芯片,這與其剛推出不久以及價格偏高有關。但隨著ISD4004應用的增多以及價格的回落,再加上ISD4004系列芯片本身的優點,可以相信,在語音報站器中采用ISD4004系列語音芯片是完全可行的。筆者設計了該裝置的硬件電路,并進行了上車調試,取得了較為滿意的效果。
圖1 報站器硬件電路連接圖
本文討論的語音報站器主要是指裝在車上的放音電路,不包含錄音電路。而在實際應用中,錄音電路則完成報站內容的錄音工作,并收錄內容存儲到語音芯片中。本文主要結合ISD4004在放音電路中的使用介紹ISD4004的典型應用。
本文討論的報站器主電路主要由單片機89C52和ISD4004構成。該系統的硬件電路連接圖如圖1所示。
本系統主要分為三部分:單片機控制部分、放音部分和顯示部分。顯示電路采用的是通過P3.0、P3.1控制的兩個7段數碼管的靜態顯示器,在此不作詳細介紹;控制部分主要由單片機89C52構成,包含必要的按鍵電路、復位電路和看門狗電路等外圍電路;放音部分主要由ISD4004構成,包含配套的變壓電路、功放電路等。
從圖1中可以看出89C52和ISD4004之間的連接較少。單片機的P1.0~P1.3引腳接按鍵,控制報站器工作過程中是否放音和放音內容;P1.6接ISD4004的片選引腳/SS,控制ISD4004是否選通;P1.7接ISD4004的串行輸入引腳MOSI,從該引腳讀入放音的地址;P3.0和P3.1控制外圍顯示電路,在報站器工作過程中顯示當前的站號;P3.2和P3.3分別接ISD4004的串行時鐘引腳SCLK和中斷引腳/INT。ISD4004芯片所需要的連接還有音頻信號輸出引腳AUDOUT,該引腳通過一個濾波電容與揚聲器連接;AMCAP為自動靜音端,使用時通過一電容接地。此外,由于ISD4004的工作電壓為3V,而單片機所需供電電壓為5V,因此需要采用變壓電路得到3V電壓供ISD4004使用。
2 軟件設計
程序流程圖如圖2所示。
電路上電后,首先完成程序的初始化,隨后查詢按鍵狀態,進入系統待機狀態。如果有按鍵按下,則轉去執行該按鍵指向的工作程序。按鍵包括放音鍵、停止鍵、加一鍵、減一鍵以及特殊語鍵。在待機狀態下,如果放音鍵首次被按下,程序將首先判斷是去還是回(公交車路徑一般是既去又回的),并點亮相應的指示燈,自動讀出第一站的放音內容,站號顯示1。如果不是首次按下,則首先判斷當前站號,并以該站號為依據獲得存放該站放音內容的首地址;然后調用放音子程序,讀入前面獲得的本站放音內容首地址,開始放音。每一句放音完畢后,ISD4004的中斷引腳(25腳)會自動送一低電平信號。在硬件設計中,該引腳與單片機的P3.3連接,因此會引起一次中斷,在中斷子程序中有一個計數器記錄中斷次數,從而判斷何時當前一站結束,站號加一并刷新顯示。加一鍵按下后,程序放音內容轉向下一站;減一鍵按下后,則使程序放音內容轉向上一站,相應的站號顯示也將隨之刷新;特殊語鍵按下后,程序轉向執行特殊語放音(譬如“拐彎請注意”等語句);停止鍵按下,將中止當前的放音狀態。
為了便于讀者對ISD4004應用的理解,本文給出了部分程序。
該部分程序主要完成放音操作,把獲得的放音內容的地址送到ISD4004中,完成放音。
PLAY?
ACALL POWERUP ?上電子程序
ACALL DELAY25 ?延遲子程序,至少延
遲25ms
CLR P1.6 ?選中ISD4004
MOV PLAY2?#11100000B ?存放SETPLAY命令
MOV A?PLAY0 ?送放音地址低8位
ACALL SEND ?調用送地址子程序
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
【ISD4004語音芯片在語音報站器中的應用】相關文章:
目標規劃及其在經濟中的應用05-11
氣管插管在院前急救中的應用05-29
物理教學中多媒體的應用論文11-02
醫院護理管理中績效管理的應用價值04-29
幼兒文學在幼兒教育中的應用論文04-28
精益生產在企業管理中的應用05-26
英語文學在英語教學中的應用04-21