APP下载

1553B容错解码器对抗干扰的可信赖性改进

2017-09-03杨福宇

单片机与嵌入式系统应用 2017年8期
关键词:译码器解码器空闲

杨福宇

(重庆工业自动化仪表研究所,重庆 401123)

1553B容错解码器对抗干扰的可信赖性改进

杨福宇

(重庆工业自动化仪表研究所,重庆 401123)

通过1553B通信协议各种解码器设计方案讨论了引起协议可信赖性不足的硬件的三个原因:没有对干扰的容错设计,拖尾电压超过输入下限以及缺少过0位置的修正能力。所以解码器容错能力的提高是改善1553B通信协议可信赖性的关键。文中介绍了容错解码器中对抗干扰的部分:将每8 slot组成两个半位HB1和HB2。采用这种方法,在半位中连续干扰宽度为3 slot的可以排除掉,宽度小的干扰累加小于3 时也可滤除掉。对于增频的1553B芯片(例如2 Mbps以上),这是更加重要的可信赖性改进。

1553B;容错;解码器

引 言

1553B是一种通信协议,它规定以Manchester2编码对位(bit)进行编码,以字(word)为基本单位进行传送。关于1553B的内容可参照标准,对应的国标为GJB289A-97数字式时分制指令/响应型多路传输数据总线。

由于工业现场有传导和辐射干扰,1553B标准对硬件抗扰能力的考虑较少,查错能力不足,所以会引起应用的可依赖性不够,详见“1553B通信协议的可依赖性讨论”[1]。但是这种协议已广泛使用,业界还没有准备好新的替代协议,所以如何在已有的条件下改进其可信赖性便是重中之重。

国外对译码器的设计是保密的。初步看来,1553B总线译码器的设计有三个主要薄弱环节:①缺少对外部进入的干扰的对抗能力;②由于变压器漏磁等原因造成的字尾容许拖尾电压超过输入电压的下限,造成出错;③位值往往是在过0前后采样比较得到,参照的理论过0时刻也可能受干扰,所以必须加以补偿,否则会采错。

如果可以实现容错,可信赖性就能得到提高。仅仅判出错而不能容错,系统丢帧不减少,控制层面参与表决的有效消息数量会不足,使4冗余的控制系统降到少冗余无冗余,从而失效。错误检不出时,会使参与表决的正确消息数量不足,例如输入为30、30、20、20时,你不能判断谁是正确值谁是错误值。有干扰时,两种情况可能同一周期内发生,例如留下30、20、20,表决的结果20可能是漏检的错误值。

1 外部干扰下的问题

1553B对抗干扰的测试要求见第4.5.2.1.2.4款:“终端收到的所有字按标准条款4.4验收后,最大字错率不超过10-7。”测试条件是叠加1 kHz~4 MHz的高斯噪声,其幅度有效值为140 mV。测试处的信号电平峰-峰值为2.1 V。字错包括所有使状态字错误标志置位之错,以及使终端不响应有效指令字之错。这里有4个问题:①测试的环境是常规实验室,并指出继电器的切换通常看作最严重的脉冲干扰源[3],但是似乎是把140 mV看作了外部干扰源来分析的,忽略了输出波动的影响;②其输出波形上的(4.5.2.1.1.2)干扰幅度有±900 mV[3],折算到输入上的有效值已占160 mV,测试的干扰幅度显然不足;③以未报错作成功是不对的,因为其中含有的漏检错不能代表出错的全部情况;④1553B的历史较早,当时还没有功能安全的概念,从当今的角度看,即使字错率是10-7也是不够的。

当开关为感性负载时,储存在线圈中的能量要释放,形成反电势,在电源系统中来回反射。航空中用的电液阀具有与继电器开闭时相似的干扰特性,返回弹簧储能也要释放。福特汽车公司认为[2]应该以实物作测试源:经验表明,用福特建议的测试,可发现通过标准(ISO7637-2,ISO7637-3)的测试而未发现的一些异常。他们补充测试的波形有5种,如图1、图2所示,其中C为开关<0.4 A的感性负载。

图1 Ford汽车公司对汽车电子设备要求的传导干扰兼容测试波形之一

图2 图1中6~7 μs的局部放大

由图2可见,如果设备无法对抗来自电源的幅度大于±50 V传导干扰或辐射耦合干扰,那么就有分布在1 μs内的代表逻辑“1”的干扰,或者分散在0.5 μs内的多次单向干扰。在图1的9~10 μs处可以见到幅度更大的干扰。

