CAN總線的通信應(yīng)用系統(tǒng)設(shè)計(jì)
2 系統(tǒng)軟件設(shè)計(jì)
在使用CAN控制器之前首先必須對它的內(nèi)部寄存器進(jìn)行初始化設(shè)置,包括相關(guān)I/O口,位定時(shí)器的設(shè)置以及郵箱的相關(guān)配置。著重介紹在所有相關(guān)的寄存器都配置好之后,如何能使CAN正常工作。其中具體介紹CAN總線正常通訊的條件。
2.1 I/O口配置;由于CAN通訊所用到的兩個(gè)引腳CANTX和CANRX均為復(fù)用I/O口,因此進(jìn)行CAN通訊軟件編程的第一步即為正確配置這兩個(gè)I/O口。
2.2初始化位定時(shí)器: 位定時(shí)器主要是由BCR1和BCR2兩個(gè)寄存器組成,包括了CAN
控制器的通訊波特率,同步跳轉(zhuǎn)寬度,采樣次數(shù)和重同步方式。圖3列出了位定時(shí)器的配置流程圖。
2.3 初始化郵箱:郵箱初始化主要是設(shè)置郵箱的標(biāo)識(shí)符,控制域(即發(fā)送的是遠(yuǎn)程幀還是數(shù)據(jù)幀)以及對相應(yīng)的郵箱賦初值。圖4列出了郵箱初始化的配置流程圖。
2.4 數(shù)據(jù)的發(fā)送與接收:當(dāng)完成以上三步之后,接著就實(shí)現(xiàn)對數(shù)據(jù)的發(fā)送與接收請求。數(shù)據(jù)接收時(shí),所接收到的信息的標(biāo)識(shí)符必須與相應(yīng)的接收郵箱的標(biāo)識(shí)符相同才能被接收,否則該信息將被濾除掉。這里數(shù)據(jù)的發(fā)送與接收請求均采用標(biāo)志位查詢方式。圖5和圖6分別列出了數(shù)據(jù)的發(fā)送與接收請求的配置流程圖。
2.5 CAN總線正常通訊的條件:當(dāng)完成以上所有的設(shè)置和請求以后,其實(shí)還是不能使CAN總線工作,若要使CAN總線正常通訊,必須要使所有的接點(diǎn)同時(shí)激活總線。因?yàn)楦鶕?jù)CAN 協(xié)議,CAN總線信號(hào)使用差分電壓傳送,兩條信號(hào)線被稱為“CAN_H”和“CAN_L”,靜態(tài)時(shí)均是2.5V左右,此時(shí)狀態(tài)表示為邏輯“1”,也可以叫做“隱性”。用CAN_H比CAN_L高表示邏輯“0”,稱為“顯形”,此時(shí),通常電壓值為:CAN_H = 3.5V 和CAN_L = 1.5V。而在CAN總線中傳送的數(shù)據(jù)幀由7個(gè)不同的位場組成,其中有一個(gè)位場叫做應(yīng)答場。應(yīng)答場長度為2 個(gè)位,包含應(yīng)答間隙和應(yīng)答界定符,在應(yīng)答場里,發(fā)送站發(fā)送兩個(gè)“隱性”位。當(dāng)接收器正確地接收到有效的報(bào)文,接收器就會(huì)在應(yīng)答間隙期間向發(fā)送器發(fā)送一“顯性”的位以示應(yīng)答。因此連在CAN總線上的所有接點(diǎn)都必須對總線進(jìn)行發(fā)送請求(不論該接點(diǎn)只管接收還是只管發(fā)送),即同時(shí)激活總線,使各自節(jié)點(diǎn)都能對相對應(yīng)的發(fā)送器進(jìn)行應(yīng)答,以確認(rèn)對方以存在總線上,并隨時(shí)準(zhǔn)備發(fā)送或接收數(shù)據(jù)。只要把這點(diǎn)設(shè)置好,CAN總線就可以正常地工作。
以上是CAN總線的基本接收和發(fā)送功能,此外LF2407內(nèi)嵌的CAN模塊還能實(shí)現(xiàn)遠(yuǎn)程幀請求和自動(dòng)遠(yuǎn)程幀回應(yīng)功能,它對于遠(yuǎn)程控制數(shù)據(jù)傳送很有用。而遠(yuǎn)程幀的發(fā)送和數(shù)據(jù)幀相類似,只是要設(shè)置郵箱2和3為發(fā)送郵箱并且遠(yuǎn)程幀中沒有數(shù)據(jù)。另外CAN模塊還配置有自測試模式來測試程序能否正確運(yùn)行,這對初學(xué)者熟悉相關(guān)的CAN寄存器設(shè)置也很有幫助。
四 結(jié)束語
由CAN 總線構(gòu)成網(wǎng)絡(luò)中,理論上可以掛接無數(shù)個(gè)節(jié)點(diǎn)。但在實(shí)際應(yīng)用中,節(jié)點(diǎn)數(shù)目受網(wǎng)絡(luò)硬件的電氣特性所限制。CAN 可提供高達(dá)1Mbit/s的數(shù)據(jù)傳輸速率,這使實(shí)時(shí)控制變得非常容易。另外,硬件的錯(cuò)誤檢定特性也增強(qiáng)了CAN的抗電磁干擾能力。而LF2407內(nèi)嵌的CAN模塊也使到硬件電路設(shè)計(jì)更為簡單。以上系統(tǒng)已經(jīng)實(shí)際調(diào)試通過,并可跟據(jù)不同的需求作擴(kuò)展。
參考文獻(xiàn)
1 TMS320LF240X DSP結(jié)構(gòu)原理及應(yīng)用 劉和平 北京航空航天大學(xué)出版社
2 現(xiàn)場總線CAN原理和應(yīng)用技術(shù) 鄔寬明 北京航空航天大學(xué)出版社
3 廣州周立功單片機(jī)發(fā)展有限公司網(wǎng)站資料.
4 現(xiàn)場總線技術(shù)及其應(yīng)用 楊憲惠 清華大學(xué)出版社
作者簡介:
暨綿浩 男 1979年生
1998-2002 廣東工業(yè)大學(xué)自動(dòng)化專業(yè)獲學(xué)士學(xué)位
2003-2006 廣東工業(yè)大學(xué)自動(dòng)化碩士研究生 研究方向:電力電子計(jì)術(shù)與數(shù)字信號(hào)處理
評論