- 主题:一个GD32的CAN外设硬件bug
他们的理解是受了RS485的影响,完全是错误的。国外的STM32,国内的雅特力都没有问题。
1M波特率下,1us一个IO中断你是认真的么,而且这芯片还支持CANFD,数据域能到5M
追求极限才能把产品做好,比如我可以用8051做usb-blaster做到比别人stm32版本还高的性能。
ZLG早期的产品是8051,他们做得确实不错,让人钦佩。
【 在 liu7894 (liupan) 的大作中提到: 】
: 他们的理解是 不是发送就是接收状态。
: 而你要的是 正在接收,其实你可以把接收管脚 引到IO中断里,用中断来实现正在接收的判断。
: 或者看看CAn的接收管脚 是不是自带IO中断功能,如果带,看手册是否支持同时打开中断接收功能。
: ...................
--
修改:spadger FROM 222.90.95.*
FROM 222.90.95.*
你有没有发现ZLG的USBCAN卡一个特性?
如果网络上负载率非常高,比如接近100%,他们的卡发送更高优先级的帧是发不出去的
。但是理论上更高优先级的帧应该会仲裁成功发送出去的。
我看了他们的数据流,是检测了CAN网络的状态,接收的时候不发,等网络空闲时再发的
。
【 在 ECUCoder (Engineer) 的大作中提到: 】
: 你是在搞USB-CAN卡么?我把国内外的USB-CAN卡全测试了一遍,从Vector两三万的到淘宝开源一百块的一共十几种,性能差别巨大,最后选了周立功最新款的,性能一流,价格适中。
: 淘宝开源一百块的或者三四百块那些,跟周立功的老产品性能差不多或者差一些。
: 国外那几款贵的,比周立功的老产品性能好,但是比不上周立功的新产品。
: ...................
--
FROM 222.90.95.*
我看完你的描述觉得这的确不算bug。。。。
如果RS不set,你读就是读上一帧的FIFO
的确好像读取完成才置1没什么意义
还是你对正在读取这个状态有什么特别的用处?
【 在 spadger 的大作中提到: 】
: 测试过GD32E103,GD32F303,都有这个问题,其它型号有待确认,大概率GD32全系CAN外
: 设都有这个问题。
: CAN状态寄存器的bit9 RS表示接收状态,实际测试,CAN初始化退出睡眠模式以后RS位就
: ...................
--
FROM 180.116.132.*
这100%是芯片的bug,原厂已经开始评估STM32的CAN外设行为了。
软件要判断CAN总线状态是否空闲就要用这个位,不能因为你用不上这个功能,就说他没
有用处。
此处应该有罗老师的表情包:又不是不能用。
【 在 dismoon (伐开心要包包) 的大作中提到: 】
: 我看完你的描述觉得这的确不算bug。。。。
: 如果RS不set,你读就是读上一帧的FIFO
: 的确好像读取完成才置1没什么意义
: ...................
--
FROM 222.90.95.*
更新:
STM32F103,AT32F413(雅特力),CH32F103(沁恒)他们的CAN在这个问题上表现是一
致的。毫无疑问,GD32的这个是芯片CAN模块的bug。
【 在 spadger (void*) 的大作中提到: 】
: 测试过GD32E103,GD32F303,都有这个问题,其它型号有待确认,大概率GD32全系CAN外
: 设都有这个问题。
: CAN状态寄存器的bit9 RS表示接收状态,实际测试,CAN初始化退出睡眠模式以后RS位就
: ...................
--
FROM 222.90.95.*
说明是自己写的verilog
【 在 spadger (void*) 的大作中提到: 】
: 更新:
: STM32F103,AT32F413(雅特力),CH32F103(沁恒)他们的CAN在这个问题上表现是一
: 致的。毫无疑问,GD32的这个是芯片CAN模块的bug。
: ...................
--
FROM 222.65.105.*
看来GD码工有很强自主性
【 在 oBigeyes (雾里看花) 的大作中提到: 】
: 说明是自己写的verilog
--
FROM 121.69.57.*
没有注意过,我主要关注单帧高速收发(类似于打乒乓)的性能。
【 在 spadger 的大作中提到: 】
: 你有没有发现ZLG的USBCAN卡一个特性?
: 如果网络上负载率非常高,比如接近100%,他们的卡发送更高优先级的帧是发不出去的
: 。但是理论上更高优先级的帧应该会仲裁成功发送出去的。
: ...................
--
FROM 122.238.143.*
跌停了。。。
【 在 feiy 的大作中提到: 】
: 你这个帖子,直接导致 兆易科技 股价暴跌了啊
:
--
FROM 122.238.143.*
这是我目前用得最多的测试用例。确实这个是最难做的。
【 在 ECUCoder (Engineer) 的大作中提到: 】
: 没有注意过,我主要关注单帧高速收发(类似于打乒乓)的性能。
--
FROM 222.90.95.*