- 主题:一个GD32的CAN外设硬件bug
如果原厂技术认为这不是BUG的话说明应该还有其它手段来辅助判断是否正在接收数据,否则也太无赖了。
【 在 spadger 的大作中提到: 】
: 测试过GD32E103,GD32F303,都有这个问题,其它型号有待确认,大概率GD32全系CAN外
: 设都有这个问题。
: CAN状态寄存器的bit9 RS表示接收状态,实际测试,CAN初始化退出睡眠模式以后RS位就
: ...................
--
FROM 122.238.143.*
从对话看确实是BUG,但他们有不改的底气也能理解。
一般CAN驱动报文接收函数不用这个位来判断接收是否完成,通过中断标志位来判断更加直接有效。
这个位一般只在“查询当前是否正在接收的函数”里面用到,而这个函数并不常用,去跟厂家反馈这个BUG的人应该很少,所以就造成现在这种局面了。
【 在 spadger 的大作中提到: 】
: 这个真没有。
: 原厂人员说用FIFO来判断,然后我给他解释FIFO存储的单位是帧,接收的过程中数据还
: 没有进入FIFO,所以没法用FIFO来判断。然后他就说不支持你要的这个功能,无法判断
: ...................
--
FROM 122.238.143.*
你是在搞USB-CAN卡么?我把国内外的USB-CAN卡全测试了一遍,从Vector两三万的到淘宝开源一百块的一共十几种,性能差别巨大,最后选了周立功最新款的,性能一流,价格适中。
淘宝开源一百块的或者三四百块那些,跟周立功的老产品性能差不多或者差一些。
国外那几款贵的,比周立功的老产品性能好,但是比不上周立功的新产品。
同样周立功的产品,2018年后开发的新产品相比老产品进步很大,周立功还是有两把刷子。
【 在 spadger 的大作中提到: 】
: 这些CAN外设,都是参考的STM32的CAN外设,寄存器接口都是一样的。
: GD显然对这个位的理解出了问题。
: 软件中判断CAN是否在发送是很容易做到的,方法很多。由于硬件接收在软件处理之前,
: ...................
--
FROM 122.238.143.*
没有注意过,我主要关注单帧高速收发(类似于打乒乓)的性能。
【 在 spadger 的大作中提到: 】
: 你有没有发现ZLG的USBCAN卡一个特性?
: 如果网络上负载率非常高,比如接近100%,他们的卡发送更高优先级的帧是发不出去的
: 。但是理论上更高优先级的帧应该会仲裁成功发送出去的。
: ...................
--
FROM 122.238.143.*
跌停了。。。
【 在 feiy 的大作中提到: 】
: 你这个帖子,直接导致 兆易科技 股价暴跌了啊
:
--
FROM 122.238.143.*