定位已知错误:偶发性ECG信号丢失---未解决---

        项目背景:在对CT测试的过程中,模拟心电信号/数字心电信号出现偶发性丢失,ECG信号丢失导致扫描停止。

        源码定位:通过日志报错信息,定位到驱动层读取指定数据字节处为000,导致无法正常解析数据。随后,对存储数据的寄存器(FIFO寄存器)读值,发现寄存器内标志位显示FIFO内数据区已满,但数据字节处为000,于是判定是FIFO溢出。

        FIFO:fast-in fast-out。在排查FIFO溢出主要原因中,最符合本系统设计的原因如下:1、FPGA突发性大量数据写入,或某一信息帧写入格式出错引起解析失败进入无限等待;2、时序不对称引起读值等待,在解析FIFO数据等待期间FIFO溢出。

        由于问题暂未复现,所以目前无解。但就源码中的怀疑的驱动层部分区域:1、硬件中断响应处;2、中断发出解析指令,将工作丢入工作队列,等待工作队列操作;3、工作队列解析FIFO区。三处分别加上时间戳进行观察。

        本系统内ECG发送信号频率600Hz,数据帧长度为8Data,FIFO每存200Data拉一次中断,预算25条帧FIFO即满,大概41毫秒响应一次中断,通知工作队列进行解析动作。已知FIFO整个寄存器约800多毫秒便会溢出。

时间戳观察:

       在第一处,硬件中断响应处。判断整个处理过程,大于300毫秒即存在风险,大于700毫秒即必然会导致FIFO溢出。

       在第二处,work入队。此处需要统计中断将work入队到work开始执行的时间差。由于中断处有两个信号位同时做入队操作,所以需要对其作区分判

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值