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


1754

被折叠的 条评论
为什么被折叠?



