新聞中心

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

        ADuC703x系列LIN波特率計算

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

        簡介

        本文引用地址:http://www.104case.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

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 肇庆市| 鹤峰县| 志丹县| 延庆县| 湛江市| 镇平县| 白沙| 江油市| 北安市| 德州市| 安阳市| 三都| 博客| 潮州市| 马关县| 秦安县| 蒲城县| 云龙县| 易门县| 怀集县| 福鼎市| 永济市| 皮山县| 濮阳市| 满洲里市| 武功县| 华安县| 乌兰县| 林州市| 临潭县| 武平县| 思茅市| 新泰市| 台南市| 绍兴县| 南漳县| 台江县| 景东| 陈巴尔虎旗| 大厂| 图木舒克市|