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

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

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

ArmSoM Rockchip系列產(chǎn)品 通用教程 之 CAN 使用

jf_30051736 ? 來源:jf_30051736 ? 作者:jf_30051736 ? 2024-02-29 16:52 ? 次閱讀

CAN 使用

1. CAN 簡(jiǎn)介

CAN (controller Area Network):控制器局域網(wǎng)絡(luò)總線,是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò)。

  • 目前世界上絕大多數(shù)汽車制造廠商都采用CAN總線來實(shí)現(xiàn)汽車內(nèi)部控制系統(tǒng)之間的數(shù)據(jù)通信。
  • RK3568/RK3588的CAN驅(qū)動(dòng)文件:drivers/net/can/rockchip/rockchip_canfd.c
  • ArmSoM-Sige7中,CAN集成在40PIN中,可供用戶復(fù)用為CAN相關(guān)引腳。

2. 原理圖

CAN在40PIN中的位置: CAN_TX對(duì)應(yīng)40PIN中的第35編號(hào),CAN_RX對(duì)應(yīng)40PIN中的第12編號(hào)can-sch.png

3. 硬件連接

CAN模塊之間接線:CAN_TX接CAN_TX,CAN_RX接CAN_RX。can-real.png

4. 內(nèi)核配置

  • rockchip_linux_defconfig配置:
CONFIG_CAN=y

CONFIG_CAN_DEV=y

CONFIG_CAN_ROCKCHIP=y

CONFIG_CANFD_ROCKCHIP=y
  • 內(nèi)核配置:
cd kernel

make ARCH=arm64 menuconfig

make savedefconfig
  • 選擇:Networking support ---> CAN bus subsystem support ( )--->CAN Device Drivers( ) ---> Platform CAN drivers with Netlink support(*)
    can-config.png

5. DTS 節(jié)點(diǎn)配置

5.1 主要參數(shù):

  • interrupts = ;
    轉(zhuǎn)換完成,產(chǎn)生中斷信號(hào)。
  • clock
    時(shí)鐘屬性,用于驅(qū)動(dòng)開關(guān)clk,reset屬性,用于每次復(fù)位總線。
  • pinctrl
    配置CAN相關(guān)的引腳信息,功能復(fù)用

5.2 芯片級(jí)公共配置

kernel-5.10/arch/arm64/boot/dts/rockchip/rk3588s.dtsi

can0: can@fea50000 {
	            compatible = "rockchip,can-2.0";
	            reg = < 0x0 0xfea50000 0x0 0x1000 >;
	            interrupts = < GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH >;
	            clocks = < &cru CLK_CAN0 >, < &cru PCLK_CAN0 >;
	            clock-names = "baudclk", "apb_pclk";
	            resets = < &cru SRST_CAN0 >, < &cru SRST_P_CAN0 >;
	            reset-names = "can", "can-apb";
	            pinctrl-names = "default";
	            pinctrl-0 = < &can0m0_pins >;
	            tx-fifo-depth = < 1 >;
	            rx-fifo-depth = < 6 >;
	            status = "disabled";
	    };
	
can1: can@fea60000 {
	            compatible = "rockchip,can-2.0";
	            reg = < 0x0 0xfea60000 0x0 0x1000 >;
	            interrupts = < GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH >;
	            clocks = < &cru CLK_CAN1 >, < &cru PCLK_CAN1 >;
	            clock-names = "baudclk", "apb_pclk";
	            resets = < &cru SRST_CAN1 >, < &cru SRST_P_CAN1 >;
	            reset-names = "can", "can-apb";
	            pinctrl-names = "default";
	            pinctrl-0 = < &can1m0_pins >;
	            tx-fifo-depth = < 1 >;
	            rx-fifo-depth = < 6 >;
	            status = "disabled";
	    };
	
