Skip to content

Commit 21d8c48

Browse files
committed
projects: AD463x_FMCZ: Added readme doc
Signed-off-by: Joyce Velasco <[email protected]>
1 parent 8fd6bb7 commit 21d8c48

File tree

2 files changed

+269
-0
lines changed

2 files changed

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

projects/ad463x_fmcz/README.rst

Lines changed: 268 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,268 @@
1+
AD463x-FMCZ no-OS Example Project
2+
=================================
3+
4+
.. contents::
5+
:depth: 3
6+
7+
Supported Evaluation Boards
8+
---------------------------
9+
10+
- :adi:`EVAL-AD4030-24FMCZ`
11+
- :adi:`EVAL-AD4630-16FMCZ`
12+
- :adi:`EVAL-AD4630-24FMCZ`
13+
- :adi:`EVAL-ADAQ4224-FMCZ`
14+
- :adi:`EV-ISO-4224-FMCZ`
15+
16+
Overview
17+
--------
18+
19+
The EVAL-AD4630-24FMCZ, EVAL-AD4030-24FMCZ, and EVAL-AD4630-16FMCZ
20+
evaluation boards enable quick and easy evaluation of the AD4X3X family
21+
of 24-bit and 16-bit precision successive approximation register (SAR)
22+
analog-to-digital converters (ADCs). The :adi:`AD4630-24` and
23+
:adi:`AD4630-16` are 2 MSPS per channel, low power, dual channel 24-bit
24+
or 16-bit SAR ADCs, while the :adi:`AD4030-24` is a single channel
25+
24-bit precision SAR ADC that supports a sampling rate of up to 2 MSPS.
26+
The evaluation boards demonstrate the performance of either the
27+
AD4630-24, AD4030-24. or AD4630-16 and provides a configurable analog
28+
front end (AFE) for a variety of system applications.
29+
30+
The evaluations board are designed for use with a ZedBoard.
31+
The ZedBoard is used to control data capture and buffering. The
32+
evaluation board connects to the ZedBoard board via a field-programmable
33+
gate array (FPGA) mezzanine card (FMC) low pin count (LPC) connector.
34+
35+
**Note:**
36+
37+
The name ``AD463x`` is used as a generic identifier in the no-OS driver code;
38+
this driver supports multiple devices in the AD463x family including
39+
AD4630-24, AD4630-20, AD4630-16, AD4631-24, AD4631-20, AD4631-16,
40+
AD4632-24, AD4632-20, AD4632-16, AD4030, ADAQ4216, and ADAQ4224.
41+
42+
Applications
43+
------------
44+
45+
- Automatic test equipment
46+
- Digital control loops
47+
- Medical instrumentation
48+
- Seismology
49+
- Semiconductor manufacturing
50+
- Scientific instrumentation
51+
52+
Hardware Specifications
53+
-----------------------
54+
55+
Power Supply Requirements
56+
~~~~~~~~~~~~~~~~~~~~~~~~~
57+
58+
The EVAL-AD4630-24FMCZ evaluation board derives its primary 12V power
59+
supply directly from the ZedBoard via the FMC connector. This 12V input
60+
is crucial as it is first converted to a 7.5V intermediate voltage by a
61+
switching regulator before being post-regulated to provide various
62+
required voltage rails. Moreover, the 12V is instrumental in generating
63+
negative rail voltages, such as the -3.3V needed for the buffers and
64+
drive amplifiers, ensuring precise operational amplifier functionality.
65+
66+
============ ========================================= ======== ========
67+
Power Supply Function Min. (V) Max. (V)
68+
+12V 12V primary supply via FMC connector N/A N/A
69+
GND Ground connection N/A N/A
70+
+3.3V 3.3V for various digital logic 3.26 3.33
71+
+1.8V 1.8V for the ADC 1.77 1.81
72+
VIO 1.8V supply for the ADC digital I/O 1.77 1.81
73+
+5.4V 5.4V for the ADC 5.34 5.46
74+
REFIN 5V ADC reference input 4.95 5.05
75+
VAMP+ Positive supply for the amplifiers 6.35 6.5
76+
VAMP- Negative supply for the amplifiers -3.35 -3.28
77+
VP1 7.5V at the input of the switcher 7.425 7.575
78+
REF 5V at the ADC reference output 4.95 5.05
79+
EN 1.8V enable signal for the power supplies 1.75 1.85
80+
============ ========================================= ======== ========
81+
82+
No-OS Build Setup
83+
-----------------
84+
85+
Please see: `https://wiki.analog.com/resources/no-os/build`
86+
87+
No-OS Supported Examples
88+
------------------------
89+
90+
The initialization data used in the examples is taken out from the
91+
`Project Common Data Path <https://github.com/analogdevicesinc/no-OS/tree/main/projects/ad463x_fmcz/src/common>`__
92+
93+
The macros used in Common Data are defined in platform specific files
94+
found in the
95+
`Project Platform Configuration Path <https://github.com/analogdevicesinc/no-OS/tree/main/projects/ad463x_fmcz/src/platform>`__
96+
97+
Basic example
98+
~~~~~~~~~~~~~
99+
100+
The basic example code demonstrates the initialization, configuration,
101+
and data acquisition for AD463x series ADCs. The process begins with the
102+
``basic_example_main`` function, which initializes the ADC using
103+
``ad463x_init``. If the ADAQ4224 is used, gain settings are configured
104+
via a scale table with ``ad463x_set_pgia_gain``. The function then exits
105+
the register configuration mode using ``ad463x_exit_reg_cfg_mode``. ADC
106+
data is read into a buffer with ``ad463x_read_data`` and sign-extended
107+
with ``no_os_sign_extend32``. Finally, data for two channels is printed
108+
to the console, providing a clear demonstration of ADC data handling.
109+
This example includes error management and cleanup operations for robust
110+
execution.
111+
112+
In order to build the basic example, make sure you have the following
113+
configuration in the
114+
`Makefile: <https://github.com/analogdevicesinc/no-OS/blob/main/projects/ad463x_fmcz/Makefile>`__:
115+
116+
.. code-block:: bash
117+
118+
# Select the example you want to enable by choosing y for enabling and n for disabling
119+
BASIC_EXAMPLE = y
120+
IIO_EXAMPLE = n
121+
122+
IIO example
123+
~~~~~~~~~~~
124+
125+
The IIO example code for the ad463x_fmcz project demonstrates the use of
126+
the Industrial I/O framework to interface with AD463x series ADCs. It
127+
focuses on initializing the ADC device and setting up the IIO interface
128+
through the ``iio_example_main()`` function. This involves allocating
129+
and initializing an ``ad463x_dev`` structure, alongside an
130+
``iio_ad463x`` structure to support IIO functions. The example routinely
131+
streams data from the ADC, handling it via an IIO-configured buffer,
132+
showcasing ADC configuration and data management capabilities using the
133+
IIO framework. It provides a practical implementation of IIO for
134+
enhanced device interfacing, forming a key part of hardware-software
135+
integration within the project.
136+
137+
If you are not familiar with ADI IIO Application, please take a look at:
138+
`IIO No-OS <https://wiki.analog.com/resources/tools-software/no-os-software/iio>`__
139+
140+
In order to build the IIO project, make sure you have the following
141+
configuration in the Makefile:
142+
143+
.. code-block:: bash
144+
145+
# Select the example you want to enable by choosing y for enabling and n for disabling
146+
BASIC_EXAMPLE = n
147+
IIO_EXAMPLE = y
148+
149+
No-OS Supported Platforms
150+
--------------------------
151+
152+
Xilinx Platform
153+
~~~~~~~~~~~~~~~
154+
155+
Hardware Used
156+
^^^^^^^^^^^^^
157+
158+
- :adi:`EVAL-AD4630-24FMCZ`
159+
- ZedBoard
160+
161+
Connections
162+
^^^^^^^^^^^
163+
164+
**EVAL-AD4030-24FMCZ**
165+
166+
+-----------------------+-----------------------------------------------+
167+
| **Connection** | **Function** |
168+
+-----------------------+-----------------------------------------------+
169+
| FMC Connector | Connect to ZedBoard FMC for data and 12V |
170+
| | power supply |
171+
+-----------------------+-----------------------------------------------+
172+
| SMA Connectors | Connect differential signal sources to input |
173+
| | channels |
174+
+-----------------------+-----------------------------------------------+
175+
| VADJ SELECT Jumper | Set to correct voltage (e.g., **2.5V**) to |
176+
| | avoid damage |
177+
+-----------------------+-----------------------------------------------+
178+
| CLK IN SMA | Optional external clock input ≤100 MHz |
179+
+-----------------------+-----------------------------------------------+
180+
181+
182+
**ZedBoard**
183+
184+
+-----------------------+---------------------------------------+
185+
| **Connection** | **Function** |
186+
+-----------------------+---------------------------------------+
187+
| Boot Jumpers | Configure for SD card boot |
188+
+-----------------------+---------------------------------------+
189+
| USB OTG Port | Connect to PC for communication and |
190+
| | power |
191+
+-----------------------+---------------------------------------+
192+
| J20/DC Input | Connect power supply to power the |
193+
| | system |
194+
+-----------------------+---------------------------------------+
195+
| LD1/3 POWER LED | Verify green LED is lit after |
196+
| | powering up |
197+
+-----------------------+---------------------------------------+
198+
199+
Build Command
200+
^^^^^^^^^^^^^
201+
202+
.. code-block:: bash
203+
204+
cp <SOME_PATH>/system_top.xsa .
205+
# to delete current build
206+
make reset
207+
# to build the project
208+
make PLATFORM=xilinx
209+
# to flash the code
210+
make run
211+
# to debug the code
212+
make debug
213+
214+
215+
STM32 Platform
216+
~~~~~~~~~~~~~~~
217+
218+
Hardware Used
219+
^^^^^^^^^^^^^
220+
221+
- :adi:`EVAL-AD4630-24FMCZ`
222+
- :adi:`EVAL-SDP-CK1Z` (SDP-K1)
223+
224+
Connections
225+
^^^^^^^^^^^
226+
227+
+-----------------------+-----------------------+-----------------------+
228+
| **Board** | **Connection Point** | **Function** |
229+
+-----------------------+-----------------------+-----------------------+
230+
| EVAL-AD4630-24FMCZ | FMC Connector | Align and mate with |
231+
| | | SDP-K1’s 120-pin FMC |
232+
| | | connector |
233+
+-----------------------+-----------------------+-----------------------+
234+
| Power via FMC | Receives +12V, +3.3V, | |
235+
| | +18V through | |
236+
| | connector interface | |
237+
+-----------------------+-----------------------+-----------------------+
238+
| SDP-K1 | DC Jack | Connect 7V to 12V DC |
239+
| | | power supply (center |
240+
| | | positive, min 300mA, |
241+
| | | max 3.5A) |
242+
+-----------------------+-----------------------+-----------------------+
243+
| VIO_ADJUST Header | Set to correct | |
244+
| | voltage (1.8V or | |
245+
| | 3.3V) before powering | |
246+
| | to avoid damage | |
247+
+-----------------------+-----------------------+-----------------------+
248+
| SYS_PWR LED | Should light up to | |
249+
| | indicate proper power | |
250+
+-----------------------+-----------------------+-----------------------+
251+
| USB Mini-B Port | Connect to PC using | |
252+
| | USB standard-A to | |
253+
| | mini-B cable | |
254+
+-----------------------+-----------------------+-----------------------+
255+
256+
Build Command
257+
^^^^^^^^^^^^^
258+
259+
.. code-block:: bash
260+
261+
# to delete current build
262+
make reset
263+
# to build the project
264+
make PLATFORM=stm32
265+
# to flash the code
266+
make run
267+
# to debug the code
268+
make debug

0 commit comments

Comments
 (0)