Hello,
I'm working with the ads1298 wich is connected with a HC08 family micro via SPI at a speed of 1MHZ. I'm testing my system with a signals generator that puts in the channel1, in a single ended configuration( in1+=generator in-=DGND), a sin waveform of 10Hz and Vmax=1.5V y Vmin=0V. After I've got the samples in the micro i transmit them to the computer via SCI. Then I grafic all with matlab. The Ads1298 is working with internal reference of +4V with AVDD=+2.5V and AVSS=-2.5V. Also i'm using the internal clock. I configure the AD to have only the channel1 power up and to sample at 500sps. My problem is the following.
When I try my system with this kind of waveforms appear lots of glitches. I'dont have any idea of what could be. I've already tested the Sci comunication and my matlab script and they don't have any issues. I'have also tested with a DC input instead of sin waveform of 10Hz and works just fine, so I' have no clue whatsoever.
Here is a picture of what I get when I sample a sin coming from a signals generator.
If anyone has any idea it would be really helpful. This is for a project that intends to get an EEG signal.
Thanks for your time, regards
Albert
Hi Albert,
When sampling the ADS1298 at 500SPS using only CH1 for data conversion, you'll need to read the 24-bits of the status word and 24-bits of the conversion result with every instance of the DRDY signal (2ms at 500SPS). With your 1MHz SPI clock, you should have plenty of time to read out the 48-bits. Are you using the DRDY as an interrupt to the HC08? How are you controlling the /CS input to the ADS1298?
Regards,
Tom
Hi Tom,
I'm using de DRDY as an interrupt, with the input capture peripheric of the micro I generate an interruption every falling edge of the DRDY signal. I've configure de AD in the RDATAC read data continous mode. I control the CS pin of the AD with an output of the micro that is always set low. I've tested the DRDY signal in the osciloscope and it seems just fine. Here is a stream of samples that I get from the AD in hexa:
(2 samples)
C000001FE694000000C00000004762000000
The first 3 bytes are from the status, the next 3 are from the channel1 and last 3 from the channel2(which is shut down). Every 9 bytes we have a sample from the AD.
Could be a problem with the spi?
Thanks tom for your time. Regards
Alberto
Hi Alberto,
This looks reasonable I suppose - I can't comment on the validity of the conversion result since I don't know what the analog input was when the conversion started. Is it possible to get a screen shot of the DRDY interface showing the SCLKS and your SDI/SDO?
Here are the osciliscope scopes:
This is the SCLK (green) and the DIN (purple) this is the MOSI (the master is the HC08), I'm sending a 0x00 through the spi interface towards the AD
Here is the SCLK in green again and the purple signal is the DOUT
This is the same scope but a bit closer:
If you see a problem in the spi comunication please let me know.
Here we also take a picture in matlab of a square waveform of 1Hz and Vmax=1.5V Vmin=1V. There is always a problem when signal change of value:
Thanks for your time. Regards,
Is the MatLab waveform conversion results from the ADS1298? Where is all of the overshoot coming from in your scope captures? I suspect you either have grounding problems on your board or you don't have the ground lead of your probe connected. SDI and SDO both appear to be going nearly 2V negative, so you'll want to take a look at your wiring as well. Is the ADS1298 on the same PCB as your controller or are you fly wired between two boards?
Hola Alberto
Que bueno encontrar a otro argentino en este foro!
Te cuento, yo estoy usando este integrado en dos placas diferentes. En ambas veo una fuerte influencia del ruido ambiente de 50 hz, lo cual complica muchisimo las mediciones. Actualmente, estoy tratando de implementar algún filtro digital de 50 Hz para ver si mi señal no se está ocultando tras ese ruido enorme.
Cuando tuve problemas similares a los que comentaste vos, los solucione referenciando la masa del integrado con la del lugar donde queria hacer la medicion que deseaba hacer, esto es aplicable solo si usas fuente partida. Por ejemplo, cuando lo probaba con un equipo generador de ecg, tuve que poner un cable que una las masas de los dos equipos. Cuando probe con una persona, uni la masa del circuito con un electrodo a la pierna derecha (en mi caso no tengo implementado el circuito driver RLD).
En mi caso nunca tuve problemas con la comunicación spi. Probaste con las señales de testeo internas?
La verdad que estaría muy bueno que intercambiaramos experiencias con este Integrado, cualquier cosa comunicate conmigo via email.
Saludos cordiales
Maximiliano