Skip to content

Commit 004b18e

Browse files
committed
projects: AD5460: Added readme doc
Added readme doc for the AD5460 example project Signed-off-by: Joyce Velasco <[email protected]>
1 parent de8f3e9 commit 004b18e

File tree

2 files changed

+251
-0
lines changed

2 files changed

+251
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.. include:: ../../../../../projects/ad5460/README.rst

projects/ad5460/README.rst

Lines changed: 250 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,250 @@
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

Comments
 (0)