对93C46编程

出处:陈红1 发布于:2007-05-13 11:29:58

如果RTL8019AS使用了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含义:
对93C46读或者写必须使EEM1=1 EEM0=0.
EECS控制93C46的CS脚, RTL8019AS的输出,93C46的输入.
EESK控制93c46的SK脚, RTL8019AS的输出,93C46的输入.
EEDI控制93c46的DI脚, RTL8019AS的输出,93C46的输入.
EEDO是93c46的DO脚的状态,为RTL8019AS的输入,93C46的输出.
93C46引脚图:

93C46的操作的命令:
93C46读操作的时序:




  
关键词:对93C46编程93C4624C02

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

AT24C02拯救了一大批程序员,能让单片机运行时的数据保存100年!
广告
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:
技术客服:

0571-85317607

网站技术支持

13606545031

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!