Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
你第一张图显示 Channel0 跟 Channel1 都有错误,Channel1 的寄存器没截,不知道,但 Channel0 显示溢出,fast msg 跟 slow msg 都溢出了,另外还有个 Calibration Diagnose Error,这个不影响,你没按照 Demo 的写法?数据都没读完 第二张图显示是 Channel0 有错误,错误原因是 Calibration Diagnose Error,你没去处理错误,就会一直进错误中断。要么按照 Demo 的方式把错误处理一下,记录完清除就行,要么就关了错误中断
Diga 之所以会出现这种错误是因为我只是简单的将5v电平接到pin脚上又拿下来,不是一个完整的信号输入。 上图是我外部输入两路正确的sent信号,另一个channel也会报错。你们的demo没看到错误处理机制,能给个例子吗?同样的信号,dma是可以正确解析的。
Demo 不就在 YCT 目录下嘛,你看一眼就知道了
Diga 多谢多谢,我刚也找到了,测试了一下,没问题了。
Diga 还想请教一下,为什么我关掉两个channel的中断,还是能一直进呢?是我关的方法哪里不对吗?
你关的是接收中断,又没关错误中断,错误不处理自然会一直挂起
Diga 再请教个问题,我把crc校验加进去以后,发现,两路中断的crc校验失败率大概在万分之1-5之间,一路dma的校验错误都没有出现 如上图,两个相同的芯片,T1用的是一路dma解析,T2,S用的是两路interrupt解析,t2的tick是1.65us,s是3us;每秒钟上传100组解析数据,35000组数据,interrupt解析的crc校验错误有点高,这个可以做什么改善一下吗?为什么t2和s的检验错误有明显差别?
Diga 1.我将sent模块的数据透传到上位机,上位机校验crc,会出现图中的结果。只发生在interrupt解析的情况下,dma解析,目前验证180000帧,没有检验错误。 2.crc错误的通道,两个通道都有,只是配置1.65us的那个通道错误大概是3us通道的一半。
后面我试试收到后直接检验,排除can通信错误的干扰。
SENT 协议里不是有 CRC 段嘛,为啥不用那个。 MCU 硬件会 Check 这个 CRC 段,如果 CRC 出错的话,会直接丢弃该帧
Diga 你们的fae说两路sent,dma模式会丢帧,让我改用中断处理。dma丢帧的问题可以解决吗?我们两种模式都想试试
只要负载不要太高,两种方式都不容易丢帧,你可以自己试试
Diga 我和你们的fae都试过的,确实丢包。选择中断模式也是这个原因。 两路sent,一个3us,一个1.65us,负载算高吗?测试下来大概丢帧率超过了3成。
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...