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

2015-1-14 16:45 1136 21 21 分类: 消费电子

今天继续为大家介绍以太网芯片W3100A到W3150A+的移植过程中需要注意的问题,以及W3100A与W3150A+间的比较。

2.6.1 功能兼容寄存器

表3 为兼容寄存器。在两芯片组中这些功能兼容的寄存器可能有不同的偏移地址和名字。

表3 功能兼容寄存器

W3100A移植6

2.6.2 功能不同的寄存器

IR:

表4. W3100A和W3150A+ 的IR之间的比较

W3100A移植7

从W3100A到W3150A+移植过程中,无论WIZnet芯片是否接收数据位7~4 都不能使用。

位7~4的功能已经由Sn_IR(0~3)的第二位代替。

IMR:

表5. W3100A和W3150A+ IMR之间的比较

W3100A移植8-1W3100A移植8-2

W3150A+的IMR寄存器中,不管WIZnet芯片是否接收数据,位7~4不能用于禁用中断。

Cn_CR/Sn_CR:

6. W3100A W3150A+之间的命令寄存器比较

W3100A移植表6

另外,W3150A+ 增加了一些新的命令:DISCON/SEND_MAC/SEND_KEEP.

如果用户对这些命令感兴趣,请参考W3150A+数据手册中的Sn_CR描述。

Cn_ISR/Sn_IR:

7. W3100AW3150A+Socket终端寄存器之间的比较

W3100A移植10

Bit Recv_OK 只是指示的Recv command命令完成的表达。它不指示着WIZnet芯片是否已经收到数据。RECV才是WIZnet芯片收到数据与否的标志。

Bit Established被重命名为CON。

Bit Closed 被重命名并升级为DISCON。

IDM_OR/MR:

表8. W3100A和W3150A+ 的模式寄存器之间的比较

W3100A移植表8

Bit IND_EN 被重命名为IND,而且被放在了在MR寄存器的第0位.

Bit L/B被移除。W3150A+只支持 big-endian. 因此,如果用户使用little-endian来访问间接寄存器,它们必须在W3100A到W3150A+移植过程中使用big-endian。

Bit AUTO_INC 被重命名为AI,并放在MR寄存器的bit1.

Cn_TW_PR/Sn_TX_WR:

大小:

  • 大小:Cn_TA_PR 是一个4-byte寄存器, Sn_TX_RD 是一个2-byte寄存器。
  • 功能:无变化;请参见图4.

W3100A移植12

图4. TCP传输过程中的指针管理

Cn_RW_PR/Sn_RX_WR:

  • 大小:Cn_RW_PR 是一个4-byte寄存器, Sn_RX_WR是一个2-byte寄存器。
  • 功能:无变化。

Cn_RR_PR/Sn_RX_RD:

  • 大小:Cn_RR_PR 是一个4-byte寄存器, Sn_RX_RD是一个2-byte寄存器。
  • 功能:无变化。

继续阅读:http://www.iwiznet.cn/blog/?p=6784

文章评论0条评论)

登录后参与讨论
我要评论
0
21
关闭 站长推荐上一条 /2 下一条