Other Parts Discussed in Thread: ADS8329
Tool/software:
Hi Masters,
I am reading data from an ADC with the following code.
SSIConfigSetExpClk(SSI0_BASE, systemClock, SSI_FRF_MOTO_MODE_0,
SSI_MODE_MASTER, 30000000, 16);
//
// Enable the SSI module.
//
SSIEnable(SSI0_BASE);
//Read residual data in the FIFO
while (SSIDataGetNonBlocking(SSI0_BASE, &sample_data[0]))
{ }
for (i=0; i<N_sample; i++)
{
// manual trigger a sampling, /CONVST low for at least 40ns
GPIOPinWrite ( GPIO_PORTF_BASE, GPIO_PIN_4, 0 );
GPIOPinWrite ( GPIO_PORTF_BASE, GPIO_PIN_4, GPIO_PIN_4 );
SSIDataPut(SSI0_BASE,i);
SSIDataGet(SSI0_BASE, &sample_data[i]);
while(SSIBusy(SSI0_BASE))
{ }
}
There is a delay between neighboring SSIDATAGET(). As I use 30MHz SSI clock, I get a reading period of 2.06us (the delay is 1.52us), if I use a 40MHz SSI clock, the reading period is 1.789us (the delay is 1.48us).
Is it possible to reduce the delay and increase the reading rate?
Thanks a lot,
Zhonghai