RM新时代网站-首页

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

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

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

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

飛凌嵌入式 ? 2024-12-07 14:22 ? 次閱讀

“SPI轉(zhuǎn)CAN-FD”是嵌入式開發(fā)領(lǐng)域的常用方法,它極大地促進(jìn)了不同通信接口之間的無縫連接,并顯著降低了系統(tǒng)設(shè)計(jì)的復(fù)雜性。飛凌嵌入式依托瑞芯微RK3562J處理器打造的OK3562J-C開發(fā)板因?yàn)閮?nèi)置了SPI轉(zhuǎn)CAN-FD驅(qū)動(dòng),從而原生支持這一功能。該開發(fā)板特別設(shè)計(jì)了一組SPI引腳【P8】,專為SPI轉(zhuǎn)CAN-FD應(yīng)用而引出,為用戶提供了極大的便利。

MCP2518FD是一款在各行業(yè)中都有著廣泛應(yīng)用的CAN-FD控制器芯片,本文就將為大家介紹如何在飛凌嵌入式RK3562J開發(fā)板上適配MCP2518FD芯片。

1、適配驅(qū)動(dòng)

RK3562J的內(nèi)核中已經(jīng)具備MCP2518FD的驅(qū)動(dòng)文件,要在配置文件中將驅(qū)動(dòng)配置進(jìn)內(nèi)核,在kernel下打開圖形化配置界面make menuconfig ARCH=arm64

(1) 按下 ‘/’ 鍵進(jìn)入搜索界面,輸入 mcp251 可搜索MCP2518驅(qū)動(dòng):

wKgZO2dT6cGAWDopAAD-7pDMpj435.jpeg

上圖中的CAN_MCP251XFD就是適配MCP2518FD模塊的驅(qū)動(dòng)。

(2) 選擇 2 將其打 * 編譯進(jìn)內(nèi)核:

wKgZPGdT6cGARAJ0AABEGgBWZV056.jpeg

(3)選擇 save 保存配置到defconfig文件,文件路徑:

/home/forlinx/3562/OK3562-linuxsource/kernel/arch/arm64/configs/OK3562_Linux_defconfig

2、適配設(shè)備樹

(1) 飛凌嵌入式RK3562J開發(fā)板已引出一組SPI引腳:

wKgZO2dT6cGAV1iSAACSUJZKFxw73.jpeg

(2) 驅(qū)動(dòng)配置完成后要配置的是設(shè)備樹文件:

OK3562-C-common.dtsi

(3) 具體的配置信息如下:

diff --git a/arch/arm64/boot/dts/rockchip/OK3562-C-common.dtsi b/arch/arm64/boot/dts/rockchip/OK3562-C-common.dtsi index 158f03d70..671a491bf 100644 --- a/arch/arm64/boot/dts/rockchip/OK3562-C-common.dtsi +++ b/arch/arm64/boot/dts/rockchip/OK3562-C-common.dtsi @@ -19,6 +19,12 @@ model = "Forlinx OK3562 Board";

compatible = "forlinx,ok3562","rockchip,rk3562";

+ mcp2518_clk: mcp2518-clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <40000000>; + };

