找回密码
 立即注册
楼主: 采***

STC32G的2组CAN模块的缓冲区读写不够快,后续CAN-FD新品建议优化提升

[复制链接]
  • TA的每日心情
    开心
    7 天前
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    1

    主题

    26

    回帖

    183

    积分

    注册会员

    积分
    183
     楼主| 发表于 2024-4-23 22:45:13 | 显示全部楼层
    采果农 发表于 2024-4-23 21:00
    帖子第二张图的16us和第张图的6us,你明白看明白什么意思了吗

    接收的帧是间隔6秒一帧,发送的帧间隔是>16 ...

    是的1ms,在每秒几千帧的网络里,那不是动不动就溢出了
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9311

    回帖

    1万

    积分

    管理员

    积分
    13872
    发表于 2024-4-23 22:52:11 | 显示全部楼层
    不搞具体技术 N 年了, 不清楚提速为何解决不了
    STC32G8K64-42MHz-LQFP48/32

    40MHz, 10uS,是 400个时钟
    截图202404232250437925.jpg

    42MHz, 10uS,是 420个时钟
    截图202404232252071995.jpg

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9311

    回帖

    1万

    积分

    管理员

    积分
    13872
    发表于 2024-4-23 23:00:32 | 显示全部楼层
    我下午请乘风关注这个贴的,
    暂时提高主频再提高主频,程序优化再优化
    直接局部嵌入汇编
    截图202404232259127843.jpg

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    7 天前
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    1

    主题

    26

    回帖

    183

    积分

    注册会员

    积分
    183
     楼主| 发表于 2024-4-23 23:05:15 | 显示全部楼层
    神农鼎 发表于 2024-4-23 22:52
    不搞具体技术 N 年了, 不清楚提速为何解决不了
    STC32G8K64-42MHz-LQFP48/32
    跑 40MHz, 10uS,是 400个时钟

    因为硬件层的问题啊,如果提速到72M那基本可以满足(还要其他中断能立马解决战斗,来响应这个发送中断),但是这块IC就35M啊。

    写软件用不了,不是一味增加主频啊,频率高了,EMC的问题就来了
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9311

    回帖

    1万

    积分

    管理员

    积分
    13872
    发表于 2024-4-23 23:08:10 | 显示全部楼层
    频率高了,EMC的问题就来了

    ===这个 STC32G8K64不用担心,跑内部时钟,没问题
           还可以用外部 32768-RTC 自动校准内部高速IRC
           已车用一年以上

    尝试下 STC32G8K64跑 42MHz, 局部程序汇编
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    7 天前
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    1

    主题

    26

    回帖

    183

    积分

    注册会员

    积分
    183
     楼主| 发表于 2024-4-23 23:13:51 | 显示全部楼层
    神农鼎 发表于 2024-4-23 22:52
    不搞具体技术 N 年了, 不清楚提速为何解决不了
    STC32G8K64-42MHz-LQFP48/32
    跑 40MHz, 10uS,是 400个时钟

    你把他当成水桶加水问题就行了,

    接收端就相当于用杯子往桶里倒水,往桶里倒水用的是2个杯子,第一个杯子倒水的时候,第二个杯子已经在装水了,等第一杯水倒完,第二杯水可以马上倒进桶里,第二杯在倒的时候,第一杯在装水。

    发送端就相当于把水从桶里舀出来,出水的只有一个杯子,你把第一杯水到外面以后,你得花点时间去桶里装水,装水的这个时间就是那16us.

    那你觉得水桶的水会不会溢出。
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9311

    回帖

    1万

    积分

    管理员

    积分
    13872
    发表于 2024-4-23 23:16:45 | 显示全部楼层
    明请乘风帮用 42MHz, 汇编实际跑下,
    能否解决你这个500K双CAN的速度问题。

    直觉,这速度不是太高啊,明实际测试下,
    2个屠龙刀板子就可以做你这个验证了

    点评

    最近在做一个项目,基本功能就是把CAN2接收到的帧通过CAN1发送出去,中间做点转换。 ----------------------------------------------------------------------------------------------------------------- 没用  详情 回复 发表于 2024-4-24 06:40
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    7 天前
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    1

    主题

    26

    回帖

    183

    积分

    注册会员

    积分
    183
     楼主| 发表于 2024-4-23 23:19:28 | 显示全部楼层
    神农鼎 发表于 2024-4-23 23:08
    频率高了,EMC的问题就来了

    ===这个 STC32G8K64不用担心,跑内部时钟,没问题

    跑汇编能不能解决靠你们技术了,我先转其他IC了,CAN这个寄存器毕竟是间接访问的,写入时间翻倍
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9311

    回帖

    1万

    积分

    管理员

    积分
    13872
    发表于 2024-4-23 23:21:59 | 显示全部楼层
    嵌入部分数据传送的汇编,对大家来说整体还是 C
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    7 天前
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    1

    主题

    26

    回帖

    183

    积分

    注册会员

    积分
    183
     楼主| 发表于 2024-4-23 23:26:02 | 显示全部楼层
    神农鼎 发表于 2024-4-23 23:16
    明请乘风帮用 42MHz, 汇编实际跑下,
    能否解决你这个500K双CAN的速度问题。

    你们就直接无脑发送数据就行,看看两帧数据间隔多少就知道能不能用了
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-5 01:36 , Processed in 0.067215 second(s), 66 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表