革命性的硬件管理解决方案
2019-09-10莱迪思半导体
莱迪思半导体
一块电路板大体上可以被认为由两个功能块组成——负载管理(Payload Management)和硬件管理(Hardware Management)。通常情况下,负载管理部分占整个电路板的80%至90%,如数据/控制平台和/或处理器。而剩下的10%至20%则为硬件管理部分,包括电源管理、温度管理和控制/内务处理。尽管硬件管理部分仅占电路板的10%至20%,但针对这个部分的设计和调试所需的时间占整个开发周期相当大的比重(30%至40%)。莱迪思的LPTM21 PlatformManager 2和L-ASC10(ASC:模拟传感和控制)电路可简化硬件管理部分的开发,不仅可将开发时间缩短为原来的一半,还能提升电路板的整体可靠性,缩减材料清单(BOM)并降低成本。
硬件管理的实现和挑战
过去,系统设计工程师使用电源管理电路来实现电源定序、监控、微调和裕度。控制/内务处理功能,包括复位分配、电平转换、JTAG链管理以及其他电路板级的胶合逻辑,常使用板上CPLD实现。温度管理功能,如温度监控和风扇控制,常常集成在板上微控制器固件中。微控制器也常用来实现系统级的功能,如故障记录、系统接口、电源控制、管理协议以及其他系统接口功能。
传统的系统设计方法的缺点
1.在设计和调试上耗费更多精力,拖慢产品上市进程
设计工程师常常会简单地复制上一版电路板的硬件管理部分设计,而新的电路板的负载硬件管理功能常常需要不同的电源、温度、控制/內务处理功能支持。在很多情况中,设计工程师仍然需要保留之前电路板的部分功能,为了尽量减少用在电路板上的元件,设计工程师探索了不同的方式以通过现有的CPLD利或微控制器实现新的电源和温度控制功能。而往往这些方法都无法提供最可靠的解决方案。
举个例子,如果使用微控制器构建电源管理功能,要想实现电源故障的快速系统响应以满足硬件需求,就要让固件以更高的频率监控每个电源电压。这种方法也可能缩短微控制器对其他功能的响应时间,如管理协议和响应。此时,系统设计工程师就需要更快的处理器,或是具备更高吞吐量的处理器以承担增加的电源管理工作量。这可能要重新分配两个设计团队(硬件、固件等等)的任务,并花更多的时间去设计。
基于微控制器的硬件管理功能还有另外一个缺点,就是无法仿真。所以只能使用电路板设计原型进行测试,硬件管理算法错误的测试覆盖率低,增加了系统调试时间。
综上所述,非最优的硬件/固件划分(迫于用来实现硬件管理功能的器件限制)会增加硬件管理部分电路设计的复杂性,导致设计和调试用时的大幅增加。
2.新的设计很难扩展/复制已有的硬件管理设计
设计工程师倾向于在电路板的新版设计中套用已有的硬件管理设计。这很困难,因为新版电路板上的负载电路需要新的硬件管理功能,和旧版的不同。这就需要设计工程师重新考虑硬件管理功能的划分。此外,它们还需要使用额外的模拟电路来监控电源电压或器件温度。我们不提倡更改固件,因为简单地套用已有的设计会导致未来产生更复杂的维护问题。随着电路板设计越来越复杂(电源数量增加、更多电源定序算法、需要监控其他器件温度等等),设计工程师将不得不添加额外功能到CPLD或微控制器中。
总而言之,非最优的硬件/固件划分将迫使设计工程师定制硬件/固件解决方案并使用分立的器件来满足电路板的特定硬件管理功能。此外,并没有单一标准化的方案能够用于各类简单和复杂的电路板。
3.增加BOM和成本
针对各种不同的电路板采用不同的电路组合会增加现有系统中使用的电路数量,从而导致BOM的增加。由于很多电路仅用于某些电路板,元器件部门就无法获得大批量购买的价格优势,这将导致系统整体成本的增加。
传统的硬件管理解决方案使得硬件管理设计更加复杂。这些设计很难去扩展、要花更多时间去设计/调试、需要更多电路,还会导致系统解决方案变得更加昂贵。
下文将描述一种不同的系统设计方式,能够非常灵活地进行调整和扩展,并使用PLD来实现硬件管理算法。该方法简化了固件实现,缩短了设计/调试时间,增强了电路板级/系统级的可靠性,还缩减了元器件BOM和系统总成本。
革命性的硬件管理解决方案
莱迪思的L-ASC10硬件管理扩展器和LPTM21 Platform Manager 2(硬件管理控制器)器件可用于在一块电路板上集成硬件管理功能。其中,L-ASC-10(ASC)器件集成了电压监控(10通道)、电源电流监控(2通道)以及器件/电路板温度监控(3通道)。ASC还可通过片上ADC测量电压、电流和温度。同时采用ASC和MachXO2/3(取代传统解决方案中的CPLD)器件可集成电路板上的硬件管理功能。
LPTM21 Platform Manager 2器件集成了ASC功能和1200 LUT FPGA。该单芯片的解决方案实现完整的硬件管理功能,还可满足部分系统板的硬件管理需求。
设计工程师可使用PowerAssist(电子制表软件)和Lattice Diamond软件进行硬件管理功能设计。这些工具能将数天的设计用时缩短为数小时。此外,设计工程师还可使用PowerDebug工具对采用莱迪思硬件管理解决方案的电路板进行调试。
莱迪思的硬件管理解决方案、设计软件和调试工具弥补了传统硬件管理设计的短板,可以说这是真正的可“复制”的解决方案。下文将说明莱迪思的硬件管理解决方案如何取代传统的硬件管理设计方法。
可选的硬件管理实现方案
莱迪思提供两种方案,可用于实现图2中电路板所需的硬件管理功能。
方案1:同时采用L-ASC10(硬件管理扩展器)和MachXO2或MachXO3(CPLD)器件,将硬件管理功能添加到电路板上。
方案2:如果电路板需要I/O数小于100、LUT数量大约为1000的CPLD,设计工程师可使用单芯片的LPTM21 Platform Manager 2器件来实现该电路板的硬件管理功能。
在方案1中,同时采用ASC和MachXO2/3器件集成电路板上的硬件管理功能。MachXO2/3器件内的算法可通过L-ASC10器件监控电压、电源电流和温度的状态以及电源定序。MachXO2/3器件还能控制安装在芯片上或盒内的风扇。该解决方案是可扩展的。举个例子,通过添加两个ASC器件来辅助MachXO2/3器件,即可实现支持高达20个电压的电路板硬件管理功能。一般而言,硬件管理功能设计中可通过添加8个ASC器件来辅助MachXO2/3,最高可支持80个电压。使用大小合适的MachXO2/3器件即可满足硬件管理设计的逻辑和I/O需求。莱迪思提供256到9400 LUT、I/O数从18到384MachXO2/3器件。复杂的设计能够得益于该解决方案采用的相同设计和调试环境而实现标准化。下文将为您详细介绍ASC器件的功能。
在方案2中,基于单个Platform Manager 2器件的硬件管理解决方案最多可支持10个电源电压。如果系统设计中包含更多电源,可添加ASC器件以辅助Platform Manager 2器件。设计工程师为LPTM21 Platform Manager 2添加额外的3个ASC器件即可管理多达40个电源电压。
莱迪思硬件管理解决方案的优势
显著缩短硬件管理功能的设计/调试用时:莱迪思的ASC和MachXO2/3器件能够很方便地实现硬件管理功能设计。因为该解决方案可无缝扩展,设计工程师能够轻松地套用之前电路板上的相关设计,并使用MachXO2/3器件实现电路板所需的特定功能。微控制器固件可专注于执行更高层的系统级功能。MachXO2/3器件可实现所有底层、实时、电路板所需的特定硬件管理功能。
举个例子,固件在发出一个“负载上电”的指令时,无需知晓电路板上的电源数量。该指令普遍适用于系统内的所有电路板。固件可专注于实现更高层的系统功能,在大多数电路板上使用通用指令,仅需极少或最少的更改就能在大部分电路板上使用,可减少固件设计用时。
另一个导致硬件管理设计时间增加的原因是电源管理。电源管理设计常常通过使用来自不同供应商的电源管理器件、分别配套的GUI设计软件和/或模拟分立电路实现。在大多数情况中,基于GUI的软件会默认由一个器件监控所有的电源时序(DC-DC转换器)。但往往受制于成本或其他原因,无法监控所有的电源时序。设计工程师不得不采用其他方法来实现。对于上电和断电时序的需求使得电源管理电路设计更加复杂,最终导致开发时间的增加。莱迪思的解决方案简化了电源管理电路设计,使用电子制表工具(PowerAssist)来实现电路板所需的特定电源管理功能。这种方法更加灵活和高效,因为工具会按照电源管理参数自动生成算法。使用PowerAssist工具可将原先数天的设计时间缩短到数小时。
控制/内务处理和温度管理功能可通过设计工具HDL以类似的方法实现。该设计工具能够导人电源管理设计并仅需一条指令即可将其添加到控制/内务处理和温度管理设计中。所有功能都可集成到一片MachXO2/3器件中。
莱迪思的解决方案提供最优的硬件/固件划分方案,使用硬件(MachXO2/3)实现所有的实时硬件管理功能,并使用固件实现更高层、时序要求较低的功能(外部微控制器)。
设计工程师可使用Diamond软件对采用MachXO2/3和ASC器件的设计进行功能仿真,确保硬件管理功能在真正下载到电路板之前是经过验证的。这能够提升首次成功率并减少调试用时。
莱迪思还提供PowerDebug工具,便于测量用户电路板的温度、电压和电流。它还提供额外的功能,如电源定序单步调试和插入电路板级的电源故障。这些功能可显著减少调试用时。
可靠性增强:电路板上的硬件管理功能就好比是神经系统,精确的故障侦测加上更快的响应时间可确保系统的可靠性。在ASC器件的辅助下,使用MachXO2/3器件实现的硬件管理算法可同时监控所有的电源和温度故障,而且精确度很高(典型值:0.2%)。ASC和MachXO2/3器件提供完整集成的硬件管理解决方案,故障响应时间小于100μs。
迟缓的故障响应会引起电路板其他部分的连锁故障。举个例子,如果DDR存储器的电压低于规定值而处理器没有立即复位,处理器就会从存储器读取到错误的指令并跳转到不可预知行为,引起闪存讹误或错误的数据包传输。在排查处理器错误执行代码的情况时几乎不可能联系到DDR存储器电源电压过低的问题。采用MachXO2/3和ASC器件组合的解决方案可通过精确监控电源电压并快速产生复位信号,最大程度减少连锁故障的发生。电源中断故障将被记录在非易失性存储器的故障日志中,以便于之后的调试。
缩减BOM并降低成本:Platform Manger 2和ASC器件集成大多数常用的系统级电压、电流和温度监控功能,无需其他电压和温度监控电路,能够方便地实现所有硬件管理功能,全面支持电路板上的各类元器件,可减少系统中使用的电路板数量。得益于该解决方案的可扩展特性,无论简单或复杂电路板的系统总成本得以降低。
模拟传感和控制(L-ASC10)器件架构
模拟传感和控制电路(ASC)(硬件管理扩展器)可用于扩展系统设计所需的电源和温度通道数量。ASC芯片拥有20个高精度(典型值:0.2%)可编程电压阈值比较器,可同时判断10个电源的过压和欠压故障。还有两个电流监控电路,每个都带有一个可编程增益放大器以及两个可编程阈值比较器。还有一个快速电流故障侦侧器,能够在1微秒内捕捉电流故障。温度监控器直接连接到温度传感二极管,可测量安装在电路板上的器件或给定位置的板上温度。温度监控电路同样包含可编程阈值比较器。
DAC可用于电源的微调和裕度,并可实现VID(电压识别数字信号)——使用数字代码控制电源电压,以及电压缩放等功能。MOSFET驱动器可用于将一个电源电压分配至多个位置,以满足器件的电源定序要求,而且无需使用额外的DC-DC转换器。
Platform Manager 2的架构细节
Platform Manager 2和ASC器件的模拟功能块是完全一样的。片上1200 LUT FPGA用于实现硬件管理算法。故障日志功能包含1个非易失性存储器,可用于记录电压、电流和温度故障。表2列出了ASC和LPTM21器件的主要特性。
ASC器件通过一条8Mbps串行链路将电源电压、电源电流和温度状态数据发送至MachXO2/3器件。图5展示了ASC器件是如何连接到MachXO2/3器件的——或连接到LPTM21Platform Manager 2器件,实现支持包含10到80个电源电压的硬件管理功能。
适用于简单和复杂电路板的硬件管理算法可由MachXO2/3器件或LPTM21 PlatformManager 2器件中的FPGA实现。
应用:使用MachXO2和ASC器件实现标准化的硬件管理解决方案
采用莱迪思ASC和MachXO2器件的上述硬件管理功能块框图(图6)展示了ASC测量电压、电流和温度的状态,并通过一条串行总线将状态数据传输到MachXO2器件。使用MachXO2器件中的算法根據这些状态数据执行电源管理、温度管理和部分控制/内务处理功能。MachXO2器件通过该串行总线控制ASC器件GPIO和HVOUT引脚,用于电源定序和D C-DC电压控制。额外的ASC器件可用于扩展电源管理算法。外部微控制器可通过12C总线测量电压、电流和温度数据。还能通过12C总线,或借助MachXO2器件实现的通信IP通过任何硬件总线来控制硬件管理算法。
框图中展示了许多MachXO2器件集成的硬件管理功能,同样也适用于MachXO3LF上的设计。此外,这些功能还能用软IP实现并按需使用,工程师完全可以按照电路板所需的功能来选择大小合适的MachXO2/3器件,并根据板上所需的I/O数量来选择何种封装的MachXO2/3器件。