0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于恩智浦MPC5744P的SAE J1939協(xié)議棧開發(fā)

嵌入式程序員 ? 來源:嵌入式程序猿 ? 作者:嵌入式程序猿 ? 2021-09-24 16:15 ? 次閱讀

摘要

本篇筆記主要記錄基于恩智浦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的擴展幀,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)用。

9e8ce072-14ca-11ec-8fb8-12bb97331649.png

接收接口用于獲取總線上的CAN報文幀,然后交由J1939的處理函數(shù)解析。這里發(fā)送函數(shù)未列出。

數(shù)據(jù)類型

根據(jù)J1939的標(biāo)準(zhǔn)和要求特定義以下數(shù)據(jù)類型,方便程序的開發(fā)和應(yīng)用

9ecbb4aa-14ca-11ec-8fb8-12bb97331649.png

J1939對外接口

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

9ed59c86-14ca-11ec-8fb8-12bb97331649.png

9eeb29b6-14ca-11ec-8fb8-12bb97331649.png

測試

SAE J1939協(xié)議是CAN的高層協(xié)議,是一種廣泛應(yīng)用于重型車,特種車,農(nóng)機,以及非路面設(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)。

9f3e3d22-14ca-11ec-8fb8-12bb97331649.png

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2686

    瀏覽量

    462910
  • 數(shù)據(jù)鏈路層

    關(guān)注

    0

    文章

    52

    瀏覽量

    11977
  • 接口函數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    8181

原文標(biāo)題:SAE J1939在恩智浦MPCxxx上實現(xiàn)

