工业级ARM9网关产品软硬件设计
目录
NUC980 ARM9板设计,采用2层PCB。 而NUC972则是使用4层板,底板与后面的imx6ull版本共用。
SW
从Buildroot建立的rootfs
由于这个SoC只有64MB DDR内存,128MB SPI-Nand闪存,所以rootfs必须是最小的,buildroot适合这种情况。
这些镜像相当小:
HW
本设计分为两部分,一部分是核心板,用DIP导出NUC980的引脚。第二部分是底板,它输出一些接口和存储,用于生产目的。
核心板
核心板+底板
NUC972板子实物图:
HW问题
IP101不工作
在第一个版本的HW中,IP101被用作以太网Mac和PHY IC,但它没有按照预期工作。
原理图
对于L2
和L3
,我们可以简单地用0R电阻代替它们。
RMII模式验证
根据 “数据表”,“RMII模式 “是必需的,所以Pin4是上拉的。
时钟/晶体
一个25MHz的外部振荡器被连接到X1和X2上。
时钟测量
使用测量仪测量时钟,我们可以清楚地看到50MHz的时钟:
检查IC Pin的clk:
检查复位PIN的上拉和下拉时间,持续时间应大于2.5ms:
PHY地址验证
由于我们有两个PHY,所以PHY地址应该是不同的:
实际上,配置引脚被设置为:
根本原因
核心板是用2层PCB设计的,EMC/EMI没有仔细处理,在重新布局IP101及其外围元件后,这个问题已经解决了。
LAN8720不工作
HW 调试: CLK测量
启动模式
本板使用SPINand作为引导程序、内核和rootfs的主要存储空间,NUC官方有一个GUI工具用于通过USB烧录。
对于不同的SPI-Nand闪存,设置为不同的值:
板子可以从USB或Flash启动:
烧录
在烧录前将USB设置为OTG模式:
配置PG引脚来设置启动媒体:
安装驱动程序并打开NuWriter,然后开始刻录: