CAN總線的通信應(yīng)用系統(tǒng)設(shè)計(jì)
2 系統(tǒng)軟件設(shè)計(jì)
在使用CAN控制器之前首先必須對(duì)它的內(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ù)幀)以及對(duì)相應(yīng)的郵箱賦初值。圖4列出了郵箱初始化的配置流程圖。
2.4 數(shù)據(jù)的發(fā)送與接收:當(dāng)完成以上三步之后,接著就實(shí)現(xiàn)對(duì)數(shù)據(jù)的發(fā)送與接收請(qǐng)求。數(shù)據(jù)接收時(shí),所接收到的信息的標(biāo)識(shí)符必須與相應(yīng)的接收郵箱的標(biāo)識(shí)符相同才能被接收,否則該信息將被濾除掉。這里數(shù)據(jù)的發(fā)送與接收請(qǐng)求均采用標(biāo)志位查詢方式。圖5和圖6分別列出了數(shù)據(jù)的發(fā)送與接收請(qǐng)求的配置流程圖。
2.5 CAN總線正常通訊的條件:當(dāng)完成以上所有的設(shè)置和請(qǐng)求以后,其實(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è)不同的位場(chǎng)組成,其中有一個(gè)位場(chǎng)叫做應(yīng)答場(chǎng)。應(yīng)答場(chǎng)長(zhǎng)度為2 個(gè)位,包含應(yīng)答間隙和應(yīng)答界定符,在應(yīng)答場(chǎng)里,發(fā)送站發(fā)送兩個(gè)“隱性”位。當(dāng)接收器正確地接收到有效的報(bào)文,接收器就會(huì)在應(yīng)答間隙期間向發(fā)送器發(fā)送一“顯性”的位以示應(yīng)答。因此連在CAN總線上的所有接點(diǎn)都必須對(duì)總線進(jìn)行發(fā)送請(qǐng)求(不論該接點(diǎn)只管接收還是只管發(fā)送),即同時(shí)激活總線,使各自節(jié)點(diǎn)都能對(duì)相對(duì)應(yīng)的發(fā)送器進(jìn)行應(yīng)答,以確認(rèn)對(duì)方以存在總線上,并隨時(shí)準(zhǔn)備發(fā)送或接收數(shù)據(jù)。只要把這點(diǎn)設(shè)置好,CAN總線就可以正常地工作。
以上是CAN總線的基本接收和發(fā)送功能,此外LF2407內(nèi)嵌的CAN模塊還能實(shí)現(xiàn)遠(yuǎn)程幀請(qǐng)求和自動(dòng)遠(yuǎn)程幀回應(yīng)功能,它對(duì)于遠(yuǎn)程控制數(shù)據(jù)傳送很有用。而遠(yuǎn)程幀的發(fā)送和數(shù)據(jù)幀相類似,只是要設(shè)置郵箱2和3為發(fā)送郵箱并且遠(yuǎn)程幀中沒(méi)有數(shù)據(jù)。另外CAN模塊還配置有自測(cè)試模式來(lái)測(cè)試程序能否正確運(yùn)行,這對(duì)初學(xué)者熟悉相關(guān)的CAN寄存器設(shè)置也很有幫助。
四 結(jié)束語(yǔ)
由CAN 總線構(gòu)成網(wǎng)絡(luò)中,理論上可以掛接無(wú)數(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ì)更為簡(jiǎn)單。以上系統(tǒng)已經(jīng)實(shí)際調(diào)試通過(guò),并可跟據(jù)不同的需求作擴(kuò)展。
參考文獻(xiàn)
1 TMS320LF240X DSP結(jié)構(gòu)原理及應(yīng)用 劉和平 北京航空航天大學(xué)出版社
2 現(xiàn)場(chǎng)總線CAN原理和應(yīng)用技術(shù) 鄔寬明 北京航空航天大學(xué)出版社
3 廣州周立功單片機(jī)發(fā)展有限公司網(wǎng)站資料.
4 現(xiàn)場(chǎng)總線技術(shù)及其應(yīng)用 楊憲惠 清華大學(xué)出版社
作者簡(jiǎn)介:
暨綿浩 男 1979年生
1998-2002 廣東工業(yè)大學(xué)自動(dòng)化專業(yè)獲學(xué)士學(xué)位
2003-2006 廣東工業(yè)大學(xué)自動(dòng)化碩士研究生 研究方向:電力電子計(jì)術(shù)與數(shù)字信號(hào)處理
評(píng)論