大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
MBus总线上自动波特率识别
1、通过前导字节0x68,捕获引脚通过1、0比特的两个上升沿的差值除以2来自动识别出波特率。
2、为什么是通过两个上升沿,而不是一个上升沿一个下降沿,比如两个比特11的长度除以2来计算?
因为两条平行的MBUS总线间存在电容效应,在实验室里面由于线比较短,不容易测试出来,但在实际产品使用中是真实存在的,因此在实验室里面分别用10nf、47nf、23nf、15nf连接在mbus总线中间来模拟。
上图是在mbus总线间连接10nf电容,如果用一个上升沿和一个下降沿来采样2个1比特,上面是mbus总线的波形,下面那个方波是通过721或者5150整形出来的波形,由于721的比较点比较低,下面那个方波比mbus总线上的时间波形要宽,这时候整形出来的波特率就纯在误差。 如果选择两个上升沿来识别波特率就没有问题。
这几幅图是mbus总线间连接47nf电容,可以看到721整形出来的波形误差跟大,不能通行。
上面是用23nf连接mbus总线抓出来的波形,也不能进行通行,误差太大。
这个是用15nf的波形,能够进行通行,用两个上升沿识别的波特率精确度都比较高。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/184317.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...