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

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

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

基于AT89C52單片機(jī)和EPlC6Q-240C8實(shí)現(xiàn)汽車語音報(bào)警系統(tǒng)的設(shè)計(jì)

電子設(shè)計(jì) ? 來源:國外電子元器件 ? 作者:馬智遠(yuǎn);黃金鳳;張 ? 2021-04-05 17:24 ? 次閱讀

作者:馬智遠(yuǎn);黃金鳳;張帆;張承學(xué)

1 前言

為了防止汽車發(fā)生交通事故,當(dāng)汽車智能檢測(cè)裝置探測(cè)到前方有危險(xiǎn)時(shí),必須向駕駛員發(fā)出警告信息。語音報(bào)警向駕駛員明確提示危險(xiǎn),以便駕駛員能及時(shí)準(zhǔn)確地采取措施。因此,本文提出數(shù)字語音處理技術(shù),先將各種狀況的報(bào)警信息進(jìn)行數(shù)字化采集、存儲(chǔ),遇到危險(xiǎn)時(shí),將判斷危險(xiǎn)類型并自動(dòng)選擇播放存儲(chǔ)的報(bào)警信息。由于語音信息量大,直接存儲(chǔ)需占用龐大的存儲(chǔ)空間,為此,本文采用FPGA實(shí)現(xiàn)ADPCM(Adaptive Differential Pulse CodeModulation,自適應(yīng)差分脈沖編碼調(diào)制)編解碼器設(shè)計(jì),對(duì)語音信息進(jìn)行壓縮存儲(chǔ).從而使存儲(chǔ)信息量增大了一倍。

2 系統(tǒng)結(jié)構(gòu)及原理

本系統(tǒng)設(shè)計(jì)是以單片機(jī)和FPGA為核心。單片機(jī)控制系統(tǒng)的工作狀態(tài)、啟動(dòng)錄放音并對(duì)錄放音時(shí)間進(jìn)行計(jì)時(shí)、顯示。FPGA對(duì)采集到的數(shù)據(jù)進(jìn)行壓縮、存儲(chǔ)、解壓。單片機(jī)與FPGA協(xié)調(diào)工作,提高了系統(tǒng)的工作效率和穩(wěn)定性。系統(tǒng)結(jié)構(gòu)如圖1所示。

基于AT89C52單片機(jī)和EPlC6Q-240C8實(shí)現(xiàn)汽車語音報(bào)警系統(tǒng)的設(shè)計(jì)

首先,將所希望采集的各種報(bào)警聲音經(jīng)前向通道(話筒、差分放大器、濾波器、加法器)再由A/D轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號(hào)并送人FPGA進(jìn)行ADPCM壓縮編碼處理,然后存儲(chǔ)到靜態(tài)存儲(chǔ)器SRAM中。遇到危險(xiǎn)時(shí),單片機(jī)對(duì)危險(xiǎn)進(jìn)行判斷,控制FPGA將相應(yīng)的語音數(shù)據(jù)從SRAM中取出并進(jìn)行解碼,然后送至8位的D/A轉(zhuǎn)換器,轉(zhuǎn)換為模擬信號(hào),再經(jīng)后向通道(濾波器、校正電路、功率放大器、揚(yáng)聲器)復(fù)現(xiàn)報(bào)警聲音。

3 系統(tǒng)主要硬件設(shè)計(jì)

3.1 前置放大器

采用駐極體話筒采集語音信號(hào),轉(zhuǎn)換其信號(hào)幅值為毫伏級(jí)的電信號(hào),系統(tǒng)前級(jí)對(duì)其處理時(shí),要盡可能提高放大器輸入端的信噪比,保證放大電路具有精確、穩(wěn)定的增益。為此,本文設(shè)計(jì)了如圖2所示的檢測(cè)放大電路。該電路前級(jí)采用電壓跟隨器,利用輸入電阻為無窮大而輸出趨于零的特性,提供高輸入電阻,實(shí)現(xiàn)阻抗變換與隔離;后級(jí)采用差動(dòng)放大器,獲得較高的共模抑制比,增強(qiáng)電路抗干擾性。

