精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于恩智浦MPC5744P的CAN驅動開發和測試

嵌入式程序員 ? 來源:嵌入式程序猿 ? 作者:武國平 ? 2021-09-03 11:35 ? 次閱讀

摘要

本篇筆記主要記錄基于恩智浦MPC5744P的CAN驅動開發和測試,接口設計,封裝為BSP驅動,為之后實現CAN的高層通信打下基礎。。

準備工作

安裝S32DS for PA, 因為我們在S32DS下開發MPC5744P。

安裝S32DS 的SDK, 我們使用最新版3.0.3

CAN

恩智浦的MPC5744P控制器局域網絡CAN,跟我們之前使用的恩智浦Kinetis KV, 等系列的flexCAN結構基本是一樣的,MPC5744P不僅僅支持經典CAN,還支持CANFD。

從系統框圖也可以看出,總體包含消息緩沖RAM,發送仲裁,接收匹配,和協議引擎。要正常與其他CAN設備通信,必須外接收發器。關于MPC5744P的 flexCAN模塊的特性可以參考收據手冊,這里不在贅述。有四種工作模式,正常模式,監聽模式,回環模式,和禁止模式。CAN外設的寄存器比較多,需要多參考查閱手冊。

消息緩沖區結構

恩智浦不管是ARM系列還是PA系列架構的片子, flexCAN模塊的消息緩沖機制基本都是一樣的。這個結構非常重要,是CAN消息數據處理的基礎,SDK底層這部分的處理代碼就是按照這個結構。自己實現代碼也必須是按照這個結構去實現。

更多CAN詳細的介紹請參考官方收據手冊。

驅動實現

良好的驅動封裝,可以方便應用開發,并且可以容易移植到其他項目,代碼重用率高,所以數據和接口是你不得不考慮的問題,怎么樣方便的實現,還要通用易用。

數據封裝

首先根據MPC5744P的CAN外設結構,我們來封裝數據結構體,方便后面軟件實現開發,可以新建bsp_can.c和bsp_can.h, 在頭文件中封裝結構體定義。

88563cf6-0be0-11ec-8fb8-12bb97331649.png

在.c文件中定義封裝一些變量,這些變量數組也是通用,在多款產品中都采用,大家也可以參照。

886685a2-0be0-11ec-8fb8-12bb97331649.png

可以實現多個CAN口驅動。如果只有一個CAN口,將CAN_PORTS宏定義為1,幾個就定義為幾。

這個封裝大家可以記著,我在多款器件上都是這么封裝的,之前在NXP的KE06, KEA, KV46, K64等系列,在ST的F103, F446, H743等等CAN通信都采用這種封裝BSP驅動。

初始化

參考官方的例程,根據自己的硬件去實現,做相應修改。我們一般發送接收要采用中斷或者DMA實現,這里以中斷方式實現,根據實際可能還需要添加濾波,配置緩沖等。

888491dc-0be0-11ec-8fb8-12bb97331649.png

中斷回調函數

最主要的就是通信傳輸回調函數的實現,MPC5744P的回調函數參數有事件,所以可以根據事件來判斷是接收還是發送。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2720

    瀏覽量

    463401
  • 通信
    +關注

    關注

    18

    文章

    5977

    瀏覽量

    135871
  • 封裝
    +關注

    關注

    126

    文章

    7794

    瀏覽量

    142741

原文標題:用這種結構做CAN通信數據封裝太爽了

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

