How does it work?
Waveform 4 Click as its foundation uses the AD9106, a high-performance, quad digital-to-analog converter (DAC) integrating on-chip pattern memory for complex waveform generation with a direct digital synthesizer (DDS) from Analog Devices. The DDS is a 12-bit output, up to 180 MHz master clock sinewave generator with a 24-bit tuning word allowing 10.8 Hz/LSB frequency resolution. This Click board™, by default, uses an onboard 125 MHz crystal oscillator as a clock source, which is also the maximum output frequency for this board. . The high-speed, high-dynamic-range, multichannel complex waveforms generated by AD9106 are suitable for applications such as ultrasound transducer excitation, medical instrumentation, portable instrumentation, signal generators, and arbitrary waveform generators.
Pattern data can include directly generated SRAM-stored waveforms, DDS outputs amplitude-modulated by SRAM, or DDS frequency tuning words from SRAM providing chirp or frequency shift keying (FSK) modulation. An internal pattern-control state machine allows the user to program the pattern period for all D/A converters, the start delay within the pattern period for the signal output on each D/A converter channel, and the repetition rate of the pattern. The generation of a pattern is configurable via TRG routed to the PWM pin of the mikroBUS™ socket. A falling edge on the TRG pin starts generating a pattern, while the rising edge represents a request for the termination of pattern generation.
The AD9106 has a single frequency output and independent programmable phase shift outputs for each of the four integrated DACs. Besides, gain adjustment factors and offset adjustments are applied to the digital signals on their way into the four DACs. The two DAC outputs of the AD9106 are filtered by an RC network and then amplified via ADA4817-2, an operational amplifier that combines new architecture for FET input operational amplifiers with the eXFCB process from Analog Devices, resulting in an outstanding combination of speed and low noise. The other two outputs, without any amplification, were routed on onboard headers labeled as I2 and I4. In addition to the positive supply voltage requirement, the ADA4817-2 amplifier also has a negative supply voltage, achieved by the ADM8829, a charge-pump voltage inverter used to generate a negative supply from a positive input from Analog Devices.
The output signal from the ADA4817-2 follows two paths. One path is routed to an output connector labeled as OUT1, while the other path is routed to an output connector labeled as OUT3. On these connectors, the AD9106 can generate two types of signal patterns under the control of its programmable pattern generator: periodic pulse train waveforms that repeat indefinitely or periodic pulse train waveforms that repeat a finite number of times.
This Click board™ communicates with MCU through a standard SPI interface to program the internal registers for complete control of the AD9106. Besides, it possesses additional functionality such as a reset function implemented and routed at the RST pin of the mikroBUS™ socket, which resets all registers of the AD9106 to its default state.
This Click board™ can be operated only with a 3.3V logic voltage level. The board must perform appropriate logic voltage level conversion before use with MCUs with different logic levels. However, the Click board™ comes equipped with a library containing functions and an example code that can be used, as a reference, for further development.
Specifications
Type
Clock generator
Applications
Can be used as ultrasound transducer excitation, medical instrumentation, portable instrumentation, signal generators, and arbitrary waveform generators
On-board modules
AD9106 – high-performance, quad digital-to-analog converter (DAC) integrating on-chip pattern memory for complex waveform generation with a direct digital synthesizer (DDS) from Analog Devices
Key Features
Highly integrated quad DAC for complex waveform generation, on-chip 4096 × 12-bit pattern memory, 12-bit output DDS, low power consumption, high performance, and more
Interface
SPI
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
L (57.15 x 25.4 mm)
Input Voltage
3.3V
Pinout diagram
This table shows how the pinout on Waveform 4 Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | – | Power LED Indicator |
J1 | I2 | Unpopulated | AD9106 DAC 2 Differental Current Output |
J2 | I4 | Unpopulated | AD9106 DAC 4 Differental Current Output |
Waveform 4 Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | – | 3.3 | – | V |
Maximum Current Output | – | – | 8 | mA |
Master Clock | – | – | 180 | MHz |
Resolution | – | 12 | – | bits |
Operating Temperature Range | -40 | +25 | +85 | °C |
Software Support
We provide a library for the Waveform 4 Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for Waveform 4 Click driver.
Key functions
-
waveform4_set_frequency
This function sets the sine and cosine (DDS) waves output frequency. -
waveform4_set_gain
This function sets the gain level of a desired channel. -
waveform4_set_wave_output
This function sets a desired output signal wave to the selected channel.
Example Description
This example demonstrates the use of Waveform 4 Click board™.
void application_task ( void )
{
uint8_t command = 0;
if ( log_read ( &logger, &command, 1 ) > 0 )
{
waveform4_parse_command ( command );
}
}
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.
Other Mikroe Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.Waveform4
Additional notes and informations
Depending on the development board you are using, you may need USB UART click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all MikroElektronika compilers.
mikroSDK
This Click board™ is supported with mikroSDK – MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.