摘要
本篇筆記主要記錄基于恩智浦MPC5744P的SAE J1939協議棧開發,接口設計,以之前總結的CAN驅動設計為基礎。
準備工作
準備一個CAN驅動可以正常工作的工程。
熟悉J1939協議文檔和標準,特別是J1939-21和J1939-81。
CAN
恩智浦的MPC5744P控制器局域網絡CAN,跟我們之前使用的恩智浦Kinetis KV, 等系列的flexCAN結構基本是一樣的,MPC5744P 支持CAN2.0B。CAN 的高層協議,J1939 是基于CAN2.0B的擴展幀,29位標識符,支持單幀和多幀收發通信。本次設計主要實現SAE J1939 數據鏈路層和網絡管理層。
J1939和CAN接口
接口函數
基于上次做好的CAN驅動提供一個發送函數,一個接收處理函數,作為與J1939協議棧的接口,來完成J1939所有功能的實現和應用。
接收接口用于獲取總線上的CAN報文幀,然后交由J1939的處理函數解析。這里發送函數未列出。
數據類型
根據J1939的標準和要求特定義以下數據類型,方便程序的開發和應用
J1939對外接口
J1939對外接口除過初始化,就一個函數,所有功能在這個函數里實現,因為J1939協議棧內部有很多時基,設計的是基于10ms,所以這個函數放在10ms里調用。
測試
SAE J1939協議是CAN的高層協議,是一種廣泛應用于重型車,特種車,農機,以及非路面設備車輛等。
SAE J1939 協議棧 主要參考標準J1939-21 數據鏈路層, J1939-81 網絡管理層 。標準的詳細內容請參考SAE 的J1939標準。
編輯:jq
-
CAN
+關注
關注
57文章
2827瀏覽量
466131 -
數據鏈路層
+關注
關注
0文章
61瀏覽量
12125 -
接口函數
+關注
關注
0文章
11瀏覽量
8271
原文標題:SAE J1939在恩智浦MPCxxx上實現
文章出處:【微信號:InterruptISR,微信公眾號:嵌入式程序員】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
恩智浦S32J以太網交換機 軟件定義汽車 (SDV) 開發必備

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

恩智浦智能家電創新方案一文看盡 恩智浦智能家電技術日給你答案

恩智浦為無線連接SoC開發的統一WiFi驅動程序多芯片多接口驅動(MXM)

恩智浦宣布收購NPU廠商Kinara
恩智浦開啟中國戰略新篇章
恩智浦半導體6.25億美元收購TTTech Auto
使用恩智浦無線FRDM開發板實現創新無線解決方案

恩智浦半導體推出全新S32J系列高性能以太網交換機和網絡控制器
恩智浦半導體推出S32J系列以太網交換機和網絡控制器
恩智浦在杭州召開汽車生態技術峰會,推出全新S32 CoreRide開放平臺
《恩智浦FRDM-MCXN947開發實踐指南》上線啦

評論