吴忠躺衫网络科技有限公司

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

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

3天內不再提示

CANFD總線異構通訊簡單實例

STM32單片機 ? 來源:STM32單片機 ? 作者:STM32單片機 ? 2021-01-15 15:22 ? 次閱讀

本例程主要講解 CANFD 總線異構通訊簡單實例。把 CANFD 分配給 M4 核,然后另外一塊開發板發送,M4 接收 CANFD 數據并通過異構通訊方式發送給 A7 在終端回顯。

1.硬件資源

USB-TTL Debug 線兩根

兩塊開發板

開發板配件

2.軟件資源

Linux 5.4.31

STM32CubeIDE 1.3.0

STM32CubeMX5.6.0

3.環境準備

預先安裝好 CubeIDE,CubeMX 等開發軟件。

4.操作步驟

4.1.A7 核操作

由于 CAN 可以被 A7 和 m4 同時使用,現在是要分配給 m4,所以在 A7 端通過設備樹把 CAN 分配給 m4。操作步驟如下:

1) 配置設備樹

進入內核源碼目錄 stm32mp15xc-kernel5.4/arch/arm/boot/dts,vim 打開stm32mp15xx-ya157c.dtsi 設備樹文件,把 can1 分配給 m4,并屏蔽掉 A7 端的 can1。

f2cc925c-56e0-11eb-8b86-12bb97331649.png

接著配置資源管理器,分配異構通訊的 SRAM

f3694700-56e0-11eb-8b86-12bb97331649.png

2) 編譯并更新設備樹

配置完成之后編譯并拷貝對應設備樹到 bootfs 分區。

f3bc6296-56e0-11eb-8b86-12bb97331649.png

另官方已經默認配置了 RPMSG_TTY 驅動。

4.2.M4 核操作

創建一個 STM32 工程,在 STM32CubeMX 里,依次配置 CANFD 用于發送報文、以及配置 IPCC 和 OPENAMP 用于通信

f40886a8-56e0-11eb-8b86-12bb97331649.png

圖 4-1.配置 IPCC

f4608bf0-56e0-11eb-8b86-12bb97331649.png

圖 4-2.配置 openamp

f4f8b86c-56e0-11eb-8b86-12bb97331649.png

圖 4-3.CANFD 配置

注意配置 IPCC 時,需要在 NVIC Settings 選項卡里,將 IPCC RX1 occupiedinterrupt 和 IPCC TX1 free interrupt 的使能勾選上,不然后面的 OPENAMP 的 Activated始終為灰色,無法激活。這里計劃創建兩個 RPMsg tty 通道,一個用來傳輸 canfd 報文,一個用來統計 canfd報文的數量。

初始化兩個 RPMsg tty 虛擬串口 。

f596d5ec-56e0-11eb-8b86-12bb97331649.png

注冊回調函數以按通道接收消息 。

f5f8b7e4-56e0-11eb-8b86-12bb97331649.png

設置 canfd 接收濾波器和發送數據 buf,并注冊回調函數和 canfd 接收中斷。

f63e3cec-56e0-11eb-8b86-12bb97331649.png

f68bc34a-56e0-11eb-8b86-12bb97331649.png

f6f6f5ca-56e0-11eb-8b86-12bb97331649.png

f74d722e-56e0-11eb-8b86-12bb97331649.png

主函數輪詢 RPMsg 消息 OPENAMP_check_for_message() 查詢 MailBox 狀態 ,主函數并根據運行時間向外發送報文同時不停的查詢接收報文。

f78b60b6-56e0-11eb-8b86-12bb97331649.png

f7e7f48e-56e0-11eb-8b86-12bb97331649.png

f858cbd2-56e0-11eb-8b86-12bb97331649.png

當 M4 核接收到 canfd 報文的時候,存入 buf,主函數檢測到有 buf 數據,就會調用虛擬串口發送給 A7 端。

f8914ebc-56e0-11eb-8b86-12bb97331649.png

f8de6a76-56e0-11eb-8b86-12bb97331649.png

4.3.測試步驟

J12 的 CANH、CANL 引腳和同類型的板子 CANH、CANL 相連,把編譯生成的 M4 固件拷貝到 A7,并啟動固件.....

原文標題:應用開發筆記|MYD-YA157-V2開發板CAN BUS 總線通信實例

文章出處:【微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

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

    關注

    57

    文章

    2770

    瀏覽量

    464398
  • 通信
    +關注

    關注

    18

    文章

    6072

    瀏覽量

    136433
  • bus
    bus
    +關注

    關注

    0

    文章

    121

    瀏覽量

    47707

