关闭

关闭

关闭

封号提示

内容

首页 基于ARM+FPGA的高速信号采集与存储系统设计.pdf

基于ARM+FPGA的高速信号采集与存储系统设计.pdf

基于ARM+FPGA的高速信号采集与存储系统设计.pdf

上传者: xl46512 2012-05-08 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《基于ARM+FPGA的高速信号采集与存储系统设计pdf》,可适用于IT/计算机领域,主题内容包含北京交通大学硕士学位论文基于ARMFPGA的高速信号采集与存储系统设计姓名:蔡弘申请学位级别:硕士专业:交通信息工程及控制指导教师:戴胜华中文摘要摘符等。

北京交通大学硕士学位论文基于ARMFPGA的高速信号采集与存储系统设计姓名:蔡弘申请学位级别:硕士专业:交通信息工程及控制指导教师:戴胜华中文摘要摘要:在图像处理、航空航天、遥感测量、现代电子测试等很多领域要求测试仪器设备能及时保存原始测试数据用于事后数据分析和处理。同时前端探溯器性能的提高对于各种系统存储容量、体积、造价、稳定性等都提出了更高的要求。因此研制性能可靠、体积小、低成本的数据存储系统是十分必要的。本文提出基于ARM嵌入式处理器FPGA结构的高速信号采集与存储系统解决方案。进行了信号采集与存储系统设计。其特点是高性能、低成本、体积小。文中利用了ARM处理器和FPGA可编程逻辑器件的特点进行了基于本方案的硬件设计FPGA软件设计。叙述了PCB设计以及调试过程中需注意的问题。系统的硬件设计以ARM和FPGA为平台ARM处理器采用了Samsung公司的$CFPGA采用Altera公司的EPC。硬件设计围绕着核心芯片进行了电源设计和ARM和FPGA外围电路设计.ARM处理器实现了系统的控制FPGA作为协处理器实现了FIFO一些接口、时序控制等协助ARM采集数据。在FPGA中实现硬件电路简化了外围电路使得设计灵活开发调试方便也提高了系统的可靠性。系统软件操作系统采用的是Linux基于嵌入式Linux操作系统的特点分析了系统的实时性.接着进行了Linux平台上基于Qt的用户界面应用程序设计.最后分析了系统测试结果并指出存在的问题和改进方法。关键词:ARMSC:AD数据采集FPGA:EPC:LinuxQT分类号:U.ABSTRACTA踯TRACI':restingInstrumentisrequiredtoacquireandSa.VI。originaltestingdataforlateranalysisingandprocessinginimageprocessing,remotesensingandmodemdeetronictestingfield.Higherrequirementtostoringcapacity,volltllne,costandsystemstabilityisbroughttotward.Soit’sneeessm'ytodevelopareliable,smallandlowcostdataacquiringandstoringsystem.码esolutionofhighspeedsignalacquiringandstoringsystembasedOnARMandFPGAarclaiteetureismentionedbythisthesis.硼signalacquiringandstoringsystemisdesigned.Itprovidesfeatureincludedhi【曲performance,lowcostandsmallinvolume.ThehSl'dWlireandFPGAsofewarcbasedOnthissolulionadesignedusingthecharacteristicofARMembeddedsystempl'OCl隰SOIrandFPGAprogrammablelogicdevice.Theproblemswhichnctdtxtobeconcernedind酷igniagordebuggingprogressamdi$口ISSCd.Thehsl'dWlllrleplatformisbasedARMandFPGA.n玲ARMproc,黜SOlris$Cfrom$amsung."FPGAisEPCfromAlterLn地hardwal'ebasedCOltcchipisdesigned.ThepowerandexternalcircuitofARMandFPGAaredesigned.TheARMpoIssorl商forms舔thesystemcontroller.TheFIFOmemoryandtheIogicofint觚accandtimingeontroningalrcrealizedinFPGAwhichperforms嚣thecoprocessortohelpthedataacquisition.ThehardwarecircuitimplementedinFPGAmakesitflexibletodesign,convenienttodevelopanddebug.Italsosimpliysthecxtcmalcircuitandimprovesthesystemreliability.Linuxisthesystemoperatingsystem.ThefeatureofEmbeddedLinuxispresented.Andth舶therealtimep时f咖柚oeofthesystemisanalyzed.Thedesignof驸interfaceapplicationbasedOnLinuxQtisalsointroduced.AtlIlstthesystemtestingresultisanalyzed.Existentdeficiencyandimprovedmethodarepointedout.KEYWOlilO$:ARM$CADdataacquisitionFPGAEPC$LinuxQTCLASSNo:U.学位论文版权使用授权书本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国家有关部门或机构送交论文的复印件和磁盘。(保密的学位论文在解密后适用本授权说明)学位论文作者签名:杰h签字日期:弘年垃月坷El导群签字日期:年/钥列石|独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研究成果除了文中特别加以标注和致谢之处外论文中不包含其他人已经发表或撰写过的研究成果也不包含为获得北京交通大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。学位论文作者签名:察毒厶签字日期:>叼年雎月哕日致谢本论文的工作是在我的导师戴胜华副教授的悉心指导下完成的戴胜华副教授严谨的治学态度和科学的工作方法给了我极大的帮助和影响。在此衷心感谢三年来戴老师对我的关心和指导。戴胜华老师对于我的科研工作和论文也提出了许多的宝贵意见在此表示衷心的感谢。在实验室工作及撰写论文期间张沛等同学对我论文中的嵌入式系统研究工作给予了热情帮助在此向他们表达我的感激之情。最后深深的感谢我的家人谢谢他们对我无微不至的关怀是他们给予了我物质和精神上的支持和鼓励让我能够全身心的投入研究生的学习、工作中。希望母校北京交通大学明天会更好!.课题的研究背景绪论现实世界的信息总是携带于模拟信号之中。根据耐圭斯特采样定理只要满足采样频率e大于等于倍信号的最高频率fm即‘fm对信号进行等间隔采样连续的模拟信号就可以无失真地转换为离散信号再通过模拟数字变换器(ADc)得到很精确的数字信号数字信号经数字信号处理后再转换为模拟信号。数字信号处理会得到模拟信号所不能获得的很多优点不仅能利用统一的方法进行加工处理还能增加很多采用模拟信号不能实现的功能。数字信号处理就是以数字运算的方式对信号进行分析、提取、变换等处理。数字信号处理作为信号与信息处理的一个分支学科其历史可以追溯到很久以前。然而它又是一个新兴的、极富活力的学科活跃在电子学、计算机、应用数学等学科的最前沿渗透到科学研究、技术开发、工业生产以及国防和国民经济的各个领域扮演着越来越重要的角色。随着数字信号处理理论和计算机技术的不断发展现代工业生产、通信、国防和科学研究都需要借助数字处理方法。进行数字处理的先决条件是将所要研究的对象进行数字化因此数据采集与处理技术日益得到重视并且取得了长足发展。在图像处理、航空航天、遥感测量、现代电子测试等很多领域要求测试仪器设备能及时保存原始测试数据用于事后数据分析和处理。同时前端探测器性能的提高对于各种系统存储容量、体积、造价、稳定性等都提出了更高的要求。为了实现较高的传输速率和较大的数据量以往多采用多机并行处理、传输和并行记录技术。但是这类系统具有对工作环境要求较高加之体积一般比较庞大、功耗大等诸多缺点很难适用于受空间限制的特殊环境要求。因此研制性能可靠、体积小低成本的数据存储记录系统是十分必要的【l】。.课题的提出jE立銮重丕堂亟堂焦迨塞缝迨DSP具有快速性、稳定性、可重复性、集成方便、精度高等优点但也有其不是之处。当取样率超过几MHz时一个DSP仅仅能完成对数据非常简单的运算而且DSP受到串行指令流的限制。在数据通信和图像处理这样的应用中需要强大的处理能力。当最快的数字信号处理器(DSP)仍无法达到速度要求时唯一的选择是增加处理器的数目或采用客户定制的门阵列产品。而增强DSP处理能力的传统方法是采用多个处理器。选择此类方法的缺点是成本昂贵需要众多附加部件并且功耗很大。而随着近几年半导体工艺的快速发展可编程逻辑设计技术正处于高速发展的阶段。新型的FPGA/CPLD规模越来越大成本越来越低。高性价比使可编程逻辑器件在硬件设计领域扮演着日益重要的角色。低端CPLD已经逐步取代了系列等传统的数字元件高端的FPGA也在不断地夺取ASIC的市场份额特别是目前大规模FPGA多数支持可编程片上系统(SOPC)与CPU或DSPCore的有机结合使FPGA已经不仅仅是传统的硬件电路设计手段而逐步升华为系统级实现工具。对于某些应用通过在FPGA内部实现多个DSP或CPU运算单元并行计算其工作效率可以达到传统DSP和CPU的几十到几百倍。而近年来微电子技术迅猛发展处理器增长速度也随之加快嵌入式系统领域发生了翻天覆地的变化。特别是网络的普及嵌入式与互联网成为最热门的技术。现在嵌入式系统正处于高速发展阶段同时各种无线通信技术的使用也促生了许多新兴的应用领域。嵌入式处理器从以前的位处理器发展至今的位处理器广泛应用于各种行业处理器的性能的不断提高更高的集成度也使得成本逐渐降低工艺的改进也使功耗不断下降。因此各种新器件的组合能提供新型的解决方案不仅能实现原有系统的功能相比原系统还能增加新的功能同时改进了系统的性能。本课题就是针对高速信号的采集与存储提出一种新的系统解决方案。.选题意义现在市场上能找到的采集系统主要有下面两类:LPCI数据采集卡需要外加PC才能工作利用PC的较强运算能力和本身的硬盘进行采集和存储.缺点是体积大功耗大可靠性较差不适合对空间或功耗有限制环境比较恶劣的场合同时成本也不低。.专用的数据采集系统可以独立工作利用osP(数字信号处理器)和MCU(微控制器)完成。缺点是价格很高人机交互能力差.上述这两种实现方式无论从性能、功能、功耗、价格等方面均有其各自的缺点本课题正是希望设计出一种新的解决方案不仅集合上述采集系统的优点克服了其缺点同时还加入了一些新的功能新的特性。新功能新特性的加入又进一步拓展了其应用领域应用范围能针对不同的需求具有很大的灵活性.所以本课题是具有实际意义的。.本方案优点本方案采取ARM处理其加FPGA可编程逻辑器件的方式来实现主要是利用ARM处理器和FPGA各自的优点。.ARM处理器通常都是SOC(SystvmOnChip)芯片大量的片上外设相比传统微控制器如单片机更强大的性能是其主要特点。现今的ARM处理器性能已经具备处理简单的信号处理的能力在系统设计中采用ARM处理器无疑能从各个方面受益包括性能、功能、成本、功耗等各个方面。.FPGA的特点是功能强大可反复编程修改使得开发具有很大的灵活性同时也降低了硬件设计的风险和投资。更重要的是中端FPGA己具备信号处理单元利用FPGA实现的信号处理模块是硬件实现的电路设计通过并行处理可以实现比DSP更高的性能市场定位于高性能、低成本的应用使得其具有很高的性价比。所以采用ARM嵌入式处理器与FPGA的方式来实现高速数据的采集和存储可以提供了一种高性能、低成本、体积小、低功耗的数据采集方案。其主要特点除了高性能、低成本、体积小、低功耗外还具有很强的人机交互能力系统的移植性强可以较快地针对不同的应用进行二次开发。()本系统相比传统的单片机采集系统表与基于单片机系统的比较Figl一CompalJsonwithsystembasedonmicrooontrollor单片机系统本系统大于M的数据采集不行最高可达MTFlrLCD显示无内置控制器IDE硬盘存储不行可达MByte/s()本系统相比流行的PCI采集板卡表.与PCI采集板卡的比较FigiC‘mpa打ⅫwithPCIacquiringboardPCI板卡本系统功耗高几W体积大很小价格高低抗干扰差可针对环境设计.系统硬件平台方案本文硬件平台方案如图.所示高速AD芯片以MHz的采样率把模拟信号转换为bit精度的数字信号经过FPGA中的FIFO缓存后由ARM处理器以DMA的方式接收采集数据并作数字滤波处理分析数据压缩等再通过IDE接口存储数据到大容量硬盘。之后可以通过将存储的数据读出并在LCD屏幕上显示观察采集的数据.在设计中将系统硬件分成两部分一部分是A/D转换器部分这部分单独使用一块PCB板设计另一部分是其他的硬件电路.这样设计是为了使得需求更改不需要重新设计整个系统而只需要更换上层采集板而且接口定义可以通过软件配置对FPGA进行灵活设置。增加了系统的灵活性同时也能缩短开发的周期。在本文中侧重于后端软硬件的设计所以A/D电路部分很少提及.这部分主要是A/D转换器转换器前端的信号调理电路以及这些电路模块的供电电源。韭基銮通鑫望亟堂焦途塞缝逾H黼BITMSPS嗲FIF姗器吲嚣T嚣FT.'qMHZ川lIlly半满L叫DMAIl之乡l热F酬PGACYCLONE憋II.’大容量硬盘.论文的主要工作图系统结构框图Figl一Systemarchitecture本课题的主要任务是设计基于ARMFPGA结构的高速信号信号采集与存储系统采用Samsung公司的SC作为主控芯片FPGA采用Altera公司的CycloneII系列协助ARM处理器工作。ARM处理器主要负责整个系统的运行、数据的存储以及显示FPGA主要实现前端数据采集、与ARM处理器之间的通信和一些预处理从而使整个系统运行实现信号采集与存储的功能。第l章综述了数字信号处理的发展分析了ARM和FPGA在信号处理中的各自的优缺点提出使用基于ARMFPGA结构的系统设计方案。第章介绍了ARM体系结构常用处理器的基本特点和应用介绍了FPGA的基本结构和开发流程。第章主要讲述了系统的硬件设计ARM和FPGA在本系统中的应用及接口电路的实现。硬件设计是本系统的重点也是难点ARM和FPGA都是当前研究应用的热点。第章主要讲述了PCB设计及调试需要注意的问题以及FPGA程序设计中各个模块的设计。第章分析了系统的实时性主要是嵌入式Linux操作系统的实时性。第章简要介绍了QT以及基于QT的用户界面应用程序设计。第章总结了系统的最终实际测试结果以及需要改进的不足之处和改进方法。.ARM体系结构ARM与FPGA介绍在许多成功的位嵌入式系统中ARM处理器都是其核心组成部分。ARM内核已被广泛应用于移动电视、掌上设备以及种类繁多的便携式消费类产品中。ARM公司自年正式成立以来在位RISC(Recluc,cdInstructionSetComputer)CPU开发领域不断取得突破其结构已经从v发展到v。由于ARM公司自成立以来一直仅以IP(Intdligenc:eProperty)提供者的身份向半导体制造商出售知识产权而自己从不介入芯片的生产销售。因此使其能更加专注于设计其设计的内核具有功耗低、成本低等显著优点所获得的回报就是众多的半导体厂家和整机厂商的大力支持在位嵌入式应用领域获得了巨大的成功曾经一度占有%以上的位RISC嵌入式产品市场。在低功耗、低成本的嵌入式应用领域确立了市场领导地位。目前全世晃有几十家著名的半导体公司都使用ARIVl公司的授权其中包括Samsung、IBM、ATMEL、ST、SONY、NEC、MarvdI(INTELXscale系列)、zxP(原Philips半导体部门)、Freeseale(原Motorola半导体部门)等。ARM架构已经从V发展到V。包含了ARM、ARM、ARMl、ARMll等几个家族。目前非常流行的ARM处理器内核有ARMTDMI、ARMTDMI、ARMT及ARME等。..ⅪSC设计思想ARM内核采用RISC体系结构。RISC是一种设计思想其目标是设计出一套能在高时钟频率下单周期执行简单而有效的指令集。RISC的设计重点在于降低由硬件执行的指令地复杂度这是因为软件比硬件容易提供更大的灵活性和更高的智能。因此RISC设计对编译器有更高的要求相反传统的复杂指令集的计算机(CISC)则更侧重于硬件执行指令的功能性使CISC指令变得更复杂。图.比较了两者的主要不同。拙京变通太堂亟堂位监塞BM与££Q盆缓CISCRISC更高的复杂性码更高的复杂性CISC强调硬件的复杂性PdSC注重编译器的复杂性图CSC与RIsC体系的比较FiComparisonofCISCandRSCRISC设计思想主要由下面个设计准则来实现。指令集USC处理器减少了指令种类。RISC的指令种类只提供简单的操作使一个周期就可以执行一条指令。编译器或程序员通过几条简单指令的组合来实现一个复杂的操作(例如除法操作)。每条指令的长度都是固定的允许流水线在当前指令译码阶段去取其下一条指令而在CISC处理器中指令的长度通常是不固定的执行也需要多个周期。流水线指令的处理过程被拆分成几个更小的、能够被流水线并行执行的单元。在理想情况下流水线每周期前进一步可获得最高的吞吐率而CISC指令的执行需要调用微代码的一个微程序。寄存器一耻SC处理器拥有更多的通用寄存器。每个寄存器都可存放数据或地址。寄存器可为所有的数据操作提供快速的局部存储访问:而CISC处理器都是用与特定目的的专用寄存器。loadstore结构处理器只处理寄存器中的数据。独立的load和store指令用来完成数据在寄存器和外部存储器之阊的传送。因为访问存储器很耗时所以把存储器访问和数据处理分开。这样有一个好处那就是可反复地使用保存在寄存器中的数据而避免多次访问存储器。相反在CISC结构中处理器能够直接处理存储器中的数据。这些设计准则使得RISC结构的处理器更为简单因此内核能够工作在更高时钟频率。相反传统的CISC处理器因为结构更为复杂只能工作在较低的时钟频率。然而经过多年的发展CISC处理器也引入了许多RISC的设计思想RISC和CISC之间的界线已经变得越来越模糊了【】。蓦羞jE塞銮逗左堂亟堂僮途窑基丛复E£鱼盒缉..ARM设计思想有许多客观需求促进了ARM处理器的设计改进。首先便携式的嵌入式系统往往需要电池供电。为降低功耗ARM处理器已被特殊设计成较小的核从而延长了电池的使用时间。高的代码密度是嵌入式系统的又一个重要要求。由于成本问题和物理尺寸的限制嵌入式系统的存储器是很有限的。另外嵌入式系统通常都是价格敏感的因此一般都是用速度不高成本较低的存储器。ARM处理器中已经集成了硬件调试技术因此软件工程师们能够观察到处理器在执行代码时的具体情况。这种更高的可视性使得软件工程师们能够更快速地解决问题。这对缩短产品上市时间有直接的效果从而降低了系统的整体开发成本。为了使ARM指令集能够更好地满足嵌入式应用的需求ARM指令集和单纯的RISC定义有以下几方面的不同。一些特定指令的周期数可变一并不是所有ARM指令都是单周期的。内嵌桶形移位器产生了更为复杂的指令内嵌桶形移位器是一个硬件部件它扩展了许多指令的功能以此改善了内核的性能提高了代码密度。Thtanbl位指令集一能够执行位指令代码密度可以提高约%条件执行一当某个特定条件满足时指令才会被执行。可以减少分支指令的数日从而改善了性能提高了代码密度。增强指令一些功能强大的数字信号处理器(DsP)指令被加入到标准的ARM指令之中以支持快速的x位乘法操作及饱和运算。.ARM常用处理器系列..ARM系列ARM内核是冯诺依曼架构数据和指令使用同一条总线。内核有一条级jE夏至亟太堂亟堂僮论奎壁丛生££Q企绥流水线执行ARMv指令集。ARM系列包括ARMTDMI、ARMTDMI.S、ARMT和ARMEJ.S。其中T代表支持Thumb指令集D代表支持片上调试M代表集成硬件乘法器I代表支持片上断点和调试点s代表可综合的E代表具有增强指令功能J代表支持Jazelle技术(可加速Java字节码的执行)。ARMTDMI是ARM公司于年推出的新系列中的第一个处理器内核。是目前一个非常流行的内核已被用在许多位嵌入式处理器上。它提供了非常好的性能.功耗比。ARMTDMI处理器内核已经许可给许多世界顶级半导体公司它是第一个包括Thumb指令集、快速乘法指令和嵌入式ICE调试技术的内核。..ARM系列ARM系列于年问世。采用了级指令流水线ARM处理器能够运行在比ARM更高的时钟频率上改善了处理器的整体性能存储器系统根据哈佛体系结构重新设计区分了数据D和指令I总线。ARM系列的第一个处理器是ARMT包含独立的DIcache和一个MMU。这个处理器能够被用在要求有虚拟存储器(虚存)支持的操作系统上。ARMT是ARMT的变种只有一半大小的DIcache。ARMT包括一个更小的DIcache和一个MPU。它是针对不要求运行平台操作系统的应用而设计的。ARMT和ARMT都执行vT架构指令。ARM系列的下一个处理器是基于ARMES内核的。这个内核是ARM内核带有E扩展的一个可综合版本。它有个变种:ARME.S和ARME.S。两者都执行vTE架构指令。它们也支持可选的嵌入式跟踪宏单元(ETM)允许开发者实时跟踪处理器上指令和数据的执行。当调试对时问敏感(timeeriticab的程序段时这种方法非常重要】。ARM产品线的最新内核是ARMEJ.S可综合的处理器内核发布于年。它是针对小型便携式Java设备诸如G手机和个人数字助J里(PDA)应用而设计的。ARMEJ.S是第一个包含Jazelle技术的ARM处理器内核。它还有一个MMU、可配置的TCM以及具有零或非零等待存储器的D牛Icache。..ARM与ARM系列的比较aE立变逗盍翌亟堂僮论塞&丛皇里£Q企缉ARM将ARM的功能显著提高到更高、更强的水平。最显著的区别是流水线从缀增加到级。流水线是RISC处理器执行指令时采用的机制。使用流水线可在取下一指令的同时译码和执行其它指令从而加快执行速度。图是ARM的级流水线:取指(做ch卜一从存储器装载一条指令译码(decode卜一识别将被执行的指令执行(exaltel一处理指令并把结果写回寄存器。操作指令ADDSUBMOVI指令预取译码F。藩。疆指令预取译码r荔磊”砑&、氘g二&‰、潮指令预取译码匿夏矿习隧‰。一。溺堕闷图ARM的级流水线FilevelpipelineofARMARM内核把流水线深度(级数)增加到级对执行段细分增加了存储器访问段和回写段。图.是ARM的级流水线:执行(exa】删r.处理指令。存储器(m砌。哆P一如果需要则访问数据存储器否则ALU的结果只是简单地缓冲个时钟周期以便所有的指令具有同样的流水线流程。回写(writcr一将指令产生的结果回写寄存器到寄存器堆包括任何从存储器中读取的数据。操作指令ADDsUBMoVI指令预取译码医蜀存储嚣回写指令预取译码l”甭霜”{存储器回写指令预取译码酽荔蠢疆存储器回写‰%。#潮堕!旦图ARM的级流水线北塞銮煎盍堂亟茔僮论塞B丛生E£Q企缉FilevelpipelineofARM随着流水线深度的增加每一段的工作量被削减了这使得处理器可以工作在更高的频率同时也改善了性能。但系统延迟(atency)N样也增加了这是因为在内核执行一条指令前需要更多的周期来填充流水线。图比较了ARM的级流水线和ARM的级流水线。ARMTDh皿预取译码ARM帅Ⅶl寄存寄存I器读移位ALU器写预取译码执行存储器回写图ARM与ARM流水线操作对比FipipeliningcA)mpalJgonofARMandARMARM内核把流水线深度增加到级使得ARM的处理能力可达到平均.MIPS/MHz与ARM相比指令吞吐量增加了约%。同时ARM内核能达到的最高频率也更高。.FPGA/CPLD可编程逻辑器件..可编程逻辑器件分类可编程器件是指一切通过软件手段更改、配置器件内部连接结构和逻辑单元完成既定设计功能的数字集成电路。目前常用的可编程逻辑器件主要有简单的逻辑阵列(PAUGAL)、复杂可编程逻辑器件(CPLD)和现场可编程逻辑器件(FPGA)等类。生产可编程逻辑器件的公司主要有Altera、Xilinx、LattioB等。下面主要简单介绍CPLD和FPGA:()CPLDCPLD是ComplexProgrammableLogicDevice的缩写即复杂可编程逻辑器件。a£立窑适友堂亟堂鱼盈塞&丛生££Q佥缉CPLD是在PAL、GAL的基础上发展起来的一般也采用ECMOS工艺也有少数厂商采用Flash工艺其基本结构由可编程FO单元、基本逻辑单元、布线池和其他辅助功能模块构成。CPLD可实现的逻辑功能比PAL、GAL有了大幅度的提升一般可以完成设计中较复杂、较高速度的逻辑功能。()FPGAFPGA是FiddProgrammableGateArray的缩写即现场可编程门阵列。FPGA是在CPLD的基础上发展起来的新型高性能可编程逻辑器件它一般采用SRAM工艺也有一些专用器件采用Flash工艺或反熔丝(Anti.Fuse)Z艺等。FPGA的集成度很高其器件密度从数万系统门到数千万系统门不等可以完成极其复杂的时序与组合逻辑电路功能适用于高速、高密度的高端数字逻辑电路设计领域。..FPGA的基本结构简化的FPGA基本由部分组成分别为可编程输入、输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等【l。()可编程输入/输出单元输入输出单元简称FO单元它们是芯片与外界电路的接口部分完成不同电气特性下对输入/输出信号的驱动与匹配需求。为了使FPGA有更灵活的应用目前大多数FPGA的的单元被设计为可编程模式即通过软件的灵活配置可以适配不同的电气标准与FO物理特性可以调整匹配阻抗特性上下拉电阻可以调整输出驱动电流的大小等。()基本可编程逻辑单元基本可编程逻辑单元是可编程逻辑的主体可以根据设计灵活地改变其内部连接与配置完成不同的逻辑功能。FPGA一般是基于SRAM工艺的其基本可编程逻辑单元几乎都是由查找表(LUTLookupTablc)和寄存器(Rc百st哪组成的。FPGA内部查找表一般为输入查找表一般完成纯组合逻辑功能。FPGA内部寄存器结构相当灵活可以配置为带同步/异步复位或置位、时钟使能的触发器(FFFibFlop)也可以配置成为锁存器(Latch)。FPGA一般依赖寄存器完成同步时序逻辑设计。()嵌入式块RAM目前大多数FPGA都有内嵌的块RAM(BlockRAM)。FPGA内部嵌入可编程RAM模块大大地扩展了FPGA的应用范围和使用灵活性。FPGA内嵌的块RAM一般可以灵活配置为单端口RAM、双端口RAM、伪双端口RAM、FIFO(FirstInFirstout)等常用存储结构。FPGA内部实现存储结构都可以基于嵌入式块RAM单元并根据需求自动生成相应的粘合逻辑(GlueLogic)以完成地址和片选等控制逻辑。()丰富的布线资源布线资源连通FPGA内部所有单元连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。FPGA内部有着非常丰富的布线资源这些布线资源根据工艺、长度、宽度和分布位置的不同而被划分为不同的等级有一些是全局性的专用布线资源用以完成器件内部的全局时钟和全局复位/置位的布线一些叫做长线资源用以完成器件Bank(分区)间的一些高速信号和一些第二全局时钟信号(tg称为LowSkew信号)的布线还有一些叫做短线资源用以完成基本逻辑单元之间的逻辑互联与布线另外在基本逻辑单元内部还有着各式各样的布线资源和专用时钟、复位等控制信号线。()底层嵌入功能单元底层嵌入功能单元指通用程度较高的嵌入式功能模块比如PLL(PhaseLockedLoop)、DLL(DelayLockedLoop)、DSP、CPU等。随着FPGA的发展这些模块被越来越多地嵌入到FPGA内部以满足不同场合的需求。且前大多数FPGA厂商都在FPGA内部集成了PLL或DLL硬件电路用以完成时钟的高精度、低抖动的倍频、分频、占空比调整、移相等功能。()内嵌专用硬核内嵌专用硬核主要指通用性相对较弱的功能模块不是所有FPGA器件都包含硬核(HardCore)。..FPGA的设计流程()电路设计与输入电路设计与输入是指通过某些规范的描述方式将电路构思输入给EDA工具。常用的设计输入方法有硬件描述语言饵DL)和原理图设计输入等。最常用的设计方法是HDL设计输入法最常用的HDL语言是VHDL和VerilogHDL。它们的共同特点是利于自顶向下设计利于模块的划分与复用可移植性好通用性好设计不因芯片的工艺与结构的不同而变化更利于ASIC的移植。jE塞銮逗盍堂亟堂僮淦塞基丛皇££鱼金缉()功能仿真电路设计完成后要用专用的仿真工具对设计进行功能仿真验证电路功能是否符合设计要求。通过仿真能及时发现设计中的错误加快设计速度提高设计的可靠性。()综合优化综合优化(Synthesize)是指将HDL语言、原理图等设计输入翻译成由与、或、非门RAM触发器等基本逻辑单元组成的逻辑连接(网表)并根据目标与要求(约束条件优化所生成的逻辑连接输出标准格式的网表文件供FPGA/CPLD厂家的布局布线器进行实现。()综合后仿真综合完成后需要检查综合结果是否与原设计一致做综合后仿真。主要目的在于检查综合器的综合结果是否与设计输入一致。()实现与布局布线综合结果的本质是一些由与、或、非门触发器RAM等基本逻辑单元组成的逻辑网表它与芯片实际的配置情况还有较大差距。此时应该使用FPGA/CPLD厂商提供的软件工具根据所选芯片的型号将综合输出的逻辑网表适配到具体FPGA/CPLD器件上这个过程叫实现过程。在实现过程中最主要的过程是布局布线(PARPlaceAndRoute):布局(Place)指将逻辑网表中的硬件原语或者底层单元合理地适配到FPGA内部的固有硬件结构上布局的优劣对设计的最终实现结果影响很大布线(Route)指根据布局的拓扑结构利用FPGA内部的各种连线资源合理正确连接各个元件的过程。()时序仿真与验证将布局布线的时延信息反标注到设计网表中所进行的仿真就叫时序仿真或布局布线后仿真简称后仿真。布局布线后仿真的主要目的在于发现时序违规(TimingViolation)即不满足时序约束条件或者器件固有时序规则(建立时间、保持时间等)的情况。()板级仿真与验证在有些高速设计情况下还需要使用第三方的板级验证工具进行仿真与验证分析高速信号设计的信号完整性、电磁干扰(EMt)等电路特性等。()调试与加载配置设计开发的最后步骤就是在线调试或者将生成的配置文件写入芯片中进行测试嘲。整个流程如图.所示其中虚线框不是盛需的步骤。图FPGA设计流程FiFPGAdesignnow系统硬件设计硬件系统是系统的基石硬件设计好坏能决定系统的性能以及软件设计的工作量。本章以ARM处理器和FPGA为核心基于芯片的性能特点叙述了各个模块的功能并进行了系统的硬件设计。.系统核心芯片本文使用Samsung公司的$C处理器和Altera公司的EPCFPGA作为系统的核心主控制器是ARM处理器FPGA以协处理器的方式辅助控制器完成数据采集的工作。..SamsungARMT处理器$C$C是三星公司的ARMT处理器.Itm制程工艺主频最高达MHzFBGA封装核心电压.V。ARMT是五级流水线的哈佛架构处理器核内部有KB指令和KB数据高速缓存具有MMU(内存管理单元)能够运行Linux、WinCE操作系统(没有MMU的处理器不能运行)。$C内部结构如图.所示其片上集成了丰富的功能:外部存储器控制器(SDRAM控制和片选逻辑带独立DMA通道的LCD控制器带外部请求引脚的路DMA路UAR耽路SPIl路多主IIC总线/l路IIS总线控制器SDl.版本主接口兼容MMC卡.版本协议’USBl.个USB主设备端EI/个USB从设备接口路PWM定时器和l路外部定时器看门狗定时器个通用I/O引脚和路外部中断源通道位ADC和触摸屏接口带日历功能的实时时钟片上PLL时钟发生器f】叵固A乍令l蔗黧&IH仁令I喇帆f牟l龋l£SI盛怒淼MI|u棚qT,”k专牟专lll.k.qDe埔:e=A牟IIPII牟令乍令IOPlOlI撇Tart呦erI乍专牟冷IRTCIlINw“|殿温‰I牟S冬冷IADcll~协幻嘲:k删el\叫}鲷o睁专夺专l』.T'e圳c,er一唑删l图$C内部结构图..AlteraCycloneIIFPGAEPCjb塞至逗盔堂亟堂僮途塞丕筮鲤鲑遮让ALTERA公司的CycloneII系列FPGA是针对低成本应用的FPGA其具有以下特点:rim制程工艺密度高最大的cydoneII器件规模是cydone的倍比一代产品新增嵌入式乘法器大大增强DSP处理能力高速存储器借口和高速差分接口支持DDR内存高速差分接口其LVDS发送端的数据速率可以支持Mbit/s而接收端数据速率可以支持Mbi低。集成更大的片上存储器。时钟网络和PLL最高个PLL、个时钟控制块和个全局时钟网络时钟引脚可以直接驱动全局时钟网络们。CycloneII系列FPGA共有多种型号不同型号的区别在于内部资源和外部引脚的数量表.列出了整个家族不同器件的片上资源。本系统选用此系列型号EPCTC的FPGA。EPC使用.V电压供电封装形式为TQFPl。其片内有两个PLL可对外部时钟输入通过倍频、分频获得所需的时钟还有bit的RAM块用来设计FIFO存储器。表CycloneⅡ系列FPGATabCycloneIIFPGAFamilyEPCEPCEPCEPCEPCEPCEPCLEsMKRAM块片上总&RaM(bit)乘法器锁相环最大I/引脚数.电源模块设计本文使用外部输入的V作为总电源输入通过电源模块电路将其转换为系统所需的其它电压V.V.V.V.而且同样电压在数字电路和模拟电路部分也傲了隔离杜绝数字噪声耦合到模拟电路部分造成干扰.在电源质量要求较高的地方也采取了相应的措旌对电源进行处理。常用电源模块通常分为开关电源和线性电源开关电源和线性电源有各自的优缺点。开关电源的优点是效率高输出电流大发热低输入电压范围宽但缺点是外围元件相对较多对布线有要求且输出电压纹波较高对电容电感要求较高。线性电源电路简单只需在输入输出端并接电容即可输出精度高更适合电源质量要求高的场合但其输入电压范围小输出功率小发热大效率低。在系统中根据实际需要V电源使用了开关电源其它部分则使用线性电源。..主电源设计系统外加了大量外设特别是外接笔记本硬盘需要较大的启动电流使得系统所需电流余量较大所以在V转换电路上使用了开关型电源LMS..这是国家半导体公司生产的芯片其特点是:最大输出电流可达到A。高转换效率。只需个外部元件。输入电压高达V。过热关闭和过流保护【sJ.其电路原理图如图所示外围元件只有个电容一个二极管和一个功率电感二极管N是反向电压VA的肖特基二极管。电感的选择跟输出电流有关当输入电压为V时输出电流要达到A时电感容量应选uH。输入电容C输出电容C为铝电解电容容量应大于lOOuF本系统选用耐压V容量uF的固态电容作为输入电容耐压V容量uF的红宝石电解电容作为输出电容。图LM原理图FiLMschematicdiagram..ARM处理器电源设计SC处理器的电源按电压高低分类为两种.V和.V同时.V电源也是大部分器件的电源如SDRAMNANDFLASH等。.V采用常用的三端线性稳压源LMlll.来获得其特点是输出最大电流是mA电流限制和过热保护输出电压精度士t%。其原理图如图所示。输入输出端均并联了uF的滤波电容和.uF的退耦电容。图LMlll原理图FiLMlllschematicdiagramMIC.BM是Micrel公司的一款高效线性稳压源特别为手持、电池供电设备设计具有超低噪声的输出很低的压降mA电流负载压降mV)非常低的地电流(mA输出uA)。其关键特性包括提高低噪声性能的参考旁路引脚反向电池保护过流保护过热关闭还提供一个CMOS/TrL电平兼容的使能/关闭引脚当关闭时功耗降至几乎为零【】。原理图如图.所示图中pF电容连接参考旁路引脚进一步降低输出噪声电源输出并联大于.uF的电容防止自激振荡此处使用uF钽电容。使用两片MIC原因是SC具有电源管理功能可以使CPU进入掉电模式同时关闭芯片内部大部分模块供电但仍需提供一部分模块电源保证可以从掉电模式唤醒CPU到正常状态。一片MIC的使能引脚一直使能另一片接CPU的PWREN引脚PWREN引脚当CPU进入掉电模式后会由高变低关闭CPU内核jE基变适塞堂亟堂焦i金塞丕统礁鲑逡让的电源只保持复位模块和端口状态寄存器模块的电源可由外部中断引脚EINT:或实时时钟报警唤醒CPU。CPU由外部唤醒后PWREN引脚由低变高电平重新打开内核电源CPU则可以返回到正常工作模式。图.MIC原理图FiMICschematicdiagram..FPGA电源设计FPGA电源引脚有三类VCCINTVCCIO和VCCAPLL。()VCCINT是内部供电电压.v供电()VCCIO是I/O电压可根据外部I/O电平来选择一般.V特别的是FPGAI/O管脚分成个BANK多个VCCIO对应着这个BANK可以提供不同的VCCIO来使得I/O引脚支持不同的电平值。在这里和ARM处理器共用.V电源。()VCCA是锁相环的供电引脚电压.公司PLLVALTERAFPGA的锁相环PLL都是模拟电路实现的其对电源噪声比较敏感【“l需要将其与数字电源分开供电。通过串联电感或磁珠将数字和模拟电源隔离。芯片供电电源使用LDO电源芯片来产生.V电压的有LDIll.等由于VCCINT的电压范围是...V可以利用可调型号LMIllADJ来得到.V的电压只需将可调端引脚ADJ接地。其原理图如下LMIllADJ当使用.V输出时需在电压输出端并联一个欧姆的电阻。原理图如下:图.V电源Fi,VoltPower班班.ARM处理器外围模块设计..NANDFLASH芯片KFKF是三星公司生产的NANDFLASH存储器大小为Mxbit数据存储容量为MB采用块页式存储管理。NANDFLASH存储器是固态大容量存储市场最高性价比的解决方案。在操作特性上字节大小页面的编程时间一般是usK字节块的擦除时间一般是ms页面中的数据能以m/byte的速度循环读出【。NANDFLASH在需要大容量存储器的应用中得到了广泛的使用平常的u盘MP中都使用了NANDFLASH作为非易失性存储器。相比NORFLASH它具有容量大擦除和写入速度快的特点而且其特殊的存储器接口使得不用更改电路板就可以更换更大容量的FLASH而且数据连线少便于PCB布线。一些处理器如SC就具有NANDFLASH控制器且支持从NANDFLASH启动。NANDFLASH的结构如图所示。它由块(Block)组成每个块又由页(Page)组成。KF共有个块一个块有页。对于容量M以下的NANDFLASH每个页字节l页=数据块大d、(Bytes)OOB块大d,(Bytcs)最后个字节(又称)用于NandFlash命令执行完后设置状态用容量大于M的FLASH页面大小一般是K字节超大容量的FLASH(大于G)一般是K字节。K(块=页(K字节页=字节块=x页=(K)字节设备=Bx页X块=兆位图KgFl内部结构图FiKFiinternals衄|chnNANDFLASH读写同样有一定的时序要求可以进行页块擦除块、页写入随机读取等操作。写入前同样要先进行擦除操作。其存储操作特点:.擦除操作的最小单位是块。.NaadFlash芯片每一位彻t)只能从变为而不能从变为l所以在对其进行写入操作之前要一定将相应块擦除(擦除即是将相应块得位全部变为。.OOB部分的第六字节(即字节)标志是否是坏块如果不是坏块该值为FF否则为坏块。.除OOB第六

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +2积分

资料评价:

/14
仅支持在线阅读

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部