新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > ADuC703x系列LIN波特率計算

ADuC703x系列LIN波特率計算

作者: 時間:2012-09-19 來源:網(wǎng)絡(luò) 收藏

簡介

本文引用地址:http://2s4d.com/article/185754.htm

  本應(yīng)用筆記旨在讓用戶熟悉用于ADI公司x系列器件UART通信的除數(shù)值COMDIV0、COMDIV1和COMDIV2的計算。本應(yīng)用筆記假定用戶熟悉本地互連網(wǎng)絡(luò)() 2.0規(guī)范。

  本文分為以下三部分:

  ● 幀報頭:本部分說明幀報頭和同步字節(jié)。

  ● LIN波特率計算:本部分說明一種使用LIN硬件同步(LHS)功能來計算UART除數(shù)值的方法。

  ● LIN波特率計算C代碼示例:本部分提供LIN波特率計算部分所述計算的C代碼實(shí)現(xiàn)示例。

  LIN幀報頭

  標(biāo)準(zhǔn)LIN通信幀如圖1所示,它分為如下部分:斷開符號、同步字節(jié)、受保護(hù)標(biāo)識符、數(shù)據(jù)和校驗(yàn)和。

圖1. LIN幀

圖1. LIN幀

  ●斷開符號表示LIN分包的開始。

  ●同步字節(jié)標(biāo)定從機(jī)的波特率。

  ●受保護(hù)標(biāo)識符用于識別從機(jī)。

  ●校驗(yàn)和既可以是根據(jù)發(fā)送數(shù)據(jù)計算的傳統(tǒng)校驗(yàn)和,也可以是根據(jù)受保護(hù)標(biāo)識符和數(shù)據(jù)計算的擴(kuò)展校驗(yàn)和。

  圖2更加詳細(xì)地顯示了同步字節(jié),它是以主機(jī)所需的波特率發(fā)送的字節(jié)0xAA.確定主機(jī)比特率的標(biāo)準(zhǔn)方法是測量從第一個下降沿到第五個下降沿的時間,然后將此值除以8,便得到所需的比特率。此值可以用于計算UART除數(shù)值。具體計算詳見后續(xù)部分。本應(yīng)用筆記假設(shè)用戶已設(shè)置LHS MMR來為同步字節(jié)的全部8位計時(LHSCON1 = 0x62)。

圖2. LIN同步字節(jié)

圖2. LIN同步字節(jié)

LIN波特率計算

  使用LHS系統(tǒng),用戶在收到同步字節(jié)后會得到LHSVAL0中的值。LHSVAL0包含8 TBIT的等效值,此值用于產(chǎn)生UART除數(shù)COMDIV0、COMDIV1和小數(shù)除數(shù)COMDIV2的值。有關(guān)UART的更多信息,請參閱相關(guān)x數(shù)據(jù)手冊。

  為利用標(biāo)準(zhǔn)波特率發(fā)生器計算COMDIV0/COMDIV1值,需使用如下基本UART方程式:

  其中:

  DL為COMDIV0和COMDIV1的值。

  CD為時鐘分頻比。

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

  (LHSVAL0采用內(nèi)部5.12 MHz時鐘,假設(shè)將LHSCON1配置為測量8 TBIT.)將標(biāo)準(zhǔn)波特率方程式與所需波特率方程式合并:

  僅使用標(biāo)準(zhǔn)波特率發(fā)生器方程式可得出所需的COMDIV0/ COMDIV1值。

  為提高精度,使用x小數(shù)除數(shù)和以上針對標(biāo)準(zhǔn)波特率發(fā)生器計算的DL值(COMDIV0/COMDIV1)。使用小數(shù)除數(shù)的方程式如下:

  其中,M和N為COMDIV2值。


上一頁 1 2 下一頁

關(guān)鍵詞: ADuC 703x 703 LIN

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