![Logo](ti_logo.svg) |
AM243x Motor Control SDK
09.01.00
|
|
Go to the documentation of this file.
41 #include <drivers/soc.h>
42 #include <drivers/pruicss.h>
52 #define PRU_ICSSG_DRAM0_SLV_RAM ( CSL_PRU_ICSSG0_DRAM0_SLV_RAM_BASE )
53 #define PRU_ICSSG_DRAM1_SLV_RAM ( CSL_PRU_ICSSG0_DRAM1_SLV_RAM_BASE )
56 #define DEF_SD_CH_CTRL_CH_EN ( 0 )
57 #define BF_CH_EN_MASK ( 0x1 )
58 #define SDFM_CH_CTRL_CH_EN_BF_CH0_EN_SHIFT ( 0 )
59 #define SDFM_CH_CTRL_CH_EN_BF_CH0_EN_MASK ( BF_CH_EN_MASK << SDFM_CH_CTRL_CH_EN_BF_CH0_EN_SHIFT )
60 #define SDFM_CH_CTRL_CH_EN_BF_CH1_EN_SHIFT ( 1 )
61 #define SDFM_CH_CTRL_CH_EN_BF_CH1_EN_MASK ( BF_CH_EN_MASK << SDFM_CH_CTRL_CH_EN_BF_CH1_EN_SHIFT )
62 #define SDFM_CH_CTRL_CH_EN_BF_CH2_EN_SHIFT ( 2 )
63 #define SDFM_CH_CTRL_CH_EN_BF_CH2_EN_MASK ( BF_CH_EN_MASK << SDFM_CH_CTRL_CH_EN_BF_CH2_EN_SHIFT )
64 #define SDFM_CH_CTRL_CH_EN_BF_CH3_EN_SHIFT ( 3 )
65 #define SDFM_CH_CTRL_CH_EN_BF_CH3_EN_MASK ( BF_CH_EN_MASK << SDFM_CH_CTRL_CH_EN_BF_CH3_EN_SHIFT )
66 #define SDFM_CH_CTRL_CH_EN_BF_CH4_EN_SHIFT ( 4 )
67 #define SDFM_CH_CTRL_CH_EN_BF_CH4_EN_MASK ( BF_CH_EN_MASK << SDFM_CH_CTRL_CH_EN_BF_CH4_EN_SHIFT )
68 #define SDFM_CH_CTRL_CH_EN_BF_CH5_EN_SHIFT ( 5 )
69 #define SDFM_CH_CTRL_CH_EN_BF_CH5_EN_MASK ( BF_CH_EN_MASK << SDFM_CH_CTRL_CH_EN_BF_CH5_EN_SHIFT )
70 #define SDFM_CH_CTRL_CH_EN_BF_CH6_EN_SHIFT ( 6 )
71 #define SDFM_CH_CTRL_CH_EN_BF_CH6_EN_MASK ( BF_CH_EN_MASK << SDFM_CH_CTRL_CH_EN_BF_CH6_EN_SHIFT )
72 #define SDFM_CH_CTRL_CH_EN_BF_CH7_EN_SHIFT ( 7 )
73 #define SDFM_CH_CTRL_CH_EN_BF_CH7_EN_MASK ( BF_CH_EN_MASK << SDFM_CH_CTRL_CH_EN_BF_CH7_EN_SHIFT )
74 #define SDFM_CH_CTRL_CH_EN_BF_CH8_EN_SHIFT ( 8 )
75 #define SDFM_CH_CTRL_CH_EN_BF_CH8_EN_MASK ( BF_CH_EN_MASK << SDFM_CH_CTRL_CH_EN_BF_CH8_EN_SHIFT )
76 #define SDFM_CH_CTRL_CH_EN_BF_CH9_EN_SHIFT ( 9 )
77 #define SDFM_CH_CTRL_CH_EN_BF_CH9_EN_MASK ( BF_CH_EN_MASK << SDFM_CH_CTRL_CH_EN_BF_CH9_EN_SHIFT )
78 #define SDFM_CH_CTRL_CH_EN_SHIFT ( SDFM_CH_CTRL_CH_EN_BF_CH0_EN_SHIFT )
79 #define SDFM_CH_CTRL_CH_EN_MASK \
80 ( SDFM_CH_CTRL_CH_EN_BF_CH0_EN_MASK | \
81 SDFM_CH_CTRL_CH_EN_BF_CH1_EN_MASK | \
82 SDFM_CH_CTRL_CH_EN_BF_CH2_EN_MASK | \
83 SDFM_CH_CTRL_CH_EN_BF_CH3_EN_MASK | \
84 SDFM_CH_CTRL_CH_EN_BF_CH4_EN_MASK | \
85 SDFM_CH_CTRL_CH_EN_BF_CH5_EN_MASK | \
86 SDFM_CH_CTRL_CH_EN_BF_CH6_EN_MASK | \
87 SDFM_CH_CTRL_CH_EN_BF_CH7_EN_MASK | \
88 SDFM_CH_CTRL_CH_EN_BF_CH8_EN_MASK | \
89 SDFM_CH_CTRL_CH_EN_BF_CH9_EN_MASK )
91 #define SDFM_MAIN_FILTER_MASK ( 1 )
92 #define SDFM_MAIN_FILTER_SHIFT ( 0 )
94 #define SDFM_MAIN_INTERRUPT_MASK ( 1 )
95 #define SDFM_MAIN_INTERRUPT_SHIFT ( 1 )
98 #define SDFM_RECFG_REINIT ( SDFM_RECFG_BF_RECFG_REINIT_MASK )
100 #define SDFM_RECFG_CLK ( SDFM_RECFG_BF_RECFG_CLK_MASK )
102 #define SDFM_RECFG_OSR ( SDFM_RECFG_BF_RECFG_OSR_MASK )
104 #define SDFM_RECFG_TRIG_SAMP_TIME ( SDFM_RECFG_BF_RECFG_TRIG_SAMPLE_TIME_MASK )
106 #define SDFM_RECFG_TRIG_SAMP_CNT ( SDFM_RECFG_BF_RECFG_TRIG_SAMPLE_CNT_MASK )
108 #define SDFM_RECFG_CH_EN ( 1<<6 )
110 #define SDFM_RECFG_FD ( SDFM_RECFG_BF_RECFG_FD_MASK )
112 #define SDFM_RECFG_TRIG_OUT_SAMP_BUF ( SDFM_RECFG_BF_RECFG_TRIG_OUT_SAMP_BUF_MASK )
114 #define IEP_DEFAULT_INC 0x1
119 #define ICSSG_SD_SAMP_CH_BUF_SZ ( 128 )
120 #define NUM_CH_SUPPORTED_PER_AXIS ( 3 )
121 #define SDFM_NINE_CH_MASK ( 0x1FF )
122 #define SDFM_CH_MASK_FOR_CH0_CH3_CH6 ( 0x49 )
123 #define SDFM_CH_MASK_FOR_CH1_CH4_CH7 ( 0x92 )
124 #define SDFM_CH_MASK_FOR_CH2_CH5_CH8 ( 0x124 )
127 #define SDFM_CHANNEL0 (0)
128 #define SDFM_CHANNEL1 (1)
129 #define SDFM_CHANNEL2 (2)
130 #define SDFM_CHANNEL3 (3)
131 #define SDFM_CHANNEL4 (4)
132 #define SDFM_CHANNEL5 (5)
133 #define SDFM_CHANNEL6 (6)
134 #define SDFM_CHANNEL7 (7)
135 #define SDFM_CHANNEL8 (8)
138 #define SDFM_FW_VERSION_BIT_SHIFT (32)
141 #define SDFM_FD_ERROR_MASK_FOR_TRIP_VEC ( 0x3800000 )
143 #define SDFM_PHASE_DELAY_ACK_BIT_MASK (1)
144 #define SDFM_PHASE_DELAY_CAL_LOOP_SIZE (8)
156 typedef struct SDFM_CfgSdClk_s
172 typedef struct SDFM_CfgTrigger_s
192 typedef struct SDFM_CfgIep_s
209 typedef struct SDFM_GpioParams_s{
221 typedef struct SDFM_ChCtrl_s
244 typedef struct SDFM_ClkSourceParms_s
258 typedef struct SDFM_ThresholdParms_s
282 typedef struct SDFM_Cfg_s
315 typedef struct SDFM_Ctrl_s
325 typedef struct SDFM_Interface_s{
344 typedef struct SDFM_SampleOutInterface_s
354 typedef struct SDFM_s {
uint32_t iepClock
Definition: sdfm_drv.h:359
volatile uint16_t clock_edge
Definition: sdfm_drv.h:234
volatile uint32_t sdfm_ch_id
Definition: sdfm_drv.h:224
uint32_t sdfmClock
Definition: sdfm_drv.h:358
volatile uint8_t highThStatus
Definition: sdfm_drv.h:265
volatile uint8_t sd_clk_inv
Definition: sdfm_drv.h:161
volatile uint8_t iep_inc_value
Definition: sdfm_drv.h:195
SDFM_CfgTrigger sdfm_cfg_trigger
Definition: sdfm_drv.h:337
volatile uint8_t en_phase_delay
Definition: sdfm_drv.h:230
uint32_t pruCoreClk
Definition: sdfm_drv.h:360
Structure defining SDFM configuration interface.
Definition: sdfm_drv.h:283
volatile uint8_t ch_id
Definition: sdfm_drv.h:285
SDFM_CfgIep sdfm_cfg_iep_ptr
Definition: sdfm_drv.h:329
SDFM_ClkSourceParms sdfm_clk_parms
Definition: sdfm_drv.h:303
void * pruss_cfg
Definition: sdfm_drv.h:364
SDFM_GpioParams sdfm_gpio_params
Definition: sdfm_drv.h:305
volatile uint32_t sampleBufferBaseAdd
Definition: sdfm_drv.h:339
volatile uint8_t en_double_nc_sampling
Definition: sdfm_drv.h:177
volatile uint8_t fd_one_max
Definition: sdfm_drv.h:299
SDFM_Ctrl sdfm_ctrl
Definition: sdfm_drv.h:327
uint8_t iepInc
Definition: sdfm_drv.h:361
volatile uint8_t sdfm_pru_id
Definition: sdfm_drv.h:322
volatile uint8_t lowThStatus
Definition: sdfm_drv.h:267
volatile uint16_t enable_comparator
Definition: sdfm_drv.h:226
volatile uint8_t sdfm_en_ack
Definition: sdfm_drv.h:320
Structure defining SDFM base address and values to toggle GPIO pins.
Definition: sdfm_drv.h:209
volatile uint8_t osr
Definition: sdfm_drv.h:289
volatile uint32_t zeroCrossTh
Definition: sdfm_drv.h:273
volatile uint32_t clr_val_addr
Definition: sdfm_drv.h:212
volatile uint8_t fd_one_min
Definition: sdfm_drv.h:301
volatile uint16_t clock_phase_delay
Definition: sdfm_drv.h:232
volatile uint32_t cnt_epwm_prd
Definition: sdfm_drv.h:198
Structure defining SDFM thresholds parametrs.
Definition: sdfm_drv.h:259
uint8_t pruId
Definition: sdfm_drv.h:357
volatile uint8_t en_continuous_mode
Definition: sdfm_drv.h:175
volatile uint8_t fd_zero_min
Definition: sdfm_drv.h:297
volatile uint32_t second_samp_trig_time
Definition: sdfm_drv.h:181
SDFM_SampleOutInterface * sampleOutputInterface
Definition: sdfm_drv.h:363
volatile uint32_t set_val_addr
Definition: sdfm_drv.h:211
SDFM_Interface * p_sdfm_interface
Definition: sdfm_drv.h:362
volatile uint8_t clk_inv
Definition: sdfm_drv.h:249
SDFM_ChCtrl sdfm_ch_ctrl
Definition: sdfm_drv.h:333
Definition: sdfm_drv.h:325
volatile uint8_t fd_window
Definition: sdfm_drv.h:293
volatile uint8_t filter_type
Definition: sdfm_drv.h:287
volatile uint8_t zeroCrossEn
Definition: sdfm_drv.h:269
Structure defining SDFM IEP configuration.
Definition: sdfm_drv.h:193
volatile uint8_t sd_prd_clocks
Definition: sdfm_drv.h:159
volatile uint32_t first_samp_trig_time
Definition: sdfm_drv.h:179
volatile uint8_t sdfm_en
Definition: sdfm_drv.h:318
Structure defining SDFM clock configuration parameters.
Definition: sdfm_drv.h:157
volatile uint8_t zeroCrossThstatus
Definition: sdfm_drv.h:271
SDFM_ThresholdParms sdfm_threshold_parms
Definition: sdfm_drv.h:291
Structure defining clk source for sdfm ch.
Definition: sdfm_drv.h:245
Structure defining SDFM triggered mode trigger times.
Definition: sdfm_drv.h:173
Structure defining SDFM control fields.
Definition: sdfm_drv.h:316
volatile uint32_t nc_prd_iep_cnt
Definition: sdfm_drv.h:183
PRUICSS_Handle gPruIcssHandle
Definition: sdfm_drv.h:356
SDFM_CfgSdClk sd_clk
Definition: sdfm_drv.h:331
volatile uint64_t firmwareVersion
Definition: sdfm_drv.h:341
volatile uint8_t fd_zero_max
Definition: sdfm_drv.h:295
volatile uint8_t enFastDetect
Definition: sdfm_drv.h:228
Structure defining SDFM interface.
Definition: sdfm_drv.h:354
volatile uint32_t high_threshold
Definition: sdfm_drv.h:261
Structure defining SDFM channel control fields.
Definition: sdfm_drv.h:222
volatile uint32_t write_val
Definition: sdfm_drv.h:210
volatile uint32_t low_threshold
Definition: sdfm_drv.h:263
Definition: sdfm_drv.h:345
volatile uint32_t clk_source
Definition: sdfm_drv.h:247
#define NUM_CH_SUPPORTED_PER_AXIS
Definition: sdfm_drv.h:120