MX Foundation 4
|
The following attributes are available for all devices supporting a CSDB interface.
The KMXF_CSDB_SPEED
attribute holds the actual port speed (bit rate), in bits per second.
The supported range is:
Module | Range (bps) | Default (bps) | Formula |
---|---|---|---|
MXF_MODULE_ASYNC_EH | 200 - 10000000 | 12500 | 108 / n with 10 ≤ n ≤ 500000 |
MXF_MODULE_MULTI_EH | 200 - 4000000 | 12500 | 108 / n with 25 ≤ n ≤ 500000 |
MXF_MODULE_MULTI | 245 - 4000000 | 12500 | 32000000 / n with 8 ≤ n ≤ 130612 |
MXF_MODULE_ASYNC | 305 - 4000000 | 12500 | 20000000 / n with 5 ≤ n ≤ 65535 |
MXF_MODULE_FLEXSMP | 200 - 10000000 | 12500 | 100000000 / n with 10 ≤ n ≤ 500000 |
The KMXF_CSDB_PARITY
holds the parity settings. For a transmitter channel, it represents the parity bit to be generated (if any).
For a receiver channel, it is the word parity used to valide the word.
The supported values are:
Transmitter Channel:
Constant | Value |
---|---|
VMXF_CSDB_PARITY_EVEN | Channel has even parity. |
VMXF_CSDB_PARITY_ODD | Channel has odd parity. (default) |
VMXF_CSDB_PARITY_NONE | Channel parity is not defined. Parity bit will be transmitted with the value set by the application. |
Receiver Channel:
Constant | Value |
---|---|
VMXF_CSDB_PARITY_EVEN | Channel has even parity. |
VMXF_CSDB_PARITY_ODD | Channel has odd parity. (default) |
VMXF_CSDB_PARITY_NONE | The module does not check the received data for parity error. |
When a parity error is detected in reception, the control field of the MXF_CSDB_DATAREC or MXF_CSDB_SAMPREC is set to MXF_CSDB_RX_REC_CTRL_PARITY_ERROR
.
The KMXF_CSDB_STOPBITSIZE
attribute holds the number of bits used as stop bit.
Range | Value (bits) |
---|---|
Minimum | 1 (default) |
Maximum | 2 |
The block count KMXF_CSDB_BLOCKCOUNT
attribute is used to define the number of bytes of a CSDB message.
Typically the value is six or eight bytes long but another value can be set for error injection purposes.
Range | Value (bytes) |
---|---|
Minimum | 2 |
Maximum | 12 |
Note: The count must include the two bytes for the label and the status.
Default value: 6
The KMXF_CSDB_TX_RX_TEST_LB
attribute holds the TX-to-RX loopback state for the receiver channel. When the loopback mode is enabled, the received data comes from the corresponding transmitter channel instead of the normal behavior where the received data comes from the receiver line interface. This feature is intended for a demo application or for test purposes. When enabled, the module’s first RX channel receives data transmitted on the first TX channel; the second RX receives data from the second TX, and so on. Transmissions are still sent on the TX line when loopback mode is enabled.
The supported values are:
Constant | Value |
---|---|
VMXF_DISABLE | Disable loopback (default) |
VMXF_ENABLE | Enable loopback |
The KMXF_CSDB_TX_PORT_ENABLE
attribute holds the transmitter enable state. mxfChannelTxPortEnableSet() function can also be used to perform the same task once the library is loaded. This attribute is also an initialization attribute that can be set from the initialization attribute handler (see mxfSystemInitAttributeUint64CallbackHandler()).
Supported on IO-ASYNC-EH and IO-MULTI-EH only.
The supported values are:
Constant | Value |
---|---|
VMXF_ENABLE | Enable port (default) |
VMXF_DISABLE | Disable port |
The KMXF_CSDB_TERMINATION
attribute holds the actual channel termination resistor state.
Only supported on MXF_MODULE_FLEXSMP.
Constant | Value |
---|---|
VMXF_CSDB_TERMINATION_NONE | No termination resistor (default) |
VMXF_CSDB_TERMINATION_120OHM | 120 ohm termination resistor enabled |
The KMXF_CSDB_MODULE_RX_TIMETAG_ENABLE
and KMXF_CSDB_RX_TIMETAG_ENABLE
(MXF_MODULE_ASYNC) attributes define if the timetag is returned in the record.
Not available on MXF_MODULE_FLEXSMP, timetag always enabled.
Constant | Value |
---|---|
VMXF_DISABLE | Disable time tag reception |
VMXF_ENABLE | Enable time tag reception (default) |
The KMXF_CSDB_MODULE_RX_FIFO_AGING
and KMXF_CSDB_RX_FIFO_AGING
(MXF_MODULE_ASYNC) attributes define the RX FIFO aging timeout value for the module. This value applies to all receiver channels on the module. Aging timeout is the duration that a received word can wait in the FIFO before an interrupt is generated. It defines the longest delay that a received word can wait in the hardware FIFO before a receive interrupt is generated. The attribute value resolution is based on the timebase resolution. A RX FIFO Aging Timeout value of 0 disables the aging timeout. The attribute value is rounded down to step of 128 microseconds.
The supported range is:
Module | Range (microsecond) | Default (microsecond) | Note |
---|---|---|---|
MXF_MODULE_ASYNC_EH | 0 - 16256 | 8192 | Value is rounded down to step of 128 microseconds |
MXF_MODULE_MULTI_EH | 0 - 32640 | 8192 | Value is rounded down to step of 128 microseconds |
MXF_MODULE_MULTI | 0 - 32640 | 8192 | Value is rounded down to step of 128 microseconds |
MXF_MODULE_ASYNC | 0 - 16320 | 8192 | Value is rounded down to step of 64 microseconds |
MXF_MODULE_FLEXSMP | 0 - 25000 | 8000 | Value is rounded down to step of 100 microseconds |
The KMXF_CSDB_MODULE_RX_FIFO_AF
and KMXF_CSDB_RX_FIFO_AF
(MXF_MODULE_ASYNC) attributes hold the RX FIFO almost full threshold for the module. This value applies to all receiver channels on the module. This attribute value determines the number of received words that are accumulated in the receive hardware FIFO before an interrupt is generated. The receiver engine will read the FIFO when it is almost full or an aging timeout occurred.
The supported range is:
Module | Range | Default |
---|---|---|
MXF_MODULE_ASYNC_EH | 1 - 255 (16-bit word) | 32 |
MXF_MODULE_MULTI_EH | 1 - 255 (16-bit word) | 32 |
MXF_MODULE_MULTI | 1 - 255 (16-bit word) | 16 |
MXF_MODULE_ASYNC | 1 - 127 (16-bit word) | 16 |
MXF_MODULE_FLEXSMP | 1 - 511 (64-bit word) | 128 |
The KMXF_CSDB_MODULE_TX_FIFO_AF
and KMXF_CSDB_TX_FIFO_AF
(MXF_MODULE_ASYNC) attributes hold the almost full threshold for a transmitter channel. This attribute value determines the number of transmit words that are to be queued in the transmit hardware FIFO. The transmit interrupt will be cleared automatically once this threshold is reached.
The supported range is:
Module | Range | Default |
---|---|---|
MXF_MODULE_ASYNC_EH | 2 - 255 (16-bit word) | 64 |
MXF_MODULE_MULTI_EH | 2 - 255 (16-bit word) | 128 |
MXF_MODULE_MULTI | 2 - 255 (16-bit word) | 128 |
MXF_MODULE_ASYNC | 2 - 255 (16-bit word) | 32 |
MXF_MODULE_FLEXSMP | 2 - 256 (64-bit word) | 256 |
The KMXF_CSDB_MODULE_TX_FIFO_AE
and KMXF_CSDB_TX_FIFO_AE
(MXF_MODULE_ASYNC) attributes hold the almost empty threshold for a transmitter channel. The transmit interrupt will be generated whenever the number of words remaining in the transmit hardware FIFO is less or equal to the value specified by this attribute. The software embedded process will then be able to react and fill in the transmit FIFO.
The supported range is:
Module | Range | Default |
---|---|---|
MXF_MODULE_ASYNC_EH | 1 - 254 (16-bit word) | 32 |
MXF_MODULE_MULTI_EH | 1 - 254 (16-bit word) | 64 |
MXF_MODULE_MULTI | 1 - 254 (16-bit word) | 64 |
MXF_MODULE_ASYNC | 1 - 254 (16-bit word) | 16 |
MXF_MODULE_FLEXSMP | 1 - 255 (64-bit word) | 64 |
The following CSDB attributes are available only for the IO-MULTI device.
The KMXF_CSDB_ELECTRICAL_SELECTION
attribute holds the actual channel electrical selection. When the electrical selection is set to default, all electrical attributes below are set to a default value and are read only. To modify any of these attributes, set electrical selection to custom.
Constant | Value |
---|---|
VMXF_CSDBEH_MULTI_ELECTRICAL_SELECT_DEFAULT | Select default electrical parameters (default) |
VMXF_CSDBEH_MULTI_ELECTRICAL_SELECT_CUSTOM | Select custom electrical parameters |
The KMXF_CSDB_TX_DIFF_VOLTAGE_HIGH
attribute defines the high TX differential voltage value. This is a floating point attribute. To modify this attribute value, the KMXF_CSDB_ELECTRICAL_SELECTION attribute must be set to custom.
The supported range is:
Module | Range (Volt) |
---|---|
MXF_MODULE_MULTI_EH | see table below |
MXF_MODULE_MULTI | -9.16 – +9.16 |
Default value: +2.50 volt
MXF_MODULE_MULTI_EH
Device Type | Revision | MXF Version | Range (Volt) |
---|---|---|---|
FlexMulti 629 | Up to 2.4 | Up to 4.2.5 | -5.0 – +5.0 |
4.3.0 to 4.4.1 | -6.0 – +6.0 | ||
4.4.2 and later | -6.1 – +6.1 | ||
2.5 and later | Up to 4.2.5 | -5.0 – +5.0 | |
4.3.0 to 4.4.1 | -6.0 – +6.0 | ||
4.4.2 and later | -6.5 – +6.5 | ||
FlexMulti 1553 | Up to 3.2 | Up to 4.2.5 | -5.0 – +5.0 |
4.3.0 to 4.4.1 | -6.0 – +6.0 | ||
4.4.2 and later | -6.1 – +6.1 | ||
3.3 and later | Up to 4.2.5 | -5.0 – +5.0 | |
4.3.0 to 4.4.1 | -6.0 – +6.0 | ||
4.4.2 and later | -6.5 – +6.5 | ||
FlexMulti 429 FlexMulti 664 FlexMulti | Up to 3.0 | Up to 4.2.5 | -5.0 – +5.0 |
4.3.0 to 4.4.1 | -6.0 – +6.0 | ||
4.4.2 and later | -6.1 – +6.1 | ||
3.1 and later | Up to 4.2.5 | -5.0 – +5.0 | |
4.3.0 to 4.4.1 | -6.0 – +6.0 | ||
4.4.2 and later | -6.5 – +6.5 |
The KMXF_CSDB_TX_DIFF_VOLTAGE_LOW
attribute defines the low TX differential voltage value. This is a floating point attribute. To modify this attribute value, the KMXF_CSDB_ELECTRICAL_SELECTION attribute must be set to custom.
The supported range is:
Module | Range (Volt) |
---|---|
MXF_MODULE_MULTI_EH | see table below |
MXF_MODULE_MULTI | -9.16 – +9.16 |
Default value: -2.50 volt
MXF_MODULE_MULTI_EH
Device Type | Revision | MXF Version | Range (Volt) |
---|---|---|---|
FlexMulti 629 | Up to 2.4 | Up to 4.2.5 | -5.0 – +5.0 |
4.3.0 to 4.4.1 | -6.0 – +6.0 | ||
4.4.2 and later | -6.1 – +6.1 | ||
2.5 and later | Up to 4.2.5 | -5.0 – +5.0 | |
4.3.0 to 4.4.1 | -6.0 – +6.0 | ||
4.4.2 and later | -6.5 – +6.5 | ||
FlexMulti 1553 | Up to 3.2 | Up to 4.2.5 | -5.0 – +5.0 |
4.3.0 to 4.4.1 | -6.0 – +6.0 | ||
4.4.2 and later | -6.1 – +6.1 | ||
3.3 and later | Up to 4.2.5 | -5.0 – +5.0 | |
4.3.0 to 4.4.1 | -6.0 – +6.0 | ||
4.4.2 and later | -6.5 – +6.5 | ||
FlexMulti 429 FlexMulti 664 FlexMulti | Up to 3.0 | Up to 4.2.5 | -5.0 – +5.0 |
4.3.0 to 4.4.1 | -6.0 – +6.0 | ||
4.4.2 and later | -6.1 – +6.1 | ||
3.1 and later | Up to 4.2.5 | -5.0 – +5.0 | |
4.3.0 to 4.4.1 | -6.0 – +6.0 | ||
4.4.2 and later | -6.5 – +6.5 |
The KMXF_CSDB_TX_VOLTAGE_OFFSET
attribute defines the TX voltage offset. This is a floating point attribute. To modify this attribute value, the KMXF_CSDB_ELECTRICAL_SELECTION attribute must be set to custom.
The supported range is:
Module | Range (Volt) |
---|---|
MXF_MODULE_MULTI_EH | see table below |
MXF_MODULE_MULTI | -10.0 – +10.0 |
Default value: 2.50 volt
MXF_MODULE_MULTI_EH
Device Type | Revision | MXF Version | Range (Volt) |
---|---|---|---|
FlexMulti 629 | Up to 2.4 | Up to 4.2.5 | -5.0 – +5.0 |
4.3.0 to 4.4.1 | -6.0 – +6.0 | ||
4.4.2 and later | -6.1 – +6.1 | ||
2.5 and later | Up to 4.2.5 | -5.0 – +5.0 | |
4.3.0 to 4.4.1 | -6.0 – +6.0 | ||
4.4.2 and later | -6.5 – +6.5 | ||
FlexMulti 1553 | Up to 3.2 | Up to 4.2.5 | -5.0 – +5.0 |
4.3.0 to 4.4.1 | -6.0 – +6.0 | ||
4.4.2 and later | -6.1 – +6.1 | ||
3.3 and later | Up to 4.2.5 | -5.0 – +5.0 | |
4.3.0 to 4.4.1 | -6.0 – +6.0 | ||
4.4.2 and later | -6.5 – +6.5 | ||
FlexMulti 429 FlexMulti 664 FlexMulti | Up to 3.0 | Up to 4.2.5 | -5.0 – +5.0 |
4.3.0 to 4.4.1 | -6.0 – +6.0 | ||
4.4.2 and later | -6.1 – +6.1 | ||
3.1 and later | Up to 4.2.5 | -5.0 – +5.0 | |
4.3.0 to 4.4.1 | -6.0 – +6.0 | ||
4.4.2 and later | -6.5 – +6.5 |
The KMXF_CSDB_TX_SLEW_RATE_SELECTION
attribute defines the TX slew rate selection. MX Foundation automatically sets the default slew rate to its minimum value. When the default option is selected, the KMXF_CSDB_TX_SLEW_RATE attribute will be read only. Otherwise, the custom option allows specifying the slew rate with the KMXF_CSDB_TX_SLEW_RATE attribute. To modify this attribute value, the KMXF_CSDB_ELECTRICAL_SELECTION attribute must be set to custom.
Constant | Value |
---|---|
VMXF_CSDBEH_MULTI_TX_SLEW_RATE_SELECT_DEFAULT | Select default slew rate parameter (default) |
VMXF_CSDBEH_MULTI_TX_SLEW_RATE_SELECT_CUSTOM | Select custom slew rate parameter |
The KMXF_CSDB_TX_SLEW_RATE
attribute defines the TX signal slew rate. MX Foundation automatically sets the default slew rate to its minimum value. When the default option is selected, the KMXF_CSDB_TX_SLEW_RATE attribute will be read only. Otherwise, the custom option of the KMXF_CSDB_TX_SLEW_RATE_SELECTION attribute allows specifying the slew rate with this attribute. This is a floating point attribute.
The supported range is:
Module | Range (nsec/volt) | Default (nsec/volt) | Formula |
---|---|---|---|
MXF_MODULE_MULTI_EH | 2.0 - 13429.5 | 2.0 | (204800/1.22) / (n*3.125) with 4 ≤ n ≤ 26856 |
MXF_MODULE_MULTI | 25.0 - 25600.0 | 25.0 | 102400/n with 4096 ≤ n ≤ 51200 |
The KMXF_CSDB_RX_DIFF_VOLTAGE_THRESHOLD
attribute defines the RX differential voltage threshold. This is a floating point attribute. To modify this attribute value, the KMXF_CSDB_ELECTRICAL_SELECTION attribute must be set to custom.
Range | Value (Volt) |
---|---|
Minimum | 0.0 |
Maximum | 25.0 |
Resolution: 0.05 volt Default value: 0.20 volt