99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

【玩轉(zhuǎn)多核異構(gòu)】雙核高速率CAN-FD評測——飛凌嵌入式

飛凌嵌入式 ? 2023-02-17 11:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

為了能夠讓更多的工程師朋友了解多核異構(gòu)處理器飛凌嵌入式特別推出了【玩轉(zhuǎn)多核異構(gòu)】專題,幫助大家解決在多核異構(gòu)處理器的開發(fā)過程中遇到的問題?!就孓D(zhuǎn)多核異構(gòu)】專題持續(xù)更新中,歡迎您的持續(xù)關(guān)注。

引言

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

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

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

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

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

一、M核CAN-FD

1. CAN-FD初始化

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

(1)CAN總線時鐘:

現(xiàn)將CAN總線倍頻到800MHz,再10分頻到80MHz。

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

(2)管腳配置:

選擇CAN1的發(fā)送管腳為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支持可變速率,即控制區(qū)和數(shù)據(jù)區(qū)的波特率可以不一致,控制區(qū)最大為1Mbit/s;數(shù)據(jù)區(qū)最大為8Mbit/s。后續(xù)程序根據(jù)總線時鐘和設(shè)置的波特率,分配時段設(shè)置的seg1,seg2等數(shù)值。

pConfig->bitRate = 1000000U; // CAN-FD控制區(qū)波特率為1Mbit/s pConfig->bitRateFD = 8000000U; // CAN-FD數(shù)據(jù)區(qū)波特率為8Mbit/s

(4)CAN-FD使能:

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

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

(5)關(guān)閉自回環(huán):

如果開啟了自回環(huán),那么CAN1數(shù)據(jù)會在芯片內(nèi)回環(huán),不會到外部管腳,在程序調(diào)試時可以排除外部端子的干擾,但真實應(yīng)用時,需要關(guān)閉自回環(huán),從外部管腳收發(fā)數(shù)據(jù)。

pConfig->enableLoopBack = false; // 不回環(huán),使用外部管腳

(6)幀格式:

本次我們使用11位標(biāo)準(zhǔn)數(shù)據(jù)幀,小伙伴也在后續(xù)試試擴(kuò)展幀。需要設(shè)置自己的ID,便于總線上其他設(shè)備識別。

mbConfig.format = kFLEXCAN_FrameFormatStandard; // 11位標(biāo)準(zhǔn)幀,非擴(kuò)展幀 mbConfig.type = kFLEXCAN_FrameTypeData; // 數(shù)據(jù)幀 非遠(yuǎn)程幀 mbConfig.id = FLEXCAN_ID_STD(rxIdentifier); // 幀ID 用于區(qū)別總線中不同的設(shè)備

(7)接收過濾:

用戶可設(shè)置接收過濾規(guī)則,這樣就可以只接收特定幀ID的數(shù)據(jù),減少應(yīng)用處理的數(shù)據(jù)量。

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

2. CAN-FD收發(fā)流程

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

(1)CAN-FD發(fā)送數(shù)據(jù):

EXAMPLE_CAN表示為CAN1,flexcanHandle為CAN實例,包含了發(fā)送接收回調(diào)函數(shù),txXfer為要發(fā)送的64字節(jié)數(shù)據(jù)。

FLEXCAN_TransferFDSendNonBlocking(EXAMPLE_CAN, &flexcanHandle, &txXfer); // CAN-FD發(fā)送數(shù)據(jù)

(2)CAN-FD接收數(shù)據(jù):

EXAMPLE_CAN表示為CAN1,flexcanHandle為CAN實例,包含了發(fā)送接收回調(diào)函數(shù),rxXfer為接收的64字節(jié)數(shù)據(jù)。

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

(3)接收和發(fā)送數(shù)據(jù)對比:

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

二、A核CAN-FD

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

1. 分配節(jié)點

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

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

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

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

進(jìn)程名can_demo

使用方法:./can_demo設(shè)備名 [參數(shù)選項]… …

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

本次測試接口為can0(對應(yīng)開發(fā)板CAN2),控制區(qū)波特率為1Mbit/s,數(shù)據(jù)區(qū)最大為8Mbit/s,11位標(biāo)準(zhǔn)幀,不過濾幀ID,不主動發(fā)數(shù)據(jù),不回環(huán)。因此命令為:

./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環(huán)境變量設(shè)置M核自啟動,同時將M核程序forlinx_m7_tcm_firmware.bin;

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

3. A核程序

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

chmod 777 can_demo

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

./can_demo can0 -b 1000 -fd 8000

4. 實際測試

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

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

