单片机与FPGA逻辑接口设计_第1页
单片机与FPGA逻辑接口设计_第2页
单片机与FPGA逻辑接口设计_第3页
单片机与FPGA逻辑接口设计_第4页
单片机与FPGA逻辑接口设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机与FPGA逻辑接口设计单片机与FPGA/CPLD接口逻辑设计姓名刘伟学号0903609029班级通信工程单片机与FPGA/CPLD接口逻辑设计一论文摘要:设计一种基于MCS51单片机与FPGA通信的接口逻辑电路,实现单片机与可编程逻辑器件数据与控制信息的可靠通信。使可编程逻辑器件与单片机相结合,优势互补,组成灵活的、软硬件都可现场编程的控制系统。设计采用的是VHDL语言的文本输入方式,设计比较灵活,按照接口的要求设计逻辑电路。接口主要有并行接口和总线接口,总线接口是由波特率发生器、接收器和发送模块组成,通过各模块的功能设计接口逻辑。利用仿真软件QuartusH进行分析综合、功能仿真与时序

2、仿真,生成分析报告以及内部逻辑电路,并得出仿真结果,验证接口的可行性。关键词:单片机,FPGA,接口逻辑,数据通信二2-1绪论§2-1-1设计思想:FPGA作为一种新型的可编程逻辑器件,可以取代现有的全部微机接芯片,实现微机系统中的存储器、地址译码等多种功能,具有更高的密度、更快的工作速度和更大的编程灵活性,被广泛的应用于各种电子类产品中。在功能上,单片机具有性价比高、功能灵活、易于人机对话、强大的数据处理能力等特点。但受其内部资源的限制,在很多应用中,单片机需要在片外扩展相关资源,如程序存储器、数据存储器、I/。口以及中断等;而FPGA具有高速、高可靠性以及开发便捷、规范等优点,使

3、其有机结合,缩短开发周期,适应市场需要。FPGA/CPLD具有高速、高可靠以及开发便捷、规范等优点,在功能上与单片机有很强的互补性。因此两类器件相组合的电路结构将在许多高性能仪器仪表和电子产品中被广泛应用。基于这种需求,本文设计了单片机与FPGA的总线接口逻辑电路,实现了单片机与FPGA数据与控制信息的可靠通信,是FPGA与单片机优势互补,组成灵活的、软硬都可现场编程的控制系统,广泛应用在各个领域§2-1-2FPGA技术发展概况国内外发展状况自1985年Xilinx公司推出第一片现场可编程逻辑器件(FPGA)至今,FPGA已经历了十几年的发展历史。在这十几年的发展过程中,以FPGA为

4、代表的数字系统现场集成技术取得了惊人的发展:现场可编程逻辑器件从最初的1200个可利用门,发展到90年代的25万个可利用门,乃至当新世纪来临之即,国际上现场可编程逻辑器件的著名厂商Altera公司、Xilinx公司又陆续推出了数百万门的单片FPGA芯片,将现场可编程器件的集成度提高到一个新的水平。目前,FPGA技术凭借它的独特优势,已经跃之为电子应用(包括通讯技术、计算机应用、自动控制、仪器仪表、ASIC设计)领域广受欢迎的实用化技术,成为数字系统的科研实验、样机试制、小批量产品的即时实现的最佳途径。同时,FPGA器件的新功能、新构思正在不断出现,向更高密度、更大容量、更低功耗和集成更多IP的

5、方向发展,国际各大公司都在积极扩充其IP库,以优化的资源越好来满足用户的需求,不断扩大市场,特别是引人注目的FPGA可动态可重构技术的开拓,将推动数字系统设计的巨大变革目前FPGA/CPLD供货商全部来自美国公司,主要是Xilinx、Altera.Lattice.ActekAtmel等。其中以Xilinx和Altera的市场占有率最大,是最大的可编程集成电路供货商。国内的FPGA技术发展也非常迅速,很多公司通过和国际上的大公司保持长期的合作,提高专业的技术指导和培训,培养更多的FPGA人才,凭借国内巨大的市场需求、丰富的人力资源,以及稳定的经济发展和优越的政府扶持等众多优势条件,近几年,可编程

6、逻辑器件产业取得了飞速发展,不断研制出性能更好的产品,价格也不断降低,很大程度上降低了设计者的开发成本FPGA技术的应用及发展趋势(1)深亚微米技术的发展正在推动了片上系统(SOPC)的发展。(2)芯片朝着高密度、低压、低功耗的方向挺进。(3)IP库的发展及其作用。(4)速度不断提高,性能不断提升。(5)FPGA动态可重构技术意义深远2-2总线接口逻辑设计方案由于单片机以总线方式与FPGA/CPLD进行数据与控制信息通信有许多优点,因此在设计中,单片机与FPGA/CPLD接口采用总线方式。§2-2-1设计原理对MCS51单片机与FPGA/CPLD以总线方式通信的逻辑接口设计,应该详细

