Example program for EVAL-CN0535-FMCZ
Dependencies: platform_drivers AD77681
Diff: cn0535_init_params.h
- Revision:
- 1:f3b5e79a8488
- Child:
- 2:998f1de78dae
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cn0535_init_params.h Mon Mar 15 07:12:29 2021 +0000 @@ -0,0 +1,161 @@ +#ifndef _CN0353_INIT_PARAMS_H_ +#define _CN0353_INIT_PARAMS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif +#include <mbed.h> +#include <stdint.h> +#include "platform_drivers.h" +#include "platform_support.h" +#include "spi_extra.h" +#include "gpio.h" +#include "ad77681.h" + + +/******************************************************************************/ +/********************** Macros and Constants Definitions **********************/ +/******************************************************************************/ + + +#define DRDY_PIN D2 +#define ADC_RST_PIN D3 + +// Init params + +// Init SPI extra parameters structure +mbed_spi_init_param spi_init_extra_params = { + .spi_clk_pin = SPI_SCK, + .spi_miso_pin = SPI_MISO, + .spi_mosi_pin = SPI_MOSI +}; +// SPI bus init parameters +spi_init_param spi_params = { + 20000000, // SPI Speed + SPI_CS, // SPI CS select index + SPI_MODE_3, // SPI Mode + &spi_init_extra_params, // SPI extra configurations +}; + +// Initial parameters for the ADC AD7768-1 +ad77681_init_param init_params = { + + spi_params, // SPI parameters + AD77681_ECO, // power_mode + AD77681_MCLK_DIV_16, // mclk_div + AD77681_CONV_CONTINUOUS, // conv_mode + AD77681_AIN_SHORT, // diag_mux_sel + false, // conv_diag_sel + AD77681_CONV_24BIT, // conv_len + AD77681_NO_CRC, // crc_sel + 0, // status bit + AD77681_VCM_HALF_VCC, // VCM setup + AD77681_AINn_ENABLED, // AIN- precharge buffer + AD77681_AINp_ENABLED, // AIN+ precharge buffer + AD77681_BUFn_ENABLED, // REF- buffer + AD77681_BUFp_ENABLED, // REF+ buffer + AD77681_FIR, // FIR Filter + AD77681_SINC5_FIR_DECx32, // Decimate by 32 + 0, // OS ratio of SINC3 + 4096, // Reference voltage + 16384, // MCLK in kHz + 32000, // Sample rate in Hz + 1, // Data frame bytes +}; + +// Inital params of a GPIO, to which the DRDY signal of the ADC is connected +gpio_desc gpio_drdy = { + DRDY_PIN, // GPIO pin + NULL, +}; + +// Inital params of a GPIO, to which the RST signal of the ADC is connected +gpio_desc gpio_reset = { + ADC_RST_PIN, // GPIO pin + NULL, +}; + +/* + * User-defined coefficients for programmable FIR filter, max 56 coeffs + * + * Please note that, inserted coefficiets will be mirrored afterwards, + * so you must insert only one half of all the coefficients. + * + * Please note your original filer must have ODD count of coefficients, + * allowing internal ADC circuitry to mirror the coefficients properly. + * + * In case of usage lower count of coeffs than 56, please make sure, that + * the variable 'count_of_active_coeffs' bellow, carries the correct number + * of coeficients, allowing to fill the rest of the coeffs by zeroes + * + * Default coeffs: + **/ +const uint8_t count_of_active_coeffs = 56; + +const float programmable_FIR[56] = { + + -0.000064967, + 0.000216258, + 0.000437060, + 0.000513474, + 0.000396842, + 0.000097234, + -0.000304613, + -0.000667916, + -0.000831172, + -0.000674257, + -0.000182842, + 0.000514726, + 0.001164754, + 0.001468219, + 0.001203813, + 0.000347908, + -0.000865494, + -0.001987698, + -0.002506034, + -0.002058142, + -0.000626378, + 0.001379936, + 0.003214906, + 0.004053861, + 0.003337280, + 0.001065705, + -0.002092961, + -0.004965216, + -0.006281280, + -0.005199392, + -0.001740302, + 0.003068791, + 0.007451037, + 0.009496076, + 0.007936363, + 0.002786057, + -0.004444805, + -0.011117611, + -0.014356987, + -0.012188594, + -0.004503385, + 0.006564770, + 0.017091120, + 0.022597229, + 0.019721226, + 0.007756722, + -0.010529983, + -0.029205128, + -0.040639396, + -0.037782094, + -0.016555659, + 0.022417307, + 0.073383876, + 0.126572621, + 0.170602851, + 0.195514282, + +}; + +#ifdef __cplusplus +} +#endif // __cplusplus +#endif // !_CN0353_INIT_PARAMS_H_ +