(免费)基于FPGA的机器人视觉系统模块的设计_第1页
(免费)基于FPGA的机器人视觉系统模块的设计_第2页
(免费)基于FPGA的机器人视觉系统模块的设计_第3页
(免费)基于FPGA的机器人视觉系统模块的设计_第4页
(免费)基于FPGA的机器人视觉系统模块的设计_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于FPGA的机器人视觉系统模块的设计关键字: 机器人 视觉系统 集成电路 FPGA 一、概述视觉技术是近几十年来发展的一门新兴技术。机器视觉可以代替人类的视觉从事检验、目标跟踪、机器人导向等方面的工作,特别是在那些需要重复、迅速的从图象中获取精确信息的场合。尽管在目前硬件和软件技术条件下,机器视觉功能还处于初级水平,但其潜在的应用价值引起了世界各国的高度重视,发达国家如美国、日本、德国、法国等都投入了大量的人力物力进行研究,近年来已经在机器视觉的某些方面获得了突破性的进展,机器视觉在车辆安全技术、自动化技术等应用中也越来越显示出其重要价值。本文根据最新的CMOS图像采集芯片设计了一种通用的视

2、觉系统模块,经过编制不同的图像处理、模式识别算法程序本模块可以应用到足球机器人,无人车辆等各种场合。二、设计原理系统原理框图如图1所示。系统包含5个主要芯片:图像采集芯片OV7620,高速微处理器SH4,大规模可编程阵列FPGA,和串口通讯控制芯片MAX232。FPGA内部编程设立两个双口RAM,产生图像传感器所需的点频,行场同步等信号,以及控制双口RAM的存储时序。SH4负责对OV7620通过I2C进行配置,读取双口RAM的图像数据,进行处理,并通过串口实现图像资料的上传或控制步进电机等其他设备。三、图像采集模块系统模块以CMOS图像传感器OV7620为核心,还包括一个聚光镜头和其他一些辅助

3、元器件比如27MHZ的晶振,电阻电容等。COMS图像传感器是近几年发展较快的新型图像传感器,由于采用了相同COMS技术,因此可以将像素阵列与外围支持电路集成在同一块芯片上,是一个完整的图像系统(Camera on Chip)。本系统采用的是Ommnvision公司推出的一块CMOS彩色图像传感器OV7620,分辨率为640x480。它能工作在逐行扫描方式下,也能工作在隔行扫描方式下。它不仅能输出彩色图像,也可用作黑白图像传感器。这块芯片支持的图像输出格式有很多种:1)YCrCb4:2:2 16 bit/8 bit格式;2)ZV端口输出格式;3)RGB原始数据16 bit/8 bit;4)CCI

4、R601/CCIR656格式。其功能包括有对比度、亮度、饱和度、白平衡及自动曝光、同步信号位置及极性输出,帧速率和输出格式等都可以通过I2C 总线进行编程配置片内寄存器控制。聚光镜头选用桑来斯公司生产的DSL103镜头。此镜头体积小,适合嵌入式视觉传感器的应用场合。四、FPGA接口模块FPGA采用Xilinx公司的xc2s100,这款芯片内部集成了10000个逻辑门。接口程序采用VHDL(Very High Speed Integrated Circuit Hardware Description Language)书写。为了提高数据的传输速率,在xc2s100 内部分配了2个双口RAM缓冲区

5、,其大小为127KB,每个双口RAM存储1行的图像数据。两组双口RAM进行奇偶行计数器进行切换。当一行存储完毕后,立即向SH4传生一个读取该行数据的中断的申请信号。FPGA内部结构如图2所示。这里主要问题在于FPGA内部的双口RAM读写操作共用同一数据总线和地址总线,当同时进行读写操作的时候就会产生时序问题导致写入或读出的数据错误。在这两个过程中为了防止数据和地址总线冲突,在FPGA内部设计了一个中央总线仲裁器。根据公共数据传输的先后顺序,中央仲裁器先接受图像传感器的总线请求,当图像存储到RAM之中后,中央仲裁器才响应单片机系统的读信号请求。这里给出双口RAM的构造及读写控制程序:Entity

6、 dual_port_ram isGeneric(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

7、isType mem_type is array(3 downto 0) ofSTD_LOGIC_VECTOR(7 downto 0);Signal mem:mem_type;BeginProcess(clk,we,waddr)BeginIf(rising_edge(clk)thenIf(we='1')thenMem(conv_integer(waddr)<=indata;End if;End process;Process(raddr,clk)BeginIf(rising_edge(clk)thenIf(CS='0')thenOutdata<=me

8、m(conv_integer(raddr);End if;End if;End process;End data;在MAX Plux II中的波形仿真图如图3所示:五、单片机模块本系统采用SH4芯片作为处理器:SH4单片机是日立公司推出的一款低功耗、高性能,RISC(精简指令集计算机)结构的全32位单片机。其处理速度可高达60M IPS一100MIPS,能在2.25v电压下工作,功耗仅400MW片内集成有32位乘法器、4路5KB CACHE、存取器管理单元MMU和其它一些通用接口及时钟电路等。日立公司为SH4系列单片机提供了c及c+语言集成编译工具HIM(Hitachi Integration

9、Manag)。利用它可以将日立C、C+格式的源程序编译链接为汇编程序或目标机器码.图像传感器芯片OV7620具有灵活的可编程功能,可通过I2C总线对其进行编程来设置各功能寄存器。由于单片机没有内部硬件I2C总线接口,所以只有采用软件模拟的方法实现I2C总线接口功能。取作为SH4的两个I/O引脚作为I2C总线的SCL和SDA总线器件接口,示例程序如下:unsigned char rdiic (unsigned char addr);读取数据void iic_init();初始化void iic_start();起始信号void iic_stop ();结束信号void delay4u();延时举

10、例iic_init();/*初始化总线寄存器*/rstcamera ();/*复位OV7620内部寄存器*/wriic (0x11,0x15); /*设置OV7620内部寄存器0x11 的值为0x15*/delay4ux6();wriic (0x28,0x60); /*设置OV7620内部寄存器0x28 的值为0x60 */delay4ux6();本模块采用了人类可以识别的ASCII串口通讯协议从而可以通过上位机方便的和人进行交互通信。当连接到一台计算机上,本模块可通过串口上传整幅原始图像数据,用来进行系统调试或更高级得图像处理。六、结束语本文采用大规模集成电路芯片组成了一个简洁,低价的图像采集处理系统。本系统经过编制不同的图像处理算法程序可以应用在足球机器人,农产品检查机器人等不同场合。但其也有些不足,比如SH4处理器,运算速度不够快,只能运行一些相对简单的算法,不支持以太网接口等。下一步工作计划采用双CPU结构,其中DSP专职处理图像数据,ARM负责网络通信,以及对机器人行为的控制等。这样就可将机器人的“眼睛”通过以太网连接成一个复杂的协同处理的视觉系统,以适应更为复杂的场景的需要。参考文献1、O

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论