電壓跟隨器由性能優(yōu)良的低噪聲音頻放大器NE5532構(gòu)成,工作電壓為12 V,工作帶寬為10 MHz,特別適用于語音信息處理。差動(dòng)放大器采用AD620實(shí)現(xiàn)。AD620內(nèi)部實(shí)際上是一個(gè)差分放大器,其失調(diào)電壓電流小,共模抑制比高,因此處理微弱信號(hào)時(shí),也就是放大和消除噪聲方面具有優(yōu)異性能,其增益G=1+(49.4 kΩ/Rg)(Rg為接在1、8引腳之間的電阻)。調(diào)節(jié)電位器R1,使放大的信號(hào)幅值介于-2.5 V和2.5 V之間,便于A/D轉(zhuǎn)換器采樣量化。

3.2 帶通濾波器

語音信號(hào)經(jīng)放大傳輸后容易拾取噪聲,因此在數(shù)據(jù)采集之前,需要通過帶通濾波器濾除掉帶外雜波。人的語音頻率范圍為300 Hz~3.4 kHz,故濾波器的通帶范圍應(yīng)為300 Hz~3.4kHz。如此寬的頻帶,必須采用低通部分與高通部分相級(jí)聯(lián)的方式實(shí)現(xiàn)。

高通濾波器設(shè)計(jì)指標(biāo):通帶截止頻率fp=300Hz,通帶允許最大衰減αp≤3 dB;為消除工頻干擾,確定阻帶截止頻率fs=50 Hz,阻帶允許最小衰減as》40 dB。選用兩級(jí)二階Butterworth高通濾波器相級(jí)聯(lián)構(gòu)成.仿真結(jié)果如圖3所示。

低通濾波器的設(shè)計(jì)指標(biāo)為:通帶截止頻率fp=3 400 Hz,通帶允許最大衰減αp≤3 dB;為抑制采樣混疊失真,確定阻帶截止頻率fs=4 000 Hz,阻帶允許最小衰減as≥40 dB。由于橢圓濾波器可以獲得較其他濾波器窄的過渡帶寬,故適用該系統(tǒng)設(shè)計(jì)。利用濾波器輔助設(shè)計(jì)軟件Filter Wiz Pro獲得五階橢圓低通濾波器電路如圖4、仿真結(jié)果如圖5所示。

級(jí)聯(lián)高通和低通濾波器,即可得到300 Hz~3.4kHz帶通濾波器,實(shí)驗(yàn)表明,該濾波器效果良好,達(dá)到設(shè)計(jì)指標(biāo)。后向通道的帶通濾波器的設(shè)計(jì)與此相同。

4 系統(tǒng)軟件的設(shè)計(jì)

4.1 FPGA部分

選用Altera公司的Cyclone系列的EPlC6Q-240C8實(shí)現(xiàn)ADPCM編碼器和解碼器。該器件含有120 000典型門資源、5 980個(gè)邏輯單元、6個(gè)RAM模塊、92 160 Bit RAM或ROM、2個(gè)數(shù)字PLL、185個(gè)可編程I/O口,最高工作時(shí)鐘可達(dá)300 MHz以上,并通過JTAG接口實(shí)現(xiàn)在系統(tǒng)配置。

ADPCM是一種利用樣本間的高度相關(guān)性和量化階自適應(yīng)壓縮數(shù)據(jù)的波形編碼技術(shù)。ADPCM綜合了APCM的自適應(yīng)特性和DPCM的差分特性。它的核心思想是利用自適應(yīng)改變量化階的大小,即就是使用小的量化階編碼小的差值,使用大的量化階來編碼大的差值;使用過去