曼2码过零点在1/2位处,我所见到的译码器方案一般是在1/4位和3/4位处对二次收发器输出的数字电平进行采样,如果图2中“1”干扰可以大于总线上传送的“0”电平,译码器将以干扰作为输出。如果一个字发生了2次这样的漏判,1553B的字的parity校验是没有能力发现的,这就引起了错字漏检,后果很严重。如果受到了干扰,就会报错,使字及相关的消息作废。

刘曙蓉[4]考虑了抗干扰的设计,他们采用移动窗口3中取2处理收发器输出的采样,这可以减少了一部分干扰,但仍不理想,效果如图3所示。

图3(a)~3(c)表示干扰在名义跳变沿后靠近地方的情形。图3(a)中干扰发生在slot4,由123表决的结果,正常slot3被否定掉, 234表决结果干扰slot4仍保留,345表决结果slot5仍保留正常输入值,其后一样。所以干扰被理解为跳变前电平,跳变沿被推迟2slot。图3(b)中干扰有2slot时长,345表决结果slot5仍保留干扰输入值,456表决结果slot6否定正常输入值,所以干扰被理解为跳变前电平,跳变沿被推迟4slot。图3(c)中长干扰发生在slot5、slot6,234表决结果slot4仍保留正常输入值,345表决结果slot5否定掉干扰,456表决结果slot6仍保留干扰,567表决结果slot7否定掉正常输入值,678表决结果slot8仍保留正常输入值,如此,跳变沿被推迟1slot,但是干扰仍存在并移动了位置。

图3(d)~3(f)表示干扰在名义跳变沿前靠近地方的情形。图3(d)中干扰发生在slot3,由123表决的结果,干扰slot3被否定掉,234表决结果slot4仍保留正常输入值,345表决结果slot5仍保留正常输入值,其后也是这样。所以跳变沿不变,干扰被滤掉。图3(e)中干扰发生在slot3、slot4,由123表决的结果,干扰slot3被否定掉,234表决结果slot4仍保留干扰,345表决结果slot5否定正常输入值,456表决结果slot6仍保留正常输入值,所以干扰仍存在并移动了位置,跳变沿被提前2slot。图3(f)中长干扰发生在2 slot前的slot3和slot4,由123表决的结果,干扰slot3被否定掉,234表决结果slot4仍保留干扰,345表决结果slot5否定掉正常输入值,456表决结果slot6仍保留正常输入值,567表决结果slot7否定掉正常输入值,678表决结果slot8仍保留正常输入值,如是干扰仍存在并移动了位置,跳变沿被提前3slot。

图3 3中取2的效果

总结一下3中取2的效果,如果干扰只占1 slot,那么随干扰位置的不同,滤波后的跳变沿可能不变,或推后2 slot。如果干扰占2 slot,那么随干扰位置的不同,滤波后的跳变沿可能推后1slot或4slot,或者提前1slot或3 slot,并且干扰仍然存在。

跳变沿是位同步的基准,由于滤波而引起的跳变沿变化本身就是一种不确定因素,如有同步机制使采样位置错误跟随就会产生译码错误。

即使没有跳变沿位同步,2 slot的干扰也足以造成1/4、3/4位采样的错误。例如图3(b)中3/4位采样位在slot6,本来采不到的错,滤波后却采到了。图3(c)中3/4位采样位在slot6,本来采到的错,滤波后仍然采到了。

2 拖尾电压的问题

硬件上,1553B节点采用变压器与总线耦合方式来传送模拟电平,总线空闲时其电平应该为0。但是由于变压器绕组匝数误差、漏磁的差别、杂散电容的差别、驱动电路切换点并不在位时间的正中点、系统中反射波的复杂影响造成切换点偏移和曼码正负幅度的差异等等,空闲时的电平会有一个衰减或持续的波动。

标准的第4.5.2.1.1.4款为终端输出电压对称性,规定在最后一个字的最后一位的位中过0点之后2.5 μs后测取点的电压波动不超过±250 mV(简称拖尾tail-off)。但是并没有规定结束测试的时刻,也就是讲波动的持续时间可以延续到2.5 μs后很长的地方。据称衰变的时间常数可达25 μs[3]。另一方面,第4.5.2.1.1.3款规定接收时或无电时测取点的噪声小于14 mV RMS,但它并不能解释为对拖尾有时间限制。

1553B终端输出电压和终端输入电压的测取点均在隔离变压器与耦合变压器的两条连线间,绘法的差别只是反映了耦合变压器阻抗变换的结果。在忽略总线上的衰减时可以导出终端输出电压的1/4送到另一个节点的终端输入。由于一个节点A传送后的250 mV的拖尾送到另一个节点B的输入时已经衰减到63 mV,所以不会引起B产生误动作。但是A本身的输入电路必须监视总线上最早2.5 μs后到达的响应(4.3.3.8规定的响应时间为4~12 μs)。

