Hello,
I have a GC4016 interfaced to a C5515 DSP through EMIF to configure the chip's registers. I'm trying to get diagnostic test 1 to work where the checksum should be 0xEC. I've verified that all of the global and paged registers are correct. I've followed table 5-13 in the GC4016 datasheet to program all of the registers for diagnostic test 1. After configuration, the code goes back to all of the global and paged registers to print out the contents. All of the values match with the table. The code also waits for the checksum to be stable and then prints out the checksum values over multiple iterations. Instead of the steady checksum, I get random, changing checksum values. Below is a sample print out of the checksum over multiple read iterations. We have a 24 MHz clock going into the chip.
On another note, we had a past project that used a C5509A to interface to the GC4016 and got the expected 0xEC checksum. I've compared the register settings between the C5509A and C5515 and both match.
Has anyone ever seen this kind of behavior with the GC4016? Any ideas on what could be causing this? Thank you very much for any advice.
GC4016: 0) CHECKSUM = 0xae
GC4016: 1) CHECKSUM = 0x1d
GC4016: 2) CHECKSUM = 0xa9
GC4016: 3) CHECKSUM = 0x80
GC4016: 4) CHECKSUM = 0x7b
GC4016: 5) CHECKSUM = 0x03
GC4016: 6) CHECKSUM = 0x47
GC4016: 7) CHECKSUM = 0xce
GC4016: 8) CHECKSUM = 0x27
GC4016: 9) CHECKSUM = 0x9f
GC4016: 10) CHECKSUM = 0xab
GC4016: 11) CHECKSUM = 0xa2
GC4016: 12) CHECKSUM = 0xe3
GC4016: 13) CHECKSUM = 0x7c
GC4016: 14) CHECKSUM = 0x5d
GC4016: 15) CHECKSUM = 0xa7