I have been running into a data storage problem while trying to sample audio. I am using an ICE200 to emulate an 8515, and plan to implement the actual circuit with a MEGA161.
The problem is testing the external Static RAM. I load the SRAM locations with 0xBB and read back mostly 0xBB, but there are occasional byte clusters of 0xFF and 0x00. Each time the RAM test program is run the wrong values are read from different locations.
This is with a wire-wrapped prototype board. The static RAM is connected to the AVR bus through a 74HC573 bus demultiplexer. The crystal is 3.6864MHz and the 62256 32Kx8 Static RAM is rated at 120nS.
The 8515 has the external bus enable bit activated in the MCUCR. I'm viewing the results of the external Static RAM with AVR Studio 4. The RAM is connected to the AVR with the AVR RD\ going to the RAM's \OE and the AVR \WR going to the RAM's \WE. The RAM's \CE is tied low to ground. I am writing to the 32K range of 0x8000 to 0xFFFF. Stable regulated +5v on VCC and decoupling caps 0.047uF on each chip.
I tested several 32Kx8 Static RAMs on several other older wire-wrapped MCU demo boards (for both the 8051 and the 6809) and the SRAMs test OK. These boards test RAM by writing 0x55 to each location, verify, and repeat with 0xAA.
Does anyone have any ideas about what could be causing this? Also, is there a proper name for this phenomenon?