|
| 1 | +AD5460 no-OS Example Project |
| 2 | +============================ |
| 3 | + |
| 4 | +.. contents:: |
| 5 | + :depth: 3 |
| 6 | + |
| 7 | +Supported Evaluation Boards |
| 8 | +--------------------------- |
| 9 | + |
| 10 | +- :adi:`EVAL-AD5460ARDZ` |
| 11 | + |
| 12 | +Overview |
| 13 | +-------- |
| 14 | + |
| 15 | +The EVAL-AD5460ARDZ is an evaluation board designed to facilitate the |
| 16 | +use and understanding of the AD5460, a precision 16-bit |
| 17 | +digital-to-analog converter (DAC). The board integrates seamlessly with |
| 18 | +the Mbed OS platform via the EVAL-SDP-CK1Z, commonly referred to as the |
| 19 | +SDP-K1, enabling rapid prototyping and system integration. It features a |
| 20 | +user-friendly interface for easy programming and configuration, |
| 21 | +supporting various power supply options to cater to diverse application |
| 22 | +needs. The evaluation board is ideal for a range of applications, |
| 23 | +particularly where high-resolution signal conversion is required. |
| 24 | + |
| 25 | +Applications |
| 26 | +------------ |
| 27 | + |
| 28 | +- Factory automation |
| 29 | +- Actuator control |
| 30 | +- Group isolated analog outputs |
| 31 | +- PLC and DCS applications |
| 32 | +- HART network connectivity |
| 33 | + |
| 34 | +Hardware Specifications |
| 35 | +----------------------- |
| 36 | + |
| 37 | +Power Supply Requirements |
| 38 | +~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 39 | + |
| 40 | +The EVAL-AD5460ARDZ evaluation board necessitates a power supply with a |
| 41 | +voltage input between 19.2V and 28.8V. It employs the MAX17691B to |
| 42 | +generate necessary isolated supply voltages: AVDD_H at 21V, AVDD_L at |
| 43 | +5V, AVCC and DVCC each at 5V, and VASS at -16V. An optional external |
| 44 | +reference of 2.5V is available via the ADR4525. Configuration options |
| 45 | +include selecting the power supply input from a flyback or an external |
| 46 | +connector, effectively catering to specific dual or single supply |
| 47 | +setups. Proper header and jumper settings are critical in configuring |
| 48 | +these supply rails before the board’s operation. |
| 49 | + |
| 50 | +Pin Descriptions |
| 51 | +~~~~~~~~~~~~~~~~ |
| 52 | + |
| 53 | ++-----------------------+-----------------------+-----------------------+ |
| 54 | +| **Pin Name** | **Function** | **Default | |
| 55 | +| | | Configuration** | |
| 56 | ++-----------------------+-----------------------+-----------------------+ |
| 57 | +| **JP1** | SPI address | Two jumpers: Pin 1 to | |
| 58 | +| | configuration for | Pin 2, Pin 3 to Pin 4 | |
| 59 | +| | AD5460 | | |
| 60 | ++-----------------------+-----------------------+-----------------------+ |
| 61 | +| **P7** | Provides power to | Pin 1 to Pin 2 | |
| 62 | +| | digital isolators on | (Default) | |
| 63 | +| | Arduino side | | |
| 64 | ++-----------------------+-----------------------+-----------------------+ |
| 65 | +| **P8** | Selects RESET or LDAC | RESET connected | |
| 66 | +| | signal from Arduino | | |
| 67 | ++-----------------------+-----------------------+-----------------------+ |
| 68 | +| **VIOUT_A/B/C/D** | Analog output | N/A | |
| 69 | +| | channels per channel | | |
| 70 | +| | (A, B, C, D) | | |
| 71 | ++-----------------------+-----------------------+-----------------------+ |
| 72 | +| **+VSENSEP_x | Provides sense | N/A | |
| 73 | +| /−VSENSEN_x** | terminals for 2-wire | | |
| 74 | +| | or 3-wire feedback | | |
| 75 | ++-----------------------+-----------------------+-----------------------+ |
| 76 | +| **CHx (P11)** | HART input header for | N/A | |
| 77 | +| | channel modem | | |
| 78 | +| | connectivity | | |
| 79 | ++-----------------------+-----------------------+-----------------------+ |
| 80 | +| **P24, P32, P25, | 2-wire/3-wire output | 2-wire feedback | |
| 81 | +| P33** | feedback | (default) | |
| 82 | +| | configuration headers | | |
| 83 | +| | for channels A–D | | |
| 84 | ++-----------------------+-----------------------+-----------------------+ |
| 85 | +| **P12/P16, P13/P17, | RSET configuration | Internal RSET | |
| 86 | +| P14/P18, P15/P19** | for internal/external | (default) | |
| 87 | +| | reference resistor | | |
| 88 | +| | selection | | |
| 89 | ++-----------------------+-----------------------+-----------------------+ |
| 90 | +| **P22, P23, P26, | Headers for | Snubber networks | |
| 91 | +| P29** | connecting output to | disconnected | |
| 92 | +| | snubber networks for | (default) | |
| 93 | +| | inductive loads | | |
| 94 | ++-----------------------+-----------------------+-----------------------+ |
| 95 | +| **P31** | CCOMP_D configuration | CCOMP connected | |
| 96 | +| | for Channel D output | (default) | |
| 97 | +| | compensations | | |
| 98 | ++-----------------------+-----------------------+-----------------------+ |
| 99 | +| **GND, GND0–GND3, | Ground and test | N/A | |
| 100 | +| PGND, TP1** | points for voltage | | |
| 101 | +| | and signal probing | | |
| 102 | ++-----------------------+-----------------------+-----------------------+ |
| 103 | +| **AVCC5V, AVDDHI, | Additional voltage | N/A | |
| 104 | +| AVDDLO, AVSS, LDO1V8, | test points | | |
| 105 | +| REFIN, REFOUT** | | | |
| 106 | ++-----------------------+-----------------------+-----------------------+ |
| 107 | + |
| 108 | +No-OS Build Setup |
| 109 | +----------------- |
| 110 | + |
| 111 | +Please see: `https://wiki.analog.com/resources/no-os/build` |
| 112 | + |
| 113 | +No-OS Supported Examples |
| 114 | +------------------------ |
| 115 | + |
| 116 | +The AD5460 no-OS project includes several supported examples namely: |
| 117 | + |
| 118 | +- basic_example |
| 119 | +- current_output_example |
| 120 | +- voltage_output_example |
| 121 | +- channel_output_example |
| 122 | + |
| 123 | +The initialization data used in the examples is taken out from the |
| 124 | +`Project Common Data Path: <https://github.com/analogdevicesinc/no-OS/tree/main/projects/ad5460/src/common>`__ |
| 125 | + |
| 126 | +The macros used in Common Data are defined in platform specific files |
| 127 | +found in the |
| 128 | +`Project Platform Configuration Path: <https://github.com/analogdevicesinc/no-OS/tree/main/projects/ad5460/src/platform/mbed>`__ |
| 129 | + |
| 130 | +Basic Example |
| 131 | +~~~~~~~~~~~~~~ |
| 132 | + |
| 133 | +The basic example code is designed to serve as a basic example for the |
| 134 | +``eval-ad5460`` project, which likely involves interfacing with the |
| 135 | +AD5460 DAC. |
| 136 | +This file is intended to be an executable component, as indicated by the |
| 137 | +presence of the ``example_main`` function, which acts as the entry point |
| 138 | +for execution. The code demonstrates the initialization and basic |
| 139 | +operation of the AD5460 device, including setting a general-purpose |
| 140 | +Input Output (GPIO) pin to a high state. |
| 141 | + |
| 142 | +In order to build the basic example, make sure you have the following |
| 143 | +configuration in the Makefile: |
| 144 | + |
| 145 | +.. code-block:: bash |
| 146 | +
|
| 147 | + RELEASE=y EXAMPLE=basic |
| 148 | +
|
| 149 | +Channel Output Example |
| 150 | +~~~~~~~~~~~~~~~~~~~~~~~ |
| 151 | + |
| 152 | +The ``channel_output_example`` features the AD5460 DAC setup for channel |
| 153 | +output tasks, focusing on output voltage configuration. Encapsulated in |
| 154 | +the ``example_main`` function, it involves initializing the AD5460 |
| 155 | +device, setting up the channel for voltage output, and defining the |
| 156 | +output voltage range. The example includes enabling DAC slew, |
| 157 | +configuring thermal reset, and managing GPIO and diagnostic settings. It |
| 158 | +retrieves the DAC active code and live status, converting the desired |
| 159 | +voltage or current output into DAC codes for channel 0. The example |
| 160 | +supports both voltage and current modes, allowing users to customize |
| 161 | +output requirements and includes error handling to address |
| 162 | +initialization and configuration failures, ensuring efficient execution. |
| 163 | + |
| 164 | +To enable this example, use below setting in the Makefile configuration: |
| 165 | + |
| 166 | +.. code-block:: bash |
| 167 | +
|
| 168 | + RELEASE=y EXAMPLE=channel_output_example |
| 169 | +
|
| 170 | +Current Output Example |
| 171 | +~~~~~~~~~~~~~~~~~~~~~~~ |
| 172 | + |
| 173 | +The ``channel_output_example`` shows how to configure the AD5460 DAC for |
| 174 | +channel output tasks, specifically focused on output voltage control. |
| 175 | +The code includes initializing the AD5460 device and setting the channel |
| 176 | +for voltage output. Key configurations include setting the output |
| 177 | +voltage range, enabling DAC slew for smoother transitions, and managing |
| 178 | +thermal resets. It also covers GPIO and diagnostic settings to retrieve |
| 179 | +active DAC codes and status, supporting both voltage and current modes. |
| 180 | +Error handling mechanisms are incorporated to ensure reliable execution |
| 181 | +in case of initialization or configuration failures. |
| 182 | + |
| 183 | +To enable this example, use this setting on the Makefile: |
| 184 | + |
| 185 | +.. code-block:: bash |
| 186 | +
|
| 187 | + RELEASE=y EXAMPLE=current_output_example |
| 188 | +
|
| 189 | +Voltage Output Example |
| 190 | +~~~~~~~~~~~~~~~~~~~~~~ |
| 191 | + |
| 192 | +The ``voltage_output_example.c`` file in the AD5460 no-OS project is |
| 193 | +crafted to exhibit the initialization and configuration of the AD5460 |
| 194 | +DAC for voltage output operations. It commences with initializing the |
| 195 | +AD5460, setting its functionality for voltage output, and defining the |
| 196 | +output voltage parameters. The file converts a specific voltage level |
| 197 | +into a corresponding DAC code, subsequently setting this code to the DAC |
| 198 | +channel, enabling the precise output of the intended voltage level. |
| 199 | +Additionally, it includes functions to read the active DAC code and |
| 200 | +verify the DAC’s operational output, serving as a practical guide for |
| 201 | +utilizing and testing the AD5460’s voltage output features in a no-OS |
| 202 | +environment. |
| 203 | + |
| 204 | +Use below Makefile configuration to enable this example: |
| 205 | + |
| 206 | +.. code-block:: bash |
| 207 | +
|
| 208 | + RELEASE=y EXAMPLE=voltage_output_example |
| 209 | +
|
| 210 | +No-OS Supported Platform |
| 211 | +------------------------ |
| 212 | + |
| 213 | +Mbed |
| 214 | +~~~~ |
| 215 | + |
| 216 | +Hardware Used |
| 217 | +^^^^^^^^^^^^^ |
| 218 | + |
| 219 | +- :adi:`EVAL-AD5460ARDZ` |
| 220 | +- :adi:`EVAL-SDP-CK1Z` (SDP-K1) |
| 221 | + |
| 222 | +Connections |
| 223 | +^^^^^^^^^^^ |
| 224 | + |
| 225 | ++---------------------+-----------------------------+---------------------+-----------------------------+ |
| 226 | +| EVAL-AD5460ARDZ | Function | EVAL-SDP-CK1Z | Function | |
| 227 | +| Pin/Terminal | | Pin/Terminal | | |
| 228 | ++=====================+=============================+=====================+=============================+ |
| 229 | +| Arduino Socket | Connects to SDP-K1 Arduino | Arduino Header | Mates with EVAL-AD5460ARDZ | |
| 230 | +| | headers for communication | | Arduino socket | |
| 231 | +| | and isolation power | | | |
| 232 | ++---------------------+-----------------------------+---------------------+-----------------------------+ |
| 233 | +| P37 (VIN) | Connect 24V power supply | P14 (VIO_ADJUST) | Set to 3.3V (near USB-C | |
| 234 | +| | (19.2V to 28.8V) | | connector) | |
| 235 | ++---------------------+-----------------------------+---------------------+-----------------------------+ |
| 236 | +| | Configure as per user guide | USB-C Port | Connect to PC for power and | |
| 237 | +| | defaults | | interface | |
| 238 | ++---------------------+-----------------------------+---------------------+-----------------------------+ |
| 239 | + |
| 240 | +Build Command |
| 241 | +^^^^^^^^^^^^^ |
| 242 | + |
| 243 | +.. code-block:: bash |
| 244 | +
|
| 245 | + # to delete current build |
| 246 | + make reset PLATFORM=mbed |
| 247 | + # to build the project |
| 248 | + make PLATFORM=mbed |
| 249 | + # to flash the code, copy the ad5460.bin to the mounted SDP-K1 |
| 250 | + cp build/ad5460.bin </path/to/SDP-K1/mounted/folder> |
0 commit comments