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.

LP-MSPM0G3507: LP-MSPM0G3507

Part Number: LP-MSPM0G3507

Tool/software:

Hello,

I have a few questions about the steps involved in using the DAC self-calibration feature.

  1. According to the reference manual on page 753, it states that the CTL.AMP bit should be set first, followed by the CALCTL.CALON bit. However, when I follow these steps, I don't see any data in the DAC0_CALDATA register. Conversely, if I use DAC12_CALCTL_CALSEL_SELFCALIBRATIONTRIM in the DAC0->CALCTL register, data does appear in the DAC0->CALDATA register.

  2. Should I set the calibration bits before enabling DAC0?

  3. What does it mean when I see values like 8, 9, or 42 in the DAC0_CALDATA register? What do these values represent?

Additionally, I set the DAC output value to zero and measured approximately 3 mV on pin PA15 and GND with a multimeter without enabling self-calibration. After enabling self-calibration by setting the CTL.AMP bit and then configuring DAC0->CALCTL = DAC12_CALCTL_CALON_ACTIVE | DAC12_CALCTL_CALSEL_SELFCALIBRATIONTRIM, I observed around 5 mV on the multimeter and a DAC0_CALDATA value of 8. Could you help me understand why this change occurs?

Apart from that there is an error here

it must be 0h, 1h, 2h and 3h 

Best regards,
Ali

  • Hi Ali,

    Look at the Figure 14-6/7, let me using the negative one for a instruction.

    Without calibration, when you set less than 0x6, all the DAC output is always zero. This means your negative offset is 0x6. Then you should get the -0x6 in CALDATA.

    Then, when you want to output any DAC value, you should add a offset when you set the data into DATA0.

    - If you want to set 0x1F, then you should set "0x1F+0x6" instead.

    Should I set the calibration bits before enabling DAC0?

    I haven't test this before.

    For my understanding, Enable DAC-Enable Output-Enable AMP-Enable CALON-Wait done-Read CALDATA.

    Maybe you could check firstly, I could also test this later if this does not work.

    I observed around 5 mV on the multimeter and a DAC0_CALDATA value of 8. Could you help me understand why this change occurs?

    This means, when you set 0xFFF-0x8, the output will be your maximum reference output.

    B.R.

    Sal

**Attention** This is a public forum