文章出處:【微信號:InterruptISR,微信公眾號:嵌入式程序員】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    在杭州召開汽車生態(tài)技術(shù)峰會,推出全新S32 CoreRide開放平臺

    峰會上,正式在中國發(fā)布了S32 CoreRide開放平臺,該平臺融合了成熟的S32計算、網(wǎng)絡(luò)、系統(tǒng)電源管理技術(shù),以及來自
    的頭像 發(fā)表于 05-30 16:59 ?1183次閱讀

    FRDM-MCXN947開發(fā)實踐指南》上線啦

    RT-Thread率先支持NXPFRDM-MCXN947,并聯(lián)合半導(dǎo)體推出了NXPFRDM-MCXN947開發(fā)板評測活動。測評活動順利完成,并且有了不錯的產(chǎn)出,我們將大家的測試文檔及代碼整理后
    的頭像 發(fā)表于 05-13 18:19 ?433次閱讀
    《<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>FRDM-MCXN947<b class='flag-5'>開發(fā)</b>實踐指南》上線啦

    發(fā)布S32 CoreRide開放平臺,旨在突破SDV開發(fā)的集成障礙

    近日,(NXP)近日發(fā)布了其S32 CoreRide開放平臺,這一創(chuàng)新性的平臺旨在突破軟件定義汽車(SDV)開發(fā)的集成障礙,為汽車行業(yè)帶來前所未有的變革。
    的頭像 發(fā)表于 03-29 11:18 ?11.1w次閱讀

    發(fā)布年度企業(yè)可持續(xù)發(fā)展報告

    ESG目標(biāo)方面的年度進(jìn)展。 總裁兼首席執(zhí)行官Kurt Sievers表示:“作為一家全球性科技公司,我們擁有得天獨厚的機遇去引領(lǐng)和開發(fā)創(chuàng)新解決方案,助力塑造更加可持續(xù)的未來。在所有團(tuán)隊成員、合作伙伴和客戶的幫助與持續(xù)奉獻(xiàn)下
    的頭像 發(fā)表于 03-29 09:36 ?849次閱讀

    NVIDIA TAO工具套件功能與eIQ機器學(xué)習(xí)開發(fā)環(huán)境的集成

    半導(dǎo)體宣布與NVIDIA合作,將NVIDIA經(jīng)過訓(xùn)練的人工智能模型通過eIQ機器學(xué)習(xí)開發(fā)環(huán)境部署到廣泛的邊緣處理產(chǎn)品組合中。
    的頭像 發(fā)表于 03-22 09:11 ?892次閱讀

    STM32WB55RG是否可以使用j-flash通過j-link燒錄協(xié)議和FUS bin文件?

    硬件基于STM32WB55RG是否可以使用j-flash通過j-link燒錄協(xié)議和FUS bin文件?
    發(fā)表于 03-12 07:14

    Real-time Edge v2.7正式發(fā)布!

    Real-time Edge軟件是提供的針對工業(yè)和物聯(lián)網(wǎng)應(yīng)用的一套軟件集,面對工業(yè)和物聯(lián)網(wǎng)垂直領(lǐng)域的具體需求,提供了針對性的實時系統(tǒng), 工業(yè)實時網(wǎng)絡(luò)和豐富的工業(yè)協(xié)議支持。
    的頭像 發(fā)表于 01-26 09:19 ?538次閱讀
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>Real-time Edge v2.7正式發(fā)布!

    發(fā)布新一代智能語音技術(shù)組合的語音識別引擎

    發(fā)布新一代智能語音技術(shù)組合的語音識別引擎。本文將探討開發(fā)人員在嵌入式語音控制設(shè)計中面臨的挑戰(zhàn)、新的Speech to Inten
    的頭像 發(fā)表于 01-26 09:15 ?674次閱讀
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>發(fā)布新一代智能語音技術(shù)組合的語音識別引擎

    求助,為什么在CAN數(shù)據(jù)庫(.dbc文本文件)中找不到報文?

    我有CAN數(shù)據(jù)庫(dbc文件)。這是一個文本文件。此文件的擴展名為 dbc。在Vector CANdb++編輯器中打開它時,將填充J1939報文和CAN ID。 但是,在.dbc文本文件中找不到
    發(fā)表于 01-23 06:28

    SAE J1939網(wǎng)絡(luò)層與應(yīng)用層#J1939 #汽車總線

    汽車總線網(wǎng)絡(luò)層
    北匯信息POLELINK
    發(fā)布于 :2023年11月27日 11:23:33

    SAE J1939數(shù)據(jù)鏈路層#J1939 #汽車總線

    數(shù)據(jù)汽車總線
    北匯信息POLELINK
    發(fā)布于 :2023年11月21日 15:54:14

    SAE J1939協(xié)議解讀--什么是J1939?#汽車總線 #J1939

    汽車總線
    北匯信息POLELINK
    發(fā)布于 :2023年11月15日 18:16:32

    SAE J1939協(xié)議解讀

    在乘用車領(lǐng)域比較熟知的是CAN(FD)、LIN、FlexRay、Ethernet等通信協(xié)議,但對于J1939往往所知甚少。其實在CAN總線協(xié)議誕生之初,J1939
    的頭像 發(fā)表于 11-09 08:25 ?1874次閱讀
    <b class='flag-5'>SAE</b> <b class='flag-5'>J1939</b><b class='flag-5'>協(xié)議</b>解讀

    汽車UDS協(xié)議與XCP協(xié)議

    UDS協(xié)議 汽車UDS協(xié)議是一種用于汽車電子控制單元(ECU)之間進(jìn)行診斷和通信的標(biāo)準(zhǔn)協(xié)議。UDS(Unified Diagnostic
    的頭像 發(fā)表于 10-27 16:35 ?3783次閱讀
    汽車UDS<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>與XCP<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>

    CAN協(xié)議與LIN協(xié)議介紹

    CAN協(xié)議 汽車CAN協(xié)議是一種軟件組件,用于實現(xiàn)汽車電子系統(tǒng)中的CAN總線通信功能。它包含了一系列的功能軟件,用于處理CAN總線的物理層和數(shù)據(jù)鏈路層的通信
    的頭像 發(fā)表于 10-27 16:16 ?2753次閱讀
    CAN<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>與LIN<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>介紹