您的位置:首頁(yè)>市場(chǎng) >

              RK3588-CAN總線(xiàn)

              2023-06-11 02:24:57    來(lái)源:jf_30051736


              (資料圖)

              1. 簡(jiǎn)介

              ArmSoM-W3 RK3588 開(kāi)發(fā)板中已集成AN總線(xiàn):

              專(zhuān)欄總目錄CAN(controller Area Network)CAN BUS:控制器局域網(wǎng)絡(luò)總線(xiàn)目前世界上絕大多數(shù)汽車(chē)制造廠(chǎng)商都采用CAN總線(xiàn)來(lái)實(shí)現(xiàn)汽車(chē)內(nèi)部控制系統(tǒng)之間的數(shù)據(jù)通信。RK3568/RK3588的CAN驅(qū)動(dòng)文件:drivers/net/can/rockchip/rockchip_canfd.c

              2. 內(nèi)核配置

              rockchip_linux_defconfig配置:
              CONFIG_CAN=yCONFIG_CAN_DEV=yCONFIG_CAN_ROCKCHIP=yCONFIG_CANFD_ROCKCHIP=y
              內(nèi)核配置:
              cd kernelmake ARCH=arm64 menuconfigmake savedefconfig
              選擇:Networking support ---> CAN bus subsystem support ( )--->CAN Device Drivers() ---> Platform CAN drivers with Netlink support(*)

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

              3.1 主要參數(shù):

              interrupts = ;

              轉(zhuǎn)換完成,產(chǎn)生中斷信號(hào)

              clock

              時(shí)鐘屬性,用于驅(qū)動(dòng)開(kāi)關(guān)clk,reset屬性,用于每次復(fù)位總線(xiàn)。

              pinctrl

              3.2 公共配置 kernel-5.10/arch/arm64/boot/dts/rockchip/rk3588s.dtsi

              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";    };
              compatible = “rockchip,can-1.0” ,rockchip,can-1.0用來(lái)匹配can控制器驅(qū)動(dòng)。compatible = “rockchip,can-2.0” ,rockchip,can-2.0用來(lái)匹配canfd控制器驅(qū)動(dòng)。assigned-clock-rates用來(lái)配置can的始終頻率,如果CAN的比特率低于等于3M建議修改CAN時(shí)鐘到100M,信號(hào)更穩(wěn)定。高于3M比特率的,時(shí)鐘設(shè)置200M就可以。pinctrl配置:根據(jù)實(shí)際板卡連接情況配置can_h和can_l的iomux作為can功能使用。

              3.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ù)原理圖配置};
              由于系統(tǒng)根據(jù)上述dts節(jié)點(diǎn)創(chuàng)建的CAN設(shè)備只有一個(gè),而第一個(gè)創(chuàng)建的設(shè)備為CAN0

              4. 調(diào)試

              查詢(xún)當(dāng)前?絡(luò)設(shè)備:
              ifconfig -a
              CAN啟動(dòng)
              ip link set can0 down   //關(guān)閉CANip link set can0 type can bitrate 500000   //設(shè)置?特率500KHzip -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

              審核編輯:湯梓紅

              關(guān)鍵詞:

              相關(guān)閱讀

              亚洲精品国产福利片| 亚洲 综合 国产 欧洲 丝袜| 亚洲国产成人精品女人久久久| 亚洲人成网站免费播放| youjizz亚洲| 亚洲资源最新版在线观看| 亚洲欧洲自拍拍偷午夜色| 亚洲视频国产精品| 亚洲综合小说久久另类区| 亚洲福利电影一区二区?| 亚洲激情黄色小说| 亚洲三级中文字幕| 亚洲日本乱码卡2卡3卡新区| 欧洲 亚洲 国产图片综合| 亚洲日韩国产AV无码无码精品| 亚洲日韩亚洲另类激情文学| 亚洲国产精品日韩av不卡在线| 亚洲精品无播放器在线播放| 亚洲国产欧洲综合997久久| 国产成人精品日本亚洲语音 | 久久亚洲日韩看片无码| 久久亚洲私人国产精品| 久久久亚洲裙底偷窥综合| 亚洲女人影院想要爱| 亚洲三级高清免费| 色偷偷噜噜噜亚洲男人| 亚洲国产成人久久一区久久| 亚洲精品一级无码鲁丝片| 亚洲深深色噜噜狠狠爱网站| 亚洲国产精品无码久久久蜜芽| 久久精品亚洲视频| 亚洲成年人电影在线观看| 亚洲夂夂婷婷色拍WW47| 婷婷国产偷v国产偷v亚洲| 久久精品国产亚洲Aⅴ蜜臀色欲| 亚洲精品国产精品乱码在线观看 | 亚洲欧洲免费无码| 亚洲av区一区二区三| 亚洲日韩精品A∨片无码| 亚洲情a成黄在线观看动漫尤物| 亚洲国产午夜精品理论片|