《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于飛利浦P8XC591的CAN總線節點擴展
基于飛利浦P8XC591的CAN總線節點擴展
摘要: 由于CAN總線具有通訊速率高、可靠性高、連接方便和性能價格比高等諸多特點,CAN的應用范圍遍及從高速網絡到低成本的多線路網絡。在自動化電子領域的汽車發動機控制部件、傳感器、抗滑系統、工業自動化、建筑物環境控制、機床或電梯控制、醫療設備等領域得到了較為廣泛的應用。
Abstract:
Key words :

引言

   由于CAN總線具有通訊速率高、可靠性高、連接方便和性能價格比高等諸多特點,CAN的應用范圍遍及從高速網絡到低成本的多線路網絡。在自動化電子領域的汽車發動機控制部件、傳感器、抗滑系統、工業自動化、建筑物環境控制、機床或電梯控制、醫療設備等領域得到了較為廣泛的應用。

   CAN 的信號傳輸采用短幀結構,每一幀的有效字節數為 8個,因而傳輸時間短、受干擾的概率低。當節點嚴重錯誤時,具有自動關閉的功能以切斷該節點與總線的聯系,使總線上的其它節點極其通信不受影響,具有較強的抗干擾能力和檢錯能力。CAN控制器支持四種不同的CAN協議類型:數據幀、遠程幀、出錯幀和超載幀。

    CAN支持多主方式工作,網絡上任何節點均可在任意時刻主動向其它節點發送信息,支持點對點、一點對多點和全局廣播方式接收/發送數據。它采用總線仲裁技術,當出現幾個節點同時在網絡上傳輸信息時,優先級高的節點可繼續傳輸數據,而優先級低的節點則主動停止發送,從而避免了總線沖突。

    CAN總線信號傳輸介質使用特性阻抗為120歐姆的雙絞線,信號傳輸方式和RS485一樣,也采用差動發送和差動接收的方式。理論上使用CAN2.0A總線的節點可達到2032個,CAN2.0B則可以達到5億多個。使用PCA82C250作為CAN總線的收發器時,CAN直接通信距離最遠可達到10km(傳輸率為5kbps),通訊速率最高可達1Mbps(傳輸距離為40m);由于收發器的限制, CAN總線上節點數實際上最多可達110個。對于節點超過110個的CAN網絡,可以使用CAN網關對CAN總線進行擴展,以達到用戶的要求。

   網關可以采用特定的控制邏輯去控制一對背-背相接的收發器PCA82C250,連接兩個物理上完全獨立的CAN網,雙向傳輸數據,從物理層上來看,它實現了CAN總線信號的中繼,也可以采用P8XC591+SJA1000的結構去實現。下面將著重介紹后者的硬件及軟件實現。

