0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于ISD4004和AT89C51單片機(jī)實(shí)現(xiàn)火車語音播報(bào)系統(tǒng)的設(shè)計(jì)

電子設(shè)計(jì) ? 來源:現(xiàn)代電子技術(shù) ? 作者:鮑潤華 ? 2021-03-23 15:43 ? 次閱讀

在現(xiàn)代工業(yè)控制過程中,廣泛應(yīng)用了工作狀態(tài)和故障狀態(tài)報(bào)警裝置,通常它以聲、光形式提醒操作者及時(shí)處理出現(xiàn)的問題。隨著新技術(shù)的發(fā)展,人們又開始將語音技術(shù)應(yīng)用到這一領(lǐng)域。它以更直觀、易懂、更方便、準(zhǔn)確的形式向操作者提供有關(guān)信息,使操作者能夠更準(zhǔn)確、快速地處理系統(tǒng)問題。美國ISD公司生產(chǎn)的ISD系列智能語音存儲(chǔ)芯片音質(zhì)好,長期斷電語音信號不丟失,非常適合于電子產(chǎn)品的開發(fā)應(yīng)用。成功應(yīng)用ISD4004和AT89C51單片機(jī)設(shè)計(jì)了火車站信號自動(dòng)語音播報(bào)系統(tǒng),通過對火車站鐵路線的上行和下行控制、車輛調(diào)度、系統(tǒng)主副電源的啟用等多路信號進(jìn)行檢測并采集,根據(jù)安全隱患的防范要求,由單片機(jī)控制查詢安全警示語音信息并播報(bào),實(shí)現(xiàn)安全操作提示及報(bào)警。系統(tǒng)在火車站信號室控制臺上安裝使用,運(yùn)行穩(wěn)定,信號播報(bào)準(zhǔn)確,取得了很好的效果。

1 硬件電路設(shè)計(jì)

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

基于ISD4004和AT89C51單片機(jī)實(shí)現(xiàn)火車語音播報(bào)系統(tǒng)的設(shè)計(jì)

1.1 ISD4004的特性

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

1.2 ISD4004的引腳及封裝形式

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

1.3 ISD4004與AT89C51單片機(jī)的接口

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

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

1.4 音頻輸出

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

1.5 I/O口的擴(kuò)展

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

1.6 信號變換

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

2 軟件總體設(shè)計(jì)

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

2.1 主控程序

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

2.2 信號查詢子程序

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

2.3 語音播報(bào)子程序

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

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

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

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

2.5 上電、掉電子程序

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

3 結(jié) 語

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

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    452

    文章

    50206

    瀏覽量

    420887
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6030

    文章

    44489

    瀏覽量

    631980
