Skip to main content
tta
Associate II
February 18, 2008
Question

STM32F10F10X-128K-EVAL ADC noise

  • February 18, 2008
  • 10 replies
  • 1707 views
Posted on February 18, 2008 at 14:54

STM32F10F10X-128K-EVAL ADC noise

    This topic has been closed for replies.

    10 replies

    tta
    ttaAuthor
    Associate II
    May 17, 2011
    Posted on May 17, 2011 at 12:23

    X axis : 13=-2, 14=-1, 15=right ADC value, 16=+1 17+2 and so on

    Y axix : number of hits

    you see I wrote: here are the ADC result displayed as accumulated hits in distance from right value, but ok the 15 = centre value was not really explained, sorry.

    both plots taken over the same time unit, see the number of correct hits are 60 and 275 quite a big difference.

    obtronix
    Associate II
    May 17, 2011
    Posted on May 17, 2011 at 12:23

    so what are the x-axis and y-axis units? One is error counts and the other...?

    tta
    ttaAuthor
    Associate II
    May 17, 2011
    Posted on May 17, 2011 at 12:23

    if you use the cool board : STM32F10F10X-128K-EVAL

    and if you like to experiment with ADC you should disconnect the LCD.

    here are the ADC result displayed as accumulated hits in distance from right value, with LCD and without.

    http://www.webx.dk/stm32/st-lcd-mountedb.bmp

    with LCD on ST kit

    http://www.webx.dk/stm32/st-lcd-removedb.bmp

    no LCD on ST kit

    I have also tested other dev boards like the keil board and the circle,

    both also add noise to the ADC, due to switched power supply or long tracks to critical analog CDD and analog GND. so keep this in mind if you need full ADC resolution.

    Yours: Thomas Scherrer - OZ2CPU Denmark - www.webx.dk

    [ This message was edited by: tta on 13-02-2008 15:53 ]

    [ This message was edited by: tta on 13-02-2008 16:01 ]

    tta
    ttaAuthor
    Associate II
    May 17, 2011
    Posted on May 17, 2011 at 12:23

    IO ?? what do you mean.

    this is the onboard potentiometer connected to ADC14 on the eval board.

    and when the LCD is connected in the socket, NOT initialized or anything,

    ONLY power applied, all IO pins are non switching during this test !

    PS: how did you put that picture on your profile ?

    I cant find it ?

    [ This message was edited by: tta on 14-02-2008 17:19 ]

    olivier239955
    Visitor II
    May 17, 2011
    Posted on May 17, 2011 at 12:23

    Could you please presice on which IO these measures are performed ?

    Regards,

    tta
    ttaAuthor
    Associate II
    May 17, 2011
    Posted on May 17, 2011 at 12:23

    >Ok, that's some good data,

    thanks :)

    >did you try to run the A/D using DMA with the Core disabled?

    >That would be an interesting test.

    ?? why would that be interesting ?

    the test show 100% of the noise is comming from the LCD switcher !

    when I remove the LCD I have under 1LSB of noise at 12bits,

    that is with DMA and ADC and CPU running at full speed !

    it is impossible to have zero bits of jitter, at any input voltage,

    you see if you simply set the ADC voltage to a voltage centre aligned to ½LSB that bit will flip all the time with ½ your sample rate,

    and same issue witl 1/3 of and LSB and so on :)

    obtronix
    Associate II
    May 17, 2011
    Posted on May 17, 2011 at 12:23

    Quote:

    On 14-02-2008 at 08:35, Anonymous wrote:

    X axis : 13=-2, 14=-1, 15=right ADC value, 16=+1 17+2 and so on

    Y axix : number of hits

    you see I wrote: here are the ADC result displayed as accumulated hits in distance from right value, but ok the 15 = centre value was not really explained, sorry.

    both plots taken over the same time unit, see the number of correct hits are 60 and 275 quite a big difference.

    Ok, that's some good data, did you try to run the A/D using DMA with the Core disabled? That would be an interesting test.

    I have used some Analog Devices micros with 12 bit A/D's and could get it so no bits would flip on LSB bit with the core running, but those chips were basically high quality A/D's with a core wrapped around it as an after thought, they sacrificed everything to make that A/D perform. Silabs are similar, I believe, but never used them. It's very hard to make a good A/D on the same chip as a CPU, there are conflicting requirements (die material that is good for an A/D is bad for a CPU)

    olivier239955
    Visitor II
    May 17, 2011
    Posted on May 17, 2011 at 12:23

    I am sorry but the profile has been created long time ago and I don't remember how it has been done.

    I think this noise is related to the step-up regulator used to supply the backlight LEDs.

    This ADC input line is very long on the board since the corresponding IO is connected to the daughter board connector and to potentiometer far from the MCU.

    Such general purpose board is not designed for analog signals optimization. Maybe a simple low pass filter close to the MCU should improve the noise immunity but in this case the corresponding IO is no more usable as digital signal.

    Regards,

    tta
    ttaAuthor
    Associate II
    May 17, 2011
    Posted on May 17, 2011 at 12:23

    you are right, the program I used to make realtime curves is

    http://www.webx.dk/XMON

    it dont have the bargraph mode yet,

    it draws connected lines from points, but I will add it to the idea list.

    [ This message was edited by: tta on 18-02-2008 19:28 ]

    obtronix
    Associate II
    May 17, 2011
    Posted on May 17, 2011 at 12:23

    Quote:

    On 18-02-2008 at 09:17, Anonymous wrote:

    >Ok, that's some good data,

    thanks :)

    >did you try to run the A/D using DMA with the Core disabled?

    >That would be an interesting test.

    ?? why would that be interesting ?

    the test show 100% of the noise is comming from the LCD switcher !

    when I remove the LCD I have under 1LSB of noise at 12bits,

    ok, I thought the graph showed you have a spread of 5 counts, but looking at it again that is not true, my mistake (probably would of been better as a bar chart)