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.

ADCPro bug?

Other Parts Discussed in Thread: ADS1258, ADCPRO, ALLIGATOR

Hi-

I'm using ADCPro that I downloaded from ti.com two days ago along with an MMB0 / ADS1258EVM.  I also downloaded the ADS1258 plug in two days ago.  So the code is up to date.

It seems like when using the Multichannel scope plug in, the whole scope display doesn't get fully updated.  Take a look at the attached GIF screen capture:

You can see a somewhat noisy sine-like wave with a sharp discontinuity at about sample 500.  If I set it to Continuous, only the part of the Multiscope display after the 500th sample is updated.  The first part from samples 0 to 500 is never updated.  This would seem to be a bug.  It only gets updated on the first pass that the data is sampled after you change something like the number of samples or FSR / Auto.

Further, when I try to capture samples and display them with the MultiFFT plug in, I can't seem to get it to display spectral plots below 20 Hz though it seems like it should be able to if I make my sampling rates low enough and the FFT block size long enough.  (I don't have a picture of this.)

And even further, it seems like if I use long block sizes and try to capture a large number of multiple channels, it just doesn't work.  Are there unpublished memory size limitations to the ADCPro code?  (Actually I haven't recently verified that this issue still exists, I know it did in an earlier version...)

Is there a list anywhere of known bugs and work arounds or a schedule for when and if there might be newer versions released?  Maybe these problems are actually NI's bugs?

Thanks,

 -Randy

  • Hi Randy,

    We are looking into this now.  I know of no 'bugs' in the code so we'll run a few tests and get back to you ASAP.

  • Hi Randy, 

    I spent some time in the lab to see if I could reproduce what you are seeing and was unsuccessful. Are you leaving the input pins floating or are they connected to a signal of some sort? Could you give me a list of your configuration setup (autoscan mode?, clock speed, etc.)?

    The noisy sine wave that you are seeing looks like something similar to what we were seeing in very early versions of ADCPro years ago. We have since corrected the issue and placed a new version of the ADCPro software located at.

    www.ti.com/adcpro

    I know you state that you have the most recent versions of ADCPro and the plugin. Did you get these both from the web or did you use a cd? We used to release our EVM-PDKs with a CD used to install the plugin and ADCPro software. If you are using the CD to install the software, you may be running an older version of ADCPro.  

    As for the memory size limitation - I have to check with the ADCPro designer but I believe there was originally a bug with this and it was corrected in a later version. Let me find out what happened and will get back to you. In the meantime, try installing the ADCPro program from the website above first before installing the plugin. 

    Regards,

    Tony Calabria 

  • Tony-

    Sorry it's taken a couple of days to get back to this, I had a fire drill for something else that took my attention...

    The "sine" wave in my example is what I expected, I'm generating that.

    I downloaded the software from the TI web site and installed it the day before my first post.  Clicking Help > About ADCPro... indicates that I have:

    ADCPro Version 1.2.0b16

    ADS1258EVM Version 1.1.2

    MultiScope Version 1.2.0

    I'm using a Dell Lattitude D630 running XP Pro service pack 3.

    Here is how to replicate the problem:

    1) Power up the EVM from the wall wart and make sure it is plugged into the computer with the USB cable.  How the ADC's inputs are physically connected doesn't matter for this test because you can see the issue in the noise that is sampled.  I just have AIN1 and GND connected to alligator clips that I can short together or leave open.

    2) Double click the ADCPro icon from the desk top and wait for the splash screens to go away.

    3) Click EVM > ADS1258EVM.  It goes through the firmware download cycle and eventually indicates it is ready and the blue 7 segment display on the MMB0 shows it's typical pattern.

    4) On the EVM MUX tab, change it to Autoscan, and select only the AIN0 check box.  External loop multiplexer bypass is checked.

    5) On the EVM Clocks tab, change the clock source to MMB0, change the clock frequency to 4.000MHz.

    6) On the EVM Power and Ref tab, change it to Unipolar +5V, set the VREF DAC to 4.0V.  (I have the red EVM switches set to be compatible with this setting.)

    7) Click Test > MultiScope.  The scope screen pops up, no trace is displayed, and the Block size is indicated as 512.

    8) Click the Acquire button.  It displays a run of 512 samples.  If the inputs are as I discribed above, Autoscale should have expanded the trace so you should see a run of essentially low level noise.

    9) Click the Acquire button again.  It updates and displays a new run of 512 samples.

    10) On the MultiScope screen, manually change the block size from 512 to 2048.

    11) Click the Continuous button.  The EVM acquires what should be 2048 samples and the problem is now displayed.  The first 512 samples of the display are never updated.  Instead they show the 512 samples from when the Acquire button was last pushed when the MultiScope was set for a block size of 512.  The remaining 1536 samples are updated again and again.

    12) Click Continuous again to stop the sampling.

    13) Click Test > Unload Tester.  The MultiScope part goes away.

    14) Click Test > MultiScope.  The scope screen pops back up and it comes up with a randomly different number in the block size and displays that amount of data samples again instead of being empty. 

    15) Click the Continuous button.  The EVM now acquires the 2048 samples even though I haven't set the block size, and the number in the block size entry field now shows 2048.

    Steps 12 through 15 can be repeated and the block size comes up with a randomly different number each time.

    Now there may be other ways to get into this situation -- it may happen with other ADS1258EVM settings and it may even happen with other EVMs, but the way I describe above is surefire a way that always shows this problem.  I also have an ADS1278EVM and I think I have seen this problem with that too.

    Based on steps 12 through 15, it looks like some variables aren't getting initialized properly or at all or are not getting passed to some function properly.

    -Randy

     

  • Hello Randy,

    Thanks for your detailed instructions. It made it really easy to replicate the bug.

    We are currently working on an update to correct it, and we will inform you when the new version is available through this thread.

  • Rafael / Tony-

    Thanks.

    I believe there are several other initialization issues with the various other tools i.e. the MultiFFT and the MultiHist.  Maybe solving the issue I identified will be a generic solution that will also fix those other issues.  There seems to be some confusion between whether some settings are global to the whole ADCPro framework or are just local to each test tool.

    Also, say I am running ADCPro on my laptop running on its battery in order to get the best 60 cycle rejection.  In battery mode, if I'm not actively sampling data with ADCPro, my laptop goes to sleep after 10 minutes of inactivity.  When I wake it back up, ADCPro seems to have lost its connection with the EVM.  If I unload the EVM and then reload it, the message says it cannot make a connection and to reset the hardware.  The MMB0 has a reset button on it, but pushing that seems to do nothing.  Only removing the power to the MMB0 and re-applying it will fix this situation.  Then I have to go back through all the EVM screens to redo all my settings.  I'm not sure if this is a problem with ADCPro, or with USB attached devices in general, or even a problem, but I thought I'd point it out.

    -Randy