近年来,大容量数据存储设备主要是机械硬盘,机械硬盘采用机械马达和磁片作为载体,存在抗震性能低、高功耗和速度提升难度大等缺点。固态硬盘是以半导体作为存储介质及控制载体,无机械装置,具有抗震、宽温、无噪、可靠和节能等特点,是目前存储领域所存在问题的解决方案之一。本文针对这一问题,设计基于FPGA的固态硬盘控制器,实现数据的固态存储。 文章首先介绍硬盘技术的发展,分析固态硬盘的技术现状和发展趋势,阐述课题研究意义,并概述了本文研究的主要内容及所做的工作。然后从分析固态硬盘控制器的关键技术入手,研究了SATA接口协议和NANDFLASH芯片特性。整体设计采用SOPC架构,所有功能由单片FPGA完成。移植MicroBlaze嵌入式处理器软核作为主控制器,利用Verilog HDL语言描述IP核形式设计SATA控制器核和NAND FLASH控制器核。SATA控制器核作为高速串行传输接口,实现SATA1.0协议,根据协议划分四层模型,通过状态机和逻辑电路实现协议功能。NAND FLASH控制器核管理NANDFLASH芯片阵列,将NAND FLASH接口转换成通用的SRAM接口,提高访问效率。控制器完成NAND FLASH存储管理和纠错算法,实现数据的存储和读取。最后完成固态硬盘控制器的模块测试和整体测试,介绍了测试方法、测试工具和测试流程,给出测试数据和结果分析,得出了验证结论。 本文设计的固态硬盘控制器,具有结构简单和稳定性高的特点,易于升级和二次开发,是实现固态硬盘和固态存储系统的关键技术。
上传时间: 2013-05-28
上传用户:sssnaxie
FPGA作为新一代集成电路的出现,引起了数字电路设计的巨大变革。随着FPGA工艺的不断更新与改善,越来越多的用户与设计公司开始使用FPGA进行系统开发,因此,PFAG的市场需求也越来越高,从而使得FPGA的集成电路板的工艺发展也越来越先进,在如此良性循环下,不久的将来,FPGA可以主领集成电路设计领域。正是由于FPGA有着如此巨大的发展前景与市场吸引力,因此,本文采用FPGA作为电路设计的首选。 @@ 随着FPGA的开发技术日趋简单化、软件化,从面向硬件语言的VHDL、VerilogHDL设计语言,到现在面向对象的System Verilog、SystemC设计语言,硬件设计语言开始向高级语言发展。作为一个软件设计人员,会很容易接受面向对象的语言。现在软件的设计中,算法处理的瓶颈就是速度的问题,如果采用专用的硬件电路,可以解决这个问题,本文在第一章第二节详细介绍了软硬结合的开发优势。另外,在第一章中还介绍了知识产权核心(IP Core)的发展与前景,特别是IP Core中软核的设计与开发,许多FGPA的开发公司开始争夺软核的开发市场。 @@ 数字电路设计中最长遇到的就是通信的问题,而每一种通信方式都有自己的协议规范。在CPU的设计中,由于需要高速的处理速度,因此其内部都是用并行总线进行通信,但是由于集成电路资源的问题,不可能所有的外部设备都要用并行总线进行通信,因此其外部通信就需要进行串行传输。又因为需要连接的外部设备的不同,因此就需要使用不同的串行通信接口。本文主要介绍了小型CPU中常用的三种通信协议,那就是SPI、I2C、UART。除了分别论述了各自的通信原理外,本文还特别介绍了一个小型CPU的内部构造,以及这三个通信协议在CPU中所处的位置。 @@ 在硬件的设计开发中,由于集成电路本身的特殊性,其开发流程也相对的复杂。本文由于篇幅的问题,只对总的开发流程作了简要的介绍,并且将其中最复杂但是又很重要的静态时序分析进行了详细的论述。在通信协议的开发中,需要注意接口的设计、时序的分析、验证环境的搭建等,因此,本文以SPI数据通信协议的设计作为一个开发范例,从协议功能的研究到最后的验证测试,将FPGA 的开发流程与关键技术等以实例的方式进行了详细的论述。在SPI通信协议的开发中,不仅对协议进行了详细的功能分析,而且对架构中的每个模块的设计都进行了详细的论述。@@关键词:FPGA;SPI;I2C;UART;静态时序分析;验证环境
上传时间: 2013-04-24
上传用户:vvbvvb123
随着我国国防现代化建设进程的不断深化,MIL-STD-1553B标准总线已经广泛应用于各种军事应用领域。MIL-STD-1553B标准总线是我国上世纪八十年代引进的一种现代化通讯总线,国内称为GJB289A-97。该总线技术以其高稳定性和使用灵活等特点成为现代航空电子综合系统所广泛采用的通讯总线技术。 1553B总线接口模块作为总线通讯的基本单元,其性能成为影响航电综合系统整体性能的一个关键因素。目前国内关于1553B总线通讯模块的对外接口类型较多,而基于嵌入式处理芯片的接口设计并不多见。嵌入式设备具有体积小、重量轻、实时性强、功耗小、稳定性好以及接口方便等优点。 基于以上考虑,论文中提出了以DSP+FPGA为平台实现MIL-STD-1553B总线的收发控制,通过收发控制器和变压器实现MIL-STD-1553B总线的电气连接。根据项目需求,设计分为硬件和软件两部分完成。在对MIL-STD-1553B总线协议进行详细研究后提出了总体设计方案原理图。再根据方案需求设计各功能模块。使用硬件描述语言VHDL对各功能模块进行逻辑和行为描述,最终实现在FPGA中,使其能够完成1553B数据码的接受、发送、转换和与处理器的信息交换等功能。DSP部分采用的是TI公司的TMS320F2812,使用C语言进行软件的编译,使其实现总体控制和通讯的调度等功能。 该方案经过实际参与1553B总线通讯系统验证实验,证明各项技术指标均达到预定的目标,可以投入实际应用。
上传时间: 2013-04-24
上传用户:671145514
工业生产过程往往具有非线性、不确定性,难以建立精确的数学模型。应用常规的PID控制器难以达到理想的控制效果。作为的重要分支,人工神经网络具有良好的非线性映射能力和高度的并行信息处理能力,已成为非线性系统建模、辨识和控制中常用的理论和方法。其中,神经元具有很强的信息综合、学习记忆、自学习和自适应能力,可以处理那些难以用模型和规则描述的过程,将神经元与PID结合,应用到实际的控制中,可以在线调整PID的参数,使系统具有较强的抗干扰能力、自适应能力和较好的鲁棒性。 目前,人工神经网络的研究主要是神经网络的理论研究、神经网络的应用研究和神经网络的实现技术研究,这三方面是相互依赖和相互促进的关系。本文主要侧重的是神经网络的实现技术研究方面,创新性地利用FPGA嵌入式系统开发技术实现单神经元PID智能控制器的研究与设计,并将其封装成为一个专用的IP核供其他的控制系统使用。 首先,对单神经元PID智能控制器的设计原理和设计算法进行了深入的研究与分析;其次,利用MATLAB设计单神经元PID智能控制器,针对特定的被控对象,对其进行仿真实验,获得比较理想的系统输出;然后,研究基于FPGA的单神经元智能控制算法的实现,对控制器进行VHDL语言分层设计,使用Altera公司的软件QuartusⅡ6.1进行仿真实验。两个仿真实验结果表明,基于FPGA的单神经元智能控制器比MATLAB设计的单神经元PID智能控制器性能优良。 本文的设计模块主要包括权值修改模块、误差计算模块、权值产生模块和输出模块。在各个模块的设计中进行了优化处理,使本文的设计不仅利用的硬件资源少,而且也有很快的运行速度,同时也改善了传统控制器的控制性能。
上传时间: 2013-04-24
上传用户:13517191407
为适应组合导航计算机系统的微型化、高性能度的要求,拓宽导航计算机的应用领域,本文设计出一种基于浮点型DSP(TMS320C6713)和可编程逻辑阵列器件(FPGA: EP1C12N240C8)协同合作的导航计算机系统。 论文在阐述了组合导航计算机的特点和应用要求后,提出基于DSP和FPGA的组合导航计算机系统方案。该方案以DSP为导航解算处理器,由FPGA完成IMU信号的采集和缓存以及系统控制信号的整合;DSP通过EMIF接口实现和FPGA通信。在此基础上研究了各扩展通信接口、系统硬件原理图和PCB的开发,且在FPGA中使用调用IP核来实现FIR低通滤波数据处理机抖激光陀螺的机抖振动的影响。其次,详细阐述了利用TI公司的DSP集成开发环境和DSP/BIOS准实时操作系统开发多任务系统软件的具体方案。本文引入DSP/BIOS实时操作系统提供的多任务机制,将采集处理按照功能划分四个相对独立的任务,这些任务在DSP/BIOS的调度下,按照用户指定的优先级运行,大大提高系统的工作效率。最后给了DSP芯片Bootloader的制作方法。 导航计算机系统研制开发是软、硬件研究紧密结合的过程。在微型导航计算机系统方案建立的基础上,本文首先讨论了系统硬件整体设计和软件开发流程;其次针对导航计算机系统各个功能模块以及多项关键技术进行了设计与开发工作,涉及系统数据通信模块、模拟信号采集模块和数据存储模块;最后,对导航计算机系统进行了联合调试工作,并对各个模块进行了详细的功能测试与验证,完成了微型导航计算机系统的制作。 以DSP/FPGA作为导航计算机硬件平台的捷联式惯性导航实时数据系统能够满足系统所要求的高精度、实时性、稳定性要求,适应了其高性能、低成本、低功耗的发展方向。
上传时间: 2013-04-24
上传用户:lishuoshi1996
人脸自动识别技术是模式识别、图像处理等学科的一个最热门研究课题之一。随着社会的发展,各方面对快速有效的自动身份验证的要求日益迫切,而人脸识别技术作为各种生物识别技术中最重要的方法之一,已经越来越多的受到重视。对于具有实时,快捷,低误识率的高性能算法以及对算法硬件加速的研究也逐渐展开。 本文详细分析了智能人脸识别算法原理,发展概况和前景,包括人脸检测算法,人眼定位算法,预处理算法,PCA和ICA 算法,详细分析了项目情况,系统划分,软硬件平台的资源和使用。并在ISE软件平台上,用硬件描述语言(verilog HDL)对算法部分严格按照FPGA代码风格进行了RTL 硬件建模,并对C++算法进行了优化处理,通过仿真与软件算法结果进行比对,评估误差,最后在VirtexII Pro FPGA 上进行了综合实现。 主要研究内容如下: 首先,对硬件平台xilinx的VirtexII Pro FPGA 上的系统资源进行了描述和研究,对存储器sdram,RS-232 串口,JTAG 进行了研究和调试,对Coreconnect的OPB总线仲裁机理进行了两种算法的比较,RTL 设计,仿真和综合。利用ISE和VC++软件平台,对verilog和C++算法进行同步比较测试,使每步算法对应正确的结果。对软硬件平台的合理使用使得在项目中能尽可能多的充分利用硬件资源,制板时正确选型,以及加快设计和调试进度。其次,对人脸识别算法流程中的人脸检测,人眼定位,预处理,识别算法分别进行了比较研究,选取其中各自性能最好的一种算法对其原理进行了分析讨论。人脸检测采用adaboost 算法,因其速度和精度的综合性能表现优异。人眼定位采用小块合并算法,因为它具有快速,准确,弱时实的特点。预处理算法采用直方图均衡加平滑的算法,简单,高效。 识别算法采用PCA 加ICA 算法,它能最大的弱化姿态和光照对人脸识别的影响。 最后,使用Verilog HDL 硬件描述语言进行算法的RTL 建模,在C++算法的基础上,保证原来效果的前提下,根据FPGA 硬件特点对算法进行了优化。视频输入输出是人脸识别的前提,它提供FPGA 上算法需要处理的数据,预处理算法在C++算法的基础上进行了优化,最大的减少了运算量,提高了运算速度,16 位计算器模块使得在算法实现时可以根据系统要求,在FPGA的ip 核和自己设计的模块之间选择性能更好的一个来调用,FIFO的设计提供同步和异步时钟域的数据缓存。设计在ISE和VC++软件平台同时进行,随时对verilog和C++数据进行监测和比对。全部设计模块通过仿真,达到预定的性能要求,并在FPGA 上综合实现。
上传时间: 2013-07-13
上传用户:李梦晗
Scaler是平板显示器件(FPD,Flat Panel Display)中的重要组成部分,它将输入源图像信号转换成与显示屏固定分辨率一致的信号,并控制其显示在显示屏上。本文在研究图像缩放算法和scaler在FPD中工作过程的基础上,采用自上而下(Top-down)的设计方法,给出了scaler的设计及FPGA验证。该scaler支持不同分辨率图像的缩放,且缩放模式可调,也可以以IP core的形式应用于相关图像处理芯片中。 图像缩放内核是scaler的核心部分,它是scaler中的主要运算单元,完成图像缩放的基本功能,它所采用的核心算法以及所使用的结构设计决定着缩放性能的优劣,也是控制芯片成本的关键。因此,本文从缩放内核的结构入手,对scaler的总体结构进行了设计;通过对图像缩放中常用算法的深入研究提出了一种新的优化算法——矩形窗缩放算法,并对其计算进行分析和简化,降低了计算的复杂度。FPGA设计中,采用列缩放与行缩放分开处理的结构,使用双口RAM作为两次缩放间的数据缓冲区。使用这种结构的优势在于:行列缩放可以同时进行,数据处理的可靠性高、速度快:内核结构简单明了,数据缓冲区大小合适,便于设计。此外,本文还介绍了其他辅助模块的设计,包括DVI接口信号处理模块、缩放参数计算与控制模块以及输出信号检测与时序滤波模块。 本设计使用Verilog HDL对各模块进行了RTL级描述,并使用Quartus II7.2进行了逻辑仿真,最后使用Altera公司的FPGA芯片来进行验证。通过逻辑验证和系统仿真,证明该scaler的设计达到了预期的目标。对于不同分辨率的图像,均可以在显示屏上得到稳定的显示。
上传时间: 2013-05-30
上传用户:xiaowei314
国家863项目“飞行控制计算机系统FC通信卡研制”的任务是研究设计符合CPCI总线标准的FC通信卡。本课题是这个项目的进一步引伸,用于设计SCI串行通信接口,以实现环上多计算机系统间的高速串行通信。 本文以此项目为背景,对基于FPGA的SCI串行通信接口进行研究与实现。论文先概述SCI协议,接着对SCI串行通信接口的两个模块:SCI节点模型模块和CPCI总线接口模块的功能和实现进行了详细的论述。 SCI节模型包含Aurora收发模块、中断进程、旁路FIFO、接受和发送存储器、地址解码、MUX。在SCI节点模型的实现上,利用FPGA内嵌的RocketIO高速串行收发器实现主机之间的高速串行通信,并利用Aurora IP核实现了Aurora链路层协议;设计一个同步FIFO实现旁路FIFO;利用FPGA上的块RAM实现发送和接收存储器;中断进程、地址解码和多路复合分别在控制逻辑中实现。 CPCI总线接口包括PCI核、PCI核的配置模块以及用户逻辑三个部分。本课题中,采用FPGA+PCI软核的方法来实现CPCI总线接口。PCI核作为PCI总线与用户逻辑之间的桥梁:PCI核的配置模块负责对PCI核进行配置,得到用户需要的PCI核;用户逻辑模块负责实现整个通信接口具体的内部逻辑功能;并引入中断机制来提高SCI通信接口与主机之间数据交换的速率。 设计选用硬件描述语言VerilogHDL和VHDL,在开发工具Xilinx ISE7.1中完成整个系统的设计、综合、布局布线,利用Modelsim进行功能及时序仿真,使用DriverWorks为SCI串行通信接口编写WinXP下的驱动程序,用VC++6.0编写相应的测试应用程序。最后,将FPGA设计下载到FC通信卡中运行,并利用ISE内嵌的ChipScope Pro虚拟逻辑分析仪对设计进行验证,运行结果正常。 文章最后分析传输性能上的原因,指出工作中的不足之处和需要进一步完善的地方。
上传时间: 2013-04-24
上传用户:竺羽翎2222
本文论述了嵌入式TCP/IP协议栈的实现,介绍了TCP/IP协议栈的原理,以及硬线实现TCP/IP协议栈的意义和应用。 第一章为绪论,介绍论文研究的目的、内容、意义和国内外研究发展的现状。 第二章介绍FPGA设计的流程和Verilog HDL设计语言。着重介绍了FPGA的代码输入、编译、综合、仿真和下载等等步骤,并且介绍了FPGA设计中使用到的EDA软件。介绍了Verilog HDL语言的起源,以及Verilog HDL语言的优缺点,并与VHDL语言进行了简单的比较。 第三章介绍嵌入式系统要实现的经过剪裁的TCP/IP协议栈的内容。着重介绍了要实现的TCP/IP协议栈的子协议,包括TCP协议、UDP协议、IP协议、ARP协议、ICMP协议。在介绍这些协议的时候,介绍了这些协议的工作原理,以及这些协议要用到的报文的格式。 第四章介绍实现剪裁的TCP/IP协议栈的实现,具体介绍的经过剪裁的TCP/IP各个模块的设计工作。这个部分着重介绍各个模块的设计方法,实现各个模块的过程。在设计完这些模块后,对这些模块的仿真进行了仿真。 第五章是全文的总结,概括了作者在这次毕业设计中的主要工作和课题的意义,同时指出了进一步工作的方向和需要解决的问题。
上传时间: 2013-07-04
上传用户:leesuper
随着以太网技术的不断发展,网络的传输速度已经由最初的10M发展到现在的10,000M。用可编程逻辑器件(FPGA)实现以太网控制器与其它SOC系统的互连成为当前的研究热点。本文阐述了MAC层的FPGA设计、仿真及测试;介绍了整个系统的内部结构、模块划分,并对各个模块的设计过程进行了详细阐述,接着介绍了开发环境和验证工具,同时给出测试方案、验证数据、实现结果及时序仿真波形图。 对MAC层的主要功能模块如:发送模块、接收模块、MAC流程控制模块、寄存器模块、MⅡ接口模块和主机接口模块以及CRC,CSMA/CD,HASH表等算法给出了基于FPGA及硬件描述语言的解决方法。 本课题针对以下三个方面进行了研究并取得一定的成果: 1)FPGA开发平台的硬件实现。选用Xilinx公司的XC3S1000-FT256-4-C和ATMEL公司的ARM9200作为测试的核心器件,采用LXT971芯片作为物理层芯片,AT91RM9200作为数据输入源和双blockram作为帧缓存搭建FPGA硬件验证开发平台。 2)基于FPGA实现以太网控制器。用VerilogHDL语言构建以太网控制器,实现CSMA/CD协议、10M/100M自适应以及与物理层MⅡ接口等。 3)采用片上系统通用的WS接口。目的是便于与具有通用接口的片上系统互连,也为构建SOC上处理器提供条件。 本论文实现了一个基于WS总线接口可裁减的以太网MAC控制器IP软核,为设计具有自主知识产权的以太网MAC控制器积累了经验。同时,为与其它WS接口的控制器实现直接互连创造了条件,对高层次设计这一先进ASIC设计方法也有了较为深入的认识。
上传时间: 2013-07-17
上传用户:bruce