世俱杯 2025

ADuC703x系列LIN波特率计算

出处:zzb147 发布于:2011-10-21 10:55:57

  简介

  本应用笔记旨在让用户熟悉用于公司ADuC703x系列器件UART通信的除数值COMDIV0、COMDIV1和COMDIV2的计算。本应用笔记假定用户熟悉本地互连网络(LIN) 2.0规范。

  本文分为以下三部分:

  ● LIN帧报头:本部分说明LIN帧报头和同步字节。

  ● LIN波特率计算:本部分说明一种使用LIN硬件同步(LHS)功能来计算UART除数值的方法。

  ● LIN波特率计算C代码示例:本部分提供"LIN波特率计算"部分所述计算的C代码实现示例。

  LIN帧报头

  标准LIN通信帧如图1所示,它分为如下部分:断开符号、同步字节、受保护标识符、数据和校验和。

图1. LIN帧

图1. LIN帧

  ●断开符号表示LIN分包的开始。

  ●同步字节标定从机的波特率。

  ●受保护标识符用于识别从机。

  ●校验和既可以是根据发送数据计算的传统校验和,也可以是根据受保护标识符和数据计算的扩展校验和。

  图2更加详细地显示了同步字节,它是以主机所需的波特率发送的字节0xAA.确定主机比特率的标准方法是测量从个下降沿到第五个下降沿的时间,然后将此值除以8,便得到所需的比特率。此值可以用于计算UART除数值。具体计算详见后续部分。本应用笔记假设用户已设置LHS MMR来为同步字节的全部8位计时(LHSC1 = 0x62)。

图2. LIN同步字节

图2. LIN同步字节

  LIN波特率计算

  使用LHS系统,用户在收到同步字节后会得到LHSVAL0中的值。LHSVAL0包含8 TBIT的等效值,此值用于产生UART除数COMDIV0、COMDIV1和小数除数COMDIV2的值。有关UART的更多信息,请参阅相关ADuC703x数据手册。

  为利用标准波特率计算COMDIV0/COMDIV1值,需使用如下基本UART方程式:

  其中:

  DL为COMDIV0和COMDIV1的值。

  CD为时钟分频比。

  就LHSVAL0而言,所需的波特率如下:

  (LHSVAL0采用内部5.12 MHz时钟,假设将LHSCON1配置为测量8 TBIT.)将标准波特率方程式与所需波特率方程式合并:

  仅使用标准波特率发生器方程式可得出所需的COMDIV0/ COMDIV1值。

  为提高,使用ADuC703x小数除数和以上针对标准波特率发生器计算的DL值(COMDIV0/COMDIV1)。使用小数除数的方程式如下:

  其中,M和N为COMDIV2值。

  替换波特率:

  上式可简化为:

  为减少小数除数计算所用的复杂数学计算,将DL的值(COMDIV0/COMDIV1)限制为2的幂数。例如,如果DL = 17,则计算N时使用DL = 16 = 2 4,这将自动调整N的值以补偿DL修改所引入的误差。

  如果将M设为1

  例如,对于19,200 bps的波特率,如果CD = 0、DL = 33、LHSVAL0 = 2133,则N = 21,波特率为19,197 bps;如果使用DL = 32、N = 85,则波特率为19,203 bps.

  LIN波特率计算C代码示例

  使用C语言编程时,上述方程式可以简单地利用《和》移位命令编写。

关键词:ADuC703x系列LIN波特率计算

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,//tgdrjb.cn,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。 

在线人工客服

买家服务:
卖家服务:
技术客服:

0571-85317607

网站技术支持

13606545031

客服在线时间周一至周五
 9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!