CAN做為應(yīng)用比較廣泛的通信總線,受到了越來(lái)越多的客戶喜歡和青睞,廣泛應(yīng)用于工業(yè)和汽車(chē),常見(jiàn)的高層協(xié)議有CANopen,J1939,DeviceNet等,在公眾號(hào)曾經(jīng)分享過(guò)超過(guò)15篇有關(guān)CAN的高層協(xié)議J1939的有關(guān)內(nèi)容,今天起我們將連續(xù)分6次推文來(lái)詳細(xì)介紹CAN的高層協(xié)議J1939的基礎(chǔ)和應(yīng)用以及開(kāi)發(fā),應(yīng)該算是比較全面系統(tǒng)的介紹,希望對(duì)大家有幫助,如果對(duì)你有幫助,歡迎關(guān)注嵌入式程序猿公眾號(hào)。今天我們來(lái)看第二部分數(shù)據(jù)鏈路層的上半部分,數(shù)據(jù)鏈路層比較重要,內(nèi)容也比較多,分為上下兩部分來(lái)講。
SAE J1939通信是基于CAN通信的一種高層協(xié)議,廣泛應(yīng)用于商用車(chē),各種卡車(chē),重型建筑車(chē)輛,發(fā)電機(jī)組,農(nóng)業(yè)機(jī)械,森林防火車(chē)輛,以及特種車(chē)輛,現(xiàn)在也被廣泛應(yīng)用移植于工業(yè)控制。現(xiàn)在也廣泛應(yīng)用于新能源。
SAEJ1939 協(xié)議是由汽車(chē)工程協(xié)會(huì)(SAE)定義的,基于傳輸可靠性能優(yōu)越的CAN-bus總線,常用250Kbps,500Kbps的通訊速率。在協(xié)議中,報(bào)文內(nèi)容本身做了精確的定義, SAE J1939協(xié)議由美國(guó)SAE( Society of AutomotiveEngineers)組織維護(hù)和推廣。
今天我們來(lái)看網(wǎng)絡(luò)管理層部分,主要搞懂以下問(wèn)題
如果一個(gè)節(jié)點(diǎn)不能處理其它的會(huì)話通信,就應(yīng)該拒絕其它節(jié)點(diǎn)的建立連接要求
網(wǎng)絡(luò)上的每個(gè)節(jié)點(diǎn)每次可以發(fā)起一個(gè)給定目標(biāo)地址的指定目標(biāo)地址連接傳送。
在一個(gè)指定時(shí)刻,一個(gè)發(fā)送者只能發(fā)送一個(gè)多包 BAM 消息
響應(yīng)者必須能識(shí)別來(lái)自多個(gè)不同發(fā)送者的多包消息,接收時(shí)不能搞混。
一個(gè)節(jié)點(diǎn)必須能夠支持同時(shí)來(lái)自于同一個(gè)源地址的一個(gè) RTS/CTS 會(huì)話和一個(gè) BAM 會(huì)話發(fā)送者和響應(yīng)者分別有自己的傳輸和接收時(shí)間要求。