![]() |
Demo program for IIR IP Core.
The Usage() function shows how to execute the test program, options available and default values set for different configuration variables. The Variables section specifies variables used in the test program, what they specify, the values it holds and can take. The main() function specifies sequence of api calls executed and tested.
Functions | |
void | IIRUsage () |
int | main (int argc, char *argv[]) |
Variables | |
uint | enable =1 |
The enable is the enable for the IIR filter's feedback path. This bit is controllinga mux in the feeback of the IIR pole. When this is set to 0 the filter is bypassed and the Output signal will be directly connected to the input. This means that the output signal will be a scaled version of the input signal (output = input *b). It takes values 0 or 1 and defaults to 1. | |
fpgawb_ipcore_t | ip_core |
fpgawb_ipcore_t struct which stores useful information about the IP Core after executing get IP Info api call. Check fpgawb_lib.h or api call documentation for more information | |
int | channel =-1 |
Channel number for the IIR IP Core Channel. It takes values 0 to (number of IP Core channels-1) and defaults to -1 (test program executed for all channels) | |
uint | clear_feedback = 0 |
clear_feedback will clear the feedback register in the IIR integrator. When set to 0 the feedback value will be used. When set to 1 the feedback will be set to zero and thus the input will only be scaled via the alpha coefficient. | |
uint | bw_mode = 4 |
bandwidth_mode will set the bandwidth of the IIR filter. It defaults to 4 | |
void IIRUsage | ( | ) |
Usage:
./fpgawb_ipcore_iir [-b BoardNumber] [-c channelNumber] [-e Enable] [-f ClearFeedback] [-m BandwidthMode]
Options | Default value |
---|---|
-b Board Number | 0 |
-c channel Number (0-(Numchans-1) | -1 (all channels) |
-e Enable (0/1) | 1 |
-f Clear feedback | 0 |
-m Bandwidth mode | 0 |
Examples:
./fpgawb_ipcore_iir
int main | ( | int | argc, |
char * | argv[] | ||
) |
Step 1: OPEN DEVICE
ccurPMFC_Open(&handle,board_no,oflags)
Before using any API calls, the user needs to open the device and get a handle. This handle is then used as the first argument in most of the following APIs.
Step 2: GET DRIVER INFO
ccurPMFC_Get_Driver_Info(handle, &binfo)
This call returns useful driver information and saves in the ccurpmfc_driver_info_t structure for later use.
Step 3: GET LIBRARY INFO
ccurPMFC_Get_Library_Info(handle, &linfo)
This call returns useful library information and saves in the ccurpmfc_library_info_t structure for later use.
Step 4: GET IP INFO
fpgawb_IIR_Get_Ip_Info(handle, &ip_core)
This call returns useful IP Core information and saves in the fpgawb_ipcore_t structure for later use.
Step 5: ACTIVATE IIR CHANNEL
fpgawb_IIR_Activate_Ch(handle,chan,enable)
This call enables the IIR Filter IP Core channel.
Step 6: CONFIGURE PARAMETERS
fpgawb_IIR_Configure_Ch(handle, chan, &iir_config)
This call programs the clear_feedback and bandwidth_mode for the IIR Filter IP Core channel.
Step 7: CLOSE DEVICE
ccurPMFC_Close(handle)
Closes the device with the handle.