基于NXP SJA1105 五端口汽车以太网交换机方案

这里要介绍一个车用产品-五端口汽车以太网交换机SJA1105,主要基础架构,如下图;
SJA1105(以太网交换机),负责连接在端口上的设备(IC)资料传送/接收,今天的主角.
HOST MCU(例如: MPC5748 or i.MX),除了控制及设定SJA1105之外,主要是协助处理来自车上的CAN/LIN讯号.
PHY(TJA1101 or TJA1102),负责实体层以太网的资料传送/接收,和RJ45不同,它是2线式接线.
SOC(例如: LS1043 or i.MX),负责处理高速&量大的数据,例如:影像及感测器....

常见方块图

为何要使用五端口的Ethernet(SJA1105) ?
1. 因为各端口的protocol(MII/RMII/RGMII/SGMII)及速度(10/100/1000 Mbit/s)及界面电压不同,需要透过SJA1105即可直接将各端口器件对接.
2. 可减少车辆节点的布线及总线干扰并有效降低SOC/MCU的负担.

(一)SAC能协助提供(申请)开发者需要的参考文件,如下;

1. SJA1105_T_P_Q_R_S基本配置说明 (帮忙使用者软件设定快速上手)
2. SJA1105P_Q_R_S Data Sheet (产品的详细规格书)
3. Software user manual for SJA1105P_Q_R_S (软件位址说明)
4. SJA1105PQRS Application Hints (软/硬件设计时注意事项)
5. PCB Design Guide for SJA1105x and TJA110x (PCB Layout需参照及注意事项)
6. Configuration generation tool (软件编程source code)
7. SJA1105 硬件参考设计图(Schematic file)

(二)SAC会依开发者需求,协助review硬体线路.

(三) SAC同时协助软体编程配置设定,
硬体完成后,需要透过MCU的SPI interface对SJA1105内部暂存器进行设定才能正确动作.
设定步骤&方法如下;

步骤一,
取得“Configuration generation tool”档案解压缩后,内容文件说明如下;

Configuration generation tool内容

步骤二,
以其中最常用的simplePQRS.py为例, 需要先对simplePQRS.py进行最基本的端口配置,
a. 端口速率配置,
根据simplePQRS.py配置端口速率,SJA1105各端口均支持10/100/1000M,根据各端口的实际速率给 speed数组变量赋值, 变量的每一位从左至右依次对应 Port0 ~4 如下图所示,

Speed

b. 端口工作模式,
从上至下依次是 Port 0~4 每个 Port 有配置工作模式MII/ RMII RGMII / SGMII )以及MAC 还是 PHY mode 。开发者可以根据实际电路连接模式和工作方式来进行对应配置。
port mode
c. 完成基本的端口配置后,将simplePQRS.py转换成simplePQRS_SJA1105PR.hex 和“ simplePQRS_SJA1105QS.hex,如下; (如果没有生成hex文件,可能py脚本或python环境中的某些错误未正确安装。 请再仔细检查。)
2 hex

步骤三,

以SJA1105Q为例,将步骤二产生的simplePQRS_SJA1105QS.hex转换成simplePQRS_SJA1105QS.c
编辑converter.py内容最后一行, 如下,

Hex to c

步骤四,
1. 将“Generate Array.py”复制到gateway project的子文件夹“Simple Example”中,并将其复制到MPC5748配置工具的根目录。
Generate Array
2. 运行“Generate Array.py”,然后生成c“
simplePQRS_SJA1105QS_Array file

步骤五,
1. 将“ENET_demo.c”中的数列替换为simplePQRS_SJA1105QS_Array.c中的数列.如下;
simplePQRS_SJA1105QS_Array c

2. 关于时钟和端口的其他配置,根据系统要求进行修改,如下。
configuration about clock port

MPC5748G Gateway Demo位于Gateway project的子文件夹“Simple Example”中。 使用此脚本代替在Gateway Demo上配置SJA1105,以便将其配置到配置工具的根目录.

TJA1101仅需对以下pin设定即可,如下图;
TJA1101 HW config_

关于这些固定的CONFIG pin,建议进行硬件设定,以减少软件配置工作量;
CONFIG 0 – 通过双绞线对接的2个PHY一个设置为Master,一个设置为Slave即可。
CONFIG 1 – 建议设为Managed Operation,这样PHY是完全被MCU 控制的,不会在不需要的情况下自行去建立Link up
CONFIG 3/2 – 若使用的是RMII mode,50MHz REF_CLK是MCU给PHY(01),否则就是PHY 给MCU(10)
PHYAD – 可以随意指定,让软件知道他们硬件配置成什么即可,但不能悬空,否则PHY address不确定。

►场景应用图

►产品实体图

►方案方块图

►核心技术优势

 SJA1105P/Q/R/S是一款支持IEEE音频视频桥接(AVB)和时间敏感网络(TSN)标准的5端口汽车以太网交换机。  五个端口中的每一个都可以单独配置为以10 Mbit/s,100 Mbit/s或1000Mbit/s运行。可实现模块化和成本优化的ECU,能够支持任何车载连接要求。  可以灵活地连接各种PHY设备,例如恩智浦半导体的TJA1101和TJA1102 PHY以及其他商用PHY设备,或用于诊断应用和工业自动化市场的通用10/100/1000BASE-TX PHY。  可用在快速以太网和千兆以太网PHY,高速接口可以轻松级联多个SJA1105P/Q/R/S和SJA1105(T)以实现可扩展性。  它可用于各种汽车场景,如网关应用,车身网区控制或菊花链中的多个ECU互连。  该器件有两种引脚排列:  第一种变化组合(SJA1105P/Q)中,所有五个端口都可以配置为在MII / RMIII / RGMII模式下操作。  第二种变化组合(SJA1105R/S)提供SGMII PHY接口代替一个MII / RMII / RGMII。  该设备还有两种功能变体,该SJA1105Q / S在SJA1105P / R功能之上实现了时间触发以太网和TSN。

►方案规格

1.五端口架构及级联(Cascading)多端口扩充架构. 2.每个端口可单独配置为MII和RMII,RGMII操作,速率为10 Mbit/s或100 Mbit/s和RGMII以10 Mbit/s,100 Mbit/s或1000 Mbit/s运行 3.独立的I/O电压域:MII/RMII/RGMII可选择1.8/2.5/3.3V操作; 可选1.8/2.5/3.3V用于主机接口;1.2V核心电压。 4.本体面积小:LFBGA159(12 mm×12 mm)封装 5.汽车Grade2 环境工作温度:40°C至+ 105°C 6.符合AEC-Q100 Rev-H的汽车产品认证 7.ISO-26262, ASIL-A 界面特性: 1. MII/RMII用于连接10/100Mbit/s PHY/主处理器(快速以太网) 2. RGMII用于连接10/100/1000 Mbit/s PHY/主机处理器(千兆以太网); 3. SGMII用于连接10/100/1000 Mbit/s PHY/主处理器 4. MAC和PHY模式(MII/RMII/RGMII/SGMII)用于直接与其他接口连接或和主处理器(MCU)连接. 5. SPI用于主机处理器设定