以太网芯片W3100A到W3150A+的移植笔记(一)

最近很多用户咨询 W3100A,由于W3100A已经停产。在此希望给大家介绍一下,W3100A可移植到其他芯片的方式及途径,供大家更好的拓展您项目的沿用性,期待能对您有所帮助。今天先为大家介绍第一部分的内容。

此移植笔记描述了设计者及程序员应在 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寄存器中(偏移地址0×00)。W3150A+是在MR寄存器中(偏移地址0×00)。

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+的寄存器映射

我们明天继续,感谢阅读!

时间: 2024-11-07 01:20:14

以太网芯片W3100A到W3150A+的移植笔记(一)的相关文章

ENC28j60以太网芯片驱动程序简介

ENC28j60以太网芯片驱动程序简介 ENC28J60 驱动开发要点 enc28J60 和 Arduino (1)——ping通你的Arduino MCU51单片机uIP协议栈+ENC28J60网卡 移植.应用

STM32 USB 之从0开始移植笔记

STM32 USB 之从0开始移植笔记 -----------------------------------动机----------------------------------- 写在前面的话:最近逛淘宝无意间发现RC522居然只要10元左右就可以包邮买到,真是太便宜了,就忍不住买了个回来玩玩.到货移植到我的板子上OK 后突然发现我的USB口紧张了,一个用来给板子供电一个插jlink 一个插入usb转串口给RC522下命令.就想着将板子供电和RC522传输用一个USB接口来实现.这就是这次

lwIP移植笔记 - ethernet篇

我们已经完成了lwIP的系统移植,那么我们就需要进行ethernet的移植工作. ethernet的移植工作,主要是"填空"ethernetif.c的过程!(PS. 再一次感谢Adam Dunkels大侠的无私工作!以及对他的敬意!) ethernetif.c位置(../src/netif) 一.移植硬件 1. 初始化 实现函数:static    void    low_level_init(struct    netif    *netif); (1) 初始化MAC地址 (2) 初

lwIP移植笔记 - OS篇

lwIP作为RTOS准标配的TCP/IP,在我们编写网络模块时,经常用到. 本移植笔记使用lwIP的版本为V1.4.1. MDK:            V4.0+ RTOS:          μC/OS-II V2.91 Eval-Board: LPC1752 Ethernet:     ENC28J60 移植lwIP到OS其实就是实现sys.h的过程. 移植文档(doc\sys_arch.txt) Since lwIP 1.4.0, semaphore and mailbox functi

FreeRTOS STM32移植笔记

FreeRTOS STM32移植笔记

关于千兆以太网芯片及VLAN浅析

MARVEL出产的高端千兆以太网交换芯片,对每个端口支持不同的交换模式. 包括4种模式: Secure模式:所带VLAN tag必须存在于VTU表中,且入端口必须是该VLAN成员,否则丢弃报文. Check模式:所带VLAN tag必须存在于VTU表中,否则丢弃报文. Fallback模式:入端口报文不丢弃. 802.1Q Disabled:802.1Q关闭,使用端口VLAN模式,所有报文透传. 前3种模式都遵循802.1Q规则,报文进入后按照VLAN表项进行转发,不同就在于进入的时候条件限制,

转载:网口扫盲三:以太网芯片MAC和PHY的关系

原文地址:http://www.cnblogs.com/jason-lu/articles/3195473.html 问:如何实现单片以太网微控制器? 答:诀窍是将微控制器.以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件.这种方案可使MAC和PHY实现很好的匹配,同时还可减小引脚数.缩小芯片面积.单片以太网微控制器还降低了功耗,特别是在采用掉电模式的情况下. 问:以太网MAC是什么? 答:MAC即Media Access Control,即媒体访

uC/OS-II 移植笔记

用过51.AVR.Freescale.STM32,但是写程序一直没有用过实时操作系统,一是因为写的项目不大,二是不太想去看手册学东西.现在写的项目也算比较大,因为需要,所以就学一下,这样也不至于每次的程序都裸奔. 用的红牛STM32开发板(很久之前的板子,STM32F103ZET6芯片) 首先下载官方的库,还有uc/OS的源码.建立好工程后,添加UC/OS.如图 注意os_cfg.h 和 app_cfg.h 在源码里是没有的,一般是拷贝Micrium\Software\EvalBoards里面的

网口扫盲三:以太网芯片MAC和PHY的关系(转)

问:如何实现单片以太网微控制器? 答:诀窍是将微控制器.以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件.这种方案可使MAC和PHY实现很好的匹配,同时还可减小引脚数.缩小芯片面积.单片以太网微控制器还降低了功耗,特别是在采用掉电模式的情况下. 问:以太网MAC是什么? 答:MAC即Media Access Control,即媒体访问控制子层协议.该协议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质.在发送数据的时候,