火車站信號自動語音播報系統(tǒng)的設(shè)計
2.2 信號查詢子程序
信號查詢子程序的流程見圖7,系統(tǒng)30多路信號分別占用AT89C51單片機的部分I/O線和可編程接口8255的A、B、C口24路輸入線。程序?qū)Χ嗦沸盘栠M(jìn)行逐一查詢,并對到來的有效信號進(jìn)行分單元標(biāo)記儲存,以便將參數(shù)傳遞給主控程序。本文引用地址:http://cafeforensic.com/article/188578.htm
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ù)是否與器件當(dāng)前進(jìn)行的操作兼容。當(dāng)然,也允許在一個SPI周期里,同時執(zhí)行讀狀態(tài)和開始新的操作(即新移入的數(shù)據(jù)與器件當(dāng)前的操作可以不兼容)。
語音播報子程序,要嚴(yán)格按照以上ISD4004的要求編程,其流程見圖9。系統(tǒng)確認(rèn)當(dā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é)議標(biāo)準(zhǔn),在串行時鐘同步下傳送到ISD4004的MOSI。
2.5 上電、掉電子程序
ISD4004可實現(xiàn)電源操作模式的管理,通過指令編程完成上電和掉電的操作,其程序流程圖見圖11和圖12。芯片掉電后進(jìn)入低功耗狀態(tài),耗電電流1μA左右,只有在上電操作完成后芯片才能正常工作。
3 結(jié) 語
闡述了基于ISD4004芯片設(shè)計的單片機控制語音播報系統(tǒng)在火車站信號控制室實際應(yīng)用的一個事例,主要介紹了系統(tǒng)軟、硬件的設(shè)計方法,其目的就在于提供一種多路工業(yè)過程控制在線語音提示或報警的微機控制模塊,可以稍加改造,方便地與常規(guī)工業(yè)控制系統(tǒng)或設(shè)備配合使用,甚至還可以方便地與復(fù)雜系統(tǒng)和DCS系統(tǒng)配合使用,完成各種工業(yè)控制和監(jiān)測系統(tǒng)的工作狀態(tài)報警和操作提示。
評論