《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于飛利浦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亚洲国产精品_日韩亚洲一区二区
久久av老司机精品网站导航 | 99综合精品| 狠狠色丁香久久综合频道| 国产精品三区www17con| 欧美日韩国内| 欧美日韩xxxxx| 欧美精品一区二区三区蜜臀| 欧美激情一区二区三区高清视频| 欧美v日韩v国产v| 美女诱惑一区| 免费国产一区二区| 免费看的黄色欧美网站| 男女激情久久| 欧美国产视频一区二区| 欧美啪啪一区| 欧美午夜久久| 国产精品久久久久久久久免费桃花 | 欧美日韩www| 欧美特黄一级大片| 国产精品久久久久久久浪潮网站 | 亚洲片在线资源| 亚洲欧洲在线免费| 日韩视频精品在线| 一区二区三区精品在线 | 亚洲性感美女99在线| 亚洲一区二区三区精品在线观看 | 欧美精品激情在线观看| 欧美日韩三区四区| 国产精品欧美一区二区三区奶水| 国产日韩精品电影| 狠狠噜噜久久| 亚洲精品免费网站| 亚洲午夜精品17c| 欧美资源在线| 亚洲人成在线影院| 亚洲午夜激情在线| 久久国产精品72免费观看| 久久人人精品| 欧美精品精品一区| 国产精品理论片| 好吊色欧美一区二区三区四区| 亚洲国产成人一区| 一本一本久久| 久久精品国产77777蜜臀 | 欧美尤物巨大精品爽| 老司机免费视频久久| 欧美日韩免费在线| 国产视频精品网| 亚洲福利电影| 亚洲一区二区三区激情| 久久精品一区二区三区中文字幕| 亚洲精品乱码久久久久久| 亚洲在线视频一区| 久久人人97超碰精品888| 欧美伦理一区二区| 国产一区91精品张津瑜| 亚洲精品一区二区在线| 午夜精品一区二区三区在线视| 亚洲欧洲日产国产综合网| 亚洲一区二区免费在线| 久久精品人人做人人爽| 欧美精品v日韩精品v韩国精品v | 亚洲精品国产日韩| 亚洲欧美一区二区三区极速播放| 最新高清无码专区| 午夜精品视频一区| 欧美成在线观看| 国产午夜精品福利| aa亚洲婷婷| 亚洲国产成人在线视频| 亚洲一区二区在线视频| 暖暖成人免费视频| 国产精品网站视频| 亚洲国内自拍| 久久成人综合视频| 亚洲欧美国产三级| 欧美国产精品久久| 国产手机视频一区二区| 亚洲精品日韩激情在线电影| 久久国产精品一区二区| 亚洲欧美一区在线| 欧美日韩第一区日日骚| 国语精品中文字幕| 亚洲一区图片| 亚洲午夜精品久久久久久浪潮| 美女脱光内衣内裤视频久久网站| 国产麻豆午夜三级精品| 99精品99久久久久久宅男| 亚洲欧洲精品一区二区三区| 久久岛国电影| 国产精品欧美经典| 99在线精品视频| 亚洲精品国精品久久99热| 久久久久久一区| 国产乱码精品一区二区三区五月婷 | 国产精品videosex极品| 亚洲精品之草原avav久久| 亚洲国产合集| 久久久综合免费视频| 国产日产亚洲精品| 亚洲免费在线精品一区| 亚洲综合视频一区| 欧美日韩午夜剧场| 亚洲精品免费在线观看| 亚洲日本黄色| 欧美成人精品在线播放| 影音欧美亚洲| 欧美在线网址| 久久精品国产欧美激情| 国产美女精品免费电影| 亚洲午夜电影网| 亚洲一级电影| 国产精品va| 国产精品99久久久久久久久| 中文亚洲欧美| 欧美亚洲第一区| 一区二区三区四区国产精品| 一二三四社区欧美黄| 欧美日本三级| 日韩视频―中文字幕| 亚洲美女91| 欧美日韩国产成人在线免费| 亚洲精一区二区三区| 一区二区三区你懂的| 欧美日韩亚洲视频| 日韩视频在线免费观看| 亚洲视频网在线直播| 国产精品久久久对白| 亚洲专区一二三| 久久精品二区| 精品av久久久久电影| 亚洲国产精品女人久久久| 免费亚洲电影在线| 亚洲国产日韩欧美| 一本色道久久综合亚洲二区三区| 欧美日韩国产电影| 一区二区三区久久| 午夜欧美大片免费观看| 国产精品亚洲综合色区韩国| 亚洲欧美偷拍卡通变态| 久久久国际精品| 亚洲高清视频中文字幕| 艳妇臀荡乳欲伦亚洲一区| 欧美色精品在线视频| 亚洲一区二区精品在线| 久久精品日产第一区二区三区| 韩国一区电影| 亚洲裸体视频| 国产精品久线观看视频| 欧美一区在线视频| 欧美成人精品一区二区三区| 日韩一区二区福利| 久久激情一区| 亚洲国产裸拍裸体视频在线观看乱了中文 | 午夜精品久久久久久久久久久久| 久久久人成影片一区二区三区| 亚洲第一天堂av| 亚洲在线免费观看| 国模私拍视频一区| 一本色道88久久加勒比精品 | 欧美亚州在线观看| 欧美综合激情网| 欧美精品一区在线| 亚洲免费视频中文字幕| 欧美91视频| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 亚洲激情啪啪| 欧美一级久久| 亚洲国产日韩欧美在线图片| 亚洲欧美视频| 亚洲成人中文| 亚洲欧美综合国产精品一区| 黄色一区二区三区| 亚洲一二三四久久| 有坂深雪在线一区| 亚洲一级高清| 亚洲第一中文字幕在线观看| 亚洲永久在线| 在线看不卡av| 性欧美暴力猛交69hd| 亚洲风情在线资源站| 午夜在线观看免费一区| 亚洲国产日韩在线一区模特| 香蕉久久夜色| 亚洲欧洲一区二区天堂久久 | 国产亚洲欧美另类中文| 一本色道**综合亚洲精品蜜桃冫 | 亚洲综合精品| 亚洲高清精品中出| 久久不见久久见免费视频1| 亚洲国产小视频| 久久精品30| 亚洲香蕉成视频在线观看| 欧美va亚洲va国产综合| 午夜欧美视频| 国产精品国产一区二区| 99精品欧美一区二区三区综合在线 | 一区二区三区自拍| 欧美一区二区在线| 一区二区三区国产盗摄|