色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

【玩轉多核異構】雙核高速率CAN-FD評測——飛凌嵌入式

飛凌嵌入式 ? 2023-02-17 11:34 ? 次閱讀

為了能夠讓更多的工程師朋友了解多核異構處理器飛凌嵌入式特別推出了【玩轉多核異構】專題,幫助大家解決在多核異構處理器的開發過程中遇到的問題。【玩轉多核異構】專題持續更新中,歡迎您的持續關注。

引言

憑借實時性、抗干擾性和安全性等優點,CAN2.0在工業及汽車行業得到了廣泛應用,但其最高速率僅為1Mbit/s,每幀最多只能傳輸8字節的有效數據,報文中只有約50%的帶寬用于有效數據傳輸。然而隨著產業的發展,各種傳感器控制器數量的增多,總線上的數據量也激增,這使得CAN2.0總線在傳輸速率和帶寬方面的缺點暴露的更加明顯,于是就誕生了CAN-FD。

CAN-FD在傳輸速率和帶寬方面有了明顯的提升,波特率可高達8Mbit/s,每幀可多達64字節有效數據,傳輸效率可提高至約80%,能夠進一步提高總線的實時性,拓寬總線的數據帶寬,提升總線的傳輸效率。

在飛凌嵌入式OKMX8MP-C開發板上有兩路CAN-FD,小編今天就基于這款開發板以處理器的M核與A核各控制一路CAN-FD互相通信為例,從應用角度講述M核和A核如何控制CAN-FD高速通信。

21d8671f54b8429ead9027e1b9f98bfb~noop.image?_iz=58558&from=article.pc_detail&x-expires=1677205373&x-signature=OtReypJ9%2BnJEL0stxADkVCq5%2F6Q%3DOKMX8MP-C開發板

飛凌嵌入式OKMX8MP-C開發板所搭載的NXP i.MX8M Plus處理器具備強悍的性能,集成4個主頻最高可達1.8GHz(工業級主頻為1.6GHz)Arm Cortex-A53多任務核和1個Cortex-M7實時核,不管是對數據的高速吞吐、處理,還是復雜的人機交互界面處理,都能從容應對。

一、M核CAN-FD

1. CAN-FD初始化

CAN-FD初始化主要包括總線時鐘,管腳和相應寄存器的初始化。具體如下:

(1)CAN總線時鐘:

現將CAN總線倍頻到800MHz,再10分頻到80MHz。

CLOCK_SetRootMux(kCLOCK_RootFlexCan1, kCLOCK_FlexCanRootmuxSysPll1); // 設置CAN1總線時鐘為800MHz CLOCK_SetRootDivider(kCLOCK_RootFlexCan1, 2U, 5U); // 分頻因子為2*5=10,設置CAN1總線時鐘為80MHz

(2)管腳配置:

選擇CAN1的發送管腳為32腳,接收管腳為34腳。

IOMUXC_SetPinMux(IOMUXC_SAI2_TXC_CAN1_RX, 0U); // CAN1 RX IOMUXC_SetPinMux(IOMUXC_SAI2_RXC_CAN1_TX, 0U); // CAN1 TX

(3)CAN波特率:

CAN-FD支持可變速率,即控制區和數據區的波特率可以不一致,控制區最大為1Mbit/s;數據區最大為8Mbit/s。后續程序根據總線時鐘和設置的波特率,分配時段設置的seg1,seg2等數值。

pConfig->bitRate = 1000000U; // CAN-FD控制區波特率為1Mbit/s pConfig->bitRateFD = 8000000U; // CAN-FD數據區波特率為8Mbit/s

(4)CAN-FD使能:

除了使能CAN-FD,可變波特率也需要使能,否則數據區的最大速率和控制區的速率一樣,最大為1Mbit/s。

base->MCR |= CAN_MCR_FDEN_MASK; // CAN-FD使能 fdctrl |= CAN_FDCTRL_FDRATE_MASK; // 可變波特率使能

(5)關閉自回環:

如果開啟了自回環,那么CAN1數據會在芯片內回環,不會到外部管腳,在程序調試時可以排除外部端子的干擾,但真實應用時,需要關閉自回環,從外部管腳收發數據。

pConfig->enableLoopBack = false; // 不回環,使用外部管腳

(6)幀格式:

本次我們使用11位標準數據幀,小伙伴也在后續試試擴展幀。需要設置自己的ID,便于總線上其他設備識別。

