You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
228 lines
16 KiB
228 lines
16 KiB
#pragma once
|
|
#define REGADD__STM32_COMMON (0x0010)
|
|
#define REGADD__STM32_BUSINESS (0x0020)
|
|
#define REGADD__FPGA_START (0x0100)
|
|
|
|
#define REGADDOFF__FPGA_INFO (0x1000)
|
|
#define REGADDOFF__INTERNAL_CLK (0x1020)
|
|
#define REGADDOFF__INTERNAL_TRIGGER (0x1040)
|
|
#define REGADDOFF__TRIGGER_IN1 (0x2000)
|
|
#define REGADDOFF__TRIGGER_IN2 (0x2020)
|
|
#define REGADDOFF__TRIGGER_IN3 (0x2040)
|
|
#define REGADDOFF__TRIGGER_IN4 (0x2060)
|
|
#define REGADDOFF__LIGHT_CTROL_MODULE1 (0x3000)
|
|
#define REGADDOFF__LIGHT_CTROL_MODULE2 (0x3020)
|
|
#define REGADDOFF__LIGHT_CTROL_MODULE3 (0x3040)
|
|
#define REGADDOFF__LIGHT_CTROL_MODULE4 (0x3060)
|
|
#define REGADDOFF__TTL_OUTPUT_MODULE1 (0x4000)
|
|
#define REGADDOFF__TTL_OUTPUT_MODULE2 (0x4020)
|
|
#define REGADDOFF__TTL_OUTPUT_MODULE3 (0x4040)
|
|
#define REGADDOFF__TTL_OUTPUT_MODULE4 (0x4060)
|
|
|
|
typedef enum {
|
|
/**
|
|
* @brief
|
|
* REG 0(16) 设备信息基础寄存器
|
|
*/
|
|
kreg_software_version = 0,
|
|
kreg_manufacturer0 = 1,
|
|
kreg_manufacturer1 = 2,
|
|
kreg_product_type_id = 3,
|
|
kreg_sn_id0 = 4,
|
|
kreg_sn_id1 = 5,
|
|
kreg_sn_id2 = 6,
|
|
kreg_mac0 = 7,
|
|
kreg_mac1 = 8,
|
|
|
|
kreg_fpga_version = REGADDOFF__FPGA_INFO + 1,
|
|
|
|
/**
|
|
* @brief
|
|
* REG 16(32) STM32配置寄存器0
|
|
*/
|
|
kreg_stm32_obtaining_ip_mode = REGADD__STM32_COMMON + 0,
|
|
kreg_stm32_ip = REGADD__STM32_COMMON + 1,
|
|
kreg_stm32_gw = REGADD__STM32_COMMON + 2,
|
|
kreg_stm32_netmask = REGADD__STM32_COMMON + 3,
|
|
kreg_stm32_config0 = REGADD__STM32_COMMON + 4, // bit0: timecode report enable, bit1: camera sync report enable
|
|
|
|
kreg_stm32_action0 = REGADD__STM32_COMMON + 14, // action reg
|
|
kreg_stm32_action_val0 = REGADD__STM32_COMMON + 15, // action val reg
|
|
|
|
kreg_stm32_temperature = REGADD__STM32_BUSINESS + 0,
|
|
kreg_stm32_fan0_error_flag = REGADD__STM32_BUSINESS + 1,
|
|
|
|
/*******************************************************************************
|
|
* 内部时钟源 *
|
|
*******************************************************************************/
|
|
|
|
kreg_internal_clk_module = REGADDOFF__INTERNAL_CLK,
|
|
kreg_internal_clk_ctrl = REGADDOFF__INTERNAL_CLK + 1,
|
|
kreg_internal_clk_freq_cnt = REGADDOFF__INTERNAL_CLK + 2,
|
|
kreg_internal_clk_pluse_cnt = REGADDOFF__INTERNAL_CLK + 3,
|
|
kreg_internal_clk_output_sig_detect = REGADDOFF__INTERNAL_CLK + 15,
|
|
|
|
kreg_internal_clk_tri_module = REGADDOFF__INTERNAL_TRIGGER,
|
|
kreg_internal_clk_tri_src_slect = REGADDOFF__INTERNAL_TRIGGER + 1,
|
|
kreg_internal_clk_tri_fileter_coefficient = REGADDOFF__INTERNAL_TRIGGER + 2,
|
|
kreg_internal_clk_tri_freq_detect_bias = REGADDOFF__INTERNAL_TRIGGER + 3,
|
|
kreg_internal_clk_tri_mode = REGADDOFF__INTERNAL_TRIGGER + 4,
|
|
kreg_internal_clk_tri_trigger_mode_trigger_edge = REGADDOFF__INTERNAL_TRIGGER + 5,
|
|
kreg_internal_clk_tri_trigger_mode_freq_division = REGADDOFF__INTERNAL_TRIGGER + 6,
|
|
kreg_internal_clk_tri_trigger_mode_freq_multiplication = REGADDOFF__INTERNAL_TRIGGER + 7,
|
|
kreg_internal_clk_tri_sequential_control_pluse_cnt_max = REGADDOFF__INTERNAL_TRIGGER + 10,
|
|
kreg_internal_clk_tri_in_signal_freq = REGADDOFF__INTERNAL_TRIGGER + 14,
|
|
kreg_internal_clk_tri_out_signal_freq = REGADDOFF__INTERNAL_TRIGGER + 15,
|
|
|
|
/*******************************************************************************
|
|
* reg_trigger_in *
|
|
*******************************************************************************/
|
|
|
|
kreg_trigger_in1_module = REGADDOFF__TRIGGER_IN1,
|
|
kreg_trigger_in1_src_slect = REGADDOFF__TRIGGER_IN1 + 1,
|
|
kreg_trigger_in1_fileter_coefficient = REGADDOFF__TRIGGER_IN1 + 2, // 滤波系数,单位是10ns
|
|
kreg_trigger_in1_freq_detect_bias = REGADDOFF__TRIGGER_IN1 + 3,
|
|
kreg_trigger_in1_mode = REGADDOFF__TRIGGER_IN1 + 4, // mode 0:触发 1:转发模式
|
|
kreg_trigger_in1_trigger_mode_trigger_edge = REGADDOFF__TRIGGER_IN1 + 5,
|
|
kreg_trigger_in1_trigger_mode_freq_division = REGADDOFF__TRIGGER_IN1 + 6,
|
|
kreg_trigger_in1_trigger_mode_freq_multiplication = REGADDOFF__TRIGGER_IN1 + 7,
|
|
kreg_trigger_in1_sequential_control_pluse_cnt_max = REGADDOFF__TRIGGER_IN1 + 10, // 顺序控制信号最大计数
|
|
kreg_trigger_in1_in_signal_freq = REGADDOFF__TRIGGER_IN1 + 14,
|
|
kreg_trigger_in1_out_signal_freq = REGADDOFF__TRIGGER_IN1 + 15,
|
|
|
|
kreg_trigger_in2_module = REGADDOFF__TRIGGER_IN2,
|
|
kreg_trigger_in2_src_slect = REGADDOFF__TRIGGER_IN2 + 1,
|
|
kreg_trigger_in2_fileter_coefficient = REGADDOFF__TRIGGER_IN2 + 2,
|
|
kreg_trigger_in2_freq_detect_bias = REGADDOFF__TRIGGER_IN2 + 3,
|
|
kreg_trigger_in2_mode = REGADDOFF__TRIGGER_IN2 + 4,
|
|
kreg_trigger_in2_trigger_mode_trigger_edge = REGADDOFF__TRIGGER_IN2 + 5,
|
|
kreg_trigger_in2_trigger_mode_freq_division = REGADDOFF__TRIGGER_IN2 + 6,
|
|
kreg_trigger_in2_trigger_mode_freq_multiplication = REGADDOFF__TRIGGER_IN2 + 7,
|
|
kreg_trigger_in2_sequential_control_pluse_cnt_max = REGADDOFF__TRIGGER_IN2 + 10,
|
|
kreg_trigger_in2_in_signal_freq = REGADDOFF__TRIGGER_IN2 + 14,
|
|
kreg_trigger_in2_out_signal_freq = REGADDOFF__TRIGGER_IN2 + 15,
|
|
|
|
kreg_trigger_in3_module = REGADDOFF__TRIGGER_IN3,
|
|
kreg_trigger_in3_src_slect = REGADDOFF__TRIGGER_IN3 + 1,
|
|
kreg_trigger_in3_fileter_coefficient = REGADDOFF__TRIGGER_IN3 + 2,
|
|
kreg_trigger_in3_freq_detect_bias = REGADDOFF__TRIGGER_IN3 + 3,
|
|
kreg_trigger_in3_mode = REGADDOFF__TRIGGER_IN3 + 4,
|
|
kreg_trigger_in3_trigger_mode_trigger_edge = REGADDOFF__TRIGGER_IN3 + 5,
|
|
kreg_trigger_in3_trigger_mode_freq_division = REGADDOFF__TRIGGER_IN3 + 6,
|
|
kreg_trigger_in3_trigger_mode_freq_multiplication = REGADDOFF__TRIGGER_IN3 + 7,
|
|
kreg_trigger_in3_sequential_control_pluse_cnt_max = REGADDOFF__TRIGGER_IN3 + 10,
|
|
kreg_trigger_in3_in_signal_freq = REGADDOFF__TRIGGER_IN3 + 14,
|
|
kreg_trigger_in3_out_signal_freq = REGADDOFF__TRIGGER_IN3 + 15,
|
|
|
|
kreg_trigger_in4_module = REGADDOFF__TRIGGER_IN4,
|
|
kreg_trigger_in4_src_slect = REGADDOFF__TRIGGER_IN4 + 1,
|
|
kreg_trigger_in4_fileter_coefficient = REGADDOFF__TRIGGER_IN4 + 2,
|
|
kreg_trigger_in4_freq_detect_bias = REGADDOFF__TRIGGER_IN4 + 3,
|
|
kreg_trigger_in4_mode = REGADDOFF__TRIGGER_IN4 + 4,
|
|
kreg_trigger_in4_trigger_mode_trigger_edge = REGADDOFF__TRIGGER_IN4 + 5,
|
|
kreg_trigger_in4_trigger_mode_freq_division = REGADDOFF__TRIGGER_IN4 + 6,
|
|
kreg_trigger_in4_trigger_mode_freq_multiplication = REGADDOFF__TRIGGER_IN4 + 7,
|
|
kreg_trigger_in4_sequential_control_pluse_cnt_max = REGADDOFF__TRIGGER_IN4 + 10,
|
|
kreg_trigger_in4_in_signal_freq = REGADDOFF__TRIGGER_IN4 + 14,
|
|
kreg_trigger_in4_out_signal_freq = REGADDOFF__TRIGGER_IN4 + 15,
|
|
|
|
/*******************************************************************************
|
|
* 快门控制输出 *
|
|
*******************************************************************************/
|
|
|
|
kreg_ttl_output_module1 = REGADDOFF__TTL_OUTPUT_MODULE1,
|
|
kreg_ttl_output_module1_output_ctrl_mode = REGADDOFF__TTL_OUTPUT_MODULE1 + 1,
|
|
kreg_ttl_output_module1_lt_en_bind = REGADDOFF__TTL_OUTPUT_MODULE1 + 2,
|
|
kreg_ttl_output_module1_lt_en_offset = REGADDOFF__TTL_OUTPUT_MODULE1 + 3,
|
|
kreg_ttl_output_module1_in_sig_select = REGADDOFF__TTL_OUTPUT_MODULE1 + 4,
|
|
kreg_ttl_output_module1_out_polarity_reversal = REGADDOFF__TTL_OUTPUT_MODULE1 + 5,
|
|
|
|
kreg_ttl_output_module2 = REGADDOFF__TTL_OUTPUT_MODULE2,
|
|
kreg_ttl_output_module2_output_ctrl_mode = REGADDOFF__TTL_OUTPUT_MODULE2 + 1,
|
|
kreg_ttl_output_module2_lt_en_bind = REGADDOFF__TTL_OUTPUT_MODULE2 + 2,
|
|
kreg_ttl_output_module2_lt_en_offset = REGADDOFF__TTL_OUTPUT_MODULE2 + 3,
|
|
kreg_ttl_output_module2_in_sig_select = REGADDOFF__TTL_OUTPUT_MODULE2 + 4,
|
|
kreg_ttl_output_module2_out_polarity_reversal = REGADDOFF__TTL_OUTPUT_MODULE2 + 5,
|
|
|
|
kreg_ttl_output_module3 = REGADDOFF__TTL_OUTPUT_MODULE3,
|
|
kreg_ttl_output_module3_output_ctrl_mode = REGADDOFF__TTL_OUTPUT_MODULE3 + 1,
|
|
kreg_ttl_output_module3_lt_en_bind = REGADDOFF__TTL_OUTPUT_MODULE3 + 2,
|
|
kreg_ttl_output_module3_lt_en_offset = REGADDOFF__TTL_OUTPUT_MODULE3 + 3,
|
|
kreg_ttl_output_module3_in_sig_select = REGADDOFF__TTL_OUTPUT_MODULE3 + 4,
|
|
kreg_ttl_output_module3_out_polarity_reversal = REGADDOFF__TTL_OUTPUT_MODULE3 + 5,
|
|
|
|
kreg_ttl_output_module4 = REGADDOFF__TTL_OUTPUT_MODULE4,
|
|
kreg_ttl_output_module4_output_ctrl_mode = REGADDOFF__TTL_OUTPUT_MODULE4 + 1,
|
|
kreg_ttl_output_module4_lt_en_bind = REGADDOFF__TTL_OUTPUT_MODULE4 + 2,
|
|
kreg_ttl_output_module4_lt_en_offset = REGADDOFF__TTL_OUTPUT_MODULE4 + 3,
|
|
kreg_ttl_output_module4_in_sig_select = REGADDOFF__TTL_OUTPUT_MODULE4 + 4,
|
|
kreg_ttl_output_module4_out_polarity_reversal = REGADDOFF__TTL_OUTPUT_MODULE4 + 5,
|
|
|
|
/*******************************************************************************
|
|
* 光源控制 *
|
|
*******************************************************************************/
|
|
kreg_light_ctrol_module1 = REGADDOFF__LIGHT_CTROL_MODULE1,
|
|
kreg_light_ctrol_module1_source_select = REGADDOFF__LIGHT_CTROL_MODULE1 + 1,
|
|
kreg_light_ctrol_module1_en_sig_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE1 + 2,
|
|
kreg_light_ctrol_module1_light_intensity_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE1 + 3,
|
|
kreg_light_ctrol_module1_trigger_mode_pluse_num = REGADDOFF__LIGHT_CTROL_MODULE1 + 4,
|
|
kreg_light_ctrol_module1_trigger_mode_pluse_interval = REGADDOFF__LIGHT_CTROL_MODULE1 + 5,
|
|
kreg_light_ctrol_module1_trigger_mode_pluse_width = REGADDOFF__LIGHT_CTROL_MODULE1 + 6,
|
|
kreg_light_ctrol_module1_trigger_mode_first_pluse_offset = REGADDOFF__LIGHT_CTROL_MODULE1 + 7,
|
|
kreg_light_ctrol_module1_trigger_mode_pluse_delay = REGADDOFF__LIGHT_CTROL_MODULE1 + 8, // 无用
|
|
kreg_light_ctrol_module1_light_intensity_cnt = REGADDOFF__LIGHT_CTROL_MODULE1 + 9,
|
|
kreg_light_ctrol_module1_light_driver_freq_cnt = REGADDOFF__LIGHT_CTROL_MODULE1 + 10,
|
|
kreg_light_ctrol_module1_freq_detect_bias = REGADDOFF__LIGHT_CTROL_MODULE1 + 12,
|
|
kreg_light_ctrol_module1_light_src_error_state = REGADDOFF__LIGHT_CTROL_MODULE1 + 13,
|
|
kreg_light_ctrol_module1_in_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE1 + 14,
|
|
kreg_light_ctrol_module1_out_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE1 + 15,
|
|
|
|
kreg_light_ctrol_module2 = REGADDOFF__LIGHT_CTROL_MODULE2,
|
|
kreg_light_ctrol_module2_source_select = REGADDOFF__LIGHT_CTROL_MODULE2 + 1,
|
|
kreg_light_ctrol_module2_en_sig_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE2 + 2,
|
|
kreg_light_ctrol_module2_light_intensity_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE2 + 3,
|
|
kreg_light_ctrol_module2_trigger_mode_pluse_num = REGADDOFF__LIGHT_CTROL_MODULE2 + 4,
|
|
kreg_light_ctrol_module2_trigger_mode_pluse_interval = REGADDOFF__LIGHT_CTROL_MODULE2 + 5,
|
|
kreg_light_ctrol_module2_trigger_mode_pluse_width = REGADDOFF__LIGHT_CTROL_MODULE2 + 6,
|
|
kreg_light_ctrol_module2_trigger_mode_first_pluse_offset = REGADDOFF__LIGHT_CTROL_MODULE2 + 7,
|
|
kreg_light_ctrol_module2_trigger_mode_pluse_delay = REGADDOFF__LIGHT_CTROL_MODULE2 + 8,
|
|
kreg_light_ctrol_module2_light_intensity_cnt = REGADDOFF__LIGHT_CTROL_MODULE2 + 9,
|
|
kreg_light_ctrol_module2_light_driver_freq_cnt = REGADDOFF__LIGHT_CTROL_MODULE2 + 10,
|
|
kreg_light_ctrol_module2_freq_detect_bias = REGADDOFF__LIGHT_CTROL_MODULE2 + 12,
|
|
kreg_light_ctrol_module2_light_src_error_state = REGADDOFF__LIGHT_CTROL_MODULE2 + 13,
|
|
kreg_light_ctrol_module2_in_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE2 + 14,
|
|
kreg_light_ctrol_module2_out_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE2 + 15,
|
|
|
|
kreg_light_ctrol_module3 = REGADDOFF__LIGHT_CTROL_MODULE3,
|
|
kreg_light_ctrol_module3_source_select = REGADDOFF__LIGHT_CTROL_MODULE3 + 1,
|
|
kreg_light_ctrol_module3_en_sig_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE3 + 2,
|
|
kreg_light_ctrol_module3_light_intensity_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE3 + 3,
|
|
kreg_light_ctrol_module3_trigger_mode_pluse_num = REGADDOFF__LIGHT_CTROL_MODULE3 + 4,
|
|
kreg_light_ctrol_module3_trigger_mode_pluse_interval = REGADDOFF__LIGHT_CTROL_MODULE3 + 5,
|
|
kreg_light_ctrol_module3_trigger_mode_pluse_width = REGADDOFF__LIGHT_CTROL_MODULE3 + 6,
|
|
kreg_light_ctrol_module3_trigger_mode_first_pluse_offset = REGADDOFF__LIGHT_CTROL_MODULE3 + 7,
|
|
kreg_light_ctrol_module3_trigger_mode_pluse_delay = REGADDOFF__LIGHT_CTROL_MODULE3 + 8,
|
|
kreg_light_ctrol_module3_light_intensity_cnt = REGADDOFF__LIGHT_CTROL_MODULE3 + 9,
|
|
kreg_light_ctrol_module3_light_driver_freq_cnt = REGADDOFF__LIGHT_CTROL_MODULE3 + 10,
|
|
kreg_light_ctrol_module3_freq_detect_bias = REGADDOFF__LIGHT_CTROL_MODULE3 + 12,
|
|
kreg_light_ctrol_module3_light_src_error_state = REGADDOFF__LIGHT_CTROL_MODULE3 + 13,
|
|
kreg_light_ctrol_module3_in_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE3 + 14,
|
|
kreg_light_ctrol_module3_out_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE3 + 15,
|
|
|
|
kreg_light_ctrol_module4 = REGADDOFF__LIGHT_CTROL_MODULE4,
|
|
kreg_light_ctrol_module4_source_select = REGADDOFF__LIGHT_CTROL_MODULE4 + 1,
|
|
kreg_light_ctrol_module4_en_sig_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE4 + 2,
|
|
kreg_light_ctrol_module4_light_intensity_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE4 + 3,
|
|
kreg_light_ctrol_module4_trigger_mode_pluse_num = REGADDOFF__LIGHT_CTROL_MODULE4 + 4,
|
|
kreg_light_ctrol_module4_trigger_mode_pluse_interval = REGADDOFF__LIGHT_CTROL_MODULE4 + 5,
|
|
kreg_light_ctrol_module4_trigger_mode_pluse_width = REGADDOFF__LIGHT_CTROL_MODULE4 + 6,
|
|
kreg_light_ctrol_module4_trigger_mode_first_pluse_offset = REGADDOFF__LIGHT_CTROL_MODULE4 + 7,
|
|
kreg_light_ctrol_module4_trigger_mode_pluse_delay = REGADDOFF__LIGHT_CTROL_MODULE4 + 8,
|
|
kreg_light_ctrol_module4_light_intensity_cnt = REGADDOFF__LIGHT_CTROL_MODULE4 + 9,
|
|
kreg_light_ctrol_module4_light_driver_freq_cnt = REGADDOFF__LIGHT_CTROL_MODULE4 + 10,
|
|
kreg_light_ctrol_module4_freq_detect_bias = REGADDOFF__LIGHT_CTROL_MODULE4 + 12,
|
|
kreg_light_ctrol_module4_light_src_error_state = REGADDOFF__LIGHT_CTROL_MODULE4 + 13,
|
|
kreg_light_ctrol_module4_in_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE4 + 14,
|
|
kreg_light_ctrol_module4_out_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE4 + 15,
|
|
|
|
} RegAdd_t;
|