当前位置:首页 > EDA > 电子设计自动化
[导读]本文介绍了一种基于微控制器的PLD ICR控制电路,该控制电路结构简单、占用空间小、性价比较高,适用于需要ICR功能的电子装置中,该ICR控制电路是为配置ALTERR系列PLD器件来设计的,稍加屐也适用于XILINX公司的FPGA器件。这个配置电路的主要弱点在于配置速率较慢,只能适应用于配置速率要求不高的应用。

 基于SRAM的可重配置PLD(可编程逻辑器件)的出现,为系统设计者动态改变运行电路中PLD的逻辑功能创造了条件。PLD使用SRAM单元来保存字的配置数据决定了PLD内部互连和功能,改变这些数据,也就改变了器件的逻辑功能。由于SRAM的数据是易失的,因此这些数据必须保存在PLD器件以外的EPROM,EEPROM或FLASH ROM等非易失存储器内,以便系统在适当的时候将其下载到PLD中,从而实现在电路可重配置ICR(In-Circuit Reconfigurability,在电路可重配置)。

  如何实现ICR?ALTER公司的应用方案AN88中详细介绍一种基于DS87C520微控制器的ISP&ICR设计方法,并钭其源代码放在ALTERA的网上,供用户免费下载。作者在设计一要求具有ICR功能的电子装置时,在详细分析了AN88介绍的方法之后,发现该应用方案中介绍的电路结构复杂,对微控制器性能及微控制器的开发装置的要求和成本都较高,且只适用于工作电压为5V的PLD电路。本文介绍的是作者设计的PLD ICR控制电路,它和ALTERA介绍的方法相比,不但线路结构简洁、开发容易、体积小、成本低,而且只需改变ICR控制电路的电源电压,就能实现工作电压为3.3V或5V的PLD器件的电路内重配置。

  ICR控制电路硬件原理

  ICR控制电路原理图如图1所示。图中的U1是ICR控制电路的核心器件,它是PHILIPS公司在1999年底推出的20引脚低成本的微控制器P87LPC762,该微控制器具有2K字节的程序存储器、128字节的RAM、18/15个I/O、WATCHDOG、通用串行接口UART和一个硬件I2C总线控制器。P87LPC762采用的是80C51加速处理器结构,其指令和80C51兼容,但指令的执行速度在相同时钟下,是标准80C51微控制器的两倍。因它采用的是硬件I2C总线控制器节省大量的软硬件资源。U2、U3是ATMEL公司的串行EEPROM AT24C256,其串行通信协议为I2C,容量为32K字节。在电路中,U2和U3有来存储PLD的配置数据。

  ICR控制电路的工作过程为:经MAXPLUS Ⅱ编译生产的PLD配置文件经过预处理后,通过PC机的串行通讯口下载到U1中,并在U1的控制下存储在EEPROM U2和U3中,U1再根据系统的要求通过P0.2、P0.3、P0.4、P0.6和P0.7等5个I/O口,将其存储在U2和U3中的PLD配置数据下载到电路中的PLD。

  因作者设计电路中的PLD是ALTERA公司的ACEX系列的EP1K30,其配置文件的容量为52K字节,故电路中采用了两片AT24C256存储PLD的配置数据。如果配置的PLD是EPF10K10或EPF10K20,则只需要一片AT24C256,此时整个ICR控制电路仅仅只有两片IC,这可以说它是目前结构最简单、成本最低的ICR控制电路了。读者在应用该电路时,可根据其PLD文件的大小(PLD的配置文件的大小可参考ALTERR公司的应用方案AN116)采用1~4片AT24C256。

  ICR控制电路软件设计要点

  在图1介绍的ICR控制电路中,其存储PLD配置数据的EEPROM AT24C256采用I2C串行总线进行数据交换,其数据交换速度较慢(当工作电压为5V时,其最大I2C总线时钟为1MHz),而PLD配置数据又比较大,通常都在数十K字节以上。因此如何提高图1介绍的ICR控制电路的配置速度,这将是软件设计上的一个重点。

  ALTERA公司生产且具有ICR功能的PLD器件有FLEX6000、FLEX10K、APEX和ACEX系列,它们的配置方式可分为PS(无源串行)、PPS(无源并行同步)、PSA(无源并行异步)、PSA(无源串行异步)和JTAG(Joint Test Action)等四种方式,在这四种方式,PS方式因PLD与配置电路的互连最简单,对配置时钟的最小频率没有限制而应用最广泛,因此在图1介绍的ICR控制电路中也采用PS配置方式来实现ICR功能。图2是PS配置方式的时序图。

  数据从AT24C256读出时,可采用读当前地址、随机读和顺序读三种方式。这三种方式中,顺序读的最简单,速度最快,因为在同一片AT24C256中,仅需要写入一次读命令就可以按顺序从0地址开始直至读完整片AT24C256中的全部数据。AT24C256顺序读的时序图如图3所示。

  比较图2和图3,可以看出PLD的PS配置时序图和AT24C256顺序读时序图有很多相似之处,其唯一的差别在于:在PS配置方式中,其数据配置顺序是序列的最低位最先输入,而I2C总线读过程则是其序列的最高位最先输出,它们之间的输入和输出顺序刚好相反。如果将PLD的配置文件通过一定的预处理,使其配置数据的最低位存储在EEPROM的最高位上,则在配置过程中,从EEPROM I2C总线上读出的当前位数据正好是PS配置时需要输入到PLD中去的当前位,这将是提高ICR的配置速度,缩短配置时间的最有效措施,其具体过程如下:

 

  用户设计的PLD程序经MAXPLUS Ⅱ的编绎后将产生一个后缀为.sof的SRAM的SRAM目标文件,该文件含有除配置数据以外的控制字符,不能直接写入到PLD中去,需要利用MAXPLUS Ⅱ的编程文件转化功能使其生成一个后缀为.ttf的表格文本文件,该文件是不带任何附加符号的PLD配置文件,可以直接配置到PLD中去。该文件中每一字节在下载到ICR控制电路的EEPROM之前,将D7 D6 D5 D4 D3 D2 D1 D0变换为D0 D1 D3 D4 D5 D6 D7之后再写入EEPROM中,则在PLD配置过程中,其配置数据不经任何处理,从EEPROM读出的当前位数据就是此时需要配置到PLD中去的当前位数据(这是作者为什么采用时钟频率较慢的I2C的EEPROM,而没有采用时钟频率相对较快,但没有顺序读功能的SPI接口的EEPROM的原因),从而达到了缩短ICR控制电路配置时间的目的。

  结论

  本文介绍了一种基于微控制器的PLD ICR控制电路,该控制电路结构简单、占用空间小、性价比较高,适用于需要ICR功能的电子装置中,该ICR控制电路是为配置ALTERR系列PLD器件来设计的,稍加屐也适用于XILINX公司的FPGA器件。这个配置电路的主要弱点在于配置速率较慢,只能适应用于配置速率要求不高的应用。

  注:文中的一个概念是ICR(In-Circuit Reconfigurability,在电路可重配置),ICR是ALTERA提出的概念,它和目前ISP(In System Programmabled,在系统编程)相并列的一个概念与IAP(In Application re-Programmable)的意义相差不大。但笔者使用的是ALTERA的PLD,因此在文中采用了ICR这个概念。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