APP下载

基于FPGA的1553B总线IP核低功耗设计

2015-02-05深圳大学信息工程学院关则昂

电子世界 2015年13期
关键词:框图低功耗功耗

深圳大学信息工程学院 徐 渊 关则昂 刘 柳

深圳市振华微电子有限公司 张建国 邱红燕

基于FPGA的1553B总线IP核低功耗设计

深圳大学信息工程学院 徐 渊 关则昂 刘 柳

深圳市振华微电子有限公司 张建国 邱红燕

MIL-STD-1553B(以下简称1553B)总线控制器软核主要描述了MIL-STD-1553B协议物理层和数据链路层的数字逻辑特性。功能包含总线控制器(BC)、远程终端(RT)、总线监控器(BM)三种。用户通过简单的逻辑接口即可以在三种功能之间进行切换。在IP核RTL代码设计中重点引入了低功耗设计中的门控时钟技术和时序调整技术,大大降低了IP核的动态功耗。整个系统架构的设计与验证是基于Xilinx公司的XC6SLX45T-3FGG484 FPGA芯片。IP核功耗分析工具采用Xilinx公司提供的XPower Analyzer软件。通过对比测试,该IP核方案在满足性能可靠的前提下能有效降低功耗。

MIL-STD-1553B总线;软核;FPGA;低功耗

引言

MIL-STD-1553B总线最早是由美国军方专为军用航天飞机、战斗机定制的一种标准通信协议。该协议采用数字命令/响应式时分制多路传输数据总线,速度达到1Mbps,具有双向输出特性,实时性和可靠性高等诸多优点。因此广泛应用在当代的各类型航天、航空设备。

由于1553B协议总线特殊的应用场合,使得1553B总线控制器需要满足很高的稳定性和可靠性,同时对于功耗的要求非常苛刻[1]。因此研究开发一款既能满足性能要求,同时具有较低功耗的1553B总线控制器,具有十分重要的意义。

论文分四部分。首先介绍1553B总线相关原理,然后结合原理介绍1553B总线IP核工作流程,第三部分结合软核结构来分析介绍IP核低功耗技术,第四部分总结论文。

1 1553B控制器工作原理

1553B协议:

1553B总线网络拓扑结构如图1所示,主要包括总线控制器(BC)、远程终端(RT)和总线监控器(BM)三部分[2]。

图1 网络拓扑结构

总线控制器(BC)主要用于管理和调度总线上的信息传递。在任何时刻,总线上只有一个总线控制器。远程终端(RT)主要用于外挂子设备,接收和反馈BC的命令信息。在协议中RT最多只能外挂31个子设备,并且每个子设备都分配唯一的地址。总线监控器(BM)主要用于监控总线信息,记录总线上信息的传递,它不影响总线上其他设备之间的交互,同时它也不会应答BC的指令。

2 1553B总线控制器软核设计

2.1 1553B软核架构

1553B软核支持BC、RT和BM三种功能模块,兼容MILSTD-1553B标准,同时支持自动重传功能、大容量数据缓存、动态总线控制功能、内部自检电路功能、中断方式可配置、支持总线重试与消息重试等功能[3][4]。针对不同的功能,通过状态机之间的跳转来实现。

1553B软核的结构框图如图2,软核结构主要分为用户接口、寄存器模块、功能切换模块、高速缓存模块、校验模块和编解码模块六部分[5]。

图2 lP核结构框图

IP核的用户控制端口,包括时钟与复位信号、读写使能、地址数据有效信号、片选信号、地址数据复用总线信号、中断、输入输出串行数据信号。如图3和4,分别为用户接口读写时序,利用数据总线和地址总线共用,能有效降低整个软核管教数量。用户通过地址译码方式,可以配置IP的波特率、中断使能、复位等,同时也可以将数据存入缓冲区。

图3 写时序简图

图4 读时序简图

链路层主要负责生成帧结构、数据缓存、功能切换以及握手应答机制。其中握手应答机制如图5。对于发送端,帧缓存主要用于存储当前帧,当应答出错或者应答时间t超过了等待时间tm时,从帧缓存区读出之前发送数据,重新传输。当应答正确且在等待时间tm内时,则继续从大容量缓冲区读取数据,并编码发送。对于接收端,解码接收到的数据,在检验的同时,缓存当前帧,当校验无误时,将缓存的有效数据存入大容量缓存区,并且将应答帧延时时间td后发送,如果校验错误,停止将数据存入大容量缓存区,同时将带有错误标示符的应答帧延时时间td后发送。