mbConfig.format = kFLEXCAN_FrameFormatStandard; // 11位標準幀,非擴展幀 mbConfig.type = kFLEXCAN_FrameTypeData; // 數據幀 非遠程幀 mbConfig.id = FLEXCAN_ID_STD(rxIdentifier); // 幀ID 用于區別總線中不同的設備

(7)接收過濾:

用戶可設置接收過濾規則,這樣就可以只接收特定幀ID的數據,減少應用處理的數據量。

rxIdentifier = 0; FLEXCAN_SetRxMbGlobalMask(EXAMPLE_CAN, FLEXCAN_RX_MB_STD_MASK(rxIdentifier, 0, 0));//接收所有ID數據

2. CAN-FD收發流程

本次測試M核做主站,CAN1先發送一幀包含64字節數據,A核CAN2收到,將64字節數據再次發送,M核CAN1接收。對比發送和接收的64字節數據是否一致。重復100次。

(1)CAN-FD發送數據:

EXAMPLE_CAN表示為CAN1,flexcanHandle為CAN實例,包含了發送接收回調函數,txXfer為要發送的64字節數據。

FLEXCAN_TransferFDSendNonBlocking(EXAMPLE_CAN, &flexcanHandle, &txXfer); // CAN-FD發送數據

(2)CAN-FD接收數據:

EXAMPLE_CAN表示為CAN1,flexcanHandle為CAN實例,包含了發送接收回調函數,rxXfer為接收的64字節數據。

FLEXCAN_TransferFDReceiveNonBlocking(EXAMPLE_CAN, &flexcanHandle, &rxXfer); // CAN-FD接收函數

(3)接收和發送數據對比:

for (j = 0U; j <= DLC; j++) // 對比收發數據,不一致打印 { if(txXfer.framefd->dataWord[j] != rxXfer.framefd->dataWord[j]) { LOG_INFO("Data mismatch !!! j=%d \r\n",j); } }

二、A核CAN-FD

A核設備樹中保留CAN2,內核解析設備樹在 /dev下生成can0。設置波特率后使能can0節點,應用程序中open函數打開接口,write函數發送數據,read函數接收數據。我們把CAN接口的示例已經作為一個跨平臺的綜合演示程序,小伙伴們可以直接加參數調用即可。

1. 分配節點

(1)M核獨享CAN1,A核獨享CAN2,修改設備樹,在設備樹OK8MP-C.dts中,刪除CAN1設備節點,保留CAN2設備節點。編譯新的設備樹;

(2)將生成的OK8MP-C.dtbImage拷貝至開發板的 /run/media/mmcblk2p1/ 目錄下,輸入sync命令同步后重啟開發板;

(3)通過A核串口輸入命令uname -r ,顯示內核版本,將 /lib/modbule目錄下文件夾名稱改為內核版本,這樣才能自動加載模塊生成can0節點,重啟開發板。

5d2ed7af2ef241c49beef4ea049076a8~noop.image?_iz=58558&from=article.pc_detail&x-expires=1677205373&x-signature=SArW66WModoKg%2BRk6p3nwhjN2pE%3D

8360162841014592bab234e939d8dd8f~noop.image?_iz=58558&from=article.pc_detail&x-expires=1677205373&x-signature=FqLPD04wWmvLm9evJbJ4JYJll%2FM%3D

2. 演示Demo

進程名can_demo

使用方法:./can_demo設備名 [參數選項]… …

6fcdcabf67c64fb287ea2f341e4c86c2~noop.image?_iz=58558&from=article.pc_detail&x-expires=1677205373&x-signature=SktElvA9upyInbY9dcQ9Y8SoA9g%3D

本次測試接口為can0(對應開發板CAN2),控制區波特率為1Mbit/s,數據區最大為8Mbit/s,11位標準幀,不過濾幀ID,不主動發數據,不回環。因此命令為:

./can_demo can0-b 1000 -fd 8000。

三、程序驗證

1. 硬件連接

使用杜邦線將CAN1和CAN2的can-H短接,同時將can-L短接,注意不要接反。

4285243ec7dc41e699c1e1702d7d6c5c~noop.image?_iz=58558&from=article.pc_detail&x-expires=1677205373&x-signature=2P7wbWUXTkaG10Uo86fxItMMWb8%3D

2. M核程序

修改uboot環境變量設置M核自啟動,同時將M核程序forlinx_m7_tcm_firmware.bin;

放到/run/media/mmcblk2p1/目錄下。詳細操作可看上篇文章【玩轉多核異構】M核程序的啟動、編寫和仿真——飛凌嵌入式。

3. A核程序