P8XC591片上自帶CAN的微控制器

    P8XC591是一個高性能的微控制器,它的硬件接構及增強型飛利浦“RX+內核”使得其可以廣泛用于工業控制和汽車領域。片上自帶的CAN控制器為CAN的應用提供了許多專用的硬件功能。P8XC591完全履行CAN2.0B規范,并提供一個直接從SJA1000獨立CAN控制器的軟件移植路徑。P8XC591具有CAN的擴展特性,其中包括增強型接收濾波器、支持系統維護、診斷、系統優化以及接收FIFO特性等。   

     P8XC591除了標準的外圍功能以外,還有一個強大的CAN控制器模塊。該嵌入式CAN控制器還包括了下列功能模塊:CAN內核模塊,根據CAN2.0B規范控制CAN幀的發送和接收;CAN接口模塊,包含5個實現CPU與CAN控制器連接的特殊功能寄存器,對重要CAN寄存器的訪問通過快速自動增加的尋址特性和對特殊功能寄存器的位尋址來實現;CAN控制器的發送緩沖區模塊,能夠保存一個完整的CAN信息擴展或標準幀格式。只要通過CPU啟動發送信息,字節就從發送緩沖區傳輸到CAN內核模塊。當接收一個信息時,CAN內核模塊將串行位流轉換成并行數據輸入到接收濾波器,通過該可編程濾波器,P8XC591確定實際收到的信息,所有由接收濾波器接收的數據都保存在接收FIFO(64字節)中,由于操作模式和數據長度的不同,該接收緩沖區最多可保存21個CAN信息。這使用戶在指定系統的中斷服務和中斷優先級時有更多的靈活性,因為數據溢出的可能性大大降低。

   除了普通的CAN特性以外,P8XC591還提供增強型PeliCAN。PeliCAN具有4個獨立可配置的接收濾波器組,每個組都有4個可選的接收濾波器配置;每個接收濾波器都有32位區分符、32位代碼和32位屏蔽;所有濾波器配置都可在運行中改變;支持更高層的協議的接收濾波器;接收FIFO特性;只聽模式及自檢測模式;只有達到FIFO接收中斷級才產生接收中斷;在接收到高優先級數據幀時立即產生接收中斷;系統維護診斷和優化特性。

    硬件電路設計

    硬件電路的設計采用了飛利浦片上自帶CAN控制器的單片機P8XC591和獨立的CAN控制器SJA1000。兩者都支持CAN 2.0B協議。P87C591片上自帶的CAN控制器在軟件上是向上兼容SJA1000的。

    P8XC591所連接的CAN節點電路所需要的外部元件僅僅是一個晶振加兩個電容驅動片內振蕩器、一個連接到復位腳的電阻、電容。使用片內上電復位電路以及一個收發器用于將P8XC591連接到CAN總線。

    P8XC591通過對CAN的特殊功能寄存器,如地址寄存器(CANADR)、數據寄存器(CANDAT)、模式寄存器(CANMOD)、控制寄存器(CANCON)、狀態寄存器(CANSTA)、總線定時寄存器(BTR0,BTR1)等的設置,以及對收發緩沖區的讀寫(接收緩沖區為64字節的FIFO緩沖區,最多儲存21幀CAN信息),從而完成和其它CAN節點的數據交換。

   CAN的控制器分別采用了PXC591和SJA1000,可完成物理層和數據鏈路層的所有功能。CAN收發器使用飛利浦公司的PCA82C250,它是連接CAN控制器和物理總線之間的接口,提供了對總線的差動發動和接收能力。它與ISO11898標準完全兼容,有三種不同的工作方式即高速、斜率控制和待機,可根據實際情況選擇。為了進一步提高系統的抗干擾能力,在控制器SJA1000和收發器PCA82C250之間,P87C591和收發器PCA82C250之間均增加了由高速隔離器件6N137 構成的隔離電路。硬件電路中使用PCA82C250是為了增加通信距離,提高系統的瞬間抗干擾能力,保護總線、降低干擾等。

   微處理器P87C591和SJA1000均使用12MHz的石英晶體,以獲得相同的時鐘信號。由于 P87C591含有片上的CAN控制器,通過TXDC,RXDC兩個管腳,P87C591就可和外部的CAN節點交換數據。另一方面,P87C591直接控制SJA1000的AD0~AD7, RD, WR, ALE, RST和INT管腳,SJA1000的MODE管腳接高電平,工作在Intel模式下;片選CS管腳接地,使SJA1000始終處于選通狀態。P87C591對SJA1000的操作主要是對寄存器中的模式寄存器(MOD)、命令寄存器(CMR)、狀態寄存器(SR)、中斷寄存器(IR)、中斷允許寄存器(IEP)、總線定時寄存器(BTR0, BTR1)、輸出控制寄存器(OCR)、時鐘分頻計數器(CDR)進行設置和檢測,以及對收發緩沖區進行讀寫,從而完成和其它CAN節點的數據交換。

   為了能使CAN網絡1(最多110個節點)的信息和CAN網絡2(最多110個節點)的信息共享,P87C591在軟件上必須使得任何格式的數據能實時的從CAN網絡1傳送到CAN網絡2,以及信息從CAN網絡2傳送到CAN網絡1。這樣,兩個不同的子網就實現了互聯,CAN網絡的節點得到了擴展。

    軟件設計

  *在初始化SJA1000時,必須設置接收代碼寄存器ACRn,接收代碼屏蔽寄存器AMRn的值為FF,以能收發所有的數據。由于P87C591片上自帶的CAN控制器在軟件上是向上兼容SJA1000的,所以對SJA1000的初始化,讀、寫的流程與P87C591基本類似。

  初始化部分的原程序如下:

#include

viod ini_can_controller (void)

{

CANMOD=0x01; /*進入復位模式,啟動CAN初始化*/

P1M2=P1M2 I 0x02; /*管腳TXDC設置為推挽模式*/

CANSTA=0x03; /*使能接收和發送中斷*/

CANADR=BTR0; /*BTR0和BTR1編程為125kbit/s@12MHz*/

CANDAT=0x45;

CANADR=BTR1; /*TSEG1=12, TSEG2=3, SJW=2*/

CANDAT=0x2B; /*用戶可根據具體的CAN網絡來調整BTR0, BRT1的參數*/

CANADR=AMR10; /*設定接收屏蔽寄存器的地址*/

CANDAT=0xFF; /*Bank1: 與接收屏蔽寄存器1無關,允許任何數據通過濾波器*/

CANDAT=0xFF; /*Bank1: 與接收屏蔽寄存器2無關,允許任何數據通過濾波器*/

CANDAT=0xFF; /*Bank1: 與接收屏蔽寄存器3無關,允許任何數據通過濾波器*/

CANDAT=0xFF; /*Bank1: 與接收屏蔽寄存器4無關,允許任何數據通過濾波器*/

CANADR=ACFMODE; /*設定接收濾波器模式寄存器的地址*/

CANDAT=0x01; /*設定BANK1為單濾波模式,標準幀*/

CANADR=ACFENA; /*設定接收濾波器使能寄存器的地址*/

CANDAT=0x01; /*使能BANK1的濾波器1*/

CANMOD=0x00; /*請求進入CAN的激活模式*/

while (CANSTA & 0x80); /*等待總線激活*/

}

