您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网 > 电子技术应用 > 嵌入式技术 > 嵌入式设计应用 >

DS33Z11/DS33Z44 EEPROM编程指南

2009年10月23日 18:18 本站整理 作者:佚名 用户评论(0

DS33Z11/DS33Z44 EEPROM编程指南

摘要:Dallas Semiconductor的以太网链接及传输处理芯片(ELITE)产品线在广域网(WAN)与局域网(LAN)之间构建了一个桥梁。ELITE有几种配置方法,最常用的一种是通过微处理器(µP)控制。此外,为了降低成本,芯片还提供了硬件配置模式或外部EEPROM配置模式。对于硬件配置模式,由于芯片引脚数有限,有些功能的配置会受到限制;而EEPROM配置模式,可对芯片的每个寄存器进行配置,功能配置不受限制。本篇应用笔记针对DS33Z11或DS33Z44的EEPROM配置模式,介绍如何编写它们的EEPROM配置软件。

SPI™串行EEPROM接口

DS33Z11/DS33Z44有一个4线SPI串行接口,因此可以外挂串行EEPROM对其初始化配置,正确设置工作模式控制引脚(HWMODE = 0、MODEC1 = 1、MODEC0 = 0),DS33Z11/DS33Z44可以作为SPI主机,从串行EEPROM读取配置数据。MOSI (主机输出、从机输入)和MISO (主机输入、从机输出)为数据线,SPICK为时钟线,/SPI_CS为片选线,控制对EEPROM的访问。CKPHA引脚用来配置MISO和MOSI信号的采样及更新边沿。MOSI数据可以在SPICK的上升沿或下降沿输出。MISO数据可以在SPICK的上升沿或下降沿采样。SPICK工作频率为8.33MHz,从外部100MHz SYSCLKI分频得到。

SPI EEPROM编程步骤

因为DS33Z11/DS33Z44采用的是固定模式SPI存储器读指令,配合DS33Z11/DS33Z44使用的EEPROM必须是16kB (2048 x 8)的SPI串行EEPROM。小于16kB的SPI串行EEPROM需要使用不同的存储器读指令,两种指令是不兼容的。初始上电复位后或/RST引脚触发信号的上升沿之后开启读时序,SPI_/CS信号拉低,从数据线MOSI发出0b00000011 SPI读指令,即可启动一次DS33Z11/DS33Z44的读存储器操作。随后是16位地址为0x0000的二进制地址,然后可以从数据线MISO读取数据,SPI_/CS一直保持低电平,直到读取所有数据并锁存到DS33Z11/DS33Z44。从EEPROM读取的数据长度取决于连接至EEPROM的是DS33Z11还是DS33Z44。图1为DS33Z11/DS33Z44从EEPROM读取数据的时序图。表1为DS33Z11的存储器映射,表2为DS33Z44的存储器映射。

图1. SPI主机时序图
图1. SPI主机时序图

表1. DS33Z11 EEPROM程序存储器映射
Functional Block Address Address Range for EEPROM Data (Hexadecimal)
Global registers 000 to 03F
Arbiter registers 040 to 07F
BERT registers 080 to 0BF
Serial interface Tx registers 0C0 to 0FF
Serial interface Rx registers 100 to 13F
Ethernet interface registers 140 to 17F
MAC register write 1 (MAC control) 180 to 186 (7-byte record for MAC indirect write)
MAC register write 2 (MII data) 187 to 18D (7-byte record for MAC indirect write)
MAC register write 3 (MII address) 18E to 194 (7-byte record for MAC indirect write)
MAC register write 4 (flow control) 195 to 19B (7-byte record for MAC indirect write)

表2. DS33Z44 EEPROM程序存储器映射
Functional Block Address Address Range for EEPROM Data (Hexadecimal)
Global registers 000 to 03F
Arbiter registers 040 to 07F
BERT registers 080 to 0BF
Serial interface 1 Tx registers 0C0 to 0FF
Serial interface 1 Rx registers 100 to 13F
Ethernet interface 1 registers 140 to 17F
Serial interface 2 Tx registers 180 to 1BF
Serial interface 2 Rx registers 1C0 to 1FF
Ethernet interface 2 registers 200 to 23F
Serial interface 3 Tx registers 240 to 27F
Serial interface 3 Rx registers 280 to 2BF
Ethernet interface 3 registers 2C0 to 2FF
Serial interface 4 Tx registers 300 to 33F
Serial interface 4 Rx registers 340 to 37F
Ethernet interface 4 registers 380 to 3BF
MAC 1 register write 1 (MAC control) 3C0 to 3C6 (7-byte record for MAC indirect write)
MAC 1 register write 2 (MII data) 3C7 to 3CD (7-byte record for MAC indirect write)
MAC 1 register write 3 (MII address) 3CE to 3D4 (7-byte record for MAC indirect write)
MAC 1 register write 4 (flow control) 3D5 to 3DB (7-byte record for MAC indirect write)
MAC 2 register write 1 (MAC control) 3DC to 3E2 (7-byte record for MAC indirect write)
MAC 2 register write 4 (flow control) 3E3 to 3E9 (7-byte record for MAC indirect write)
MAC 3 register write 1 (MAC control) 3EA to 3F0 (7-byte record for MAC indirect write)
MAC 3 register write 4 (flow control) 3F1 to 3F6 (7-byte record for MAC indirect write)
MAC 4 register write 1 (MAC control) 3F7 to 3FD (7-byte record for MAC indirect write)
MAC 4 register write 4 (flow control) 3FE to 404 (7-byte record for MAC indirect write)

以太网的MAC寄存器采用间接寻址,使用µP并口总线模式配置时,需要多条写指令。因为无法把这些间接寻址的寄存器直接映射到EEPROM存储器,使用SPI串行EEPROM模式时,需要采用特殊的编程步骤实现写操作。间接寻址MAC寄存器的写操作采用7字节记录,存放在EEPROM存储器的最后。四个MAC寄存器(SU.MACCR、SU.MACMIID、SU.MACMIIA和SU.MACFCR)可以在EEPROM模式下配置。其余间接寻址MAC寄存器不需要配置,因为它们是MAC状态或状态配置寄存器,不需要初始化。

7字节记录的基础是模拟µP对间接寻址MAC寄存器的写步骤。记录中的前四个字节包含32位数据,将写入以太网MAC数据0至数据3寄存器(SU.MACWD0至SU.MACWD3)。记录中随后的两个字节包含16位地址,将写入以太网MAC的低字节、高字节地址寄存器(SU.MACAWL至SU.MACAWH)。最后,剩余字节写入以太网MAC的读/写命令状态寄存器(SU.MACRWC),这将触发数据到实际指定地址的写操作。DS33Z44含有不同数量的间接写寄存器,DS33Z44的第1路以太网接口与DS33Z11相同,有四个间接写寄存器,而其余三路中,每路只有两个间接写寄存器,原因是只有一个MDIO口管理外部的PHY,通过MAC 1控制。因此,SU.MACMIID和SU.MACMIIA是仅有的有效MAC 1寄存器组。为了通过MAC 1的MDIO口控制多个外部PHY,所有PHY MDIO口都要连接在一起,并配置成同一外部地址。

表3列举一个例子,将0x1018000C写入以太网MAC控制寄存器(SU.MACCR),间接地址为0x0000。如果需要关于DS33Z11/DS33Z44的SPI串口EEPROM编程支持,可通过后续参考文献部分中的链接获得。

表3. DS33Z11间接写指令举例
EEPROM 7-Byte Record EEPROM Address Base from Table 1 (Hexadecimal) EEPROM Address (Hexadecimal) MAC Register Write 1 Used to Initialize SU.MACCR (Hexadecimal)
MAC data byte 1 Base + 00 180 0C - written to SU.MACWD0
MAC data byte 2 Base + 01 181 00 - written to SU.MACWD1
MAC data byte 3 Base + 02 182 18 - written to SU.MACWD2
MAC data byte 4 Base + 03 183 10 - written to SU.MACWD3
MAC address low Base + 04 184 00 - written to SU.MACAWL
MAC address high Base + 05 185 00 - written to SU.MACAWH
MAC write command Base + 06 186 01 - written to SU.MACRWC

参考文献

如需LAN至WAN的桥接设计的技术支持,请联络电信产品线的技术支持小组,可发送email至 telecom.support@dalsemi.com(English only),或致电972-371-6555 (美国)。

非常好我支持^.^

(0) 0%

不好我反对

(0) 0%

( 发表人:发烧友 )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!