衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CAN總線通信報文驗收濾波、位定時與同步詳解

h1654155282.3538 ? 來源:網絡整理 ? 2018-05-07 16:16 ? 次閱讀

CAN(Controller Area NetWork)總線,即控制器局域網總線,是由德國Bosch公司于1982年開發和推出的最早用于汽車內部測量與執行部件之間的數據通信協議。在20多年的歷史中,CAN總線在許多領域得到了應用,是到目前為止唯一有國際標準的現場總線。CAN現場總線按照國際標準化組織ISO提出的“開放系統互聯(OSI)”參考模式,實現其中的物理層、數據鏈路層和應用層。CAN控制器用來實現CAN總線協議。本文主要對CAN總線通信報文驗收濾波、位定時與同步做了詳細介紹,具體的跟隨小編一起來了解一下。

一、CAN總線通信報文驗收濾波

1、驗收濾波器的特點和功能

1)驗收濾波器的特點

LPC2000系列ARM微控制器是采用ARM7TDMI-S內核的32位嵌入式微處理器,內嵌2路或4路CAN控制器和驗收濾波器。驗收濾波器為CAN控制器提供全局的報文標識過濾功能。它包含一個512×32(2 KB)的RAM,在這2 KB的RAM中可以設置1~5個報文標識符表,形成一個查找表LUT(LookUp Table)。整個查找表可以容納1024個標準標識符或512個擴展標識符,或兩種混合類型的標識符。5個可能的標識符表格包括FullCAN的標準標識符表和獨立標準標識符表、標準標識符范圍表、獨立擴展標識符表以及擴展標識符范圍表。這5個表格不是必須同時存在,可以根據需要裁減。如果一個表格的起始地址等于下一個表格的起始地址或表格終止寄存器的數值,則該表格為空,在處理中將被忽略。

2)驗收濾波器的功能

LPC2000系列ARM微控制器的CAN驗收濾波器有2種工作模式:一種是一般模式;另一種被稱為“FullCAN模式”。在一般模式下,當 CAN控制器的接收端收到一個完整的標識符時,它將通知接收驗收濾波器。驗收濾波器響應這個信號,讀出CAN控制器編號和標識符大小(標準標識符11位或擴展標識符29位);然后搜索LUT,查找匹配的標識符。如果找到匹配的標識符,則通知CAN控制器將接收的報文放入CAN控制器接收緩沖中;否則,放棄接收到的這一幀信息。其工作流程如圖1所示。

CAN總線通信報文驗收濾波、位定時與同步

如果使能FullCAN模式,且CAN控制器報告產生的是一個標準標識符,則驗收過濾器首先查詢FullCAN標準標識符表,然后在FullCAN模式下處理接收。如果在FullCAN標準標識符表中沒有找到匹配的ID,則依次查找下一個存在的表格,直到找到匹配者或查找表結束。一旦發現匹配的ID,就將接收到的報文放入特定的報文緩沖中而不是CAN控制器接收緩沖中,這個特定的緩沖位于驗收濾波器的RAM中,而且是在LUT的最后部分。CPU可以在任何時候讀取接收到的報文。FullCAN模式的接收工作流程如圖2所示。

CAN總線通信報文驗收濾波、位定時與同步

2、驗收濾波器的驅動程序開發

2.1、驗收濾波器寄存器描述

以LPC2292為例說明其驗收濾波器驅動程序的開發。在LPC2292中內嵌2路CAN控制器,它的驗收濾波器寄存器如表1所列。注意:這里的起始地址是以驗收濾波器RAM的起始地址為基本地址的偏移。如在一般模式下,SFF_sa=O表示獨立標準幀標識符的起始地址位于0xE0038000 處。

一個表格的大小由其前后2個表格起始地址寄存器的差值決定。例如,SFF_GRP_sa-SFF_sa為獨立標準幀標識符查找表格大小。若其值為0,即SFF_GRP_sa=SFF_sa,則獨立標準幀標識符查找表格大小為0,在查找時此表格將被忽略。查找表結束寄存器ENDofTable代表查找表結束地址,ENDofTable-EFF_GRP_sa為擴展幀組標識符查找表大小。驗收濾波器寄存器AFMR控制其工作模式,具體定義如表2所列。

CAN總線通信報文驗收濾波、位定時與同步

2.2、查找表中標識符格式

①FullCAN的標準標識符表和獨立標準標識符表。

要注意的是,每個FullCAN的標準標識符表和獨立標準標識符表都必須按升序排列,即標識符1大于標識符O;否則,在AF中將引起表格錯誤而使接收過濾失敗。表格格式如下:

CAN總線通信報文驗收濾波、位定時與同步

②標準標識符范圍表。標識符上邊界和下邊界(包括上下邊界)之間的ID為允許通過ID。表格格式如下:

CAN總線通信報文驗收濾波、位定時與同步

③獨立擴展標識符表。1個獨立擴展標識符占1個字,而且需要按升序排列。表格格式如下:

CAN總線通信報文驗收濾波、位定時與同步

④擴展標識符范圍表。它總是成對出現,占用2個字,因此合法的表格必須以偶數個字出現,而且必須按升序排列。表格格式如下:

