Selfboot / Non-Selfboot Addresses
I'm using the ADAU1446
I have a board up and running. Everything seems fine, except that what I am doing to make it work doesn't seem to jive with the datasheet.
I have selfboot pulled high through a 10K resistor. I do not wish to selfboot. I wish to load the program from my MCU, which is what I'm doing. However, to make it work, I had to pull selfboot high. When I pull selfboot low, I can't load my program.
My procedure is as follows.
My MCU is in control of the DSP reset line
The MCU holds reset .low for a second, to wait for power to stabilize.
The MCU then sets reset to 1
The MCU waits 500msec to wait for DSP to stabilize out of reset
The MCU writes the the program to the DSP at address 0x70
Later, the MCU successfully writes and reads parameters from the DSP with no problems, at addresses 0x70 and 0x71
Why is this working? According to the datasheet, if selfboot is high when the DSP comes out of reset, then it is in selfboot mode and can later be addressed at 0x68 and 0x69. Is this correct? Since my selfboot pin is high, I would not expect 0x70 and 0x71 to work, but those are the addresses that are working. Is there a problem with the datasheet for the ADAU1446?
Audio Signal Processors
adau1446
SigmaDSP Audio Processors
Hello,
I reviewed the datasheet and everything looks to be correct.
You shouldn't need to pull selfboot high in order to access the chip over the control port. Please try grounding selfboot.
The default addresses for the ADAU144x are as follows:
7-bit addresses 0x38 through 0x3B (plus read/write bit)
ADDR0 = GND, ADDR1 = GND
Address 0x38
01110000 write, 01110001 read
0x70 write, 0x71 read
ADDR0 = 3.3 V, ADDR1 = GND
Address 0x39
01110010 write, 01110011 read
0x72 write, 0x73 read
ADDR0 = GND, ADDR1 = 3.3 V
Address 0x3A
01110100 write, 01110101 read
0x74 write, 0x75 read
ADDR0 = 3.3 V, ADDR1 = 3.3 V
Address 0x3B
01110110 write, 01110111 read
0x76 write, 0x77 read
When the ADAU144x is self-booting, and only when it is self-booting, it is accessible at 0x68 write, 0x69 read.
However, that is a special mode, and you shouldn't be manually attempting to write at 0x68.
Do you have a USBi that came with the evaluation board? Try connecting its SDA and SCL lines to the I2C bus on your target board and then use SigmaStudio to write and read the DSP. That should be a good sanity check that the addressing is correct.
Please log in to reply.