《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設計應用 > 基于ISD4004單片機的火車站自動語音播報系統(tǒng)
基于ISD4004單片機的火車站自動語音播報系統(tǒng)
EEworld
摘要: 筆者成功應用ISD4004和AT89C51單片機設計了火車站信號自動語音播報系統(tǒng),,通過對火車站鐵路線的上行和下行控制,、車輛調(diào)度,、系統(tǒng)主副電源的啟用等多路信號進行檢測并采集,,根據(jù)安全隱患的防范要求,,由單片機控制查詢安全警示語音信息并播報,,實現(xiàn)安全操作提示及報警,。系統(tǒng)在火車站信號室控制臺上安裝使用,,運行穩(wěn)定,信號播報準確,,取得了很好的效果,。
關(guān)鍵詞: 51單片機 ISD4004 自動語音播報
Abstract:
Key words :

  筆者成功應用ISD4004和AT89C51單片機設計了火車站信號自動語音播報系統(tǒng),通過對火車站鐵路線的上行和下行控制,、車輛調(diào)度,、系統(tǒng)主副電源的啟用等多路信號進行檢測并采集,根據(jù)安全隱患的防范要求,,由單片機控制查詢安全警示語音信息并播報,,實現(xiàn)安全操作提示及報警。系統(tǒng)在火車站信號室控制臺上安裝使用,,運行穩(wěn)定,,信號播報準確,取得了很好的效果,。

  1 硬件電路設計

  系統(tǒng)硬件電路設計原理框圖見圖1,,由微控制器AT89C51、ISD4004語音電路,、音頻功率放大電路,、可編程并行接口8255,、光電隔離、電平轉(zhuǎn)換,、信號輸入接口,、系統(tǒng)時鐘、復位及鍵盤等單元電路組成,。

  


  1.1 ISD4004的特性

  ISD4004系列語音存儲芯片采用CMOS技術(shù),,內(nèi)含振蕩器、防混淆濾波器,、平滑濾波器,、音頻放大器、自動靜噪及高密度多電平閃爍存貯陳列,,內(nèi)置微控制器串行通信接口,。芯片所有操作必須由微控制器控制,,操作命令可通過串行通信接口(SPI或Microwire)送人,。外部的音源信號在芯片內(nèi)采用多電平直接模擬量存儲技術(shù),信息可進行多段處理,,每個采樣值直接存貯在片內(nèi)閃爍存貯器中,,因此能夠非常真實、自然地再現(xiàn)語音,、音樂,、音調(diào)和效果聲。存于片內(nèi)閃爍存貯器中的信息,,可在斷電情況下保存100年,。芯片工作電壓為3 V,工作電流為25~30 mA,,維持電流1μA,,不耗電,單片錄放時間8~16 min,,可反復錄音10萬次,。

  1.2 ISD4004的引腳及封裝形式

  ISD4004采用28腳的SOIC封裝,其引腳排列如圖2所示,。

  

 

  1.3 ISD4004與AT89C51單片機的接口

  ISD4004工作于SPI串行接口,,按照同步串行數(shù)據(jù)傳輸?shù)腟PI協(xié)議,所有串行數(shù)據(jù)傳輸開始于單片機主控器發(fā)送給ISD4004的片選信號SS下降沿,。SS在傳輸期間必須保持為低電平,,在兩條指令之間則保持為高電平。來自串行數(shù)據(jù)輸入端MOSI引腳的數(shù)據(jù)在串行同步時鐘上升沿被鎖存,,對ISD4004串行數(shù)據(jù)輸出端MISO引腳的數(shù)據(jù)在SCLK的下降沿被移出,。ISD4004的任何一個錄音和放音操作(含快進),,都是按分段地址進行的,每段包含若干行,,每行相當于存儲單元,,在行地址時鐘信號RAC的控制下進行錄放信息的存儲管理。RAC信號周期為200 ms,,高電平占空比為3/4,。當錄音和放音操作到內(nèi)部存儲單元地址的末尾時,會產(chǎn)生一個OVF或EOM結(jié)束標志信號,,如果遇到EOM或OVF,,則產(chǎn)生一個低電平有效的INT中斷信號,該中斷狀態(tài)在下一個SPI周期開始時被清除,。ISD4004與AT89C51單片機連接如圖3所示,。

  

 

  ISD4004的片選信號SS引腳與AT89C51單片機的I/O口P1.0連接,由程序指令產(chǎn)生有效的低電平信號,。串行數(shù)據(jù)輸入MOSI引腳和串行數(shù)據(jù)輸出MISO引腳分別與P1.1和P1.3連接,,串行收發(fā)的數(shù)據(jù)信息在程序指令的控制下,由片內(nèi)移位寄存器鎖存,,其同步時鐘信號SCLK由單片機P1.2控制,。行地址時鐘RAC和中斷請求信號INT分別與P3.2(INT1)和P3.3(INTO)連接。

  1.4 音頻輸出

  系統(tǒng)信號所對應的提示語音,,如“上行列車開過來了,,區(qū)間占用”、“請求上行發(fā)車,,信號開放”等信息,,已通過專用設備按地址分段固化到ISD4004內(nèi)部E2PROM的存儲單元。在程序控制下,,相應的語音信號由ISD4004的13腳(AUOUT)輸出,,經(jīng)耦合電容C4和音量控制電位器RW,送入低噪聲功率放大集成電路進行放大,,推動揚聲器發(fā)聲,。為使輸出語音噪聲達到最小,系統(tǒng)的模擬地和數(shù)字地分開走線,,盡可能在靠近供電端處相連,,并且分別引到ISD4004芯片的VSSA和VSSD管腳上,退耦電容也應盡量靠近芯片,。

  1.5 I/O口的擴展

  系統(tǒng)36路信號要經(jīng)微控制器處理,,至少要36個I/O口線才能滿足需求,靠AT89C51剩余的I/O口顯然是不夠的,,必須進行I/O口的擴展,。系統(tǒng)采用可編程序并行輸入輸出接口芯片8255擴展不足的I/O口,,具體硬件連接見圖4。8255是微處理器擴展系統(tǒng)所用的標準外圍并行接口電路,,采用NMOS工藝制造,,40腳雙列直插式DIP封裝形式。8255與外部設備交換信息通過A口,、B口,、c口的24條I/O線來完成的,每個口都是8位,。其中C口又分為上C口(PC7~PC4高4位)和下C口(PC3~PC0低4位),。可通過編程的方法來規(guī)定端口的工作方式為輸入,,在主控程序初始化時完成,。8255片選信號由P1.4完成,地址總線A0和A1通過地址鎖存器74LS373鎖定,。

  

 

  1.6 信號變換

  系統(tǒng)信號取自車站信號室控制繼電器的觸點,,主要是交流24 V的開關(guān)量信號,必須將其轉(zhuǎn)換為單片機系統(tǒng)可以匹配的TTL電平,,也就是將交流24 V變換為直流5 V,,其信號電平變換電路如圖5所示,。交流信號由二極管D32整流,,電容C32濾波,經(jīng)限流電阻R32輸入光電耦合器4N25,,經(jīng)內(nèi)部發(fā)光管和光敏接收管有效實現(xiàn)光電轉(zhuǎn)換,,同時將外部信號的電氣網(wǎng)絡與單片機控制系統(tǒng)隔離開來,提高系統(tǒng)的可靠性和抗干擾能力,。變換后輸出的信號是低電平,,為保持輸入信號和輸出信號電平同步,后級加反相器,,輸出標準的TTL 5 V信號,,送往并行接口8255。

  

 

  2 軟件總體設計

  系統(tǒng)軟件設計直接影響到系統(tǒng)的整體性能,。軟件主要功能是通過對鐵路信號進行實時查詢,,準確判斷信號是否有效,并可靠查找信號所對應的語音存儲地址,,取出信息進行實時播報,。軟件程序包括主控程序、信號查詢程序,、語音播報程序,、數(shù)據(jù)傳送程序,、ISD4004的上電和掉電程序。程序中多次使用延時子程序,,由于結(jié)構(gòu)簡單,、通用性強、本文不再闡述,。

  2.1 主控程序

  主控程序流程見圖6,,系統(tǒng)上電時要進行初始化,完成對I/O口,、信號單元及信號標志位的清零和ISD4004及8255的初始化設置,,并完成在系統(tǒng)上電時自檢和產(chǎn)品信息廣告的的語音播報。然后進入信號的查詢和語音播報的循環(huán)控制流程,。為了防止系統(tǒng)誤報,、漏報或連報,在程序設計時充分考慮這方面的因素,,如采用信號延時防抖判定,,信號電平的高低交錯標志判斷及信號單元地址查表等方法,提高系統(tǒng)的可靠性,。

  2.2 信號查詢子程序

  信號查詢子程序的流程見圖7,,系統(tǒng)30多路信號分別占用AT89C51單片機的部分I/O線和可編程接口8255的A、B,、C口24路輸入線,。程序?qū)Χ嗦沸盘栠M行逐一查詢,并對到來的有效信號進行分單元標記儲存,,以便將參數(shù)傳遞給主控程序,。

  

 

  2.3 語音播報子程序

  ISD4004芯片所有操作必須由微控制器控制的操作命令,通過串行通信協(xié)議SPI接口送入,。SPI控制寄存器控制芯片的錄放音,、信息檢索、上電,、掉電,、開始和停止等功能,由軟件編程指令改變SPI控制寄存器的控制位來實現(xiàn),,SPI控制寄存器的控制位如圖8所示,,指令格式是:8位控制碼+16位地址碼。ISD的任何操作在運行位C4置1時開始,,置0時結(jié)束,,如果遇到EOM或OVF,則產(chǎn)生一個中斷,使用“讀”指令使中斷狀態(tài)位移出ISD的MISO引腳時,,控制及地址數(shù)據(jù)也同步從MOSI端移入,。因此要注意移入的數(shù)據(jù)是否與器件當前進行的操作兼容。當然,,也允許在一個SPI周期里,,同時執(zhí)行讀狀態(tài)和開始新的操作(即新移入的數(shù)據(jù)與器件當前的操作可以不兼容)。

  

 

  語音播報子程序,,要嚴格按照以上ISD4004的要求編程,,其流程見圖9。系統(tǒng)確認當前播報信號有效時,,通過查找語音存放地址,,得到16位的播報地址。首先要調(diào)用上電子程序,,送上電指令,,然后等待約25μs的延遲,再傳送16位放音起始地址參數(shù)和8位從指定地址開始放音的指令,,分別調(diào)用數(shù)據(jù)發(fā)送子程序,,完成信息的播報。

  

 

  2.4 數(shù)據(jù)發(fā)送子程序

  數(shù)據(jù)發(fā)送子程序流程圖見圖1O,,主要將16位放音地址和8位功能控制指令數(shù)據(jù)按照SPI協(xié)議標準,,在串行時鐘同步下傳送到ISD4004的MOSI。

  2.5 上電,、掉電子程序

  ISD4004可實現(xiàn)電源操作模式的管理,,通過指令編程完成上電和掉電的操作,其程序流程圖見圖11和圖12,。芯片掉電后進入低功耗狀態(tài),,耗電電流1μA左右,,只有在上電操作完成后芯片才能正常工作,。

  

 

  3 結(jié) 語

  闡述了基于ISD4004芯片設計的單片機控制語音播報系統(tǒng)在火車站信號控制室實際應用的一個事例,主要介紹了系統(tǒng)軟,、硬件的設計方法,,其目的就在于提供一種多路工業(yè)過程控制在線語音提示或報警的微機控制模塊,可以稍加改造,,方便地與常規(guī)工業(yè)控制系統(tǒng)或設備配合使用,,甚至還可以方便地與復雜系統(tǒng)和DCS系統(tǒng)配合使用,完成各種工業(yè)控制和監(jiān)測系統(tǒng)的工作狀態(tài)報警和操作提示,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。