找回密码
 立即注册
查看: 1290|回复: 20

关于CAN 的速率计算问题,根据指定的要求和采样率如何快速计算出 TSG1 TSG2 BRP

[复制链接]
  • TA的每日心情
    慵懒
    2024-4-16 10:25
  • 签到天数: 31 天

    [LV.5]常住居民I

    8

    主题

    31

    回帖

    282

    积分

    中级会员

    积分
    282
    发表于 2023-6-8 10:09:56 | 显示全部楼层 |阅读模式
    关于CAN 的速率计算问题,根据指定的要求和采样率如何快速计算出 TSG1 TSG2 BRP

    比如 速度为250K  87%的采样,根据11.0592M 频率来计算,怎么来计算出来符合需求的  TSG1 TSG2 BRP,
    目前使用ISP工具计算出来都是不符合的,也没有11.0952M主频的,使用12M计算出来的数据也不符合,主要是目前有使用到uart 需要115200的频率
    必须在特殊环境下才能精准输出对的数据,根据官方指导说最好选择11.0592M主频来才能在特定的环境才能输出,
    之前使用过24M主频,uart需要输出115200出现数据错乱,后面修改了主频为11.0592M才能正常通讯
    所以目前需要知道can的计算对应的 TSG1 TSG2 BRP
    希望能提供相关的计算公式方便来推导。
    回复 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:01
  • 签到天数: 122 天

    [LV.7]常住居民III

    26

    主题

    1242

    回帖

    3887

    积分

    论坛元老

    积分
    3887
    发表于 2023-6-8 11:05:31 | 显示全部楼层
    STC-ISP V6.91R版本软件已经推出了“CAN波特率计算器”,可以方便的得到你需要的结果:

    1.png

    回复 支持 1 反对 0 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-4-16 10:25
  • 签到天数: 31 天

    [LV.5]常住居民I

    8

    主题

    31

    回帖

    282

    积分

    中级会员

    积分
    282
     楼主| 发表于 2023-6-8 11:54:43 | 显示全部楼层
    乘风飞扬 发表于 2023-6-8 11:05
    STC-ISP V6.91R版本软件已经推出了“CAN波特率计算器”,可以方便的得到你需要的结果:

    不是说了没有我说的嘛,你可能没细看我上面的,这个计算了不了,11.0952M频率的
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-4-16 10:25
  • 签到天数: 31 天

    [LV.5]常住居民I

    8

    主题

    31

    回帖

    282

    积分

    中级会员

    积分
    282
     楼主| 发表于 2023-6-8 11:57:30 | 显示全部楼层
    乘风飞扬 发表于 2023-6-8 11:05
    STC-ISP V6.91R版本软件已经推出了“CAN波特率计算器”,可以方便的得到你需要的结果:

    还有就是看了你们提供的demo中的配置can测试代码是24M 500k 采样率也是很低的,目前这个工具计算不了11.0592M主频的 CAN波特率

    点评

    zhp
    不知你所描述的计算不了是什么意思 系统频率处理下拉选择,还可手动输入,如下图:  详情 回复 发表于 2023-6-8 13:11
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-4 08:56
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    16

    主题

    711

    回帖

    2516

    积分

    超级版主

    积分
    2516
    发表于 2023-6-8 13:11:49 | 显示全部楼层
    本帖最后由 zhp 于 2023-6-8 13:14 编辑
    jacksonjim 发表于 2023-6-8 11:57
    还有就是看了你们提供的demo中的配置can测试代码是24M 500k 采样率也是很低的,目前这个工具计算不了11.0 ...

    不知你所描述的计算不了是什么意思
    系统频率除了下拉选择,还可手动输入,如下图:

    1.png



    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:01
  • 签到天数: 122 天

    [LV.7]常住居民III

    26

    主题

    1242

    回帖

    3887

    积分

    论坛元老

    积分
    3887
    发表于 2023-6-8 13:17:31 | 显示全部楼层
    jacksonjim 发表于 2023-6-8 11:57
    还有就是看了你们提供的demo中的配置can测试代码是24M 500k 采样率也是很低的,目前这个工具计算不了11.0 ...

    CAN波特率计算器的系统频率是可以手动输入的,下拉框里面是推荐的频率,可以整除计算出精确的波特率
    自定义系统频率计算结果可能会产生误差:

    1.png


    例程里面有介绍CAN波特率的计算公式:
    CAN总线波特率=Fclk/((1+(TSG1+1)+(TSG2+1))*(BRP+1)*2)

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-4-16 10:25
  • 签到天数: 31 天

    [LV.5]常住居民I

    8

    主题

    31

    回帖

    282

    积分

    中级会员

    积分
    282
     楼主| 发表于 2023-6-8 14:10:36 | 显示全部楼层
    乘风飞扬 发表于 2023-6-8 13:17
    CAN波特率计算器的系统频率是可以手动输入的,下拉框里面是推荐的频率,可以整除计算出精确的波特率
    自定 ...

    目前还有一个问题,保证了精准,can用推荐的频率,精准的波特率,但是又有另一问题,uart输入115200时,在-40-45度时,也不能保证精准,目前这个项目需要在 -40度左右的环境使用,uart能正常通讯不会出现数据异常,同时需要CAN 也要精准的波特率,客户的要求是250K 87%采样点,根据这个计算出来,看来可能比较能做到这个需求; 之前是根据你们当时的技术支持提供技术说明,需要在低温度环境uart能做到115200,必须要选择11.0592M或22.1184两个主频的,目前你们在can上好像又不能支持做到波特率250K  采样点达到 87%, 要达到这个好像只有24M 12M 等推荐的主频,麻烦帮解答下这个有没有什么办法能做两者兼顾,谢谢
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-4-16 10:25
  • 签到天数: 31 天

    [LV.5]常住居民I

    8

    主题

    31

    回帖

    282

    积分

    中级会员

    积分
    282
     楼主| 发表于 2023-6-9 11:20:28 | 显示全部楼层
    zhp 发表于 2023-6-8 13:11
    不知你所描述的计算不了是什么意思
    系统频率除了下拉选择,还可手动输入,如下图:

    能帮解答下面的一个疑点不,关于-40度下如何兼顾uart 115200 和can 250k 87%采样点,怎么来选择频率呢
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    549

    主题

    9198

    回帖

    1万

    积分

    管理员

    积分
    13999
    发表于 2023-6-9 12:25:33 | 显示全部楼层
    我给你个建议:
    1,CAN 的车用,主 MCU 用 12MHz/16MHz/24MHz 是绝对的主流
    ==南京依维柯,STC32G8K64-42I-LQFP32, 用在车上,前装市场,12MHz

    2, 115200的普通串口波特率,轻松产生

    1.png
    2.png

    完美解决, 依维柯用的是 外部 32768 RTC时钟,
    自动追频内部高速 IRC-12MHz,MCU 工作主时钟是内部 12MHz

    ===低温 -40度, CAN 通信 完美无瑕

    1.png

    2.png

    3.png

    4.png

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-4-16 10:25
  • 签到天数: 31 天

    [LV.5]常住居民I

    8

    主题

    31

    回帖

    282

    积分

    中级会员

    积分
    282
     楼主| 发表于 2023-6-9 14:01:01 | 显示全部楼层
    本帖最后由 jacksonjim 于 2023-6-9 14:46 编辑
    神农鼎 发表于 2023-6-9 12:25
    我给你个建议:
    1,CAN 的车用,主 MCU 用 12MHz/16MHz/24MHz 是绝对的主流
    ==南京依维柯,STC32G8K64-42I- ...
    1.png
    你好,目前使用的MCU是STC32G12K128系列; 根据您的建议是说关于uart 在低温时,用12M / 24 主频下最好是加入外部晶振32768 RTC,
    我们目前设计没有外部晶振,暂时都是在使用内部的晶振,如果不加入外部晶振话,使用12/24M主频,
    串口的通讯可能会异常是吧,所以需要在PCB设计加入外部晶振才能自动频率校准,是这样理解吧!

    点评

    zhp
    你使用的STC32G12K128没有自动追频功能 对于你这种应用,建议使用外部24M晶振 24M晶振的串口误差只有0.16%,-40℃~85℃温度范围内 115200波特率进行数据传输不会有任何问题 而且24M刚好满足你对CAN的波特率和采样  详情 回复 发表于 2023-6-9 15:20
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-4-25 06:21 , Processed in 0.077588 second(s), 73 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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