基于XCR3256的低功耗存储测试器设计
本文引用地址:https://www.eepw.com.cn/article/202518.htm
1.2 工作原理
系统的工作状态主要有数据采集状态、数据存储状态、数据重发状态以及低功耗数据保持状态。数据存储状态与数据的采集状态并行,而重发状态可在数据存储期间中断存储状态进行,也可以通过判断帧计数来完成计满重发,重发数据前加特殊字字头以标示重发周期的开始。也可在上电之后直接重发,所有重发都可以实现循环重发。
图3 数据存储重发工作流程图
数据存储编帧实现方法:通过对存储命令,启动数据存储状态。帧同步信号共有2个,对应每一主帧最后两路的帧标识EB,90。在主帧中包括三路计数,分别为低计数,中计数和高计数。低计数决定副帧的长度,当低计数从00计到1F(十六进制,下同)时,低计数清零中计数进位,同时主帧的帧标识由EB,90改写为14,6F(此时对应有副帧同步信号),从而实现了32×32的全帧数据格式。中计数计到FF时清零高计数进位。可通过对帧计数是否连续的判断来鉴别数据的记录是否有丢数,错数。
对于每路副帧的数据格式安排如下:低计数为00,01时插入帧字头,计到1E,1F时记录当前中计数和高计数,中间的28帧记录系统中的各工作状态参数。全帧中同一位置为同一个参数的不同时刻的状态。
2 低功耗的实现方法
降低系统功耗的传统手段主要集中在硬件上, 如:选择低功耗器件、安排不同的供电回路等。然而,硬件只是一个平台,软件的作用不容忽视,总线上几乎每一个芯片的访问、每一个信号的翻转差不多都由软件控制,如果软件能减少外存的访问次数、及时响应中断等都将对降低功耗作出很大的贡献。
2.1 硬件
2.1.1 芯片级低功耗实现技术
在该设计中大部分器件如主控芯片、存储器、总线驱动器、FIFO等都是采用的CMOS、HMOS低功耗器件。
主控芯片选用的Xilinx公司的CPLD,型号为XCR3256,3.3V工作电压,低功耗运作,5V与3.3V兼容I/O端口。对于不用的I/O口全部设为输出(外面不接任何有驱动的信号)。如果I/O悬空的话,受外界的一点点干扰就可能成为反复振荡的输入信号了,而CMOS器件的功耗基本取决于门电路的翻转次数。此外,悬空的输入引脚由于处于0, 1 之间的过渡区, 可使电路中的反相器P 沟道和N 沟道都处于导通状态, 也将导致CPLD本身功耗增大。如果把它们上拉,每个引脚也会有微安级的电流。因此,在设计中将不同的I/O全部设为输出。
2.1.2 电路级低功耗实现技术
公式(1)为CMOS电路功耗的计算公式[3]。式中:P为静态和动态功耗总合;m为节点数;n为器件总数;VDD为工作电压;fak为时钟频率;ILn为反向漏电流;ISCn为瞬态短路电流;am为节点充电率;cm为节点电容。
从该公式中可见降低系统工作电压可达到降低系统功耗的目的。对于中心控制模块采用专用的低电压电源模块TPS70358进行供电。TPS70358可以提供3.3V/2.5V两组供电方式,同时它本身还具有电源管理功能。
图4为低功耗数据保持电路,在存在系统供电时,可对电池进行充电,当系统掉电时可由电池对存储器进行供电,实现数据的自保持。存储器的静态功耗仅为10mW ,由计算可知该电路实现的数据保持期可达一年以上。
图4 低功耗数据保持电路
2.2 软件
正如我们所知,对于可编程逻辑器件,其内部触发器的翻转次数以及开关量的输出对器件本身的功耗影响非常大。该设计通过软件实现了主控芯片自身的功耗调节,通过控制系统内芯片使能以及总线的工作状态实现了系统级的低功耗[4]。
2.2.1 采用状态机编码
在主程序中采用状态机编码,对输入输出信号进行赋值保护。对最终输出信号不需要更新的输入信号利用状态机控制阻止其传播至下一个状态或其他逻辑块。仅在需要时改变输出值,减少了不必要的开关输出。
图5 82C52的状态机配置模块及仿真结果
评论