的樣本值估算下一個(gè)輸入樣本的預(yù)測(cè)值,實(shí)際樣本值和預(yù)測(cè)值之間的差值總是最小。ADPCM編解碼器的輸入信號(hào)是G.711 PCM代碼,若采樣頻率為8 kHz,每個(gè)代碼為8位,則它的數(shù)據(jù)率為64 Kb/s,而ADPCM的輸出代碼是“自適應(yīng)量化器”的輸出,該輸出是4位的差分信號(hào),它的采樣頻率仍是8 kHz,數(shù)據(jù)率為32 Kb/s,這樣就獲得了2:1的數(shù)據(jù)壓縮。

編碼過程:計(jì)算8位的二進(jìn)制補(bǔ)碼的當(dāng)前采樣值Sc和上一預(yù)測(cè)采樣值Sp之間的差值d,該差值經(jīng)量化編碼輸出4位ADPCM代碼I。在算法中,定義一個(gè)結(jié)構(gòu)變量存儲(chǔ)預(yù)測(cè)采樣值Sp和量化步長(zhǎng)q,并制定了兩個(gè)表:一個(gè)表為索引調(diào)整表,其輸入為差值量化編碼I,用于更新步長(zhǎng)索引;另一個(gè)表為步長(zhǎng)調(diào)整表,其輸入為步長(zhǎng)索引,輸出為步長(zhǎng)q。編碼時(shí),首先用上一個(gè)采樣點(diǎn)的步長(zhǎng)索引查步長(zhǎng)調(diào)整表求出步長(zhǎng)q,然后根據(jù)下式來確定4位ADPCM編碼值I:

再將編碼值I作為索引調(diào)整表的輸入,查表輸出索引調(diào)整,并和結(jié)構(gòu)變量中原步長(zhǎng)索引相加,產(chǎn)生新的步長(zhǎng)索引,在下一個(gè)采樣值的編碼中使用。編碼器輸出I后,還需要重復(fù)進(jìn)行與解碼完全一樣的計(jì)算過程,求出新的預(yù)測(cè)采樣值Sp。

解碼過程:首先通過步長(zhǎng)索引查步長(zhǎng)調(diào)整表得到量化步長(zhǎng),差值量化編碼I經(jīng)逆量化得到語音差值d,這是求I的逆過程;然后與前次預(yù)測(cè)值Sp。一起重建當(dāng)前語音信號(hào)Sc;最后利用Sp=Sc,更新預(yù)測(cè)值Sp,用I更新量化步長(zhǎng)索引。

設(shè)計(jì)完成后,對(duì)ADPCM編解碼器進(jìn)行仿真,仿真結(jié)果如圖6所示。AD_DataBus為編碼前輸入信號(hào),采用Testbench產(chǎn)生。在編碼使能信號(hào)P1_7為“0”時(shí),開始編碼,P1_7跳變到“1”時(shí),編碼被屏蔽。此時(shí)解碼使能信號(hào)P1_4為“0”,開始解碼,P1_4跳變到“1”時(shí),解碼被屏蔽??梢钥闯鼍幋a前輸入信號(hào)AD_DataBus和解碼器輸出DA_DataBus基本符合要求。由于ADPCM算法本身是有損壓縮,可以確定本部分的設(shè)計(jì)是正確可靠的。

4.2 單片機(jī)部分

單片機(jī)是整個(gè)系統(tǒng)的控制中心.負(fù)責(zé)檢測(cè)危險(xiǎn)并判斷其類型以選擇播放相應(yīng)的報(bào)警信息。其工作流程如圖7所示。本文給出了采用3個(gè)按鍵代表3種危險(xiǎn)的發(fā)生,供單片機(jī)檢測(cè)。

選擇常用的51系列單片機(jī)AT89C52,用C51語言編程可完成程序設(shè)計(jì),實(shí)驗(yàn)效果理想。

5 結(jié)束語

