no-OS
Loading...
Searching...
No Matches
parameters.h
Go to the documentation of this file.
1/***************************************************************************/
34#ifndef __PARAMETERS_H__
35#define __PARAMETERS_H__
36
37#include "stm32_hal.h"
38#include "stm32_irq.h"
39#include "stm32_gpio_irq.h"
40#include "stm32_spi.h"
41#include "stm32_gpio.h"
42#include "stm32_uart.h"
43#include "stm32_uart_stdio.h"
44#include "no_os_units.h"
45
46extern UART_HandleTypeDef huart5;
47extern TIM_HandleTypeDef htim1;
48extern TIM_HandleTypeDef htim2;
49extern TIM_HandleTypeDef htim8;
50#define SAMPLES_PER_CHANNEL_PLATFORM 2000
51#define MAX_SIZE_BASE_ADDR (SAMPLES_PER_CHANNEL_PLATFORM * 2 * sizeof(uint32_t))
52
53#define UART_IRQ_ID UART5_IRQn
54
55#define UART_DEVICE_ID 5
56#define UART_BAUDRATE 115200
57#define UART_EXTRA &ad463x_uart_extra_ip
58#define UART_OPS &stm32_uart_ops
59
60#define SPI_DEVICE_ID 1
61#define SPI_BAUDRATE 20000000
62#define SPI_CS 15
63#define SPI_CS_PORT GPIO_PORT_A
64#define SPI_OPS &stm32_spi_ops
65#define SPI_EXTRA &ad463x_spi_extra_ip
66
67#define GPIO_OPS &stm32_gpio_ops
68#define GPIO_EXTRA NULL
69
70#define GPIO_RESETN_1 11
71#define GPIO_RESETN_PORT GPIO_PORT_A
72
73#define GPIO_PORT_G 6
74#define GPIO_CNV 10
75#define GPIO_CNV_PORT GPIO_PORT_A
76
77#define DCACHE_INVALIDATE NULL
78#define GPIO_PORT_A 0
79
82
85
86/* ad4630 in interleave mode */
87#define BYTES_PER_SAMPLE 6
88
89/* time to xfer 1 byte */
90#define TX_PWM_PERIOD_NS (((( 8 * KILO) / (SPI_BAUDRATE / MEGA ))) + 50)
91#define TX_PWM_DUTY_NS 1 /* dont care */
92#define TX_PWM_REPS (BYTES_PER_SAMPLE - 1) /* 6 bytes of data 1 cycle + 5 reps */
93
94/* time to transfer 6 bytes + cnv period */
95#define CS_PWM_PERIOD_NS ((TX_PWM_PERIOD_NS * BYTES_PER_SAMPLE) + CS_PWM_DUTY_NS)
96#define CS_PWM_DUTY_NS 300 /* cnv time, from datasheet */
97
98/* sample rate
99 * limited by spi baudrate, might need to limit to chip datasheet for higher spi rate
100 */
101#define MAX_SAMPLE_RATE_PERIOD_NS (CS_PWM_PERIOD_NS + TRIGGER_DUTY_NS)
102#define TRIGGER_PERIOD_NS MAX_SAMPLE_RATE_PERIOD_NS
103#define TRIGGER_DUTY_NS 100 /* cnv min high time from datasheet */
104
105#define PWM_OPS &stm32_pwm_ops
106#define PWM_EXTRA &cnv_pwm_extra_init_params
107#define PWM_GPIO_EXTRA &cnv_pwm_gpio_extra_init_params
108#define NO_OS_PWM_ID 1
109#endif /* __PARAMETERS_H__ */
struct stm32_pwm_init_param cnv_pwm_extra_init_params
Definition parameters.c:76
struct stm32_uart_init_param ad463x_uart_extra_ip
Definition parameters.c:41
struct stm32_spi_init_param ad463x_spi_extra_ip
Definition parameters.c:144
struct stm32_gpio_init_param cnv_pwm_gpio_extra_init_params
Definition parameters.c:70
UART_HandleTypeDef huart5
TIM_HandleTypeDef htim1
TIM_HandleTypeDef htim2
TIM_HandleTypeDef htim8
Header file of Units.
Header file for stm32 gpio specifics.
Header file for stm32 gpio irq specifics.
Header file for stm32 irq specifics.
Header file for the stm32 spi driver.
Header file of UART driver for STM32.
Header file of stm32 UART driver stdout/stdin redirection.
Structure holding the initialization parameters for stm32 platform.
Definition stm32_gpio.h:44
Structure holding the STM32 PWM parameters.
Definition stm32_pwm.h:87
Structure holding the initialization parameters for stm32 platform specific SPI parameters.
Definition stm32_spi.h:51
Specific initialization parameters for stm32 UART.
Definition stm32_uart.h:46