当前位置:首页 > 利用8139C网卡读写EPROM
利用8139C网卡读写EPROM zz
2008-04-01 14:23:57| 分类: 嵌入式开发 | 标签: |字号大中小 订阅
一. 27C256引脚和模式
只读存储器随着技术的发展,主要经历了ROM、PROM、EPROM、EEPROM等。EPROM的擦除只能借助于长时间暴露于紫外线,使用不太方便,常用于产品开发阶段。常用的EPROM大小有:128K位、256K位、512K位等等。由于我手上只有128K
和256K大小的EPROM,所以本文主要以256K的EPROM来讲述的。
所谓256K位的EPROM,是指它有256*1024位(BIT),也就是32K字节的EPROM。
它是一个28插脚的芯片。DIP封装的27C256的管脚图如下:
Q0~Q7:数据脚 A0~A14:地址线 VSS:接地端 VPP:编程电压+12V VCC:+5V电压 E:片选线 G:输出允许 图9 27C256 模式 读出 禁止输出 编程 校验 禁止编程 维持 电子标志 VIL VIL E
下面是它的操作模式:
G A9 VIL VIH VIH VIL VIH 任意 VIL 任意 任意 任意 任意 任意 任意 VPP VPP Q7~Q0 数据输出 高阻 输入数据 输出数据 高阻 高阻 标志 VCC VCC VPP VPP VPP VCC VCC VIL脉冲 VIH VIH VIH VIL
二. 8139C引脚和ROM插槽
我们在前言部分看到了8139C网卡的实物图,根据网卡的核心部件就是中间部分的
8139C芯片(如图10)。
图10 8139C
8139C共有128脚,这些引脚中与网卡上扩展ROM插槽连接的情况如下:
插槽(27C256脚) 网卡上28阵插座与8139C的连接 插槽(27C256脚) 46(VDD)+3.3V 28(VCC)+5V 68(MA14) 27(A14) 67(MA13) 26(A13) 61(MA8) 25(A8) 63(MA9) 24(A9) 65(MA11) 23(A11) 接地 22(G) 64(MA10) 21(A10) 110(CS) 20(E) 100(MD7) 19(D7) 101(MD6) 18(D6) 102(MD5) 17(D5) 103(MD4) 16(D4) 104(MD3) 15(D3)
8139C利用一个32位寄存器来读写和扩展ROM有关的引脚,该寄存器地址在存储器空间的偏移00D4H~00D7H。所以寄存器读写地址为存储器基地址加00D4H。寄存器
格式如下:
位 31-24 23-21
1(VPP) 2(A12) 3(A7) 4(A6) 5(A5) 6(A4) 7(A3) 8(A2) 9(A1) 10(A0) 11(Q0) 12(Q1) 13(Q2) 14(VSS)GND 69( MA15) 66(MA12) 60(MA7) 57(MA6) 53(MA5) 52(MA4) 51(MA3) 49(MA2) 48(MA1) 47(MA0) 108(MD0) 107(MD1) 105(MD2) 接地 读/写 R/W - 定义 Q7-Q0 - 描述 反映数据线状态,当外部高阻时为输出,否则为输入 保留
20 19 18 W(只写) W W CS OE WR 设置CS线,8139C的110线 设置OE线,8139C的88线。很多8139C网卡并没有将其和插槽相连。 设置WR线,8139C的89线。很多8139C网卡并没有将其和插槽相连。 准许软件访问flash memory: 0: 不准许通过软件访问flash memory 17 W SWRWEn 1: 准许通过软件访问flash memory并且在通过软件访问flash memory期间不准许访问EEPROM(我也不太懂什么意思,不过似乎没什么用,下面是原文) 16-0 W A16-A0 设置地址线
好了,有了上面的资料,我们下面就开始来利用PCI网卡上的扩展ROM插槽来读
写EPROM吧。
三. 27C256的读操作
当G和E脚都为低电平,而VCC和VPP脚都接5V电压时,27C256便进入到读操作模式下。由于网卡插槽上G总是低电平(接地),所以只需要E进入低电平即可。
图11是27C256的读时序图:
图11 27C256读时序图
从读时序图中我们可以看到:在地址A0~A14有效tAVQV时间后、在E低电平tELQV时间后、在G低电平tGLQV时间后,输出脚Q0~Q7开始输出有效数据。
根据这个时序关系,我们写出写出了自己的读27C256程序(见附件R256.asm),这些读ROM并不是通过PCI的地址映射,而是直接通过ROM寄存器直接读写。需要注意的是:在我其中上扩展ROM的基地址为0EC00H,所以ROM的寄存器地址为0ECD4H,而读者在编译该程序之前,需要更新上自己机器上ROM寄存器的地址,千
万不要忘了?。
四. 27C256的写/编程操作
写操作的时序图如图12:
图12 27C256写/编程时序图
27C256的写操作最特别的一点是要在引脚1(VPP)上加上+12V的编程电压。而插槽中该引脚是对应在8139C的第69引线的,该引线是不会产生+12V电压的。所以
我们必须手工给VPP加上+12V电压了。
我们知道,电脑的电压输出线中,黄色线输出电压就是12V,而红线为+5V。两条
黑线为接地(如图13)。
图13 电源电压图
共分享92篇相关文档