【正文】
CiINTF3或CiINTF4)將被置位,并且TXREQ位(CiTXnCON3)清零,表明報文緩沖器完成了發(fā)送。隨后CPU 把將要發(fā)送的報文內容裝入報文緩沖器。至少,必須裝載標準標識符寄存器CiTXnSID。如果報文中有數(shù)據(jù)字節(jié),還應裝載TXBnDm寄存器。如果報文使用擴展標識符,CiTXnEID 寄存器和EID5:0位(CiTXnDLC15:10)會被加載并置位TXIDE位(CiTXnSID0)。在發(fā)送報文前,用戶必須初始化TXnIE位(CiINTECiINTE3 或CiINTE4)以便在發(fā)送報文后使能或禁止中。必須置位TXREQ位(CiTXnCON3)來開始發(fā)送報文。CAN 總線模塊解決了由TXREQ位與SOF 時間設置造成的所有時序沖突,確保當優(yōu)先級改變時,能在發(fā)送SOF 之前正確解決時序沖突。當TXREQ 置位時, TXABT(CiTXnCON6)、TXLARB (CiTXnCON5)和TXERR(CiTXnCON4)標志位將由模塊清零。置位TXREQ 位并沒有真正開始發(fā)送報文,它標志一個報文緩沖器正在排隊以等待發(fā)送。當模塊檢測到總線上有可用的SOF時,發(fā)送開始。模塊然后開始發(fā)送設定為具有最高優(yōu)先級的報文。如果發(fā)送第一次嘗試就成功完成,TXREQ位將清零,如果TXnIE位(CiINTECiINTE3和CiINTE4)已經置位,還會產生一個中斷。如果報文發(fā)送失敗,其他的某些狀態(tài)標志位將被置位, TXREQ 位將保持置位,表示該報文仍然等待發(fā)送。如果報文嘗試發(fā)送但遇到出錯情況, TXERR 位(CiTXnCON4)將被置位。在這種情況下,出錯情況也可能會引起中斷。如果報文嘗試發(fā)送但仲裁失敗, TXLARB 位(CiTXnCON5)將被置位。在這種情況下,沒有中斷可以表明仲裁失敗。圖42 發(fā)送流程圖Fig 42 send flow5 結語CAN自誕生以來,以其獨特的設計思想、優(yōu)良的性能和極高的可靠性越來越受到工業(yè)界的青睞。隨著企業(yè)對CAN總線技術要求的不斷提高,CAN總線技術將不斷完善,各種更先進的通訊技術方案將被提出,在現(xiàn)有技術條件下從可靠性、經濟性、可擴展性等方面盡量做出了最優(yōu)化設計,希望以后有時間我繼續(xù)研究探討。參考文獻[1] 饒運濤,鄒繼軍,鄭勇蕓.現(xiàn)場總線CAN原理與應用技術[M].北京航空航天大學出版社.2006:2036.[2] 梁海浪.DSPIC數(shù)字信號控制器C程序開發(fā)及應用[M].北京航天航空大學出版社,2006.[3] 朱濤.以太網(wǎng)與CAN總線通訊接口技術[D].武漢理工大學,2006.[4] 智鵬,蔣兆,遠楊進.基于CAN總線的分布式設備數(shù)據(jù)采集與監(jiān)控系統(tǒng)的研究與應用[J].中國儀器儀表.2005.[5] 史久根.CAN數(shù)據(jù)傳送實時性研究及其應用[J].信息與控制,2005,13(3):l822.[6] Leonardo da Vinci, Haggerty Road, Plymouth.Test Procedure for CAN Bus Susceptibility Evaluation Based on the Use of Radio Frequency Detectors[J] .2009.[7] D. Bishop,D. Dale, H. Hui, J. Lam, and .Distributed Power Supply Control Using CANBus[J]. .[8] MARCO D.Scheduling the CAN bus with earliest deadline[J].Industial electricOS,2007,1(3)