图5 握手应答机制

图6 功能切换单元

功能切换模块提供三种不同的逻辑功能,根据用户需要在总线控制器、远程终端、总线监控器之间切换。如图6所示,通过用户接口来配置用户模式选择寄存器,根据寄存器位信息选择BC、RT或者BM。在运行过程中, BC可以通过方式代码来发送动态总线控制命令切换当前状态,将目标RT转变为BC,同时自身变为RT。

物理层主要负责校验和编解码[6]。

校验模块主要完成对发送和接收的数据进行校验。1553B总线采用奇偶检验方式。

编解码模块主要完成对1553BIP核的数据字、指令字、和状态字进行编解码。根据协议,物理层采用曼切斯特II型编码,信号以串行数字脉冲编码调制(PCM)形式在数据总线上传输。

2.2 BC设计

总线控制器BC负责发送指令,参与数据字的传输,以及接收远程终端发送的状态信息。任何时刻总线上只有一个总线控制器在执行总线控制功能。

图7为BC电路框图,主要分为缓冲区状态检测、数据缓存、提取属性值、状态跳转和应答五部分。缓冲区状态检查和数据缓存模块主要实现自动读取用户输入数据。读取数据个数由提取属性值模块决定。提取属性值模块完成提取关于传输方向、子地址/方式以及数据字计数或者方式代码等信息。状态跳转模块会根据提取属性值模块提供的信息,进行功能模块之间的跳转。譬如当需要完成动态总线控制功能时,状态机会自动跳转到实现动态总线控制功能的状态机,完成相应的功能。当功能完成时则进入应答模块,应答模块会等待RT的应答信息,根据应答来判断功能跳转。应答模块工作原理可以参考握手应答机制。

图7 BC电路框图

BC流程图如图8,整个流程分为三部分,分别为状态检测、发送控制和接收控制。

图8 BC流程图

2.3 RT设计

RT主要对总线控制器发送的有效指令做出响应,并且按照有效指令字规定的功能进行操作。

图9为RT电路框图,其中地址检测模块主要完成目标地址与RT本地地址检测,当目标地址与RT地址一致时,或者目标地址为广播地址时,开始接收总线数据,当不一致时则不接收。缓存和校验模块主要完成有效数据的存储和校验,其中缓存数据个数由提取属性值模块决定。提取属性值模块和BC电路框图中的提取属性值模块功能一致,用于提取指令字中有效的属性信息。状态跳转模块根据提取属性值模块提供的信息做相应的功能跳转。延时应答负责完成整个应答过程。

图9 RT电路框图

RT工作流程如图10所示,流程图主要分为信息识别状态、接收处理数据状态和应答状态。

图10 RT流程图

2.4 BM设计

BM功能比较简单,主要用于存储总线上所有有效数据信息,包括总线控制器发送的指令和数据,以及远程终端发送的应答和数据。

BM的电路框图如图11所示,分为解码模块和大容量缓存。当总线上有数据或者指令传输时,通过解码模块,将所有数据存入大容量缓存区。

图11 BM电路框图

图12为BM流程图,包括两个状态,idle和bm_data状态。Idle空闲状态主要负责检测1553B总线信息,当检测到有效的信息字(包括指令字、数据字和状态字)时,在bm_data状态将有效信号保存在缓冲区中。在BM中检测总线信号时,不会考虑信号类型和信号ID。

图12 BM流程图

2.5 1553B总线控制器软核功能仿真

为了验证1553B控制器软核的逻辑功能,在modelsim环境下搭建合适的测试平台。在测试过程中,测试BC向RT发送数据和接收数据、RT向RT发送数据等。经过一些列测试之后,结果表明本文设计的1553B软核逻辑功能符合协议要求。BC向RT发送数据仿真结果如图13。

图13 1553B功能仿真

3 1553B总线控制器低功耗设计

1553B软核设计中,很多地方都考虑到低功耗的设计方法。主要体现在门控时钟技术、时序调整技术以及预计算技术等。通过低功耗的设计方法,能有效降低整个软核的功耗。

3.1 低功耗设计技术

在IC设计时,功耗是继频率和面积之后又一关键参数,它直接影响到IC的工作性能和适用领域。通常IC功耗来源有三种,分别是动态功耗(又称跳变功耗)、直通功耗(又称短路功耗)和静态功耗(又称漏电流功耗)[7][8][9]。

从公式二可以看出对于动态功耗,可以采取降低工作电压和频率、减小负载电容以及跳变因子来实现;对于直通功耗一般采取改善电路工艺、降低工作电压来实现;对于静态功耗可以通过降低CMOS管W/L尺寸、减小阈值电压实现。

