You are here

Programmable Analog Enables 7 DACs in a 4 VDAC Part | Cypress Semiconductor

Programmable Analog Enables 7 DACs in a 4 VDAC Part

 What can’t programmability solve?  One of our applications engineers and brilliant analog designers, Mark Hastings, recently put together a project in PSoC Creator implementing 7 DACs.  While this may not seem too exciting at first glance, take a look at our higher end analog PSoC 3 or PSoC 5 parts and you’ll notice the datasheets only advertise 4 VIDACs at most.  So how did he do it?  Using the programmable analog capabilities on the chip—a feature unique to our PSoC products. 

Here’s an excerpt from his design explanation:

“A single VDAC can be used to create 4 additional VDACs by using the CT/CT [programmable analog] blocks as Track and Hold components.  Using a LUT as a simple state machine, it generates DMA requests and Track/Hold pulses to properly sequence through the four outputs.  The data for the four DACs is kept in an array that is easily set in software.

The DMA automatically refreshes each of the DACs with the array [values] at a high enough rate that the Sample and Hold output will not decay significantly.  In the test project the Track and Hold components were refreshed every 8 uSec.  Since DMA is doing all the work keeping the DACs refreshed, the CPU overhead is zero until an output is updated by the CPU which is exactly the same overhead as updating a normal DAC.  The other three unused DAC [peripherals] may be used as VDACs or IDACs for a total of seven DACs.

Lots of DACs

 

Unlike PWM DACs [which can also be implemented with our programmable architecture] these don’t require an external RC filter and actually have a lower output impedance than the standard VDACs without using an op-amp.  The down side [to this implementation] is that they [the 4 additional VDACs] incur the input offset error of a couple mVolts of the CT [programmable analog] blocks and of course they use up a CT block for each VDAC output.  This method could easily be scaled from 2 to 4 VDACs.”

The value of the programmable analog blocks in our PSoC devices is often not fully understood, but with implementations like the above (and there are many other examples such as this) it’s easier to see what can be done and why we spend so much effort in ensuring our programmable fabric spans across the analog and digital domains. Within the PSoC 3 and PSoC 5 category, you’ll find a mix of parts that have 0 to 4 VIDACs and 0 to 4 programmable analog blocks as well as many other variations to help you in selecting the right size programmable part so you get the maximum value in the smallest device.  View the parts available in the parametric tables here: PSoC 3-www.cypress.com/go/psoc3 and PSoC 5-www.cypress.com/go/psoc5.

Comments

Arther's picture

what is track and hold component?

ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.