PCAN数据速率分配

本文介绍了如何在PCANBasic.py的Python程序中配置BitrateFD,解释了NormalBitRate和DataBitRate的计算公式,以及它们与f_clock_mhz、nom_brp、nom_tseg1/2等参数的关系。
Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

BitrateFD = b"f_clock_mhz=80, nom_brp=8, nom_tseg1=16, nom_tseg2=3, nom_sjw=1, data_brp=4, data_tseg1=7, data_tseg2=2, data_sjw=1"

在PCANBasic.py提供的example里有几个pcan收发的python程序,配置BitrateFD = 后边丝毫看不出配置的Normal Bit Rate与 Data Bit Rate,
经过查资料与总结关系如下:
Normal Bit Rate=f_clock_mhz/(nom_brp*(nom_tseg1+nom_tseg2+1))
而Data Bit Rate=f_clock_mhz/(data_brp*(data_tseg1+data_tseg2+1))
经过验证这里的1不是data_sjw=1 与nom_sjw=1
各个概念介绍:
1,f_clock_mhz=80 选择主时钟80MHZ
2,nom_brp=8 ,选择normal的bit rate prescaler =8
3,nom_tseg1=16, nom_tseg2=3 normol 的第一阶段是16,所以可以得
sample rate=(nom_tseg1+1)/(nom_tseg2+nom_tseg1+1)=81.25%
tq=1/80M=125ns
time QUANTA=( nom_tseg1+ nom_tseg2+1)=16
而无论怎么修改SJW,其他值都不变所以怀疑以上公式中的1与SWJ无关,待验证.
这里按照公式设置的NBR与DBR分别是 80M/(820)=0.5M=500kbps DBR=80M/(410)=2 Mbps
在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值