《基于单片机的复杂可编程逻辑器件快速配置方法dkem.docx》由会员分享,可在线阅读,更多相关《基于单片机的复杂可编程逻辑器件快速配置方法dkem.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于单片片机的复复杂可编编程逻辑辑器件快快速配置置方法摘要:介介绍基于于SRAAM的可可重配置置CPLLD的原原理,通通过对多多种串行行配置的的比较,提提出了由由单片机机和FLLASHH存储器器组成的的串行配配置方式式,并从从系统复复杂度、可可靠性和和经济性性等方面面进行了了比较和和分析。 关键词:复杂可可编程逻逻辑器件件静态随随机存储储器被动串串行基基于SRRAM(静静态随机机存储器器)的可可重配置置PLDD(可编编程逻辑辑器件)的的出现,为为系统设设计者动动态改变变运行电电路中PPLD的的逻辑功功能创造造了条件件。PLLD使用用SRAAM单元元来保存存配置数数据。这这些配置置数据决决定了P
2、PLD内内部的互互连关系系和逻辑辑功能,改改变这些些数据,也也就改变变了器件件的逻辑辑功能。由由于SRRAM的的数据是是易失的的,因此此这些数数据必须须保存在在PLDD器件以以外的EEPROOM、EEEPRROM或或FLAASHROMM等非易易失存储储器内,以以便使系系统在适适当的时时候将其其下载到到PLDD的SRRAM单单元中,从从而实现现在电路路可重配配置ICCR(IIn-CCirccuittRecconffiguurabbiliity)。本本文介绍绍笔者设设计的PPLDICRR控制电电路,它它不但线线路结构构简洁、开开发容易易、体积积小、成成本低,并并且在图图2介绍绍的ICCR控制制电路
3、中中,其存存储PLLD配置置数据的的FLAASH存存储器采采用并行行总线,交交换速度度较快。然然而PLLD配置置数据较较大,通通常都在在数十千千字节以以上。如如何提高高图2介介绍的IICR控控制电路路的配置置速度,使使系统上上电后的的最短的的时间内内完成配配置而进进入正常常工作状状态,软软件设计计上的一一个重点点。1基于于SRAAM的可可重配置置CPLLD的结结构与原原理早早期的可可编程逻逻辑器件件大多采采用紫外外线可擦擦除只读读存储器器(EPPROMM)和电电可擦除除只读存存储器(EEEPRROM)方方式。如如GALL系列、EEPF770644、EPPF71128等等。由于于其结构构简单、规
4、规模小,只只能完成成简单数数字逻辑辑功能。此此后,出出现了一一类结构构上稍复复杂的基基于SRRAM存存储器的的可编程程芯片,即即复杂可可编程逻逻辑器件件(CPPLD),它它能完成成各种数数字逻辑辑功能。采采用这些些结构的的可编程程逻辑器器件有AALTEERA公公司的FFLEXX、ACCEX、AAPEXX系列,XXILIINX公公司的SSparrtann、Viirteex系列列。多年年来,AALTEERA公公司一直直致力于于CPLLD的开开发。近近几年,该该公司又又推出了了很有竞竞争力的的CPLLD器件件,即灵灵活的逻逻辑单元元阵列的的FLEEX(FFlexxiblleLoggicEleemen
5、ntMattrixx)系列列产品。相相对于其其它一些些厂家的的FPGGA产品品来说,AALTEERA公公司的FFLEXX系列产产品有其其独特之之处。这这主要表表现在高高密度、在在线配置置功能、高高速度和和连续式式布线结结构等方方面。查查找表LLUT(LLookk-Upp-Taablee)是基基于SRRAM的的可重配配置PLLD的一一个重要要组成部部分,LLUT本本质上就就是一个个RAMM。目前前CPLLD中多多使用44输入的的LUTT,所以以每一个个LUTT可以看看成个有有4位地地址线的的161biit的RRAM。当当用户通通过GDDF原理理图或VVHDLL语言描描述了一一个逻辑辑电路后后,C
6、PPLD开开发软件件会自动动计算逻逻辑电路路的所有有可能结结果,并并把结果果事先存存入查找找表。这这样,当当多信信信号进行行逻辑运运算时就就等于输输入一个个地址进进行查表表,找出出地址所所对应的的内容,然然后将其其输出即即可。2可编编程逻辑辑器件的的配置原原理首首先在开开发软件件MAXX+PLLUSII的的ASSSIGNN菜单下下选择将将要采用用的基于于SRAAM的器器件名称称。经过过编译、优优化、逻逻辑综合合、仿真真等步骤骤达到设设计要求求后,软软件会自自动产生生一个编编程文件件(扩展展名为.SOFF文件)。对对于基于于SRAAM工艺艺的可编编程逻辑辑器件(如如ALTTERAA的所有有FLE
7、EX、AACEXX、APPEX系系列,XXILIINX的的Spaarteen、VVerttex系系列),由由于SRRAM存存储器的的特点,掉掉电后数数据会消消失,因因此在调调试期间间可以采采用并口口ByttebllastteMVV下载电电缆多次次重复配配置PLLD器件件。当电电路设计计成功,调调试完成成后,需需要将配配置数据据烧写固固化在一一个由AALTEERA生生产的专专用EEEPROOM(如如EPCC14441)中中。上电电时,由由这片配配置EEEPROOM先对对PLDD加载数数据,几几十毫秒秒后,PPLD即即可正常常工作。CPLLD器件件的工作作状态分分为三种种:首先先是上电电配置状状态
8、(CConffiguurattionnModde),将将编程的的数据装装入CPPLD器器件的过过程,也也可称之之为构造造;然后后是初始始化状态态(InnitiialiizattionnModde),在在配置完完成后,CCPLDD器件复复位内部部各类寄寄存器,让让I/OO引脚为为逻辑器器件正常常工作做做准备;最后是是用户状状态(UUserrModde),指指电路中中CPLLD器件件正常工工作时的的状态。AALTEERA公公司具有有ICRR功能的的PLDD器件有有FLEEX80000、FFLEXX10KK、APPEX和和ACEEX系列列,它们们的配置置方式可可分为PPS、PPPS和和JTAAG(J
9、JoinntTesstActtionnGrooup)等等方式。PPS方式式因PLLD与配配置电路路的互连连最简单单,对配配置时钟钟的最小小频率没没有限制制而应用用最广泛泛,因此此在ICCR控制制电路中中通常采采用PSS配置方方式来实实现ICCR功能能。被被动串行行(PSS)配置置方式:在该配配置方式式下,由由ByttebllastteMVV下载电电缆产生生一个由由低到高高的跳变变送到nnCONNFIGG引脚脚脚复位PPLD,然然后将配配置数据据送到DDATAA0引脚脚,直到到CONNF_DDONEE引脚变变为高电电平。图图1是PPS配置置方式的的时序图图。COONF_DONNE变成成高电平平后
10、,DDCLKK必须多多余十个个周期来来初始化化该器件件。器件件的初始始化由下下载电缆缆自动执执行。在在PS方方式中没没有握手手信号,所所以配置置时钟的的工作频频率必须须低于110MHHz。在在多器件件PS配配置方式式中,第第一片PPLD的的nCEEO引脚脚级联到到下一片片PLDD的nCCE引脚脚。在配配置完第第一个器器件后,nnCEOO输出为为低,使使第二个个PLDD器件的的nCEE有效,开开始对第第二块器器件进行行配置。3用WWINBBONDD78EE58单单片机配配置可编编程逻辑辑器件用单片机机配置可可编程逻逻辑器件件与上述述PS配配置方式式原理一一致,只只需模拟拟PS配配置方式式中DAA
11、TA00、DCCLK、nnCONNFIGG、COONF_DONNE、nnSTAATUSS引脚的的配置时时序,将将配置数数据串行行移入PPLD。配配置引脚脚的功能能如表11所示。3.1硬件设计用用单片机机配置PPLD,可可以使用用普通输输入输出出口或单单行口。使使用普通通I/OO口(如如P1口口),向向PLDD发送11Bitt数据至至少需要要4个指指令周期期。一个个指令给给DATTA0赋赋值,两两个指令令产生DDCLKK时钟,一一个指令令移位取取数据。如如果晶振振为foosc,一一个指令令周期为为12/fossc,因因此它的的下载速速率为ffoscc/488。然而而如果采采用串行行口方式式0,其
12、其下载速速率提高高为foosc/12。考考虑到PPLD配配置文件件数据比比较大,通通常都在在数十千千字节以以上(其其配置文文件大小小如表22),为为了加快快配置速速度,并并适合各各种不同同规模的的PLDD,采用用了WIINBOOND778E558单片片机。该该单片机机外接晶晶振最大大频率为为40MMHz,它它在串行行口方式式0下波波特率可可设置为为fossc/44。另外外通过设设置特殊殊功能寄寄存器CCKCOON的MMD0、MMD1、MMD2三三位,可可以将MMOVXX、MOOVC等等指令周周期缩短短至2个个机器周周期。与与普通单单片机相相比,可可使配置置时间大大为缩短短。WIINBOOND7
13、78E558单片片机内部部拥有332KBBFLAASHROMM.由配配置文件件数据表表2可知知,只需需一片单单片机就就可以对对EPFF10KK20系系列以下下的PLLD进行行配置了了。本系系统中使使用了一一片APPEX220K3300EE,因此此在硬件件电路设设计中,扩扩展了一一片WIINBOOND229C0040FLAASH存存储器(容容量为5512KKB),其其电路如如图2。DDATAA0与RRXD、DDCLKK与TXXD、nnCONNF与PP15、CCONFFIG_DONNE与PP16、nnSTAATUSS与P117分别别相连。3.2软件设设计在在软件编编程时,使使用了串串行口移移位寄存
14、存器输入入输出方方式。本本系统只只需用到到输出方方式,串串行数据据通过RRXD引引脚输出出,而在在TXDD引脚输输出移位位时钟。当当一字节节数据写写入串行行数据缓缓冲器SSBUFF时,就就开始发发送。在在此期间间,发送送控制器器送出移移位信号号,使发发送移位位寄存器器的内容容右移一一位,直直至最高高位(DD7位)数数字移出出后,停停止发送送数据和和移位时时钟脉冲冲。RXXD、TTXD时时序如图图3。由由图3可可知,它它可以用用来模拟拟配置时时序。发发送完一一字节数数据后,硬硬件置发发送标志志位TII为1,向向CPUU申请中中断。若若CPUU响应中中断,则则从00023HH单元开开始执行行串行中
15、中断服务务程序。为了提高配置速度,单片机程序用汇编语言编写。单片机上电后使nCONFIG脚由低到高复位待配置PLD;当判断到nSTATUS为高后,开始从外部FLASH存储器取数据串行移位。配置过程中,查询CONF_DONE。一旦为高,配置完成,但还要送40个DCLK脉冲,PLD才能进入用户工作状态。用户设计PLD程序经MAXPLUSII或QUARTUS编译后将产生后缀后为.sof的SRAM目标文件。该文件含有除配置数据以外的控制字符,不能直接写入到PLD中去,需要利用软件的编程文件转换功能将文件转换成.rbf(RawBinaryFile)十六进制文件。把.rbf文件烧写到存储器中,单片机通过M
16、OVX指令读入后,串行移位到PLD。部分assm语言言源程序序如下:NCONNFIGGBITTP1.5CONFFDONNEBITTP.66NSTAATUSSBITTP1.7ORG0000hCLRSM00CLRSM11;SMM0,SSM1为为0,串串口工作作于方式式0CLRSM22;串口口波特率率为foosc/4CLRRENNANL8EHH,#00f8hh;地址址8EHH是CKKCONN单元,MMD0、MMD1、MMD2清清0CLREAWJREESTAART:CLRRNCOONFIIGSETBBNCOONFIIG;上升升沿复位位PLDDWAITT:JNNBNSTTATUUS,WWAITT;NSS
17、TATTUS为为高,可可进行配配置WJPEEIZHHI:MMOVP1,CCOUNNTERR3MOVDPHH,COOUNTTER22MOVDPLL,COOUNTTER11;配置置数据大大,需33个单元元作地址址记数MOVXXA,DPTTAMOVSBUUF,AA;串行行移位NOPNOP;采用用填充22个空指指令,正正好使一一个字节节发送完完成,可可发送下下一个字字节INCCOUUNTEER1;地址址加MOVA,CCOUNNTERR1JBCCONFFDONNE,WWJENND1CJNEEA,#0,WWJPEEIZHHIINCCOUUNTEER2NOVA,CCOUNNTERR2CJNEEA,#0,WW
18、JPEEIZHHIINCCOUUNTEER3LJMPPWJPPEIZZHIWJENND1:MOVVR0,#60WJENND:WWOVA,#55HHMOVSBUUF,AA;由此此产生440个DDCLKK时钟DJNZZR0,WWJENNDWEREE:LJJMPHERRE;配置置完成,进进入用户户工作模模式使使用OTTP(OOneTimmeProograammiing)器器件配置置CPLLD具有有一定的的冒险性性,一次次简单的的代码更更换就可可能意味味着更换换OTPP器件,并并重新开开始所有有的程序序。被动动串行微微处理器器(PaassiiveSerriallWitthProocesssorr)配置置方式以以EEPPROMM为基础础,允许许对这些些存储器器进行多多次编程程,所有有其它芯芯片都无无需从已已装配的的印制电电路板上上拆卸下下来。高高速读写写周期的的FLAASH存存储器能能确保11万次编编程,而而且能对对任何以以SRAAM为基基础的PPLD下下载。该该方式除除了在加加电期间间能承载载配置数数据外,还还有许多多方便之之处。例例如,用用户可以以将多个个配置文文件.rrbf分分区编程程到外部部存储器器的未用用区段,通通过单片片机读取取不同存存储区可可以将可可编程逻逻辑器件件在线配配置成多多种不同同的工作作模式。