勇敢的芯伴你玩轉(zhuǎn)Altera FPGA連載94:倒車(chē)?yán)走_(dá)實(shí)例 特權(quán)同學(xué),版權(quán)所有 配套例程和更多資料下載鏈接: http://pan.baidu.com/s/1i5LMUUD ![]() 如圖10.24所示,倒車(chē)?yán)走_(dá)的主要作用是在倒車(chē)時(shí),利用超聲波原理,由車(chē)尾保險(xiǎn)杠上的探頭發(fā)送超聲波撞擊障礙物后反射,從而計(jì)算出車(chē)體與障礙物之間的實(shí)際距離,再提示給駕駛者,使停車(chē)和倒車(chē)更容易、更安全。倒車(chē)?yán)走_(dá)的提示方式可分為液晶、語(yǔ)言和聲音三種;接收方式有無(wú)線傳輸和有線傳輸?shù)取?/div>
![]() 圖10.24 倒車(chē)?yán)走_(dá)場(chǎng)景 該實(shí)例用到了CY4開(kāi)發(fā)板上蜂鳴器和外接的超聲波測(cè)距模塊。該系統(tǒng)功能如圖10.25所示,F(xiàn)PGA產(chǎn)生周期性的trig脈沖信號(hào),使得超聲波模塊周期性發(fā)出測(cè)距脈沖,當(dāng)這些脈沖發(fā)出后遇到障礙物返回,超聲波模塊將返回的脈沖處理整形后返回給FPGA,即echo信號(hào)。我們通過(guò)對(duì)echo信號(hào)的高脈沖保持時(shí)間就可以推算出超聲波脈沖和障礙物之間的距離。對(duì)于不同的距離,我們隨后就產(chǎn)生不同的蜂鳴器發(fā)聲頻率和保持時(shí)間。 ![]() 圖10.25 倒車(chē)?yán)走_(dá)接口示意 在本章前面幾節(jié)我們已經(jīng)探討過(guò)超聲波模塊的內(nèi)部工作機(jī)理,這里重新給出距離S和時(shí)鐘周期數(shù)n之間的公式。 S為距離,單位cm,n為以10us做單位的脈沖數(shù),它們的公式為: 25°C時(shí),聲音在空氣中傳播的速度為346m/s。因此取距離s的單位是米(m),時(shí)間t的單位是秒(s),有 s = 346*t/2。 若取距離s的單位是毫米(mm),時(shí)間t的單位是10微秒(10us),有s*0.001 = 346*t*0.00001/2,即s = 1.73*t。 為了便于計(jì)算,取s =((1.73*256)*t)/256 = (443*t)/256 我們的超聲波測(cè)量到的距離和蜂鳴器發(fā)聲頻率、占空比關(guān)系如下表10.1所示。 表10.1 倒車(chē)?yán)走_(dá)蜂鳴器發(fā)聲與距離關(guān)系表
本實(shí)例的系統(tǒng)功能框圖如圖10.26所示。在上一個(gè)實(shí)例的基礎(chǔ)上,我們?cè)黾恿朔澍Q器發(fā)聲驅(qū)動(dòng)控制驅(qū)動(dòng)模塊,該模塊根據(jù)障礙物和超聲波測(cè)距模塊之間的實(shí)測(cè)距離,相應(yīng)的驅(qū)動(dòng)蜂鳴器發(fā)出不同頻率的響聲。 ![]() 圖10.26 倒車(chē)?yán)走_(dá)實(shí)例功能框圖 FPGA工程模塊的層次劃分如圖10.27所示。 ![]() 圖10.27 倒車(chē)?yán)走_(dá)實(shí)例模塊層次 連接好下載線,給CY4開(kāi)發(fā)板供電。 打開(kāi)Quartus II,進(jìn)入Programmer下載界面,將本實(shí)例工程下的cy4.sof文件燒錄到FPGA中在線運(yùn)行。 此時(shí)我們?cè)诔暡y(cè)距模塊前面擺放平整的障礙物,可以看到數(shù)碼管上的數(shù)據(jù)會(huì)發(fā)生變化。這里顯示的數(shù)據(jù),是以mm為單位,實(shí)際換算好的距離信息。大家可以很直觀的獲得當(dāng)前障礙物和超聲波測(cè)距模塊之間的距離。此外,在超聲波測(cè)距模塊和障礙物距離不同的情況下,蜂鳴器會(huì)發(fā)出不同聲調(diào)的聲音,從我們?cè)O(shè)計(jì)角度看,應(yīng)該是符合表10.1的規(guī)律。 |