S32V Lion Auto PHY 调试

关键字 :Auto PHYsja1105
一、前言

1、针对 S32V234-Lion 开发板 ,由于 SJA1105 交换机配置默认支持 MII 接口,而 S32V234-Lion 开发板使用的则是 RMII 接口,因此需要修改 SJA1105 交换机的配置,主要是 CGU 部分的配置。接口图示如下:

 

2、SJA1105/T/P/Q 内部的配置分成 4 块,功能分别如下:

     CORE:数据交换相关的所有配置,包括端口模式,端口速率,VLAN……等等

     CGU:SJA1105 内部各端口工作时钟相关的配置

     RGU:软件复位

     ACU:和芯片内部 Pad 驱动相关的配置 

     注意:对 SJA1105 进行配置其实就是 Host 通过 SPI 接口对 CORE 和 CGU/ACU 部分进行寄存器写操作,未配置的 SJA1105 无法正常工作。

二、环境要求

     Software Version:BSP18.0

     S32V234-Lion 开发板:WPI 做的一款域控制器开发板


三、操作步骤

1、 编译 sja1105x 源码S32V234-Lion 需要驱动模块 sja1105pqrs.ko ,因此需要下载 sja1105x 源码并手动编译得到


      a)       下载源码
 

      b)       修改 Makefile
 

      c)   编译源码,能正常编译得到 sja1105pqrs.ko 驱动模块即可
 

2、 修改 python 脚本配置,将 MII 接口的配置修改为 RMII

      a)        Path:sja1105x/tools/firmware_generation/SJA1105Q_firmware_sw0_evb.py
 

      b)        Path:sja1105x/tools/firmware_generation/SJA1105Q_firmware_sw1_evb.py
 

3、 修改源码配置 CGU

      a)        添加 sja1105p_write_reg32 函数,以通过 SPI 总线对 SJA1105 交换机进行配置,Path:/sja1105x/ platform_integration/src/ sja1105p_spi_linux.c
 

      b)        添加函数声明,Path:/sja1105x/ platform_integration/src/ sja1105p_spi_linux.h
 

      c)        定义变量,添加 CGU 配置代码段,Path:/sja1105x/sja11105p_init.c
 

CGU 配置代码段添加位置以下release_firmware 函数之后,如下:


CGU 配置代码段如下:






4、重新编译源码,并做如下所示操作

 
 

四、 Auto PHY 通信测试如下

1、简单介绍

     a)   硬件环境搭建

 

           注意:配置为主(master)的端口与配置为从(slave)的端口连接。7、6、5、4、b、a 为各端口的地址,硬件连接时需注意与软件配置一致


     b)   准备两张 SD 启动卡,采用 BSP18.0

     c)   通过两个终端分别登录 LION-1 与 LION-2

2、Auto PHY ping 通调试

     a)  启动 LION-1 、LION-2 ,并检查 sja1105pqrs.ko nxp.ko 正常加载 ,如下图所示

 

     b)  将 LION-1 设置为 master 模式
 
    
     c)  将 LION-2 设置为 slave 模式
 
    
     d)  检查 up 是否成功

LION-1:

 

LION-2:

 
    
     e)  设置 IP 地址

LION-1:

 

LION-2:

 


     f)  尝试互 ping

LION-1:

 

LION-2:

 

总结:到这里可以看到两个板子间通过 Auto PHY 互相能正常 ping 通,因此整个调试过程完成,Auto PHY 能正常工作。

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论