收藏 人收藏

    評論

    相關推薦

    使用無線FRDM開發板實現創新無線解決方案

    開發人員現在面臨著前所未有的挑戰,需要為各種產品設計復雜的軟件,通常還要使用不同的處理器。的MCUXpresso Developer Experience通過適用于多種MCU平臺的通用框架解決了許多挑戰。
    的頭像 發表于 11-26 17:40 ?155次閱讀
    使用<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>無線FRDM<b class='flag-5'>開發</b>板實現創新無線解決方案

    發布首個UWB無線BMS解決方案

    汽車市場值得信賴的創新解決方案合作伙伴半導體發布新一代無線電池管理系統(BMS)解決方案,擁有業內最豐富的UWB產品組合之一,方案集成了UWB的強大功能。新一代UWB BM
    的頭像 發表于 11-26 17:36 ?331次閱讀

    基于MCX N系列MCU的應用示例

    全新MCX微控制器系列,為新一代工業與物聯網廣泛的應用賦能,受到廣大邊緣智能開發者的青睞。
    的頭像 發表于 10-25 14:26 ?467次閱讀

    和采埃孚合作開發基于SiC的電動汽車牽引逆變器解決方案

    半導體宣布與電動汽車領域領先企業采埃孚股份公司(ZF Friedrichshafen AG)合作下一代基于SiC的電動汽車(EV)牽引逆變器解決方案。解決方案采用先進的GD
    的頭像 發表于 08-27 09:48 ?1107次閱讀

    【龍芯2K0300蜂鳥板試用】CAN接口驅動板設計、CANFD測試CAN C++程序驅動測試

    繪制接口板 3k0300支持4路CANFD,從原理圖來看,只是把TX和RX放出來了,并沒有差分收發器IC。 為了測試CAN功能,必須先做一個驅動板。 兩路CANFD擠在一個6P
    發表于 08-25 21:09

    舉辦汽車生態技術峰會,并發布全新S32 CoreRide開放平臺

    半導體于杭州舉辦為期兩日的汽車生態技術峰會,并發布全新S32 CoreRide開放平臺。
    的頭像 發表于 05-31 09:23 ?3164次閱讀
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>舉辦汽車生態技術峰會,并發布全新S32 CoreRide開放平臺

    在杭州召開汽車生態技術峰會,推出全新S32 CoreRide開放平臺

    峰會上,正式在中國發布了S32 CoreRide開放平臺,該平臺融合了成熟的S32計算、網絡、系統電源管理技術,以及來自
    的頭像 發表于 05-30 16:59 ?1284次閱讀

    FRDM-MCXN947開發實踐指南》上線啦

    RT-Thread率先支持NXPFRDM-MCXN947,并聯合半導體推出了NXPFRDM-MCXN947開發板評測活動。測評活動順利完成,并且有了不錯的產出,我們將大家的測試
    的頭像 發表于 05-13 18:19 ?514次閱讀
    《<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>FRDM-MCXN947<b class='flag-5'>開發</b>實踐指南》上線啦

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

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

    發布年度企業可持續發展報告

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

    NVIDIA TAO工具套件功能與eIQ機器學習開發環境的集成

    半導體宣布與NVIDIA合作,將NVIDIA經過訓練的人工智能模型通過eIQ機器學習開發環境部署到廣泛的邊緣處理產品組合中。
    的頭像 發表于 03-22 09:11 ?942次閱讀

    RT-Thread成為注冊合作伙伴,共同賦能工業與物聯網應用開發

    前不久,半導體加入RT-Thread全球合作伙伴計劃,成為RT-Thread高級會員合作伙伴。同時,RT-Thread現已成為注冊合作伙伴。
    的頭像 發表于 03-15 09:15 ?837次閱讀

    發布新一代智能語音技術組合的語音識別引擎

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

    與MicroEJ共同開發新平臺加速器

    與MicroEJ共同開發的新平臺加速器,利用具有標準API的軟件容器,為工業和物聯網邊緣應用帶來與智能手機類似的軟件設計靈活性,幫助客戶大幅降低開發成本,縮短產品上市時間。
    的頭像 發表于 01-22 10:16 ?697次閱讀

    首席車載網絡架構師開講:CAN SIC與CAN XL芯片如何賦能未來汽車網絡?

    ,讓車載網絡架構的技術升級之路更通暢,推出了完整的解決方案。其中,用于提升信號質量的CAN SIC芯片,以及能夠將CAN網絡的傳輸速率提升至20Mb的
    的頭像 發表于 12-01 09:15 ?1209次閱讀
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>首席車載網絡架構師開講:<b class='flag-5'>CAN</b> SIC與<b class='flag-5'>CAN</b> XL芯片如何賦能未來汽車網絡?