摘要
本篇筆記主要記錄基于恩智浦MPC5744P的SAE J1939協(xié)議棧開發(fā),接口設(shè)計,以之前總結(jié)的CAN驅(qū)動設(shè)計為基礎(chǔ)。
準(zhǔn)備工作
準(zhǔn)備一個CAN驅(qū)動可以正常工作的工程。
熟悉J1939協(xié)議文檔和標(biāo)準(zhǔn),特別是J1939-21和J1939-81。
CAN
恩智浦的MPC5744P控制器局域網(wǎng)絡(luò)CAN,跟我們之前使用的恩智浦Kinetis KV, 等系列的flexCAN結(jié)構(gòu)基本是一樣的,MPC5744P 支持CAN2.0B。CAN 的高層協(xié)議,J1939 是基于CAN2.0B的擴(kuò)展幀,29位標(biāo)識符,支持單幀和多幀收發(fā)通信。本次設(shè)計主要實現(xiàn)SAE J1939 數(shù)據(jù)鏈路層和網(wǎng)絡(luò)管理層。
J1939和CAN接口
接口函數(shù)
基于上次做好的CAN驅(qū)動提供一個發(fā)送函數(shù),一個接收處理函數(shù),作為與J1939協(xié)議棧的接口,來完成J1939所有功能的實現(xiàn)和應(yīng)用。

接收接口用于獲取總線上的CAN報文幀,然后交由J1939的處理函數(shù)解析。這里發(fā)送函數(shù)未列出。
數(shù)據(jù)類型
根據(jù)J1939的標(biāo)準(zhǔn)和要求特定義以下數(shù)據(jù)類型,方便程序的開發(fā)和應(yīng)用

J1939對外接口
J1939對外接口除過初始化,就一個函數(shù),所有功能在這個函數(shù)里實現(xiàn),因為J1939協(xié)議棧內(nèi)部有很多時基,設(shè)計的是基于10ms,所以這個函數(shù)放在10ms里調(diào)用。


測試
SAE J1939協(xié)議是CAN的高層協(xié)議,是一種廣泛應(yīng)用于重型車,特種車,農(nóng)機(jī),以及非路面設(shè)備車輛等。
SAE J1939 協(xié)議棧 主要參考標(biāo)準(zhǔn)J1939-21 數(shù)據(jù)鏈路層, J1939-81 網(wǎng)絡(luò)管理層 。標(biāo)準(zhǔn)的詳細(xì)內(nèi)容請參考SAE 的J1939標(biāo)準(zhǔn)。

編輯:jq
-
CAN
+關(guān)注
關(guān)注
59文章
3066瀏覽量
472739 -
數(shù)據(jù)鏈路層
+關(guān)注
關(guān)注
0文章
63瀏覽量
12409 -
接口函數(shù)
+關(guān)注
關(guān)注
0文章
11瀏覽量
8396
原文標(biāo)題:SAE J1939在恩智浦MPCxxx上實現(xiàn)
文章出處:【微信號:InterruptISR,微信公眾號:嵌入式程序員】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
重型車輛J1939通信協(xié)議是什么
恩智浦EasyEVSE開發(fā)平臺榮膺綠色出行獎
Profinet?轉(zhuǎn) SAE J1939?網(wǎng)關(guān) 實現(xiàn)重型車智能控制 西門子 PLC?渣土自卸車改造案例
Amphenol ER系列SAE J1772充電電纜及插座設(shè)計解析
STM32已經(jīng)用標(biāo)準(zhǔn)庫寫好的代碼,怎么導(dǎo)入RT THREAD?
恩智浦MCX E系列5V MCU發(fā)布
大聯(lián)大世平兩款全新開發(fā)板上架恩智浦云實驗室
從手寫代碼到AUTOSAR工具鏈:J1939Tp應(yīng)用篇
恩智浦完成對TTTech Auto的收購
盟通方案|如何集成J1939協(xié)議
STM32已經(jīng)用標(biāo)準(zhǔn)庫寫好的代碼,怎么導(dǎo)入RT THREAD?
米爾誠邀您參加2025恩智浦NXP峰會
恩智浦S32J以太網(wǎng)交換機(jī) 軟件定義汽車 (SDV) 開發(fā)必備
《恩智浦FRDM-MCXA156開發(fā)實踐指南》上線啦
恩智浦智能家電創(chuàng)新方案一文看盡 恩智浦智能家電技術(shù)日給你答案
基于恩智浦MPC5744P的SAE J1939協(xié)議棧開發(fā)
評論