摘要
本篇筆記主要記錄基于恩智浦MPC5744P的SAE J1939協(xié)議棧開發(fā),接口設(shè)計,以之前總結(jié)的CAN驅(qū)動設(shè)計為基礎(chǔ)。
準備工作
準備一個CAN驅(qū)動可以正常工作的工程。
熟悉J1939協(xié)議文檔和標準,特別是J1939-21和J1939-81。
CAN
恩智浦的MPC5744P控制器局域網(wǎng)絡(luò)CAN,跟我們之前使用的恩智浦Kinetis KV, 等系列的flexCAN結(jié)構(gòu)基本是一樣的,MPC5744P 支持CAN2.0B。CAN 的高層協(xié)議,J1939 是基于CAN2.0B的擴展幀,29位標識符,支持單幀和多幀收發(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的標準和要求特定義以下數(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)機,以及非路面設(shè)備車輛等。
SAE J1939 協(xié)議棧 主要參考標準J1939-21 數(shù)據(jù)鏈路層, J1939-81 網(wǎng)絡(luò)管理層 。標準的詳細內(nèi)容請參考SAE 的J1939標準。
編輯:jq
-
CAN
+關(guān)注
關(guān)注
57文章
2918瀏覽量
467668 -
數(shù)據(jù)鏈路層
+關(guān)注
關(guān)注
0文章
61瀏覽量
12193 -
接口函數(shù)
+關(guān)注
關(guān)注
0文章
11瀏覽量
8309
原文標題:SAE J1939在恩智浦MPCxxx上實現(xiàn)
文章出處:【微信號:InterruptISR,微信公眾號:嵌入式程序員】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
從手寫代碼到AUTOSAR工具鏈:J1939Tp應(yīng)用篇

恩智浦完成對TTTech Auto的收購
盟通方案|如何集成J1939協(xié)議

STM32已經(jīng)用標準庫寫好的代碼,怎么導(dǎo)入RT THREAD?
恩智浦S32J以太網(wǎng)交換機 軟件定義汽車 (SDV) 開發(fā)必備

《恩智浦FRDM-MCXA156開發(fā)實踐指南》上線啦

恩智浦智能家電創(chuàng)新方案一文看盡 恩智浦智能家電技術(shù)日給你答案

恩智浦為無線連接SoC開發(fā)的統(tǒng)一WiFi驅(qū)動程序多芯片多接口驅(qū)動(MXM)

恩智浦宣布收購NPU廠商Kinara
深入解析J1939-73:車輛診斷通信的標準與應(yīng)用

使用恩智浦無線FRDM開發(fā)板實現(xiàn)創(chuàng)新無線解決方案

評論