对93C46编程
发布时间:2008/6/5 0:00:00 访问次数:536
如果rtl8019as使用了93c46,那么如何通过单片机对它进行编程呢?
93c46是一个有128字节的eeprom,可以是8位或16位的存储模式,在rtl8019as中,用的是16位的模式,也就是总共有64个16位的存储单元.16位方式下,存储地址为0---63 .每个地址存储两个字节,低位字节在前,高位字节在后(这跟单片机的存储相反,单片机是高位在前,低位在后).
下表是93c46存储的内容,地址是用字节表示的.
93c46是一个有128字节的eeprom,可以是8位或16位的存储模式,在rtl8019as中,用的是16位的模式,也就是总共有64个16位的存储单元.16位方式下,存储地址为0---63 .每个地址存储两个字节,低位字节在前,高位字节在后(这跟单片机的存储相反,单片机是高位在前,低位在后).
下表是93c46存储的内容,地址是用字节表示的.
设置为跳线方式,i/o地址 240h 的时候,00h-03h的内容如下:
config2 01h: 0x00
config1 00h: 0x96
config4 03h: 0x01
config3 02h: 0x10
04h-09h 是6个字节的网卡地址,也可以修改.
如果我们不使用plug and play方式,那么从12h到7fh地址空间可以用来存储用户自己的数据.用户可以在12-7f里写入任何的数据.这样就可以节省用户自己的eeprom(比如24c02).
对93c46读或写要用到两个寄存器,一个是rtl8019as的命令寄存器cr,一个是第3页的9346cr寄存器.
先向cr写入0xe2选择第3页的寄存器,然后就可以通过存取9346cr来进行93c46的读或者写了.
读93c46的程序:
1.移位输出8位数据的子程序:
注解:
uchar 为unsigned char
reg01即9346cr
reg00为cr
关于reg00 reg01的定义见我前面的相关文章.
9346cr含义:
eecs控制93c46的cs脚, rtl8019as的输出,93c46的输入.
eesk控制93c46的sk脚, rtl8019as的输出,93c46的输入.
eedi控制93c46的di脚, rtl8019as的输出,93c46的输入.
eedo是93c46的do脚的状态,为rtl8019as的输入,93c46的输出.
93c46引脚图:
93c46的操作的命令:
93c46读操作的时序:
如果rtl8019as使用了93c46,那么如何通过单片机对它进行编程呢?
93c46是一个有128字节的eeprom,可以是8位或16位的存储模式,在rtl8019as中,用的是16位的模式,也就是总共有64个16位的存储单元.16位方式下,存储地址为0---63 .每个地址存储两个字节,低位字节在前,高位字节在后(这跟单片机的存储相反,单片机是高位在前,低位在后).
下表是93c46存储的内容,地址是用字节表示的.
93c46是一个有128字节的eeprom,可以是8位或16位的存储模式,在rtl8019as中,用的是16位的模式,也就是总共有64个16位的存储单元.16位方式下,存储地址为0---63 .每个地址存储两个字节,低位字节在前,高位字节在后(这跟单片机的存储相反,单片机是高位在前,低位在后).
下表是93c46存储的内容,地址是用字节表示的.
设置为跳线方式,i/o地址 240h 的时候,00h-03h的内容如下:
config2 01h: 0x00
config1 00h: 0x96
config4 03h: 0x01
config3 02h: 0x10
04h-09h 是6个字节的网卡地址,也可以修改.
如果我们不使用plug and play方式,那么从12h到7fh地址空间可以用来存储用户自己的数据.用户可以在12-7f里写入任何的数据.这样就可以节省用户自己的eeprom(比如24c02).
对93c46读或写要用到两个寄存器,一个是rtl8019as的命令寄存器cr,一个是第3页的9346cr寄存器.
先向cr写入0xe2选择第3页的寄存器,然后就可以通过存取9346cr来进行93c46的读或者写了.
读93c46的程序:
1.移位输出8位数据的子程序:
注解:
uchar 为unsigned char
reg01即9346cr
reg00为cr
关于reg00 reg01的定义见我前面的相关文章.
9346cr含义:
eecs控制93c46的cs脚, rtl8019as的输出,93c46的输入.
eesk控制93c46的sk脚, rtl8019as的输出,93c46的输入.
eedi控制93c46的di脚, rtl8019as的输出,93c46的输入.
eedo是93c46的do脚的状态,为rtl8019as的输入,93c46的输出.
93c46引脚图:
93c46的操作的命令:
93c46读操作的时序:
上一篇:93C46读的程序
上一篇:c51写的93C46的读写程序