RK3588的CAN FD驱动rockchip_canfd.c解析:从DTS配置到数据收发

RK3588 CAN FD驱动深度解析:从硬件架构到高效数据通信实践

1. 理解RK3588的CAN FD控制器架构

RK3588作为Rockchip旗舰级SoC,其集成的CAN FD控制器在工业控制、汽车电子和自动化领域展现出强大竞争力。与传统的CAN 1.0控制器相比,CAN 2.0版本最显著的特征是支持灵活数据速率(Flexible Data-rate),最高可达5Mbps的传输速率,同时保持与经典CAN的兼容性。

硬件核心模块解析

  • 协议引擎:处理CAN帧的组装/解析,支持标准帧(11位ID)和扩展帧(29位ID)
  • 双FIFO结构:独立管理的TX/RX FIFO(深度可配置)
  • 时钟子系统:依赖两个关键时钟源:
    • baudclk:直接影响通信波特率
    • apb_pclk:用于寄存器访问的系统时钟
  • 中断机制:通过GIC_SPI中断线触发,典型事件包括:
    • 接收FIFO非空
    • 发送完成
    • 错误状态报警

在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>, <&cr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值