基于FPGA的机器人视觉系统模块的设计 关键字: 机器人 视觉系统 集成电路 FPGA 一、概述 视觉技术是近几十年来发展的一门新兴技术。机器视觉可以代替人类的视觉从事检验、目标跟踪、机器人导向等方面的工作,特别是在那些需要重复、迅速的从图象中获取精确信息的场合。尽管在目前硬件和软件技术条件下,机器视觉功能还处于初级水平,但其潜在的应用价值引起了世界各国的高度重视,发达国家如美国、日本、德国、法国等都投入了大量的人力物力进行研究,近年来已经在机器视觉的某些方面获得了突破性的进展,机器视觉在车辆安全技术、自动化技术等应用中也越来越显示出其重要价值。本文根据最新的CMOS图像采集芯片设计了一种通用的视觉系统模块,经过编制不同的图像处理、模式识别算法程序本模块可以应用到足球机器人,无人车辆等各种场合。
标签: FPGA的机器人视觉系统
上传时间: 2015-04-25
上传用户:justgo123
摘要:本文在无线信道的理论基础上,分析了Suzuki信道模型的结构原理,介绍了利用正弦波叠加法构成高斯序列,从而建立Suzuki信道数学模型的方法,并通过Matlab软件对其进行了仿真。仿真结果验证了Suzuki模型同时符合大尺度衰落和小尺度衰落的特点,且可以验证Suzuki信道模型能够仿真平坦衰落信道
上传时间: 2016-05-15
上传用户:嘻嘻嘻嘻
卷积码是广泛应用于卫星通信、无线通信等多种通信系统的信道编码方式。Viterbi算法是卷积码的最大似然译码算法,该算法译码性能好、速度快,并且硬件实现结构比较简单,是最佳的卷积码译码算法。随着可编程逻辑技术的不断发展,使用FPGA实现Viterbi译码器的设计方法逐渐成为主流。不同通信系统所选用的卷积码不同,因此设计可重配置的Viterbi译码器,使其能够满足多种通信系统的应用需求,具有很重要的现实意义。 本文设计了基于FPGA的高速Viterbi译码器。在对Viterbi译码算法深入研究的基础上,重点研究了Viterbi译码器核心组成模块的电路实现算法。本设计中分支度量计算模块采用只计算可能的分支度量值的方法,节省了资源;加比选模块使用全并行结构保证处理速度;幸存路径管理模块使用3指针偶算法的流水线结构,大大提高了译码速度。在Xilinx ISE8.2i环境下,用VHDL硬件描述语言编写程序,实现(2,1,7)卷积码的Viterbi译码器。在(2,1,7)卷积码译码器基础上,扩展了Viterbi译码器的通用性,使其能够对不同的卷积码译码。译码器根据不同的工作模式,可以对(2,1,7)、(2,1,9)、(3,1,7)和(3,1,9)四种广泛运用的卷积码译码,并且可以修改译码深度等改变译码器性能的参数。 本文用Simulink搭建编译码系统的通信链路,生成测试Viterbi译码器所需的软判决输入。使用ModelSim SE6.0对各种模式的译码器进行全面仿真验证,Xilinx ISE8.2i时序分析报告表明译码器布局布线后最高译码速度可达200MHz。在FPGA和DSP组成的硬件平台上进一步测试译码器,译码器运行稳定可靠。最后,使用Simulink产生的数据对本文设计的Viterbi译码器的译码性能进行了分析,仿真结果表明,在同等条件下,本文设计的Viterbi译码器与Simulink中的Viterbi译码器模块的译码性能相当。
上传时间: 2013-06-24
上传用户:myworkpost
目前,数字信号处理广泛应用于通信、雷达、声纳、语音与图像处理等领域,信号处理算法理论己趋于成熟,但其具体硬件实现方法却值得探讨。FPGA是近年来广泛应用的超大规模、超高速的可编程逻辑器件,由于其具有高集成度、高速、可编程等优点,大大推动了数字系统设计的单片化、自动化,缩短了单片数字系统的设计周期、提高了设计的灵活性和可靠性,在超高速信号处理和实时测控方面有非常广泛的应用。本文对FPGA的数据采集与处理技术进行研究,基于FPGA在数据采样控制和信号处理方面的高性能和单片系统发展的新热点,把FPGA作为整个数据采集与处理系统的控制核心。主要研究内容如下: FPGA的单片系统研究。针对数据采集与处理,对FPGA进行选型,设计了基于FPGA的单片系统的结构。把整个控制系统分为三个部分:多通道采样控制模块,数据处理模块,存储控制模块。 多通道采样控制模块的设计。利用4片AD7506和一片AD7862对64路模拟量进行周期采样,分别设计了通道选择控制模块和A/D转换控制模块,并进行了仿真,完成了基于FPGA的多通道采样控制。 数据处理模块的设计。FFT算法在数字信号处理中占有重要的地位,因此本文研究了FFT的硬件实现结构,提出了用FPGA实现FFT的一种设计思想,给出了总体实现框图。分别设计了旋转因子复数乘法器,碟形运算单元,存储器,控制器,并分别进行了仿真。重点设计实现了FFT算法中的蝶形处理单元,采用了一种高效乘法器算法设计实现了蝶形处理单元中的旋转因子乘法器,从而提高了蝶形处理器的运算速度,降低了运算复杂度。理论分析和仿真结果表明,状态机控制器成功地对各个模块进行了有序、协调的控制。 存储控制模块的设计。利用闪存芯片K9K1G08UOA对采集处理后的数据进行存储,设计了FPGA与闪存的硬件连接,设计了存储控制模块。 本文对FFT算法的硬件实现进行了研究,结合单片系统的特点,把整个系统分为多通道采样控制模块,数据处理模块,存储控制模块进行设计和仿真。设计采用VHDL编写程序的源代码。仿真测试结果表明,此FPGA单片系统可完成对实时信号的高速采集与处理。
上传时间: 2013-04-24
上传用户:362279997
H.264/AVC是由国际电信联合会的视频专家组和国际标准化组织的运动图像专家组组成的联合视频小组制定的下一代视频压缩标准。新标准采用了一些先进算法,因此具有优异的压缩性能和极好的网络亲和性,满足低码率情况下的高质量视频的传输。 H.264/AVC采用的先进算法包括多模式帧间预测、1/4像素精度预测、整数变换量化、去方块滤波和熵编码。本论文着重对整数变换与量化、去方块滤波做了研究。整数变换是一种只有加法和移位的运算,量化可以通过查表和乘法操作就可以完成,避免了反变换的时候失配问题,没有精度损失;去方块滤波是一种用来去除低码率情况下的每个宏块的块效应,提高了解码图像的外观。 本文主要从算法研究和硬件实现两方面着手,在算法研究方面设计了一个可视化测试软件,在硬件实现方面主要对整数变换、量化和去方块滤波做了研究和实现。视频压缩技术的关键在于视频压缩算法及其芯片的实现,FPGA可重复使用,设计修改灵活,片内资源丰富,具备DSP模块等优势。在本论文的目标实现部分模块FPGA的硬件设计,用Verilog完成了关键部分的设计。首先简要介绍了视频压缩基本原理,常用视频压缩标准及其特性以及国内外的研究动态,并对H.264标准基本档次所涉及的核心技术进行了详细介绍,两种分层结构分别讨论。其次在掌握了H.264.算法及编解码流程的基础上,设计了基于H.264编解码的可视化软件平台。然后详细介绍了整数变换、量化、反变换和反量化核心模块的设计和实现,并在Altera的软件和开发板上进行了仿真验证;对去方块滤波算法做了软件研究测试,并给出了一种改进的硬件整体结构设计。最后,对全文工作进行了总结和对未来研究工作做了展望。我在课题中所做的主要工作有: 1.查阅相关文献,熟悉H.264.标准及整数变换、量化和去方块滤波等算法。 2.用VC++完成了基于H.264编解码的可视化软件平台设计。 3.用Verilog完成了整数变换量化、反变换反量化模块FPGA设计与验证。 4.去方块滤波器的算法研究、仿真和硬件整体结构设计。
上传时间: 2013-04-24
上传用户:lanjisu111
随着国际互联网络的迅猛发展,网络应用的不断丰富,Intenret已经从最初以学术交流为目的而演变为商业行为,网络安全性需求日益增加,高速网络安全保密成为关注的焦点,在安全得到保障的情况下,为了满足网速无限制的追求,高速网络硬件加密设备也必将成为需求热点。另一方面,IPSec协议被广泛的应用于防火墙和安全网关中,但对IPSec协议的处理会大大增加网关的负载,成为千兆网实现的瓶颈。本文便是针对上述现状,研究基于高性能FPGA实现千兆IPSec协议的设计技术。 目前,国外IPSec协议实现已经芯片化,达到几千兆的速率,但是国内产品多以软件实现,速度难以提高。本文采用的基于FPGA的IPSec技术方案,采用硬件实现隧道模式下的IPSec协议,为IP分组及其上层协议数据提供机密性、数据完整性验证以及数据源验证等安全服务。在以VPN为实施方案的基础上,构建了以KDIPSec为设备原型以IPSec协议为出发点的千兆网络系统环境模型,从硬件体系结构到各个模块的划分以及各个模块实现的功能这几个方面描述了KDIPSec实现技术,最后描述了一些关键模块的FPGA设计和和仿真。所有处理模块均在Xilinx公司的FPGA芯片中实现,处理速率超过1Gb/s。
上传时间: 2013-07-03
上传用户:wfl_yy
本文提出了一种适合于嵌入式SoC的USB器件端处理器的硬件实现结构。并主要研究了USB器件端处理器的RTL级实现及FPGA原型验证、和ASIC实现研究,包括从模型建立、算法仿真、各个模块的RTL级设计及仿真、FPGA的下载测试和ASIC的综合分析。它的速度满足预定的48MHz,等效门面积不超过1万门,完全可应用于SOC设计中。 本文重点对嵌入式USB器件端处理器的FPGA实现作了研究。为了准确测试本处理器的运行情况,本文应用串口传递测试数据入FPGA开发板,测试模块读入测试数据,发送入PC机的主机端。通过NI-VISA充当软件端,检验测试数据的正确。
上传时间: 2013-07-24
上传用户:1079836864
随着电子技术的不断发展,各种智能核仪器逐步走向自动化、智能化、数字化和便携式的方向发展。针对传统的多道脉冲幅度分析器体积大,人机交互不友好,不方便现场分析等的缺陷[5]。新型的高速、集成度高、界面友好的多道脉冲幅度分析器的陆续出现填补了这一缺点。 随着电子技术的发展,以ARM为核的处理器技术的应用领域不断扩大,相比较单片机而言,它的主频高、运算速度快,可以满足多道脉冲幅度分析器的苛刻的时间上的要求。而且ARM处理器功耗小,适合于功耗要求比较苛刻的地方,这些方面的特点正好满足了便携式多道脉冲幅度分析器野外勘察的要求。同时,由于以ARM为核的处理器具有丰富的外设资源,这样就简化了外设电路及芯片的使用,降低了功耗并增强了产品的信赖性。另外,ARM芯片可以方便的移植操作系统,为多道脉冲幅度分析器多任务的管理和并行的处理,甚至硬实时功能的实现提供了前提。而且在ARM平台使用嵌入式linux操作系统使多道脉冲幅度分析器的软件易于升级。 智能化和小型化是多道脉冲幅度分析器的发展趋势。智能化要求系统的自动化程度高、操作简便、容错性好。智能化除了需要控制软件外,还需要软件命令的执行者即硬件控制电路来实现相应的控制逻辑,两者的结合才能真正的实现智能化。小型化要求系统的体积小、功耗小、便于携带;小型化除了要求采用微功耗的器件,还要求电路板的尺寸尽量的小且所用元件尽量的少,但小型化的同时必须保持系统的智能化,即不能减少智能化所要求的复杂的逻辑和时序的控制功能。为此采用高集成度的ARM芯片实现控制电路能满意地同时满足智能化和小型化的要求。在研制的多道脉冲幅度分析器中,几乎所有的控制都可以用控制芯片来实现,如阈值设定、自动稳谱以及多道数据采集,在节省了元件的数目和电路板的尺寸的同时仍能保持系统的智能化程度。 Linux内核精简而高效,可修改性强,支持多种体系结构的处理器等,使得它是一个非常适合于嵌入式开发和应用的操作系统。嵌入式Linux可以运行的硬件平台十分广泛,从x86、MIPS、POWERPC到ARM,以及其他许多硬件体系结构。目前在世界范围内,ARM体系结构的SOC逐渐占领32位嵌入式微处理器市场,ARM处理器及技术的应用几乎已经深入到各个领域,例如:工业控制,无线通讯,网络,消费类电子,成像等。 本课题采用三星公司生产的ARM(Advanced RISC Machines,先进精简指令集机器)芯片S3C2410A设计并研制了一种便携式的核数据采集系统设计方案。利用ARM芯片丰富的外设资源对传统的多道脉冲幅度分析器进行改进和简化。系统由前端探测器系统,以及由线性脉冲放大器、甄别电路、控制电路、采样保持电路组成的前置电路,中央处理器模块,显示模块,用户交互模块,存储模块,网络传输模块等多个模块组成。本设计基于ARM9芯片S3C2410,并在此平台上移植了嵌入式linux操作系统来进行任务的调度和处理等。 电路板核心板部分设计采用6层PCB板结构,这样增加了系统可靠性,提高了电磁兼容的稳定性。数据采集系统是多道脉冲幅度分析器的核心,A/D转换直接使用了S3C2410内置的ADC(Analog to Digital Converter,模数转换器),在2.5 MHz的转换时钟下最大转换速度500 KSPS(Kilo-Samples per second,千采样点每秒),满足了系统最低转换时间≤5 μs的要求,并且控制简单,简化了外部接口电路。由于SD(Secure Digital Card,安全数码卡)卡存储容量大、携带方便、成本低等优点,所以设计中采用其作为外部的数据存储设备,其驱动部分采用SD卡软件包,为开发带来了方便。本设计采用640*480的6.4寸LCD(Liquid Crystal Display,液晶显示)屏作为人机交互的显示部分,并且通过Qt/Embedded为系统提供图形用户界面的应用框架和窗口系统。其中包括了波形显示部分和用户菜单设置部分,这样方便了用户操作。系统的数据存取方面是基于SQLite嵌入式小型数据库而进行的。为了方便数据向上位机的传输,系统设计中采用XML(Extensible Markup Language,可扩展标记语言)格式来组织传输的数据,通过基于TCP/IP(Transmission Control Protocol/Internet Protocol)协议的Linux下Socket套接字编程,来进行与上位机或PC(Personal Computer,个人计算机或桌面机)等的连接和数据传输。
上传时间: 2013-04-24
上传用户:tzl1975
随着现代计算机技术和互联网技术的飞速发展,嵌入式系统成为了当前信息行业最热门的焦点之一。ARM以其高性能低功耗的特点成为目前主流的32位嵌入式处理器而在数码产品中广泛使用,随着数码相机的普及,数码相框产品得到推广,数码相框通过一个液晶的屏幕显示数码照片而非纸质照片,数码相框比普通相框更灵活多变,也给现在日益使用的数码相片一个新的展示空间。在嵌入式操作系统方面,uC/OS—Ⅱ凭借其小内核、多任务、丰富的系统服务、容易使用以及源码公开等特点被嵌入式系统开发者广泛用在各种嵌入式设备开发中。uC/FS嵌入式文件系统由于稳定性,可移植性以及与uC/OS—Ⅱ内核的相兼容被广泛用在基于uC/OS—Ⅱ的嵌入式系统开发中。NAND Flash存储器由于其大容量数据存储、高速存取速度、易于擦除和重写、功耗小等特点被广泛应用于便携式电子设备的数据存储、嵌入式系统的程序存储载体中。 本论文的硬件工作平台是艾科公司研发的数码相框芯片方案ARK1600,该平台集成了嵌入式系统设计所需的相关硬件模块。本论文的主要设计目标是在该平台上实现NAND Flash存储设备驱动的系统级方案,即在ARK1600平台上通过构建uC/OS—Ⅱ操作系统以及uC/FS文件系统来实现NAND Flash设备驱动挂接。本论文是在Windows环境下通过ARM ADS实现代码的编译,通过Multi—ICE进行前期调试以及USB—Debug进行后期的系统整合调试。 本论文的主要研究工作具体涉及以下三个的方面:首先研究了ARM相关构架以及uC/OS—Ⅱ操作系统的特点,并在此基础上移植uC/OS—Ⅱ操作系统到ARK1600平台,分析ARK1600硬件体系结构的基础上详细分析了BootLoader的相关概念,并重点阐述了NAND BootLoader程序设计与实现过程;其次在文件系统方面,本论文成功移植uC/FS嵌入式文件系统到ARK1600平台,在移植的过程中采用了动态文件缓冲区算法提高了该文件系统的数据传输效率;最后重点讨论了NAND Flash驱动在ARK1600的实现,主要分析了NAND Flash的数据存储结构,并从物理层,逻辑层和文件系统接口层三个方面具体分析了NAND Flash驱动程序的实现,并在NAND Flash逻辑层驱动实现时通过采用坏块处理表算法实现了NAND的磨损均衡问题。
上传时间: 2013-07-31
上传用户:xcy122677
随着现代计算机技术和互联网技术的飞速发展,嵌入式系统成为了当前信息行业最热门的焦点之一。而ARM以其高性能低功耗的特点成为目前应用最广泛的32位嵌入式处理器。在嵌入式操作系统方面,Linux凭借其性能优异、结构清晰、平台支持广泛、网络支持强劲及开放源代码等多方面的优势,被嵌入式系统开发者广泛地采用。Linux 2.6包含许多新的特性,为其在嵌入式领域的应用提供了强有力的支持,新的内核越来越多地应用于嵌入式Linux系统中。 本文的工作基于艾科公司研发的硬件平台Ark1600开展。该平台上集成了多个功能模块,例如LCD、12S、GPIO、12C等,同时支持XD、CF、MMC、SD等多种硬件存储设备,在设备通信方面提供了USB、串行通信等传输方式。本文的主要工作是研究Linux在ARM芯片上的移植,并在此基础上阐述Linux设备驱动的开发。 首先构建了交叉编译环境,然后在分析Ark1600硬件体系结构的基础上详细阐述了BootLoader程序设计与实现、Linux2.6内核移植、Ramdisk文件系统移植的全过程,为后续项目的实施搭建了一个良好的开发平台。论文最后阐述了Linux 2.6内核中开发块设备驱动程序的实现方法,并以XD块设备驱动程序为例,详细阐述了Linux驱动程序的开发流程。 主要工作量在于BootLoader程序的设计与实现、Linux系统移植和XD块设备驱动程序的开发。因为项目平台独特的硬件环境,一些程序代码要严格依赖硬件设备设计。在Linux移植中的主要工作包括串口控制台的驱动、设置系统的存储布局、初始化系统定时器、初始化系统中断、在Linux系统中建立标识本硬件平台的结构体变量、配置并编译Linux内核等。
上传时间: 2013-05-18
上传用户:wzr0701