can2: can@fea70000 {
	            compatible = "rockchip,can-2.0";
	            reg = < 0x0 0xfea70000 0x0 0x1000 >;
	            interrupts = < GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH >;
	            clocks = < &cru CLK_CAN2 >, < &cru PCLK_CAN2 >;
	            clock-names = "baudclk", "apb_pclk";
	            resets = < &cru SRST_CAN2 >, < &cru SRST_P_CAN2 >;
	            reset-names = "can", "can-apb";
	            pinctrl-names = "default";
	            pinctrl-0 = < &can2m0_pins >;
	            tx-fifo-depth = < 1 >;
	            rx-fifo-depth = < 6 >;
	            status = "disabled";
	    };
  • compatible = “rockchip,can-1.0” ,rockchip,can-1.0用來匹配can控制器驅(qū)動(dòng)。
  • compatible = “rockchip,can-2.0” ,rockchip,can-2.0用來匹配canfd控制器驅(qū)動(dòng)。
  • assigned-clock-rates用來配置can的始終頻率,如果CAN的比特率低于等于3M建議修改CAN時(shí)鐘到100M,信號(hào)更穩(wěn)定。高于3M比特率的,時(shí)鐘設(shè)置200M就可以。
  • pinctrl配置:根據(jù)實(shí)際板卡連接情況配置can_h和can_l的iomux作為can功能使用。

5.3 板級(jí)配置

kernel-5.10/arch/arm64/boot/dts/rockchip/rk3588-armsom-w3.dts

/* can1 */
&can1 {
		status = "okay";
		assigned-clocks = < &cru CLK_CAN1 >;
		assigned-clock-rates = < 200000000 >;
		pinctrl-names = "default";
		pinctrl-0 = < &can1m1_pins >;      #根據(jù)原理圖進(jìn)行配置
};
  • 由于系統(tǒng)根據(jù)上述dts節(jié)點(diǎn)創(chuàng)建的CAN設(shè)備只有一個(gè),而第一個(gè)創(chuàng)建的設(shè)備為CAN0

6. CAN通信測(cè)試

  • 查詢當(dāng)前?絡(luò)設(shè)備:
ifconfig -a
  • CAN啟動(dòng)
ip link set can0 down   //關(guān)閉CAN

ip link set can0 type can bitrate 500000   #設(shè)置?特率500KHz

ip -details -statistics link show can0    #打印can0信息
	
ip link set can0 up     //啟動(dòng)CAN
  • CAN發(fā)送
cansend can0 123#DEADBEEF            #發(fā)送(標(biāo)準(zhǔn)幀,數(shù)據(jù)幀,ID:123,date:DEADBEEF)

cansend can0 123#R                   #發(fā)送(標(biāo)準(zhǔn)幀,遠(yuǎn)程幀,ID:123)
	
cansend can0 00000123#12345678       #發(fā)送(擴(kuò)展幀,數(shù)據(jù)幀,ID:00000123,date:DEADBEEF)

cansend can0 00000123#R              #發(fā)送(擴(kuò)展幀,遠(yuǎn)程幀,ID:00000123)
  • CAN接收
candump can0       //candump can0

審核編輯 黃宇

