此移植笔记描述了设计者及程序员应在 W3100A到W3150A+的移植 过程中注意的问题。更多关于W3150A+的信息,请参考W3150A+数据手册。
1 对比 1.1 移植的优势及挑战
这部分强调了W3100A到W3150A+过程中涉及的多方面优势及问题。在维持很多W3100A的特性方面,W3150A+提供了更高级别的性能。下面是移植到W3150A+的优势:
● 性价比更高
●更高级别的集成度
●增加TX 空闲大小寄存器 及RX已接收大小寄存器。用户可以直接读取,不再需要计算其值。
●TCPSeq和ACK码是自动处理的。用户不再需要计算其值。
●新功能(PPPoE/IGMP/SPI接口/心跳包 等)
●使用标准的驱动库便于未来移植W5100需要。W3150A+ 和W5100的驱动库完全兼容。因此,用户在从W3150A+到W5100移植过程中不需要考虑固件变化。
下面列出了一些差异,可能在W3100A到W3150A+移植过程中带来问题:
●引脚分配不同。见第二部分,“硬件注意事项”。
●库移植。W3100A和W3150A+驱动库之间有一定的差异,见第三部分“软件注意事项”。
1.2 总结和及特征比较表
表1 包含了W3100A和W3150A+的一些特征比较信息
表1 W3100A和W3150A+比较
2硬件注意事项 2.1 电压
都为3.3V。
2.2 TCP/IP 核
两款芯片都使用了WIZnet全球唯一的硬件IPv4核。然而,W3150A+内核有所更新并且弥补了W3100A勘误及缺陷”中的弱点,“W3100A勘误及缺陷”中。使用可以点击如下链接:
http://www.wiznet.co.kr/UpLoad_Files/ReferenceFiles/W3100A_errata_limitation_list1[2][0].pdf
2.3 封装及引脚分布
a) 两个芯片都是LQPF64
b) 引脚分布:
图1 展示了W3100A和W3150A+的引脚分布。不同部分请参见红色注释。
图1 移植W3100A到W3150A+时引脚分配注意事项
●“”意为“移除功能”
●“√” 意为“不变”
●“<-+注释” 意为“替代部分”
在W3150A+的引脚分配中,引脚28,37,和57 是1.8 v电源有关引脚。请参见图2
图2. 1.8v电源输入下的参考电路图
2.4 接口 2.4.1 主机接口
W3100A 支持 MCU总线接口 和 I2C接口, 然而W3150A+ 支持MCU 总线接口 和SPI接口。
因此,如果你之前使用I2C接口通信,现在你可以使用你的主MCU的SPI接W3150A+。SPI是一个4线接口,如今已非常易用普遍。SPI接口也可以通过GPIO模拟出来。如果你使用MCU 总线接口,除了几个硬件的修改,剩下的工作只是非常简单的驱动移植。请参见表2.
表2 主接口注意事项
2.4.2 MII接口
W3100A支持两种MII。一种是串行MII,另一种是半位元MII;但是W3150A+仅支持半位元MII。因此,如果你目前使用的是串行MII模式,你就要调整你的PHY芯片为半位元类型。另外,W3150A+有两个独立引脚:RXDV和CRS。用户应连接引脚RXDV(No.44)与引脚RXDV(PHY芯片端)连接,以及引脚CRS(No.47)与引脚CRS(PHY芯片端)连接。
2.5 系统特征 2.5.1 时钟
W3100A 有两个时钟引脚(4号引脚及33号引脚。但是W3150A+移除了外部时钟模式。因此,W3150A+只有一个时钟来源:25MHz(No.35 引脚)。
2.5.2 系统重启
两个芯片都支持 硬件和软件重启。
●硬件重启信号,W3100A 是高点平有效,但W3150A+是低电平有效
●软件重启,都是通过在指定的寄存器中写“1”到第7位,来实现此功能。
W3100A是在C0_CR寄存器中(偏移地址0x00)。W3150A+是在MR寄存器中(偏移地址0x00)。
2.5.3 寄存器读/写定时
W3100A包括直接&间接模式的话支持6种MCU 总线接口模式,然而W3150A+只支持2种MCU总线接口模式。既然这样,读写时序就有着巨大的不同。
从W3100A到W3150A+移植时,用户应该使用W3150A+ 的时序。更多信息请参见W3150A+的数据手册:7.4.2 寄存器/内存读时序&寄存器/内存写时序。
2.5.4 Tx/Rx 缓存
两个芯片都有16Kbytes 的Tx/Rx 缓存。因此,不用考虑在移植中的缓存限制。
2.6 寄存器地址映射
W3100A 由一个控制寄存器,指针寄存器,系统寄存器,信道寄存器和 Tx/Rx缓存组成,然而,W3150A+由一个通用寄存器,Socket寄存器和Tx/Rx缓存组成。
图3. 为W3100A和W3150A+ 的寄存器映射
图3. W3100A和W3150A+的寄存器映射