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