CAN總線通信報文驗收濾波、位定時與同步

2.3、驗收濾波器驅動程序的設計

根據以上說明,就可以設計驗收濾波器的驅動程序了。以LPC2292為例來說明如何設計驅動程序。

假定獨立標準標識符有ID0和ID1兩個,依次按升序排列,組標準幀標識符范圍為ID2~ID3(ID2www.mesnet.com.cn--編者注)

3、結論

LPC2000系列ARM微控制器的CAN驗收濾波器能夠有效地屏蔽總線上不允許通過的報文,大大減輕了CPU的負擔,在以CAN總線為通信網絡的應用中發揮了很大的作用。

二、CAN總線位定時和同步詳解

CAN(Controller Area Network)是有效支持分布式實時控制的串行通訊網絡。從位定時的同步方式考慮,它實質上屬于異步通訊協議,每傳輸一幀,以幀起始位開始,而以幀結束及隨后的間歇場結束。這就要求收/發雙方從幀起始位開始必須保持幀內信息代碼中的每一位嚴格的同步。從位定時編碼考慮,它采用的是非歸零編碼方式,位流傳輸不像差分碼那樣可以直接用電平的變化來代表同步信號,因此為保證同步質量,CAN協議定義了自己的位同步方式:硬同步和重同步。

1、位周期的結構

CAN總線通信報文驗收濾波、位定時與同步

2、同步機制

CAN總線的位同步只有在節點檢測到“隱性位”(邏輯1)到“顯性位”(邏輯0)的跳變時才會產生,當跳變沿不位于位周期的同步段之內時將會產生相位誤差。該相位誤差就是跳變沿與同步段結束位置之間的距離。如果跳變沿發生在同步段之后采樣點之前為正的相位誤差;如果跳變沿位于同步段之前采樣點之后為負的相位誤差。相位誤差源于節點的振蕩器漂移,網絡節點之間的傳播延遲以及噪聲干擾等。CAN協議規定了兩種類型的同步:硬同步和重同步。

2.1、硬同步

硬同步只在總線空閑時通過一個下降沿(幀起始)來完成,此時不管有沒有相位誤差,所有節點的位時間重新開始。強迫引起硬同步的跳變沿位于重新開始的位時間的同步段之內。

2.2、重同步

在消息幀的隨后位中,每當有從“隱性位”到“顯性位”的跳變,并且該跳變落在了同步段之外,就會引起一次重同步。重同步機制可以根據跳變沿增長或者縮短位時間以調整采樣點的位置,保證正確采樣。

CAN總線通信報文驗收濾波、位定時與同步

CAN總線通信報文驗收濾波、位定時與同步

如圖2,跳變沿落在了同步段之后采樣點之前,為正的相位誤差,接收器會認為這是一個慢速發送器發送的滯后邊沿。此時節點為了匹配發送器的時間,會增長自己的相位緩沖段1(陰影部分)。增長的時間為相位差的絕對值,但是上限是重同步跳轉寬度SJW。

如圖3,跳變沿落在了采樣點之后同步段之前,為負的相位誤差,接收器把它解釋為一個快速發送器發送的下一個位周期的提前邊沿。同樣節點為了匹配發送器的時間,會縮短自己的相位緩沖段2(陰影部分),下一個位時間立即開始。縮短的時間也為相位差的絕對值,上限是重同步跳轉寬度SJW。

相位緩沖段只在當前位周期內被增長或者縮短,接下來的位周期,只要沒有重同步,各段將恢復為位時間的編程預設值。

當相位差的絕對值小于或者等于重同步跳轉寬度SJW時,重同步和硬同步的效果是相同的,能實現相位差的補償;但是如果相位差的絕對值比重同步跳轉寬度大,由于補償的最大值是重同步跳轉寬度,致使重同步不能完全補償相位差。

CAN總線通信報文驗收濾波、位定時與同步

CAN協議的位填充機制除實現仲裁場,控制場,數據場和CRC序列的數據的透明性外,還增加了從“隱性位”到“顯性位”跳變的機會,也就是增多重同步的數量,提高同步質量。在沒有出錯影響的情況下,位填充原則保證了兩次重同步跳轉邊沿之間不會多于10個位周期(即5個顯性位,5個隱性位),而實際的系統會有錯誤發生,使得實際的兩次重同步跳轉邊沿之間的間隔可能為17到23個位時間(活動錯誤標志及其疊加6到12個位時間,錯誤界定符8個位時間,間歇場3個位時間)。

3、結論

在實際的系統設計中,用戶可以根據振蕩器時鐘頻率,總線波特率以及總線的最大傳輸距離等因素,對CAN控制器的位定時參數進行優化設置,協調影響位定時設置的兩個主要因素:振蕩器容差和最大總線長度,合理安排位周期中采樣點的位置和采樣次數,保證總線上位流的有效同步的同時,優化系統的通訊性能,進一步推進CAN總線的廣泛應用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • CAN總線
    +關注

    關注

    145

    文章

    1955

    瀏覽量

    131090