聲明:本文內(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)投訴
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2756

    瀏覽量

    463873
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11314

    瀏覽量

    209777
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2890

    瀏覽量

    88155
  • Rockchip
    +關(guān)注

    關(guān)注

    0

    文章

    72

    瀏覽量

    18590
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    HOLTEK發(fā)布全新CAN Bridge IC系列

    近日,Holtek(合泰半導(dǎo)體)針對(duì)CAN Bus應(yīng)用領(lǐng)域,正式推出了全新的CAN Bridge IC系列,包括HT42B216-1、316-1、416-1和536-1等型號(hào)。這一系列產(chǎn)品
    的頭像 發(fā)表于 12-27 14:59 ?207次閱讀

    Banana Pi 攜手 ArmSoM 推出人工智能加速 RK3576 CM5 計(jì)算模塊

    ”系統(tǒng)模塊,根據(jù)你問的對(duì)象,可以稱為 ArmSom-CM5 或 BPI-CM5 Pro——設(shè)計(jì)為由 Rockchip RK3576 驅(qū)動(dòng)的 Raspberry Pi Compute Module 4
    發(fā)表于 12-11 18:38

    Banana Pi攜手ArmSoM推出人工智能加速 RK3576 CM5

    Banana Pi 和 ArmSoM 宣布推出“CM5”系統(tǒng)模塊,根據(jù)你問的對(duì)象,可以稱為 ArmSom-CM5 或 BPI-CM5 Pro——設(shè)計(jì)為由 Rockchip RK3576 驅(qū)動(dòng)
    的頭像 發(fā)表于 12-11 18:36 ?444次閱讀
    Banana Pi攜手<b class='flag-5'>ArmSoM</b>推出人工智能加速 RK3576 CM5

    HOLTEK新推出CAN Bridge IC系列產(chǎn)品

    Holtek針對(duì)CAN Bus應(yīng)用推出CAN Bridge IC系列 HT42B216-1/316-1/416-1/536-1,整合Bosch授權(quán)的CAN模塊,支持
    的頭像 發(fā)表于 12-06 13:52 ?241次閱讀

    Rockchip SoC 賦能 AI 與視覺創(chuàng)新:推動(dòng)智能設(shè)備的未來發(fā)展

    的 SoC,非常適合用于 AI 驅(qū)動(dòng)的邊緣計(jì)算、安全監(jiān)控、機(jī)器人技術(shù)等應(yīng)用領(lǐng)域。 armsom board 本文將探討 Rockchip 在 AI 和視覺領(lǐng)域的 SoC 路線圖發(fā)展,重點(diǎn)介紹 RK3588
    的頭像 發(fā)表于 11-05 18:02 ?410次閱讀
    <b class='flag-5'>Rockchip</b> SoC 賦能 AI 與視覺創(chuàng)新:推動(dòng)智能設(shè)備的未來發(fā)展

    艾為燈語呼吸燈系列產(chǎn)品的應(yīng)用領(lǐng)域

    多色絢爛的光源交相輝映,構(gòu)成了一幅流動(dòng)著光影美的畫卷,極富視覺沖擊力。艾為燈語呼吸燈系列產(chǎn)品,歷經(jīng)發(fā)展,現(xiàn)已廣泛滲透至智能手機(jī)、物聯(lián)網(wǎng)(IoT)、智能家居以及汽車行業(yè)等諸多前沿領(lǐng)域,展現(xiàn)了其在多元化應(yīng)用場(chǎng)景中的創(chuàng)新與適應(yīng)能力。
    的頭像 發(fā)表于 08-27 14:12 ?985次閱讀

    Rockchip RK3588 - ArmSoM-Sige7開發(fā)板介紹

    ArmSoM-Sige7采用Rockchip RK3588新一代旗艦級(jí)八核64位處理器,主頻高達(dá)2.4GHz,6 TOPS算力NPU,最大可配32GB大內(nèi)存。支持8K視頻編解碼,擁有豐富的接口,支持
    的頭像 發(fā)表于 07-14 16:48 ?1401次閱讀
    <b class='flag-5'>Rockchip</b> RK3588 - <b class='flag-5'>ArmSoM</b>-Sige7開發(fā)板介紹

    ArmSoM Rockchip系列產(chǎn)品通用教程之Camera使用

    1. Camera 簡(jiǎn)介 ? ArmSoM系列產(chǎn)品使用的是mipi-csi接口的攝像頭 ArmSoM-Sige7支持雙攝同顯: 2. RK3588硬件通路框圖 ? rk3588支持2個(gè)isp硬件
    的頭像 發(fā)表于 04-10 14:59 ?1797次閱讀
    <b class='flag-5'>ArmSoM</b> <b class='flag-5'>Rockchip</b><b class='flag-5'>系列產(chǎn)品</b><b class='flag-5'>通用</b>教程之Camera使用

    思瑞浦推出3.3V供電、帶故障保護(hù)功能的高速CAN收發(fā)器TPT133X系列產(chǎn)品

    聚焦高性能模擬芯片和嵌入式處理器的半導(dǎo)體供應(yīng)商思瑞浦3PEAK(股票代碼:688536)正式推出3.3V供電、帶故障保護(hù)功能的高速CAN收發(fā)器TPT133X系列產(chǎn)品。
    的頭像 發(fā)表于 03-12 14:01 ?781次閱讀
    思瑞浦推出3.3V供電、帶故障保護(hù)功能的高速<b class='flag-5'>CAN</b>收發(fā)器TPT133X<b class='flag-5'>系列產(chǎn)品</b>

    工業(yè)數(shù)顯壓力測(cè)量系列產(chǎn)品介紹

    電子發(fā)燒友網(wǎng)站提供《工業(yè)數(shù)顯壓力測(cè)量系列產(chǎn)品介紹》資料免費(fèi)下載
    發(fā)表于 03-11 14:04 ?0次下載

    油田泥漿壓力測(cè)量系列產(chǎn)品介紹

    電子發(fā)燒友網(wǎng)站提供《油田泥漿壓力測(cè)量系列產(chǎn)品介紹》資料免費(fèi)下載
    發(fā)表于 03-11 14:01 ?0次下載

    ArmSoM Rockchip系列產(chǎn)品 通用教程 UART 使用

    1. UART 簡(jiǎn)介 ? Rockchip UART (Universal Asynchronous Receiver/Transmitter) 基于16550A串口標(biāo)準(zhǔn),完整模塊支持以下功能
    的頭像 發(fā)表于 03-08 14:39 ?920次閱讀

    ArmSoM Rockchip系列產(chǎn)品 通用教程 Display 使用

    品上需要?持 8K 顯?輸出,VP1 上要注意不要連接其他顯?接口。 1.2 RK3588支持的顯示接口? 2個(gè)DP 2個(gè)HDMI/eDP 共用接口 2個(gè)MIPI DSI BT656/BT1120 2. ArmSoM-W3顯示接口? ArmSoM-W3有著豐富的顯示接口
    的頭像 發(fā)表于 03-06 15:50 ?1573次閱讀
    <b class='flag-5'>ArmSoM</b> <b class='flag-5'>Rockchip</b><b class='flag-5'>系列產(chǎn)品</b> <b class='flag-5'>通用</b>教程 <b class='flag-5'>之</b> Display 使用

    ArmSoM Rockchip系列產(chǎn)品 通用教程 RTC 使用

    1. RTC 簡(jiǎn)介? RTC:(Real_Time Clock):實(shí)時(shí)時(shí)鐘 HYM8563是一種低功耗實(shí)時(shí)時(shí)鐘(RTC)芯片,用于提供精確的時(shí)間和日期信息。它提供一個(gè)可編程的時(shí)鐘輸出,一個(gè)中斷輸出和一個(gè)掉電檢測(cè)器,所有的地址和數(shù)據(jù)都通過I2C總線接口串行傳遞。最大總線速度為 400Kbits/s,每次讀寫數(shù)據(jù)后,內(nèi)嵌的字地址寄存器會(huì)自動(dòng)遞增 以下是HYM8563芯片的主要特點(diǎn)和功能: 時(shí)鐘和日歷功能:HYM8563具有時(shí)鐘和日歷功能,可提供準(zhǔn)確的時(shí)間和日期信息。它支持年、月、日、星期、小時(shí)、
    的頭像 發(fā)表于 03-05 16:57 ?604次閱讀
    <b class='flag-5'>ArmSoM</b> <b class='flag-5'>Rockchip</b><b class='flag-5'>系列產(chǎn)品</b> <b class='flag-5'>通用</b>教程 <b class='flag-5'>之</b> RTC 使用

    拉曼光纖放大器系列產(chǎn)品手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《拉曼光纖放大器系列產(chǎn)品手冊(cè).pptx》資料免費(fèi)下載
    發(fā)表于 01-23 09:42 ?0次下載