Is it possible to split the DSP Program data or Parameter data into more than one I2C transaction? If yes, how to do it? Kindly please advise.
Thanks and best regards,
To be more specific, I want to split single I2C transaction to smaller ones for DSP program data portion.
What we noticed is that:
Read back after each transaction, we get correct data that is programmed in
Read back after all transaction is done, we get:
Transaction 1: Data Matching Transaction 1 but starting part of the section is overwritten by data from Transaction3
Transaction 2: Exact Match
Transaction 3: Exact Match
ADAU1452 is not working.
Need your advice whether the way we split the I2C Transaction is correct. If not, what is the correct way to split the I2C transaction?
Perhaps this is a confusion between bytes and words? The SigmaDSP memory is organized and addressed as words not bytes.
There are only 8192 words of program memory and so therefor only 8192 valid addresses for it.
So if you try to go above 0xDFFF then it will wrap around and start back as 0xC000. There is no 0xE000 memory address.
You are writing 8316 bytes which is only 2079 words.
In your writing routine you need to write the data in groups of 4 and then increment the address. If you stop or segment the writes then you will need to do it on the word boundaries since you cannot write a partial word. Well, you can but it will not be what you expect.
By the way, thanks for your excellent writeup of the issue and the tests you did.
Retrieving data ...