(1)使用串口Xmodem,網絡FTP,SCP,U盤,TF卡等多種方式,將can_demo從電腦拷貝至核心板默認目錄下,輸入以下命令修改權限;

chmod 777 can_demo

(2)輸入以下命令,A核應用程序can_demo將設置波特率后打開can0節點,等待M核發送的數據,再將接收的數據通過CAN2發送給M核。

./can_demo can0 -b 1000 -fd 8000

4. 實際測試

(1)OKMX8MP-C開發板重新上電后,M核程序啟動,完成CAN1初始化后,在M核調試串口輸出信息,等待按鍵;

(2)在A核調試串口輸入以下命令,CAN2將處于接收的狀態:

./can_demo can0 -b 1000 -fd 8000

(3)在M核串口按下鍵A或a,M核CAN1發送64字節數據,A核CAN2接收數據,并將接收的數據再次發送,M核CAN1接收后和發送數據對比,輸出結果。循環100次;

(4)通過測試可以看到,依托i.MX8M Plus強大的性能,雙核都以8Mbit/s的高速率發送大量數據,均沒有出現異常。

以上就是小編為小伙伴帶來的基于飛凌嵌入式OKMX8MP-C開發板雙核控制CAN-FD的使用方法了,是不是感覺性能很強大呢?

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

    關注

    5082

    文章

    19104

    瀏覽量

    304800
  • 通信
    +關注

    關注

    18

    文章

    6024

    瀏覽量

    135950
  • 開發板
    +關注

    關注

    25

    文章

    5032

    瀏覽量

    97371
  • 多核異構
    +關注

    關注

    0

    文章

    18

    瀏覽量

    5439
  • CANFD
    +關注

    關注

    0

    文章

    57

    瀏覽量

    4938
