2. AURIX硬件平台与通信外设

TC3xx是英飞凌AURIX第二代多核安全微控制器家族,其通信外设并非简单挂接在系统总线上的一组独立控制器,而是由时钟、复位、中断、DMA与端口控制共同约束的片上子系统。理解这一层硬件关系,是后续编写CAN-FD驱动与以太网协议栈的前提。本节以TC3xx中典型的CAN模块(MultiCAN+与MCMCAN)和以太网MAC为对象,梳理它们的硬件架构、时钟与引脚配置、内存映射以及中断系统。

一、CAN外设的两种硬件形态

TC3xx内部同时存在两类CAN硬件。较早的MultiCAN+模块以“节点—报文对象”为核心:每个CAN逻辑节点(Node)拥有独立的位定时与收发控制,报文对象(Message Object)统一存放在报文RAM中,通过列表(List)挂接到节点上,接收过滤和发送仲裁都基于报文对象完成。它的特点是报文对象数量多、灵活,但寄存器访问路径较长,适合传统CAN与网关转发场景。

MCMCAN(Modular CAN)则是面向CAN-FD设计的新一代模块,其结构更接近Bosch M_CAN:每个CAN实例包含一个协议控制器、一组Tx Buffer、Rx FIFO/FIFO0/FIFO1以及专用Filter。它原生支持CAN-FD的仲裁段与数据段双波特率、可变数据长度(0~64字节)和位时间对称/非对称配置。在TC3xx中,MCMCAN通常成组出现,多个CAN实例共享一个模块时钟与中断汇聚逻辑,适合高吞吐的CAN-FD通信。

TC3xx CAN 与以太网MAC 硬件架构关系 时钟源 PLL / fSPB CAN 分频器 系统总线 SRI / SPB 中断 / DMA IR 服务请求节点 DMA 通道 端口与引脚 Port 逻辑 / ALT 功能 CANRX / CANTX MultiCAN+ 模块 CAN Node 0 位定时/收发 CAN Node 1 位定时/收发 报文对象 RAM List 挂接 · 接收过滤 · 发送仲裁 传统 CAN · 网关转发 MCMCAN 模块 CAN 实例 0 M_CAN 内核 CAN 实例 1 M_CAN 内核 Tx Buffer · Rx FIFO0/1 · Filter CAN-FD 双波特率 · 0~64 字节 高吞吐 CAN-FD 通信 以太网 MAC 子系统 MAC 内核 DMA 收发描述符 MII / RMII / RGMII PHY 接口 MDIO 管理 时钟 TX_CLK/RX_CLK 外部 PHY 100BASE-T1 / T1S 车载以太网链路 MAC 寄存器组 · 中断汇聚 · 时间戳 与 CAN 共享系统总线、中断与 DMA 资源

二、时钟与引脚配置

CAN模块的时钟来自系统外设总线时钟fSPB,经模块内部分频后得到CAN时钟fCAN。位定时参数(波特率预分频、TSEG1、TSEG2、同步跳转宽度)都以fCAN为基准计算。以CAN-FD为例,若fCAN=80 MHz,仲裁段目标500 kbps、采样点75%,则总时间份额为80 MHz/500 kbps=160个tq,采样点位于第120个tq,可配置为预分频1、TSEG1=119、TSEG2=39、SJW=16;数据段目标2 Mbps时,总时间份额为40个tq,采样点同样取75%,即TSEG1=29、TSEG2=9。这些数值属于示例配置,实际应以模块手册和收发器要求为准。

引脚方面,CAN的CANRX/CANTX并非固定引脚,而是通过端口控制寄存器选择备用功能(ALT)。配置顺序通常是:先设置端口模式为备用输出/输入,再选择ALT编号,最后使能CAN节点的收发。若引脚被其他外设占用或未正确设置ALT,会出现“寄存器配置成功但总线上无波形”的现象。以太网MAC的引脚则涉及MII/RMII/RGMII数据线、TX_CLK/RX_CLK以及MDIO/MDC管理接口,同样需要端口复用与驱动能力配置。

三、内存映射与中断系统

TC3xx采用统一编址,CAN与以太网MAC的寄存器、报文RAM、描述符都映射到特定地址区间。MultiCAN+的报文对象RAM通常位于模块本地RAM区,通过列表基址寄存器定位;MCMCAN的Tx Buffer与Rx FIFO则通过消息RAM地址窗口访问。以太网MAC的DMA描述符一般放在系统RAM中,由MAC的DMA引擎直接读取,因此描述符必须按缓存行对齐,并在发送/接收前后执行缓存一致性操作。

中断系统方面,每个CAN节点或CAN实例的发送完成、接收、错误、总线关闭等事件都连接到中断路由器(IR)的服务请求节点(SRN)。开发者需要为每个SRN分配优先级、选择目标CPU,并在服务提供者(如CPU或DMA)中使能。以太网MAC的收发中断同样通过IR汇聚。实际工程中,常把CAN接收中断优先级设得较高,把发送完成交给DMA或低优先级中断,以避免高负载下丢帧。

配置CAN-FD时,务必先确认fCAN频率与位定时参数匹配,再检查端口ALT功能是否生效。若总线无波形,优先排查引脚复用与收发器供电,而非反复修改波特率寄存器。

四、配置检查要点

检查项典型对象判断依据
时钟fSPB、fCAN、分频器位定时计算值与目标波特率一致
引脚Port ALT、CANRX/CANTX示波器可见差分波形
内存报文RAM、描述符地址地址对齐、缓存一致性处理
中断IR SRN、目标CPU中断可触发且不丢帧