本系統(tǒng)設(shè)計(jì)是單片機(jī)與FPGA配合使用,充分發(fā)揮各自的優(yōu)點(diǎn)。獲得理想效果,具有很強(qiáng)的實(shí)用性,同時(shí)還證明了采用可編程邏輯器件實(shí)現(xiàn)語音數(shù)字壓縮處理的高效性。實(shí)驗(yàn)證明,本系統(tǒng)可以很好地再現(xiàn)錄入的報(bào)警語音,具有較高的保真度。駕駛員可以根據(jù)自己的喜好隨意改變報(bào)警聲音。危急情況下,本系統(tǒng)會(huì)自動(dòng)發(fā)出明確的報(bào)警提示,大大提高了駕駛的安全性。

責(zé)任編輯:gt

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

    關(guān)注

    1620

    文章

    21510

    瀏覽量

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

    關(guān)注

    6023

    文章

    44376

    瀏覽量

    628367
  • 報(bào)警系統(tǒng)
    +關(guān)注

    關(guān)注

    5

    文章

    644

    瀏覽量

    74977
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于AT89C52的多功能數(shù)字時(shí)鐘系統(tǒng)

    本設(shè)計(jì)基于單片機(jī)技術(shù)原理,以單片機(jī)芯片AT89C52作為核心控制器、通過硬件電路的制作以及軟件程序的編制,設(shè)計(jì)了多功能數(shù)字時(shí)鐘系統(tǒng)[1]。該時(shí)鐘系統(tǒng)
    發(fā)表于 06-15 11:26 ?1次下載

    基于單片機(jī)多功能洗衣機(jī)控制

    需注意仿真中51單片機(jī)芯片是兼容的,AT89C51,AT89C52是51單片機(jī)的具體型號(hào),內(nèi)核是一樣的。相同的原理圖里,無論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片
    發(fā)表于 03-18 10:13 ?467次閱讀
    基于<b class='flag-5'>單片機(jī)</b>多功能洗衣<b class='flag-5'>機(jī)</b>控制

    AT89C52怎么選擇外部存儲(chǔ)器?

    大家有誰知道AT89C52怎么選擇外部存儲(chǔ)器,我之前用的是P89V51,選擇外部存儲(chǔ)器是定義AUXR=0x02;,但是現(xiàn)在想用AT89C52單片了,程序該怎么改了啊??
    發(fā)表于 10-26 06:11

    一種用MCS-51系列單片機(jī)AT89C52代替專用遙控芯片的設(shè)計(jì)方案

    電子發(fā)燒友網(wǎng)站提供《一種用MCS-51系列單片機(jī)AT89C52代替專用遙控芯片的設(shè)計(jì)方案.doc》資料免費(fèi)下載
    發(fā)表于 10-20 14:42 ?0次下載
    一種用MCS-51系列<b class='flag-5'>單片機(jī)</b><b class='flag-5'>AT89C52</b>代替專用遙控芯片的設(shè)計(jì)方案

    基于AT89C52單片機(jī)的泵站現(xiàn)地監(jiān)控單元設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于AT89C52單片機(jī)的泵站現(xiàn)地監(jiān)控單元設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-18 10:03 ?0次下載
    基于<b class='flag-5'>AT89C52</b><b class='flag-5'>單片機(jī)</b>的泵站現(xiàn)地監(jiān)控單元設(shè)計(jì)

    51單片機(jī)停車場(chǎng)車位管理系統(tǒng)仿真設(shè)計(jì)

    芯片可以替換為STC89C52/STC89C51/AT89C52/AT89C51等51單片機(jī)芯片。
    的頭像 發(fā)表于 10-17 09:37 ?1330次閱讀
    51<b class='flag-5'>單片機(jī)</b>停車場(chǎng)車位管理<b class='flag-5'>系統(tǒng)</b>仿真設(shè)計(jì)

    基于AT89C2051單片機(jī)語音模塊的語音報(bào)價(jià)系統(tǒng)設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于AT89C2051單片機(jī)語音模塊的語音報(bào)價(jià)系統(tǒng)設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-13 10:52 ?3次下載
    基于AT<b class='flag-5'>89C</b>2051<b class='flag-5'>單片機(jī)</b><b class='flag-5'>語音</b>模塊的<b class='flag-5'>語音</b>報(bào)價(jià)<b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)

    單片機(jī)STC89C52RC病床呼叫控制系統(tǒng)

    電子發(fā)燒友網(wǎng)站提供《單片機(jī)STC89C52RC病床呼叫控制系統(tǒng).pdf》資料免費(fèi)下載
    發(fā)表于 10-11 09:20 ?2次下載
    <b class='flag-5'>單片機(jī)</b>STC<b class='flag-5'>89C52</b>RC病床呼叫控制<b class='flag-5'>系統(tǒng)</b>

    基于STC89C52單片機(jī)的USB鼠標(biāo)的設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于STC89C52單片機(jī)的USB鼠標(biāo)的設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-10 11:07 ?9次下載
    基于STC<b class='flag-5'>89C52</b><b class='flag-5'>單片機(jī)</b>的USB鼠標(biāo)的設(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 ?2次下載
    基于AT<b class='flag-5'>89C</b>51<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>語音</b>播報(bào)器的設(shè)計(jì)方案

    STC89C52單片機(jī)最小系統(tǒng)的設(shè)計(jì)方案

    單片機(jī)最小系統(tǒng)設(shè)計(jì)主要在STC89C52單片機(jī)上,用MAX23芯片實(shí)現(xiàn)串口程序下載,用HD7279A片驅(qū)動(dòng)4*4鍵盤和
    發(fā)表于 09-25 08:06

    基于51單片機(jī)的萬年歷時(shí)鐘仿真設(shè)計(jì)

    需注意仿真中51單片機(jī)芯片是通用的,AT89C51,AT89C52都是51單片機(jī)的具體型號(hào),內(nèi)核是兼容的。無論stc還是at都一樣,引腳功能都是一樣的,程序也是一樣的,芯片可以替換為S
    的頭像 發(fā)表于 09-24 14:11 ?1686次閱讀
    基于51<b class='flag-5'>單片機(jī)</b>的萬年歷時(shí)鐘仿真設(shè)計(jì)

    基于51單片機(jī)的路燈自動(dòng)開關(guān)控制仿真設(shè)計(jì)

    需注意仿真中51單片機(jī)芯片是通用的,AT89C51,AT89C52都是51單片機(jī)的具體型號(hào),內(nèi)核是兼容的。相同的原理圖里,無論stc還是at都一樣,引腳功能都是一樣的,程序也是一樣的,
    的頭像 發(fā)表于 09-24 14:09 ?1279次閱讀
    基于51<b class='flag-5'>單片機(jī)</b>的路燈自動(dòng)開關(guān)控制仿真設(shè)計(jì)

    基于51單片機(jī)的多功能電子鐘萬年歷仿真設(shè)計(jì)

    需注意仿真中51單片機(jī)芯片是通用的,AT89C51,AT89C52都是51單片機(jī)的具體型號(hào),內(nèi)核是兼容的。相同的原理圖里,無論stc還是at都一樣,引腳功能都是一樣的,程序也是一樣的,
    的頭像 發(fā)表于 09-24 14:07 ?1773次閱讀
    基于51<b class='flag-5'>單片機(jī)</b>的多功能電子鐘萬年歷仿真設(shè)計(jì)

    基于51單片機(jī)的可調(diào)頻率幅值的波形信號(hào)發(fā)生器設(shè)計(jì)

    需注意仿真中51單片機(jī)芯片是兼容的,AT89C51,AT89C52是51單片機(jī)的具體型號(hào),內(nèi)核是一樣的。相同的原理圖里,無論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片
    的頭像 發(fā)表于 09-24 13:58 ?1290次閱讀
    基于51<b class='flag-5'>單片機(jī)</b>的可調(diào)頻率幅值的波形信號(hào)發(fā)生器設(shè)計(jì)