Example program for EVAL-CN0535-FMCZ

Dependencies:   platform_drivers AD77681

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_
+