原文標題:應用開發筆記|MYD-YA157-V2開發板CAN BUS 總線通信實例

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    I2C總線應用實例分析

    在現代電子系統中,I2C總線因其簡單、靈活和高效的特點而被廣泛應用于各種設備之間的通信。 I2C總線概述 I2C總線由Philips(現為NXP)在1980年代初期開發,最初用于音頻和
    的頭像 發表于 01-17 15:09 ?195次閱讀

    CAN/CANFD?總線干擾儀TESTBASE-BDI

    總線干擾儀是CAN/CANFD總線一致性測試中必不可少的重要設備,用于實現采樣點以及故障注入等測試項配合桌面式車載網絡自動化測試系統TESTBASE-DESKNAT以及基于VBA的CAN/CA
    的頭像 發表于 12-26 11:24 ?706次閱讀
    CAN/<b class='flag-5'>CANFD</b>?<b class='flag-5'>總線</b>干擾儀TESTBASE-BDI

    rk3588 canfd發送部分數據失敗的問題

    在使用rk3588的板子進行canfd通信時,有些數據發送必然失敗: 1,cansend can0 200##065.68.00.00.96.00.00.01 必然成功 2,cansend can0
    發表于 12-18 10:53

    CAN/CANFD卡接口函數使用說明

    電子發燒友網站提供《CAN/CANFD卡接口函數使用說明.pdf》資料免費下載
    發表于 10-15 17:35 ?0次下載

    控制模塊通訊總線關閉怎么修

    控制模塊通訊總線關閉是一個涉及多個可能原因和復雜修復步驟的問題。 一、問題概述 控制模塊通訊總線關閉通常指的是車輛或其他系統中的控制模塊之間的通信鏈路出現問題,導致信息無法正常傳遞。這
    的頭像 發表于 08-29 15:44 ?1230次閱讀

    MD9360四路CANFD應用實例

    隨著通信技術的進步和總線技術的廣泛應用,對總線帶寬和傳輸速率提出了更高的要求。MD9360-T核心板提供四路CANFD,讓你的數據傳輸更快速、更可靠。MD9360-EV-Board評估板(如圖1所示
    的頭像 發表于 08-08 08:25 ?474次閱讀
    MD9360四路<b class='flag-5'>CANFD</b>應用<b class='flag-5'>實例</b>

    CANFD_TopFIFO無法正常工作的原因?

    我閃爍了 CANFD_TopFIFO 示例代碼,但沒有得到預期的輸出。 在 FIFO 模式下測試 CAN Rx 時,即使接收多個報文,FIFO 編號也始終顯示為 0。 雖然我能正確接收
    發表于 07-03 08:06

    RA MCU CANFD在FSP中的配置詳解

    RA MCU CANFD在FSP中的配置詳解
    的頭像 發表于 06-19 08:06 ?620次閱讀
    RA MCU <b class='flag-5'>CANFD</b>在FSP中的配置詳解

    詳解TSMaster CAN 與 CANFD 的 CRC E2E 校驗方法

    面對切換工具鏈的用戶來說,在TSMaster上完成總線通訊中的CRC/E2E校驗處理不是特別熟悉,該文章可以協助客戶快速使用TSMaster完成CAN/CANFD總線
    的頭像 發表于 05-25 08:21 ?2667次閱讀
    詳解TSMaster CAN 與 <b class='flag-5'>CANFD</b> 的 CRC E2E 校驗方法

    CYT2B75 SK Rev03無法正常發送CANFD數據,為什么?

    (T2G_Sample_Driver_Library_8.0.0tviibe1msrcexamplescanfdUseAsCANFDMode),代碼未經過任何修改,測試CANFD功能,初始化完成,debug,首次調用 Cy_CANFD_UpdateAndTransmitM
    發表于 05-24 07:37

    一幀CANFD報文由多少個位組成?

    要想知道CANFD報文由多少個位組成,那么我們就要了解CANFD幀結構,知道每個段占用位數從而得出CANFD報文位數。
    的頭像 發表于 04-27 06:08 ?4829次閱讀
    一幀<b class='flag-5'>CANFD</b>報文由多少個位組成?

    canfd協議是什么?canfd協議的應用場景

    CAN FD(CAN with Flexible Data rate)協議是一種串行通訊協議,繼承了CAN總線的主要特性,如雙線串行通訊、非破壞性仲裁技術、分布式實時控制,以及可靠的錯誤處理和檢測
    的頭像 發表于 04-17 14:55 ?2390次閱讀

    想將CANFD配置為8MBPS波特率,TESTBOARD_150PC_OUT如何配置嗎?

    我想將 CANFD 配置為 8MBPS 波特率,您可以幫我看看TESTBOARD_150PC_OUT如何配置嗎? 我配置了 2mbps 的波特率,工作正常,但無法配置 8mbps 的波特率,獨木舟和控制器之間存在同步問題,我收到 Canfd Tx 錯誤。
    發表于 03-04 06:31

    CAN和CANFD協議簡介(下)

    CAN和CANFD協議簡介(下)
    的頭像 發表于 02-19 12:08 ?1272次閱讀
    CAN和<b class='flag-5'>CANFD</b>協議簡介(下)
    百家乐官网黑牌靴| 百家乐博彩网排名| 新世百家乐官网的玩法技巧和规则 | 百家乐官网如何制| 巴比伦百家乐官网的玩法技巧和规则| 百家乐官网破解辅助| 百家乐官网赢钱海立方| 澳门百家乐官网大家乐眼| 网上百家乐官网是现场吗| 最佳场百家乐官网的玩法技巧和规则| 百家乐官网平玩法几副牌| 闲和庄百家乐官网娱乐| 怎么看百家乐官网路单| 百家乐官网全部规则| 百家乐2号技术打法| 太阳城百家乐的破解| 线上百家乐平台| 神人百家乐赌博| 百家乐大轮转| 菲律宾太阳城88| 太阳城申博娱乐城| 德州扑克规则视频| 扎鲁特旗| 真人百家乐官网攻略| 百家乐官网技术辅助软件| 现金百家乐官网赌法| 巴西百家乐官网的玩法技巧和规则 | 百家乐庄闲统计数| 大发888登录| 巴楚县| 专业的百家乐官网玩家| 百家乐筹码防伪定制| 太阳城公司| 浩博百家乐官网娱乐城| 希尔顿百家乐官网娱乐城 | 博彩网大全| 正镶白旗| 什么叫百家乐官网的玩法技巧和规则 | 日博网| 澳门百家乐官网会出老千吗| 百家乐视频看不到|