./can_demo can0 -b 1000 -fd 8000

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

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

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

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

    關(guān)注

    5147

    文章

    19613

    瀏覽量

    316456
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6196

    瀏覽量

    137631
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5634

    瀏覽量

    103790
  • 多核異構(gòu)
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    5530
  • CANFD
    +關(guān)注

    關(guān)注

    0

    文章

    81

    瀏覽量

    5300
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    3.6Mbps穩(wěn)定帶寬:嵌入式T536核心板8路CAN-FD技術(shù)方案解析

    【基于飛嵌入式T536核心板的8路CAN-FD技術(shù)展示方案】通過多核架構(gòu)優(yōu)化、協(xié)議棧深度調(diào)優(yōu)與并行處理技術(shù),成功破解八路CAN-FD高帶寬
    的頭像 發(fā)表于 06-27 10:00 ?1486次閱讀
    3.6Mbps穩(wěn)定帶寬:<b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>T536核心板8路<b class='flag-5'>CAN-FD</b>技術(shù)方案解析

    嵌入式2025嵌入式及邊緣AI技術(shù)論壇圓滿結(jié)束

    嵌入式「2025嵌入式及邊緣AI技術(shù)論壇」在深圳深鐵皇冠假日酒店盛大舉行,此次活動邀請到了200余位嵌入式技術(shù)領(lǐng)域的技術(shù)專家、企業(yè)代表和
    的頭像 發(fā)表于 04-28 13:57 ?3294次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>2025<b class='flag-5'>嵌入式</b>及邊緣AI技術(shù)論壇圓滿結(jié)束

    如何從傳統(tǒng)的CAN用法中設(shè)置CAN-FD?

    您好 NXP: 我們在 s32k312 平臺中使用了經(jīng)典的 CAN 總線(2.0/固定 8 字節(jié)數(shù)據(jù)),現(xiàn)在我們想升級 CAN-FD 格式。我設(shè)置了 CAN-FD 參數(shù)(經(jīng)典 CAN
    發(fā)表于 04-14 11:32

    嵌入式「2025嵌入式及邊緣AI技術(shù)論壇」議程公布

    4月22日,嵌入式“2025嵌入式及邊緣AI技術(shù)論壇”將在深圳舉行,論壇以“新生態(tài),智未來”為主題,旨在匯聚行業(yè)智慧,探討嵌入式技術(shù)與邊
    的頭像 發(fā)表于 04-02 15:12 ?578次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>「2025<b class='flag-5'>嵌入式</b>及邊緣AI技術(shù)論壇」議程公布

    智能配電新紀(jì)元:基于飛嵌入式T536核心板的DTU解決方案

    異構(gòu)處理器設(shè)計的DTU方案日益成為主流,其中實時與控制的協(xié)同工作,為配電系統(tǒng)的實時監(jiān)控與高效管理提供了有力保障。在此背景下,
    發(fā)表于 03-31 14:26

    嵌入式攜手瑞芯微成為2025年全國大學(xué)生嵌入式大賽命題企業(yè)

    近日,保定嵌入式技術(shù)有限公司(以下簡稱“嵌入式”)攜手瑞芯微電子股份有限公司(以下簡稱“
    的頭像 發(fā)表于 03-19 16:32 ?613次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>攜手瑞芯微成為2025年全國大學(xué)生<b class='flag-5'>嵌入式</b>大賽命題企業(yè)

    智能配電新紀(jì)元:基于飛嵌入式T536核心板的DTU解決方案

    在國網(wǎng)新規(guī)的推動下,采用多核異構(gòu)處理器設(shè)計的DTU方案日益成為主流,其中實時與控制的協(xié)同工作,為配電系統(tǒng)的實時監(jiān)控與高效管理提供了有力保障。在此背景下,
    的頭像 發(fā)表于 03-05 10:34 ?1195次閱讀
    智能配電新紀(jì)元:基于飛<b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>T536核心板的DTU解決方案

    嵌入式榮獲瑞芯微2024年度優(yōu)秀合作獎

    嵌入式榮獲瑞芯微“2024 年度優(yōu)秀合作獎”,這一榮譽(yù)不僅是對嵌入式過去一年與瑞芯微緊密
    的頭像 發(fā)表于 02-21 10:53 ?761次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>榮獲瑞芯微2024年度優(yōu)秀合作獎

    嵌入式2024年度盤點】乘風(fēng)破浪,奮力前行

    2024年即將落下帷幕,回首這一年,嵌入式乘風(fēng)破浪,奮力前行,創(chuàng)造了發(fā)展新篇章,站在2025年的開端,讓我們重溫
    的頭像 發(fā)表于 01-04 13:22 ?765次閱讀
    【<b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>2024年度盤點】乘風(fēng)破浪,奮力前行

    嵌入式受邀亮相瑞薩2024工業(yè)技術(shù)研討會

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

    【RK3562J開發(fā)筆記】MCP2518FD外部CAN-FD控制器的調(diào)試方法

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

    嵌入式OK3576-C開發(fā)板體驗】開箱報告

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

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

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

    嵌入式技術(shù)創(chuàng)新日(深圳站)精彩回顧

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

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

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