收藏 人收藏

    評論

    相關推薦

    CAN總線如何驗收濾波

    CAN總線在的幀數據在總線上傳送時,其它的CAN控制器是通過驗收濾波來決定
    發表于 04-28 10:11 ?5654次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>如何<b class='flag-5'>驗收</b><b class='flag-5'>濾波</b>

    CAN總線學習筆記:驗收濾波

     了解CAN總線的人都知道,CAN總線在的幀數據在總線上傳送時,其它的CAN控制器是通過
    發表于 10-26 14:10 ?1660次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>學習筆記:<b class='flag-5'>驗收</b><b class='flag-5'>濾波</b>

    CAN總線定時

    對一般的開發者來說,CAN總線定時概念并不常見。不過,如果給整車廠做過零部件,經受過他們的CAN通信
    的頭像 發表于 08-26 17:15 ?4049次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的<b class='flag-5'>位</b><b class='flag-5'>定時</b>

    CAN總線定時同步機制#汽車CAN總線?

    CAN總線
    北匯信息POLELINK
    發布于 :2023年07月17日 10:57:12

    CAN總線ID 報文接收問題

    CAN報文接收時MASK的值為0時 不管ID是多少 都接收MASK為1時看發送節點ID與驗收碼是否一致同一上同是0或者同是1則接收,否則不接收對嗎????
    發表于 01-02 20:04

    CAN總線

    點間的傳輸過程,主要是連接介質、線路電氣特性、數據的編碼/解碼、定時同步的實施標準。總線競爭的原則  BOSCH CAN基本上沒有對物理
    發表于 04-27 15:16

    嵌入式CAN總線系統——汽車車身網絡系統

    對另一個進行寫操作。流處理器是一個控制發送緩存器和接收緩存器(并行數據)與CAN總線(串行數據)之間數據流的序列發生器。定時邏輯將SJA
    發表于 08-17 14:21

    CAN總線如何進行驗收濾波

      CAN總線在的幀數據在總線上傳送時,其它的CAN控制器是通過驗收濾波來決定
    發表于 08-20 08:12

    關于CAN總線定時同步機制的簡要分析

    關于CAN總線定時同步機制的簡要分析
    發表于 05-28 06:05

    CAN 總線定時參數的確定

    CAN 通信中, 波特率、周期內取樣點數和位置可以編程設置, 這些設置為用戶根據其應用優化網絡通信性能提供了方便。優化
    發表于 05-15 15:08 ?6次下載

    LPC2000系列的CAN總線驗收濾波器應用

    LPC2000系列的CAN總線驗收濾波器應用 CAN(Controller Area NetWork)
    發表于 02-10 14:45 ?25次下載

    CAN總線通信詳解

    CAN總線通信詳解
    發表于 03-30 16:46 ?0次下載

    詳解CAN總線信號傳輸定時同步

    CAN協議與其它現場總線協議的區別中有一個是:它使用同步數據傳輸而不是異步傳輸(面向字符)。這意味著傳輸性能得到更有效的發揮,但是另一方面,這需要更加復雜的
    發表于 08-16 16:56 ?2231次閱讀

    CAN總線通信好與壞,驗收濾波很關鍵

    CAN總線在的幀數據在總線上傳送時,其它的CAN控制器是通過驗收濾波來決定
    發表于 12-07 10:19 ?7次下載
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>通信</b>好與壞,<b class='flag-5'>驗收</b><b class='flag-5'>濾波</b>很關鍵

    CAN總線協議教程|CAN報文分析

    功能,讓每個節點對報文有選擇性地做出響應。 總線使用不歸零填充。模塊以線與邏輯連接到總線:如果只有一個節點向總線傳輸邏輯0,那么不管有多少
    發表于 04-03 15:32 ?1.4w次閱讀
    百家乐正网| 博E百百家乐官网的玩法技巧和规则| 百家乐官网视频中国象棋| 爱赢百家乐官网现金网| 真人百家乐官网皇冠网| KK百家乐官网现金网| 百家乐官网真人游戏网上投注 | 桐庐棋牌世界| 棋牌| 真人百家乐官网打法| 百家乐官网信誉平台开户| 百家乐官网筹码币方形| 电脑版百家乐官网分析仪| 百家乐官网好津乐汇| 百家乐投注网站| 百家乐出千方法技巧| 百家乐过滤| 亚洲顶级赌场第一品牌| 必盛国际| 赌百家乐官网的心得体会| 百家乐官网专业术语| 百家乐神仙道官网| 百家乐送18元彩金| qq德州扑克怎么玩| 金塔县| 澳门百家乐官网娱乐开户| 澳门百家乐官网大家乐眼| 福布斯百家乐官网的玩法技巧和规则| 百家乐投注方法投资法| 威尼斯人娱乐棋牌下载| 足球博彩| 网上百家乐官网庄家有赌场优势吗| 同花顺百家乐官网娱乐城| 网页百家乐官网| 大发888娱乐亚洲| 百家乐官网路单破解器| 玩百家乐官网去哪个娱乐城最安全 | 百家乐官网赌场筹码| 百家乐三路秘诀| 大发888赌博网站| 百家乐官网全透明牌靴|