您好,登錄后才能下訂單哦!
怎樣做好J1939應用層數據定義,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
SAE J1939 跟CANOpen,DeviceNet等一樣都隸屬于CAN的高層協議,J1939廣泛應用于卡車,船舶,農林等設備,也正在拓展至其他的行業,因其屬于CAN高層協議里面比較簡單的一種,所以學習起來難度不是很大,協議內容也不復雜,之前在公眾號多次講過J1939的協議內容,今天來看看如何定義應用層的數據。SAE預留了兩段參數組范圍可以被設備制造商定義。
1
熟悉PGN
PGN即Parameter Group Number是J1939協議中用來標識參數集所定義的,共有24位,占三個字節,是CAN 29位標識符的一部分,其實SAE J1939這種高層協議都是充分利用了CAN的29位標識符,因為對CAN的29位標識符在CAN 2.0中并沒有做具體規定,所以這就給高層協議的制定留下了很大的空間,通過一張表就可以清楚的知道。
2
PGN的構成
PGN主要由保留位,數據頁,PDU格式,和組擴展域,給一組例子看一下
SAE 組織在最新的release文檔中,已經將原來在文檔中定義的許多內容都集成進一個EXCEL表格,方便查詢,來看一下,如果是你自己學習定義,不是在車上使用,想在自己的內網使用而不接入汽車的網絡,那么PGN你可以在規定的范圍內隨便定義,但是如果是在車上使用,就不能隨便定義,不能使用SAE已經定義過的PGN,只能使用65280-65535和130816-131071添加你自己定義的PGN,
3
熟悉PGN在PDU中的位置
PGN是J1939協議數據單元很重要的一部分,了解他們的關系很重要,
協議數據單元PDU由七部分組成,分別是優先級,保留位,數據頁,PDU 格式,特定PDU(可作為目標地址、組擴展或專用),源地址和數據域。PDU 被封裝在一個或多個CAN 數據幀中,通過物理介質傳送到其他網絡設備。每個CAN 數據幀只能有一個PDU。需要指出的是,有些參數組編號定義需要多個CAN 數據幀才能發送其數據 。
4
定義數據
在熟悉以上的內容和定義后,就可以在規定的PGN范圍內定義自己的數據映射,例如我們可以在65284定義逆變器的輸入電壓和電流,因EXCEL表格比較寬,顯示不全,所以將有的類目隱藏了。
大家可以參考SAE 官方release的格式在規定范圍內定義自己的PGN,例如我們添加的三個數據,輸入電壓,2字節,分辨率是0.01V/bit, 有效的數據范圍是0·642.55V, 電流也是兩個字節,分辨率是0.05A/bit,有效數據范圍是0-3212.75A。數據的分辨率和范圍,以及定標,都有標準規定在文檔中,選擇適合你的應用,如下表對數據的范圍,偏移,長度,縮放等都有規定,可以參閱SAE發布的標準。而且每一個SLOT都有名字和類型,根據需要選擇。
另外,如果你是要上市的產品,還需向SAE申請一個制造商編號,制造商編號也是每一個節點名字的一部分。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。