2 Replies Latest reply on Mar 19, 2018 2:16 PM by MiRo_263836

    PSoC 6 MCU Current Digital to Analog Converter (IDAC)


      IDACs have been included in every PSoC MCU, since the PSoC 1. They source or sink current and can be updated from memory using Direct Memory Access (DMA) to create a waveform, like the WaveDAC Component. Since the IDAC is current based, it can be connected in parallel and externally, to create complex wave forms. If you need a VDAC, just add an external resistor to give you the voltage range that you want.

      The features of the PSoC 6 MCU IDAC include:

      • Six current ranges (4.96-μA to 635-μA)
      • Sink or Source current
      • 7-bit resolution
      • Two IDACs can be put in parallel to form an 8-bit IDAC or create
        complex wave forms
      • Add external resistor for VDAC functionality


      A typical application for an IDAC is to control the feedback on a voltage regulator to trim it to exactly where you want.


      In the above application, the IDAC can sink or source current making the range the twice as large as a 7-bit IDAC with sink or source only. You effectively have an 8-bit IDAC.

      These APIs are used to control the range and polarity. 

      • void IDAC7_SetPolarity (uint32 polarity)
      • void IDAC7_SetRange (uint32 range)


      Another IDAC application is a level shifter.  If you sink current, the signal at the ADC input decreases. If you source current, the signal at the ADC increases. You can use the current sourcing technique to measure negative voltages.



      I have been a PSoC Specialist for Arrow for 5 years and 7 years total. I am a PSoC Zealot as per Dave Van Ess (for those of you who remember when Dave was at Cypress). The IDACs are great, very useful for many applications and they can save you space and cost in many instances..


      Feel free to ask questions or leave a comment!