《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Infineon單片機的CAN網關研究
基于Infineon單片機的CAN網關研究
張素偉, 王志剛, 王 紅, 劉 穎
(河北工業大學 信息工程學院, 天津300401)
摘要: 采用Infineon XC2000系列單片機實現CAN網關模塊,利用MFC編寫PC端網關配置軟件。該系列單片機MultiCAN模塊可實現不同速率的獨立CAN網絡之間的數據接收、存儲、轉發;能夠過濾不需要的CAN消息,降低子網的負荷。該網關模塊可以實現改變CAN網絡拓撲結構、延長網絡通信距離、增加節點數目等功能。
Abstract:
Key words :

摘   要: 采用Infineon XC2000系列單片機實現CAN網關模塊,利用MFC編寫PC端網關配置軟件。該系列單片機MultiCAN模塊可實現不同速率的獨立CAN網絡之間的數據接收、存儲、轉發;能夠過濾不需要的CAN消息,降低子網的負荷。該網關模塊可以實現改變CAN網絡拓撲結構、延長網絡通信距離、增加節點數目等功能。
關鍵詞: CAN網關; Infineon單片機; 信息對象

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

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所示。

    Visual C++提供了一種好用的ActiveX控件MSComm(Microsoft Communications Control)來支持應用程序對串口的訪問,在應用程序中插入MSComm控件后,可以方便地通過PC機串口實現數據收發。
    在PC端網關配置軟件里配置串口、網關通道使能、網關路由、驗收過濾器等內容,然后點擊“下載到網關設備”按鈕,完成配置工作。
3.2.2 MultiCAN模塊初始化
    在網關設備接收到來自串口的配置數據后,解析該配置數據,隨后啟動單片機MultiCAN模塊初始化,主要包括CAN節點初始化和信息對象初始化。
    CAN節點初始化的主要任務有:將單片機對應引腳定義為CAN輸入/輸出引腳、定義通信波特率,根據接收到的配置信息在信息對象列表內增加信息對象。
    信息對象初始化的主要任務有:配置信息對象屬性、ID、幀類型、優先級、定義數據長度、數據傳輸方向,同時需要配置屏蔽寄存器,以決定信息對象的濾波方案。
    在初始化時,需要注意對節點控制寄存器NCR的CCE和INIT位域的置位和復位設置,以及信息對象控制寄存器MOCTRn的MSGVAL位域的置位和復位設置。
3.3 網關數據交換過程
    接收數據幀的網關方稱為“源”,通過網關發送數據幀的網關方,稱為“目標”。網關數據交換過程如圖4所示。


  首先經過接收過濾后,目標信息對象由源信息對象MOFGPRn寄存器內CUR位域尋址。源信息對象MOFCRn寄存器的位域IDC、DLCC、DATC分別控制是否復制所接收數據幀的ID、數據長度、數據字節到目標信息對象中,位域GDFS決定在完成數據復制過程之后,是否置位目標信息對象的發送請求標志。到達源節點的匹配數據幀,被自動復制到目標信息對象中。在復制數據幀之后,目標信息對象的TXRQ、NEWDAT、RXPND被置位,網關源方接收的數據幀自動在目標方上發送,完成網關數據交換過程。
3.4 CAN網關功能測試
  德國IXXAT公司的USB-to-CAN compact是一種經濟型智能接口,是標準的USB-CAN接口板卡。配合CanAnalyser分析軟件便成為一種高效、便捷、靈活的CAN應用領域分析和開發工具。
    本CAN網關設備應用基于CANopen協議的某監控系統。經測試,該網關設備可及時轉發CANopen協議的SDO、PDO、NMT、Heartbeat消息等報文,網關通信狀況運行良好,設備符合CAN規范2.0A(11位CAN標識符)和2.0B(29位CAN標識符),可用于各種不同的高層CAN協議:CANOpen、SDS、J1939、DeviceNet或其他定制的協議。
    與其他類似網關設計不同[6],在網關某一通道接收CAN信息之后,并沒有產生MCU中斷,無需MCU做出路由判斷和轉發處理。整個接收和轉發過程中,延時較短,提高了網關運行速度和轉發速率。
 本設計采用Infineon XC2000系列單片機,可實現多個CAN網絡的連接。該網關具有4個通信端口,可迅速增加節點數目。因此在提供自由的布線方式的同時,也解除了系統總線上CAN收發器最大節點數驅動限制。結合PC端網關配置軟件的使用,可以快速配置相應的CAN路由功能和信息過濾器。每個端口還具備檢測總線活動功能及總線故障指示燈,方便觀察CAN總線網絡工作狀態。
