Spi - ADAU144x
For the ADAU144x series does a spi transmission require that the ChipSelect be kept low for the whole duration or can you deassert it between bytes transmissed. To put it another way does unselecting the while reset the Spi interface or can you continue transmitting data?
Both of the communications interfaces that we regularly use with the ADAU144x, the Aardvark and the USBi, keep the SS line low for the entire duration of the transaction. Due to that fact, it's difficult for me to test this on actual hardware.
Since SPI is more of a de facto standard rather than a well-defined standard, it's difficult to say whether this is truly necessary or not. I expect that the ADAU144x's SPI port will 'reset' after the SS line goes high. Any re-assertion of the SS line afterwards will be interpreted as a new Chip Address, R/W byte.
I'll try it out and report back. I am using a uC where the default actions on the SPI interface only transmits 1 byte for every assertion of the CS. I can override this action with more processing overhead utilizing standard GPIO for chipselects rather than the standard default hardware CS.
Thanks Natan. Please try it out and let me know. I have a feeling it will work as I described above, since there is no "number of bytes" information in the transmission and therefore the only way the SPI port would know that an SPI burst write has ended would be the rising edge of the CS line.
Hello,
does it works? I try to load an ADAU144x with an external microprocessor. I force clatch 2 times to low to activate the spi interface. Afte that I call the download functions which calls my spi block write functions. I play the .h file from SigmaStudio.
dBmess_Limiter_SystemFiles_IC_1.h
void default_download() {
SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_IC_1, REG_START_PULSE_SELECT_ADDR, REG_START_PULSE_SELECT_BYTE, R0_START_PULSE_SELECT_Default );
SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_IC_1, REG_CORE_RUN_BIT_ADDR, REG_CORE_RUN_BIT_BYTE, R1_CORE_RUN_BIT_Default );
...
With my scope I see the correct data's.
Are there any hints what are typical errors in using the spi interface for program loading?
Regards Bene
To be honest I didn't get a chance to try this out because I found a way to keep my latch line enabled between writes. Although like Brett said this probably would not work considering that the latch is most the likely the trigger for the spi to start working.
This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.
Thank you,
EZ Admin
Please log in to reply.