收藏 人收藏

    評論

    相關推薦

    嵌入式受邀亮相瑞薩2024工業技術研討會

    嵌入式作為瑞薩電子的生態合作伙伴,給2024瑞薩電子MCU/MPU工業技術研討會的現場觀眾帶去了基于RZ/G2L高性能多核異構處理器設計
    的頭像 發表于 12-07 14:27 ?305次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>受邀亮相瑞薩2024工業技術研討會

    【RK3562J開發筆記】MCP2518FD外部CAN-FD控制器的調試方法

    MCP2518FD是一款在各行業中都有著廣泛應用的CAN-FD控制器芯片,本文就將為大家介紹如何在嵌入式RK3562J開發板上適配MCP
    的頭像 發表于 12-07 14:22 ?728次閱讀
    【RK3562J開發筆記】MCP2518<b class='flag-5'>FD</b>外部<b class='flag-5'>CAN-FD</b>控制器的調試方法

    嵌入式OK3576-C開發板體驗】開箱報告

    (12Gbps)和擴展PCIe NVMe/SATA SSD固態硬盤,提供高效的數據存儲和讀取能力,滿足工控設備對大容量存儲的需求。 1.3、工業級屬性 穩定性:核心板通過了嵌入式實驗室嚴苛的工業環境測試
    發表于 10-10 09:22

    嵌入式「在線文檔」功能上線 | 開放靈活,盡在掌握

    在忙碌的研發過程中,效率十分關鍵,嵌入式深知“便捷獲取最新資料”的重要性,為此全新上線【在線文檔】功能——進入
    的頭像 發表于 09-13 09:46 ?328次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>「在線文檔」功能上線 | 開放靈活,盡在掌握

    再見深圳!嵌入式技術創新日圓滿落幕

    2024年8月26日下午,嵌入式技術創新日深圳站在深圳威尼斯英迪格酒店盛大舉行,此次活動匯聚了近200位嵌入式技術領域的專家和企業代表,共享嵌入
    的頭像 發表于 08-29 16:35 ?971次閱讀
    再見深圳!<b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>技術創新日圓滿落幕

    嵌入式技術創新日(深圳站)精彩回顧

    2024年8月26日下午,嵌入式技術創新日深圳站在深圳威尼斯英迪格酒店盛大舉行,此次活動匯聚了近200位嵌入式技術領域的專家和企業代表,共享嵌入
    發表于 08-28 09:06

    嵌入式Forlinx pinMux,更好用的MPU引腳復用配置工具

    嵌入式打造了一款專門針對ARM嵌入式MPU引腳復用的軟件工具——Forlinx pinMux
    的頭像 發表于 07-05 10:28 ?1795次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>Forlinx pinMux,更好用的MPU引腳復用配置工具

    劇透!「嵌入式技術創新日」3大亮點搶先看

    6月25日,嵌入式技術創新日(北京站)即將開幕,一場嵌入式前沿科技的高端局就在眼前。
    的頭像 發表于 06-20 17:05 ?864次閱讀
    劇透!「<b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>技術創新日」3大亮點搶先看

    一文解析嵌入式多核異構方案,東勝物聯RK3588多核異構核心板系列一覽

    嵌入式人工智能快速發展,對于高性能計算需求越來越大。為了解決性能與功耗的平衡、通過并行化加速計算等,越來越多地嵌入式處理器使用同構多核異構多核
    的頭像 發表于 06-17 15:45 ?2103次閱讀
    一文解析<b class='flag-5'>嵌入式</b><b class='flag-5'>多核</b><b class='flag-5'>異構</b>方案,東勝物聯RK3588<b class='flag-5'>多核</b><b class='flag-5'>異構</b>核心板系列一覽

    嵌入式「端午節放假通知」

    嵌入式「端午節放假通知」
    的頭像 發表于 06-07 08:02 ?426次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>「端午節放假通知」

    下周見!嵌入式即將亮相2024上海國際嵌入式

    2024上海國際嵌入式展(embeddedworldChina2024),即將于6月12日~14日在上海世博展覽館舉行。屆時,嵌入式將攜多款前沿的
    的頭像 發表于 06-07 08:02 ?631次閱讀
    下周見!<b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>即將亮相2024上海國際<b class='flag-5'>嵌入式</b>展

    嵌入式亮相上海CPSE,展現智能充儲技術新力量

    5月22日~24日,第三屆上海國際充電樁及換電站展覽會(CPSE)在上海汽車會展中心舉行,嵌入式以“聚焦充電樁主控智造·賦能車樁智聯”為主題參展,與來自全國的客戶朋友及行業伙伴一同交流
    的頭像 發表于 05-24 09:01 ?926次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>亮相上海CPSE,展現智能充儲技術新力量

    嵌入式 | CACLP 2024回顧

    嵌入式
    飛凌嵌入式
    發布于 :2024年03月22日 17:05:30

    圓滿收官|嵌入式CACLP 2024精彩回顧

    本屆CACLP,嵌入式展示了多款嵌入式主控產品,這些產品覆蓋了體外診斷、醫學影像、生命體征監測以及新興的5G醫療應用等多個領域,充分體現了
    的頭像 發表于 03-22 10:48 ?438次閱讀
    圓滿收官|<b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>CACLP 2024精彩回顧

    如何使用DSLogic分析CAN/CAN-FD 信號?

    一文檔介紹本文將一步步介紹如何使用DSLogic邏輯分析儀采集并分析CAN/CAN-FD信號,因為CAN信號的測量和CAN-FD的大致一樣,所以下文以
    的頭像 發表于 01-08 14:54 ?1326次閱讀
    如何使用DSLogic分析<b class='flag-5'>CAN</b>/<b class='flag-5'>CAN-FD</b> 信號?
    主站蜘蛛池模板: 最新国产亚洲亚洲精品视频| 学生妹被爆插到高潮无遮挡| 且试天下芒果免费观看 | 动漫美女喷水| 高清无码色大片中文| 国产欧美精品一区二区三区-老狼 国产欧美精品国产国产专区 | 一本色道久久综合亚洲精品| 在线观看视频中文字幕| 6 10young俄罗斯| 成人精品视频| 国产偷国产偷亚洲高清人乐享| 久草网国产自偷拍| 男人吃奶摸下挵进去啪啪| 青青青草免费| 亚洲qingse中文字幕久久| 中文字幕视频在线免费观看| wwwwxxxx欧美| 国产在线观看91精品| 美女被抽插到哭内射视频免费| 日本久久高清视频| 亚洲精品第一页中文字幕| 最近中文字幕2019国语4| 成人国产在线观看| 极品少妇高潮啪啪AV无码| 免费无码又爽又黄又刺激网站| 色多多深夜福利免费观看| 亚洲欧美国产双大乳头| 99re在线播放| 国产毛片视频网站| 蜜芽视频在线观看视频免费播放| 色窝窝777欧美午夜精品影院| 亚洲中文 字幕 国产 综合| 99久久精品国产国产毛片| 国产成人在线播放视频| 久久秋霞理伦片| 少妇伦子伦精品无码| 中文字幕人成人乱码亚洲影视| 国产成人女人视频在线观看| 酒色.com| 性色AV一区二区三区V视界影院| 97人视频国产在线观看|