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

2015-1-14 16:43 1027 20 20 分类: 通信 文集: TCP/IP芯片

今天继续为大家介绍以太网芯片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寄存器。
  • 功能:无变化。

Cn_SSR/Sn_SR:

请见下图,检查W3100AW3150A+socket状态的区别

W3100A移植13

图5. Socket状态比较

Cn_SOPR/Sn_MR:

9. W3100AW3150A+Socket模式寄存器之间的比较(a)

W3100A移植14

表10. W3100A和W3150A+的Socket模式寄存器之间的区别(b)

W3100A移植15

2.6.3 新寄存器和新功能

W3150A+ 有一些新的寄存器和新功能:

  • PPPoE模式使能位:MR寄存器中的第3位
  • PPPoE 认证寄存器(PATR)
  • PPPoE LCP 请求计时器寄存器(PTIMEG)
  • PPPoE LCP魔数寄存器(PMAGIC)
  • 多播使能位:Sn_MR寄存器第7位
  • 多播协议版本选择:Sn_MR寄存器第5位
  • 不可达IP地址和端口寄存器(UIPR和UPORT)

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

 

文章评论0条评论)

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