This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PCM5142 connect to FPGA in SPI mode

Other Parts Discussed in Thread: PCM5142

Hello,

1,  PCM5142 connected  to FPGA in SPI mode, by giving SCK=20.48M / BCK=320K / LRCK=5K / din=24bits,it doesn't working (using default setting, xsmt/mode1 has been PU high).

2,  How to config Registers though SPI BUS, From the datasheet i can't find the address of each register.( 7bits ADDRESS + R/W + 7bits data in spi mode)


3,  How to write .image file to ROM space whcih is generated by PurePath Studio? If i don't write any code , can DAC working correctly ?

Many thanks!
yu

  • Hi yu,

    1. The maximum SCK divider that is available is 3072, this is the ratio from SCK to LRCK. With the clock settings you stated above you are trying to use clocks with a ratio of 4096. With an SCK of 20.48 MHz the lowest LRCK you can use is 6.666 kHz. If needed this aprt can be run by only supplying BCK and LRCK.

    2. Each register is described starting on page 75 of the data sheet, and in the individual register definitions (starting on page 80) both the Hex and decimal addresses are given in the first two boxes.

    3. The ROM cannot be written to, but the RAM can be. When writing to the PCM5142 through PPS you will be running scripts which will perform register writes, and some of those will be the DSP RAM if you have a user deficed process flow. If you want code that can be written by a host controller you must use the .h and .c files generated by PPS. For example base_main_Rate44_pps_driver.h, which has the register writes in an array that can be stepped through by a host controller.

    If you want to talk to the EVM with SPI, you must go to Tools->Options->Targe, then select SPI communication in the EVM communication section. The PCM5142 EVM will not work by default as the SRC part must be configured, but the PCM5142 will default to I2S slave mode on reset with a ROM filter enabled.

    Justin