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.

222 lines
15 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. #pragma once
  2. #define REGADD__STM32_COMMON (0x0010)
  3. #define REGADD__STM32_BUSINESS (0x0020)
  4. #define REGADD__FPGA_START (0x0100)
  5. #define REGADDOFF__FPGA_INFO (0x1000)
  6. #define REGADDOFF__INTERNAL_CLK (0x1020)
  7. #define REGADDOFF__INTERNAL_TRIGGER (0x1040)
  8. #define REGADDOFF__TRIGGER_IN1 (0x2000)
  9. #define REGADDOFF__TRIGGER_IN2 (0x2020)
  10. #define REGADDOFF__TRIGGER_IN3 (0x2040)
  11. #define REGADDOFF__TRIGGER_IN4 (0x2060)
  12. #define REGADDOFF__LIGHT_CTROL_MODULE1 (0x3000)
  13. #define REGADDOFF__LIGHT_CTROL_MODULE2 (0x3020)
  14. #define REGADDOFF__LIGHT_CTROL_MODULE3 (0x3040)
  15. #define REGADDOFF__LIGHT_CTROL_MODULE4 (0x3060)
  16. #define REGADDOFF__TTL_OUTPUT_MODULE1 (0x4000)
  17. #define REGADDOFF__TTL_OUTPUT_MODULE2 (0x4020)
  18. #define REGADDOFF__TTL_OUTPUT_MODULE3 (0x4040)
  19. #define REGADDOFF__TTL_OUTPUT_MODULE4 (0x4060)
  20. typedef enum {
  21. /**
  22. * @brief
  23. * REG 0(16)
  24. */
  25. kreg_software_version = 0,
  26. kreg_manufacturer0 = 1,
  27. kreg_manufacturer1 = 2,
  28. kreg_product_type_id = 3,
  29. kreg_sn_id0 = 4,
  30. kreg_sn_id1 = 5,
  31. kreg_sn_id2 = 6,
  32. kreg_mac0 = 7,
  33. kreg_mac1 = 8,
  34. /**
  35. * @brief
  36. * REG 16(32) STM32配置寄存器0
  37. */
  38. kreg_stm32_obtaining_ip_mode = REGADD__STM32_COMMON + 0,
  39. kreg_stm32_ip = REGADD__STM32_COMMON + 1,
  40. kreg_stm32_gw = REGADD__STM32_COMMON + 2,
  41. kreg_stm32_netmask = REGADD__STM32_COMMON + 3,
  42. kreg_stm32_config0 = REGADD__STM32_COMMON + 4, // bit0: timecode report enable, bit1: camera sync report enable
  43. kreg_stm32_action0 = REGADD__STM32_COMMON + 14, // action reg
  44. kreg_stm32_action_val0 = REGADD__STM32_COMMON + 15, // action val reg
  45. kreg_stm32_temperature = REGADD__STM32_BUSINESS + 0,
  46. kreg_stm32_fan0_error_flag = REGADD__STM32_BUSINESS + 1,
  47. /*******************************************************************************
  48. * *
  49. *******************************************************************************/
  50. kreg_internal_clk_module = REGADDOFF__INTERNAL_CLK,
  51. kreg_internal_clk_ctrl = REGADDOFF__INTERNAL_CLK + 1,
  52. kreg_internal_clk_freq_cnt = REGADDOFF__INTERNAL_CLK + 2,
  53. kreg_internal_clk_pluse_cnt = REGADDOFF__INTERNAL_CLK + 3,
  54. kreg_internal_clk_output_sig_detect = REGADDOFF__INTERNAL_CLK + 15,
  55. kreg_internal_clk_tri_module = REGADDOFF__INTERNAL_TRIGGER,
  56. kreg_internal_clk_tri_src_slect = REGADDOFF__INTERNAL_TRIGGER + 1,
  57. kreg_internal_clk_tri_fileter_coefficient = REGADDOFF__INTERNAL_TRIGGER + 2,
  58. kreg_internal_clk_tri_freq_detect_bias = REGADDOFF__INTERNAL_TRIGGER + 3,
  59. kreg_internal_clk_tri_mode = REGADDOFF__INTERNAL_TRIGGER + 4,
  60. kreg_internal_clk_tri_trigger_mode_trigger_edge = REGADDOFF__INTERNAL_TRIGGER + 5,
  61. kreg_internal_clk_tri_trigger_mode_freq_division = REGADDOFF__INTERNAL_TRIGGER + 6,
  62. kreg_internal_clk_tri_trigger_mode_freq_multiplication = REGADDOFF__INTERNAL_TRIGGER + 7,
  63. kreg_internal_clk_tri_sequential_control_pluse_cnt_max = REGADDOFF__INTERNAL_TRIGGER + 10,
  64. kreg_internal_clk_tri_in_signal_freq = REGADDOFF__INTERNAL_TRIGGER + 14,
  65. kreg_internal_clk_tri_out_signal_freq = REGADDOFF__INTERNAL_TRIGGER + 15,
  66. /*******************************************************************************
  67. * reg_trigger_in *
  68. *******************************************************************************/
  69. kreg_trigger_in1_module = REGADDOFF__TRIGGER_IN1,
  70. kreg_trigger_in1_src_slect = REGADDOFF__TRIGGER_IN1 + 1,
  71. kreg_trigger_in1_fileter_coefficient = REGADDOFF__TRIGGER_IN1 + 2, // 滤波系数,单位是10ns
  72. kreg_trigger_in1_freq_detect_bias = REGADDOFF__TRIGGER_IN1 + 3,
  73. kreg_trigger_in1_mode = REGADDOFF__TRIGGER_IN1 + 4, // mode 0:触发 1:转发模式
  74. kreg_trigger_in1_trigger_mode_trigger_edge = REGADDOFF__TRIGGER_IN1 + 5,
  75. kreg_trigger_in1_trigger_mode_freq_division = REGADDOFF__TRIGGER_IN1 + 6,
  76. kreg_trigger_in1_trigger_mode_freq_multiplication = REGADDOFF__TRIGGER_IN1 + 7,
  77. kreg_trigger_in1_sequential_control_pluse_cnt_max = REGADDOFF__TRIGGER_IN1 + 10, // 顺序控制信号最大计数
  78. kreg_trigger_in1_in_signal_freq = REGADDOFF__TRIGGER_IN1 + 14,
  79. kreg_trigger_in1_out_signal_freq = REGADDOFF__TRIGGER_IN1 + 15,
  80. kreg_trigger_in2_module = REGADDOFF__TRIGGER_IN2,
  81. kreg_trigger_in2_src_slect = REGADDOFF__TRIGGER_IN2 + 1,
  82. kreg_trigger_in2_fileter_coefficient = REGADDOFF__TRIGGER_IN2 + 2,
  83. kreg_trigger_in2_freq_detect_bias = REGADDOFF__TRIGGER_IN2 + 3,
  84. kreg_trigger_in2_mode = REGADDOFF__TRIGGER_IN2 + 4,
  85. kreg_trigger_in2_trigger_mode_trigger_edge = REGADDOFF__TRIGGER_IN2 + 5,
  86. kreg_trigger_in2_trigger_mode_freq_division = REGADDOFF__TRIGGER_IN2 + 6,
  87. kreg_trigger_in2_trigger_mode_freq_multiplication = REGADDOFF__TRIGGER_IN2 + 7,
  88. kreg_trigger_in2_sequential_control_pluse_cnt_max = REGADDOFF__TRIGGER_IN2 + 10,
  89. kreg_trigger_in2_in_signal_freq = REGADDOFF__TRIGGER_IN2 + 14,
  90. kreg_trigger_in2_out_signal_freq = REGADDOFF__TRIGGER_IN2 + 15,
  91. kreg_trigger_in3_module = REGADDOFF__TRIGGER_IN3,
  92. kreg_trigger_in3_src_slect = REGADDOFF__TRIGGER_IN3 + 1,
  93. kreg_trigger_in3_fileter_coefficient = REGADDOFF__TRIGGER_IN3 + 2,
  94. kreg_trigger_in3_freq_detect_bias = REGADDOFF__TRIGGER_IN3 + 3,
  95. kreg_trigger_in3_mode = REGADDOFF__TRIGGER_IN3 + 4,
  96. kreg_trigger_in3_trigger_mode_trigger_edge = REGADDOFF__TRIGGER_IN3 + 5,
  97. kreg_trigger_in3_trigger_mode_freq_division = REGADDOFF__TRIGGER_IN3 + 6,
  98. kreg_trigger_in3_trigger_mode_freq_multiplication = REGADDOFF__TRIGGER_IN3 + 7,
  99. kreg_trigger_in3_sequential_control_pluse_cnt_max = REGADDOFF__TRIGGER_IN3 + 10,
  100. kreg_trigger_in3_in_signal_freq = REGADDOFF__TRIGGER_IN3 + 14,
  101. kreg_trigger_in3_out_signal_freq = REGADDOFF__TRIGGER_IN3 + 15,
  102. kreg_trigger_in4_module = REGADDOFF__TRIGGER_IN4,
  103. kreg_trigger_in4_src_slect = REGADDOFF__TRIGGER_IN4 + 1,
  104. kreg_trigger_in4_fileter_coefficient = REGADDOFF__TRIGGER_IN4 + 2,
  105. kreg_trigger_in4_freq_detect_bias = REGADDOFF__TRIGGER_IN4 + 3,
  106. kreg_trigger_in4_mode = REGADDOFF__TRIGGER_IN4 + 4,
  107. kreg_trigger_in4_trigger_mode_trigger_edge = REGADDOFF__TRIGGER_IN4 + 5,
  108. kreg_trigger_in4_trigger_mode_freq_division = REGADDOFF__TRIGGER_IN4 + 6,
  109. kreg_trigger_in4_trigger_mode_freq_multiplication = REGADDOFF__TRIGGER_IN4 + 7,
  110. kreg_trigger_in4_sequential_control_pluse_cnt_max = REGADDOFF__TRIGGER_IN4 + 10,
  111. kreg_trigger_in4_in_signal_freq = REGADDOFF__TRIGGER_IN4 + 14,
  112. kreg_trigger_in4_out_signal_freq = REGADDOFF__TRIGGER_IN4 + 15,
  113. /*******************************************************************************
  114. * *
  115. *******************************************************************************/
  116. kreg_ttl_output_module1 = REGADDOFF__TTL_OUTPUT_MODULE1,
  117. kreg_ttl_output_module1_output_ctrl_mode = REGADDOFF__TTL_OUTPUT_MODULE1 + 1,
  118. kreg_ttl_output_module1_lt_en_bind = REGADDOFF__TTL_OUTPUT_MODULE1 + 2,
  119. kreg_ttl_output_module1_lt_en_offset = REGADDOFF__TTL_OUTPUT_MODULE1 + 3,
  120. kreg_ttl_output_module1_in_sig_select = REGADDOFF__TTL_OUTPUT_MODULE1 + 4,
  121. kreg_ttl_output_module2 = REGADDOFF__TTL_OUTPUT_MODULE2,
  122. kreg_ttl_output_module2_output_ctrl_mode = REGADDOFF__TTL_OUTPUT_MODULE2 + 1,
  123. kreg_ttl_output_module2_lt_en_bind = REGADDOFF__TTL_OUTPUT_MODULE2 + 2,
  124. kreg_ttl_output_module2_lt_en_offset = REGADDOFF__TTL_OUTPUT_MODULE2 + 3,
  125. kreg_ttl_output_module2_in_sig_select = REGADDOFF__TTL_OUTPUT_MODULE2 + 4,
  126. kreg_ttl_output_module3 = REGADDOFF__TTL_OUTPUT_MODULE3,
  127. kreg_ttl_output_module3_output_ctrl_mode = REGADDOFF__TTL_OUTPUT_MODULE3 + 1,
  128. kreg_ttl_output_module3_lt_en_bind = REGADDOFF__TTL_OUTPUT_MODULE3 + 2,
  129. kreg_ttl_output_module3_lt_en_offset = REGADDOFF__TTL_OUTPUT_MODULE3 + 3,
  130. kreg_ttl_output_module3_in_sig_select = REGADDOFF__TTL_OUTPUT_MODULE3 + 4,
  131. kreg_ttl_output_module4 = REGADDOFF__TTL_OUTPUT_MODULE4,
  132. kreg_ttl_output_module4_output_ctrl_mode = REGADDOFF__TTL_OUTPUT_MODULE4 + 1,
  133. kreg_ttl_output_module4_lt_en_bind = REGADDOFF__TTL_OUTPUT_MODULE4 + 2,
  134. kreg_ttl_output_module4_lt_en_offset = REGADDOFF__TTL_OUTPUT_MODULE4 + 3,
  135. kreg_ttl_output_module4_in_sig_select = REGADDOFF__TTL_OUTPUT_MODULE4 + 4,
  136. /*******************************************************************************
  137. * *
  138. *******************************************************************************/
  139. kreg_light_ctrol_module1 = REGADDOFF__LIGHT_CTROL_MODULE1,
  140. kreg_light_ctrol_module1_source_select = REGADDOFF__LIGHT_CTROL_MODULE1 + 1,
  141. kreg_light_ctrol_module1_en_sig_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE1 + 2,
  142. kreg_light_ctrol_module1_light_intensity_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE1 + 3,
  143. kreg_light_ctrol_module1_trigger_mode_pluse_num = REGADDOFF__LIGHT_CTROL_MODULE1 + 4,
  144. kreg_light_ctrol_module1_trigger_mode_pluse_interval = REGADDOFF__LIGHT_CTROL_MODULE1 + 5,
  145. kreg_light_ctrol_module1_trigger_mode_pluse_width = REGADDOFF__LIGHT_CTROL_MODULE1 + 6,
  146. kreg_light_ctrol_module1_trigger_mode_first_pluse_offset = REGADDOFF__LIGHT_CTROL_MODULE1 + 7,
  147. kreg_light_ctrol_module1_trigger_mode_output_polarity = REGADDOFF__LIGHT_CTROL_MODULE1 + 8, // 无用
  148. kreg_light_ctrol_module1_light_intensity_cnt = REGADDOFF__LIGHT_CTROL_MODULE1 + 9,
  149. kreg_light_ctrol_module1_light_driver_freq_cnt = REGADDOFF__LIGHT_CTROL_MODULE1 + 10,
  150. kreg_light_ctrol_module1_freq_detect_bias = REGADDOFF__LIGHT_CTROL_MODULE1 + 12,
  151. kreg_light_ctrol_module1_light_src_error_state = REGADDOFF__LIGHT_CTROL_MODULE1 + 13,
  152. kreg_light_ctrol_module1_in_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE1 + 14,
  153. kreg_light_ctrol_module1_out_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE1 + 15,
  154. kreg_light_ctrol_module2 = REGADDOFF__LIGHT_CTROL_MODULE2,
  155. kreg_light_ctrol_module2_source_select = REGADDOFF__LIGHT_CTROL_MODULE2 + 1,
  156. kreg_light_ctrol_module2_en_sig_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE2 + 2,
  157. kreg_light_ctrol_module2_light_intensity_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE2 + 3,
  158. kreg_light_ctrol_module2_trigger_mode_pluse_num = REGADDOFF__LIGHT_CTROL_MODULE2 + 4,
  159. kreg_light_ctrol_module2_trigger_mode_pluse_interval = REGADDOFF__LIGHT_CTROL_MODULE2 + 5,
  160. kreg_light_ctrol_module2_trigger_mode_pluse_width = REGADDOFF__LIGHT_CTROL_MODULE2 + 6,
  161. kreg_light_ctrol_module2_trigger_mode_first_pluse_offset = REGADDOFF__LIGHT_CTROL_MODULE2 + 7,
  162. kreg_light_ctrol_module2_trigger_mode_output_polarity = REGADDOFF__LIGHT_CTROL_MODULE2 + 8,
  163. kreg_light_ctrol_module2_light_intensity_cnt = REGADDOFF__LIGHT_CTROL_MODULE2 + 9,
  164. kreg_light_ctrol_module2_light_driver_freq_cnt = REGADDOFF__LIGHT_CTROL_MODULE2 + 10,
  165. kreg_light_ctrol_module2_freq_detect_bias = REGADDOFF__LIGHT_CTROL_MODULE2 + 12,
  166. kreg_light_ctrol_module2_light_src_error_state = REGADDOFF__LIGHT_CTROL_MODULE2 + 13,
  167. kreg_light_ctrol_module2_in_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE2 + 14,
  168. kreg_light_ctrol_module2_out_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE2 + 15,
  169. kreg_light_ctrol_module3 = REGADDOFF__LIGHT_CTROL_MODULE3,
  170. kreg_light_ctrol_module3_source_select = REGADDOFF__LIGHT_CTROL_MODULE3 + 1,
  171. kreg_light_ctrol_module3_en_sig_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE3 + 2,
  172. kreg_light_ctrol_module3_light_intensity_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE3 + 3,
  173. kreg_light_ctrol_module3_trigger_mode_pluse_num = REGADDOFF__LIGHT_CTROL_MODULE3 + 4,
  174. kreg_light_ctrol_module3_trigger_mode_pluse_interval = REGADDOFF__LIGHT_CTROL_MODULE3 + 5,
  175. kreg_light_ctrol_module3_trigger_mode_pluse_width = REGADDOFF__LIGHT_CTROL_MODULE3 + 6,
  176. kreg_light_ctrol_module3_trigger_mode_first_pluse_offset = REGADDOFF__LIGHT_CTROL_MODULE3 + 7,
  177. kreg_light_ctrol_module3_trigger_mode_output_polarity = REGADDOFF__LIGHT_CTROL_MODULE3 + 8,
  178. kreg_light_ctrol_module3_light_intensity_cnt = REGADDOFF__LIGHT_CTROL_MODULE3 + 9,
  179. kreg_light_ctrol_module3_light_driver_freq_cnt = REGADDOFF__LIGHT_CTROL_MODULE3 + 10,
  180. kreg_light_ctrol_module3_freq_detect_bias = REGADDOFF__LIGHT_CTROL_MODULE3 + 12,
  181. kreg_light_ctrol_module3_light_src_error_state = REGADDOFF__LIGHT_CTROL_MODULE3 + 13,
  182. kreg_light_ctrol_module3_in_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE3 + 14,
  183. kreg_light_ctrol_module3_out_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE3 + 15,
  184. kreg_light_ctrol_module4 = REGADDOFF__LIGHT_CTROL_MODULE4,
  185. kreg_light_ctrol_module4_source_select = REGADDOFF__LIGHT_CTROL_MODULE4 + 1,
  186. kreg_light_ctrol_module4_en_sig_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE4 + 2,
  187. kreg_light_ctrol_module4_light_intensity_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE4 + 3,
  188. kreg_light_ctrol_module4_trigger_mode_pluse_num = REGADDOFF__LIGHT_CTROL_MODULE4 + 4,
  189. kreg_light_ctrol_module4_trigger_mode_pluse_interval = REGADDOFF__LIGHT_CTROL_MODULE4 + 5,
  190. kreg_light_ctrol_module4_trigger_mode_pluse_width = REGADDOFF__LIGHT_CTROL_MODULE4 + 6,
  191. kreg_light_ctrol_module4_trigger_mode_first_pluse_offset = REGADDOFF__LIGHT_CTROL_MODULE4 + 7,
  192. kreg_light_ctrol_module4_trigger_mode_output_polarity = REGADDOFF__LIGHT_CTROL_MODULE4 + 8,
  193. kreg_light_ctrol_module4_light_intensity_cnt = REGADDOFF__LIGHT_CTROL_MODULE4 + 9,
  194. kreg_light_ctrol_module4_light_driver_freq_cnt = REGADDOFF__LIGHT_CTROL_MODULE4 + 10,
  195. kreg_light_ctrol_module4_freq_detect_bias = REGADDOFF__LIGHT_CTROL_MODULE4 + 12,
  196. kreg_light_ctrol_module4_light_src_error_state = REGADDOFF__LIGHT_CTROL_MODULE4 + 13,
  197. kreg_light_ctrol_module4_in_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE4 + 14,
  198. kreg_light_ctrol_module4_out_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE4 + 15,
  199. } RegAdd_t;