![Logo](ti_logo.svg) |
AM243x Motor Control SDK
09.02.00
|
|
Go to the documentation of this file.
44 #include <drivers/pruicss.h>
58 #define NIKON_MODE_SINGLE_CHANNEL_SINGLE_PRU (0U)
60 #define NIKON_MODE_MULTI_CHANNEL_SINGLE_PRU (1U)
62 #define NIKON_MODE_MULTI_CHANNEL_MULTI_PRU (2U)
66 #define NIKON_MAX_CYCLE_TIMEOUT 35
68 #define NUM_ED_CH_MAX 3
70 #define NUM_ENCODERS_MAX 3
72 #define NUM_MDF_CMD_MAX 3
74 #define NIKON_RX_SAMPLE_SIZE_16MHZ 3
75 #define NIKON_RX_SAMPLE_SIZE_6_67MHZ 5
76 #define NIKON_RX_SAMPLE_SIZE 7
78 #define NIKON_FREQ_2_5MHZ 2.5
79 #define NIKON_FREQ_4MHZ 4
80 #define NIKON_FREQ_6_67MHZ 6
81 #define NIKON_FREQ_8MHZ 8
82 #define NIKON_FREQ_16MHZ 16
84 #define NIKON_POS_CRC_LEN 8
86 #define NIKON_POS_DATA_LEN_DEFAULT 17
89 #define NIKON_ENABLE_CYCLE_TRIGGER 0x1
91 #define NIKON_DISABLE_CYCLE_TRIGGER 0x0
93 #define NIKON_CONFIG_PERIODIC_TRIGGER_MODE 0x0
95 #define NIKON_CONFIG_HOST_TRIGGER_MODE 0x1
97 #define NIKON_CLEAR_STATUS_FLAG 0x0
99 #define NIKON_SET_STATUS_FLAG 0x1
101 #define NIKON_CHANNEL0_MASK 0x1
102 #define NIKON_CHANNEL1_MASK 0x2
103 #define NIKON_CHANNEL2_MASK 0x4
106 #define NIKON_1MILLISEC_SLEEP_TIME 1000
108 #define NIKON_30_MILLI_SEC_DELAY 30000
111 #define NIKON_FIFO_BIT_IDX_8X_OS 4
112 #define NIKON_FIFO_BIT_IDX_6X_OS 3
113 #define NIKON_FIFO_BIT_IDX_4X_OS 2
115 #define NIKON_BASE_VALID_BIT_IDX 24
118 #define NIKON_DB_BITS_LEN 10
119 #define NIKON_RX_ONE_FRAME_LEN 16
120 #define NIKON_EEPROM_ADDR_LEN 8
121 #define NIKON_COMMAND_CODE_LEN 5
122 #define NIKON_ENC_STATUS_LEN 4
123 #define NIKON_ENC_ADDR_LEN 3
124 #define NIKON_SYNC_CODE_LEN 3
125 #define NIKON_TX_CRC_LEN 3
126 #define NIKON_FRAME_CODE_LEN 2
127 #define NIKON_START_BIT_LEN 1
128 #define NIKON_STOP_BIT_LEN 1
129 #define NIKON_FIXED_BIT_LEN 1
132 #define NIKON_EEPROM_READ_ACCESS 1
133 #define NIKON_EEPROM_WRITE_ACCESS 2
134 #define NIKON_ENABLE_ID_CODE_WRITE 2
137 #define NIKON_MAX_NUM_RX_FRAMES 4
138 #define NIKON_MAX_ABS_LEN 40
139 #define NIKON_MAX_NUM_DATA_FIELDS 3
141 #define NIKON_AVG_NUM_RX_FRAMES 3
142 #define NIKON_AVG_ABS_LEN 24
144 #define NIKON_MIN_NUM_RX_FRAMES 2
145 #define NIKON_MIN_ABS_LEN 17
148 #define NIKON_DB_BITS_MASK 0x3FF
149 #define NIKON_ENC_STATUS_MASK 0xF
150 #define NIKON_CMD_CODE_MASK 0x1F
151 #define NIKON_ENC_ADDR_MASK 0x7
154 #define NIKON_NUM_OF_CYCLE_FOR_RESET 7
uint8_t ov_temp
Definition: nikon_drv.h:287
@ CMD_16
Definition: nikon_drv.h:176
uint32_t uart_clk_freq
Definition: nikon_drv.h:339
@ CMD_13
Definition: nikon_drv.h:173
@ CMD_28
Definition: nikon_drv.h:184
uint32_t has_safety
Definition: nikon_drv.h:323
@ CMD_5
Definition: nikon_drv.h:165
@ CMD_18
Definition: nikon_drv.h:178
uint32_t crc_err_cnt[NUM_ENCODERS_MAX]
Definition: nikon_drv.h:230
@ CMD_30
Definition: nikon_drv.h:187
Structure defining Nikon interface.
Definition: nikon_interface.h:94
uint32_t multi_turn[NUM_ENCODERS_MAX]
Definition: nikon_drv.h:234
uint64_t abs[NUM_ENCODERS_MAX]
Definition: nikon_drv.h:232
@ CMD_15
Definition: nikon_drv.h:175
@ CMD_17
Definition: nikon_drv.h:177
@ CMD_CODE_NUM
Definition: nikon_drv.h:194
uint8_t busy
Definition: nikon_drv.h:281
uint32_t is_continuous_mode
Definition: nikon_drv.h:367
uint32_t load_share
Definition: nikon_drv.h:307
uint32_t raw_data1[NUM_ENCODERS_MAX]
Definition: nikon_drv.h:220
uint16_t is_core_clk
Definition: nikon_drv.h:213
@ CMD_0
Definition: nikon_drv.h:160
uint32_t data_len[NUM_ED_CH_MAX][NUM_ENCODERS_MAX]
Definition: nikon_drv.h:309
uint32_t raw_data3[NUM_ENCODERS_MAX]
Definition: nikon_drv.h:224
#define NUM_MDF_CMD_MAX
Definition: nikon_drv.h:72
@ CMD_9
Definition: nikon_drv.h:169
uint32_t num_enc_access[NUM_ED_CH_MAX]
Definition: nikon_drv.h:313
@ CMD_22
Definition: nikon_drv.h:182
uint32_t raw_data0[NUM_ENCODERS_MAX]
Definition: nikon_drv.h:218
@ CMD_29
Definition: nikon_drv.h:185
cmd_code
Command codes[4:0].
Definition: nikon_drv.h:159
@ CMD_20
Definition: nikon_drv.h:180
@ CMD_12
Definition: nikon_drv.h:172
@ CMD_1
Definition: nikon_drv.h:161
uint32_t num_rx_frames
Definition: nikon_drv.h:331
uint8_t mt_err
Definition: nikon_drv.h:261
uint8_t mem_err
Definition: nikon_drv.h:271
@ ENCODER_ADR_CHANGE
Definition: nikon_drv.h:190
uint32_t identification_code[NUM_ED_CH_MAX]
Definition: nikon_drv.h:359
uint16_t rx_div_attr
Definition: nikon_drv.h:211
@ CMD_6
Definition: nikon_drv.h:166
uint16_t tx_div
Definition: nikon_drv.h:209
struct nikon_pruicss_xchg * pruicss_xchg
Definition: nikon_drv.h:321
uint32_t mem_data[NUM_MDF_CMD_MAX]
Definition: nikon_drv.h:349
uint32_t enc_status[NUM_ENCODERS_MAX]
Definition: nikon_drv.h:241
@ CMD_8
Definition: nikon_drv.h:168
Definition: nikon_drv.h:217
Structure defining Alarm bits receivedd by the encoder.
Definition: nikon_drv.h:257
#define NUM_ENCODERS_MAX
Definition: nikon_drv.h:70
uint32_t temperature[NUM_ED_CH_MAX][NUM_ENCODERS_MAX]
Definition: nikon_drv.h:357
uint32_t core_clk_freq
Definition: nikon_drv.h:337
uint32_t pruicss_slicex
Definition: nikon_drv.h:305
uint8_t ov_spd
Definition: nikon_drv.h:268
uint64_t cmp3
Definition: nikon_drv.h:371
@ CMD_3
Definition: nikon_drv.h:163
uint32_t tx_crc
Definition: nikon_drv.h:347
uint32_t tx_mdf
Definition: nikon_drv.h:329
Initialize NIKON firmware interface address and get the pointer to struct nikon_priv instance.
Definition: nikon_drv.h:304
@ UPDATE_ENC_LEN
Definition: nikon_drv.h:193
uint32_t eax[NUM_ED_CH_MAX]
Definition: nikon_drv.h:341
void * pruicss_iep
Definition: nikon_drv.h:369
uint32_t tx_cdf[NUM_ED_CH_MAX]
Definition: nikon_drv.h:327
uint16_t rx_div
Definition: nikon_drv.h:207
@ CMD_10
Definition: nikon_drv.h:170
uint8_t batt
Definition: nikon_drv.h:258
uint32_t single_turn_len[NUM_ED_CH_MAX][NUM_ENCODERS_MAX]
Definition: nikon_drv.h:315
float_t baud_rate
Definition: nikon_drv.h:335
uint32_t sync_code
Definition: nikon_drv.h:345
uint32_t alm_field[NUM_ED_CH_MAX][NUM_ENCODERS_MAX]
Definition: nikon_drv.h:361
Structure defining 3-ch peripheral interface clock configuration for selected frequency.
Definition: nikon_drv.h:206
uint32_t multi_turn_len[NUM_ED_CH_MAX][NUM_ENCODERS_MAX]
Definition: nikon_drv.h:317
uint8_t ps_err
Definition: nikon_drv.h:277
@ CMD_19
Definition: nikon_drv.h:179
uint32_t enc_addr[NUM_ENCODERS_MAX]
Definition: nikon_drv.h:245
uint32_t otf_crc[NUM_ENCODERS_MAX]
Definition: nikon_drv.h:228
uint32_t raw_data2[NUM_ENCODERS_MAX]
Definition: nikon_drv.h:222
@ CMD_27
Definition: nikon_drv.h:183
Definition: nikon_drv.h:240
uint8_t st_err
Definition: nikon_drv.h:274
uint8_t ov_flow
Definition: nikon_drv.h:264
@ UPDATE_CLOCK_FREQ
Definition: nikon_drv.h:192
@ CMD_11
Definition: nikon_drv.h:171
@ CMD_2
Definition: nikon_drv.h:162
uint32_t num_encoders[NUM_ED_CH_MAX]
Definition: nikon_drv.h:311
uint32_t channel[NUM_ED_CH_MAX]
Definition: nikon_drv.h:319
uint32_t totalchannels
Definition: nikon_drv.h:333
uint32_t abs_len
Definition: nikon_drv.h:365
uint8_t mem_busy
Definition: nikon_drv.h:284
@ START_CONTINUOUS_MODE
Definition: nikon_drv.h:191
@ CMD_7
Definition: nikon_drv.h:167
uint32_t rcv_crc[NUM_ENCODERS_MAX]
Definition: nikon_drv.h:226
float angle[NUM_ENCODERS_MAX]
Definition: nikon_drv.h:236
@ CMD_14
Definition: nikon_drv.h:174
uint32_t enc_cmd[NUM_ENCODERS_MAX]
Definition: nikon_drv.h:243
void * pruicss_cfg
Definition: nikon_drv.h:325
@ CMD_4
Definition: nikon_drv.h:164
@ CMD_21
Definition: nikon_drv.h:181
#define NUM_ED_CH_MAX
Definition: nikon_drv.h:68
uint8_t inc_err
Definition: nikon_drv.h:290
uint32_t fc
Definition: nikon_drv.h:343