Hardware Information: Dual Visteon NBUS card


External D-15 connector pinout

Pin # Channel Assignment
011TX (master/slave mode)   /   RX slave (monitor mode)
021RX (master/slave mode)   /   RX master (monitor mode)
031Slave 0 Request
041Slave 1 Request
051Slave Mux Select
062TX (master/slave mode)   /   RX slave (monitor mode)
072RX (master/slave mode)   /   RX master (monitor mode)
082Slave 0 Request
092Slave 1 Request
102Slave Mux Select
11BothVin+
12Both12 vdc out
13Both8 vdc out
14Bothground
15BothVIN-

BUS termination requirements

(None.)

Event definitions


The following values may be transmitted as FT_EVENT type GCProtocol frames.
The event value will be in the event field of such a frame.
Note: Please see the include file dev_nbus.h for numeric values of the following symbols.

Event nameEvent meaning
    Monitor mode
GNBUSRXTEXTStarted receiving a text message
GNBUSRXBINARYStarted receiving a binary message
GNBUSRXMASTERReceived a message from the master node
GNBUSRXSLAVE0Received a message from the first slave node
GNBUSRXSLAVE1Received a message from the second slave node
GNBUSTIMERATimer A has expired
GNBUSTIMERBTimer B has expired
GNBUSTIMERFTimer F has expired
GNBUSSL0REQHISlave 0 request line high
GNBUSSL0REQLOSlave 0 request line low
GNBUSSL1REQHISlave 1 request line high
GNBUSSL1REQLOSlave 1 request line low
GNBUSSLSELHISlave select high
GNBUSSLSELLOSlave select low
    Master and Slave modes
GNBUSXMITABORTTransmit of message aborted
GNBUSXMITEOTTransmit of message received EOT
GNBUSXMITMSGLMTTransmit of message reached retry limit
GNBUSXMITREQLMTTransmit of message reached request Retry Limit
GNBUSXMITNAKLMTTransmit of message reached NAK retry limit
GNBUSXMITTIMERTimer E Timeout
GNBUSRCVINVALIDReceived an invalid message

Please also see generic events for non card-specific events.


Card-specific IOCTL definitions


These values are used with the CMD_CARD_IOCTL command.
Please see the include file dev_nbus.h for numeric values of IOCTLS and data field values.

(effective after next INIT ioctl.)
IOCTL nameFunctionData field length/purpose
GNBUSGETMODE Get the current mode of operation. One byte.
    The current mode of operation.
        NBUS_NOTHING: Mode has not been assigned.
        NBUS_MONITOR: Monitor mode.
        NBUS_MASTER: Master mode.
        NBUS_SLAVE: Slave mode.
GNBUSSETMODE Set the mode of operation. One byte.
    The new mode of operation
        NBUS_MONITOR: Monitor mode.
        NBUS_MASTER: Master mode.
        NBUS_SLAVE: Slave mode.
GNBUSGETCOMMANDS Get the commands from
the verification table.
Variable number of bytes.
    bytes 1 & 2: The number of commands present.
    bytes 3 ... n+2: Command byte.
GNBUSADDCOMMANDS Add one or more commands to
the verification table
Variable number of bytes.
(effective after next INIT ioctl.)
    bytes 1 & 2: The number of commands to add.
    bytes 3 ... n+2: Command byte.
GNBUSDELCOMMANDS Delete one or more commands from
the verification table.
Variable number of bytes.
(effective after next INIT ioctl.)
    bytes 1 & 2: The number of commands to delete.
    bytes 3 ... n+2: Command byte.
GNBUSCLRCOMMANDS Delete all of the commands from
the verification table.
none
(effective after next INIT ioctl.)
GNBUSGETVERMODE Get the command verification mode. One byte.
    The current verification mode.
        NBUS_NONE
        NBUS_COMMAND
GNBUSSETVERMODE Set the command verification mode. One byte.
(effective after next INIT ioctl.)
    The new verification mode.
        NBUS_NONE
        NBUS_COMMAND

Notes:


FT_DATA frame stat field definitions:

The following bits may be set in the stat field of FT_DATA messages written to the card.
GNBUSSTAT_TEXT is set to 1 if the message to be sent is a text message.
GNBUSSTAT_TEXT is set to 0 if the message to be sent is a binary message.

GNBUSSTAT_TO_SLAVE1 is set to 1 if the message sent by the master node is to be sent to the second slave.
GNBUSSTAT_TO_SLAVE1 is set to 0 if the message sent by the master node is to be sent to the first slave.

The following bits may be set in the stat field of FT_DATA messages read from the card.

GNBUSSTAT_TEXT is set to 1 if the message read from the card is a text message.
GNBUSSTAT_TEXT is set to 0 if the message read from the card is a binary message.

GNBUSSTAT_FR_SLAVE1 is set to 1 (And GNBUSSTAT_FR_MASTER is zero.) if the message read from the card is from the second slave.
GNBUSSTAT_FR_SLAVE1 is set to 0 (And GNBUSSTAT_FR_MASTER is zero.) if the message read from the card is from the first slave.

GNBUSSTAT_FR_MASTER is set to 1 if the message read from the card is from the master.
GNBUSSTAT_FR_MASTER is set to 0 if the message read from the card is from one of the slaves.

GNBUSSTAT_TO_SLAVE1 is set to 1 (And GNBUSSTAT_TO_MASTER is zero.) if the message read from the card is to the second slave.
GNBUSSTAT_TO_SLAVE1 is set to 0 (And GNBUSSTAT_TO_MASTER is zero.) if the message read from the card is to the first slave.

GNBUSSTAT_TO_MASTER is set to 1 if the message read from the card is to the master.
GNBUSSTAT_TO_MASTER is set to 0 if the message read from the card is to one of the slaves.


How the Header, Data and Extra Data fields of the FT_DATA frame are used in received messages:

Monitor mode
Header
Contains nothing.
Data
Contains every byte received including all control and escape bytes. Each received byte is represented by four bytes.
The first of the four bytes is the received byte.
The second byte is the status byte from the UART when the received byte was read from the UART.
The third and fourth bytes contain a timestamp. This timestamp has the same units (tens of microsceonds) as the timestamp in the FT_DATA header. The difference between the first and last byte's timestamps can be subtracted from the timestamp to compute the timestamp of the first byte of a message.
Extra Data
Contains the message without any control bytes or the checksum.

Master and Slave modes
Header
Contains nothing.
Data
Contains nothing.
Extra Data
Contains the message without any control bytes or the checksum.

How the Header, Data and Extra Data fields of the FT_DATA frame are used in transmitted messages:

Monitor mode
Data messages cannot be sent while in the Monitor mode.

Master and Slave modes
Header
Contains nothing.
Data
Contains the message without any control bytes or the checksum. The driver computes the checksum and adds it, and the control byte for it.
Extra Data
Contains nothing.