SLAAE21 April 2021 DAC43701 , DAC43701-Q1 , DAC53701 , DAC53701-Q1
Key Input Parameter | Key Output Signal | Recommended Device |
---|---|---|
0-V to 5.5-V analog input, programmable triangular waveform | Pulse-width modulation (PWM) output | DAC53701, DAC43701, DAC53701-Q1, DAC43701-Q1 |
Objective: Translate digital inputs to a variable duty cycle PWM output.
This design uses a buffered voltage output smart DAC to decode two general-purpose inputs (GPIs) into a constant-frequency PWM output with four selectable duty cycle levels. This design can be expanded to increase the number of GPIs and duty cycle levels. The 8-bit DAC43701 and 10-bit DAC53701 have an integrated continuous waveform generator (CWG) that can produce square, triangular, and sawtooth waveforms. In this design, the integrated buffer acts as a comparator and a triangle waveform generated by the CWG acts as the threshold for the comparator. The DAC43701 and DAC53701 integrated buffer has an exposed feedback path via the feedback pin (FB) which acts as the voltage input to the comparator. The comparator generates a PWM output with the same frequency as the triangle wave, and a duty cycle dependent on the FB input. All register settings can be saved using the non-volatile memory (NVM) on the DAC43701 and DAC53701 meaning that the devices can be used without a processor, even after a power cycle. This circuit can be used in applications such as automotive rear lights, rear light fault indication, and fault communication in factory automation and control designs.
The equation becomes:
This is rounded to 819d and 205d to give a VTRIANGLE_HIGH of 3.999V and VTRIANGLE_LOW of 1V.
SLEW_RATE and CODE_STEP are selected in the GENERAL_CONFIG Register. A CODE_STEP of 8 least significant bits (LSBs) and SLEW_RATE of 32μs per code step can be selected to produce a frequency of 203.25Hz:
This schematic is used for the following simulations of the DAC53701 GPI to PWM.
The simulation shows the DAC53701 output responding to the changes on GPI1 and GPI2. The DAC_POS value reflects the triangle wave generated by the CWG. The value at VFB changes with the voltage levels on the GPI pins and adjusts the duty cycle of the PWM output.
Register Address | Register Name | Setting | Description |
---|---|---|---|
0xD1 | GENERAL_CONFIG | 0x0A20 | [15:14] 0b00: Selects triangular waveform to be generated by the continuous waveform generator (CWG) |
[13] 0b0: Write 0b1 to lock device. Unlock by writing 0b0101 to DEVICE_UNLOCK_CODE field in the PROTECT register | |||
[12] 0b0: Write 0b1 to enable PMBus mode | |||
[11:9] 0b101: Selects code step of 8 LSB used for programmable slew rate control | |||
[8:5] 0b0001: Selects slew rate of 32µs per code step used for programmable slew rate control | |||
[4:3] 0b00: Powers up the device output | |||
[2] 0b0: Disables the internal reference | |||
[1:0] 0b00: Selects the gain to be applied to the internal reference | |||
0xD2 | CONFIG2 | 0x0800 | [15:14] 0b00: Configures the device I2C address |
[13:11] 0b001: Configures the GPI pin as Power-Up, Down (10kΩ) trigger | |||
[10] 0b0: Write 0b1 to generate a high priority medical alarm | |||
[9] 0b0: Write 0b1 to generate a medium priority medical alarm | |||
[8] 0b0: Write 0b1 to generate a low priority medical alarm | |||
[7:6] 0b00: Always write 0b00 | |||
[5:4] 0b00: Selects the interburst time for medical alarms | |||
[3:2] 0b00: Selects the pulse off time for medical alarms | |||
[1:0] 0b00: Selects the pulse on time for medical alarms | |||
0xD3 | TRIGGER | 0x0510 | [15:12] 0b0000: Write 0b0101 to unlock the device |
[11] 0b0: Don't care | |||
[10] 0b1: Write 0b1 to enable the GPI pin | |||
[9] 0b0: Write 0b1 to load all registers with factory reset values | |||
[8] 0b1: Write 0b1 to start continuous waveform generation output | |||
[7] 0b0: Write 1 to initiate PMBus MARGIN_HIGH command | |||
[6] 0b0: Write 1 to initiate PMBus MARGIN_LOW command | |||
[5] 0b0: Write 0b1 to reload applicable registers with existing NVM settings | |||
[4] 0b1: Write 0b1 to store applicable register settings to the NVM | |||
[3:0] 0b0000: Write 0b1010 to reset registers with existing NVM settings or default settings | |||
0x25 | DAC_MARGIN_HIGH | 0x0CCC | [15:12] 0b0000: Don't care |
[11:2] 0x333: 10-bit data updates the MARGIN_HIGH code | |||
[1:0] 0b00: Don't care | |||
0x26 | DAC_MARGIN_LOW | 0x0334 | [15:12] 0b0000: Don't care |
[11:2] 0xCD: 10-bit data updates the MARGIN_LOW code | |||
[1:0] 0b00: Don't care |
//SYNTAX: WRITE <REGISTER NAME (Hex code)>, <MSB DATA>, <LSB DATA>
//Power-up the device, internal reference disabled, set code step and slew rate
WRITE GENERAL_CONFIG(0xD1), 0x0A, 0x20
//Configure GPI for Margin-High, Low function
WRITE CONFIG2(0xD2), 0x08, 0x00
//Write DAC margin high code
WRITE DAC_MARGIN_HIGH(0x25), 0x0C, 0xCC
//Write DAC margin low code
WRITE DAC_MARGIN_LOW(0x26), 0x03, 0x34
//Enable the GPI, start CWG, save settings to NVM
WRITE TRIGGER(0xD3), 0x05, 0x10
Device | Key Features | Link |
---|---|---|
DAC53701 | 10-bit buffered voltage-output smart digital-to-analog converter | ti.com/product/DAC53701 |
DAC53701-Q1 | Automotive 10-bit buffered voltage-output smart digital-to-analog converter | ti.com/product/DAC53701-Q1 |
DAC43701 | 8-bit buffered voltage-output smart digital-to-analog converter | ti.com/product/DAC43701 |
DAC43701-Q1 | Automotive 8-bit buffered voltage-output smart digital-to-analog converter | ti.com/product/DAC43701-Q1 |
Find other possible devices using the Parametric search tool.
See Analog Engineer's Circuit Cookbooks for TI's comprehensive circuit library.
Additional Resources
For direct support from TI Engineers, use the E2E community:
TI PROVIDES TECHNICAL AND RELIABILITY DATA (INCLUDING DATASHEETS), DESIGN RESOURCES (INCLUDING REFERENCE DESIGNS), APPLICATION OR OTHER DESIGN ADVICE, WEB TOOLS, SAFETY INFORMATION, AND OTHER RESOURCES “AS IS” AND WITH ALL FAULTS, AND DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY RIGHTS. |
These resources are intended for skilled developers designing with TI products. You are solely responsible for (1) selecting the appropriate TI products for your application, (2) designing, validating and testing your application, and (3) ensuring your application meets applicable standards, and any other safety, security, or other requirements. These resources are subject to change without notice. TI grants you permission to use these resources only for development of an application that uses the TI products described in the resource. Other reproduction and display of these resources is prohibited. No license is granted to any other TI intellectual property right or to any third party intellectual property right. TI disclaims responsibility for, and you will fully indemnify TI and its representatives against, any claims, damages, costs, losses, and liabilities arising out of your use of these resources. |
TI’s products are provided subject to TI’s Terms of Sale (www.ti.com/legal/termsofsale.html) or other applicable terms available either on ti.com or provided in conjunction with such TI products. TI’s provision of these resources does not expand or otherwise alter TI’s applicable warranties or warranty disclaimers for TI products. |
Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265
Copyright © 2020, Texas Instruments Incorporated |