Hello All, I have not used any of the LPCxxx devices before. I am considering using an LPC2138 in an application which must read data from an ADS1271 24bit A/D using an SPI interface. In looking at the SSP specification for the LPC2138, it can handle a maximum frame size of 16 bits. Does anyone know of a way to extend this to 24bits without CPU intervention? Has anyone done something similar? The ADS2171 will have a 100kHz data rate, so I'm worried about having interrupts on a Byte by Byte basis, as that would be a 300kHz interrupt rate (100kHz X 24/8). Thanks for any help. Jeff p.s. Great user group. Lots of good info. |
Using SSP with 24bit transfers
Started by ●January 28, 2005
Reply by ●January 28, 20052005-01-28
At 05:24 PM 1/28/05 +0000, you wrote: >In looking at the SSP specification for the LPC2138, it can handle a >maximum frame size of 16 bits. Does anyone know of a way to extend >this to 24bits without CPU intervention? Has anyone done something >similar? The ADS2171 will have a 100kHz data rate, so I'm worried >about having interrupts on a Byte by Byte basis, as that would be a >300kHz interrupt rate (100kHz X 24/8). I haven't worked with it yet, but it looks as if the FIFO should reduce your rate a little more, conservatively 4x (8 frame FIFO, 8 bit frames, interrupt on 1/2 full FIFO, FIFO emptied before another entry arrives) which take you down to 75kHz. That still only gives you 13 microseconds to perform the interrupt though (assuming you do nothing else). Robert " 'Freedom' has no meaning of itself. There are always restrictions, be they legal, genetic, or physical. If you don't believe me, try to chew a radio signal. " Kelvin Throop, III |
Reply by ●January 28, 20052005-01-28
At 05:24 PM 1/28/05 +0000, you wrote: >I have not used any of the LPCxxx devices before. I am considering >using an LPC2138 in an application which must read data from an >ADS1271 24bit A/D using an SPI interface. Actually, I have another question. As a matter of curiosity what kind of source do you have that's 24 bit's accurate? And what are you using for a reference? (24 bits implies something like 1 part in 10,000,000. or 0.2 microvolts in 5V) Robert " 'Freedom' has no meaning of itself. There are always restrictions, be they legal, genetic, or physical. If you don't believe me, try to chew a radio signal. " Kelvin Throop, III |
Reply by ●January 29, 20052005-01-29
--- In , "wittrockjeff" <jwittrock@m...> wrote: > > Hello All, > > I have not used any of the LPCxxx devices before. I am considering > using an LPC2138 in an application which must read data from an > ADS1271 24bit A/D using an SPI interface. > > In looking at the SSP specification for the LPC2138, it can handle a > maximum frame size of 16 bits. Does anyone know of a way to extend > this to 24bits without CPU intervention? Has anyone done something > similar? The ADS2171 will have a 100kHz data rate, so I'm worried > about having interrupts on a Byte by Byte basis, as that would be a > 300kHz interrupt rate (100kHz X 24/8). > > Thanks for any help. > Jeff > > p.s. Great user group. Lots of good info. Hi Jeff we are using 2138 with and ads1251 but only at 9.6Khz the problem we had running at faster rates is processing the data at the current rate we only have 104us to work with between measurements at 100Khz this is down to 10us not sure about the 1271 but the 1251 requires some block averaging of readings to achieve the the maximum resolution is this case? paul |
|
Re: Using SSP with 24bit transfers
Reply by ●January 29, 20052005-01-29
> Hi Jeff > we are using 2138 with and ads1251 but only at 9.6Khz the problem we > had running at faster rates is processing the data at the current rate > we only have 104us to work with between measurements at 100Khz this is > down to 10us not sure about the 1271 but the 1251 requires some block > averaging of readings to achieve the the maximum resolution is this case? > > paul Geez, makes me feel out of breath... :-) .... you could suffocate speaking this out loud .... |
Reply by ●January 29, 20052005-01-29
Hello Rob, I will be interfacing to various hall effect sensors. Absolute accuracy doesn't really have much to do with my selecting a 24bit A/D though. I will only need a voltage measurement accuracy on the order of 0.1%. In the past I have used various high resolution sigma-delta converters and have never achieved 24bit noise free resolution, but I have had designs which have routinely achieved say 19-20 bit resolution at low data rates. My real reason for using a sigma-delta A/D is the inherent linearity, and wide dynamic range. In other words I may at times have to measure a change of 0.1Gauss in the presence of a 10kGauss field even though I can't hope to have an absolute accuracy of 0.1G out of 10kG (0.001%) with a hall effect sensor. Jeff --- In , Robert Adsett <subscriptions@a...> wrote: > At 05:24 PM 1/28/05 +0000, you wrote: > >I have not used any of the LPCxxx devices before. I am considering > >using an LPC2138 in an application which must read data from an > >ADS1271 24bit A/D using an SPI interface. > Actually, I have another question. As a matter of curiosity what kind of > source do you have that's 24 bit's accurate? And what are you using for a > reference? (24 bits implies something like 1 part in 10,000,000. or 0.2 > microvolts in 5V) > > Robert > > " 'Freedom' has no meaning of itself. There are always restrictions, > be they legal, genetic, or physical. If you don't believe me, try to > chew a radio signal. " > > Kelvin Throop, III |
Reply by ●January 29, 20052005-01-29
--- In , "beano040461" <paulbearne@b...> wrote: > > --- In , "wittrockjeff" <jwittrock@m...> wrote: > > > > Hello All, > > > > I have not used any of the LPCxxx devices before. I am considering > > using an LPC2138 in an application which must read data from an > > ADS1271 24bit A/D using an SPI interface. > > > > In looking at the SSP specification for the LPC2138, it can handle a > > maximum frame size of 16 bits. Does anyone know of a way to extend > > this to 24bits without CPU intervention? Has anyone done something > > similar? The ADS2171 will have a 100kHz data rate, so I'm worried > > about having interrupts on a Byte by Byte basis, as that would be a > > 300kHz interrupt rate (100kHz X 24/8). > > > > Thanks for any help. > > Jeff > > > > p.s. Great user group. Lots of good info. > > Hi Jeff > we are using 2138 with and ads1251 but only at 9.6Khz the problem we > had running at faster rates is processing the data at the current rate > we only have 104us to work with between measurements at 100Khz this is > down to 10us not sure about the 1271 but the 1251 requires some block > averaging of readings to achieve the the maximum resolution is this case? > > paul Hello Paul, You are right about having to do filtering in software in order to use the high resolution to best advantage. I don't expect to be able to do much (any?) signal processing in real time. Instead I would just shoot the A/D results into a reasonable size buffer, and do AVG or RMS calculations after the fact. One other requirement for this project would require some real time math. I would be integrating a voltage from a flux sense coil. This requires a continuous conversion and adding the A/D result to what would probably have to be a floating point variable. This is my first look at any ARM core, so I'm still looking at things like interrupt response time, speed of floating point math with GNU tools, or IAR tools etc, and am unsure if its a very good fit for what I'm trying to do. Thanks, WITTROCK |
|
Reply by ●January 30, 20052005-01-30
Fine Jeff our application is not so speed intensive on the AtoD but we do have to implement an FIR, our main restriction on the speed is also that the atod value has to be produced over modbus so comms speed tends to be the major restriction. We did a lot of timing tests when we started the project before christmas if you like i could send them to you. i could also send you the ssp code although with the 125x sharing the data line with the dataready, we use an external int to pick up the dataready and then just squirt 3 characters up the spi and to get the 24 bits of data back so not sure if relevant. paul |