收藏 人收藏

    評論

    相關(guān)推薦

    基于AT89S52單片機(jī)ISD4004語音芯片實(shí)現(xiàn)語音播報(bào)記事器的設(shè)計(jì)

    存儲(chǔ)與自動(dòng)播報(bào)系統(tǒng)的應(yīng)用。本文介紹一種以語音存儲(chǔ)與自動(dòng)播放系統(tǒng)為基礎(chǔ)的語音播報(bào)記事器設(shè)計(jì)。該設(shè)計(jì)
    的頭像 發(fā)表于 12-16 17:57 ?6320次閱讀
    基于AT<b class='flag-5'>89</b>S52<b class='flag-5'>單片機(jī)</b>和<b class='flag-5'>ISD4004</b><b class='flag-5'>語音</b>芯片<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>語音</b><b class='flag-5'>播報(bào)</b>記事器的設(shè)計(jì)

    ISD4004語音記事本

    想用ISD4004芯片和單片機(jī)做個(gè)語音記事本,大家有什么建議
    發(fā)表于 03-15 17:10

    急求基于51單片isd4004語音錄放系統(tǒng)設(shè)計(jì)

    急求基于51單片isd4004語音錄放系統(tǒng)設(shè)計(jì),在線等,,,
    發(fā)表于 04-24 21:44

    急求基于51單片isd4004語音錄放系統(tǒng)設(shè)計(jì)

    急求基于51單片isd4004語音錄放系統(tǒng)設(shè)計(jì),在線等,,,
    發(fā)表于 04-24 21:44

    ISD4004語音芯片的使用求教

    有哪位用過ISD4004語音芯片和51單片機(jī)語音報(bào)時(shí)時(shí)鐘的,不太會(huì)用這個(gè)芯片,求教??!
    發(fā)表于 11-11 09:15

    ISD4004系列單片語音錄放電路

    ISD4004系列單片語音錄放電路 一、  簡述 ●
    發(fā)表于 12-10 14:05 ?2971次閱讀
    <b class='flag-5'>ISD4004</b>系列<b class='flag-5'>單片語音</b>錄放電路

    基于ISD4004語音芯片和AT89S52單片機(jī)語音播報(bào)

      引 言   本文介紹一種以語音存儲(chǔ)與自動(dòng)播放系統(tǒng)為基礎(chǔ)的語音播報(bào)記事器設(shè)計(jì)。該設(shè)計(jì)以ISD4004
    發(fā)表于 08-11 11:37 ?1.3w次閱讀
    基于<b class='flag-5'>ISD4004</b><b class='flag-5'>語音</b>芯片和AT<b class='flag-5'>89</b>S52<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>語音</b><b class='flag-5'>播報(bào)</b>記

    基于ISD4004單片機(jī)火車站自動(dòng)語音播報(bào)系統(tǒng)

      筆者成功應(yīng)用ISD4004AT89C51單片機(jī)設(shè)計(jì)了火車站信號自動(dòng)語音播報(bào)
    發(fā)表于 08-13 15:08 ?3031次閱讀
    基于<b class='flag-5'>ISD4004</b><b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>火車</b>站自動(dòng)<b class='flag-5'>語音</b><b class='flag-5'>播報(bào)</b><b class='flag-5'>系統(tǒng)</b>

    ISD4004語音芯片程序

    ISD4004語音芯片程序,51單片機(jī)控制
    發(fā)表于 01-15 17:18 ?17次下載

    基于ISD400451單片機(jī)的公交車報(bào)站系統(tǒng)

    ISD400451單片機(jī)
    發(fā)表于 05-02 08:40 ?21次下載

    基于AT89C51單片機(jī)進(jìn)行公交車語音報(bào)站系統(tǒng)的設(shè)計(jì)資料概述

    為了提高公交車服務(wù)質(zhì)量,滿足各類乘客需求,設(shè)計(jì)了一個(gè)帶有語音播放的公交車報(bào)站系統(tǒng)。系統(tǒng)通過3個(gè)按鍵控制實(shí)現(xiàn)起始站、上一-站、下- -站的控制功能。
    發(fā)表于 02-12 08:00 ?49次下載
    基于<b class='flag-5'>AT89C51</b><b class='flag-5'>單片機(jī)</b>進(jìn)行公交車<b class='flag-5'>語音</b>報(bào)站<b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)資料概述

    基于AT89S52單片機(jī)ISD4004語音芯片設(shè)計(jì)

    存儲(chǔ)與自動(dòng)播報(bào)系統(tǒng)的應(yīng)用。本文介紹一種以語音存儲(chǔ)與自動(dòng)播放系統(tǒng)為基礎(chǔ)的語音播報(bào)記事器設(shè)計(jì)。該設(shè)計(jì)
    的頭像 發(fā)表于 10-30 13:28 ?1671次閱讀

    基于STC89C52單片機(jī)ISD4004語音芯片的錄音筆方案

    52 單片機(jī)ISD4004語音芯片的多功能錄音筆方案。首先介紹了設(shè)計(jì)方案的選擇,接著進(jìn)行了系統(tǒng)的硬件設(shè)計(jì),包括音頻輸入輸出電路的設(shè)計(jì)、按鍵控制電路的設(shè)計(jì)、液晶顯示電路的設(shè)計(jì)等,設(shè)計(jì)中
    發(fā)表于 04-03 09:19 ?5次下載

    基于ISD4004的家庭語音報(bào)警系統(tǒng)設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于ISD4004的家庭語音報(bào)警系統(tǒng)設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-09 15:44 ?0次下載
    基于<b class='flag-5'>ISD4004</b>的家庭<b class='flag-5'>語音</b>報(bào)警<b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)

    基于AT89C51單片機(jī)語音播報(bào)器的設(shè)計(jì)方案

    電子發(fā)燒友網(wǎng)站提供《基于AT89C51單片機(jī)語音播報(bào)器的設(shè)計(jì)方案.pdf》資料免費(fèi)下載
    發(fā)表于 10-10 09:21 ?4次下載
    基于<b class='flag-5'>AT89C51</b><b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>語音</b><b class='flag-5'>播報(bào)</b>器的設(shè)計(jì)方案