Other Parts Discussed in Thread: ADS4246
Dear TI,
I would like to request the FPGA code example for ADS4246EVM and C code for SPI configuration.
Regards,
Thiha Kyaw
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.
Dear TI,
I would like to request the FPGA code example for ADS4246EVM and C code for SPI configuration.
Regards,
Thiha Kyaw
Dear Jim,
TSW1400EVM uses Altera FPGA. I am using Xilinx. Therefore I cannot use it.
I want to ask some questions about SPI configuration.
I can get the correct data when I use TEST PATTERNS. I send the data through SPI as follow:
Input CLK = 50MHz
Address > Value
0x25 > 0x02 (All ONE)
0x2B > 0x03 (Toggle)
0x42 > 0x08 (Enable Digital)
I got the following output
I assume that my IP core for ADS4246 is working fine.
Then I want to test with a read Analog Signal to chip.
Which kind of configuration should I do through SPI?
Now I got the data but all signals are in square shape while actual signal is sign wave.
I set the dataformat (0x29 > 0x03 Offset binary).
I would like to know the correct procedure of SPI configuration to ADS4246 chip.
Please advise me.
Thanks.
Regards,
Thiha Kyaw
Thiha,
Please do a soft reset after power and clocks are applied. Set bit 1 to "1" in register 0x00. This is a self clearing bit.
Next, I would suggest changing the format to offset binary, address 0x29 data 0x18. Above you mention a data value of 0x03 for this register which is wrong.
If you are really writing 0x18, try 2's complement by setting this address to 0x00.
Regards,
Jim
Thiha,
Both address 0x25 and 0x2B need to be set to 0x03 for alternating 10 patterns. After writing to these registers do a read to verify they have the correct value. And register 0x42 must be set to 0x08.
Regards,
Jim
Thiha,
Are you using the part in CMOS output mode? Is the data mapped properly in your firmware? I would check your pin assignment on the FPGA side.
Another thing to try is swap the assignment inside the FPGA and see if the problem moves to the B side. If it moves then the problem might be the data coming from the ADC. Check the connector for a bent or broken pin if this is the case.
Regards,
Jim
Dear Jim,
I use DDR LVDS Output.
After swapping the pin assignment inside FPGA, the error bit moves to swapped pin accordingly. It means the output from ADS4246 to FPGA pin has problem.
The error only occurs only when the data transition at postive clk edge. Reading data from FPGA at negative clk edge is correct.
Please advise if you have any suggestion. I will try my best to solve the problem also.
Thanks.
Thiha,
The data that is clocked out of the ADC using the rising edge should be doubled registered inside the FPGA. The first register will use a rising edge (if no hold time is required) and the next register would use a falling edge of this same clock to register the data. This data will then line up with the data that is valid from the falling edge of the ADC output clock which will be clocked into the FPGA using only one register with a falling clock to register the data.
Regards,
Jim