• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 模擬技術 > 設計應用 > ADuC703x系列LIN波特率計算

    ADuC703x系列LIN波特率計算

    作者: 時間:2012-09-19 來源:網絡 收藏

    簡介

    本文引用地址:http://www.czjhyjcfj.com/article/185754.htm

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

      本文分為以下三部分:

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

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

      ● LIN波特率計算C代碼示例:本部分提供LIN波特率計算部分所述計算的C代碼實現示例。

      LIN幀報頭

      標準LIN通信幀如圖1所示,它分為如下部分:斷開符號、同步字節、受保護標識符、數據和校驗和。

    圖1. LIN幀

    圖1. LIN幀

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

      ●同步字節標定從機的波特率。

      ●受保護標識符用于識別從機。

      ●校驗和既可以是根據發送數據計算的傳統校驗和,也可以是根據受保護標識符和數據計算的擴展校驗和。

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

    圖2. LIN同步字節

    圖2. LIN同步字節

    LIN波特率計算

      使用LHS系統,用戶在收到同步字節后會得到LHSVAL0中的值。LHSVAL0包含8 TBIT的等效值,此值用于產生UART除數COMDIV0、COMDIV1和小數除數COMDIV2的值。有關UART的更多信息,請參閱相關x數據手冊。

      為利用標準波特率發生器計算COMDIV0/COMDIV1值,需使用如下基本UART方程式:

      其中:

      DL為COMDIV0和COMDIV1的值。

      CD為時鐘分頻比。

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

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

      僅使用標準波特率發生器方程式可得出所需的COMDIV0/ COMDIV1值。

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

      其中,M和N為COMDIV2值。


    上一頁 1 2 下一頁

    關鍵詞: ADuC 703x 703 LIN

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 兴隆县| 方山县| 洪雅县| 凤阳县| 徐州市| 罗城| 嘉鱼县| 威宁| 元朗区| 鄂托克旗| 新宁县| 涿州市| 丰顺县| 乐至县| 德化县| 定西市| 甘洛县| 吉安市| 稷山县| 阜宁县| 昌平区| 峨眉山市| 望江县| 宜丰县| 屏东县| 邵东县| 湖北省| 济宁市| 灵宝市| 明溪县| 河东区| 庆安县| 章丘市| 察雅县| 金寨县| 华蓥市| 明星| 名山县| 黄大仙区| 准格尔旗| 乐陵市|