1553B第4.5.2.1.2.1款规定了终端输入电压的大小。节点必须对0.86~14 V的输入差(峰-峰值,以下无专门说明均为峰-峰值)作出响应,对小于0.2 V的输入差不作出响应。所以当拖尾电压差为250 mV时,便可能产生不希望的非空闲的逻辑读数,解释为sync已经开始,从而引起后续定时的错误。单调衰减的拖尾过程如图4所示。

图4 单调衰减的拖尾过程

常见的译码器识别sync的方案有两种:①以第一个跳变作sync边界的方案,由于拖尾,当拖尾电压极性与上一位不同时,第一个跳变立即出现,在4 μs时未见到sync中间跳变沿(实际sync还在后面开始时),认为新字错误,从而只能误判。②以出现数据流00 0111(或11 1000)(以半位时间为单位)作sync识别的方案,当拖尾与新sync前半段电平不同时(例如11111),会见到与真正sync相连的111 1100 0111数据流,就会将11 1000错读为sync,将最后的11(1)读为bit1,bit1内无跳变,也只能判错。这2个方案还假设sync中的跳变沿未受干扰,如果其中有干扰被误解为跳变沿,也会报错,所以是不能容错的。

现在估计一下这种出错的概率。为了使接收器正确响应输入电压,它的切换点应设计在(0.86+0.2)/2=0.53 V处:大于0.53 V时应该输出逻辑状态,小于0.53 V应该不响应输入,视为空闲。假定工艺的成品切换点的分布服从正态分布,那么为使成品率达到99.999 7%,这个方差为0.005 V。此时接收器会有1.5×10-6的概率对小于0.2 V的输入作响应,有1.5×10-6的概率对大于0.86 V的输入不作响应。根据此分布模型,按此工艺分布生产的接收器会有3.7×10-5的可能性对250 mV的输入产生响应。如果没有正确处理拖尾的方案,因此而产生的字错率贡献为3.7×10-5。注意:1553B标准没有涉及因拖尾而造成字错的测试条款。

当电源本身有纹波(例如30 mV)、电源有传导干扰(例如30 mV)、经过未被75%屏蔽的辐射干扰进入(例如20 mV)、工作温度变化引起接收器比较器切换点的漂移时(例如10 mV),相当于输入波动幅度的增大。假定等效的输入为0.3 V(在拖尾上再叠加50 mV),此时接收器会有5.7×10-4的可能性在应该是空闲时产生虚假的sync开始,不加容错处理时,字错率贡献达到5.7×10-4,比1553B设计者容许的大5 700倍。

偏置比较器的切换点可以减小拖尾的影响,但实际上等效于收紧工艺误差,提高产品成本。拖尾引起问题的事件是有记录的,例如B1轰炸机的1553B系统中拖尾被终端理解为消息的有效部分而误动作[3],后来靠改硬件而解决。全靠硬件选用和生产、维修检查来消除拖尾是十分昂贵的,所以需要挽救与拖尾相连接的来自其他节点的有效sync,从而减少误报错。

3 跳变时间变化

连接在总线上的各分支处存在阻抗的不连续,在耦合变压器连接分支时,变压器的分支段也是同样的特征阻抗Z0电缆,从总线侧看,耦合变压器的输入阻抗应为2Z0。这个阻抗与两个0.75Z0的限流电阻串联后成为总线特征阻抗Z0的分流电阻。标准规定的Z0是75 Ω,所以有分支的地方阻抗突变为3.5Z0//Z0=58 Ω。

由传输线理论可知,阻抗减少时会产生一个反向的叠加电压,这个反射电压经过一段时间到达接收节点,所以又与分枝-接收节点的距离有关。1553B没有规定总线长度,1553A规定的长度为300英尺,所以来回时间大概是600×1.6=960 ns,距离近时这个反射回来的时间也少。它可能和下一个跳变电压叠加,使接收器输入电压的上升/下降过程提前或推迟,造成接收器输出跳变时刻的变化。

标准4.5.2.1.2.1对输入波形的兼容性规定是:容许的实际跳变沿对名义跳边沿的变动幅度为±150 ns时仍能正常工作。

当用16M对每位采样时,过0点在slot8,作1/4、3/4位处采样就是slot4和slot12处。±150 ns时间变动相当于±3 slot,即过0点会在slot5~slot11处,对抗其余变动的余量仅1个slot。

验收测试时,sync过0位置决定了采样的基准位置。如果一条消息从总线空闲开始测试时受到干扰,取了一个偏移的位置,例如偏离真正值100 ns,那么在测试时最多可偏移250 ns,造成1/4、3/4位处采样错误,从而通不过测试。

