English
Language : 

W89C940 Datasheet, PDF (21/61 Pages) Winbond – ELANC-PCI (TWISTED-PAIR ETHER-LAN CONTROLLER WITH PCI INTERFACE)
W89C940
Max-Lat Register
It is used for specifying how often the device needs to gain access to the PCI bus.
MAX_LAT is used to set the devices desired settings for Latency Timer values. The registers specify the values
in units of 0.25 microsecond. Zero means the device has no major requirements for the settings of Latency
Timer. The content of this register will be updated after power on by the EEPROM load operation. The Max-Lat
should be programmed into the 18th byte of the EEPROM for power on auto loading.
EEPROM PROGRAMMING FUNCTION
EEPROM Load and Reload procedure
A EEPROM control register(ECR) is used to control the operation mode of the EEPROM. The ECR is allocated
on the register address of page 3, 02H of LCE. The content of ECR is as following table:
BIT SYMBOL
DESCRIPTION
0-5
Reserved
6
ERWS EEPROM Read Write Select:
The write sequence to EEPROM is selected If ERWS = 1. If ERWS =
0, the read sequence is selected.
7
EAC
EEPROM Access Control:
EAC will enable the EEPROM read/write sequence if EAC = 1. The
EAS will be reset to " 0 " if the read/write sequence finished. Set EAC
= 0 will abort the EEPROM read/write sequence immediately.
The read/write sequence for EEPROM is described as following two statements.
Write Sequence:
write(ECR with ERWS=1 and EAC=1); /* enable the write sequence */
write(BFR, address); /* specify the address in which the data will be modified */
write(BFR, word_data); /* specify the data which will be write into the EEPROM */
repeat( read(ECR.EAC); ) until (EAC=0); /* wait for the programming process completed */
File2
Any operation that violate the write sequence will cause the EEPROM programming process aborted. The BFR
is a buffer register located at the register address of page3, 04H of LCE. With the EEPROM load back
sequence specified above, the contents at the specified address will be overwritten by the new data. One word
of data is modified by each write sequence. The allowable address in which the content will be modified is from
00H to 3fH.
Read Sequence:
write(ECR with ERWS=0 and EAC=1); /* enable the read sequence */
write(BFR, address); /* specify the address in which the data will be read out */
repeat( read(ECR.EAC); ) until (EAC=0); /* wait for the reading process completed */
read(BFR);
/* read word data */
21