參考文獻
[1]     吳志紅,朱元,王光宇.英飛凌16位單片機XC164CS的原理與基礎應用[M].上海:同濟大學出版社,2006.
[2]     Infineon Technologies AG. XC2200 derivatives 16/32-bit single-chip microcontroller,user’s manual version 2.1[M].  2008.
[3]     吳志祥.基于Infineon單片機的CAN智能節點的研究與應用[J].儀表技術,2008(2):21-23.
[4]    Infineon Technologies AG. XC2000 easy kit board manual version3.0[M]. 2008.
[5]     Infineon Technologies AG.Ap29005_ MultiCAN CAN-gateway functionality witout CPU interaction[M]. 2007.
[6]     周建華,李剛炎,胡劍. 客車網絡控制中CAN/CAN網橋設計[J].微計算機信息,2006,22:4-6.
 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲黄色大片| 国产视频不卡| 亚洲午夜视频在线观看| 国产精品福利片| 欧美一区免费视频| 久久精品理论片| 亚洲国产精品999| 欧美麻豆久久久久久中文| 亚洲在线一区| 欧美亚洲综合在线| 在线播放国产一区中文字幕剧情欧美 | 国产精品美女久久久久aⅴ国产馆| 亚洲女人av| 久久爱另类一区二区小说| 亚洲国产三级网| 国产精品扒开腿做爽爽爽视频| 性做久久久久久免费观看欧美| 久久成人免费网| 亚洲欧美美女| 亚洲三级影片| 国产一级一区二区| 欧美日韩亚洲一区| 久久久噜噜噜久噜久久| 99在线精品免费视频九九视| 亚洲欧美日韩人成在线播放| 亚洲午夜在线观看| 亚洲综合日韩在线| 亚洲国产欧美在线| 亚洲黑丝在线| 亚洲精品一二三区| 一本色道久久综合亚洲精品不卡 | 亚洲国产日本| 亚洲精品综合在线| 国内伊人久久久久久网站视频| 欧美日韩一区二区三区四区在线观看 | 午夜精品久久久久影视| 亚洲电影免费观看高清完整版在线观看| 欧美三区不卡| 欧美不卡一卡二卡免费版| 亚洲黄色天堂| 亚洲精品综合久久中文字幕| 欧美夜福利tv在线| 久久精品成人| 99re热这里只有精品免费视频| 午夜精品婷婷| 久久精品视频亚洲| 日韩午夜在线电影| 午夜一区二区三区不卡视频| 久久免费国产| 欧美啪啪一区| 国产精品自拍三区| 欧美性猛交视频| 国产日韩欧美亚洲| 亚洲高清自拍| 亚洲香蕉网站| 亚洲国产一二三| 亚洲一区二区三区四区视频| 久久久99国产精品免费| 欧美一区二区三区在线播放| 久久久久久9| 欧美日本久久| 国产一级久久| 日韩午夜电影| 亚洲激情视频网| 亚洲伊人伊色伊影伊综合网| 久久精品av麻豆的观看方式 | 亚洲视频在线观看| 亚洲看片免费| 亚洲欧美亚洲| 午夜精品一区二区三区在线视| 久久久久久久999精品视频| 欧美黄色aa电影| 欧美成人四级电影| 国产精品久久久一区二区三区| 国产综合香蕉五月婷在线| 亚洲人成网在线播放| 亚洲国产裸拍裸体视频在线观看乱了中文 | 国一区二区在线观看| 欧美午夜精品理论片a级按摩| 国产人成一区二区三区影院| 国产精品嫩草影院一区二区| 激情校园亚洲| 精品白丝av| 亚洲一区二区高清视频| 亚洲三级免费观看| 一本色道久久综合亚洲精品婷婷 | 欧美一区二区免费观在线| 欧美精品色综合| 欧美日韩和欧美的一区二区| 欧美区一区二| 国产中文一区| 亚洲一级在线观看| 一本大道久久a久久精品综合| 久久夜色撩人精品| 欧美黑人国产人伦爽爽爽| 国产拍揄自揄精品视频麻豆| 日韩一级欧洲| 亚洲人成绝费网站色www| 久久国产视频网| 麻豆国产va免费精品高清在线| 欧美成人在线影院| 韩日成人av| 欧美一级午夜免费电影| 亚洲欧美日韩一区二区| 欧美久久一区| 亚洲国产成人91精品| 亚洲第一狼人社区| 日韩系列欧美系列| 久久影院午夜论| 国产一区二区按摩在线观看| 亚洲愉拍自拍另类高清精品| 中国亚洲黄色| 欧美日韩视频在线一区二区| 亚洲欧洲精品一区二区三区| 亚洲国产小视频在线观看| 久久久免费av| 韩国欧美国产1区| 久久se精品一区精品二区| 久久黄色网页| 国产日韩欧美二区| 午夜精品理论片| 欧美中文字幕视频在线观看| 男人的天堂成人在线| 狠狠爱www人成狠狠爱综合网| 午夜精品久久久久久久久久久久久| 午夜精品久久久久久99热软件 | 国产精品成人aaaaa网站| 日韩亚洲欧美在线观看| 一区二区欧美激情| 欧美三区视频| 亚洲一区二区三区精品在线观看 | 欧美亚洲一区| 久久久www成人免费毛片麻豆| 国产一区二区久久精品| 性做久久久久久免费观看欧美| 欧美专区日韩专区| 韩日成人av| 日韩视频在线播放| 欧美视频观看一区| 亚洲新中文字幕| 欧美自拍偷拍午夜视频| 国产一区二区三区高清| 久久精品水蜜桃av综合天堂| 免费日韩成人| 亚洲另类一区二区| 亚洲欧美在线免费| 国产三区二区一区久久| 亚洲第一精品夜夜躁人人躁| 日韩手机在线导航| 欧美日本国产一区| 亚洲图片欧美日产| 日韩亚洲精品在线| 欧美日韩免费一区二区三区| 亚洲一区二区三区四区视频| 欧美影视一区| 曰本成人黄色| 亚洲午夜精品网| 欧美电影在线免费观看网站| 亚洲人成人99网站| 亚洲欧美日本精品| 韩国成人理伦片免费播放| 亚洲欧洲午夜| 久久野战av| 亚洲精品国产系列| 亚洲免费视频网站| 国产一区二区三区在线观看网站 | 亚洲精品五月天| 国产精品久久久久久户外露出| 午夜免费在线观看精品视频| 欧美成人精品一区二区| 一区二区三区免费看| 亚洲精品一区久久久久久| 欧美三级午夜理伦三级中文幕| 欧美一区二区三区啪啪| 午夜国产精品视频| 狠狠色狠狠色综合人人| 99精品国产在热久久婷婷| 国产精品入口福利| 亚洲视频精品| 久久手机精品视频| 一二美女精品欧洲| 久久天堂国产精品| 99亚洲一区二区| 久久九九热re6这里有精品 | 夜夜夜精品看看| 久久久五月婷婷| 一本色道久久88综合日韩精品| 久久国产精品99国产| 最新国产拍偷乱拍精品 | 欧美日韩国产成人在线91| 亚洲欧美中文字幕| 欧美日韩精品免费观看| 欧美一级视频| 国产精品激情偷乱一区二区∴| 亚洲人成网站999久久久综合| 国产麻豆精品theporn| 一区二区三区四区国产| 一区二区三区亚洲| 欧美一级黄色网| 亚洲伦理一区|