文献标识码: A
DOI:10.16157/j.issn.0258-7998.2016.10.041
中文引用格式: 田泽,淮治华,裴希杰,等. ARINC659总线协议处理芯片设计与实现[J].电子技术应用,2016,42(10):157-160.
英文引用格式: Tian Ze,Huai Zhihua,Pei Xijie,et al. Research and design of ARINC659 bus protocol processing chip[J].Application of Electronic Technique,2016,42(10):157-160.
0 引言
ARINC659总线是一种在总线时间和空间上具有高容错性和鲁棒性的底板总线[1]。4条双-双配置的串行总线传输数据,具有很强的容错能力,完全满足新一代先进综合式航空电子对底板总线技术的需求。目前已广泛应用在波音777 AIMS、波音737、波音717等飞机中,也正在新一代空间探索系统中积极推广[2-3]。
本文在深入理解ARINC659总线标准,掌握关键技术的基础上,针对ARINC659总线的通信特点设计并实现了一款满足ARINC659总线高可靠性、高容错性要求的芯片,该芯片是一款完全具有自主知识产权的新型底板总线芯片,实现了ARINC659总线标准所规定的技术指标,是从标准理解、系统定义到芯片设计与验证、封装、测试等完全自主研制的通信处理芯片。
1 芯片设计与实现
1.1 芯片功能
HK659芯片可实现ARINC-659-1993中规定的同步脉冲收发、数据传输校验、总线故障容错以及总线调试等功能,是一款通用化和小型化的通信处理通信处理芯片。主要功能如下:
(1)PCI主机接口:
①支持PCIv2.2协议,容忍5.0 V输入;
②总线频率33 MHz,A/D总线宽度32 bit;
③支持PCI标准内部配置空间;
④只支持PCI Target接口;
⑤支持单拍和Burst操作。
(2)ARINC659总线协议处理单元:
①时钟采用30 MHz,最大数据传输速率60 Mb/s;
②总线访问采用表驱动协议(Table Driven Protocol);
③支持4余度实时热备份,具有高可靠性;
④4条双-双配置的串行总线传输数据,具有很强的容错能力。
(3)命令表自加载单元:
①支持XC18V04、XCF32P两种型号PROM,数据位宽8 bit,频率20 MHz;
②宿主机不能读写PROM,HK659只能读取PROM,更改PROM时只能通过JTAG接口来修改。
(4)丰富的片内存储器资源:
①集成64 K×32 bit的SRAM,存储PROM中的命令表(主机不可访问);
②集成32 K×32 bit的DPRAM,用作收发数据缓冲区。
(5)供电电压:
①内核电压:1.8 V;
②I/O电压:3.3 V。
1.2 芯片架构设计
根据总线标准和需求规范,进行体系架构设计,提出了一种满足ARINC659总线高可靠性、高容错性要求的芯片体系架构,为保证协议中定义的物理隔离(包括BIU隔离、供电隔离、总线隔离),采用单BIU设计。此外,还集成PCI主机接口、PROM加载接口,以及丰富的内部存储器资源,采用IEEE1149.1 JTAG总线来实现外部命令表的烧写功能,其芯片架构如图1所示。HK659芯片集成了PCI主机接口、ARINC659总线协议处理单元、PROM命令表自加载单元、与主机交互数据所需的 DPRAM存储器和映射命令表所需的 SRAM存储器。
1.2.1 硬件设计
ARINC659总线协议处理芯片的硬件设计主要包括ARINC659总线协议处理单元、PCI主机从接口、PROM加载接口以及丰富的片上存储器资源等。
ARINC659总线协议处理单元主要由采样整形模块、数据接收单元、数据发送单元、收发控制单元和预译码单元组成。主要实现了机载计算机与ARINC659总线的连接功能。主要功能包括:命令表的读取、译码功能,初始化同步、长同步、短同步脉冲的收发控制,基本消息、主/后备消息的发送和接收控制,故障注入情况下的收发数据,以及调试功能(包括单步断点调试、时间断点调试、机架断点调试)。
PCI主机从接口主要实现了HK659与PCI总线的连接。该接口只实现了PCI总线的从接口功能,用于主机系统与HK659的数据交换。
HK659命令表的所有数据存放在HK659外部的PROM中,当系统上电后,HK659的命令表自加载逻辑通过PROM接口自动将外部PROM中的命令表搬到内部SRAM中。命令表自加载模块自动产生地址从外部PROM中读出数据,并写入内部SRAM中,不需要主机干预。命令表加载完成后,HK659将开始初始化、预译码命令,并且按命令表执行命令。
ARINC659总线协议处理芯片丰富的片上存储器资源主要包括集成64 K×32 bit的SRAM,存储PROM中的命令表;集成32 K×32 bit的DPRAM,两个端口独立的异步操作等。
1.2.2 软件设计
为满足以HK659芯片为核心构建的ARINC659总线应用需求,基于ARINC659总线协议,配套规划的软件包括HK659芯片驱动软件和ARINC659总线配置工具软件。
HK659芯片驱动软件提供上层应用软件访问HK659芯片的接口,包括HK659芯片的初始化、DPRAM的访问、INT命令中断使能和清除等功能。
ARINC659总线配置工具软件用于根据系统要求对系统内各节点间的通信和节点各任务进行配置和设置、自动生成总线命令表并编译成可固化到PROM中的目标代码,其编译流程如图2所示。
1.3 工作原理
HK659芯片实现了ARINC659-1993中规定的总线接口、时钟同步、数据传输及调试等功能,工作原理如下所示:
(1)在系统上电之后,PROM命令表自加载单元和PCI主机接口单元相继复位完毕,芯片进行命令表自加载。在此期间,ARINC659总线协议处理单元仍处于复位状态;如果主机要访问HK659的资源,则先要读取表加载状态标志寄存器的标志位,该标志位为‘0’时,表明此时不能访问HK659的寄存器和存储资源。
(2)在命令表加载完毕之后,表加载标志寄存器中的标志位置位,主机才可以访问HK659的寄存器和存储资源。此时,ARINC659协议处理单元复位完毕,命令预译码单元从映射RAM中读取命令表参数,来初始化芯片。
(3)在芯片初始化完毕之后,ARINC659协议处理单元从映射RAM中读取命令,预译码之后存入命令预译码FIFO之中。
(4)在上电初始化完毕之后,ARINC659协议处理单元从命令预译码FIFO中读取指令码,并且按照指令执行相应操作。
(5)在执行数据发送命令时,ARINC659协议处理单元要判断标志位是否更新。如果标志位被更新,将发送数据;否则,不发送数据。
(6)在执行数据接收命令时,如果ARINC659协议处理单元没接收到数据,则DPRAM中的数据区将不会被更新;如果接收到数据,则更新DPRAM中的数据区。
(7)在主/后备消息传输时,主模块没有更新数据、处于失步状态或者发生故障时,由后备模块1进行消息传输;如果后备模块1发生上述情况,则由后备模块2进行消息传输;依次类推。
1.4 物理实现
HK659芯片采用SMIC 0.18 ?μm工艺设计,管脚240个(包括功能管脚和电源地管脚,功能管脚106 个),管芯面积7.5×7.5 mm2。在芯片版图设计中,加强对串扰的分析和修复,噪声容限严格控制在20%以内。针对板级系统的噪声问题,在芯片内电源网络设计时采用特殊的设计方式予以部分去除,如增加芯片内电源地信号线间的耦合电容,减小外部电源引入的共模噪声的影响;对于芯片内的动态电源噪声,则采用增加电源网络密度、增强供电能力和局部增加去耦电容予以补偿。对于关键信号,增加去噪声保护。该版图设计已申请并获得国家布图保护专利授权。
HK659芯片功耗实测小于0.8 W,采用定制管壳CBGA256,外形大小为24×24 mm2,内部腔体10×10 mm2,采用双排焊盘设计,引脚数为256个。
2 技术优势
在国外,Honeywell公司已经在波音777 AIMS、波音737、波音717、MD-90、MD-10、KC-10、E-6等飞机中成功应用ARINC659底板总线,目前正在新一代空间探索系统中积极推广[4]。国外对我国实行技术和产品封锁,尚无商业化的协议处理芯片。在国内,对ARINC659总线技术应用的研究刚刚起步,个别单位开发了基于FPGA的解决方案[5-7],这种实现方式需要占用大量系统资源,处理效率较低,设计复杂,功耗较大,无法满足军用尤其是航空恶劣环境下高可靠性等应用要求,且FPGA受制于人,国内没有满足军用要求的协议处理芯片及总线收发器、总线配置工具等。
HK659芯片具有面积小、功耗低、延迟小、功能全等特点[8],经协议符合性测试验证、整机应用验证和鉴定检验,证明其功能、性能满足要求,集成度、可靠性、功耗优势明显,可满足航空恶劣环境下高可靠性等应用要求,实现了新型底板总线技术的自主保障和自主可控[9]。
3 芯片验证
本文所设计的HK659芯片已经过虚拟原型验证、FPGA原型验证、ATE测试、协议符合性测试、系统应用验证和定型评测,满足ARINC659总线标准要求。具体测试内容及测试结果如表1所示。
4 总结
本文所设计的HK659芯片是一款完全符合ARINC659协议、具有自主知识产权的协议处理芯片,该芯片设计新颖,功耗低,面积小,功能性能稳定可靠,满足ARINC659总线应用要求。该芯片已进行了ATE、协议符合性、系统应用等充分验证。验证结果表明,该芯片符合ARINC659标准协议要求,功能、性能满足要求,集成度、可靠性、功耗优势明显;有效地支持了新一代机载电子系统对新型底板总线技术的应用需求[10]。
参考文献
[1] Airlines Electronic Engineering Committee.ARINC specification659 backplane data bus[S].USA:Aeronautical Radio,Inc,1993.
[2] 许宏杰,田泽,郭亮,等.ARINC659芯片设计与实现关键技术研究[J].计算机技术与发展,2014,24(3):26-30.
[3] 张喜民.ARINC 659背板数据总线协议初探[J].电光与控制,2013,20(3):93-97.
[4] 淮治华,田泽,夏大鹏,等.基于ARINC659总线的PMC卡设计与实现[J].计算机技术与发展,2015,25(3):158-161.
[5] 田泽,刘宁宁,郭亮,等.ARINC659底板数据总线及关键技术[J].计算机应用,2013,33(S2):49-53,56.
[6] 魏婷,张喜民.ARINC 659总线验证平台节点设计与实现[J].航空技术技术,2011,41(4):118-121,127.
[7] 吕强,韩警,侯旭洁.ARINC659底板总线设计与仿真[J].电子测量技术,2014,37(12):14-18.
[8] 强新建,田泽,淮治华.基于ARINC 659的FPGA原型验证平台的构建与实现[J].计算机工程与设计,2010,31(12):2726-2728,2732.
[9] 马宁,李玲,田泽,等.ARINC659总线协议芯片的仿真验证[J].计算机技术与发展,2010,20(1):205-208.
[10] 郭亮,李玲,田泽,等.ARINC659总线接口芯片的FPGA原型验证[J].计算机技术与发展,2009,19(12):240-242,247.