MX Foundation 4
|
The following attributes are the general attributes common to all MAX Technologies devices supporting ASYNC interface.
The KMXF_ASYNCEH_ELECTRICAL_INTERFACE
defines the physical ports electrical interface used.
Available on Tx channel only except on IO-FLEXSMP where also available on Rx channel as read-only.
On IO-FLEXSMP, this attribute value affects the Tx/Rx channel pair and can only be changes with the Tx channel handle.
The supported values are:
Constant | Value |
---|---|
VMXF_ASYNCEH_ELECTRICAL_INTERFACE_RS422 | Select RS-422 |
VMXF_ASYNCEH_ELECTRICAL_INTERFACE_RS485 | Select RS-485 (default) |
VMXF_ASYNCEH_ELECTRICAL_INTERFACE_RS232 | Select RS-232 (IPM-MULTI and IO-FLEXSMP modules only) |
The KMXF_ASYNCEH_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 (RS-422/485) | 200 - 10000000 | 12500 | 100000000 / n with 10 ≤ n ≤ 500000 |
MXF_MODULE_FLEXSMP (RS-232) | 200 - 250000 | 12500 | 100000000 / n with 10 ≤ n ≤ 400 |
The KMXF_ASYNCEH_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 expected received word parity.
The supported values are:
Constant | Value |
---|---|
VMXF_ASYNCEH_PARITY_EVEN | Channel has even parity |
VMXF_ASYNCEH_PARITY_ODD | Channel has odd parity (default) |
VMXF_ASYNCEH_PARITY_NONE | Channel does not have parity. Not available when the word size is set to 9 bits. |
The KMXF_ASYNCEH_STOPBITSIZE
attribute holds the number of bits used as stop bits.
The supported range is:
Constant | Value (bits) |
---|---|
Minimum | 1 (default) |
Maximum | 2 |
The KMXF_ASYNCEH_WORDSIZE
attribute holds the ASYNC word size in number of bits.
The supported range is:
Model | Range (bits) | Default (bits) | Note |
---|---|---|---|
MXF_MODULE_ASYNC | 7 - 9 | 8 | For 9-bit data, MXF version 4.6.2 minimum is needed and the parity must be set to either VMXF_ASYNCEH_PARITY_EVEN or VMXF_ASYNCEH_PARITY_ODD before. |
FlexMulti 429 | 5 - 9 | 8 | For 9-bit data, package 1.1.17 and MXF version 4.6.4 minimum is needed |
FlexMulti 629 | 5 - 9 | 8 | For 9-bit data, package 1.1.14 and MXF version 4.6.3 minimum is needed |
FlexMulti 664 | 5 - 9 | 8 | For 9-bit data, package 1.1.17 and MXF version 4.6.4 minimum is needed |
FlexMulti 1553 | 5 - 9 | 8 | For 9-bit data, package 1.1.15 and MXF version 4.6.4 minimum is needed |
MXF_MODULE_FLEXSMP | 5 - 9 | 8 | |
Others | 5 - 8 | 8 |
The KMXF_ASYNCEH_RX_WORD_MODE_ENABLE
attribute holds the word mode enabled state for a receiver channel. In word mode, each byte received will be returned in a data record with its associated time tag (if enabled). By default, the receiver is in string mode. The string will be returned after the gap is reached or 256 bytes are received.
On IO-ASYNC-EH and IO-MULTI-EH, the gap length is controlled by KMXF_ASYNCEH_RX_STRING_GAP.
On other modules, the gap length is fixed at 2 bit-time (min 2 usec).
The supported values are:
Constant | Value |
---|---|
VMXF_ENABLE | Enable word mode |
VMXF_DISABLE | Disable word mode (default) |
The KMXF_ASYNCEH_RX_STRING_GAP
attribute holds the receiver maximum gap between bytes in a string. When this gap is reached, the current string is returned.
Supported on IO-ASYNC-EH and IO-MULTI-EH only.
On other modules, the gap length is fixed at 2 bit-time (min 2 usec).
The supported range is:
Range | Value (1/4 bit) |
---|---|
Minimum | 0 |
Maximum | 255 |
Default value: 8 (2 bits).
The KMXF_ASYNCEH_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 will come from the corresponding internal transmitter instead of the default configuration where the received data come from the RX line circuit. This feature is intended for demo applications or for test purposes. When enabled, the module's first RX channel receives data transmitted by the first TX channel, the second RX channel receives data from the second TX channel, and so on.
The supported values are:
Constant | Value |
---|---|
VMXF_ENABLE | Enable loopback |
VMXF_DISABLE | Disable loopback (default) |
The KMXF_ASYNCEH_MODULE_RX_TIMETAG_ENABLE
and KMXF_ASYNCEH_RX_TIMETAG_ENABLE
(MXF_MODULE_ASYNC) attributes define if the time tag is returned in the record.
Not available on MXF_MODULE_FLEXSMP, timetag always enabled.
Constant | Value |
---|---|
VMXF_ENABLE | Enable time tag (default) |
VMXF_DISABLE | Disable time tag |
The KMXF_ASYNCEH_MODULE_RX_FIFO_AGING
and KMXF_ASYNCEH_RX_FIFO_AGING
(MXF_MODULE_ASYNC) attributes define the FIFO aging timeout value for a receiver channel. 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 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_ASYNCEH_MODULE_RX_FIFO_AF
and KMXF_ASYNCEH_RX_FIFO_AF
(MXF_MODULE_ASYNC) attributes hold the almost full threshold for a receiver channel. This attribute value determines the number of received words that must be accumulated in the receive hardware FIFO before an interrupt is generated.
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_ASYNCEH_TX_FIFO_AF
and KMXF_ASYNCEH_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_ASYNCEH_MODULE_TX_FIFO_AE
and KMXF_ASYNCEH_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 KMXF_ASYNCEH_TX_STRING_GAP
attribute holds the transmitter minimum gap between two strings. When this gap is reached, the second string can be transmitted.
Supported on IO-ASYNC-EH and IO-MULTI-EH only.
The supported range is:
Range | Value (1/4 bit) |
---|---|
Minimum | 0 |
Maximum | 255 |
Default value: 16 (4 bits).
The KMXF_ASYNCEH_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_ASYNCEH_TX_SELF_RECEPTION_ENABLE
attribute holds the transmitter self reception enable state. When enable, the receiver will saved in its RX FIFO the bytes sent by its corresponding transmitter (TX0 with RX0, TX1 with RX1 and so on). When disable, the receiver will not saved in its RX FIFO what it is transmitted by its corresponding transmitter. This feature is useful for ASYNC protocol using RS-485 electrical interface when TX and RX are connected on the same multidrop bus. This attribute is only available when both TX and corresponding RX are set to ASYNC protocol and RS-485 electrical interface.
Not supported on MXF_MODULE_ASYNC.
The supported values are:
Constant | Value |
---|---|
VMXF_ENABLE | Enable self reception (default) |
VMXF_DISABLE | Disable self reception |
The KMXF_ASYNCEH_TERMINATION
attribute holds the actual channel termination resistor state.
Only supported on MXF_MODULE_FLEXSMP.
Constant | Value |
---|---|
VMXF_ASYNCEH_TERMINATION_NONE | No termination resistor (default) |
VMXF_ASYNCEH_TERMINATION_120OHM | 120 ohm termination resistor enabled |