[En-Nut-Discussion] SRAM errors on ETHERNUT 1.3H
harald.kipp at egnite.de
Fri Mar 30 15:02:09 CEST 2012
On 29.03.2012 17:17, Pascal Jean wrote:
> I want to use ETHERNUT1 without NUT/OS.
> I designed a unit test of the external SRAM memory similar to the program
The Realtek connection to the memory bus is really tricky.
To avoid this, you can follow
"How to Make Rev-G and Rev-H Compatible to Rev-F"
Otherwise you need to emulate the Realtek's EEPROM. If not executed, the chip will interfere with the memory bus and spoil your memory test.
Background: The RTL80192AS incorrectly negotiates the link. The switch thinks, it is half-duplex, but the RTL8019 uses full-duplex. If the RTL8019 transmits a packet while the switch is transmitting, the switch will discard the packet. To avoid this, the RTL8019 must be set to half-duplex. However, this can be done via EEPROM only, which is not available on Ethernut 1. Rev-F boards "emulated" the EEPROM by setting all bits to 1 (via resistor), which automatically enables full-duplex. So we need to set a specific EEPROM bit to 0. The solution was to emulate the EEPROM by the ATmega. In order not to waste port pins for this, Ethernut 1 temporarily uses the upper address bits to emulate an EEPROM.
As I told you, quite tricky.
More information about the En-Nut-Discussion