EBST_CAM
|
All constants and addresses given by the hardware. More...
Go to the source code of this file.
All constants and addresses given by the hardware.
These registers are addressed when master_address_t::maddr_adc and camera_system_t::camera_system_3030 for camera_settings::camera_system are used.
These registers are addressed when master_address_t::maddr_adc and camera_system_t::camera_system_3010 for camera_settings::camera_system are used.
Enumerator | ||
---|---|---|
adc_ltc2271_regaddr_reset | 0x00 | |
adc_ltc2271_regaddr_outmode | 0x02 | |
adc_ltc2271_regaddr_custompattern_msb | 0x03 | |
adc_ltc2271_regaddr_custompattern_lsb | 0x04 |
enum ARREG_bits_t |
These are the bits of S0Addr_ARREG.
Enumerator | ||
---|---|---|
ARREG_bitindex_pb_control | 0 | |
ARREG_bitindex_partial_binning | 15 | |
ARREG_bit_pb_control | 0x7FFF | |
ARREG_bit_partial_binning | 0x8000 |
enum BDAT_bits_t |
These are the bits of S0Addr_BDAT.
Enumerator | ||
---|---|---|
BDAT_bitindex_enabled | 31 | |
BDAT_bits_BDAT | 0x7FFFFFFF | |
BDAT_bit_enable | 0x80000000 |
enum BEC_bits_t |
These are the bits of S0Addr_BEC.
Enumerator | ||
---|---|---|
BEC_bitindex_enabled | 31 | |
BEC_bits_BEC | 0x7FFFFFFF | |
BEC_bit_enable | 0x80000000 |
This enum shows the encoding of the special pixel 2. The upper two bits are encoding the binary state of S1 and S2. All other bits are representing the upper half of the block index counter.
enum BLOCKINDEX_bits_t |
These are the bits of S0Addr_BLOCKINDEX.
Enumerator | ||
---|---|---|
BLOCKINDEX_bitindex_counter_reset | 31 | |
BLOCKINDEX_bit_counter_reset | 0x80 |
enum BSLOPE_bits_t |
These are the bits of S0Addr_BSLOPE.
Enumerator | ||
---|---|---|
BSLOPE_bitindex_bslope | 0 | |
BSLOPE_bitindex_both_slopes | 1 | |
BSLOPE_bitindex_bswtrig | 2 | |
BSLOPE_bit_bslope | 0x00000001 | |
BSLOPE_bit_both_slopes | 0x00000002 | |
BSLOPE_bit_both_bswtrig | 0x00000004 |
enum BTICNT_bits_t |
These are the bits of S0Addr_BTICNT.
Enumerator | ||
---|---|---|
BTICNT_bitindex_BTICNT | 0 | |
BTICNT_bitindex_BTICNT_EN | 7 | |
BTICNT_bits_BTICNT | 0x7F | |
BTICNT_bit_BTICNT_EN | 0x80 |
enum BTIMER_bits_t |
These are the bits of S0Addr_BTIMER.
Enumerator | ||
---|---|---|
BTIMER_bits | 0x0FFFFFFF |
enum CAMCNT_bits_t |
These are the bits of S0Addr_CAMCNT.
Enumerator | ||
---|---|---|
CAMCNT_bitindex_camcnt | 0 | |
CAMCNT_bits | 0x0F |
These registers are addressed when master_address_t::maddr_cam is used.
Enumerator | ||
---|---|---|
cam_adaddr_config | 0x00 | See details in cam_config_register_t. |
cam_adaddr_pixel | 0x01 | |
cam_adaddr_trig_in | 0x02 | |
cam_adaddr_unused | 0x03 | |
cam_adaddr_vclk | 0x04 | |
cam_adaddr_LEDoff | 0x05 | |
cam_adaddr_coolTemp | 0x06 | |
cam_adaddr_sample_mode | 0x07 | 3030: Currently not in use. Sample mode is setting the ADC clock and the sensor clock.
|
cam_adaddr_sensor_reset_length | 0x08 | Sensor reset length register. 3030 HSVIS: This register controls the length of the ARG pulse which is done after the TG pulse. min: 0ns, max: 0xFFFF * 4ns = 65535 * 4ns = 262140ns = 262,14us, typical value: 200 * 4ns = 800ns HSIR: min: 134 * 160 ns = 21,440 ns, max: 0xFFFF * 160 ns = 10,485,600 ns, default: 140 * 160 ns = 22,400 ns |
cam_adaddr_vclks_amount1 | 0x09 | stores the amount of vclks generated inside the camera.
|
cam_adaddr_vclks_amount2 | 0x0A | |
cam_adaddr_vclks_amount3 | 0x0B | |
cam_adaddr_vclks_amount4 | 0x0C | |
cam_adaddr_vclks_amount5 | 0x0D | |
cam_adaddr_camera_init | 0x10 | Send any data to this address to initialize the camera. This should be done last in the initialisation routine, after reset and after writing all other registers. |
cam_adaddr_software_reset | 0x7E | Send any data to this address to do a software reset. This should be done first in the initialisation routine. |
cam_adaddr_camera_position | 0x7F | This is a register for the camera position for multiple cameras in line. The software always sets the first camera to 0 and the cameras are handing their positions one to another. |
enum camera_type_bits_t |
These are the bits of S0Addr_CAMERA_TYPE.
Enumerator | ||
---|---|---|
camera_type_sensor_type_bit_index | 0 | |
camera_type_camera_system_bit_index | 16 | |
camera_type_sensor_type_bits | 0x0000FFFF | |
camera_type_camera_system_bits | 0xFFFF0000 |
enum CTRL_bits_t |
These are the bits of S0Addr_CTRL.
These register are addressed when master_address_t::maddr_dac is used.
enum DBR_bits_t |
These are the bits of S0Addr_DBR.
Enumerator | ||
---|---|---|
DBR_bits_data | 0x0000FFFF | 16 bit data to be sent via the fiber link. |
DBR_bits_adaddr | 0x007F0000 | 7 bit address. Depending on DBR_bits_maddr it is either camera_register_addresses_t, adc_ltc2271_register_adress_t, adc_ads5294_register_adress_t, ioctrl_register_address_t or dac_register_addresses_t. |
DBR_bit_block_on | 0x00800000 | Neither writable nor readable. Handled by hardware. |
DBR_bits_maddr | 0x03000000 | 2 bit master address. See master_address_t for options. |
DBR_bit_load | 0x04000000 | Set this bit to 1 to load the data into the register. |
DBR_bit_FFRDEN | 0x08000000 | Neither writable nor readable. Handled by hardware. |
DBR_bit_FFXCK_ALLCAM | 0x10000000 | Neither writable nor readable. Handled by hardware. |
DBR_bit_VON | 0x20000000 | Neither writable nor readable. Handled by hardware. |
DBR_bit_IFC | 0x40000000 | Neither writable nor readable. Handled by hardware. |
DBR_bit_XCK | 0x80000000 | Neither writable nor readable. Handled by hardware. |
DBR_bitindex_data | 0 | |
DBR_bitindex_adaddr | 16 | |
DBR_bitindex_block_on | 23 | |
DBR_bitindex_maddr | 24 | |
DBR_bitindex_load | 26 | |
DBR_bitindex_FFRDEN | 27 | |
DBR_bitindex_FFXCK_ALLCAM | 28 | |
DBR_bitindex_VON | 29 | |
DBR_bitindex_IFC | 30 | |
DBR_bitindex_XCK | 31 |
enum DeviceControl_bits_t |
See section 7.8.4, figure 7-14 of the PCI Express Base Specification. https://astralvx.com/storage/2020/11/PCI_Express_Base_4.0_Rev0.3_February19-2014.pdf
Enumerator | ||
---|---|---|
deviceControl_maxPayloadSize_bits | 0xE0 | |
deviceControl_maxReadRequestSize_bits | 0x7000 | |
deviceControl_maxPayloadSize_bitindex | 5 | |
deviceControl_maxReadRequestSize_bitindex | 12 |
enum dma_addresses_t |
These are the bits of S0Addr_DmaBufSizeInScans.
Enumerator | ||
---|---|---|
DmaBufSizeInScans_bitindex_counter_reset | 31 | |
DmaBufSizeInScans_bits | 0x7FFFFFFF | |
DmaBufSizeInScans_bit_counter_reset | 0x80000000 |
enum DMAsPerIntr_bits_t |
These are the bits of S0Addr_DMAsPerIntr.
Enumerator | ||
---|---|---|
DMAsPerIntr_bitindex_counter_reset | 31 | |
DMAsPerIntrs_bits | 0x7FFFFFFF | |
DMAsPerIntr_bit_counter_reset | 0x80000000 |
enum DSCCtrl_bits_t |
These are the bits of S0Addr_DSCCtrl.
enum FIFOCNT_bits_t |
These are the bits of S0Addr_FIFOCNT.
Enumerator | ||
---|---|---|
FIFOCNT_bitindex_WRCNT | 0 | |
FIFOCNT_bits_WRCNT | 0xFF |
enum GIOREG_bits_t |
These are the bits of S0Addr_GIOREG.
These registers are addressed when master_address_t::maddr_ioctrl is used.
Enumerator | ||
---|---|---|
ioctrl_impact_start_pixel | 0x00 | |
ioctrl_t0l | 0x01 | |
ioctrl_t0h | 0x02 | |
ioctrl_t1 | 0x03 | |
ioctrl_d1 | 0x04 | |
ioctrl_t2 | 0x05 | |
ioctrl_d2 | 0x06 | |
ioctrl_t3 | 0x07 | |
ioctrl_d3 | 0x08 | |
ioctrl_t4 | 0x09 | |
ioctrl_d4 | 0x0A | |
ioctrl_t5 | 0x0B | |
ioctrl_d5 | 0x0C | |
ioctrl_t6 | 0x0D | |
ioctrl_d6 | 0x0E | |
ioctrl_t7 | 0x0F | |
ioctrl_d7 | 0x10 | |
ioctrl_shutter | 0x11 | Controls the state of the shutters. See details in ioctrl_shutter_t. Added in P230.08. |
enum ioctrl_shutter_t |
These are the bits of the ioctrl_register_address_t::ioctrl_shutter register.
enum IRQREG_bits_t |
These are the bits of S0Addr_IRQREG.
enum master_address_t |
This enum describes the options for the master address when sending data with Cam_SendData.
Enumerator | ||
---|---|---|
maddr_cam | 0x0 | This address space accesses the registers which control the camera. The registers are described in camera_register_addresses_t. |
maddr_adc | 0x1 | This address space accesses the registers which control the ADC. Depending on the camera system the registers are described in adc_ltc2271_register_adress_t or adc_ads5294_register_adress_t. |
maddr_ioctrl | 0x2 | This address space accesses the registers which control either the add on device IOCTRL or special functions in the camera control. The registers are described in ioctrl_register_address_t. |
maddr_dac | 0x3 | This address space accesses the registers which control the DAC. The registers are described in dac_register_addresses_t. |
See section 7.8.3, table 7-13 of the PCI Express Base Specification. https://astralvx.com/storage/2020/11/PCI_Express_Base_4.0_Rev0.3_February19-2014.pdf
enum PCI_bits_t |
These are the bits of S0Addr_PCI.
Enumerator | ||
---|---|---|
PCI_bitindex_minor_version | 0 | |
PCI_bitindex_major_version | 16 | |
PCI_bits_minor_version | 0x0000FFFF | |
PCI_bits_major_version | 0xFFFF0000 |
Addresses of PCIe configuration space. See documentation of Spartan-6 FPGA Integrated Endpoint Block for details. Table 2-2. https://docs.xilinx.com/v/u/en-US/s6_pcie_ug654
enum PCIEFLAGS_bits_t |
These are the bits of S0Addr_PCIEFLAGS.
Enumerator | ||
---|---|---|
PCIEFLAGS_bitindex_XCKI | 0 | |
PCIEFLAGS_bitindex_INTTRIG | 1 | |
PCIEFLAGS_bitindex_ENRSTIMERHW | 2 | |
PCIEFLAGS_bitindex_USE_ENFFW_PROTECT | 3 | |
PCIEFLAGS_bitindex_BLOCKTRIG | 4 | |
PCIEFLAGS_bitindex_MEASUREON | 5 | |
PCIEFLAGS_bitindex_BLOCK_EN | 6 | This bit is a enabling bit for starting a block. Set it to 1 when you want to start a block. The next block trigger after that moment the block will be started. The behavior of this bit changed in P222_14 from a direct control of BLOCK_ON to beeing a enabling bit. |
PCIEFLAGS_bitindex_IS_TDC | 8 | |
PCIEFLAGS_bitindex_IS_DSC | 9 | |
PCIEFLAGS_bitindex_BLOCK_ON | 10 | BLOCK_ON is 1 during one measurement block. The rising edge is synced to the block trigger. It is resetted by setting BLOCK_EN to 0. |
PCIEFLAGS_bitindex_BLOCK_ON_SYNCED | 11 | BLOCK_ON_SYNCED is 1 during one measurement block. The rising edge is synced to the next scan trigger after the rising edge of BLOCK_ON. It is resetted by setting BLOCK_EN to 0. |
PCIEFLAGS_bitindex_scan_trigger_detected | 12 | Scan trigger detected will be set to 1 by the hardware on the slope depending on camera_settings::sslope of the signal camera_settings::sti_mode. It is resetted to 0 by setting PCIEFLAGS_bit_reset_scan_trigger_detected to 1. |
PCIEFLAGS_bitindex_block_trigger_detected | 13 | Block trigger detected will be set to 1 by the hardware on the slope depending on camera_settings::bslope of the signal camera_settings::bti_mode. It is resetted to 0 by setting PCIEFLAGS_bit_reset_block_trigger_detected to 1. |
PCIEFLAGS_bitindex_reset_scan_trigger_detected | 14 | Setting reset scan trigger detected to 1 resets the bit scan trigger detected to 0. |
PCIEFLAGS_bitindex_reset_block_trigger_detected | 15 | Setting reset block trigger detected to 1 resets the bit block trigger detected to 0. |
PCIEFLAGS_bitindex_linkup_sfp3 | 26 | |
PCIEFLAGS_bitindex_error_sfp3 | 27 | |
PCIEFLAGS_bitindex_linkup_sfp2 | 28 | |
PCIEFLAGS_bitindex_error_sfp2 | 29 | |
PCIEFLAGS_bitindex_linkup_sfp1 | 30 | |
PCIEFLAGS_bitindex_error_sfp1 | 31 | |
PCIEFLAGS_bit_XCKI | 0x0000001 | |
PCIEFLAGS_bit_INTTRIG | 0x0000002 | |
PCIEFLAGS_bit_ENRSTIMERHW | 0x0000004 | |
PCIEFLAGS_bit_USE_ENFFW_PROTECT | 0x0000008 | |
PCIEFLAGS_bit_BLOCKTRIG | 0x0000010 | |
PCIEFLAGS_bit_MEASUREON | 0x0000020 | |
PCIEFLAGS_bit_BLOCK_EN | 0x0000040 | |
PCIEFLAGS_bit_IS_TDC | 0x0000100 | |
PCIEFLAGS_bit_IS_DSC | 0x0000200 | |
PCIEFLAGS_bit_BLOCK_ON | 0x0000400 | |
PCIEFLAGS_bit_BLOCK_ON_SYNCED | 0x0000800 | |
PCIEFLAGS_bit_scan_trigger_detected | 0x0001000 | |
PCIEFLAGS_bit_block_trigger_detected | 0x0002000 | |
PCIEFLAGS_bit_reset_scan_trigger_detected | 0x0004000 | |
PCIEFLAGS_bit_reset_block_trigger_detected | 0x0008000 | |
PCIEFLAGS_bit_linkup_sfp3 | 0x4000000 | |
PCIEFLAGS_bit_error_sfp3 | 0x8000000 | |
PCIEFLAGS_bit_linkup_sfp2 | 0x10000000 | |
PCIEFLAGS_bit_error_sfp2 | 0x20000000 | |
PCIEFLAGS_bit_linkup_sfp1 | 0x40000000 | |
PCIEFLAGS_bit_error_sfp1 | 0x80000000 |
See section 7.8.3, figure 7-13 of the PCI Express Base Specification. https://astralvx.com/storage/2020/11/PCI_Express_Base_4.0_Rev0.3_February19-2014.pdf
Enumerator | ||
---|---|---|
PciExpressDeviceCapabilities_MaxPayloadSizeSupported_bits | 0x7 |
This enum shows the meaning of the bits of the pixel camera status.
enum pixel_fpga_ver_t |
This enum shows the starting number of the major and minor version for the fpga version number.
These are the bits of S0Addr_PIXREG_FFCTRL_FFFLAGS.
enum ROI0_bits_t |
These are the bits of S0Addr_ROI0.
enum ROI1_bits_t |
These are the bits of S0Addr_ROI1.
enum ROI2_bits_t |
These are the bits of S0Addr_ROI2.
Enumerator | ||
---|---|---|
ROI2_bitindex_range5 | 0 | |
ROI2_bitindex_range5_keep | 15 | |
ROI2_bits_range5 | 0x00000FFF | |
ROI2_bit_range5_keep | 0x00008000 |
enum s0_addresses_t |
Enumerator | ||
---|---|---|
S0Addr_DBR | 0x00 | Data bus register. This register is used by Cam_SendData to send data via the fiber link. See details in DBR_bits_t. |
S0Addr_CTRL | 0x04 | See CTRL_bits_t for details. |
S0Addr_XCK | 0x08 | See XCK_bits_t for details. |
S0Addr_XCKCNT | 0x0c | |
S0Addr_PIXREG_FFCTRL_FFFLAGS | 0x10 | See PIXREG_FFCTRL_FFFLAGS_bits_t for details. |
S0Addr_FIFOCNT | 0x14 | See FIFOCNT_bits_t for details. |
S0Addr_VCLKCTRL_VCLKFREQ | 0x18 | See VCLKCTRL_VCLKFREQ_bits_t for details. |
S0Addr_EBST | 0x1C | |
S0Addr_SDAT | 0x20 | See SDAT_bits_t for details. |
S0Addr_SEC | 0x24 | |
S0Addr_TOR_STICNT_TOCNT | 0x28 | See TOR_STICNT_TOCNT_bits_t for details. |
S0Addr_ARREG | 0x2C | See ARREG_bits_t for details. |
S0Addr_GIOREG | 0x30 | See GIOREG_bits_t for details. |
S0Addr_XCK_PERIOD | 0x34 | XCK PERIOD is a 32 bit unsigned integer, which shows the period time of the first XCK period (XCK high slope to high slope) of one measurement in a 10 ns resolution. Read only. Introduced in PCIe card version 222_12.
|
S0Addr_IRQREG | 0x38 | See IRQREG_bits_t for details. |
S0Addr_PCI | 0x3C | See PCI_bits_t for details. |
S0Addr_PCIEFLAGS | 0x40 | See PCIEFLAGS_bits_t for details. |
S0Addr_NOS | 0x44 | |
S0Addr_ScanIndex | 0x48 | See ScanIndex_bits_t for details. |
S0Addr_DmaBufSizeInScans | 0x4C | See DmaBufSizeInScans_bits_t for details. |
S0Addr_DMAsPerIntr | 0x50 | See DMAsPerIntr_bits_t for details. |
S0Addr_NOB | 0x54 | |
S0Addr_BLOCKINDEX | 0x58 | See BLOCKINDEX_bits_t for details. |
S0Addr_CAMCNT | 0x5C | See CAMCNT_bits_t for details. |
S0Addr_TDCCtrl | 0x60 | See TDCCtrl_bits_t for details. |
S0Addr_TDCData | 0x64 | |
S0Addr_ROI0 | 0x68 | See ROI0_bits_t for details. |
S0Addr_ROI1 | 0x6C | See ROI1_bits_t for details. |
S0Addr_ROI2 | 0x70 | See ROI2_bits_t for details. |
S0Addr_XCKDLY | 0x74 | See XCKDELAY_bits_t for details. |
S0Addr_S1S2ReadDelay | 0x78 | |
S0Addr_BTICNT | 0x7c | See BTICNT_bits_t for details. |
S0Addr_BTIMER | 0x80 | See BTIMER_bits_t for details. |
S0Addr_BDAT | 0x84 | See BDAT_bits_t for details. |
S0Addr_BEC | 0x88 | See BEC_bits_t for details. |
S0Addr_BSLOPE | 0x8C | See BSLOPE_bits_t for details. |
S0Addr_A1DSC | 0x90 | |
S0Addr_L1DSC | 0x94 | |
S0Addr_A2DSC | 0x98 | |
S0Addr_L2DSC | 0x9C | |
S0Addr_ATDC2 | 0xA0 | |
S0Addr_LTDC2 | 0xA4 | |
S0Addr_DSCCtrl | 0xA8 | See DSCCtrl_bits_t for details. |
S0Addr_DAC | 0xAC | |
S0Addr_XCKLEN | 0xB0 | XCKLEN is 32 bit unsigned integer, which shows the length of the first XCK of one measurement in a 10 ns resolution. Read only. Introduced in PCIe card version 222_12.
|
S0Addr_BONLEN | 0xB4 | BONLEN is a 32 bit unsigned integer, which shows the length of the first BON of one measurement in a 10 ns resolution. Read only. Introduced in PCIe card version 222_12.
|
S0Addr_CAMERA_TYPE | 0xB8 | See camera_type_bits_t for details. |
S0Addr_BON_PERIOD | 0xBC | BON PERIOD is a 32 bit unsigned integer, which shows the period time of the first BON period (BON high slope to high slope) of one measurement in a 10 ns resolution. Read only. Introduced in PCIe card version 222_12.
|
S0Addr_STATECTRL | 0xC0 | See STATECTRL_bits_t for details. Added in PCIe card version 222_18. |
enum ScanIndex_bits_t |
These are the bits of S0Addr_ScanIndex.
Enumerator | ||
---|---|---|
ScanIndex_bitindex_counter_reset | 31 | |
ScanIndex_bits | 0x7FFFFFFF | |
ScanIndex_bit_counter_reset | 0x80000000 |
enum SDAT_bits_t |
These are the bits of S0Addr_SDAT.
Enumerator | ||
---|---|---|
SDAT_bitindex_control | 0 | |
SDAT_bitindex_enable | 31 | |
SDAT_bit_control | 0x7FFFFFFF | |
SDAT_bit_enable | 0x80000000 |
This enum shows the meaning of the first special pixels.
enum STATECTRL_bits_t |
These are the bits of S0Addr_STATECTRL.
Enumerator | ||
---|---|---|
statectrl_bits_trigger_select | 0x000F | These bits select the trigger source for the sequence.
|
statectrl_bit_manual_trigger | 0x0010 | |
statectrl_bitindex_trigger_select | 0 | |
statectrl_bitindex_manual_trigger | 8 | |
statectrl_trigger_select_manual | 0 | |
statectrl_trigger_select_sti | 1 | |
statectrl_trigger_select_sslope | 2 | |
statectrl_trigger_select_scan_gated | 3 | |
statectrl_trigger_select_sticnt | 4 | |
statectrl_trigger_select_sdat | 5 | |
statectrl_trigger_select_sec | 6 | |
statectrl_trigger_select_xck | 7 | |
statectrl_trigger_select_bti | 8 | |
statectrl_trigger_select_bslope | 9 | |
statectrl_trigger_select_bticnt | 10 | |
statectrl_trigger_select_bdat | 11 | |
statectrl_trigger_select_bec | 12 | |
statectrl_trigger_select_block_on | 13 | |
statectrl_trigger_select_block_on_synced | 14 | |
statectrl_trigger_select_unused | 15 |
enum TDCCtrl_bits_t |
These are the bits of S0Addr_TDCCtrl.
These are the bits of S0Addr_TOR_STICNT_TOCNT.
These are the bits of S0Addr_VCLKCTRL_VCLKFREQ.
enum XCK_bits_t |
These are the bits of S0Addr_XCK.
enum XCKDELAY_bits_t |
These are the bits of S0Addr_XCKDLY.
Enumerator | ||
---|---|---|
XCKDELAY_bits | 0x7FFFFFFF | |
XCKDELAY_bit_enable | 0x80000000 | |
XCKDELAY_bitindex_enable | 31 |