<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM-Linux的自主避障機器魚(yú)設計

基于A(yíng)RM-Linux的自主避障機器魚(yú)設計

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


LCD部分接口介紹。VFRAME/VSYNC/STV接口:傳送LCD控制器和LCD驅動(dòng)器之間的幀同步信號。
VLINE/HSYNC/CPV接口:傳送LCD控制器和LCD驅動(dòng)器之間的同步脈沖信號。
VCLK/LCD_HCLK接口:傳送LCD控制器和LCD驅動(dòng)器之間的像素時(shí)鐘信號。
VM/VDEN/TP接口:傳送LCD驅動(dòng)器使用的交流信號。
VD [23:0]接口:LCD的像素數據輸出端即RGB信號線(xiàn)。

2 系統軟件設計

2.1 主程序流程

ARM芯片通過(guò)AD管腳對紅外傳感器的發(fā)射模塊傳送命令。發(fā)射模塊發(fā)射紅外線(xiàn),接收模塊接收遇到障礙物反射回來(lái)的紅外線(xiàn),根據返回光強產(chǎn)生相應的模擬電壓,經(jīng)過(guò)A/D轉換器后變成十位的二進(jìn)制數據量,通過(guò)一定算法計算出到障礙物的距離。ARM芯片判斷計算出的距離與預設值的邏輯關(guān)系,根據結果判斷是否進(jìn)行避障。攝像頭采集圖片后,將圖片緩存于SDRAM中,LCD讀取數據并將圖像顯示出來(lái)。主程序流程如圖6所示。


2.2 紅外模塊

在A(yíng)RM的A/D進(jìn)行轉換時(shí),首先要對ADC控制寄存器進(jìn)行初始化,選擇進(jìn)行轉換的模擬輸入端,進(jìn)行A/D轉換,并從ADCDAT0讀取轉換結果。探測的結果小于預設值時(shí)ARM芯片執行中斷,改變PWM波的占空比使轉向進(jìn)行避障,反之繼續前進(jìn)。紅外模塊流程如圖7所示。

2.3 攝像頭模塊

攝像頭屬于字符類(lèi)設備,所以能夠像字節流一樣被程序訪(fǎng)問(wèn),而且只能夠按順序讀寫(xiě)。Linux內核程序通過(guò)設備的位號來(lái)尋找攝像頭。Linux內核發(fā)送測試信號到地址0X9650,以檢測攝像頭是否存在。OV9650擁有多組寄存器,圖像的輸出編碼方式和分辨率等參數取決于OV9650的寄存器。IIC (Inter Integration Circuit)是指內部整合電路,是常用的標準串行接口。系統是通過(guò)IIC總線(xiàn)對寄存器進(jìn)行整體配置,所以此過(guò)程不會(huì )占用系統數據總線(xiàn)??紤]到圖像傳輸的效率,所以攝像頭與ARM芯片之間的Data[0]~Data[7]的通道僅用以傳輸圖像數據。以下為攝像頭的部分初始化代碼。

SrcWidth=640-WinHorOffset*2;//CAM_SRC_HSIZE為640,CAM_SRC_VSIZE為480
SrcHeight=480-WinVerOffset*2;//計算得SrcWidth=440,SrcHeight=280
rCIWDOFST=0;//窗口垂直偏移為0
rCIWDOFST=(WinOfsEn31) | (WinHorOffset16) | (WinVerOffset);//水平偏移為100,垂直偏移為100
rCISRCFMT=(131) | (030) | (029) |(64016) | (014) | (480);//30位設置為1后,圖像顏色失真,偏彩色
Calculate Prescaler RatioShift (SreWidth,PrDstWidth,PreHorRatio,H_Shin);//計算并設置突發(fā)長(cháng)度
Calculate Prescaler RatioShift (SrcHeight,PrDstHeight,PreVerRatio,V_Shift);//計算水平和垂直縮放比率和位移量、水平和垂直比率

攝像頭模塊流程如圖8所示。


3 結束語(yǔ)

本文介紹了上的應用以及畫(huà)面的實(shí)時(shí)顯示。通過(guò)紅外傳感器使具有了自主避障的功能。實(shí)驗表明基于A(yíng)RM芯片和LINUX嵌入式系統平臺開(kāi)發(fā)的自主避障功能的機器魚(yú)具有較高的實(shí)時(shí)避障功能,表明該機器魚(yú)具有靈敏度較高的自主避障功能。此設計提高了機器魚(yú)智能度,可作為后續自主視覺(jué)機器魚(yú)開(kāi)發(fā)的基礎。相信隨著(zhù)高智能的機器魚(yú)的研究與設計會(huì )給人類(lèi)探索、開(kāi)發(fā)海洋提供更多的幫助與便利。

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

linux相關(guān)文章:linux教程


聲控燈相關(guān)文章:聲控燈原理
攝像頭相關(guān)文章:攝像頭原理

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

關(guān)鍵詞: 紅外探測器 機器魚(yú) linux

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>