7、了解MCS51单片机的总线读/写时序,并根据时序图来设计逻辑结构。MCS51单片机总线读/写的时序如图3所示,其时序电平变化速度与单片机工作时钟频率有关。|SI|S21S3|S4|S5|S6|SI|S2|S3S4|S5|S6|alernWricLKumnjmnjwLruwumnmuuwL指、读允许PSEN1RD/WR-1外地递强许IKD/WR指令地址Al5A8数据地址A15A8P2XA15A8XA15-A8乂-A7-A0指令A7A0数据A7-A0低8位指令地址低8位数据地址低8位数据地址图3MCS51单片机总线读/写时序CLK为单片机时钟信号,ALE为地址锁存使能信号。在读/写周期开始后,CP

8、U把低8位地址送到P0口总线上,把高8位地址送到P2口总线上,利用ALE下降沿可将低8位地址锁存于地址锁存器中,而高8位地址信息一直锁存在P2口锁存器中;同时单片机利用读指令允许信号PSEN的低电平从ROM中将指令从P0口读入,其指令读入的时机是在PSEN的上升沿之前。接下来,由P2口和P0口分别输出高8位和低8位数据地址,并由ALE的下降沿将P0口的低8位地址锁存于地址锁存器.然后根据读/写信号的状态读写外部数据,把数据送到P0口总线上;数据读/写的时机是在读/写信号的上升沿之前,将数据读入单片机或写入被寻址的地址单元。当读/写信号变为无效电平后,P。口总线变为)状态,为下次总线读/写做好准

9、备。通过对MCS51单片机总线读/写时序的分析,可以在FPGA/CPLD中设计一个总线接口模块,实现单片机三总线信号的编码。由于在总线应用时,MCS51单片机的P。口是作为地址/数据总线分时复用的,因此应在总线接口模块中设计一个三态缓冲器,实现P。口的三态接口;又因为MCS51单片机在访问外部空间时,它的地址为16位,因此借助地址锁存使能信号ALE在FPGA/CPLD中实现高8位与低8位地址的编码,组合成16位地址,然后再根据MCS51单片机的读/写信号,实现对FPGA/CPLD的读写操作。§2-3总线接口设计过程论述通过对MCS51单片机总线读/写时序的分析,设计了FPGA/CPL

10、D中,设计了两个模块:一个是总线接口模块,负责单片机与FPGA/CPLD的总线接口逻辑;另一个是寄存龄单元及外部接口模块,运用总线接口模块来操作此模块。图4MCS51单片机与FPGA/CPLD总线接口框图图中整个总线接口逻辑模块将MCS51单片机的三总线信号编码成5个信号输出:16位地址信号add16、读使能信号RD_EN、写使能信号WR_EN、数据输出信号Din及【据输入信号Douto在总线接口模块中,又分为3个小模块:三态缓冲模块、锁存器模块及编码模块。三态缓冲模块实现与单片机P0口接口;锁存器模块利用ALE信号锁存单片机输出的低8位地址。利用其下降沿将低8位地址锁存于FPGA/CPLD中

11、的地址锁存器(addresslatch)中;当ALE将低8位地址通过P0及三态缓冲器锁存的同时,高8位地址已稳定建立于P2口;通过编码模块将高8位与低8位地址组合成16位地址addrl6e同时根据单片机的读/写控制信号编码成RD.EN与WR_EN使能信号。若需从FPGA/CPLD中读出数据,单片机则通过指令"MOVXA,DPTR使RD信再由WR的低电平使能号为低电平,使能RD.EN信号,由P0口将图中地址addrl6所指单元的数据读入累加器A;但若将累加器A的数据写进FPGA/CPLD中,单片机则需通过指令、MOVXDPTR,A”和写允许信号WR。这时,DPTR中的高8位和低8位数据

12、作为高、低8位地址分别向P2和P。口输出,然后经ALE信号下降沿锁存,产生16位地址addH6。WR_EN信号,将累加器A的数据经P0口及三态缓冲器写入中16位地址addrl6所对应的单元中。实现单片机对FPGA/CPLD的读/写操作。§2-4结果分析通过QuartusII软件对总线接口的逻辑设计进行设计,建立相应的波形文件来进行仿真,检测是否可行,并对占有资源、时序分析等相关因素进行分析,反复调试并分析得出的仿真结果,生成逻辑设计的内部电路,证明单片机与FPGA总线接口逻辑可行,由于门电路及逻辑走线造成一定的延时,实践证明都在ns级别,基本上可以忽略,但是因为造成的延时,时序仿真时