+ forlinx-control { status = "disabled"; disp_type = "mipi"; //mipi or lvds @@ -662,6 +668,13 @@ }; &pinctrl { + + mcp2518 { + mcp2518_irq_pins:mcp2518_irq_pins

{ + rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + touch { gt928_lvds_gpio:gt928-lvds-gpio { rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>, @@ -980,13 +993,24 @@ &spi2 { + pinctrl-names = "default";

+ pinctrl-0 = <&spi2m0_csn0 &spi2m0_csn1 &spi2m0_pins>; status = "okay"; - spi_dev0: spi@0 { +/* spi_dev0: spi@0 { compatible = "rohm,dh2228fv";

2 / 5 pl022,com-mode = <1>; spi-max-frequency = <10000000>; reg = <0>; status = "okay"; + };*/ + spi@0{ + compatible = "microchip,mcp2518fd"; + reg = <0>; + clocks = <&mcp2518_clk>;

+ pinctrl-names = "default"; + pinctrl-0 = <&mcp2518_irq_pins>;

+ spi-max-frequency = <20000000>;

+ interrupts-extended= <&gpio4 RK_PB0 IRQ_TYPE_LEVEL_LOW>;

};

};

mcp2518_clk時(shí)鐘頻率節(jié)點(diǎn),要匹配模塊實(shí)際的晶振頻率;

② 模塊上有的 INT 腳是模塊的中斷腳,在適配時(shí)需要連接一個(gè)可控的GPIO引腳作為終端腳;

③ 在 spi2 節(jié)點(diǎn)下添加匹配MCP2518驅(qū)動(dòng)的設(shè)備樹信息,compatible 信息不能出錯(cuò),這是匹配驅(qū)動(dòng)的重要屬性。

3、編譯燒寫

將以上的驅(qū)動(dòng)和設(shè)備樹配置好后,編譯內(nèi)核燒寫進(jìn)開發(fā)板就可以測(cè)試了:

(1) 在源碼目錄下單獨(dú)編譯kernel:

forlinx@ubuntu:~/3562/OK3562-linux-source$ ./build.sh kernel

在源碼目錄下的kernel目錄下會(huì)生成鏡像文件 boot.img

(2) 將鏡像文件燒錄到開發(fā)板,需要用到工具 RKDevTool ,此工具在OK3562的資料包里可以找到:

① 打開燒寫工具;

② 用Type-C數(shù)據(jù)線連接PC和開發(fā)板底部的Type-C0接口

③ 按住開發(fā)板的Recovery鍵不要松開,重啟開發(fā)板;

④ 注意工具會(huì)識(shí)別到開發(fā)板是否進(jìn)入燒錄狀態(tài)。

wKgZPGdT6cGAU9M5AADfs6YZzWw56.jpeg

⑤ 擇之前編譯好的 boot.img 鏡像文件,在boot選項(xiàng)前面打勾,點(diǎn)擊執(zhí)行進(jìn)行燒寫,燒寫完成會(huì)自動(dòng)重啟開發(fā)板

4、功能測(cè)試

在開發(fā)板內(nèi)搜索can節(jié)點(diǎn),使用 ifconfig -a 命令

wKgZO2dT6cGAPbDNAABowdZbQS451.jpeg

可以看到生成的can0節(jié)點(diǎn)。接下來的功能測(cè)試,我們采用OK3562J-C和OK3568-C兩塊開發(fā)板的can0進(jìn)行數(shù)據(jù)互發(fā)測(cè)試。

(1) OK3562J-C開發(fā)板接收數(shù)據(jù):

① 設(shè)置can0的波特率

ip link set can0 type can bitrate 500000

② 打開can0設(shè)備,并把can0設(shè)置成服務(wù)端接收數(shù)據(jù)

ifconfig can0 up //打開can0設(shè)備

candump can0& //can0設(shè)備設(shè)置成服務(wù)端

wKgZPGdT6cGAXxTaAABGIkgcokE71.jpeg

③ 配置OK3568-C開發(fā)板的can0作為客戶端,發(fā)送信息給OK3562J-C開發(fā)板的can0

ifconfig can0 down

ip link set can0 up type can bitrate 500000

ifconfig can0 up

cansend can0 123#1122334aabbccd //發(fā)送信息

wKgZPGdT6cGAXTVmAABW_17OENY93.jpeg

④ OK3562J-C開發(fā)板會(huì)收到OK3568發(fā)來的消息

wKgZO2dT6cGAWVHXAAA3QBzdChI70.jpeg

(注:上圖中出現(xiàn)的報(bào)錯(cuò)是MCP2518FD驅(qū)動(dòng)的問題,測(cè)試不會(huì)影響通信。)

(2) OK3562J-C開發(fā)板發(fā)送數(shù)據(jù):

① 設(shè)置波特率等操作同上,在配置功能時(shí)要使用 cansend 命令發(fā)送數(shù)據(jù)。

wKgZPGdT6cGAP89_AAA0kS1uEL469.jpeg

② OK3568-C依照OK3562-C的方法配置成接收數(shù)據(jù)的服務(wù)端。

ifconfig can0 down

ip link set can0 up type can bitrate 500000

ifconfig can0 up

candump can0&

wKgZO2dT6cGAaKgRAABbZtAh4R891.jpeg

可以看到,兩塊開發(fā)板可以進(jìn)行正常的數(shù)據(jù)互發(fā)。以上是飛凌嵌入式RK3562J開發(fā)板適配和測(cè)試MCP2518FD模塊的全部過程,希望能夠?qū)Υ蠹业捻?xiàng)目開發(fā)有所幫助。

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

    關(guān)注

    112

    文章

    16332

    瀏覽量

    177800
  • 嵌入式
    +關(guān)注

    關(guān)注

    5082

    文章

    19104

    瀏覽量

    304782
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11292

    瀏覽量

    209318
  • CANFD
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    4938
  • RK3562
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

    50
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    應(yīng)用指南—如何使用DSLogic分析CAN/CAN-FD信號(hào)?

    應(yīng)用指南—如何使用DSLogic分析CAN/CAN-FD 信號(hào)?
    的頭像 發(fā)表于 09-04 14:15 ?1975次閱讀
    應(yīng)用指南—如何使用DSLogic分析<b class='flag-5'>CAN</b>/<b class='flag-5'>CAN-FD</b>信號(hào)?

    MCP2518FD:帶SPI接口的外部CANFD控制器最高8M用戶手冊(cè)/原理圖/參考代碼等資料匯總分享

    控制器 MCP2518FD是一款經(jīng)濟(jì)高效且外形小巧的外部CAN FD控制器,可通過可用的SPI接
    發(fā)表于 08-27 16:02

    一文淺析汽車CAN-FD總線的通信應(yīng)用

    CAN)的功能設(shè)計(jì),并對(duì)網(wǎng)關(guān)做了功能安全冗余設(shè)計(jì),網(wǎng)關(guān)功能安全設(shè)計(jì)內(nèi)容在此不做贅述。2.3 設(shè)計(jì)實(shí)現(xiàn)2.3.1 車型CAN-FD節(jié)點(diǎn)拓?fù)浣Y(jié)構(gòu)設(shè)計(jì)在本車型項(xiàng)目中,CAN-FD 節(jié)點(diǎn)主要有網(wǎng)關(guān)
    發(fā)表于 02-14 14:22

    多核異構(gòu)-雙核高速率CAN-FD評(píng)測(cè)

    產(chǎn)業(yè)的發(fā)展,各種傳感控制器數(shù)量的增多,總線上的數(shù)據(jù)量也激增,這使得CAN2.0總線在傳輸速率和帶寬方面的缺點(diǎn)暴露的更加明顯,于是就誕生了CAN-FD。
    發(fā)表于 02-17 15:37

    是否有任何外部組件可以使ESP32S3與CAN-FD兼容?

    控制器與 ISO11898-1 FD 格式幀不兼容,并將此類幀解釋為錯(cuò)誤。我想知道是否有任何外部組件可以使 ESP32S3 與 CAN-FD 兼容。
    發(fā)表于 03-02 08:35

    Microchip宣布提供業(yè)界第一款外部CAN靈活數(shù)據(jù)速率(CAN FD控制器MCP2517FD

    Microchip日前宣布,開始提供業(yè)界第一款外部CAN靈活數(shù)據(jù)速率(CAN FD控制器。采用MCP2
    的頭像 發(fā)表于 10-19 06:31 ?2w次閱讀

    CAN FD控制器MCP2517FD的主要特性 PCB正面布局

    microchip公司的MCP2517FD是成本效益和小占位尺寸的CAN FD(靈活數(shù)據(jù)速率)控制器,具有和微處理(MCU)接口的SPI接
    發(fā)表于 05-25 01:25 ?1.2w次閱讀
    <b class='flag-5'>CAN</b> <b class='flag-5'>FD</b><b class='flag-5'>控制器</b><b class='flag-5'>MCP2517FD</b>的主要特性 PCB正面布局

    帶SPllnterface的外部CAN FD控制器MCP2517FD的英文數(shù)據(jù)手冊(cè)

    MCP2517FD是一種低成本、占地面積小的FD控制器,可以很容易地添加到具有可用SPI接口的微控制器中。因此,CAN
    發(fā)表于 07-10 08:00 ?34次下載
    帶SPllnterface的<b class='flag-5'>外部</b><b class='flag-5'>CAN</b> <b class='flag-5'>FD</b><b class='flag-5'>控制器</b><b class='flag-5'>MCP2517FD</b>的英文數(shù)據(jù)手冊(cè)

    MCP2517FD CAN FD控制器的詳細(xì)資料和數(shù)據(jù)手冊(cè)免費(fèi)下載

    MCP2517FD是一種成本低廉、占地面積小的CAN FD控制器,可以容易地添加到具有可用SPI接口的微控制器中。因此,可以容易地將
    發(fā)表于 09-21 08:00 ?213次下載
    <b class='flag-5'>MCP2517FD</b> <b class='flag-5'>CAN</b> <b class='flag-5'>FD</b><b class='flag-5'>控制器</b>的詳細(xì)資料和數(shù)據(jù)手冊(cè)免費(fèi)下載

    CAN-FD協(xié)議你了解多少 ?

    CAN-FD協(xié)議你了解多少?
    的頭像 發(fā)表于 03-08 15:40 ?1.7w次閱讀

    can總線一幀多少字節(jié)多少位_MCU擴(kuò)展CAN/CAN FD接口方案MCP2518FD+ATA6563

    “本文介紹MCU通過SPI串口擴(kuò)展CAN/CAN FD接口擴(kuò)展方案,該方案基于MCP2518FD+ATA6563,可快速部署應(yīng)用于實(shí)際項(xiàng)目?!?.C
    發(fā)表于 10-29 11:21 ?18次下載
    <b class='flag-5'>can</b>總線一幀多少字節(jié)多少位_MCU擴(kuò)展<b class='flag-5'>CAN</b>/<b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>接口方案<b class='flag-5'>MCP2518FD</b>+ATA6563

    STM32設(shè)備上的CAN FD

    本文件的目的如下所述: ?概述具有靈活數(shù)據(jù)速率(CAN-FD)協(xié)議的控制器局域網(wǎng)(CAN)。 ?描述CAN-FD相對(duì)于經(jīng)典CAN
    發(fā)表于 08-28 10:34 ?8次下載

    簡(jiǎn)單介紹基于CAN-FD的診斷通信傳輸層

    CAN-FDCAN withFlexible Data-Rate的簡(jiǎn)稱,從名稱可以看出,CAN-FD的數(shù)據(jù)速率是可變的。
    發(fā)表于 11-10 17:46 ?2192次閱讀

    車載CAN-FD的抗擾度評(píng)估技術(shù)

    眾所周知,大量的電子控制單元(ECU)和高速通信局域網(wǎng)(LAN)對(duì)于高級(jí)駕駛輔助系統(tǒng)(ADAS)來說是必要的。原始設(shè)備制造商(OEM)有興趣在車輛上引入具有靈活數(shù)據(jù)速率的控制器區(qū)域網(wǎng)絡(luò)(CAN-FD
    的頭像 發(fā)表于 12-14 16:52 ?1387次閱讀

    MCP2517FD小尺寸CAN FD控制器規(guī)格書

    電子發(fā)燒友網(wǎng)站提供《MCP2517FD小尺寸CAN FD控制器規(guī)格書.pdf》資料免費(fèi)下載
    發(fā)表于 11-20 17:00 ?0次下載
    RM新时代网站-首页