在数字逻辑电路设计中,一般采取降低时钟频率、减小平均翻转比例以及缩小电路规模三种方法来实现[10]。

3.2 门控时钟技术

在IC动态功耗中,因为信号翻转而导致的功耗在整个动态功耗中占有很大比例。翻转功耗是由CMOS器件的输出端的负载电容因为经常充放电而导致的。通常,在IC工作时,很大一部分的信号翻转来自时钟信号,而且时钟网络在IC内部分布广泛,因此降低时钟信号的平均翻转比例在IC低功耗设计中具有十分重要的意义。门控制时钟技术是减小平均翻转比例的有效途径。

通常,时钟信号直接连接到触发器的时钟端口,当触发器检测到时钟信号边沿跳变时,将输入信号输出。但是当输入信号不发生变化或者处于无效信号时,此时时钟信号依然在工作,这样会导致翻转功耗。门控时钟是通过逻辑电路来控制时钟的跳变。如图14,触发器的时钟端口是通过逻辑控制,当输入信号有效时,开启时钟信号,当时钟信号无效时,通过逻辑控制来关闭时钟信号,这样能有效减小平均翻转比例,降低动态功耗。

图14 门控制原理

在1553B软核中,物理层编码采用了门控时钟技术。用于发送数据的时钟受到系统逻辑控制,当需要发送数据的时候,才产生时钟信号,不需要发送时,时钟停止。

如图15所示,tx_clk时钟信号受输入信号控制。当需要输出有效数据时,tx_clk时钟信号正常工作,否则停止工作。

图15 1553B门控逻辑仿真

3.3 时序调整技术

时序调整技术主要是采用多种时钟域,根据逻辑电路的需要合理划分时钟的一种方法。该方法能有效降低整体系统的时钟频率,减少门的翻转频率,从而减小系统动态功耗。

在1553B软核设计中采用了时序调整技术。由于1553B的串行数据总线波特率最大为1Mbps,因此在系统物理层逻辑设计时采用了较低的时钟频率,而为了提高IP核用户接口与其他控制逻辑接口之间的传输性能,在用户端口电路设计时采用较高的时钟频率。通过时序调整技术,使IP核物理层逻辑电路处于较低的频率,这样降低了系统动态功耗。如图16为系统时钟域设计,图中core_clk为用户接口时钟,clk_en_de为解码器时钟, clk_en_e为编码器时钟。

图16 1553B时钟信号仿真

时序调整技术面临的最主要难题是亚稳态问题,通常解决亚稳态有同步缓存链、频率展宽、握手、异步fifo等,在本IP核设计时采用异步fifo来实现,具体电路框图如图17所示。

通过异步FIFO将用户端时钟域core_clk与编码时钟域clk_en_e和解码时钟域clk_en_de隔离开,有效避免了亚稳态问题,使整个系统运行更稳定。

3.4 并行隔离技术

并行隔离技术实际上是通过将不同功能的逻辑单元分离开,减小各个功能模块之间的关联。当运行其中某项功能时,其它功能模块不工作,这样通过减小整个系统的有效工作面积,达到降低功耗的目的。

图17 1553B跨时钟域框图

1553B软核包含三种功能,分别为BC、RT和BM。三种功能没有很强的依赖关系,这样在逻辑代码开发时,将三种不同的逻辑功能分离开,当用户选择其中某一功能模块时,另外两个功能模块处于休眠的模式。当BC启动动态总线控制命令可以激活IP核进入RT工作模式,此时充当总线控制器的功能模块由激活状态进入休眠状态,从而达到降低功耗的目的。如图18在系统中主要完成功能切换,通过接口单元,用户可以选择三种不同的功能,其中控制逻辑单元是为了实现总线控制器和远程终端之间实现动态总线控制功能。

图18 1553B并行隔离技术框图

3.5 1553B低功耗设计结果与分析

本论文主要侧重于1553B控制器软核开发,由于软核具有可移植性,导致在不同的硬件平台功耗不同。本论文设计是基于Xilinx公司的XC6SLX45T-3FGG484芯片,该芯片采用金属铜45nm低功耗设计工艺,属于目前比较成熟的设计工艺。该芯片价格低廉、应用广泛,具有较高的代表性。功耗设计软件采用Xilinx公司提供的XPower Analyzer软件,该软件可以对可编程逻辑器件的功耗进行分析。软件主要输出文件为PWR文件,即功耗报告文件,该文件主要从静态功耗和动态功耗两个角度对系统进行分析。