類似以上的設置可以使得所有的CAN信息都通過CAN的連接濾波器而到達接收緩沖區,從而為不同CAN網絡信息的交換奠定了基礎。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
中文在线资源观看网站视频免费不卡 | 欧美午夜理伦三级在线观看| 牛牛国产精品| 美女主播精品视频一二三四| 久久久免费精品视频| 久久福利精品| 久久久久久亚洲精品杨幂换脸| 销魂美女一区二区三区视频在线| 亚洲中午字幕| 午夜国产精品视频| 欧美一区二区三区成人| 欧美一级专区| 久久久久国产精品午夜一区| 久久九九免费| 久热精品视频| 嫩草成人www欧美| 一本色道**综合亚洲精品蜜桃冫| 亚洲社区在线观看| 亚洲综合欧美日韩| 性欧美8khd高清极品| 欧美专区亚洲专区| 亚洲国产精品黑人久久久| 亚洲激情专区| 一本色道久久精品| 亚洲砖区区免费| 性8sex亚洲区入口| 久久久999成人| 免费的成人av| 欧美精品免费观看二区| 欧美日韩不卡| 国产精品美女久久久| 国产一区在线视频| 亚洲国产三级在线| 一本久久综合亚洲鲁鲁| 亚洲欧美清纯在线制服| 亚洲第一在线| 99热在线精品观看| 亚洲欧美精品在线观看| 久久av一区| 欧美88av| 欧美亚州一区二区三区| 国产区亚洲区欧美区| 伊人影院久久| 一本色道久久88综合亚洲精品ⅰ| 亚洲欧美日韩国产另类专区| 亚洲国产婷婷综合在线精品| 一区二区三区日韩| 久久精品99国产精品| 欧美大片免费观看| 欧美视频在线视频| 国产亚洲一区二区三区| 91久久精品www人人做人人爽| 性欧美xxxx视频在线观看| 一色屋精品视频免费看| 久久精彩视频| 女同一区二区| 国产精品萝li| 在线成人h网| 亚洲视频成人| 亚洲黄色影院| 欧美一区二区福利在线| 欧美韩日一区二区三区| 国产精品永久免费| 亚洲精品国产精品国自产在线 | 久久精品2019中文字幕| 亚洲免费高清| 久久精品99国产精品酒店日本| 欧美国产精品人人做人人爱| 国产女优一区| 99国内精品久久| 久久国产精彩视频| 亚洲性视频h| 美女图片一区二区| 国产欧美va欧美不卡在线| 亚洲裸体视频| 亚洲国产精品999| 欧美一区二区三区免费视| 欧美日韩国产黄| 伊人伊人伊人久久| 午夜精品在线| 亚洲综合国产| 欧美精品aa| 红桃av永久久久| 亚洲欧美综合精品久久成人| 中日韩高清电影网| 欧美gay视频激情| 国内成+人亚洲+欧美+综合在线| 日韩一区二区精品| 亚洲精品免费观看| 久久免费少妇高潮久久精品99| 欧美日韩免费视频| 亚洲欧洲精品成人久久奇米网| 久久国产精品黑丝| 性做久久久久久久免费看| 欧美日韩aaaaa| 亚洲国产精品小视频| 久久精品视频在线看| 欧美一区二区三区在线看| 欧美性大战久久久久久久蜜臀| 亚洲精品看片| 亚洲日本黄色| 毛片基地黄久久久久久天堂 | 精品动漫3d一区二区三区免费| 亚洲欧美日韩综合| 亚洲男人的天堂在线aⅴ视频| 欧美日本高清| 亚洲第一精品在线| 亚洲国产合集| 久热精品视频在线观看| 激情视频一区二区| 久久成人综合视频| 久久久亚洲一区| 国产一区美女| 久久av一区二区三区| 久久国产综合精品| 国产亚洲精品激情久久| 午夜亚洲视频| 久久精品日产第一区二区| 国产欧美日韩综合| 欧美一级在线视频| 久久久久久69| 伊人久久噜噜噜躁狠狠躁| 久久国产一区| 欧美成人一二三| 亚洲全部视频| 亚洲一区欧美二区| 国产精品稀缺呦系列在线| 午夜精品久久久久久久久久久| 欧美一区二区日韩一区二区| 国产日韩欧美视频| 久久成人精品电影| 免费看av成人| 亚洲精品久久久久久久久| 亚洲图片欧美一区| 国产精品稀缺呦系列在线| 欧美亚洲三区| 免费在线欧美视频| 亚洲免费观看| 午夜精品在线观看| 国产日本亚洲高清| 亚洲成人在线网站| 欧美国产精品v| 一区二区日韩伦理片| 欧美一级播放| 影音先锋中文字幕一区| 亚洲美女淫视频| 国产精品久久久久av| 欧美一区二区三区免费看| 蜜桃av一区二区| 日韩视频在线一区| 欧美伊人久久| 亚洲国产精品女人久久久| 亚洲午夜精品网| 欧美日韩视频免费播放| 激情六月婷婷久久| 一级成人国产| 国产精品视频自拍| 久久精品一区二区三区四区| 欧美电影电视剧在线观看| 99亚洲一区二区| 久久精品国产77777蜜臀| 亚洲福利av| 亚洲欧美福利一区二区| 精品1区2区| 国产精品99久久不卡二区| 国产丝袜一区二区三区| 亚洲日韩成人| 国产精品一区二区a| 亚洲欧洲视频| 国产精品一二| 日韩视频免费观看高清完整版| 国产精品一区二区久激情瑜伽| 亚洲国产欧洲综合997久久| 欧美视频在线观看| 亚洲第一成人在线| 欧美偷拍一区二区| 亚洲国产导航| 国产精品一区二区久久久久| 亚洲肉体裸体xxxx137| 国产精品三级久久久久久电影| 最新中文字幕一区二区三区| 国产精品美女一区二区在线观看| 亚洲国产欧美在线人成| 国产精自产拍久久久久久| 日韩一级免费观看| 国产一区二区三区四区三区四| 亚洲视频电影图片偷拍一区| 一区二区三区在线视频免费观看 | 亚洲精品久久久久中文字幕欢迎你| 欧美在线免费视频| 欧美日韩亚洲视频| 亚洲高清自拍| 国产精品色网| 一本色道久久综合狠狠躁篇怎么玩 | 最新国产成人在线观看| 久久精品成人一区二区三区| 日韩午夜电影在线观看| 男人的天堂成人在线| 欧美一区久久| 国产精品亚洲精品|