Skip to main content
suppakit
Associate II
September 9, 2014
Question

ADC with Dual Regular simultaneous mode on STM32CubeF4

  • September 9, 2014
  • 6 replies
  • 1272 views
Posted on September 09, 2014 at 11:52

I implemented the ADC with Dual Regular simultaneous mode on the STM32CubeF4 library. I have problem on the initialization, seem it does not correctly. I tried to read Vref on the ADC1 and the ADC value on the ADC3 (Channel 9 and 14).

Can anyone help me about this?  May be give me the example about that.

Thank you very much.

PS. I implement them on STM32F437II.
    This topic has been closed for replies.

    6 replies

    raptorhal2
    Lead
    September 9, 2014
    Posted on September 09, 2014 at 22:04

    Dual regular simultaneous mode is available only for ADC 1 and ADC 2. See Section 13.9.2 in the Reference Manual.

    Cheers, Hal

    suppakit
    suppakitAuthor
    Associate II
    September 10, 2014
    Posted on September 10, 2014 at 07:11

    Hi Hal,

    Thank you very much for answer me.

    So, Do we have any way to read Vref on the ADC1 and the ADC value on the ADC3 (Channel 9 and 14)? 

    I need to use the Vref to calculate an accurate ADC.

    Tesla DeLorean
    Guru
    September 10, 2014
    Posted on September 10, 2014 at 14:28

    Wouldn't VRef be 0xFFF whatever voltage is was?

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
    suppakit
    suppakitAuthor
    Associate II
    September 10, 2014
    Posted on September 10, 2014 at 17:29

    Vref is mean the internal voltage reference. Sorry to make you confuse.

    Tesla DeLorean
    Guru
    September 10, 2014
    Posted on September 10, 2014 at 17:54

    VREFINT is available on ADC1_IN17

    Dual mode would use ADC1 and ADC2

    You're going to have to use ADC3 in scan mode to read your two channels. You can use ADC1 to measure the VREFINT point, and apply that to ADC2 and ADC3 values, as they share the same design and silicon process (ie assume identical performance)
    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
    Montassar BEN ROMDHANE_O
    Visitor II
    September 11, 2014
    Posted on September 11, 2014 at 13:58

    HiK. Suppakit,

    Previous comment is correct, but even if you cannot do simultaneous conversion with ADC1-ADC3 hardware link, you can still use them in parallel.

    Please find attached an example running on STM32F4 Discovery board:

    • ADC1 and ADC3 work in single mode
    • ADC1 and ADC3 share the same trigger (Timer TRGO)

      this is equivalent to pseudo multimode simultaneous
    • ADC1 and ADC3 have their results transferred automatically by DMA

    At each trigger event: ADC1 converts Vrefint, ADC3 converts channel 10 then channel 11

    LED on board is turned on when the ADC conversion sequence is completed

    Note: ADC trigger settings: This example allows selecting ADC trigger by timer or by software:

    • default setting: ADC trigger by timer: setting defined by constant ''ADC_TRIG_TIMER''. Both ADC are triggered by TIM2 (frequency 1Hz by default, can be changed with constant ''TIMER_FREQUENCY_HZ'')
    • alternate setting: ADC trigger by software setting defined by constant ''ADC_TRIG_SW''.
    From your configuration, we have replaced ADC3 channels 9 (pin PF3) and 14 (pin PF4) by ADC3 channels 10 (pin PC0) and 11 (pin PC1) to have these pins available on STM32F4 Discovery board.

    Regards.

    ________________

    Attachments :

    Example_ADC1_ADC3_several_channels_STM32F4-Discovery.7z : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006I1M0&d=%2Fa%2F0X0000000bln%2F1JdEfl6HYjRE6_aiAYEDzCruuE8ZESXy9h10CoG4ZFM&asPdf=false