摘要
本篇筆記主要記錄基于恩智浦MPC5744P的SAE J1939協(xié)議棧開(kāi)發(fā),接口設(shè)計(jì),以之前總結(jié)的CAN驅(qū)動(dòng)設(shè)計(jì)為基礎(chǔ)。
準(zhǔn)備工作
準(zhǔn)備一個(gè)CAN驅(qū)動(dòng)可以正常工作的工程。
熟悉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)識(shí)符,支持單幀和多幀收發(fā)通信。本次設(shè)計(jì)主要實(shí)現(xiàn)SAE J1939 數(shù)據(jù)鏈路層和網(wǎng)絡(luò)管理層。
J1939和CAN接口
接口函數(shù)
基于上次做好的CAN驅(qū)動(dòng)提供一個(gè)發(fā)送函數(shù),一個(gè)接收處理函數(shù),作為與J1939協(xié)議棧的接口,來(lái)完成J1939所有功能的實(shí)現(xiàn)和應(yīng)用。

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

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


測(cè)試
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)容請(qǐng)參考SAE 的J1939標(biāo)準(zhǔn)。

編輯:jq
-
CAN
+關(guān)注
關(guān)注
59文章
3093瀏覽量
473370 -
數(shù)據(jù)鏈路層
+關(guān)注
關(guān)注
0文章
63瀏覽量
12437 -
接口函數(shù)
+關(guān)注
關(guān)注
0文章
11瀏覽量
8412
原文標(biāo)題:SAE J1939在恩智浦MPCxxx上實(shí)現(xiàn)
文章出處:【微信號(hào):InterruptISR,微信公眾號(hào):嵌入式程序員】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
2026最新CAN轉(zhuǎn)Modbus網(wǎng)關(guān)評(píng)測(cè):IPCSUN捷宸電子PBC0022如何搞定J1939與私有協(xié)議?
重型車輛J1939通信協(xié)議是什么
恩智浦EasyEVSE開(kāi)發(fā)平臺(tái)榮膺綠色出行獎(jiǎng)
恩智浦亮相RT-Thread 20周年開(kāi)發(fā)者大會(huì)
Profinet?轉(zhuǎn) SAE J1939?網(wǎng)關(guān) 實(shí)現(xiàn)重型車智能控制 西門子 PLC?渣土自卸車改造案例
恩智浦推出全新eIQ Agentic AI框架
Amphenol ER系列SAE J1772充電電纜及插座設(shè)計(jì)解析
STM32已經(jīng)用標(biāo)準(zhǔn)庫(kù)寫好的代碼,怎么導(dǎo)入RT THREAD?
恩智浦MCX E系列5V MCU發(fā)布
大聯(lián)大世平兩款全新開(kāi)發(fā)板上架恩智浦云實(shí)驗(yàn)室
從手寫代碼到AUTOSAR工具鏈:J1939Tp應(yīng)用篇
恩智浦完成對(duì)TTTech Auto的收購(gòu)
盟通方案|如何集成J1939協(xié)議
STM32已經(jīng)用標(biāo)準(zhǔn)庫(kù)寫好的代碼,怎么導(dǎo)入RT THREAD?
米爾誠(chéng)邀您參加2025恩智浦NXP峰會(huì)
基于恩智浦MPC5744P的SAE J1939協(xié)議棧開(kāi)發(fā)
評(píng)論