Hardware Information: Dual Single-Wire CAN card


External HD-15 connector pinout

Pin # Channel Assignment
012GND
021GND
062CAN BUS
071CAN BUS
10BothV- in
15BothV+ in

BUS termination requirements

(None.) NOTE: The should be powered from the same voltage level as other nodes on a connected SWCAN network. Mismatch of supply voltages can cause misdetection of high-voltage wakeup messages; the high voltage used in such messages is referenced to each module's supply voltage.

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_527.h for numeric values of the following symbols.

Event nameEvent meaning
EVENT_MSG_SENT   An FT_DATA frame with a timestamp value of EVENT_ON_SEND or EVENT_ON_SEND_PROXY has been transmitted. See CMD_SERVER_SET_TIMED_XMIT for more information
 
GCANBUSOFFBus OFF state reached
GCANBUSWARNBus WARNING state reached
GCANBUSOKBus OK (return from Bus WARNING state)
GCANERRFRAMEError Frame / Stuff Error detected
GCANWAKEUPWake-Up (not currently used)
GCANCRCCRC error detected
GCANRXOVERReceiver overflow detected
GCANFORMForm error detected
GCANACKAcknowlegement error (none received during attempted transmit)
GCANBITONEBit 1 error
GCANBITZEROBit 0 error

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_527.h for numeric values of IOCTLS and data field bit assignments.

IOCTL nameFunctionData field length/purpose
GCANGETBTRS Get 85257 BTR values2 data bytes returned: current BTR0 and BTR1 values
GCANSETBTRS Set 82527 BTR values2 data bytes: new BTR0 and BTR1 values
Set values valid only after next INIT IOCTL.
GCANGETBC Get 82527 Bus Configuration Register1 data byte: current bus configuration value
GCANSETBC Set 82527 Bus Configuration Register1 data byte: new bus configuration value
Value valid only after next INIT IOCTL.
GGETERRLEV Get channel error reporting level1 data byte: current error reporting level
GSETERRLEV Set channel error reporting level1 data byte: new error reporting level
Value valid only after next INIT IOCTL.
GCANGETMODE Get driver operating mode1 data byte: current mode (effective after next init)
Modes include:
Normal data
Remote request receiver
Remote frame transmitter
Remote frame responder
GCANSETMODE Set driver operating mode1 data byte: new mode (effective after next init). As above.
GCANGETTRANS Get internal/external trasceiver selection1 data byte: current transceiver selection
GCANSETTRANS Set internal/external transceiver selection1 data byte: new transceiver selection (effective immediately)
GCANSENDERR Send an error frame (error level must be =1 for this to work. See GSETERRLEV in Generic IOCTLSNone
GCANSWGETMODE Get transceiver mode1 data byte: current mode. Bits indicate tool resistance, sleep mode, hi voltage mode, hi speed mode.
See dev_527.h for bit assignments.
GCANSWSETMODE Set transceiver mode1 data byte: new mode. Bits control tool resistance, sleep mode, hi voltage mode, hi speed mode.
See dev_527.h for bit assignments.

Note about ERROR FRAMES:
Individual error frames may be generated by transmitting a message with the invalid 11-bit ID 0xff 0xff, or the invalid 29-bit ID 0xff 0xff 0xff 0xff.
Error level reporting must be set to 1 to generate error frames.

Note about SWCAN message voltage:
High voltage wake-up messages are flagged as such in received messages by setting the GCANSWHIVOLT bit in the stat field in the FT_DATA header.

High voltage messages may be sent two different ways:

The first method allows sending of individual high-voltage wake-up frames, but may result in a delay before and after the message as the voltage is switched.

The second method is preferable if more than one high-voltage wake-up frames are to be set; high-voltage will remain ON until turned off by means of another GCANSWSETMODE IOCTL.