Enables you to configure XS series CAN hardware to communicate properly with your external transceiver.
Long Name: Interface:CAN: External Transceiver Config
Class: XNET Session
The connector on your XS series CAN hardware has five lines for communicating with your transceiver.
|Ext_RX||In||Data received from the CAN bus.|
|Ext_TX||Out||Data to transmit on the CAN bus.|
|Output0||Out||Generic output used to configure the transceiver mode.|
|Output1||Out||Generic output used to configure the transceiver mode.|
|NERR||In||Input to connect to the nERR pin of your transceiver to route status back from the transceiver to the hardware.|
Ext_RX and Ext_TX lines provide for the transfer of CAN data to and from the transceiver. The remaining three lines are for configuring the transceiver and retrieving status from the transceivers. Not all transceivers use all pins. Typically, a transceiver has one or two lines that can configure the transceiver mode. The NI-XNET driver natively supports five transceiver modes:
This property configures how the NI-XNET driver sets the outputs of your external transceiver for each mode. The configuration is in the form of a U32 written as a bitmask. The U32 bitmask is defined as follows.
|nERR Connected||Reserved||PowerOn Configuration||SWHighSpeed Configuration||SWWakeup Configuration||Sleep Configuration||Normal Configuration|
Where each configuration is a 3-bit value defined as:
|State Supported||Output1 Value||Output0 Value|
The Interface:CAN:Transceiver State property changes the transceiver state. Based on the transceiver configuration, if the state is supported, the configuration determines how the two pins are set. If the state is not supported, an error is returned, because you tried to set an invalid configuration. Note that all transceivers must support a Normal state, so the State Supported bit for that configuration is ignored.
Other internal state changes may occur. For example, if you put the transceiver to sleep and a remote wakeup occurs, the transceiver automatically is changed to the normal state.
If nERR Connected is set, the nERR pin into the connector determines a transceiver error. It is active low, meaning a value of 0 on this pin indicates an error. A value of 1 indicates no error. If this line is connected, the NI-XNET driver monitors this line and reports its status via the transceiver error? field of NI-XNET Read (State CAN Comm).
TJA1041 (HS): To connect to the TJA1041 transceiver, connect Output0 to the nSTB pin and Output1 to the EN pin. The TJA1041 does have an nERR pin, so that should be connected to the nERR input. The TJA1041 supports a power-on state, a sleep state, and a normal state. As this is not a single wire transceiver, it does not support any single wire state. For normal operation, the TJA1041 uses a 1 for both nSTB and EN. For sleep, the TJA1041 uses the standby mode, which uses a 0 for both nSTB and EN. For power-on, the TJA1041 uses a 1 for nSTB and a 0 for EN. The final configuration is 0x80005027.
TJA1054 (LS): You can connect and configure the TJA1054 identically to the TJA1041.
AU5790 (SW): To connect to the AU5790 transceiver, connect Output0 to the nSTB pin and Output1 to the EN pin. The AU5790 does not support any transceiver status, so you do not need to connect the nERR pin. The AU5790 supports all states. For normal operation, the AU5790 uses a 1 for both nSTB and EN. For sleep, the AU5790 uses a 0 for both nSTB and EN. For Single Wire Wakeup, the AU5790 requires nSTB to be a 0 and EN to be a 1. For Single Wire High-Speed, the AU5790 requires nSTB to be a 1, and EN to be a 0. For power-on, the sleep state is used so there is less interference on the bus. The final configuration is 0x00004DA7.
Where This Property Is Available:
Desktop OS: Windows
FPGA: Not supported
Web Server: Not supported in VIs that run in a web application