ARINC429-BD429使用遇到的问题

测试框图:

wKiom1fhV4LDGlXyAABO673qKKY673.png-wh_50

图中未画出/EN2,/DR2,RXB+,RXB-的连接,/EN2一直维持为高电平,/DR2、RXB+、RXB-悬空;

测试步骤:

  • 系统上点;

  • 可编程器件向DEI1016发送复位信号(/MR低电平持续400ns)

  • 可编程器件向DEI1016发送控制信息  (/LDCW电平持续400ns,控制信息为0x0020)

  • 可编程器件向DEI1016加载数据;字1 为0x0666,字2数据为0x5555或0xAAAA(0x5555和0xAAAA交替加载),加载数据的频率为1Hz

  • 当DR1为低电平时,可编程器件从DEI1016读取数据。

问题如下:当可编程器件从DEI1016成功读取几个数据以后,DR1会持续为低电平(即使已经没有向DEI1016写发送数据,且DEI1016已经没有再发送数据),DR1无法自动变为高电平;从芯片手册中得知,当从DEI1016完成读取Word1和Word2后,DR1会自动复位(变为高电平),实际情况与此不符,实际情况是DR1会持续为低电平,此时会认为DEI1016接受缓冲器一直存在有效数据,所以会一直做读取数据的动作。

经过测试后发现SEL,/OE1,数据总线数据波形如下图1或图2所示(此时DEI1016和BD429已经没有发送数据)

wKiom1fhWHygyk4kAABfXpA5cwk148.png-wh_50

wKioL1fhWH3D7GjcAABvdkYRFp0675.png-wh_50

解决步骤:

首先怀疑时程序出现了问题,但是经过仔细研究芯片手册的读写时序,发现程序设计出的读写时序完全符合芯片手册的要求;

然后怀疑是硬件电路设计的问题,但是检查原理图和硬件图很久,各种测试后认为没有问题;因为如果硬件或程序有问题的话,那么一次数据收发应该都不会成功的,实际情况时正常收发20多次数据后才出问题;此时整个人就懵逼了。

接下来我打算使出杀手锏,问度娘;但是这次度娘让我失望了,百度压根就没有此种问题的描述或解决办法,整个人已经心灰意冷,地球太残酷了!

然后我使出了终究杀招,寻求芯片厂家的技术支持;联系到中国区技术支持后将问题发送过去,在忐忑中等待了一天;得到的回复是他们也不知道为什么,没有解决办法;此时我绝望了

最后鄙人一狠心,将DEI1016所有未用到的引脚(其实也就只有/DR2,RXB+,RXB-)全都做了处理——/DR2上拉至高电平,RXB+、RXB-下拉至地;再做收发测试的时候居然成功了,此时鄙人整个人激动的快要盆骨涨裂了

问题原因:应为当时在进行硬件设计时只需要一路收发通道,设计选择DEI1016接收通道1进行数据接受;所以只是将DEI1016的/DR1引脚连接至可编程器件,/DR2未用(悬空);当将DEI1016的/DR2上拉至高电平后,对接收通道1的数据读取动作后,/DR1能正常复位。至于为什么至今未明;

教训:以后用新器件的时候没有使用到的,不明确的的芯片引脚尽量还是做处理,该上拉的上拉,该下拉的下拉;

本文属原创,如引用请注明出处!

转载于:https://blog.51cto.com/yixiqingfeng/1854732

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值