當(dāng)前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]由于CAN總線具有通訊速率高、可靠性高、連接方便和性能價格比高等諸多特點,CAN的應(yīng)用范圍遍及從高速網(wǎng)絡(luò)到低成本的多線路網(wǎng)絡(luò)。在自動化電子領(lǐng)域的汽車發(fā)動機控制部件、傳感器、抗滑系統(tǒng)、工業(yè)自動化、建筑物環(huán)境控制、機床或電梯控制、醫(yī)療設(shè)備等領(lǐng)域得到了較為廣泛的應(yīng)用。

引言

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

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

CAN支持多主方式工作,網(wǎng)絡(luò)上任何節(jié)點均可在任意時刻主動向其它節(jié)點發(fā)送信息,支持點對點、一點對多點和全局廣播方式接收/發(fā)送數(shù)據(jù)。它采用總線仲裁技術(shù),當(dāng)出現(xiàn)幾個節(jié)點同時在網(wǎng)絡(luò)上傳輸信息時,優(yōu)先級高的節(jié)點可繼續(xù)傳輸數(shù)據(jù),而優(yōu)先級低的節(jié)點則主動停止發(fā)送,從而避免了總線沖突。

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

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

P8XC591片上自帶CAN的微控制器

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

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

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

    硬件電路設(shè)計

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

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

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

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

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

為了能使CAN網(wǎng)絡(luò)1(最多110個節(jié)點)的信息和CAN網(wǎng)絡(luò)2(最多110個節(jié)點)的信息共享,P87C591在軟件上必須使得任何格式的數(shù)據(jù)能實時的從CAN網(wǎng)絡(luò)1傳送到CAN網(wǎng)絡(luò)2,以及信息從CAN網(wǎng)絡(luò)2傳送到CAN網(wǎng)絡(luò)1。這樣,兩個不同的子網(wǎng)就實現(xiàn)了互聯(lián),CAN網(wǎng)絡(luò)的節(jié)點得到了擴展。

    軟件設(shè)計

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

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

#include<reg591.h>

viod ini_can_controller (void)

{

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

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

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

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

CANDAT=0x45;

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

CANDAT=0x2B; /*用戶可根據(jù)具體的CAN網(wǎng)絡(luò)來調(diào)整BTR0, BRT1的參數(shù)*/

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

CANDAT=0xFF; /*Bank1: 與接收屏蔽寄存器1無關(guān),允許任何數(shù)據(jù)通過濾波器*/

CANDAT=0xFF; /*Bank1: 與接收屏蔽寄存器2無關(guān),允許任何數(shù)據(jù)通過濾波器*/

CANDAT=0xFF; /*Bank1: 與接收屏蔽寄存器3無關(guān),允許任何數(shù)據(jù)通過濾波器*/

CANDAT=0xFF; /*Bank1: 與接收屏蔽寄存器4無關(guān),允許任何數(shù)據(jù)通過濾波器*/

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

CANDAT=0x01; /*設(shè)定BANK1為單濾波模式,標(biāo)準幀*/

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

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

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

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

}

類似以上的設(shè)置可以使得所有的CAN信息都通過CAN的連接濾波器而到達接收緩沖區(qū),從而為不同CAN網(wǎng)絡(luò)信息的交換奠定了基礎(chǔ)。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