關(guān) 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 一種機器人視覺系統(tǒng)模塊的設(shè)計

        一種機器人視覺系統(tǒng)模塊的設(shè)計

        作者: 時間:2008-07-14 來源:newmaker 收藏

          一、概述

        本文引用地址:http://www.104case.com/article/85675.htm

          視覺技術(shù)是近幾十年來發(fā)展的一門新興技術(shù)。可以代替人類的視覺從事檢驗、目標(biāo)跟蹤、導(dǎo)向等方面的工作,特別是在那些需要重復(fù)、迅速的從圖象中獲取精確信息的場合。盡管在目前硬件和軟件技術(shù)條件下,功能還處于初級水平,但其潛在的應(yīng)用價值引起了世界各國的高度重視,發(fā)達(dá)國家如美國、日本、德國、法國等都投入了大量的人力物力進(jìn)行研究,近年來已經(jīng)在的某些方面獲得了突破性的進(jìn)展,機器視覺在車輛安全技術(shù)、自動化技術(shù)等應(yīng)用中也越來越顯示出其重要價值。本文根據(jù)最新的圖像采集芯片設(shè)計了一種通用的視覺系統(tǒng)模塊,經(jīng)過編制不同的圖像處理、模式識別算法程序本模塊可以應(yīng)用到足球,無人車輛等各種場合。

          二、設(shè)計原理

          系統(tǒng)原理框圖如圖1所示。

         

          系統(tǒng)包含5個主要芯片:圖像采集芯片OV7620,高速微處理器SH4,大規(guī)??删幊剃嚵?a class="contentlabel" href="http://www.104case.com/news/listbylabel/label/FPGA">FPGA,和串口通訊控制芯片MAX232。內(nèi)部編程設(shè)立兩個雙口RAM,產(chǎn)生所需的點頻,行場同步等信號,以及控制雙口RAM的存儲時序。SH4負(fù)責(zé)對OV7620通過I2C進(jìn)行配置,讀取雙口RAM的圖像數(shù)據(jù),進(jìn)行處理,并通過串口實現(xiàn)圖像資料的上傳或控制步進(jìn)電機等其他設(shè)備。

          三、圖像采集模塊

          系統(tǒng)模塊以OV7620為核心,還包括一個聚光鏡頭和其他一些輔助元器件比如27MHZ的晶振,電阻電容等。

          COMS是近幾年發(fā)展較快的新型圖像傳感器,由于采用了相同COMS技術(shù),因此可以將像素陣列與外圍支持電路集成在同一塊芯片上,是一個完整的圖像系統(tǒng)(Camera on Chip)。本系統(tǒng)采用的是Ommnvision公司推出的一塊彩色圖像傳感器OV7620,分辨率為640x480。它能工作在逐行掃描方式下,也能工作在隔行掃描方式下。它不僅能輸出彩色圖像,也可用作黑白圖像傳感器。這塊芯片支持的圖像輸出格式有很多種:1)YCrCb4:2:2 16 bit/8 bit格式;2)ZV端口輸出格式;3)RGB原始數(shù)據(jù)16 bit/8 bit;4)CCIR601/CCIR656格式。其功能包括有對比度、亮度、飽和度、白平衡及自動曝光、同步信號位置及極性輸出,幀速率和輸出格式等都可以通過I2C 總線進(jìn)行編程配置片內(nèi)寄存器控制。

          聚光鏡頭選用桑來斯公司生產(chǎn)的DSL103鏡頭。此鏡頭體積小,適合嵌入式視覺傳感器的應(yīng)用場合。

          四、接口模塊

          FPGA采用Xilinx公司的xc2s100,這款芯片內(nèi)部集成了10000個邏輯門。接口程序采用VHDL(Very High Speed Integrated Circuit Hardware Description Language)書寫。為了提高數(shù)據(jù)的傳輸速率,在xc2s100 內(nèi)部分配了2個雙口RAM緩沖區(qū),其大小為127KB,每個雙口RAM存儲1行的圖像數(shù)據(jù)。兩組雙口RAM進(jìn)行奇偶行計數(shù)器進(jìn)行切換。當(dāng)一行存儲完畢后,立即向SH4傳生一個讀取該行數(shù)據(jù)的中斷的申請信號。FPGA內(nèi)部結(jié)構(gòu)如圖2所示。

         

          這里主要問題在于FPGA內(nèi)部的雙口RAM讀寫操作共用同一數(shù)據(jù)總線和地址總線,當(dāng)同時進(jìn)行讀寫操作的時候就會產(chǎn)生時序問題導(dǎo)致寫入或讀出的數(shù)據(jù)錯誤。在這兩個過程中為了防止數(shù)據(jù)和地址總線沖突,在FPGA內(nèi)部設(shè)計了一個中央總線仲裁器。根據(jù)公共數(shù)據(jù)傳輸?shù)南群箜樞?,中央仲裁器先接受圖像傳感器的總線請求,當(dāng)圖像存儲到RAM之中后,中央仲裁器才響應(yīng)單片機系統(tǒng)的讀信號請求。

          這里給出雙口RAM的構(gòu)造及讀寫控制程序:

          Entity dual_port_ram is
          Generic(d_width:integer:=2;
          Mem_depth:integer:=8);
          Port(clk:in STD_LOGIC;
          CS:in STD_LOGIC;
          We: in STD_LOGIC;
          Indata: in STD_LOGIC_VECTOR(7 downto 0);
          Outdata:out STD_LOGIC_VECTOR(7 downto 0);
          Raddr,waddr:in STD_LOGIC_VECTOR(1 downto 0));
          End dual_port_ram ;
          Architecture data of dual_port_ram is
          Type mem_type is array(3 downto 0) of
          STD_LOGIC_VECTOR(7 downto 0);
          Signal mem:mem_type;
          Begin
          Process(clk,we,waddr)
          Begin

          If(rising_edge(clk))then
          If(we='1')then
          Mem(conv_integer(waddr))<=indata;
          End if;
          End process;
          Process(raddr,clk)
          Begin
          If(rising_edge(clk))then
          If(CS='0')then
          Outdata<=mem(conv_integer(raddr));
          End if;
          End if;
          End process;
          End data;

          在MAX Plux II中的波形仿真圖如圖3所示:

         


        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 礼泉县| 延寿县| 朝阳市| 科技| 廉江市| 西城区| 四平市| 五原县| 湘阴县| 三明市| 鄂托克前旗| 尤溪县| 客服| 红安县| 依兰县| 睢宁县| 积石山| 信宜市| 苏尼特右旗| 车险| 兴化市| 洛隆县| 文登市| 正定县| 梅河口市| 平远县| 雷山县| 洪洞县| 临邑县| 宝丰县| 卫辉市| 荆州市| 郧西县| 雷州市| 威远县| 库尔勒市| 阿克陶县| 张掖市| 育儿| 宾川县| 吉安县|