本文从AES的算法原理和基于ARM核嵌入式系统的开发着手,研究了AES算法的设计原则、数学知识、整体结构、算法描述以及AES存住的优点利局限性。 针对ARM核的体系结构及特点,对AES算法进行了优化设计,提出了从AES算法本身和其结构两个方面进行优化的方法,在算法本身优化方面是把加密模块中的字节替换运算、列混合运算和解密模块中的逆列混合运算中原来的复杂的运算分别转换为简单的循环移位、乘和异或运算。在算法结构优化方面是在输入输山接口上采用了4个32位的寄存器对128bits数据进行了并行输入并行输出的优化设计;在密钥扩展上的优化设计是采用内部扩展,即在进行每一轮的运算过程的同时算出下一轮的密钥,并把下一轮的密钥暂存在SRAM里,使得密钥扩展与加/解密运算并行执行;加密和解密优化设计是将轮函数查表操作中的四个操作表查询工作合并成一个操作表查询工作,同时为了使加密代码在解密代码中可重用,节省硬件资源,在解密过程中采用了与加密相一致的过程顺序。 根据上述的优化设计,基于ARM核嵌入式系统的ADS开发环境,提出了AES实现的软硬件方案、AES加密模块和解密模块的实现方案以及测试方案,总结了基于ARM下的高效编程技巧及混合接口规则,在集成开发环境下对算法进行了实现,分别得出了初始密钥为128bits、192bits和256bits下的加密与解密的结果,并得剑了正确验证。在性能测试的过程中应用编译器的优化选项和其它优化技巧优化了算法,使算法具有较高的加密速度。
上传时间: 2013-04-24
上传用户:liansi
随着SOC技术、IP技术以及集成电路技术的发展,RISC软核处理器的研究与开发设计开始受到了人们的重视。基于FPGA的RISC软核处理器在各个行业开始得到了广泛的应用,特别是在一些基于FPGA的嵌入式系统中有着越来越广泛的应用前景。 该论文在研究了大量国内外技术文献的基础上,总结了RISC处理器发展的现状与水平。认真分析了RISC处理器的基本结构,包括总线结构,流水线处理的原理,以及流水线数据通路和流水线控制的原理;并详细分析了该设计采用的指令集——MIPS指令集的内在结构。设计出了一个32位RISC软核处理器,这个软核处理器采用五级流水线结构,能完成加法、减法、逻辑与、逻辑或、左移右移等算术逻辑操作,以及它们的组合操作。通过软件仿真和在Altera的FPGA开发板上进行验证,证明了所设计的32位RISC处理器能准确的执行所选用的MIPS指令集,运行速度能达到30MHz,功能良好。 通过对所设计对象特点及其可行性的研究,选用了Altera公司QuartusⅡ软件作为设计与仿真验证的环境。在设计方法上,该课题采用了自顶向下的设计方法。在设计过程中采用了边设计边验证这种设计与验证相结合的设计流程,大大提高了设计的可靠性。该课题在设计过程中还提出了两个有效的设计思路:第一是在32位寄存器的设计中利用FPGA的内部RAM资源来设计,减少了传输延时,提高了运行速度,并大大减少了对FPGA内部资源的占用;第二是在系统架构上采用了柔性化的设计方法,使得设计可以根据实际的需求适当的增减相应的部件,以达到需求与性能的统一。这两个方法都有效地解决了设计中出现的问题,提高了处理器的性能。
上传时间: 2013-07-21
上传用户:caozhizhi
人脸识别技术继指纹识别、虹膜识别以及声音识别等生物识别技术之后,以其独特的方便、经济及准确性而越来越受到世人的瞩目。作为人脸识别系统的重要环节—人脸检测,随着研究的深入和应用的扩大,在视频会议、图像检索、出入口控制以及智能人机交互等领域有着重要的应用前景,发展速度异常迅猛。 FPGA的制造技术不断发展,它的功能、应用和可靠性逐渐增加,在各个行业也显现出自身的优势。FPGA允许用户根据自己的需要来建立自己的模块,为用户的升级和改进留下广阔的空间。并且速度更高,密度也更大,其设计方法的灵活性降低了整个系统的开发成本,FPGA 设计成为电子自动化设计行业不可缺少的方法。 本文从人脸检测算法入手,总结基于FPGA上的嵌入式系统设计方法,使用IBM的Coreconnect挂接自定义模块技术。经过训练分类器、定点化、以及硬件加速等方法后,能够使人脸检测系统在基于Xilinx的Virtex II Pro开发板上平台上,达到实时的检测效果。本文工作和成果可以具体描述如下: 1. 算法分析:对于人脸检测算法,首先确保的是检测率的准确性程度。本文所采用的是基于Paul Viola和Michael J.Jones提出的一种基于Adaboost算法的人脸检测方法。算法中较多的是积分图的特征值计算,这便于进一步的硬件设计。同时对检测算法进行耗时分析确定运行速度的瓶颈。 2. 软硬件功能划分:这一步考虑市场可以提供的资源状况,又要考虑系统成本、开发时间等诸多因素。Xilinx公司提供的Virtex II Pro开发板,在上面有可以供利用的Power PC处理器、可扩展的存储器、I/O接口、总线及数据通道等,通过分析可以对算法进行细致的划分,实现需要加速的模块。 3. 定点化:在Adaboost算法中,需要进行大量的浮点计算。这里采用的方法是直接对数据位进行操作它提取指数和尾数,然后对尾数执行移位操作。 4. 改进检测用的级联分类器的训练,提出可以迅速提高分类能力、特征数量大大减小的一种训练方法。 5. 最后对系统的整体进行了验证。实验表明,在视频输入输出接入的同时,人脸检测能够达到17fps的检测速度,并且获得了很好的检测率以及较低的误检率。
上传时间: 2013-04-24
上传用户:大融融rr
本文以Turbo码编译码器的FPGA实现为目标,对Turbo码的编译码算法和用硬件语言将其实现进行了深入的研究。 首先,在理论上对Turbo码的编译码原理进行了介绍,确定了Max-log-MAF算法的译码算法,结合CCSDS标准,在实现编码器时,针对标准中给定的帧长、码率与交织算法,以及伪随机序列模块与帧同步模块,提出了相应解决方案;而在相应的译码器设计中,采用了FPGA设计中“自上而下”的设计方法,权衡硬件实现复杂度与处理时延等因素,优先考虑面积因素,提高元件的重复利用率和降低电路复杂度,来实现Turbo码的Max-log-MAP算法译码。把整个系统分割成不同的功能模块,分别阐述了实现过程。 然后,基于Verilog HDL 设计出12位固点数据的Turbo编译码器以及仿真验证平台,与用Matlab语言设计的相同指标的浮点数据译码器进行性能比较,得到该设计的功能验证。 最后,研究了Tuxbo码译码器几项最新技术,如滑动窗译码,归一化处理,停止迭代技术结合流水线电路设计,将改进后的译码器与先前设计的译码器分别在ISE开发环境中针对目标器件xilinx Virtex-Ⅱ500进行电路综合,证实了这些改进技术能有效地提高译码器的吞吐量,减少译码时延和存储器面积从而降低功耗。
上传时间: 2013-04-24
上传用户:haohaoxuexi
《计算机组成原理》是计算机系的一门核心课程。但是它涉及的知识面非常广,内容包括中央处理器、指令系统、存储系统、总线和输入输出系统等方面,学生在学习该课程时,普遍觉得内容抽象难于理解。但借助于该计算机组成原理实验系统,学生通过实验环节,可以进一步融会贯通学习内容,掌握计算机各模块的工作原理,相互关系的来龙去脉。 为了增强实验系统的功能,提高系统的灵活性,降低实验成本,我们采用FPGA芯片技术来彻底更新现有的计算器组成原理实验平台。该技术可根据用户要求为芯片加载由VHDL语言所编写出的不同的硬件逻辑,FPGA芯片具有重复编程能力,使得系统内硬件的功能可以像软件一样被编程,这种称为“软”硬件的全新系统设计概念,使实验系统具有极强的灵活性和适应性。它不仅使该系统性能的改进和扩充变得十分简易和方便,而且使学生自己设计不同的实验变为可能。计算机组成原理实验的最终目的是让学生能够设计CPU,但首先,学生必须知道CPU的各个功能部件是如何工作,以及相互之间是如何配合构成CPU的。因此,我们必须先设计出一个教学用的以FPGA芯片为核心的硬件平台,然后在此基础上开发出VHDL部件库及主要逻辑功能,并设计出一套实验。 本文重点研究了基于FPGA芯片的VHDL硬件系统,由于VHDL的高标准化和硬件描述能力,现代CPU的主要功能如计算,存储,I/O操作等均可由VHDL来实现。同时设计实验内容,包括时序电路的组成及控制原理实验、八位运算器的组成及复合运算实验、存储器实验、数据通路实验、浮点运算器实验、多流水线处理器实验等,这些实验形成一个相互关联的系统。每个实验先由教师讲解原理及原理图,学生根据教师提供的原理图,自己用MAX+PLUSII完成电路输入,学生实验实际上是编写VHDL,不需要写得很复杂,只要能调用接口,然后将程序烧入平台,这样既不会让学生花太多的时间在画电路图上,又能让学生更好的理解每个部件的工作原理和工作过程。 论文首先研究分析了FPGA硬件实验平台,即实验系统的硬件组成。系统采用FPGA-XC4010EPC84,62256CPLD以及其他外围芯片(例如74LS244,74LS275)组成。根据不同的实验要求,规划不同实验控制逻辑。用户可选择不同的实验逻辑,通过把实验逻辑下载到FPGA芯片中构成自己的实验平台。 其次,论文详细的阐述了VHDL模块化设计,如何运用VHDL技术来依次实现CPU的各个功能部件。VHDL语言作为一种国际标准化的硬件描述语言,自1987年获得IEEE批准以来,经过了1993年和2001年两次修改,至今已被众多的国际知名电子设计自动化(EDA)工具研发商所采用,并随同EDA设计工具一起广泛地进入了数字系统设计与研发领域,目前已成为电子业界普遍接受的一种硬件设计技术。再次,论文针对实验平台中遇到的较为棘手的多流水线等问题,也进行了深入的阐述和剖析。学生需要什么样的实验条件,实验内容及步骤才能了解当今CPU所采用的核心技术,才能掌握CPU的设计,运行原理。另外,本论文的背景是需要学生熟悉基本的VHDL知识或技能,因为实验是在编写VHDL代码的前提下完成的。 本文在基于实验室的环境下,基本上较为完整的实现了一个基于FPGA的实验平台方案。在此基础上,进行了部分功能的测试和部分性能方面的分析。本论文的研究,为FPGA在实际系统中的应用提供研究思路和参考方案。论文的研究结果将对FPGA与VHDL标准的进一步发展具有重要的理论和现实意义。
上传时间: 2013-04-24
上传用户:小强mmmm
建立了双容水箱系统的数学模型,采用串级控制方案对双容水箱液位系统进行控制,控制算法采用数字PID。确定了硬件设备,制作了双容水箱液位控制系统。采用力控5.0 版组态软件,对整个液位控制系统进行组态,构
上传时间: 2013-07-27
上传用户:harveyhan
随着微电子技术和计算机技术的迅猛发展,尤其是现场可编程器件的出现,为满足实时处理系统的要求,诞生了一种新颖灵活的技术——可重构技术。它采用实时电路重构技术,在运行时根据需要,动态改变系统的电路结构,从而使系统既有硬件优化所能达到的高速度和高效率,又能像软件那样灵活可变,易于升级,从而形成可重构系统。可重构系统的关键在于电路结构可以动态改变,这就需要有合适的可编程逻辑器件作为系统的核心部件来实现这一功能。 论文利用可重构技术和“FD-ARM7TDMLCSOC”实验板的可编程资源实现了一个8位微程序控制的“实验CPU”,将“实验CPU”与实验板上的ARMCPU构成双内核CPU系统,并对双内核CPU系统的工作方式和体系结构进行了初步研究。 首先,文章研究了8位微程序控制CPU的开发实现。通过设计实验CPU的系统逻辑图,来确定该CPU的指令系统,并给出指令的执行流程以及指令编码。“实验CPU”采用的是微程序控制器的方式来进行控制,因此进行了微程序控制器的设计,即微指令编码的设计和微程序编码的设计。为利用可编程资源实现该“实验CPU”,需对“实验CPU”进行VHDL描述。 其次,文章进行了“实验CPU”综合下载与开发。文章中使用“Synplicity733”作为综合工具和“Fastchip3.0”作为开发工具。将“实验CPU”的VHDL描述进行综合以及下载,与实验箱上的ARMCPU构成双内核CPU,实现了基于可重构技术的双内核CPU的系统。根据实验板的具体环境,文章对双内核CPU系统存在的关键问题,如“实验CPU”的内存读写问题、微程序控制器的实现,以及“实验CPU'’框架等进行了改进,并通过在开发工具中添加控制模块和驱动程序来实现系统工作方式的控制。 最后,文章对双核CPU系统进行了功能分析。经分析,该系统中两个CPU内核均可正常运行指令、执行任务。利用实验板上的ARMCPU监视用“实验CPU”的工作情况,如模拟“实验CPU”的内存,实现机器码运行,通过串行口发送的指令来完成单步运行、连续运行、停止、“实验CPU"指令文件传送、“实验CPU"内存修改、内存察看等工作,所有结果可显示在超级终端上。该系统通过利用ARMCPU来监控可重构CPU,研究双核CPU之间的通信,尝试新的体系结构。
上传时间: 2013-04-24
上传用户:royzhangsz
FPGA作为近年来集成电路发展中最快的分支之一,有关它的研究和应用得到了迅速的发展。传统的FPGA采用静态配置的方法,所以在它的应用生命周期中,它的功能就不能够再改变,除非重新配置。动态重配置系统在系统工作的过程中改变FPGA的结构,包括全局重配置和局部重配置。其中的局部动态重配置系统有着ASIC以及静态配置FPGA无法比拟的优势。而随着支持局部位流配置以及动态配置的商用FPGA的推出,使对局部动态重配置系统和应用的研究有了最基本的硬件支撑条件。而Internet作为无比强大的网络已经渗入到各种应用领域之中。 本文首先提出了一个完整的基于Internet的FPGA局部动态可重配置系统的方案。然后针对方案的各个组成部分,分别进行了描述。首先是介绍了FPGA的基本概况,包括它的发展历史、结构、应用领域、发展趋势等。然后介绍了对一个包含局部动态重配置模块的FPGA系统的设计过程,包括重配置模块的定义、设计的流程、局部位流的产生等。接下来对.FPGA的配置方法以及配置解决方案进行描述,包括几种可选择的配置模式,其中有一些适用于静态配置,另外一些可以用于动态局部配置,.以及作为一个系统的配置解决方案。最后系统要求从Internet服务器上下载重配置模块的位流并且完成对FPGA的配置,根据这个要求,我们设计了相应的嵌入式解决方案,包括如何设计一个基于VxWorks的嵌入式应用软件实现FTP功能,并说明如何通过JTAGG或者ICAP接口由嵌入式CPU完成对FPGA的局部配置。
上传时间: 2013-04-24
上传用户:william345
传统的数控系统采用的大多是专用的封闭式结构,它能提供给用户的选择有限,用户无法对现有数控设备的功能进行修改以满足自己的特殊要求;各种厂商提供给用户的操作方式各不相同,用户在培训人员、设备维护等方面要投入大量的时间和资金。这些问题严重阻碍了CNC制造商、系统集成者和用户采用快速而有创造性的方法解决当今制造环境中数控加工和系统集成中的问题。随着电子技术和计算机技术的高速发展,数控技术正朝向柔性化、智能化和网络化的方向发展。针对数控系统已存在的问题和未来发展的趋势,本文致力于建立一个适合现场加工特征的开放结构数控平台,使系统具备软硬件可重构的柔性特征,同时把监控诊断和网络模块融入数控系统的框架体系之内,满足智能化和网络化的要求。 本文在深入研究嵌入式系统技术的基础上,引入可重构的设计方法,选择具体的硬件平台和软件平台进行嵌入式可重构数控系统平台的研发。硬件结构以MOTOROLA的高性能32位嵌入式处理器MC68F375和ALTERA的现场可编程门阵列(FPGA)芯片为核心,配以系统所需的外围模块;软件系统以性能卓越的VxWorks嵌入式实时操作系统为核心,开发所需要的应用软件,将VxWorks嵌入式实时操作系统扩展为一个完整、实用的嵌入式数控系统。该系统不仅具有可靠性高、稳定性好、功能强的优点,而且具有良好的可移植性和软硬件可裁减性,便于根据实际需求进行功能的扩展和重构。 本论文的主要研究工作如下: (1)深入研究了以高性能微处理器MC68F375为核心的主控制板的硬件电路设计,以及存储、采集、通讯和网络等模块的设计。 (2)深入研究了基于FPGA的串行配置方法和可重构设计方法,设计出基于FPGA的电机运动控制、机床IO控制、键盘阵列和液晶显示控制等接口模块电路。 (3)深入研究了VxWorks嵌入式实时操作系统在硬件平台上的移植和任务调度原理,合理分配控制系统的管理任务,开发系统的底层驱动程序和应用程序。 最后,本文总结了系统的开发工作,并对嵌入式可重构数控系统的进一步研究提出了自己的一些想法,以指引后续研究工作。
上传时间: 2013-04-24
上传用户:gcs333
基于微处理器的数字PID控制器改变了传统模拟PID控制器参数整定不灵活的问题。但是常规微处理器容易在环境恶劣的情况下出现程序跑飞的问题,如果实现PID软算法的微处理器因为强干扰或其他原因而出现故障,会引起输出值的大幅度变化或停止响应。而FPGA的应用可以从本质上解决这个问题。因此,利用FPGA开发技术,实现智能控制器算法的芯片化,使之能够广泛的用于各种场合,具有很大的应用意义。 首先分析FPGA的内部结构特点,总结FPGA设计技术及开发流程,指出实现结构优化设计,降低设计难度,是扩展设计功能、提高芯片性能和产品性价比的关键。控制系统由四个模块组成,主要包括核心控制器模块、输入输出模块以及人机接口。其中控制器部分为系统的关键部件。在分析FPGA设计结构类型和特点的基础上,提出一种基于FPGA改进型并行结构的PID温度控制器设计方法。在PID算法与FPGA的运算器逻辑映像过程中,采用将补码的加法器代替减法器设计,增加整数运算结果的位扩展处理,进行不同数据类型的整数归一化等不同角度的处理方法融合为一体,可以有效地减少逻辑运算部件。应用Ouartus Ⅱ图形输入与Verilog HDL语言相结合设计实现了PID控制器,用Modelsim仿真验证了设计结果的正确性,用Synplify Pro进行电路综合,在Quaitus Ⅱ软件中实现布局布线,最后生成FPGA的编程文件。根据控制系统的要求,论文设计完成了12位模数AD转换器、数据显示器、按键等相关外围接口电路。 将一阶、纯滞后、大惯性电阻炉温作为控制对象,以EP1C3T144 FPGA为核心,构建PID控制系统。在采用Pt100温度传感器、分辨率为2℃、最大温度控制范围0~400℃的条件下,实验结果表明,达到无超调的稳定控制要求,为降低FPGA实现PID控制器的设计难度提供了有效的方法。
上传时间: 2013-05-24
上传用户:gyq