[發明專利]CAN控制器的位時序的同步處理方法有效
| 申請號: | 200910198239.3 | 申請日: | 2009-11-03 |
| 公開(公告)號: | CN101719858A | 公開(公告)日: | 2010-06-02 |
| 發明(設計)人: | 胡越黎;閆科;徐曉勇;孫斌;朱衛 | 申請(專利權)人: | 上海大學 |
| 主分類號: | H04L12/40 | 分類號: | H04L12/40;H04L7/033 |
| 代理公司: | 上海上大專利事務所(普通合伙) 31205 | 代理人: | 何文欣 |
| 地址: | 200444*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | can 控制器 時序 同步 處理 方法 | ||
技術領域
本發明涉及一種CAN控制器的位時序的同步處理方法,可應用于獨立CAN控制器,也 可應用于其他嵌入微處理器的CAN控制器領域。
背景技術
控制器局域網CAN(Controller?Area?Network)總線是一種串行多主總線,由于具有高可 靠性、無破壞仲裁性、多主、易實現等優越性,在工業控制和汽車行業中得到了廣泛使用, 已成為現今應用最廣泛的現場總線之一。CAN總線通信中位時序的處理關系到CAN是否能正確 收發數據,其中位時序的處理包括CAN總線協議中對位定時和位同步的控制。它對CAN總線 通信中每個位的傳輸時間進行了控制,在發送數據時按照標稱位時間對每個發送數據位進行 定時,在接收數據時同步于總線上的數據,執行同步(硬同步和重新同步)功能。所有的操 作都是以標稱位時間位基礎的,因此,合理的劃分標稱位時間的周期結構,有利于CAN總線通 信中位時序的處理,用來實現CAN通信的位定時和位同步。
發明內容
本發明的目的在于提供一種CAN控制器的位時序的同步處理方法。本方法0不影響CAN 的數據通信的可靠性、穩定性,而使得CAN總線通信的位時序處理更簡捷,還加強了CAN 控制器的通用性。相對于CAN協議規范標稱位時間的四個互不重疊的段,整個位時序處理過 程使用的寄存器減少了,執行位同步的步驟也得到了簡化。
為達到上述目的,本發明的構思如下:
將標稱位時間劃分成3個互不重疊的段:同步段SYNC,時間緩沖段1TSEG1和時間緩 沖段2TSEG2,其中這三個段都用整數個基本時間單位即時間額數TQ來表示。時間額數TQ 的持續時間是CAN系統時鐘周期TsCL。以這三個段為基礎構建一個同步狀態機SYNC_state, 然后在通信過程中檢測到的總線信號從隱性跳變為顯性的跳變沿,根據所處的時間段和狀態 來執行相應的同步操作。
如果在總線空閑或者幀間間歇的最后一位檢測到隱性到顯性的跳變沿,接收器會將它解 釋成報文幀的起始符,則CAN控制器要執行接受數據硬同步,使接收器接收到的數據同步于 總線上的數據。如果在接收數據的過程中TSEG1段檢測到隱性值到顯性值的跳變沿,接收器 會把它解釋成是一個慢速的發送器發送的滯后邊沿,要延長TSEG1段,即執行重新同步之同 步延長。如果在接收數據的過程中TSEG2段檢測到隱性值到顯性值的跳變沿,接收器會將它 解釋成是一個快速的發送器發送的下一個位周期的提前邊沿,則要縮短TSEG2段,即執行重 新同步之同步縮短。同步延長與同步縮短的最大寬度由同步跳轉寬度SJW給出。當相位差大 于或等于SJW時,同步延長或縮短SJW,當相位差小于SJW時,同步延長或者縮短計算所 得到的相位差值。
在沒有同步產生時,SYNC、TSEG1和TSEG2這三個時間段依次循環執行,SYNC占一 個時間額數TQ,TSEG1和TSEG2的大小由位時序控制寄存器BTR1輸入。
根據上述構思,本發明采用下述技術方案:
一種CAN控制器的位時序的同步處理方法,其特征在于將標稱位時間劃分成3個互不重 疊的段,將這三個段都用整數個基本時間單位即時間額數TQ來表示,將TSEG1的結尾設置 為采樣點(見圖1),然后以這三個段為基礎設置一個狀態機SYNC_state,并檢測總線上“隱 性”到“顯性”的跳變沿,根據跳變沿出現的時間段和狀態來執行同步操作;其具體步驟為:
a.設定兩個總線時序寄存器BTR0和BTR1,BTR0用來存儲用戶設置的波特率預置數值 BRP和同步跳轉寬度SJW,BTR1用來存儲用戶設置的時間緩沖段1TSEG1和時間緩 沖段2TSEG2時間額數大小及采樣位;
b.根據標稱位時間的3個段:同步段SYNC,時間緩沖段1TSEG1和時間緩沖段2TSEG2 和CAN通信規范的要求設置一個同步狀態機SYNC_state,以實現CAN位時序的同 步;
c.設定一個波特率發生器用來產生CAN通信系統的時鐘信號clk_en,即設置基本時間 單位,也就是時間額數TQ的持續時間,用來量化標稱位時間和同步跳變沿的檢測;
d.設定一個TSEG1段時間額數計數寄存器bit_seg1_cnt和一個TSEG2段時間額數計數 寄存器bit_seg2_cnt,bit_seg1_cnt用來存儲位時序處理過程中TSEG1的所經過的時間
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海大學,未經上海大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910198239.3/2.html,轉載請聲明來源鉆瓜專利網。





