I'm using LPC3250 to communicate with my FPGA through EMC interface.
When doing a read operation my data is read as a constant value (in my case specifically 0x0008).
I brought out the EMC pins on board and used a scope to tap the signals, I see that the EMC signals (Figure (1)) are meeting the specified timing requirements as mentioned in the datasheet. But the data latched by the controller is 8 instead of 205.
Following are the EMC configuration details for the above observation.
WAITOEN = 0x2
WAITRD = 0xA
Bus Width = 16 bits
CS Polarilty = Active low
HCLK = 104MHz
I have tried with increasing and decreasing the wait states but nothing seems to work.
Am I missing something here?
Don't know what happens before you read the value 205, but don't forget that the EMC has read buffers and that there is sometimes a burst read. So if you request a byte read from address x, the EMC will read more bytes than really necessary. If in the next step you want to read from address x+2, the value is taken from the buffer and not from the outside memory.
I didn't check whether the real cache of the ARM9 could also have an impact, maybe you should check this in a second step.