在linux上调试tja1103 以太网phy
1.移植phytool
由于在linux板子上没有phytool这个工具,先移植
1.1 下载代码
git clone https://github.com/wkz/phytool.git
1.2 设置环境变量
export CROSS_COMPILE=aarch64-none-linux-gnu-
export CC=${CROSS_COMPILE}gcc
1.3 编译
make

生成的产物就是phytool,然后用scp命令将其copy到板子tmp目录下
scp ./phytool/phytool root@192.168.1.202:/tmp/
2.验证phytool移植的对不对
怎么验证呢?可以读一下phy的id寄存器8002h,8003h,看是否是和datasheet上的值是一样的
![]()
下图中的eth0 是ifconfig里面的interface
26是因为目前我们phyad被硬件配置了0x1a = 26
1指MMD1。由于8000h-83ffh是被MMD1, MMD3, MMD30共享的,所以这里写1 or 3 or 30都是可以的。

3.查看tx/rx寄存器RGMII_TXC_DELAY_CONFIG和RGMII_RXC_DELAY_CONFIG



根据上图中的公式,计算下相位delay
0x12 = 18
phase-shift = 73.8 + 0.9 * 18 = 90°
所以相位应该是delay 1/4个周期,实际测试phy发出来的波形如下。


由于phy收到后,是在自己内部进行delay的,所以不能在总线上测量到,这里仍然测量一下,如下

4.查看信号质量


结果如下
![]()

浙公网安备 33010602011771号