在实际应用时要考虑硬件时钟精度。第4.3.3.3款规定1 s内的发送位速率稳定性至少为0.01%。如果一条消息有32个数据字,那么加上指令字或状态字会有33个字的连续发送,到结尾时会有33×20×0.01%=0.066个位的变化,发送器与接收器可能差0.13位=132 ns。假定开始传送受到干扰,偏离真正值100 ns再加反射可能偏移50 ns,这意味着1/4、3/4位采样的出错可能性很大。

所以在每个字中应该采取同步措施。用锁相环同步方案有一个稳定的过渡过程,而且每个新字开始时sync有周期性的同步沿缺失,再加不规则的与信号幅度相当的大噪声干扰,会使其不能满足需要。

4 解决方案

全面改进的内容非常多,这里介绍解决方案中抗干扰的一部分。干扰的频谱与容许的上升沿频谱相当,用模拟滤波的方法是不适用的。

收发器有两个输出,以RX=1来表示输入电平差为正(差>0.86 V时一定为1),RX=0来表示输入电平为空闲(差<0.2 V时一定为0)。RXN=1表示输入电平差为负(差<-0.86 V时一定为1),RXN=0来表示输入电平为空闲(差>-0.2 V时一定为0)。当输入电平差在某区间时,RX和 RXN均为0,这段时间称为接收器空档时间(Receiver gap time),输入电平差为0.86 V时可以长达365 ns。任何跳变都会进入这个输入电平差区间,所以都会遇到RX和RXN=0的情况,必须经过处理才能用作译码器采样输入。

将RXN和 RX作为RS触发器的两个输入(R,S),而RS触发器的1输出(对应RX)作为译码器的逻辑输入In。将RX和 RXN或非后作为总线状态Idle,这样当总线空闲时(RX=0 同时RXN=0),Idle=1。而总线非空闲时,Idle=0,才使用In。In没有空档,如果收发器输入有干扰,RS触发器会相应变化,In也变化,译码器就把干扰采进去了。

译码器用16M对In采样,每8 slot组成半位(HB1和HB2)。理想状态下,HB内8个slot为相同的值,有干扰时会有不同值。用多数表决的方法确定HB的状态,例如8个slot中In=1有5~8次,那么HB=1。然后用得到的HB1和HB2来确定位值bit和是否出错:①没有平局时,当HB1=HB2时为出错;否则bit=HB1。②如果HB1和HB2中有一个出现了平局(In=1和In=0各4次),那么按未出现平局的HB来决定:HB1有平局时bit=not HB2;HB2有平局时bit= HB1。③当两个HB16 均为平局时为出错。

在sync段宽度为3slot的干扰在原来的设计中有6/13的概率被采集到,从而报错,而在新方法时全部容错纠正。在原来的设计中,payload段宽度为4slot的干扰有8/12的概率被采集到;宽度为3slot的干扰有6/13的概率被采集到;宽度为2slot的干扰在原来的设计中有4/14的概率被采集到;3个宽度为1slot干扰在原来的设计中有3/8的概率被采集到,从而报错。在新方法时全部容错纠正。

[1] 杨福宇.1553B通信协议的可依赖性讨论[J].单片机与嵌入式系统应用,2017(1):5-8.

[2] Ford Motor Company.Component and Subsystem Electromagnetic Compatibility Worldwide Requirements and Test Procedures ES-XW7T-1A278-AC,2003.

[3] Multiplex applications handbook:mil-hdbk-1553a.1,1998.

[4] 刘曙蓉.预测校正型曼II码译码器技术研究与实现[J].微电子学与计算机,2005(9):141-143.

Improved Reliability of 1553B Fault Tolerant Decoder Against Interference

Yang Fuyu

(Chongqing Institute of Industrial Automation and Instrumentation,Chongqing 400123,China)

By discussing various 1553B decoder design,three hardware dependability defects are found:no fault tolerance design against disturbance,tail-off voltage higher than low range input threshold and lack of adaptation to zero-crossing change caused by disturbance.Hence the fault tolerance design of decoder is the key element to improve 1553B dependability.The anti-disturbance part of new design is disclosed in the paper.The new design can tolerant up to 3 slots disturbances.This is more important for enhanced 1553B chip which works at 2 Mbps or more.

1553B;fault tolerant;decoder

TP302

A

�士然

2017-04-05)

猜你喜欢

译码器解码器空闲
科学解码器(一)
科学解码器(二)
科学解码器(三)
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
“鸟”字谜
纠错模式可配置的NAND Flash BCH译码器设计
西湾村采风
彪悍的“宠”生,不需要解释
跟踪导练(一)5
WLAN和LTE交通规则