Header file of AD9833 Driver for Microblaze processor.
More...
#include <stdint.h>
#include "no_os_delay.h"
#include "no_os_gpio.h"
#include "no_os_spi.h"
|
| int8_t | ad9833_init (struct ad9833_dev **device, struct ad9833_init_param init_param) |
| | Initialize the SPI communication with the device.
|
| |
| int32_t | ad9833_remove (struct ad9833_dev *dev) |
| | Free the resources allocated by ad9833_init().
|
| |
| void | ad9833_tx_spi (struct ad9833_dev *dev, int16_t value) |
| | Transmits 16 bits on SPI.
|
| |
| int8_t | ad9833_out_mode (struct ad9833_dev *dev, uint8_t v_out_mode) |
| | Selects the type of output.
|
| |
| void | ad9833_set_freq (struct ad9833_dev *dev, uint8_t register_number, uint32_t frequency_value) |
| | Loads a frequency value in a register.
|
| |
| void | ad9833_set_phase (struct ad9833_dev *dev, uint8_t register_number, float phase_value) |
| | Loads a phase value in a register.
|
| |
| void | ad9833_select_freq_reg (struct ad9833_dev *dev, uint8_t freq_reg) |
| | Select the frequency register to be used.
|
| |
| void | ad9833_select_phase_reg (struct ad9833_dev *dev, uint8_t phase_reg) |
| | Select the phase register to be used.
|
| |
| void | ad9833_sleep_mode (struct ad9833_dev *dev, uint8_t sleep_mode) |
| | Enable / Disable the sleep function.
|
| |
| void | ad9834_select_prog_method (struct ad9833_dev *dev, uint8_t value) |
| | Sets the programming method. (only for AD9834 & AD9838)
|
| |
| void | ad9834_logic_output (struct ad9833_dev *dev, uint8_t opbiten, uint8_t signpib, uint8_t div2) |
| | Configures the control register for logic output. (only for AD9834 & AD9838)
|
| |
Header file of AD9833 Driver for Microblaze processor.
- Author
- Lucian Sin (Lucia.nosp@m.n.Si.nosp@m.n@ana.nosp@m.log..nosp@m.com)
Copyright 2013(c) Analog Devices, Inc.
SPDX-License-Identifier: BSD-3-Clause
◆ AD9833_CTRLB28
| #define AD9833_CTRLB28 (1 << 13) |
◆ AD9833_CTRLDIV2
| #define AD9833_CTRLDIV2 (1 << 3) |
◆ AD9833_CTRLFSEL
| #define AD9833_CTRLFSEL (1 << 11) |
◆ AD9833_CTRLHLB
| #define AD9833_CTRLHLB (1 << 12) |
◆ AD9833_CTRLMODE
| #define AD9833_CTRLMODE (1 << 1) |
◆ AD9833_CTRLOPBITEN
| #define AD9833_CTRLOPBITEN (1 << 5) |
◆ AD9833_CTRLPSEL
| #define AD9833_CTRLPSEL (1 << 10) |
◆ AD9833_CTRLRESET
| #define AD9833_CTRLRESET (1 << 8) |
◆ AD9833_CTRLSLEEP1
| #define AD9833_CTRLSLEEP1 (1 << 7) |
◆ AD9833_CTRLSLEEP12
| #define AD9833_CTRLSLEEP12 (1 << 6) |
◆ AD9834_CTRLPINSW
| #define AD9834_CTRLPINSW (1 << 9) |
◆ AD9834_CTRLSIGNPIB
| #define AD9834_CTRLSIGNPIB (1 << 4) |
◆ AD9834_FSEL_HIGH
Value:
int32_t no_os_gpio_set_value(struct no_os_gpio_desc *desc, uint8_t value)
Set the value of the specified GPIO.
Definition no_os_gpio.c:170
@ NO_OS_GPIO_HIGH
Definition no_os_gpio.h:82
◆ AD9834_FSEL_LOW
Value:
@ NO_OS_GPIO_LOW
Definition no_os_gpio.h:80
◆ AD9834_FSEL_OUT
Value:
int32_t no_os_gpio_direction_output(struct no_os_gpio_desc *desc, uint8_t value)
Enable the output direction of the specified GPIO.
Definition no_os_gpio.c:120
◆ AD9834_PSEL_HIGH
◆ AD9834_PSEL_LOW
◆ AD9834_PSEL_OUT
◆ AD9834_RESET_HIGH
| #define AD9834_RESET_HIGH |
Value: pio_set_value(dev->gpio_reset, \
◆ AD9834_RESET_LOW
◆ AD9834_RESET_OUT
◆ AD9834_SLEEP_HIGH
| #define AD9834_SLEEP_HIGH |
◆ AD9834_SLEEP_LOW
◆ AD9834_SLEEP_OUT
◆ BIT_F0ADDRESS
| #define BIT_F0ADDRESS 0x4000 |
◆ BIT_F1ADDRESS
| #define BIT_F1ADDRESS 0x8000 |
◆ BIT_P0ADDRESS
| #define BIT_P0ADDRESS 0xC000 |
◆ BIT_P1ADDRESS
| #define BIT_P1ADDRESS 0xE000 |
◆ ad9833_type
| Enumerator |
|---|
| ID_AD9833 | |
| ID_AD9834 | |
| ID_AD9837 | |
| ID_AD9838 | |
◆ ad9833_init()
Initialize the SPI communication with the device.
- Parameters
-
| device | - The device structure. |
| init_param | - The structure that contains the device initial parameters. |
- Returns
- status - Result of the initialization procedure. Example: 0 - if initialization was successful; -1 - if initialization was unsuccessful.
◆ ad9833_out_mode()
| int8_t ad9833_out_mode |
( |
struct ad9833_dev * | dev, |
|
|
uint8_t | out_mode ) |
Selects the type of output.
- Parameters
-
| dev | - The device structure. |
| out_mode | - type of output Example AD9833&AD9837: 0 - Sinusoid. 1 - Triangle. 2 - DAC Data MSB/2. 3 - DAC Data MSB. Example AD9834&AD9838: 0 - Sinusoid. 1 - Triangle. |
- Returns
- status - output type could / couldn't be selected. Example: 0 - output type possible for the given configuration. -1 - output type not possible for the given configuration.
◆ ad9833_remove()
Free the resources allocated by ad9833_init().
- Parameters
-
| dev | - The device structure. |
- Returns
- 0 in case of success, negative error code otherwise.
◆ ad9833_select_freq_reg()
| void ad9833_select_freq_reg |
( |
struct ad9833_dev * | dev, |
|
|
uint8_t | freq_reg ) |
Select the frequency register to be used.
- Parameters
-
| dev | - The device structure. |
| freq_reg | - Number of frequency register. (0 / 1) |
◆ ad9833_select_phase_reg()
| void ad9833_select_phase_reg |
( |
struct ad9833_dev * | dev, |
|
|
uint8_t | phase_reg ) |
Select the phase register to be used.
- Parameters
-
| dev | - The device structure. |
| phase_reg | - Number of phase register. (0 / 1) |
◆ ad9833_set_freq()
| void ad9833_set_freq |
( |
struct ad9833_dev * | dev, |
|
|
uint8_t | register_number, |
|
|
uint32_t | frequency_value ) |
Loads a frequency value in a register.
- Parameters
-
| dev | - The device structure. |
| register_number | - Number of the register (0 / 1). |
| frequency_value | - Frequency value. |
◆ ad9833_set_phase()
| void ad9833_set_phase |
( |
struct ad9833_dev * | dev, |
|
|
uint8_t | register_number, |
|
|
float | phase_value ) |
Loads a phase value in a register.
- Parameters
-
| dev | - The device structure. |
| register_number | - Number of the register (0 / 1). |
| phase_value | - Phase value. |
◆ ad9833_sleep_mode()
| void ad9833_sleep_mode |
( |
struct ad9833_dev * | dev, |
|
|
uint8_t | sleep_mode ) |
Enable / Disable the sleep function.
- Parameters
-
| dev | - The device structure. |
| sleep_mode | - type of sleep Example soft method(all devices): 0 - No power-down. 1 - DAC powered down. 2 - Internal clock disabled. 3 - DAC powered down and Internal clock disabled. Example hard method(AD9834 & AD9838): 0 - No power-down. 1 - DAC powered down. |
◆ ad9833_tx_spi()
| void ad9833_tx_spi |
( |
struct ad9833_dev * | dev, |
|
|
int16_t | value ) |
Transmits 16 bits on SPI.
- Parameters
-
| dev | - The device structure. |
| value | - Data which will be transmitted. |
◆ ad9834_logic_output()
| void ad9834_logic_output |
( |
struct ad9833_dev * | dev, |
|
|
uint8_t | opbiten, |
|
|
uint8_t | signpib, |
|
|
uint8_t | div2 ) |
Configures the control register for logic output. (only for AD9834 & AD9838)
- Parameters
-
| dev | - The device structure. |
| opbiten | - Enables / disables the logic output. |
| signpib | - Connects comparator / MSB to the SIGN BIT OUT pin. |
| div2 | - MSB / MSB/2 |
◆ ad9834_select_prog_method()
| void ad9834_select_prog_method |
( |
struct ad9833_dev * | dev, |
|
|
uint8_t | value ) |
Sets the programming method. (only for AD9834 & AD9838)
- Parameters
-
| dev | - The device structure. |
| value | - soft or hard method. (0 / 1) |