<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 汽車(chē)電子 > 設(shè)計(jì)應(yīng)用 > 基于嵌入式Linux的倒車(chē)影音系統(tǒng)設(shè)計(jì)

          基于嵌入式Linux的倒車(chē)影音系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2010-09-25 來(lái)源:網(wǎng)絡(luò) 收藏

          本設(shè)計(jì)是通過(guò)MiniGui加載jpeg來(lái)實(shí)現(xiàn)LCD實(shí)時(shí)顯示USB攝像頭采集到圖像的。在編譯程序時(shí),加上了jpeg庫(kù)的支持。編程的思路就是不斷地從攝像頭采集圖像并存儲(chǔ)在/tmp/l.jpg中。在圖形用戶(hù)界面支持系統(tǒng)MiniGUI中,通過(guò)loadbitmap函數(shù)來(lái)加載圖像,而圖像加載后不會(huì)自動(dòng)更新,不能根據(jù)1.jpg的改變自動(dòng)變化。因此,在程序中要設(shè)定一個(gè)定時(shí)器,每隔100 ms刷新屏幕,基本上實(shí)現(xiàn)了實(shí)時(shí)更新。
          3.2 超聲波測(cè)距驅(qū)動(dòng)程序的設(shè)計(jì)
          超聲波發(fā)生程序的作用是由PWM定時(shí)計(jì)數(shù)器產(chǎn)生一個(gè)超聲波信號(hào)頻率約40 kHz的方波。采用Timer0,同時(shí)把Timerl打開(kāi)進(jìn)行計(jì)時(shí)。超聲波測(cè)距器主程序利用外部中斷檢測(cè)返回的超聲波信號(hào),一旦發(fā)現(xiàn)立即進(jìn)入中斷程序。進(jìn)入該中斷后立即關(guān)閉Timerl停止計(jì)時(shí),并將測(cè)距成功標(biāo)志字賦值1。各程序流程如圖6~圖8所示。

          12g.JPG


          當(dāng)主程序檢測(cè)到接收成功的標(biāo)志位后,按下式計(jì)算即可得到車(chē)尾與障礙物之間的距離(設(shè)計(jì)時(shí)取20℃時(shí)的聲速C為344 m/s):
          S=(C·T1)/2
          其中,T1為計(jì)數(shù)器Timerl的計(jì)數(shù)值。
          該部分程序可設(shè)計(jì)為下字符設(shè)備驅(qū)動(dòng)程序。要使用系統(tǒng)提供一個(gè)設(shè)備驅(qū)動(dòng)接口函數(shù)struct file_operations的數(shù)據(jù)結(jié)構(gòu),來(lái)實(shí)現(xiàn)超聲波傳感器設(shè)備的打開(kāi)、讀寫(xiě)、釋放和控制。定時(shí)器和外部中斷相關(guān)寄存器的初始化和參數(shù)的設(shè)定都是在open()接口函數(shù)中完成的。在此設(shè)備驅(qū)動(dòng)程序中定義的。file_operations的數(shù)據(jù)結(jié)構(gòu)為:

          12j.JPG

          s3c2440_sonar_open()函數(shù)用于打開(kāi)的設(shè)備。s3c2440_sonar_rcad()和s3c2440_sonar_write()函數(shù)用于讀寫(xiě)設(shè)備。s3c2440_sonar_re-lease()函數(shù)完成中斷的釋放。s3c2440_sonar_ioctl()函數(shù)用于控制設(shè)備中定時(shí)中斷和測(cè)距值,由copy_to_user()函數(shù)和put_user()函數(shù)來(lái)實(shí)現(xiàn)數(shù)據(jù)傳遞,在應(yīng)用程序下打開(kāi)設(shè)備,實(shí)現(xiàn)內(nèi)核態(tài)與用戶(hù)態(tài)之間的數(shù)據(jù)傳遞。模塊初始化函數(shù)s3c2440_sonar_init()實(shí)現(xiàn)設(shè)備的初始化、中斷初始化及處理、設(shè)備注冊(cè)等。static void s3c2440_sonar_exit()用于模塊卸載時(shí)中斷停止、資源的釋放等。
          3.3 語(yǔ)音報(bào)警程序設(shè)計(jì)
          當(dāng)所測(cè)距離值小于閾值時(shí),由S3C2440發(fā)控制命令給XF-S3011,啟動(dòng)語(yǔ)音模塊。組成一個(gè)語(yǔ)音合成命令幀的部分代碼如下:

          12k.JPG

          12l.jpg

          命令合成完畢后,就可以發(fā)送給XF-S3011模塊了。在Linux系統(tǒng)中先打開(kāi)XF-S3011設(shè)備文件,然后將此命令幀寫(xiě)入該文件,最后關(guān)閉設(shè)備文件。

          結(jié)語(yǔ)
          本文采用Linux操作系統(tǒng)和三星公司S3C2440微處理器設(shè)計(jì)的可視與語(yǔ)音報(bào)警為一體的安全倒車(chē)系統(tǒng),具有較高的實(shí)用價(jià)值。在顯示視頻圖像處理的過(guò)程中,能夠通過(guò)超聲波對(duì)車(chē)尾與障礙物之間進(jìn)行測(cè)距,當(dāng)測(cè)距值小于預(yù)設(shè)定的距離時(shí)會(huì)有語(yǔ)音對(duì)駕駛員進(jìn)行報(bào)警提示。經(jīng)實(shí)驗(yàn)驗(yàn)證,該系統(tǒng)運(yùn)行穩(wěn)定,能讓駕駛員準(zhǔn)確地把握車(chē)后路況,提高了倒車(chē)安全性。

          linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();