13、会出现毛刺,有待进一步研究消除。三结论本文的研究目的主要是针对单片机与FPGA总线接口逻辑设计,运用EDA技术对逻辑设计进行仿真,生成内部逻辑电路图,以实现单片机与FPGA之间的数据和控制信号的通信。设计以Altera公司的Cyclone系列芯片为硬件平台,单片机芯片为核心,利用EDA技术的开发软件QuartusII对总线接口进行逻辑设计,按照接口的相关要求进行优化,生成分析报告,并显示逻辑设计占用FPGA芯片的逻辑单元和引脚数,完成内部逻辑设计,并对延时和存在的问题进行分析,以验证接口是否按要求可行,使得单片机与FPGA数据与控制信息的通信更加可靠、有效。单片机与FPGA总线接口的设计主要是

14、按照单片机的读/写时序设计逻辑电路,利用单片机的接口和控制信号来完成并行数据的传输,并对逻辑设计进行了功能仿真和时序仿真及相关的分析,得出相应的结论,由仿真图显示证明该接口可行,可以用来扩展单片机的外部资源及其功能,结合两者的优势,很大程度地提高了数据处理能力和容量空间。设计中对接口逻辑进行了仿真分析,得出仿真结果以及各自占用FPGA芯片的内部资源,同时生成编程文件及接口逻辑的内部详细电路,以便后期的下载验证。设计的不足之处:没有实现硬件仿真,与实际的延时会有一定的误差,对于信号在FPGA的内部走线和通过逻辑单元时造成的延时,组合逻辑输出时会产生毛刺,可能会导致数据的错误,目前已经有一些消除毛

15、刺的方法,有待进一步研究和改善。四附录其源程序如下一FPGA/CPLD内部寄存器地址定义libraryIEEE;useIEEE.STDLOGIC1164.all;PACKAGEInterfaceISCONSTANTADDR_REG1:STD_LOGIC_VECTOR(15DOWNTOO):=XnFFFln;CONSTANTADDR_REG2:STD_LOGIC_VECTOR(15DOWNTO0):=XHFFF2n;CONSTANTADDR_REG3:STD_LOGIC_VECTOR(15DOWNTO0):=XnFFF3n;CONSTANTADDR_REG4:STD_LOGIC_VECTOR(1

16、5DOWNTO0):=XHFFF4n;ENDInterface;FPGA/CPLD读/写操作libraryIEEE;useIEEE.std_logic_1164.all;useIEEE.std_logic_arith.all;useIEEE.std_logic_unsigned.all;usework.Interface.all;entityMCS51_FPGAisport(PO:inoutSTD_LOGIC_VECTOR(7downto0);P2:inSTD_LOGIC_VECTOR(7downto0);ALE:inSTDLOGIC;WR:inSTDLOGIC;RD:inSTDLOGIC;L

17、ED:outSTD_LOGIC_VECTOR(2downto0);endMCS51FPGA;ArchitectureC51_FPGA_BUSOFMCS51_FPGAIS-16位地址signalC51_Addrl6:STD_LOGIC_VECTOR(15downto0);一内部寄存器signalData:STD_LOGIC_VECTOR(31downto0);-WR/RD使能signalWR_EN:STD_LOGIC;signalRD_EN:STD_LOGIC;一地址锁存beginAddress_p:process(ALE)beginIfALE'eventandALE='O

18、9;andALEtLAST_VALUE=tl,thenC51Addrl6<=P2&P0;endif;endprocess;WR_EN<=(WRANDRD)ORWR;RD_EN<=(WRANDRD)ORRD;读FPGA内部寄存器P0<=Data(7downto0)whenC51_Addrl6=ADDR_REGlandRD_EN='0'ELSEData(15downto8)whenC51_Addrl6=ADDR_REG2andRD_EN=t0,ELSEData(23downto16)whenC51_Addrl6=ADDR_REG3andRD_EN='0'ELSEData(31downto24)whenC51_Addr16=ADDR_REG4andRD_EN=t0,ELSEzzzzzzzz*鞭鞭在未读时释放总线,实现总线的三态C51_Write_FPGA:process(WR_EN)beginIFWREVENTandWR,LAST_VALUE=TandWR_EN=l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论