物联网
一、概述
视觉技术是近几十年来发展的一门新兴技术。机器视觉可以代替人类的视觉从事检验、目标跟踪、机器人导向等方面的工作,特别是在那些需要重复、迅速的从图象中获取精确信息的场合。尽管在目前硬件和软件技术条件下,机器视觉功能还处于初级水平,但其潜在的应用价值引起了世界各国的高度重视,发达国家如美国、日本、德国、法国等都投入了大量的人力物力进行研究,近年来已经在机器视觉的某些方面获得了突破性的进展,机器视觉在车辆安全技术、自动化技术等应用中也越来越显示出其重要价值。本文根据最新的CMOS图像采集芯片设计了一种通用的视觉系统模块,经过编制不同的图像处理、模式识别算法程序本模块可以应用到足球机器人,无人车辆等各种场合。
二、设计原理
这里主要问题在于FPGA内部的双口RAM读写操作共用同一数据总线和地址总线,当同时进行读写操作的时候就会产生时序问题导致写入或读出的数据错误。在这两个过程中为了防止数据和地址总线冲突,在FPGA内部设计了一个中央总线仲裁器。根据公共数据传输的先后顺序,中央仲裁器先接受图像传感器的总线请求,当图像存储到RAM之中后,中央仲裁器才响应单片机系统的读信号请求。
这里给出双口RAM的构造及读写控制程序:
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))
编辑:jq
全部0条评论
快来发表一下你的评论吧 !