ADAU1467 SPI clock Selfboot

Hi

ADAU1467 works as SPI master when selfboot is enabled, but how to configure SPI clock frequency for the SPI master?

I tried to look through 1467 datasheet and past EZ threads, but couldn't find it.

Regards,

Tomoto

Parents
  • 0
    •  Analog Employees 
    on Jun 3, 2021 4:09 PM

    Hello Tomoto-san,

    There is a way to change the speed.

    The SigmaStudio GUI feature for changing boot speed is currently, broken, though, so here is a workaround. There is a bug fix on the way as well.

    The initial loading of the EEPROM header (first 16 bytes in EEPROM memory) is at a set speed, something like <1MHz. I recall the speed is about 400kHz.

    After the header is read, and the PLL has locked, the remaining contents of the EEPROM are read at a new speed which is user-defined. The formula for changing the speed is missing from the datasheet, though, so here it is:

    EEPROM Speed Configuration Value = ceil(SYSCLK /  (2 * SPI_Frequency))

    SYSCLK on ADAU1467 is in most cases 300MHz, and SPI Frequency is specified in Hz. So, if you want the speed to be 20MHz (the maximum officially supported speed), the formula is:

    EEPROM Speed Configuration Value = ceil(300e6 /  (2 * 20e6)) = 8

    Remember to convert to hex, so this is 0x08.

    Notice that the realized speed will not be as high as 20 MHz because the adjustment is only so granular. The closest you can get is 300e6 /  (2 * 8) = 18.75 MHz. The next step up would have been 21.4 MHz.

    Now you can change the bytes in your EEPROM sequence to set the speed as needed.

    Notice that SigmaStudio doesn't include the Chip Erase or Page Write delays in the Capture Window. So, you will need to add those manually.

    I know this response came some months late. If you (or anyone else) are still working on this, we can provide more clarification on how to get this working.

    Regards,

    Joshua

Reply
  • 0
    •  Analog Employees 
    on Jun 3, 2021 4:09 PM

    Hello Tomoto-san,

    There is a way to change the speed.

    The SigmaStudio GUI feature for changing boot speed is currently, broken, though, so here is a workaround. There is a bug fix on the way as well.

    The initial loading of the EEPROM header (first 16 bytes in EEPROM memory) is at a set speed, something like <1MHz. I recall the speed is about 400kHz.

    After the header is read, and the PLL has locked, the remaining contents of the EEPROM are read at a new speed which is user-defined. The formula for changing the speed is missing from the datasheet, though, so here it is:

    EEPROM Speed Configuration Value = ceil(SYSCLK /  (2 * SPI_Frequency))

    SYSCLK on ADAU1467 is in most cases 300MHz, and SPI Frequency is specified in Hz. So, if you want the speed to be 20MHz (the maximum officially supported speed), the formula is:

    EEPROM Speed Configuration Value = ceil(300e6 /  (2 * 20e6)) = 8

    Remember to convert to hex, so this is 0x08.

    Notice that the realized speed will not be as high as 20 MHz because the adjustment is only so granular. The closest you can get is 300e6 /  (2 * 8) = 18.75 MHz. The next step up would have been 21.4 MHz.

    Now you can change the bytes in your EEPROM sequence to set the speed as needed.

    Notice that SigmaStudio doesn't include the Chip Erase or Page Write delays in the Capture Window. So, you will need to add those manually.

    I know this response came some months late. If you (or anyone else) are still working on this, we can provide more clarification on how to get this working.

    Regards,

    Joshua

Children
No Data