CE204022 PSoC® 4 IDAC7 Sawtooth Waveform Generator.pdf

CE204022 - PSoC® 4 IDAC7 Sawtooth Waveform
Generator
Objective
This code example shows the user the basics of using the IDAC7 found in some PSoC® 4 devices. A simple sawtooth or
voltage ramp waveform is generated using the IDAC7 current Digital to Analog converter.
Overview
This code example generates a linear voltage ramp (sawtooth) waveform by incrementing the current DAC’s output until the
maximum value, it then starts back at zero. Since the IDAC7 is a current DAC, an external load resistor is used to generate a
voltage from the current source.
Requirements
Tool: PSoC Creator 3.3 SP2 or higher
Programming Language: C (GCC 4.9.0) or higher
Associated Parts: PSoC 4000S, PSoC 4100S and PSoC Analog Coprocessor
Related Hardware: CY8CKIT-041-40XX, CY8CKIT-041-41XX and CY8CKIT-048
Design
This simple design demonstrates how to create a voltage waveform from a current source. The IDAC is used to source a
current through an external resistor connected to Vss, See Figure 1 below. The waveform is seen across the resistor between
Vss and Vout. The internal IDAC7 is connected to GPIO port P0[7]. The Load Resistor is connected between P0[7] and Vss as
shown in Figure 1.
Figure 1 Voltage Ramp Generator Schematic
www.cypress.com
Document No. 002-04022 Rev.**
1
PSoC® 4 IDAC7 Sawtooth Waveform Generator
Design Considerations
With the 3.3K load resistor and using the highest current range (600 uA), the voltage swing will be between 0 and 2Vpp. Use
ohms law to calculate the voltage range that is required for a specific project. The load resistor was selected to generate a 2
volt peak-to-peak signal using the highest current range. The load resistor is calculated using ohms law R = V/I, see Equation
1 below.
Equation 1
RLoad =
ଶ୚
଺଴଴୳୅
= 3.3 ‫ܱ ܭ‬ℎ݉ ‫ݏ‬
By either changing the load resistor and/or selecting one of 6 current ranges, any voltage range between the supply rails can
be achieved. Additionally a waveform may be referenced to Vdda instead of Vss by changing the Polarity to “Negative (Sink)”
and connecting the load resistor to Vdda instead of Vss. The IDAC’s range and polarity may also be changed during runtime
with the IDAC7_1_SetRange() and IDAC7_1_SetPolarity() functions respectively.
Hardware Setup
For this code example a 3.3K resistor needs to be connected from Port P0[7] to Vss as shown in Figure 1. Connect an
oscilloscope across the resistor to observe the waveform.
Components
Table 1 lists the PSoC Creator Components used in this example, as well as the hardware resources used by each.
Table 1. List of PSoC Creator Components
Component or User Module
Version
Hardware Resources
IDAC7_1
1.0
Capsense block
Iout
2.20
GPIO ( P0[7] )
Resistor
1.0
External Components
Parameter Settings
The IDAC7 component has three parameters, Polarity, Range, and Value. For this example, the Polarity should be set to
“Positive (Source)” and the Range to “0-609.6 uA”. The Value does not matter since it will be changed during runtime in the
code.
Figure 2 IDAC7 user interface
www.cypress.com
Document No. 002-04022 Rev.**
2
PSoC® 4 IDAC7 Sawtooth Waveform Generator
Operation
1)
Attach 3.3K load resistor between port P0[7] and Vss.
2)
Attach scope probe across load resistor.
3)
Observe a 2 volt peak-to-peak sawtooth waveform on oscilloscope.
Related Documents
Table 2 lists all relevant application notes, code examples, knowledge base articles, device datasheets, and Component
datasheets.
Table 2. Related Documents
Application Notes
AN211293
Getting Started with PSoC® Analog Coprocessor
PSoC Creator Component Datasheets
IDAC7
IDAC7 Datasheet
Pins
General Purpose IO Pins
Device Documentation
CY8C4Axx Datasheet
PSoC® Analog Coprocessor: CY8C4Axx Family Datasheet
CY8C4200 Datasheet
PSoC® 4200 Programmable Digital
CY8C4200M Datasheet
PSoC® 4: PSoC 4200M Family Datasheet
Development Kit (DVK) Documentation
CY8CKIT-048 PSoC® Analog Coprocessor Pioneer Kit
CY8CKIT-042 PSoC® Pioneer Kit
CY8CKIT-044 PSoC® Pioneer Kit
PSoC® Family Web Page
PSoC® Analog Coprocessor
32-bit ARM® Cortex®-M0 PSoC® 4200 Programmable Digital
www.cypress.com
Document No. 002-04022 Rev.**
3
PSoC® 4 IDAC7 Sawtooth Waveform Generator
Document History
Document Title: CE204022 - PSoC® 4 IDAC7 Sawtooth Waveform Generator
Document Number: 002-04022
Revision
**
ECN
5265164
www.cypress.com
Orig. of
Change
MEH
Submission
Date
1/22/2016
Description of Change
New Code Example
Document No. 002-04022 Rev.**
4
PSoC® 4 IDAC7 Sawtooth Waveform Generator
Worldwide Sales and Design Support
Cypress maintains a worldwide network of offices, solution centers, manufacturer’s representatives, and distributors. To find
the office closest to you, visit us at Cypress Locations.
PSoC® Solutions
Products
ARM® Cortex® Microcontrollers
cypress.com/arm
PSoC 1 | PSoC 3 | PSoC 4 | PSoC 5LP
Automotive
cypress.com/automotive
Cypress Developer Community
Clocks & Buffers
cypress.com/clocks
Interface
cypress.com/interface
Lighting & Power Control
cypress.com/powerpsoc
Memory
cypress.com/memory
PSoC
cypress.com/psoc
Touch Sensing
cypress.com/touch
USB Controllers
cypress.com/usb
Wireless/RF
cypress.com/wireless
Forums | Projects | Videos | Blogs | Training | Components
Technical Support
cypress.com/support
PSoC is a registered trademark and PSoC Creator is a trademark of Cypress Semiconductor Corporation. All other trademarks or registered trademarks
referenced herein are the property of their respective owners.
Cypress Semiconductor
198 Champion Court
San Jose, CA 951341709
Phone
Fax
Website
: 408-943-2600
: 408-943-4730
: www.cypress.com
© Cypress Semiconductor Corporation, 2016. This document is the property of Cypress Semiconductor Corporation and its subsidiaries, including
Spansion LLC (“Cypress”). This document, including any software or firmware included or referenced in this document (“Software”), is owned by
Cypress under the intellectual property laws and treaties of the United States and other countries worldwide. Cypress reserves all rights under such
laws and treaties and does not, except as specifically stated in this paragraph, grant any license under its patents, copyrights, trademarks, or other
intellectual property rights. If the Software is not accompanied by a license agreement and you do not otherwise have a written agreement with
Cypress governing the use of the Software, then Cypress hereby grants you a personal, non-exclusive, nontransferable license (without the right to
sublicense) (1) under its copyright rights in the Software (a) for Software provided in source code form, to modify and reproduce the Software solely for
use with Cypress hardware products, only internally within your organization, and (b) to distribute the Software in binary code form externally to end
users (either directly or indirectly through resellers and distributors), solely for use on Cypress hardware product units, and (2) under those claims of
Cypress’s patents that are infringed by the Software (as provided by Cypress, unmodified) to make, use, distribute, and import the Software solely for
use with Cypress hardware products. Any other use, reproduction, modification, translation, or compilation of the Software is prohibited.
TO THE EXTENT PERMITTED BY APPLICABLE LAW, CYPRESS MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD
TO THIS DOCUMENT OR ANY SOFTWARE OR ACCOMPANYING HARDWARE, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. To the extent permitted by applicable law, Cypress reserves the right to
make changes to this document without further notice. Cypress does not assume any liability arising out of the application or use of any product or
circuit described in this document. Any information provided in this document, including any sample design information or programming code, is
provided only for reference purposes. It is the responsibility of the user of this document to properly design, program, and test the functionality and
safety of any application made of this information and any resulting product. Cypress products are not designed, intended, or authorized for use as
critical components in systems designed or intended for the operation of weapons, weapons systems, nuclear installations, life-support devices or
systems, other medical devices or systems (including resuscitation equipment and surgical implants), pollution control or hazardous substances
management, or other uses where the failure of the device or system could cause personal injury, death, or property damage (“Unintended Uses”). A
critical component is any component of a device or system whose failure to perform can be reasonably expected to cause the failure of the device or
system, or to affect its safety or effectiveness. Cypress is not liable, in whole or in part, and you shall and hereby do release Cypress from any claim,
damage, or other liability arising from or related to all Unintended Uses of Cypress products. You shall indemnify and hold Cypress harmless from and
against all claims, costs, damages, and other liabilities, including claims for personal injury or death, arising from or related to any Unintended Uses of
Cypress products.
Cypress, the Cypress logo, Spansion, the Spansion logo, and combinations thereof, PSoC, CapSense, EZ-USB, F-RAM, and Traveo are trademarks or
registered trademarks of Cypress in the United States and other countries. For a more complete list of Cypress trademarks, visit cypress.com. Other
names and brands may be claimed as property of their respective owners.
www.cypress.com
Document No. 002-04022 Rev.**
5