表1 功耗对比分析(25℃,mW)

由表1可知,经过低功耗设计之后,优化后动态功耗下降了26%,说明通过三种低功耗设计方法,能有效降低系统的动态功耗。

由于静态功耗主要由晶体管的漏电流和FPGA的偏置电流引起,它与工艺和晶体管的特性有关,这些与FPGA本身决定,与逻辑代码设计无关,因此图中静态功耗值优化前后相同。

表2是1553B软核基于XXC6SLX45T-3FGG484芯片整体功耗和目前主流1553B协议芯片功耗对比。从表中可以明显看出,本文设计的1553B控制器方案,相比目前芯片在功耗方面具有明显的优势。

表2 同类产品功耗分析

4 结束语

本文在介绍了1553B总线相关协议及工作原理之后,采用自顶向下的设计流程,设计并实现了符合1553B标准协议的软核。在软核开发过程中使用了一系列的设计方法来降低功耗,包括门控时钟技术、跨时钟域技术以及并行隔离技术等来,通过这些方法有效的降低了1553B控制器功耗。

[1]张伟功,段青亚.航天器总线管理系统的SOC设计与研究[J].宇航学报,2005,05.

[2]Microsemi.Core1553BRM v4.0 Handbook .2014,01.

[3]王冬伟,孙越强,杜起飞,等.基于BU-61580与USB的MILSTD-1553B总线控制卡的设计[J].科学技术与工程,2012,12(11).

[4]周密,金惠华,尚利宏,李化云.1553B总线协议IP核设计与实现[J].电子器件,2007,39(1).

[5]申志永,胡昌华,何华锋,等.MIL-STD-1553B总线发送器IP核设计[J].现代电子技术,2011,34(12).

[6]高飞,初晓军.USB接口USB的MIL-STD-1553B转换器的应用研究[J].计算机与数字工程,2008,223.

[7]谢莺.CAN控制器的低功耗设计[J].电子测量技术, 2010,33(10).

[8]梁允萍,章成旻,李烨.数字IC低功耗设计综述[J].电子科学,2009.

[9]钟涛,王豪才.CMOS集成电路的功耗优化和低功耗设计技术[J].微电子学,2000,30(2):106-112.

[10]万娟,武杰,孔阳.低功耗FPGA电子系统优化方法[J].电子技术应用,2010,12.

图4 触面屏画面结构

6 结论

本设计以Atmega128单片机为主控核心,利用其强大的处理能力和较丰富的外围接口,合理的选用内部丰富的资源来满足整个系统设计的要求。故障检修装置系统模块已测试正常,能实现以下功能:通过触摸屏设置故障训练三种模式、各个单元模块均能得到合理控制、控制系统电源模块稳定输出、各个单元板电路都能正常设置和取消故障点。通过系统联机调试,故障检修装置能实现基本的功能要求,达到了预期的控制效果。

参考文献

[1]黄继昌,申冰冰.电子元件故障与检测[M].中国电力出版社.

[2]张连飞.电子技术基础与技能[M].人民邮电出版社.

[3]诸林裕.电子技术基础[M].中国劳动社会保障出版社.

[4]刘法治.维修电工实训技术[M].清华大学出版社.

[5]胡斌.电子电路从识图到检修[M].人民邮电出版社.

[6]马潮.高档8位单片机ATmega128原理与开发应用指南[M].北京航空航天大学出版社.

徐渊(1978—),男,博士,讲师,主要研究方向为集成电路设计、数字系统设计。

关则昂(1988—),男,硕士,主要研究方向为数字系统设计。

刘柳(1987—),男,硕士,主要研究方向为数字系统设计。

张建国(1961—),男,资深工程师,主要从事电子通讯行业工作,主要研究方向为电子通讯、图像处理及电子电源系统。

邱红燕(1968—),女,资深工程师,从事电子产品行业,主要研究方向:各种电子产品技术发展与质量检测和管控,以及体系认证。

深圳市科技创新委员(JCYJ20120613104353889)。

猜你喜欢

框图低功耗功耗
基于任务映射的暗硅芯片功耗预算方法
一种高速低功耗比较器设计
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
一种用于6LoWPAN的低功耗路由协议
电路图2017年凯迪拉克XT5
低功耗技术在驾驶行为管理模块中的应用
算法框图的补全
揭开GPU功耗的面纱
数字电路功耗的分析及优化
一种面向星载计算机的功能级功耗估计方法