PIC18 LaurTec Library  3.2.0
Open Source C Library for PIC18 Microcontrollers based on C18 - XC8 Compilers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
AD9833.h File Reference
#include <spi.h>

Go to the source code of this file.

Macros

#define FSYNC   LATAbits.LATA5
 
#define RESET_AD9833   0b0000000100000000
 
#define REG0   0
 
#define REG1   1
 
#define DOWN   0
 
#define UP   1
 
#define SIN   1
 
#define TRIANGLE   2
 
#define SQUARE   3
 
#define FREQUENCY0_OUT   4
 
#define FREQUENCY1_OUT   5
 
#define PHASE0_OUT   6
 
#define PHASE1_OUT   7
 
#define SLEEP_MODE   9
 
#define POWER_ON   10
 

Functions

void write_data_AD9833 (unsigned int data)
 
unsigned int compose_AD9833_control_word (unsigned char function_type)
 
void initialize_AD9833 (unsigned char fmclk)
 
void set_frequency_AD9833 (unsigned long freq_value, unsigned char frequency_register)
 
void tuning_frequency_AD9833 (unsigned char tuning_step, unsigned char direction, unsigned char frequency_register)
 
void set_phase_AD9833 (unsigned short long phase_value, unsigned char phase_register)
 
void set_function_AD9833 (unsigned char function_type)
 

Macro Definition Documentation

#define DOWN   0

Definition at line 79 of file AD9833.h.

#define FREQUENCY0_OUT   4

Definition at line 84 of file AD9833.h.

#define FREQUENCY1_OUT   5

Definition at line 85 of file AD9833.h.

#define FSYNC   LATAbits.LATA5

Definition at line 69 of file AD9833.h.

#define PHASE0_OUT   6

Definition at line 86 of file AD9833.h.

#define PHASE1_OUT   7

Definition at line 87 of file AD9833.h.

#define POWER_ON   10

Definition at line 89 of file AD9833.h.

#define REG0   0

Definition at line 77 of file AD9833.h.

#define REG1   1

Definition at line 78 of file AD9833.h.

#define RESET_AD9833   0b0000000100000000

Definition at line 76 of file AD9833.h.

#define SIN   1

Definition at line 81 of file AD9833.h.

#define SLEEP_MODE   9

Definition at line 88 of file AD9833.h.

#define SQUARE   3

Definition at line 83 of file AD9833.h.

#define TRIANGLE   2

Definition at line 82 of file AD9833.h.

#define UP   1

Definition at line 80 of file AD9833.h.

Function Documentation

unsigned int compose_AD9833_control_word ( unsigned char  function_type)

This function compose the configuration word to set AD9833 features

Parameters
function_typeis a type of function to activate
Returns
configuration word to activate the functionality required
Note
This is a private function, the user should not use it.

Definition at line 71 of file AD9833.c.

References register_word.

void initialize_AD9833 ( unsigned char  fmclk)

AD9833 Initialization. This function should be called before using the AD9833 RESET command, write 0 into register FREQ0,FREQ1,PHASE0 and PHASE1 Set sinusoidal waveform, FREQ0 and PHASEO out

Parameters
fmclkis a master frequency [0...25MHz]
Returns
void

Definition at line 154 of file AD9833.c.

References FREQUENCY0_OUT, K, PHASE0_OUT, REG0, REG1, register_word, RESET_AD9833, set_frequency_AD9833(), set_function_AD9833(), set_phase_AD9833(), SIN, tuning_freq, and write_data_AD9833().

void set_frequency_AD9833 ( unsigned long  freq_value,
unsigned char  frequency_register 
)

This function write the frequency value into FREQ0 or FREQ1 register

Parameters
freq_valueis a frequency [0...12500000Hz]
frequency_registeris the register to write 0,REG0–>REGISTER0 1,REG1–>REGISTER1
Returns
void

Definition at line 178 of file AD9833.c.

References compose_AD9833_control_word(), K, tuning_freq, and write_data_AD9833().

void set_function_AD9833 ( unsigned char  function_type)

This function activate features AD9833 waveform generator

Parameters
function_typeis the function to activate 1,SIN–>sinusoidal waveform 2,TRIANGLE–>triangular waveform 3,SQUARE–>square waveform 4,FREQUENCY0_OUT–>FREQ0 register is used in the phase accumulator 5,FREQUENCY1_OUT–>FREQ1 register is used in the phase accumulator 6,PHASE0_OUT–>PHASE0 register data is added to the output of the phase accumulator 7,PHASE1_OUT–>PHASE1 register data is added to the output of the phase accumulator 9,SLEEP_MODE–>DAC powered down and internal clock disabled 10,POWER_ON–>no power down
Returns
void

Definition at line 293 of file AD9833.c.

References compose_AD9833_control_word(), FREQUENCY0_OUT, FREQUENCY1_OUT, PHASE0_OUT, PHASE1_OUT, POWER_ON, SIN, SLEEP_MODE, SQUARE, TRIANGLE, and write_data_AD9833().

void set_phase_AD9833 ( unsigned short long  phase_value,
unsigned char  phase_register 
)

This function write the phase value into PHASE0 or PHASE1 register

Parameters
phase_valueis a phase [0...3600]
phase_registeris the register to write 0,REG0–>REGISTER0 1,REG1–>REGISTER1
Returns
void

Definition at line 264 of file AD9833.c.

References write_data_AD9833().

void tuning_frequency_AD9833 ( unsigned char  tuning_step,
unsigned char  direction,
unsigned char  frequency_register 
)

This function increases or decreases the LSB register frequency value of a step bit for a tuning frequency

Parameters
tuning_stepis a step bit [0...255]
directionis a direction of increases or decreases 0,DOWN–>decrease 1,UP –>increase
frequency_registeris the register to write 0,REG0–>REGISTER0 1,REG1–>REGISTER1
Returns
void

Definition at line 225 of file AD9833.c.

References compose_AD9833_control_word(), tuning_freq, and write_data_AD9833().

void write_data_AD9833 ( unsigned int  data)

This function write the data to the SPI bus

Parameters
datato write to the SPI bus
Returns
void
Note
This is a private function, the user should not use it. Change this function to fit other microcontroller models.

Definition at line 49 of file AD9833.c.

References FSYNC.