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

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Infineon單片機的CAN網關研究

    基于Infineon單片機的CAN網關研究

    作者: 時間:2010-04-07 來源:網絡 收藏
    控制器局域網(Controller Area Network)是德國Robert Bosch公司在20世紀80年代初為汽車業開發的一種車載專用串行數據通信總線,經過多年的發展,現在越來越多地被眾多汽車廠商所認可。不僅在汽車領域,而且在工業控制領域也得到了廣泛的應用,如工業現場控制、小區安防、環境監控等。由于在具體工程應用中往往需要連接2路或者多路子網,因此,CAN是必不可少的,是組網的關鍵設備之一。
     在歐洲乃至世界上的很多汽車廠家,大部分的車內電子控制單元大量使用原德國西門子半導體部門英飛凌科技( Technologies)的微控制器,特別是C166系列MCU,其優良特性得到各大汽車廠家的公認[1]。 XC2000系列MCU是英飛凌新推出的具有32位處理器性能的16位MCU。XC2000家族又下分3個系列:XC2200、XC2300和XC2700。XC2200主要針對車身的應用;XC2300主要針對汽車安全性能的應用;XC2700則主要針對傳動系統的應用。XC2000系列相對XC166系列,其內部的Flash和SRAM更大、主頻更快、外設(如CAN節點)更多。其中,片內Flash最大為768 KB,片內SRAM最大為82 KB,主頻最高為80 MHz。
     本采用公司生產的XC2200,利用該MultiCAN模塊的網關(Gateway)功能實現CAN網關[2]。
    1 CAN總線協議
     CAN總線是一種多主總線,支持分布式實時控制的串行數據通信網絡,可以有效地構成分布式實時監測控制系統。CAN提供高達1 Mb/s的數據傳輸速率,這使實時控制變得非常容易。另外,硬件的錯誤檢定特性增強了CAN的抗電磁干擾能力。CAN 協議支持4種不同的幀類型:數據幀、遠程幀、出錯幀、超載幀。
     在各種幀類型中,最常用的是數據幀。CAN標準幀類型的數據幀如圖1所示,這也是CiA推薦的CANopen數據幀格式。

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

    2 CAN總線通信硬件實現
    通常,1個完整的CAN節點應該包括以下3個部分:微控制器(MCU)、CAN控制器、CAN收發器。在本系統中,由于XC2200內部集成了CAN控制器,因此在外圍電路設計上只需考慮CAN收發器[3]。
    本系統CAN收發器采用PCA82C250,PCA82C250與CAN總線的接口部分采用了安全和抗干擾措施。CANH和CANL與地之間并聯了2個30 pF的小電容,可以濾除總線的高頻干擾。另外,在2根CAN總線接入端與地之間分別反接1個保護二極管,當CAN總線有較高的負電壓時,通過二極管的短路可起到一定的過壓保護作用。PCA82C250的Rs腳上接有1個斜率電阻,電阻大小可根據總線通信速度適當調整,一般在16~140 kΩ之間。
    用光電隔離芯片6N137將CAN控制器和收發器PCA82C250隔離, 以便有效地增加通信距離和抗干擾能力。CAN 總線物理層接口電路如圖2所示,隔離器把單片機的TXD、RXD與PCA82C250的TXD、RXD分別連接,然后把PCA82C250的CANH和CANL腳分別接到CAN 總線的CANH和CANL上。


    3 MultiCAN模塊及網關功能實現
    3.1 MultiCAN模塊[4]

    本方案采用XC2267單片機,該單片機MultiCAN模塊擁有5個CAN節點和128個信息對象。本方案只使用其中4個CAN節點,每個節點都連接獨立的CAN收發器,構成CAN通道。在MultiCAN模塊中,每個CAN節點可以被獨立地配置,且每個節點所在的CAN總線波特率可以不同。
    利用該模塊的Gateway模式可方便地實現CAN網關功能,完成不同CAN總線上的數據交換[5]。這個過程無需CPU參與,有效減輕了CPU負荷,而使硬件承接了更多的工作量,改進了CAN網關設備的實時性能。
      網關模式以信息對象為基礎,在該模式下,數據在2個信息對象之間傳遞,從而實現信息對象所隸屬的CAN節點之間的數據交換。利用信息對象之間的交換機制可以在任意2個CAN節點之間建立起網關,通常需要指明信息對象的具體傳輸方向(接收或發送)。
    該單片機MultiCAN模塊擁有多達128個信息對象,所有的CAN節點共享有這些信息對象,每個對象都可獨立地分配給MultiCAN模塊內任1個CAN節點。每個CAN節點都有1個相應的雙向信息對象列表,通過這個列表來管理該節點的信息對象,每個CAN節點只能把CAN信息儲存在位于自身列表中的信息對象中。
    3.2 CAN網關軟件設計
    3.2.1 PC端網關配置軟件

    利用MFC編寫PC端網關配置軟件。PC機通過異步串行通信接口連接到網關設備,對其進行配置,配置即時生效。其配置界面如圖3所示。

    西門子plc相關文章:西門子plc視頻教程


    單片機相關文章:單片機教程


    單片機相關文章:單片機視頻教程


    單片機相關文章:單片機工作原理


    交換機相關文章:交換機工作原理


    隔離器相關文章:隔離器原理

    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 木兰县| 弋阳县| 大方县| 探索| 黎川县| 海晏县| 衢州市| 南木林县| 巴南区| 拉孜县| 长顺县| 博白县| 莒南县| 乐山市| 濮阳市| 娱乐| 福鼎市| 桃园县| 海口市| 哈密市| 定边县| 宁强县| 福海县| 原平市| 濮阳市| 晴隆县| 桂平市| 岢岚县| 抚顺市| 江油市| 区。| 温州市| 新源县| 泉州市| 旬邑县| 绿春县| 广西| 赤水市| 隆昌县| 章丘市| 隆回县|