1553B数据总线(通用7篇)
1553B数据总线 篇1
1 1553B数据总线用电缆的简介
MIL-STD-1553B标准是美国军方专门为航空设备制定的,用于设备间传输数据的协议。1553B数据总线是符合美军标MIL-STD-1553B标准规定传输协议数据传输总线的总称。1553B数据总线具有设备之间连接简单灵活,双向输出,实时传输,噪声容限高和通信高可靠等特点,自20世纪90年代以来,国际上广泛应用在当代的运输机、民用客机以及军用飞机上,在航天系统也得到了广泛应用[1]。1553B数据总线用电缆是符合美军标MIL-STD-1553B数据总线的性能要求,可在恶劣的环境中提供高可靠性传输,特别适用于航空、电子等领域苛刻环境下的信号传输。1553B数据总线用电缆的使用频率在1MHz左右,具有电气性能可靠、耐高低温、耐老化、抗辐照、抗腐蚀、阻燃、外径小、重量轻和卓越的机械韧性等特点。通信电缆从结构上一般可分为同轴电缆、屏蔽双绞电缆和复合电缆等[2]。1553B数据总线用电缆属于屏蔽双绞对称电缆,其通常采用XETFE(交联乙烯—四氧乙烯)绝缘及护套,缆芯由两根对称的绝缘线芯绞合而成,外面编织一层屏蔽层,最后挤出护套予以保护,结构如图1所示。
无论是对称电缆还是同轴电缆,特性阻抗都是重要传输参数之一。当电缆的特性阻抗与线路负载阻抗不匹配时,负载无法完全吸收电缆传输的全部能量,这部分能量会返回线路,形成反射波而引起能量损耗的增加。同时,反射波还将引起信号的失真,并加剧回路间的干扰。仅当终端的负载阻抗与线路的特性阻抗完全相等时,反射波为零,能量全部被负载吸收,这样的线路称为匹配线路。通信电缆的设计理论都是基于均匀匹配线路,因此准确检测一根成品电缆的特性阻抗非常重要。当电缆无限长,特性阻抗是电磁波沿着无反射情况下的均匀回路传输时所遇到的阻抗,是电缆电导率、电容以及阻值组合后的综合特性[3]。线路终端阻值匹配时,特性阻抗是线路内任一点的电压U和电流I的比值,其计算公式为:
图2示出了1553B数据总线用电缆的阻抗—频率特性曲线,可见,电缆阻抗受频率的影响较大,随着频率上升,阻抗下降。
2 阻抗测试方法
虽然目前针对1553B数据总线用电缆阻抗的测试方法有多种(主要是适用于对称电缆的特性阻抗测试方法),包括单端开、短路阻抗测试法,电容和电感测试法,传输速率测试法,终端匹配测试法等,但每种测试方法都没有从根本上给出十分严格的适用范围或定义,且都存在不同的测试误差。下面将对不同阻抗测试方法的基本原理和适用范围进行介绍和对比,以期找到适用于1553B数据总线用电缆阻抗的测试方法。
2.1 单端开、短路阻抗测试法
单端开、短路阻抗测试法简称开、短路法,带平衡变量器的单端开、短路阻抗测试法是特性阻抗的基准测试法,其测试原理是特性阻抗是开路和短路测量值乘积的集合平均值:
式中Zc为复数特性阻抗,假定线对是均匀的或与结构无关;Zoc为开路时的复数阻抗;Zsc为短路时的复数阻抗。
单端开、短路阻抗测试法是通过网络分析仪(连同S参数单元)或其他阻抗仪表取得测试数据。网络分析仪S参数单元从入射信号中分离出反射信号,其关键元件为反射桥。平衡变量器应具有适当的频率单位和阻抗(从50Ω到100Ω,对应于50Ω设备和100Ω线对),且与被测线对有相同的平衡度,以利于平衡状态下对称线对的测量。三种终端状态(开路、短路和标称阻抗负载)分别用于不同的开路、短路或终端测量[4]。采用单端开、短路阻抗法测试时,平衡变量器在不接电缆线对进行开路、短路和终端三步校准后,网络分析仪可直接测量出电缆线对的复反射系数(即S参数),并按照下式计算出被测复数阻抗(开路、短路):
式中Zmeas为被测复数阻抗(开路、短路),ZR为在校准时所用的基准阻抗(电阻),S11为被测复数反射系数。将测量得到的开路及短路状态下得复数阻抗通过式(2)计算得出最终检测结果。
在单端开、短路阻抗测试法中试样准备时,为使端部效应最小,试样线对的护套剥除长度≤40mm,屏蔽剥除长度≤25 mm,芯线绝缘剥除长度≤8mm,线对松开扭绞长度≤13mm,试样长度应在100m以上。此外,只有当试样端两个方向测试结果均通过时,才认为试样检验合格。
单端开、短路阻抗测试法是对称通信电缆特性阻抗基准测试方法(详见标准YD/T 1019—2001附录B和YD/T 838.1附录A),其它方法设备原理校准时均以此方法为基准,其充分考虑到特性阻抗是一种矢量,通过校准电阻及测试复反射系数,直接计算得到开路或短路下的复数阻抗。单端开、短路阻抗测试法直接测量复反射系数,可以直接反映出电缆内部阻抗均匀情况及线路匹配情况,当对称电缆存在影响阻抗的结构缺陷时,测量得到的复反射系数有明显突变,同时该方法没有简化高频下较小的实数部分,使检测结果无论在高频或低频情况下都同样准确,更适合1553B数据总线这类使用频率不是很高(1 MHz)的对称电缆。
2.2 电容和电感测试法
电容和电感测试法的测试原理是在高频(频率大于30kHz)时,ωL远大于R,ωC远大于G,因此特性阻抗的计算公式(1)可简化为:
由于测试频率越高,上式的计算结果越接近真实值,而相对其他常用对称电缆超过100 MHz的使用频率,1553B数据总线用电缆的使用频率仅为1 MHz,因此使用基于简化公式的电容和电感测试法测试1553B数据总线用电缆阻抗时准确度不高,不推荐选用。
2.3 传输速率测试法
传输速率测试法也称为相移法或谐振法,按照GB/T 17737.1—2000《射频电缆第1部分:总规范———总则、定义、要求和实验方法》中规定的,先采用电容表或电容电桥来测出试样总电容C,再利用网络分析仪测得电缆谐振频率差Δf,最后计算出特性阻抗[5]。采用的电容表或电容电桥应符合GB/T17737.1—2000中11.3条的规定。测量电气长度的试验电路应符合GB/T 17737.1—2000中11.10条的规定。样品长度应符合GJB 973A—2004《柔软和半硬射频电缆通用规范》中的4.7.8条的规定[6]。通常采用传输速率法测试时,先测量电缆在200 MHz频率下相位变化360°所对应得的频率变化Δf′,反推电缆在1 MHz频率下的相位变化量Δf,再计算电缆在1 MHz频率下的电气传输速度v,通过测量电缆的总电容C,计算电缆在1 MHz下特性阻抗Z0,Z0=333 563/(vC),以及平均特性阻抗Z∞,Z∞=1 000/(ΔfC)。
通常情况下对称通信线路在频率大于30kHz时,电磁波传输速度大约为2×108m/s,由公式v=fλ可计算出,在电缆中传输的1 MHz频率电磁波的波长大约为200m左右,而一般阻抗测试时的试样电缆长度仅为100m。相位变化量即相移常数,表示电磁波传输单位长度上的相移,而交流信号每经过一个波长λ,其相移为2π,当试样电缆长度小于波长λ时,试样电缆上无完整波长的电磁波,矢量网络分析仪无法准确分辨完整波长λ,造成时延差测试结果不停跳动且变化很大,无法得到准确结果。因此,传输速率法测试频率必须在200MHz及以上(此时波长λ远小于试样长度,得到结果较为准确)。采用传输速率法测量使用频率在1 MHz的1553B数据总线用电缆阻抗时,电缆相位变化量或电气传输速度不能由试验直接测量得出,只能人为推算,这可能出现偏差,同时被测电缆因自身结构也会导致在1~200MHz频段的相位变化量或电气传输速度不成线性关系,从而造成测量误差较大。因此,不建议作为1553B数据总线用电缆阻抗的测试方法。
2.4 终端匹配测试法
终端匹配测试法也称为平衡变量器(BALUN)的单端阻抗匹配阻抗法,该测试方法基本与单端开、短路阻抗测试法相同,主要采用基于频域扫描法的前向S11(或后向S22)反射测试,仅在测试时在电缆末端连接一个精密匹配负载,使其可直接测得阻抗值,但这也引入了可能因电缆末端失配而导致的阻抗波动。因此,与单端开、短路阻抗测试法相比,该方法测试结果的波动较大,权威性较差,不推荐选用此方法测试1553B数据总线用电缆的阻抗。
3 阻抗测试实例
根据上述对多种1553B数据总线用电缆阻抗的测试方法(单端开、短路阻抗测试法,电容和电感测试法,传输速率测试法,终端匹配测试法)基本原理和适用范围介绍和对比,我们认为单端开、短路阻抗测试法较为适合1553B数据总线用电缆阻抗的测试。为了进一步了解该测试方法的合理性,我们采用单端开、短路阻抗测试法和较常用的传输速率测试法进行了1553B数据总线用电缆的阻抗对比测试。
分别采用单端开、短路阻抗测试法和传输速率测试法对同一根1553B数据总线用试样电缆进行DC~3.4 MHz的多频点阻抗测试,测试设备为网络分析仪,测试结果如图3a)所示,可见:a.在DC~3.4 MHz频段内单端开、短路阻抗测试法测得的电缆阻抗曲线波动较小,波动区间在74~79Ω之间,且随频率的增加,特性阻抗有逐渐减小的趋势。这是由于频率越低,电缆导体直流电阻R和旁路电导G的值越大,且在某些频率下特性阻抗表现为容性(电容为主),某些频率下表现为感性(电感为主),而形成较小的波动;随着频率的增加,R、G值对整个特性阻抗产生的影响越来越小,电缆电感L逐渐降低(但降低幅度很小),电缆电容C不随频率变化,使得电缆整体特性阻抗随频率升高略有下降并在某一值上下波动,因此单端开、短路阻抗测试法测得的电缆阻抗曲线非常符合特性阻抗理论值分布趋势。b.在整个测试频率下,传输速率测试法测得的电缆阻抗曲线波动较大,波动区间在84~72Ω,且曲线突变点较多,总体呈现随频率增加而下降的趋势。
造成图3a)中传输速率测试法阻抗曲线波动较大、突变点较多的原因有可能是电缆内部阻抗不均匀或测试结果不准确。为了确认是否是电缆本身质量问题,我们分别采用单端开、短路阻抗测试法和传输速率测试法再次对上述同一根1553B数据总线用试样电缆进行DC~300 MHz的多频点阻抗测试,测试结果如图3b)所示,可见,除去前端低频时特性阻抗测试结果,随着频率升高两种测试方法的阻抗测试结果差异越来越小,尤其在频率高于200 MHz时阻抗测试结果基本相同。这表明电缆本身不存在阻抗不均匀的问题,而是传输速率法在低频下检测结果不准确。传输速率法在低频(小于100 MHz)下的测试结果由于相位变化量或电气传输速度计算不准,检测结果不如开、短路法准确。在测试200MHz及以上频率时,两种方法的检测结果同样准确。因此,与传输速率测试法相比,单端开、短路阻抗测试法在低频下得到的结果与特性阻抗的理论值非常接近,较为准确,更适合1553B数据总线用电缆这类使用频率不是很高(1MHz)的对称电缆阻抗测试。
4 结论
本文通过对不同阻抗测试方法基本原理的分析,以及对不同阻抗测试方法测试结果的对比,认为对于对称结构且使用频率相对较低(1 MHz左右)的1553B数据总线电缆,单端开、短路测试方法尤为适用,测试过程较为简单,能够精确测量其特性阻抗,相对其他测试方法权威性更强。除此之外,由于单端开、短路法可直接测量复反射系数,因此其还能准确反映电缆结构缺陷,特别在电缆存在绝缘介质缺陷或导体断路、虚接时,复反射系数在缺陷处将会发生突变,使检测结果发生较大变化。
摘要:对于1553B数据总线用电缆,特性阻抗是重要技术指标之一。在规定的测试频率下,采用不同的特性阻抗测试方法,测试结果存在着一定的差异性。为满足单机设计要求,需要精准掌握1553B数据总线用电缆真实阻抗值,但目前国内尚无相关标准明确规定1553B数据总线电缆适用的特性阻抗测试方法。通过对不同测试方法 原理的剖析、测试结果的数据对比分析,确定了单端开、短路阻抗测试方法能够应用于1553B数据总线用电缆特性阻抗参数的准确测试。
关键词:1553B数据总线用电缆,特性阻抗,测试方法
1553B数据总线 篇2
用于车辆、舰船、飞机等机动平台上的电子设备越来越多,并且越来越复杂。将电子设备加以有效的综合,使之达到资源和功能共享已成为必然趋势。电子综合的支撑技术是联网技术,而机动平台上的联网技术不同于一般的局域网技术,它特别强调网络的可靠性和实时性。1553B总线是在20世纪70年代末为适应飞机的发展,由美国提出的飞机内部的电子系统联网标准;其后由于它的高可靠性和灵活性而在其他机动平台上得到了广泛应用。国内上世纪80年代中期已开始接触这类技术,目前它的研究与应用范围正在迅速扩大。
1553B总线标准由美国军方制定。支持该标准的协议芯片有DDC公司的BU-6517X,BU-615XX系列;HOLT公司的HI-61XX系列;UTMC公司的BCRTM等。这些芯片都集成了BC,RT,BM的功能,但是这些芯片都由美国公司生产,价格非常昂贵。为了能低成本地使用这种可靠性非常好的数据总线,采用FPGA设计并实现远程端点的数据链路层协议,通过外接一个总线收发器完成1553B远程端点协议芯片功能。
在电子设计领域,可编程逻辑器件的广泛应用为数字系统的设计带来极大的灵活性,1片FPGA芯片可代替上百个IC电路。Altera公司开发的Cyclone系列FPGA芯片价格便宜,功能强大,而且配套的开发软件Quartus Ⅱ更是集成了时序仿真、编译、综合、优化等功能,这为实现1553B总线远程节点通信协议提供了有利条件。文中所实现的1553B总线远程端点数据链路层协议采用VerilogHDL语言编写;采用ModelSim仿真;采用Quartus Ⅱ编译、综合、优化,并在Altera 的EP1C6系列FPGA上实现。
1 1553B总线及其接口功能
1553B的全称是:飞机内部时分制指令/响应式多路传输数据总线。它对物理层,如:传输介质、屏蔽条件、耦合方式、阻抗匹配以及输入输入兼容性等都做了严格规范。1553B总线是以串行数据脉冲的形式进行传输的,其数据用双相曼彻斯特码的形式来表示,其传输速率为1 Mb/s。1553B数据总线上连接有3种类型的节点:
(1) 总线控制器(BC):控制总线上的数据传输;
(2) 远程终端(RT):响应BC命令,执行相关操作;
(3) 总线监视器(BM):有选择地接收数据总线上的信息并保存。
飞机上的每个子系统可以通过1553B总线连接到任何一个系统中并与其通信。
在总线上传输字有3种类型:命令字、状态字和数据字。每种字的字长为20位,有效信息位为16位,每个字的前三位为同步字头,最后一位为奇偶校验位。有效信息(16位)及奇偶校验位在总线上以曼彻斯特码的形式进行编码,每位占的时间为1 μs。同步字头占3位,或先正后负(命令字、状态字)或先负后正(数据字),正、负电平各占1.5 μs,即占同步头位场的50%。由于系统类型的不同,可辨别出命令字和状态字,命令字由总线控制器发出,而状态字由远程终端RT发出。
作为1553B总线的远程端点,应完成以下功能:
(1) 将总线上的串行信息流转换成微控制器可以处理的并行信息或者与之相反;
(2) 接收或者发送信息时,能够识别或生成标准的1553B信息字;
(3) 完成与微控制器之间的信息交换,包括1553B信息地址的分配、命令字的译码或返回状态字、发送数据字等。
1553B远程端点数据链路层协议需要完成上述的1553B远程端点的大部分功能,包括同步头添加与检测,曼彻斯特码编解码,命令字译码与接收数据字,状态字反馈与收发数据字,数据缓冲以及与微控制器之间的接口等。整个数据链路层协议内部采用寄存器控制的方式进行操作,上层微控制器通过读写实现程序的寄存器,以完成对协议的控制,而内部操作也是根据相关寄存器的状态来进行的,因此设计时,首先定义相关寄存器,根据数据线的宽度,所有寄存器都定义为16位。
(1) 控制寄存器:
它完成内部时钟、总线端口选择、节点状态设定、状态字保留位、节点ID以及全局复位等状态的设置和操作。
(2) 错误寄存器(ER):
当通信协议中出现了奇偶校验错误,数据不连续错误,接收数据个数错误,接收FIFO错误,发送FIFO错误时就会置位其相关位,上层微控制器通过读取ER就知道错误的类型。
(3) 状态寄存器(SR):
SR中反映了当前数据链路层协议的状态,包括接收数据状态、接收FIFO长度、发送FIFO长度、接收错误状态、中断信号状态nINT和nINTD。
(4) 接收命令字寄存器(RCR):
RCR用于保存当前接收到的命令字。
(5) 发送矢量字寄存器(SVWR):
该寄存器用于存放总线控制器要求的矢量字,这个矢量字由微控制器写入。
(6) 接收同步字寄存器(SYNDR):
用于存放接收到的带数据字同步命令中的数据字。
(7) 自测结果寄存器(STRR):
STRR用于存放上次自测的结果。为了方便地址分配,设计中把发送和接收FIFO都作为一个16位寄存器来对待。
21553B远程端点数据链路层协议的FPGA实现的总体设计
1553B远程端点数据链路层协议的FPGA实现一共分为4个模块:序列解析模块、命令解析模块、发送模块和上层交互模块。整个协议实现采用时序驱动的方式进行,时钟频率为8 MHz,下面就按照数据进入的顺序介绍整个协议的FPGA实现过程。
2.1 序列解析模块
这个模块接收从收发器接收的信号序列,先后进行同步头检测,曼码解码,奇偶校验,ID检测等步骤,最后给命令解析模块一个只包含命令信息的16位数据,以及其字特性。其实现流程如图1所示。
序列解析模块首先对进入的总线序列进行同步头检测,如果有效,则进行曼彻斯特码解码。曼彻斯特码解码是在同步头检测有效时同步开始的,它在同步头检测有效后每隔1 000 μs对序列采样一次,并把采样值作为解码值,同时判断在采样时序列是否发生了跳变,如果发生,则说明序列满足曼彻斯特码编码,否则认定序列存在编码错误,停止解码并置位错误寄存器,而第一次采样是在同步头检测有效后250 ns。解码完成后进行奇偶校验,接收模块对有效序列进行奇偶校验,如果奇偶校验错误,则丢弃这个序列,同时置位消息差错位;如果奇偶校验正确,则进入ID检测部分。奇偶校验在VerilogHDL中通过位异或就可以实现。
当奇偶校验正确以后,接收模块就根据从同步头检测得到的字类型进行不同操作。对于数据字,接收模块收到序列后就检测等待数据字寄存器的值,如果不为零,则把这个数据放入到接收缓冲器中,如果等待数据字寄存器的值为1,则首先把寄存器清零,然后把中断请求信号置位,最后把状态寄存器的值放入发送缓冲器中,并通知发送模块发送以及复位等待数据字寄存器,否则把等待数据字寄存器的值减1,等待下一个字的到来。如果等待数据字寄存器值为零,则认为传输错误,丢弃这个数据字。对于命令字,接收模块进行ID验证,检查所收到的命令是否是总线控制器发给本节点的。它提取所收到的16位有效信息序列中的高5位,与本节点的ID比较,如果不相同,则丢弃这个序列,等待下一个序列的到来;如果相同,则表示这个序列是总线控制器发给本节点的命令,保存命令,启动命令解析模块。
2.2 命令解析模块
命令解析模块完成对收到的命令字进行解析,对收到的数据进行存储的工作。命令解析模块是整个协议的核心,它负责把总线控制器传给本节点的命令翻译成本节点的操作,并执行相关动作。其工作流程如图2所示。
假设命令字存放在寄存器CMDREG[15:0]中,则命令解析模块首先检测CMDREG[9:5],如果CMDREG[9:5]不为全1或者全0,就表示总线控制器给节点的是数据传输命令;命令解析模块则继续检测CMDREG[10]位,如果为1,则表示总线控制器要求本节点发送数据,同时用CMDREG[4:0]指定了需要发送的数据长度;命令解析模块在收到这个命令后就把相关的数据和状态寄存器的值装入发送缓冲器中,并通知发送模块进行发送。如果CMDREG[10]位为0,则表示总线控制器要求本节点接收数据,同时也用CMDREG[4:0]指定了接收数据的长度,而用CMDREG[9:5]指定了数据接收子节点的ID,命令解析模块在收到这个命令以后就把CMDREG[4:0]装入等待数据字寄存器中,等待后继数据字的到来。如果CMDREG[9:5]为全1或者全0,则表示总线控制器传输的控制命令字,并通过CMDREG[4:0]指定了相应的命令方式代码。对于命令方式代码,命令解析模块根据1553B总线标准对不同方式代码进行相关的寄存器置位操作。
2.3 发送模块
命令解析完成后都需要进行状态反馈或者数据发送,而完成这个功能的是发送模块,发送模块负责把命令解析模块和接收模块装载到发送缓冲器中的数据发送到总线上去,如图3所示,它包括读取数据,产生反相字,曼彻斯特码编码,添加同步头,2 MHz时钟数据发送等几个部分,同时由于发送缓冲器中数据有可能多于2个字节,因此还可能需要循环进行这个操作。下面就根据发送的具体流程设计每个部分。首先是发送缓冲器部分,当接收到发送命令后,发送模块就第一次读取发送缓冲器的前两个字节,因为这两个字节肯定是状态字,然后把这两个字节贴上状态字标签,继续传给后继单元,待完成以后就把接收发送缓冲器的发送数据长度寄存器减1,并把发送缓冲器中的数据向前移动2个字节。如果发送数据长度寄存器不为零,则继续等待下一次的发送。
2.4 上层交互模块
最后一个模块是上层交互模块,这个模块负责与上层微控制器进行信息交互,它负责把微控制器写入的数据放入相应的寄存器中,或者按上层微控制器的命令回传相关的数据。上层交互模块主要包括边沿信号与电平信号转换、地址解码和读写寄存器。因为协议实现模块中采用的是边沿信号触发,而上层微控制器给FPGA的信号是电平信号,要顺利地完成通信,就需要进行转换,这里通过锁存器和计数器来完成。地址解码就是把收到的地址解码成相应寄存器的地址,然后写入收到的数据或者把寄存器中的数据读出放入到数据总线上。
3 仿真及FPGA实现
为了确保设计的可行性,必须对设计进行时序仿真。整个协议VerilogHDL实现程序在Altera公司的FPGA开发软件Quartus Ⅱ中编写、编译、综合。整个程序的仿真在Modelsim 6.0中进行,其仿真过程如下:
(1) 接收数据。总线控制器发送给实现程序两个数据:0x1234和0x5678,上层微控制器在实现程序接收数据后通过上层交互模块把数据读出,其中第一个数据包含了接收数据长度,通过图4可以看出整个过程顺利进行,完成了预定目标。
(2) 发送数据。总线控制器间隔地发送给实现程序两个发送数据的命令,让实现程序反馈相关的数据,这些数据是通过上层交互模块提前写入到实现程序中的,其仿真过程如图5。通过图5也可以看出在实现程序接收到命令到发送出数据的延时时间大约为4 μs,完全符合1553B总线对远程端点反馈信号延时的规定。
(3) 一般命令。总线控制器发送给实现程序一般的方式代码命令,代码分别为:00011,10010,01111和00001,其仿真过程如图6所示。可见,实现程序正确地反馈了相关信息,符合设计要求。
该设计在仿真正确以后,通过Quartus Ⅱ优化、综合,最后在Altera公司的Cyclone系列FPGA上进行了具体的实现,并与Freescale公司的16位单片机MC9S12XDP512一起组成了1553B远程端点,通过1553B收发器联入到了1553B总线系统中,成功地完成了远程端点的协议。这说明采用FPGA实现程序设计的1553B远程端点通信协议完全正确,达到了预期的目的。
4 总结及设计通用性
用于1553B远程端点数据链路层协议的FPGA实现程序采用自顶向下和自下向上相结合的方式进行设计,用VerilogHDL语言编写;用Modelsim和Quartus Ⅱ进行仿真和综合。在最后,针对特定器件做了再一次的优化,缩短了设计周期,提高了系统性能,并且大大提高了芯片资源的利用率。
该设计具有较高的通用性,与外部的接口采用标准的通信接口方式进行。它对于上层微控制器来说就是一个内存单元,上层微控制器通过对相关地址的读写即可完成对整个通信协议的控制,应用非常简便,还可以封装成模块,嵌入到Nios Ⅱ等处理器中,成为其内部的一个控制器。
参考文献
[1]Data Device Corporation.MIL-STD-1553 Designer′S Guide[Z].Sixth Edition.
[2]MIL-HDBK-1553A.Department of Defense,USA,1988.
[3]Aircraft Internal Time Division Command/Response Multi-plex Data Bus.Department of Defense,USA,1978.
[4]GJB289A-97,数字式时分制指令/响应型多路传输数据总线[S].1997.
[5][美]Bhasher J.Verilog HDL综合实用教程[M].孙海平,译.北京:清华大学出版社,2005.
[6]叶咏辰,赵光恒,苏建.基于PowerPC处理器硬核的1553B总线远置终端的实现[J].中国科学院研究生院学报,2006,23(3):407-411.
[7]李洪伟,袁斯华.基于QuartusⅡ的FPGA/CPLD设计[M].北京:电子工业出版社,2005.
[8]罗一锋,蔡嵩.基于1553B总线的接口设计与实现[J].现代电子技术,2006,29(2):71-73,76.
[9]张晓斌,周舢,李士杰.基于1553B总线的先进飞机电气系统远程终端的仿真[J].测控技术,2006,25(1):52-55.
1553B数据总线 篇3
1553B总线标准全称MIL_STD_1553B[1],它始于1968年初,1978年9月21日,在获得正式的书面批准后,作为美国官方的文件公布发表。该标准作为美国国防部武器系统集成和标准化管理的基础之一,被广泛地用于飞机综合航电系统、外挂物管理与集成系统,并逐步扩展到飞行控制等系统及坦克、舰船和航天等领域[2,3]。1553B总线具有极其优异的可靠性、较高的传输速率和抗干扰能力、比较轻的质量和长的电缆允许长度、十分成熟的技术。
Virtex-5FXT FPGA可提供1个或者2个PowerPC440处理器模块,帮助设计人员快速轻松地实现先进的可升级嵌入式处理应用。Power PC440嵌入式硬核具有运行速度快、占用资源少和可配置性强等优点,广泛应用于通信、军事和高端消费市场等领域。
Xilinx的嵌入式系统开发环境EDK,提供了一种通用的完全集成的硬件和软件开发环境,使设计人员可以利用单个开发环境快速配置针对Power PC硬处理器内核的平台。
1 1553B数据总线技术
1553B时分制指令/相应多路传输数据总线采用半双工传输方式,1553B数据总线上节点分为不同的终端类型:包括总线控制器(BC)、远程终端(RT)和总线监控器(MT)[4,5,6]。BC是在总线上唯一被安排为执行建立和启动数据传输任务的终端,在同一时刻,总线上只允许一个BC存在;RT是用户子系统到数据总线上的接口,它在BC的控制下发送数据或接收数据;MT“监控”总线上的信息传输,以完成对总线上的数据源进行记录和分析,但它本身不参与总线的通信。各终端之间信息传输方式有:BC到RT、RT到BC、RT到RT和广播方式。1553B数据总线典型拓扑结构如图1所示。
1553B数据总线传输速率为1 Mbit/s[7,8],标准规定了2种耦合方式:直接耦合方式和变压器耦合方式。由于直接耦合不利终端故障的隔离,即如果有一个终端发生故障将造成整个总线系统的完全瘫痪,所以应该尽量避免在空中使用直接耦合方式,而是采用变压器耦合方式,变压器耦合的短截线长度最长不超过6.1 m[9,10,11]。
2 系统硬件框架的建立
在用Xilinx公司的FPGA进行嵌入式设计时,Xilinx公司提供嵌入式开发工具EDK。EDK嵌入式开发工具主要包括:Xilinx平台设计环境(Xilinx Platform Studio,XPS)和软件开发工具(Software Development Kit,SDK)。XPS是图形化的设计环境,可以为嵌入式处理器系统提供一个创建软件和硬件的集成环境。在该环境下,可使用基本系统向导(Base System Builder,BSB)来生成Power PC440硬核硬件平台。EDK提供了处理器本地总线(PLB)、本地存储器总线(LMB)、片上外设总线(OPB)、外部存储器接口、串口(UART)、通用输入输出接口(GPIO)、三态以太网MAC、串口中断控制器、定时器以及其他一些外围设备接口资源。这些接口都是以IP core的形式进行应用。用户可以根据自己的实际需求通过IP core来建立一个完善的嵌入式处理器系统。
本次设计中采用XPS的IP核XPS_GPIO通过PLB总线对BU-61580进行控制和数据传输。IO设备(XPS_GPIO)是32位的PLB外设,支持32位、16位和8位总线接口,每一位GPIO可动态地设置为输入、输出或I/O端口。
DDC公司的BU-61580芯片是当前最流行的1553B超大规模接口协议芯片,功能强大,它具有BC、RT和MT三种工作模式。该芯片被封装在一个1.9 in2的模块内,具有70个引脚。为了实现总线系统与终端之间的短路保护、直流隔离和阻抗匹配等问题,必须接隔离变压器。1553B总线系统完整的硬件框架如图2所示。
3 系统软件设计
在进行系统设计时,把Power PC440微处理器作为子模块,将Power PC440处理器当作一个IP core添加到ISE工程中,在Power PC440的PLB总线上添加通用输入/输出驱动(GPIO)。每个外设GPIO都有自己对应的唯一地址,这个地址是XPS在添加了GPIO IP核后选择Generate Addresses自动产生的。XPS_GPIO是XPS中自带的IP核,有其相应的驱动程序,使用其提供的函数就可以很方便的编写1553B初始化程序。下面介绍2个主要用到的函数:
应用实例:
Xuint32 Current;
Current=XGpio_mReadReg(0x85000000,0);
XGpio_m WriteReg(0x85000000,0,Current);
4 BU-61580初始化
BU-61580和FPGA软件接口设计主要是FPGA对BU-61580的内部存储器和寄存器的配置编程。BU-61580工作在不同方式下,内部存储器和寄存器的编程要求不同。
4.1 BC模式初始化实例
BU-61580工作在BC模式时寄存器和存储器初始化实例如下:
R03←0001软件复位;
R07←8000设置增强模式;
R00←0001中断屏蔽寄存器:通过设置这个寄存器的相应的位屏蔽或者允许中断请求,选择消息结束中断;
R01←0010选择BC模式;
R02←0008选择电平中断请求;
M0100←0000在RAM中的固定位置0100H写堆栈指针为0000H,该指针会在每个消息传输完成后自动加4;
M0101←00FE消息计数中利用软件编程存放的是总线控制器的消息个数,如果是单消息,则该位置写入的是127-1=126,处理完一条消息,自增1,增加到127则结束处理消息。例如有N个消息,则填写00FFH-N,每完成一个消息处理,消息计数自增1,当变为00FFH的时候,就结束处理消息;
M0000←0000块状态字;
M0001←0000时间标签字;
M0002←0320消息间隔时间字;
M0003←0108消息1地址;
M0108←0180消息1的BC控制字;
M0109←0823消息1的BC命令字;
M010A←0000消息1的第1个数据字;
M010B←0001消息1的第2个数据字;
M010C←0002消息1的第3个数据字;
R03←0002启动BC模式。
4.2 RT模式初始化实例
BU-61580工作在RT模式时寄存器和存储器初始化实例如下:
R03←0001软件复位;
R07←8000设置增强模式;
R00←0000中断屏蔽寄存器:根据自己需要设置相应的中断;
R01←8000选择RT模式,存储器当前区域选择A;
R02←0008选择电平中断请求;
M0100←0000在RAM中的固定位置0100H写堆栈指针为0000H;
M0141←0400初始化RT接收子地址查找表;
R03←0002启动RT模式。
4.3 MT模式初始化实例
BU-61580工作在MT模式时寄存器和存储器初始化实例如下:
R03←0001软件复位;
R07←8D00设置增强模式,命令堆栈大小为1 K,数据堆栈大小为2 K;
R01←5000选择MT模式,打开消息监视使能;
R00←0001中断屏蔽寄存器,选择消息结束中断;
M0102←0400初始化命令堆栈指针;
M0103←0800初始化数据堆栈指针;
M0280-M02FF←FFFF初始化选择查找表;
R03←0002启动MT模式。
5 系统测试
测试过程选用2块1553B测试卡进行了总线通讯操作。其中一块是PCI-1553B总线测试仿真接口卡(后面简称PCI-1553B接口卡),另一块就是本次要测试的1553B数据总线板卡,实验中对该通讯模块的1553B总线的3个终端进行模拟和测试,并对广播消息传输和非广播消息传输进行了测试。
BC测试:1553B数据总线板卡工作在BC模式,PCI-1553B接口卡工作在RT模式,BC发送给RT地址1的接收命令0823H,接收数据字个数为3,数据字存储在双口RAM的010A、010B和010C地址空间。RT在接收到命令字和数据字之后,返回状态字,BC正确接收状态字后,消息传送完毕。用示波器检测BC发送数据给RT的消息传输如图3所示。
RT测试:PCI-1553B接口卡工作在BC模式,1553B数据总线板卡工作在RT模式。BC发送给RT地址15发送命令字,发送数据字个数为3。RT把要发送的数据字存储在双口RAM的0400、0401和0402地址空间。用示波器检测RT发送数据给BC的消息传输如图4所示。
由于篇幅原因,其他测试不再赘述。测试结果表明,1553B数据总线板卡可以实现BC、RT或MT三者之一的功能,并且可以实现RT到BC、BC到RT、RT到RT以及广播消息的准确传输。
6 结束语
采用FPGA控制1553B接口协议芯片,较于CPU的设计方案,这样的设计将整个系统的数据管理与控制通讯集中在1片FPGA芯片内实现,有利于系统的软件重用和增加系统可靠性。同时,采用FPGA嵌入的Power PC440硬核使设计更加简单,调试更加方便。
可将FPGA内实现1553B控制逻辑的模块分离独立出来,即使以后更换其他型号,FPGA也可以方便地移植,从而实现代码重用目的。随着以后卫星通信数据管理系统需求的增加或者FPGA型号变更,采用已完成的FPGA控制协议芯片BU-61580实现的1553B总线独立模块,就可迅速地移植完成1553B总线通讯设计,同时将整个数据管理系统的控制集中在1片FPGA内实现,有利于减少系统元器件数量,提高系统的集成度和可靠性。
摘要:针对卫星通信的复杂性和高可靠性,提出了一种基于Xilinx新型的嵌入Power PC440处理器硬核和美国DDC公司1553B协议芯片BU-61580构建的1553B总线系统。对1553B总线系统进行了简要介绍,针对1553B总线系统的软硬件设计和BU-61580三种工作模式的初始化进行了详细分析,对1553B总线系统进行了测试。测试结果表明该系统是可靠通信系统,设计满足1553B总线协议标准。
关键词:1553B总线,FPGA,PowerPC440,BU-61580
参考文献
[1]杨卫军,李钊,许化龙.1553B网络BC的SPN建模与分析[J].无线电工程,2009,39(2):16-17.
[2]张飞,王焕玉,徐玉朋.基于FPGA控制实现的1553B总线通讯设计[J].航天控制,2010,28(6):67-68.
[3]ZHANG Yong-xiang,ZHANG Wei-gong,ZHOU Quan.The Design of 1553B Communication Bus Based of BU-61580[J].IEEE Conference on Industrial Electronics and Applicationsis,2010(5):1 920-1 923.
[4]吴云忠.基于PCI接口的1553B总线控制软件设计[J].现代电子技术,2013,36(24):47-49.
[5]YUAN Ye,HU Xiao-guang,ZHANG Guo-feng.Design of MIL-STD 1553B Da Ta Bus Based of MIL-STD 1553B Data Bus Simulation Platform Based of BU-61580[C]∥IEEE 9th Conference on Industrial Electronics and Applicationsis,2014(9):2 119-2 121.
[6]叶咏辰,赵光恒,苏建.基于Power PC处理器硬核的1553B总线远置终端的实现[J].中国科学院研究生院学报,2006,23(3):407-409.
[7]邓林,戎蒙恬.基于BU-61580的MIL-STD-1553B总线设计[J]、信息技术,2014(2):194-195.
[8]SHI Hong-mei,JI Lao.Design of 1553B Decoder Based on FPGA[J].Microcontroller&Embedded System,2004(4):42-44.
[9]李志刚.1553B总线测试系统的设计与实现[D].西安:西北工业大学,2005:5-8.
[10]XIONG Hua-gang,ZHOU Gui-rong,LI Qiao.A Survey on Avionecs Bus and Network Interconnections and Their Progress[J].Acta Aeronautica Et Astronautica Sinica,2006(9):1 135-1 144.
1553B总线用单/双耦合器 篇4
1553B总线是MIL-STD-1553B的简称,其全称是飞机内部时分制指令响应式多路传输数据总线。1553B总线最初是在20世纪70年代末为适应飞机的发展由美国提出的飞机内部电子系统联网标准,其后广泛地应用于飞机综合航电系统、外挂物管理与集成系统,并逐步扩展到飞行控制等系统及坦克、舰船、航天等领域。后来由于其传输速率高,设备之间连接简单灵活,噪声容限高,通信效率高而且可靠,为美军标所采用,将其作为机载设备相互通信的总线标准。
1553B总线系统广泛应用在美国的军/民用装备中和太空站、卫星发射器和接收器中,如F-18、F-22、C-17飞机和阿波罗飞船上。使用1553B总线需要有与其配套的,符合其标准的,用作信号传输、隔离、阻抗匹配用的耦合器,通过耦合器把终端耦合到总线上去。国内航空航天部门正在推广与1553B总线标准类似的标准,因而符合这一标准的军用总线耦合器的需求也非常迫切。
在航空电子系统中,通过1553B总线可连接多达32个子系统(或称终端),完成各子系统的通信和数据交换,实现各子系统的集中控制和显示。我们研制的单/双耦合器在实际使用中可与总线电缆、78 Ω主线终端适配器和3 kΩ短截线终端适配器一起组成数据总线。1553B总线系统连接示意图如图1所示,由2个单耦合器、2个双耦合器、2个主线终端适配器、1个短截线终端适配器及若干总线电缆以及5个子系统构成。在实际使用中可以根据需要增加单耦合器或双耦合器数量,以便增加可以挂接的子系统数量,从而增加连接的灵活性,可以在多种场合应用。同时,单/双耦合器还具有体积小、质量轻的特点,市场前景十分广阔。
2 单/双耦合器的设计原理
总线控制器(BC)到远程终端(RT)采用双绞屏蔽线传输。当RT离总线很近时(≤0.3 m),可直接通过隔离变压器(和串入隔离电阻)与总线相接;当RT离总线较远时(最多不超过6.1 m),要在隔离变压器与总线之间插入耦合变压器,如图2所示。
一般来说,1553B系统总线所采用的耦合方式有两种:a.变压器耦合,即RT通过短截线及耦合变压器连接到主电缆上;b.直接耦合,即用短截线直接连接总线主电缆和RT。由于直接耦合不利于RT故障隔离,会因为一个RT故障而造成整个总线网络的瘫痪,所以一般不推荐直接耦合方式。我们研制的单/双耦合器采用变压器耦合方式,单/双耦合器的设计原理如图3和图4所示。单耦合器是由1个耦合变压器和2个隔离电阻组成,双耦合器是由2个单耦合器并联而成。从图3可以看出,在单耦合器发送端,信号由发送设备经输入/输出端口1进入,经耦合器变压后进入总线;在单耦合器接收端,总线上的信号经耦合变压器耦合后由输入/输出端口1输出到接收设备,完成一个完整的信号通信过程,双耦合器原理也是一样。
图3和图4中的隔离电阻的主要作用是在某个RT发生故障时,起到隔离作用,避免因某个RT故障而导致整个系统崩溃。从图3和图4可以很容易地看出耦合变压器是整个耦合器最核心的器件,将直接影响信号传输的误码率及抗干扰能力,进而影响信号质量和传输效率。磁芯材料的选择会直接影响耦合变压器的性能参数。磁芯的磁导率较高将有助于改善传输损耗、反射损耗和相移特性;磁导率一定时,磁芯材料损耗越大,传输损耗越大,但同时匹配性和相移性越好。因此,选择磁芯材料时要考虑这两个相关的因素。
图5是包括磁滞、涡流损耗及电容影响的耦合变压器的电路模型。其中R1和R2分别是初级和次级导线电阻,C1和C2分别是初级和次级导线分布电容,L1和L2分别是变压器初级和次级绕组的电感,Ci是变压器初级和次级线圈之间的杂散电容,这些参数将决定耦合变压器的阻抗。根据阻抗、匝数比以及温度范围的要求,对磁芯材料、漆包线材料及初、次级线圈的匝数进行选择。同时,由于这种耦合变压器的工作频率在1 MHz,属高频变压器,所以线圈要紧密缠绕,线圈间的耦合紧密,才能降低漏磁,有利于改善耦合变压器的高频特性。耦合变压器中磁芯材料的性能在-55~+150 ℃应变化较小,高频参数稳定;漆包芯线应满足耐温等级高,直流电阻低,高频性能好的要求;初、次级线圈匝数主要由规定的匝数比和阻抗特性确定。
3 单/双耦合器的实验结果
我们设计的单/双耦合器如图6所示。外壳采用HALF结构,材料为铍青铜,可起到整体屏蔽作用;内部电路板采用印制电路板,耦合变压器和隔离电阻焊接在电路板上;外壳与电缆的屏蔽层焊接在一起,保证屏蔽及连接的可靠性;外壳和电缆外面套上热缩管加以密封。我们采用了国外标准EN 2591规范和国内相关规定相结合的测试方法对所设计的单/双耦合器进行了测试。
3.1 输入阻抗测试
按图7所示连接测试输入阻抗。在总线端采用阻抗测试仪进行扫频测试,扫频信号为1.0 V(有效值)的正弦波信号,频率范围为75.0 kHz~1.0 MHz,测试结果可直接从阻抗测试仪读出。
3.2 共模抑制比测试
按图8所示连接测试共模抑制比。从总线端输入频率为1.0 MHz,幅度为0.3 V(有效值)的信号,在短截线端用示波器读取两个导线对地电压Vs1,Vs2。应在2个短截线端分别测试双耦合器的2个共模抑制比,按下式计算共模抑制比T。
3.3 波形完整性测试
按图9所示连接测试波形完整性。在短截线端输入频率为250.0 kHz、峰-峰值为27 V的方波,上升和下降时间小于100.0 ns,在总线端对输出波形进行测试。波形完整性测试的相关参数定义如图10所示。波形的平顶降落D=(Vd/Vout)×100%。
我们设计的单/双耦合器的主要性能测试结果参见表1。从表中可以看出,单耦合器的输入阻抗场大于3 kΩ,双耦合器的输入阻抗都大于1.5 kΩ;单/双耦合器的共模抑制比都大于45 dB;在波形完整性方面,单/双耦合器的过冲和振铃都小于1 V,平顶降落都小于5%。这些性能都优于GJB 289A-1997规定的要求,满足了设计要求。
参考文献
[1]Department of USA Defence.MIL-STD-1553BMilitary standard aircraft internal time divisioncommand/response multiplex data bus[S].MIL:[s.n.],1975.
[2]李瀚荪.电路分析基础[M].北京:高等教育出版社,1999.
[3]EN.EN 2591-2001航空航天系列光电连接元件试验方法[S].EN:[s.n.],2001.
1553B数据总线 篇5
航空1553B总线是航空电子系统使用的标准互联总线,是一种集中控制的时分制指令/响应的多路传输串行数据总线,由于1553B总线具有确定的传输延迟、可靠的传输能力,以及较强的容错能力等特点,因此被广泛用于航空、航天、舰载以及车载领域的综合电子信息系统[1]。
在航空电子系统中,航空1553B总线主要完成信息传输、资源共享、任务协调和容错重构等功能,是系统的核心部件之一。1553B总线协议处理芯片作为1553B总线的核心,目前主要采用专用芯片进行设计,主要型号包括DDC公司ACE系列总线通信终端接口控制器BU-61580、BU-61590和BU-65620,UTMC公司的UT1553B,INTEL公司的M82553等。但随着微电子技术的飞速发展,IP复用技术(Intellectual Property)被广泛应用于电子信息系统中,基于IP技术设计符合GJB289A-97规范的1553B总线IP核,不仅有利于总线接口单元和功能模块集成,降低总线通信的复杂性,提高通信的可靠性;而且有利于系统的小型化和低功耗设计,适应当前电子信息系统发展的需求。
二、1553B总线概述
1553B总线采用时分方式共享总线,总线上挂接总线控制器(BC)和远程终端(RT),以及总线监视器(MT),其中BC负责分配、协调各通信成员通信时隙,发挥集中控制作用,各RT在BC的指令下实现信息传输。
在航电系统中,1553总线一般采用双余度总线型拓扑结构,同时具备A总线和B总线两组,所有子系统或处理单元通过总线接口单元挂接到在总线上。
1553B总线以序列脉冲码调制方式传输信号,编码方式采用曼彻斯特II双极码。1553总线传输的消息包含命令字、数据字和状态字三种类型,每个字占20比特位,包含3位同步头、16位有效信息位和1位奇偶校验位[2]。
1553总线各通信单元之间基于消息帧传输数据,GJB289A-97定义了10种消息传输格式[2],包括:控制器向远程终端的传输、远程终端向控制器的传输、远程终端到远程终端的传输、带数据字的方式指令(接收)、带数据字的方式指令(发送)、不带数据字的方式指令、控制器向各远程终端广播、远程终端向远程终端广播、带数据字的方式指令、不带数据字的方式指令。
本文的1553B IP按照GJB289A-97总线协议规范设计,实现物理层和链路层功能,主要包括:1)可配置为总线控制器(BC)、远程终端(RT)或总线监视器(MT)三种类型;2)支持RT地址软件配置,双冗余总线自动识别和切换;3)总线传输速率1Mb/s,完整实现总线协议规定的三种消息字和10种消息格式处理;4)为应用层提供中断机制和异步总线操作接口;5)提供消息时间标签信息,便于分析总线消息。
三、1553B IP设计与实现
1553B IP主要由总线接收单元、总线发送单元、总线协议处理单元、时标单元和CPU接口单元构成。总线接口单元、总线发送单元主要实现物理层功能,包括曼彻斯特编解码、位同步、校验、消息字组织和提取。链路层功能由总线协议处理单元实现,完成总线仲裁、消息格式处理、状态自动回传等。CPU接口单元主要实现与应用层处理器通信。1553B IP核结构如图1所示。
3.1总线发送单元
总线发送单元主要实现发送消息缓存、A/B总线选择、曼彻斯特编码和串行发送功能。1553B总线以序列脉冲编码调制方式传输数据信息,数据编码采用曼彻斯特双极性码,编码规则为:每个码元中间有一个跳变,“1”是由1到0的负跳变,“0”是由0到1的正跳变。
在总线发送单元设计中,先对缓冲器的16比特数据进行奇校验;然后对数据和奇校验进行曼彻斯特编码;最后根据消息字类型(命令字、数据字和状态字)添加3比特同步头,组成20比特的1553B消息字,以1Mb/s速率按先高后低顺序发送到总线上。消息发送过程如图2所示。
3.2总线接收单元
总线接收单元主要实现A/B总线数据采样、曼彻斯特解码、位同步、校验、消息缓存和A/B总线仲裁功能,处理流程如图3所示。在总线接收单元中,以24MHz时钟分别对A/B总线数据进行采样,每个采样数据从低比特端存入移位寄存器,以备同步头判决、曼彻斯特解码和奇校验使用。根据图2所示同步头特点,并结合GJB289A-97规范允许100ns误差,进行同步头判决,并可判断消息字的类型,然后对同步头后的数据进行曼彻斯特解码和奇校验检测;如果解码错误或校验错误,则丢弃并置错误标志位;如果数据正确则将数据存放接收缓存器中,并输出接收数据标志和A/B总线标识给总线协议处理单元。
3.3总线协议处理单元
总线协议处理单元是1553B IP的核心,主要实现1553B协议规定的10种消息格式处理,实现BC到RT、RT到BC和RT到RT的消息传输。CPU可将总线协议处理单元配置为BC、RT或MT类型,在RT类型时,可以配置该节点的RT地址。
总线协议处理单元作为RT工作时,从总线接收单元接收来自BC的命令字,在BC控制下实现数据的接收和发送。如果接收的命令字正确并且RT地址匹配,则按照协议规定的消息格式和响应时间间隔响应。如果接收到BC或其它RT发送到本RT的数据,则将数据存入接收缓冲区,并产生中断通知CPU读取数据;如果本RT向BC或其它RT发送数据,则从发送缓冲区中读取数据通过总线发送单元发送到A/B总线标识指定的总线上。
总线协议处理单元作为BC工作时,从CPU接口单元接收CPU的命令,通过总线发送单元发送到总线;并接收RT响应的数据字和状态字,按照协议规定的消息格式和响应时间判断RT响应的正确性,在发生响应异常时向CPU发送中断信号,以便CPU进行进一步处理,如切换总线发送等。在收到RT响应的正确数据后,存入缓冲区,并产生中断通知CPU读取。
总线协议处理单元作为MT工作时,通过总线接收单元接收总线上的所有数据消息,根据命令字、数据字和状态字格式进行解析,按照协议规定的消息格式判断消息正确性,在收到异常消息或正确消息时,从时标单元读取时间信息和接收到1553消息一起发送给CPU处理。
3.4时标单元
时标单元主要实现计时功能,工作时钟为24MHz,精度为1us。该单元为总线在RT、BC和BM方式下提供时间,以便计算消息到达的绝对时间和相对时间。
3.5 CPU接口单元
CPU接口单元主要实现1553B IP与CPU之间的数据交互功能,为CPU配置1553B IP参数和获取总线数据提供传输通道。CPU接口单元采用异步总线通信方式进行设计,接口信号包括片选信号CS、写使能WE、读使能RD、地址总线ADDR和数据总线DATA,在CS、WE、RD信号的控制下,实现指定地址的数据读写操作。
四、1553B IP核验证与分析
首先用Model Sim SE 6.3对本文设计的1553B IP核进行RTL仿真,仿真通过后,再基于XC4VLX25芯片使用synplify9.2综合工具对其进行综合,综合后的门电路资源使用情况如表1所示。
最后,将1553 IP集成到XC4VLX25芯片,并与DSP2812、总线收发器HI-1573、变压器PM DB2725构成1553节点,与在计算机端的两通道CONDOR 1553卡构成具有3个节点的总线验证环境,对1553B IP进行测试验证。测试验证主要包括协议测试、噪声抑制测试和电气性能测试等,验证结果表明,在BC、RT和MT三种方式下,1553B IP均能满足GJB289A-97规范要求。
五、结束语
本文重点论述了1553B IP的功能结构和各模块单元的设计与实现,并在XC4VLX25芯片上综合实现。通过构建总线测试验证环境,开展了大量测试验证试验,试验结果表明本文设计的1553B IP核工作稳定可靠,可为综合电子信息系统提供总线通信服务。
参考文献
[1]支超有.机载数据总线技术及其应用:国防工业出版社,2009
[2]GJB289A-97数字式时分制指令/响应型多路传输数据总线,1997
1553B数据总线 篇6
1 1553B总线简介
1553B总线是一种广播式分布处理的计算机网络, 可挂接32个终端, 所有终端共享一条消息通路, 任一时刻网络中只有一个终端在发送消息, 传送中的消息可以被所有终端接收, 实际接收的终端通过地址来识别。网络结构简单、终端扩展方便, 任一终端的故障都不会造成整个网络的故障, 总线控制器则可以通过备份提高可靠性, 但网络对总线本身的故障比较敏感, 因此通常采用双冗余度总线。
1553B总线强调了整个系统的实时性, 即传输一个固定消息所需的时间短。1553B总线按指令/响应的方式异步操作, 即总线上所有消息传输都由总线控制器发出的指令来控制, 这种方式适合集中控制的分布式处理系统。1553B通信协议中反映了支持电子系统中同步/异步通信的特性。
1553B总线为多冗余度总线型拓扑结构, 具有双向传输特性, 其传输速度为1 Mbit·s-1, 传输方式为半双工方式, 采用曼彻斯特Ⅱ型码。它采用指令/响应型通信协议, 具有3种终端类型: (1) 总线控制器 (BC) , 是在总线上惟一被安排为执行建立和启动数据传输任务的终端。 (2) 远程终端 (RT) , 是用户子系统到数据总线上的接口, 能在BC的控制下提取或吸收数据。 (3) 总线监视器 (MT) , 是监控总线上的信息传输, 以完成对总线上的数据源进行纪录和分析, 但其本身不参与总线通信。
2 BU-61580简介
BU-61580是美国DDC公司为MIL-STD-1553B标准设计的超大规模接口协议芯片, 它是当前1553B总线应用系统中流行的器件, 图1是BU-61580的内部功能框图。它内部功能强、接口灵活、便于控制, 有各种封装形式和供电电压供用户选择, 是1553B等总线标准应用中较常用的接口芯片。
3 基于BU-61580设计的1553B总线板卡
本文采用MCS-51系列的单片机AT89C52与BU-61580共同设计, 该板卡接口灵活、控制简单, 可设置为1553B总线中的BC、RT、MT终端类型进行工作, 外围控制为通用RS232串口。下面以BC终端类型举例说明, 简要介绍如何完成对BU-61580的控制, 实现1553B总线功能。
3.1 硬件设计
BU-61580与微处理器或外部存贮器接口灵活, 可与8位8位、16位多种微处理器接口, 需要较少的控制逻辑电路。这里BU-61580与微处理器采用了直接存贮器存取方式、使用了16位地址线、8位数据线。图2为该1553B板卡的原理图。
3.2 软件设计
由于BU-61580功能强, 可通过程序设计使其成为BC、MT、RT或MT兼RT, 所以其软件设计也较为复杂, 如图3所示。
该板卡的软件主流程图如图3 (a) , 板卡加电后, 软件首先对BU-61580进行初始化设置, 在主循环里分别对RS232串口标志、50 ms定时标志、外部中断标志进行查询, 该板卡的对外接口为RS232串口, 接收到外部RS232命令后, 应根据命令做出不同的操作, 如发送1553B输入命令等;该板卡会50 ms周期发出1553B输出命令, 读取回传数据, 通过RS232板卡送出;当发出1553B命令后, BU-61580启动命令传输, 传输完毕后或回传数据完毕, BU-61580会产生外部中断, 要求单片机读取数据。图3 (b) 为启动发送1533B命令的流程图。
4 结束语
BU-61580的应用较为复杂, 文中介绍了一部分的应用技术, 但其他功能的软件设计过程与之类似, 供感兴趣者参考。
参考文献
[1]罗志强.航空电子综合化系统[M].北京.北京航空航天大学出版社, 1990.
[2]美国国防部.MIL-STD-1553B飞机内部时分制指令/响应式多路传输数据总线[S].华盛顿:美国国防部, 1978.
1553B数据总线 篇7
在控制系统中, 常同时采用1553B总线和CAN总线进行设备互连, 两总线都有较高的可靠性, 但相比CAN总线, 1553B总线采用指令/响应方式异步操作和双冗余设计, 具有更高可靠性, 所以成本更高。CAN总线具有更高的性价比[1], 因为控制方式以及信息传递方式转换的需要, 有时希望将1553B监视器收到的数据实时通过CAN总线传输, 需设计1553B总线和CAN总线信息转换逻辑。
FIFO是一种先进先出存储器, 异步FIFO能实现不同时钟域之间的过渡互连, 还能实现数据的缓存, 满足读写数据不同宽度、快进慢出等要求, 实现系统实时性要求。
1 设计思想
该系统中1553B总线的速率为4 Mb/s, 而CAN总线的速率为1 Mb/s, 当1 Mb/s的CAN总线数据发往4 Mb/s的1553B总线时, 不会出现数据丢失现象, 但要实现4 Mb/s的1553B总线数据实时地发送到1 Mb/s的CAN总线时, 会出现丢数据现象[2], 因此我们采用大容量的FIFO作为缓存。系统功能框图中的一部分如见图1。
CAN控制器软核、1553B控制逻辑及片选译码等控制逻辑在Xilinx FPGA中实现, 另外本论文设计的异步FIFO也要在Xilinx FPGA中实现。异步FIFO设计中需要注意的关键问题有:
(1) 如何采取多种措施 (如多级同步、格雷码计数器) 尽量降低电路中出现亚稳态现象的概率。
(2) 如何产生可靠、准确的空/满标志。
2 模块设计
该异步FIFO的整体框图[3,4]如下 (见图2) :双口RAM采用Xilinx ISE中new source wizard生成一个写端口32 bit、读端口8 bit的双端口存储器, 分为FIFO读控制模块、FIFO写控制模块, 异步比较模块, 双口RAM模块。
2.1 读写控制模块设计
该模块产生读写指针, 从功能上看, 复位时, 读写指针均为0, 写指针时刻指向下一个将写入数据的存储器地址, 写执行后, 写指针自动加1, 读指针时刻指向下一个将读出数据的存储器地址, 读执行后, 读指针自动加1, 本设计中的FIFO采用循环队列的形式, 如果FIFO读写指针采用二进制计数器实现将会出现问题, 因为指针在相邻两个二进制数之间翻转时, 可能出现多位同时变化情况 (如7—〉〉8 计数变化时 ‘0111’—〉〉‘1000’) , 导致亚稳态现象发生, 采用格雷码计数器将避免上述情况发生, 格雷码是一种非连续性二进制码, 主要特点是相邻两个编码之间只有1位不同, 格雷码和8421二进制码转换关系如下:
表示格雷码, Bi表示二进制码)
格雷码仅仅作为读写指针传递至异步比较模块进行空满标志比较, 并不能作为FIFO地址索引, 所以我们仍旧采用自然二进制码作异步FIFO的地址索引, 本设计中采用二进制码转换为格雷码的方案[5], 该方案逻辑描述及原理图如下 (见图3) 。
rgnext<= (' 0' & wbnext (7 downto 1) ) xor rbnext;
wgnext<= (' 0' & wbnext (7 downto 1) ) xor wbnext;
2.2 异步比较模块
该模块通过比较读写指针产生空/满标志 (见图4) , 本设计中我们定义一个方向标志 (direction flags) , 它指定写操作引起的FIFO越来越满方向, 读操作引起FIFO越来越空方向。当FIFO中的字节写超过某个预定上限, 把方向标志置为“going towards full” (趋向满) , 当FIFO中的字节低于某个预定下限时, 认为FIFO“going towards empty (趋向空) ”。我们假定上限为75%, 下限为25%, 这样只需比较指针的高两位就能决定是否超过门限, 就得到几乎空/满标志, 再在读写指针相等的时候, 将几乎空/满标志和读写指针相等这个条件取与, 产生空满标志, 几乎空/满标志用一锁存器记录, 当其为‘1’时表示几乎满, 为‘0’时表示几乎空, 空满标志产生后要经过两级触发器同步, 以尽量降低亚稳态发生的概率。空满标志产生的逻辑描述为:
dirset-n<= ( ( wptr (N) xor rptr (N-1 ) ) AND not ( wptr (N-1) xor rptr (N) ) ) ;
dirclr-n<= ( ( ( wptr (N-1) xor rptr (n) ) and not (wptr (n) xor rptr (n-1) ) ) or not rst ) ;
process (dirset-n, dirclr-n)
begin
if (dirset-n='1') then
direction<='1';
elsif (dirclr-n='1') then
direction<='0';
end process;
compare-pointer<='1' when wptr = rptr else '0' ;
aempty-n<= compare-pointer and (not direction) ;
afull-n<=compare-pointer and ( direction) ;
3 仿真结果
在Xilinx ISE9.2工具中仿真的结果如下 (见图5) :
从仿真看到, 能产生准确的空/满表示, 4 Mb/s的1553B总线数据, 每10 ms一个周期, 1553B总线上连续有数据的情况下, 一个周期的数据量为40 K, 采集10个周期的数据量为400 K, 通过缓存入1 M×8bit的异步FIFO, 又通过1 Mb/s的CAN总线发送出去, 所需时间为400 ms。1553B总线一次可传送32个数据字, 能给同一RT发送多种类型信息;CAN一次只能传送8个字节的数据。该异步FIFO一个时钟节拍写入一个32 bit的数据, 而一个时钟周期读出8 bit的数据, 提高了系统的实时性。
4 结论
为了满足4 Mb/s的1553B总线和1 Mb/s的CAN总线互连的实时性、可靠性要求, 本文提出了利用异步FIFO作为缓存区, 满足读写不同速度的要求, 并利用VHDL[6]语言实现, 在Xilinx Virtex-4系列FPGA中仿真综合通过验证。
参考文献
[1]唐太岗, 曾超.基于ARM9的1553B和CAN总线转换卡的设计与实现.现代电子技术, 2008; (9) 45—47
[2]梁君, 熊华钢.1553B总线和CAN总线的互连.遥测遥控, 2003; (9) :30—34
[3]王智, 罗新民.基于乒乓操作的异步FIFO设计及VHDL实现.电子工程师, 2005; (6) :45—47
[4]李洪威.基于TMS320C6713的嵌入式高速图像处理计算机研究.西安:西安微电子技术研究所硕士论文, 2009
[5] Jose S.Simulation and synthesis techniques for asynchronous FIFOdesign with asynchronous pointer comparisons.In:Proceeding of Syn-opsys User Group Conference, SUNG.www.sunburst-design.com/pa-pers, 2002
【1553B数据总线】推荐阅读:
1553b总线06-29
1553B总线协议07-12
总线数据07-12
航空电子数据总线技术07-28
RS485数据总线09-05
军用数据总线技术发展综述06-14
1553B数据处理10-25
485总线07-22
总线平台07-27