Hello
I need to interface LTC2335-16 adc with LPCXpresso54628.For that is there any sample code is available. if not, then how I can interface?
Solved! Go to Solution.
Hi,
Thanks for the replay. Am sharing the spi pins for two adc(SDI,SDO,SCLK,CNV) chip select 1&2 and busy1&2 pins are given separately .
Hi,
I have downloaded the data sheet of LTC2335-16 Linear website.
Because you want to interface with LPC54628, this is my suggestion. The LPC54628 has SCTimer, PINT and SPI module, I think you can connect the LPC54628 with LTC2335-16 in this way:
1)you can use SCTimer to generate PWM signal and output it to SCTimer_OUTx and connect the SCTimer_OUTx to CNV pin of LTC2335-16 .
2)Connect the Busy signal of LTC2335-16 to any GPIO pin of LPC54628, configure the GPIO pin as PINT0 triggering source, when the Busy signal is low, an PINT0 interrupt is triggered, the PINT0_ISR() function is executed.
3)connect one SPI module of LPC54628 as master to LTC2335-16, in detail
master SPI module of LPC54628 LTC2335-16
/CS /CS
SCK SCKI
MOSI SDI
MISO SDO
From software, you can write the SPI transmitter data register in PINT0_ISR() to launch the SPI timing, you can use SPI polling mode to get the ADC result
The PWM signal is used to control the ADC conversion rate
Hope it can help you
BR
XiangJun Rong
Hi,
Can you share the LPC54628 has SCTimer sample code. So i will have the better idea.
BR
Nithin
Hi,
Pls download SDK package of LPC54628 from the website:
https://mcuxpresso.nxp.com/en/welcome
There is PWM generation example and SPI master example in the SDK package
Hope it can help you
BR
XiangJun Rong
Hi,
Thanks for the reply.
My design am using two LTC2335 adc and need to read every one millisecond this both adc and push data to a buffer.so how i switch this two adc ?
To send data to adc need to use control word so that i need to write PINTO_ISR() function one by one for two adc .and read data I need decode the data from polling method one by one. is that right?. if am wrong please tell me how to handle this two adc read write operation I millisecond.
your reference am sharing cnv pin. Sck 1khz, SC Timer pwm setting 1 khz.
BR
Nithin
Hi,
The LPC54628 has multiple SPI modules, multiple Pint modules and the same SCTimer can output multiple PWM signals with the same PWM signal frequency.
You can connect like:
ADC0: one PWM output signal from SCTimer as ADC conversion signal, the ADC0 Busy signal triggers for example PINT0 module, use SPI3 to transfer spi data.
ADC1: another PWM output signal from SCTimer as ADC1 conversion signal, the ADC1 Busy signal triggers for example PINT1 module, use SPI4 to transfer spi data.
In this way, both the ADC0 and ADC1 work independently.
Hope it is helpful
BR
XiangJun Rong
Hi,
Can you show me one example for ADC0: one PWM output signal from SCTimer as ADC conversion signal, the ADC0 Busy signal triggers for example PINT0 module, use SPI3 to transfer spi data.
Hi,
As you know that all the SCTimer, PINTx and SPI all have the example, you have to assemble them in one project, and develop the code yourself
BR
XiangJun Rong
Hi,
lpcxpresso54618_sctimer_simple_pwm :- SCTimer
lpcxpresso54618_pint_pin_interrupt :-PINTx
lpcxpresso54608_spi_interrupt :-SPI
Can I use this example for my project.
Hi ,
For your reference am using same spi for both adc
Hi,
I suppose that you have to use two SPI modules, each ADC requires one SPI module.
BR
XiangJun Rong
Hi,
Thanks for the replay. Am sharing the spi pins for two adc(SDI,SDO,SCLK,CNV) chip select 1&2 and busy1&2 pins are given separately .