3. RX MCU系统架构与工业通信外设概览

RX系列MCU是Renesas面向工业控制与通信设备的主力产品线,其系统架构围绕“内核—总线—外设”三层展开。理解这三层之间的资源映射关系,是后续配置SCI、RIIC、RSPI、CAN以及EtherCAT从站控制器的前提。本节从RX内核的取指与中断响应机制出发,逐层梳理总线结构、外设资源映射,并给出工业通信外设的选型与配置要点。

RX内核与中断控制器

RX内核采用哈佛架构的变体,指令总线与数据总线分离,主频覆盖几十MHz到240MHz(如RX72N可达240MHz)。内核内部包含通用寄存器组、乘法累加单元(MAC)和浮点运算单元(FPU,部分型号支持)。对工业通信而言,最值得关注的是中断响应路径:外设产生中断请求后,先经中断控制器(ICUb/ICU)进行优先级仲裁,再送入CPU的向量取指逻辑。

RX的中断控制器支持多级优先级(通常16级),每个外设中断源可独立分配优先级和向量号。工业通信中,EtherCAT从站控制器的SYNC0/IRQ信号、CAN接收中断、SCI串口接收中断往往需要不同的响应等级。例如,EtherCAT的分布式时钟同步中断应设为最高优先级,以保证周期抖动控制在微秒级;而SCI的调试串口中断可设为较低优先级。中断向量表位于固定地址区域,通过ICU的IPR寄存器设置优先级,通过IR寄存器记录请求状态。

总线结构与外设资源映射

RX的总线结构采用多层交叉开关(Crossbar)设计,主设备(CPU、DMA、EtherCAT从站控制器等)与从设备(Flash、RAM、外设寄存器)之间通过总线矩阵连接。典型的总线层次包括:

  • CPU总线:连接内核与高速缓存/紧耦合内存,用于取指和数据处理;
  • 系统总线:连接DMA控制器、以太网控制器、USB等高速外设;
  • 外设总线:连接SCI、RIIC、RSPI、CAN等低速通信外设,以及GPIO、定时器等。

外设资源映射的核心是地址空间分配。RX的物理地址空间通常为4GB,其中外设寄存器区位于固定地址段(如0x0008_0000起始的Peripheral区)。每个通信外设都有独立的基地址和寄存器偏移,例如SCI通道0的寄存器基地址为0x0008_9200,RIIC通道0为0x0008_8300。在编写底层驱动时,直接通过基地址加偏移访问寄存器即可完成配置。

工业通信外设的地址映射在硬件手册的“寄存器地址表”中给出,建议在工程中建立统一的头文件,用宏定义封装各外设基地址,避免硬编码地址带来的移植困难。

工业通信外设资源与选型

RX MCU集成的通信外设覆盖了工业现场的主流协议需求,下表列出典型外设及其适用场景:

外设协议/接口典型速率工业应用场景
SCIUART/RS-232/RS-485最高约6.25 Mbps设备调试、Modbus RTU、传感器串口
RIICI²C最高1 Mbps(快速模式+)EEPROM、温度传感器、IO扩展
RSPISPI最高约20 MbpsFlash、ADC、显示模组
CANCAN/CAN FD最高1 Mbps(CAN FD数据段可达5 Mbps)电机驱动、PLC节点互联
EtherCAT从站控制器EtherCAT100 Mbps实时运动控制、分布式IO

以RX72M为例,其内置的EtherCAT从站控制器(ESC)通过内部总线与CPU连接,支持分布式时钟(DC)和过程数据接口(PDI)。ESC的寄存器空间独立映射,CPU通过PDI接口读写过程数据,同时ESC的SYNC信号可触发ICU中断,实现与通信周期的同步。对于CAN通信,RX的CAN模块支持消息缓冲和FIFO模式,在工业现场中常用于多轴伺服驱动器的指令下发。

外设配置的通用流程与示例

无论使用哪种通信外设,配置流程都遵循“时钟使能—引脚复用—寄存器初始化—中断使能—启动通信”的路径。以SCI通道1配置为RS-485半双工通信为例,关键步骤如下:

/* 示例:SCI1初始化,波特率115200,8N1,RS-485半双工 */
/* 1. 使能SCI1模块时钟 */
MSTP(SCI1) = 0;
/* 2. 配置引脚:TXD1/RXD1复用,DE引脚由GPIO控制 */
PORT1.PMR.BIT.B0 = 1;  // TXD1
PORT1.PMR.BIT.B1 = 1;  // RXD1
/* 3. 设置波特率:PCLK=60MHz,BRR=60e6/(32*115200)-1 ≈ 15 */
SCI1.BRR = 15;
/* 4. 设置数据格式:8位数据,无校验,1位停止 */
SCI1.SMR.BIT.CKS = 0;  // PCLK/1
SCI1.SCMR.BIT.SMIF = 0;
SCI1.SEMR.BIT.ABCS = 0;
/* 5. 使能发送/接收 */
SCI1.SCR.BIT.TE = 1;
SCI1.SCR.BIT.RE = 1;
/* 6. 使能接收中断 */
SCI1.SCR.BIT.RIE = 1;
ICU.IPR[SCI1_RXI].BIT.IPR = 8;  // 优先级8

配置完成后,通过读写SCI1.TDR和SCI1.RDR进行数据收发。RS-485的DE引脚需在发送前拉高、发送完成后拉低,通常由GPIO配合发送完成中断实现。实际调试时,可用示波器观察TXD引脚波形,确认波特率误差在允许范围内(通常要求误差小于2%)。

RX MCU 系统架构与通信外设资源映射 RX CPU 内核 取指/译码/执行 MAC / FPU / 寄存器组 最高 240 MHz 中断控制器 ICU 16级优先级仲裁 向量号分配 / IRQ SYNC0 / 通信中断 多层交叉总线矩阵(Crossbar) CPU总线 · 系统总线 · 外设总线 通信外设资源映射区(Peripheral Area) SCI UART/RS-485 最高 6.25 Mbps RIIC I²C 总线 最高 1 Mbps RSPI SPI 总线 最高 20 Mbps CAN CAN / CAN FD 最高 5 Mbps EtherCAT 从站控制器 ESC 100 Mbps / DC 0x0008_9200 0x0008_8300 0x0008_8400 0x0008_9000 0x0008_A000 注:地址为典型示例,具体以对应型号硬件手册为准