Overview

· Easy to use PC based CAN bus analyser that communicates directly with the CANdo, CANdoISO & CANdo AUTO devices
· Supports 11 bit (CAN 2.0A) & 29 bit (CAN 2.0B) arbitrators
· Displays data, remote, error frames & error counters
· Displays a timestamp for each message
· Displays CAN bus load for devices that support the feature
· Displays ID & data in either decimal or hexadecimal format
· Displays data decoded into ASCII
· Displays received message count & period
· Allows up to 50 user specified transmit messages
· Transmissions maybe either periodic or key triggered
· Selectable CAN bus baud rate from 12.5k to 1M
· Log record function saves all messages to a log file
· Log replay function re-transmits log file messages onto the CAN bus
· Listen only mode allows non-intrusive bus snooping
· Receive message filtering for higher bus loads & in-depth analysis
· Multiple application instances connect to multiple CANdo\CANdoISO\CANdo AUTO devices on the same PC


Glossary

API | Application Programming Interface
ASCII | American Standard Code for Information Interchange
CAN | Controller Area Network
CRC | Cyclic Redundancy Check
DLC | Data Length Code
EMC | ElectroMagnetic Compatibility
EU | European Union
ISO | International Organization for Standardization
LED | Light Emitting Diode
PC | Personal Computer
RAM | Random Access Memory
ROM | Read Only Memory
SDK | Software Development Kit
USB | Universal Serial Bus


References

1 | CAN Specification Version 2 (1991), Robert Bosch GmbH
2 | ISO11898-1 Controller Area Network - Data link layer and physical signalling.
3 | ISO11898-2 Controller Area Network - High-speed medium access unit.


System Requirements

CANdo Application minimum PC system requirements -

· Windows 7, 8, 10 or 11 (32 or 64 bit)
· Pentium III 500MHz or equivalent
· Display with a resolution of 1024x768 pixels & 256 colours
· USB port (version 1.1 or 2.0 compliant)
· CD ROM drive
· 256M bytes of RAM
· 20M bytes of free disk space


New

'New', clears the current configuration.

The 'CAN View' mode, 'CAN Transmit' list, 'CAN Transmit Editor', & 'CAN Setup' are all cleared to the default configuration. The configuration file name in the title bar is cleared & the user is prompted to check the 'CAN Setup' for the new configuration.


Load

'Load', loads a previously saved configuration from a file on the PC.

The 'CAN View' mode, 'CAN Transmit' list, 'CAN Transmit Editor' & 'CAN Setup' are all retrieved from the selected configuration file.


Save/Save As

'Save', saves the current configuration to a user specified file on the PC.

In the file dialog box that appears on pressing 'Save', type a file name for the current configuration to be saved (the file extension is automatically added). The file name of the saved configuration appears in the title bar. Pressing 'Save' again saves any changes to the specified file without bringing up the file dialog box again.

Pressing 'Save As' allows a new configuration file name to be specified for the current configuration.


Exit CANdo

'Exit', closes the CANdo Application & the connection to CANdo.

If changes have been made to the 'CAN Transmit' list, 'CAN Transmit Editor' or 'CAN Setup', then the user is prompted to save the configuration before exiting.


Clear

Clear CAN View 'Clear', erases all the current messages displayed in the 'CAN View' window.


Copy To Tx

'Copy To Tx', copies the currently selected receive message in the 'CAN View' window to the 'CAN Transmit Editor'. If no message is currently selected, then this menu item is disabled.

Transmit & error messages in the 'CAN View' window cannot be copied.


Filter On ID

'Filter On ID', uses the currently selected message ID in the 'CAN View' window to configure the 'CAN Receive Filters', so that only messages with that
ID are received & displayed. If no message is currently selected, then this menu item is disabled.

The receive filters cannot be changed while CANdo is running. After selecting a
CAN message within the 'CAN View' window, press the 'Stop CANdo' button &
then press the 'Filter On ID' button.


Snapshot

The 'Snapshot' feature captures the current contents of the 'CAN View' window & saves a formatted version to the specified text file.

The format of the file is illustrated below. The ID & data are saved in either decimal or hexadecimal format, depending on the 'Numeric Base' selected in the 'Display Options'. The 'ASCII' decode, receive message 'Count' & 'Period' columns are included within the snapshot, if selected within the 'Display Options'.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Snapshot Example - 12:43:58 16/11/2015 - Hexadecimal
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

TYPE  ___TIME____  ___ID____  D1   D2   D3   D4   D5   D6   D7   D8
RD11  1676.6493    2B0        00   50   00   00   00   00   FF   E0
TD11  1676.5790    7D2        02   55   AA   00   50   02   00   00
RD29  1676.6533    19FEE0A0   00   50   FF   FF   FF   FF   FF   FF
TD29  1676.3830    1FF6000    FD   45   00   A0   22   FF   FF   FF
RR29  1676.6527    FD0500     ?    ?    ?    ?    ?    ?    ?    ?
RD29  1676.6588    18EA0500   00   EE   00
TR29  1676.5880    18EA0500   ?    ?    ?

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Key
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RD = Receive Data
RR = Receive Request
TD = Transmit Data
TR = Transmit Request
EF = Error Frame
RE = Receive Error Count
TE = Transmit Error Count
BA = Bus Active
BP = Bus Passive
BO = Bus Off
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CAN Baud Rate = 250.00k
CAN Bit Sample Point = 70.00%
Netronics CANdo  S/N 0006  H/W v6.0  S/W v3.0  Status OK
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

For best results, view the file using a monospaced font, such as Courier New or Lucida Console, so that the columns are correctly aligned, as displayed above.


Show Dec./Hex.

Show Decimal/Hexadecimal

/ [image] 'Show Decimal/Hexadecimal' displays the current message selected in the 'CAN View' window in the alternative number base, within a pop up balloon. If the 'Numeric Base' is set to 'Decimal' in the 'Display Options', then the hexadecimal conversion of the message is displayed in the pop up balloon. Conversely, if the base is set to 'Hexadecimal' then the decimal conversion of the message is displayed.


Font +/-

Font Size 'Font +/-' adjusts the size of the font used in the 'CAN View' & 'CAN Transmit' windows, which is sometimes useful with high DPI monitors.


Fixed

In 'Fixed' view mode, the received & transmitted CAN messages are listed in the 'CAN View' window in fixed positions. Any message with the same 'Type' & 'ID' as one already displayed automatically overwrites the currently displayed message. A new message with no equivalent 'Type' & 'ID' as one already in the list is appended to the end.

A context sensitive menu appears if the right mouse button is clicked while hovering over the 'CAN View' list. This menu replicates the 'View' menu & allows either 'Fixed' or 'Cyclic' view mode to be selected.


Cyclic

In 'Cyclic' view mode, the CAN messages received & transmitted are listed in the 'CAN View' in chronological order, with new messages being added to the end of the list.

When the number of messages added to the list equals the size of the cyclic buffer, the list cycles back to the start, with the newest message replacing the oldest one. The size of the cyclic buffer maybe specified in the 'Display Options'.

A context sensitive menu appears if the right mouse button is clicked while hovering over the 'CAN View' list. This menu replicates the 'View' menu & allows either 'Fixed' or 'Cyclic' view mode to be selected.


Options

Display Options

The 'Display Options' box allows some of the display settings to be specified, such as the numeric display format & the location of the 'CAN Transmit' page.

The 'Numeric Base' option allows the ID & Data on both the 'CAN View' & the 'CAN Transmit' pages to be displayed in either decimal or hexadecimal format. This selection also affects the format of the log & snapshot files.

The 'CAN Transmit' option allows the location of the 'CAN Transmit' list & editor to be specified as either on a separate page, or on the 'CAN View' page.

The 'Display ASCII Decoded Data' option adds a column to the 'CAN View' window & displays the CAN data D1-D8 in ASCII decoded form. Only data values within the printable character range 20 (hex.) to 7E (hex.) are decoded. Data values outside of this range are replaced with the 20 (hex.) 'SPACE' character.

The 'Display Message Count' option adds a column to the 'CAN View' window & displays the number of occurrences of a receive message with matching 'Type' & 'ID'. In 'Cyclic' view mode, the message count is displayed only for the first 20 unique received messages, as defined by 'Type' & 'ID'.

The 'Display Message Period' option adds a column to the 'CAN View' window & displays the period between the last two received messages with matching 'Type' & 'ID'. In 'Cyclic' view mode, the message period is displayed only for the first 20 unique received messages, as defined by 'Type' & 'ID'.

The 'CAN Error Counters' option displays the CAN receive & transmit error counters in the 'CAN View' window, if a receive or transmit error is detected on the CAN bus.

The 'Update Interval' option specifies the periodic update rate of the 'CAN View' window. This affects the update rate of the display only, the rate at which receive & transmit messages are processed in the background is unaffected.

The 'Cyclic Buffer Size' option allows the size of the 'CAN View' list in cyclic view mode to be specified. This size is the length of the list before the messages wrap back to the start & overwrite old messages.


Start Log Recording

Start Log

'Start Log Recording', starts the message recording mode, which logs the messages in the 'CAN View' window to a file, in chronological order.

Before starting the log, the file name & type must be specified via the 'Log Options' dialog. The type may be specified as either a standard text file, a comma delimited data file, or as an ASCII file.

An example of a text log file is shown below. The ID & data are saved in either decimal or hexadecimal format, depending on the 'Numeric Base' selected in the 'Display Options'. Additional 'ASCII', 'Count' & 'Period' columns are also included, if selected within the 'Display Options'.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Log Example - 12:08:48 17/11/2015 - Decimal
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

TYPE  ___TIME____  ___ID____  D1   D2   D3   D4   D5   D6   D7   D8
RD11  40.1857      1000       0    0    45   70   255  255  255  255
RR11  40.1859      505        ?    ?    ?    ?    ?    ?    ?    ?
TD11  40.9996      2000       2    4    120  0    0    0    0    0
TD29  40.9996      419418112  0    0    25   40   0    0    0    0
TR11  40.9996      125        ?    ?    ?    ?    ?
RD11  41.1857      1000       0    0    45   70   255  255  255  255
RR11  41.1859      505        ?    ?    ?    ?    ?    ?    ?    ?

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Key
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RD = Receive Data
RR = Receive Request
TD = Transmit Data
TR = Transmit Request
EF = Error Frame
RE = Receive Error Count
TE = Transmit Error Count
BA = Bus Active
BP = Bus Passive
BO = Bus Off
BL = Bus Load
ST = CANdo Status
 ! = CANdo Error {Messages may be missing from log}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CAN Baud Rate = 1.00M
CAN Bit Sample Point = 70.00%
Netronics CANdoISO  S/N 0005  H/W v2.0  S/W v3.0  Status OK
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

For best results, view a text format log file using a monospaced font, such as Courier New or Lucida Console, so that the columns are correctly aligned, as displayed above.

The log file size is limited by the CANdo Application to 2 million messages. Once this limit is reached, the log is automatically stopped & the log file closed.


Start Log Replay

'Start Log Replay', starts the log message replay mode, which replays messages from a previously recorded log file, onto the CAN bus. The messages are replayed in chronological order as they appear in the log file & at the rate defined within the log file.

Before starting the log replay, a previously recorded log file must be selected within the 'Log Options' dialog. The message types to replay may also be specified. Status & error messages that appear within the log file are ignored during replay.


Single Step Log Replay

'Single Step Log Replay', starts the single step log message replay mode, which replays messages from a previously recorded log file, one at a time, onto the CAN bus. Each press of the 'Single Step Replay Button' replays the next message, as it appears in the log file.

Before starting the log replay, a previously recorded log file must be selected within the 'Log Options' dialog. The message types to replay may also be specified. Status & error messages that appear within the log file are ignored during replay.


Pause Log Replay

'Pause Log Replay', pauses a running log replay. The log replay may be restarted by pressing either 'Start Log Replay' or 'Single Step Log Replay'.


Stop Log

'Stop Log', stops the message recording/replay mode & closes the log file.

The log must be stopped before any attempt is made to move or view the log file.


Options

Log Options

The 'Log Options' box allows the file name & file format of the log file to be specified, as well as the types of messages to be logged & replayed.

Note : The file name box must contain a valid directory path & file name, for example 'C:\CANdo\Log.txt'. Use the 'Browse...' button to select a directory & enter a file name.

The format of the log file may be specified as either plain text (Text option), comma separated variables (CSV option), or as ASCII text (ASC option). Text & CSV files may optionally include status & error messages, ASC files are limited to receive & transmit messages only. The ASC format is included to provide compatibility with some 3rd party programs.

The numeric format of the ID & data within the log file follows the format specified in the 'Display Options'.

The 'Overwrite' option, specifies the action to be taken when the log file specified already exists & a new recording is started. The default action is to display a warning box confirming that the file is about to be overwritten. Selecting 'Automatically Overwrite' removes this warning box. Selecting 'Automatically Rename' appends '[n]' to the end of the filename, thus creating a new log file. The '[n]' is automatically incremented each time a new recording is started.

The 'Replay Type' option, allows log files to be replayed in a continuous loop.


Start CANdo

'Start CANdo', initialises the operating mode of the CANdo\CANdoISO\CANdo AUTO device & enables the reception & transmission of CAN messages. The CAN message timestamp is reset to 0s.

'Start CANdo Rx', allows the CANdo to be started just for CAN message reception, the messages in the CAN Transmit list are ignored until the
'Start CANdo Tx' is pressed. This allows the CANdo to become an active node on the CAN bus without generating transmit errors. This is useful, if there are messages specified in the CAN Transmit list, but there is no other active node present on the CAN bus.

After 30hrs run time, CANdo is automatically stopped, to prevent the display of ambiguous 'Time' & 'Period' values due to overflow of the CAN message timestamp.

The 'Esc' key is a short cut that toggles between 'Start CANdo' & 'Stop CANdo'.


Stop CANdo

'Stop CANdo', disables the reception & transmission of CAN messages.

The 'Esc' key is a short cut that toggles between 'Start CANdo' & 'Stop CANdo'.


Options

Device Options

The 'Device Options' box allows a particular CANdo device or type of device to be preferentially selected on starting the program. This allows a particular device to be selected when there are multiple CANdo devices connected to the same PC. Any selections made in the 'Device Options' box take effect next time the program is started.

The 'Hardware Type', allows a particular type of CANdo device, eg. CANdoISO, to be selected preferentially on startup.

The 'Serial Number', allows a specific CANdo device to be selected based on the serial number of the device.

If the 'Prompt' option is selected, then a drop down box listing all the available CANdo devices connected to the PC appears on startup.

Select a device from the list & then click on 'OK' to continue.


CANdo Help

'CANdo Help', invokes this built in help.


About CANdo

'About CANdo', brings up a dialog box displaying the name & version number of the CANdo Application.


Overview

The 'CAN View' is the main CAN message display window. All CAN messages transmitted & received on the CAN bus are displayed within this window. Error frames & CAN bus state changes are also displayed, as & when they occur.

The ID & data maybe displayed in either decimal (see above) or hexadecimal (see below) format. The number format maybe selected in the 'Display Options'.


Type

The 'Type' Column in the 'CAN View' window displays the type of message on each row in the list, using an icon followed by text. The type identifies the message as either receive, transmit or status. The numbers '11' & '29' appended to the type icon in the case of a receive or a transmit, identify the message as either a CAN 2.0A (11 bit standard arbitrator) or CAN 2.0B (29 bit extended arbitrator) message, respectively.

The table below details the possible message types.
Icon | Type
 | Receive message with 11 bit arbitrator
 | Receive message with 29 bit arbitrator
 | Remote receive message with 11 bit arbitrator
 | Remote receive message with 29 bit arbitrator
 | Transmit message with 11 bit arbitrator
 | Transmit message with 29 bit arbitrator
 | Remote transmit message with 11 bit arbitrator
 | Remote transmit message with 29 bit arbitrator
 | Less than 128 receive/transmit errors
 | More than 128 receive/transmit errors
 | More than 255 transmit errors
 | Error frame detected
Receive Error Count | Receive Error Counter (CANdoISO & CANdo AUTO only)
Transmit Error Count | Transmit Error Counter (CANdoISO & CANdo AUTO only)

The 'Receive\Transmit Error Counters' are only displayed if enabled in the 'Display Options' & only when an error on the CAN bus is detected. The count value indicates the number of errors detected on the CAN bus in the range 0 - 255 (decimal) or 00 - FF (hex.).


Time

The 'Time' column in the 'CAN View' window displays a timestamp for each message. The timestamp is the arrival time of the message in seconds elapsed since CANdo started.

The timestamp is displayed to a resolution of 0.1ms & is accurate to within +/- (20ms + 100ppm). The timestamp ranges in value from 0.0000s to 108000.0000s. When the maximum value is reached, CANdo is stopped.


ID

The 'ID' column in the 'CAN View' window displays the 11 or 29 bit message arbitrator in either decimal or hexadecimal format.

11 bit arbitrators (CAN 2.0A) lie in the range 0 - 2047 (decimal) or 000 - 7FF (hex.) & 29 bit arbitrators (CAN 2.0B) in the range 0 - 536870911 (decimal) or 00000000 - 1FFFFFFF (hex.).


Data

The 'Data' column in the 'CAN View' window displays the data field associated with each CAN message. The data field may occupy from 0 to 8 bytes, these are displayed in columns D1 to D8. If the number of bytes in the data field is less than 8 then the remainder are filled with blanks. The DLC (Data Length Code) value is equal to the number of columns containing data. For example, if columns D1 to D3 contain data values & the remaining D4 to D8 columns are blank, then the DLC equals 3. The data is displayed in either decimal or hexadecimal format & each byte lies in the range 0 - 255 (decimal) or 00 to FF (hex.).

Remote receive/transmit messages are requests for data & so the data fields are blank. The requested number of data bytes is indicated by the corresponding number of '?'s in the D1 to D8 columns.


ASCII

The 'ASCII' column in the 'CAN View' window displays the data in the D1 to D8 data columns in ASCII (American Standard Code for Information Interchange) decoded form. Only data values within the printable character range 20 (hex.) to 7E (hex.) are decoded & displayed. Data values outside of this range are replaced & displayed as the 'SPACE' 20 (hex.) character.

The 'ASCII' column is an optional column that may be selected within the 'Display Options'.


Count

The 'Count' column in the 'CAN View' window displays the number of occurrences of a each unique receive message. Receive messages are defined by the 'Type' & 'ID'.

The 'Count' value ranges from 1 to 2300000000.

In 'Cyclic' view mode, the receive message count is displayed only for the first 20 unique received messages, as defined by 'Type' & 'ID'.

The 'Count' column is an optional column that may be selected within the 'Display Options'.


Period

The 'Period' column in the 'CAN View' window displays the inter-message period for received messages of matching 'Type' & 'ID'. This is calculated by subtracting the timestamps of the last two received messages.

The 'Period' value ranges from 0.0001s to 108000.0000s.

In 'Cyclic' view mode, the message period is displayed only for the first 20 unique received messages, as defined by 'Type' & 'ID'.

The 'Period' column is an optional column that may be selected within the 'Display Options'.


Overview

CANdo transmits messages on the CAN bus as specified by the user in the 'CAN Transmit' list, on the 'CAN Transmit' page.

Transmit messages are created & modified using the 'CAN Transmit Editor'.

Up to 50 transmit messages may be specified in this way.

To assist in interactive CAN bus analysis & debugging, the 'CAN Transmit' page maybe combined with the 'CAN View' page, so that the 'CAN Transmit' list appears below the 'CAN View' list. This option is available within the 'Display Options'.

The ratio of the height of the 'CAN Transmit' list compared to the height of the 'CAN View' list maybe adjusted, by dragging the splitter bar at the top of the 'CAN Transmit' list.


Tx

The 'Tx' box in the 'CAN Transmit' list allows the transmission of individual messages to be enabled or disabled. Any message with the box ticked is enabled for transmission.

When CANdo is stopped, clicking on the 'Tx' column header enables/disables all messages.


Bit

The 'Bit' value in the 'CAN Transmit' list identifies the number of bits in the arbitrator of the message, either 11 or 29.


ID

The 'ID' is the message arbitrator, displayed in either decimal or hexadecimal format.

11 bit arbitrators (CAN 2.0A) lie in the range 0 - 2047 (decimal) or 000 - 7FF (hex.) & 29 bit arbitrators (CAN 2.0B) in the range 0 - 536870911 (decimal) or 00000000 - 1FFFFFFF (hex.).


Frame

The 'Frame' is displayed as either 'Data' for a standard frame containing data or 'Remote' for a remote frame requesting data.


DLC

The 'DLC' or Data Length Code, is the length of the data field in the message in bytes, ranging from 0 to 8.


Data

The 'Data' field contains from 0 to 8 bytes of data for a data frame message. For a remote frame message, the 'Data' field bytes are padded with a '?' to indicate the number of bytes requested by the message.

The data bytes D1 to D8 are displayed in either decimal or hexadecimal format with a range from 0 - 255 (decimal) or 00 - FF (hex.).


OnTime

Transmit messages in the 'CAN Transmit' list with an entry in the 'OnTime' column are cyclic messages that repeat continuously (when enabled in the 'Tx' column), at the rate specified by the 'OnTime' parameter.

The 'OnTime' repeat value is displayed in milliseconds.


OnKey

Transmit messages in the 'CAN Transmit' list with an entry in the 'OnKey' column are transmitted (when enabled in the 'Tx' column) in response to pressing the indicated function key.

Transmit messages are either triggered 'OnTime' or 'OnKey', but not both.


ID

The 'ID' box in the 'CAN Transmit Editor' is used to specify the length & value of the transmit message arbitrator. The arbitrator value is entered in either decimal or hexadecimal format.

CAN Transmit Editor ID

11 bit arbitrators (CAN 2.0A) lie in the range 0 - 2047 (decimal) or 000 - 7FF (hex.) & 29 bit arbitrators (CAN 2.0B) in the range 0 - 536870911 (decimal) or 00000000 - 1FFFFFFF (hex.).


Frame

The 'Frame' box in the 'CAN Transmit Editor' is used to specify the transmit message as either a 'Data' frame or a 'Remote' frame.

CAN Transmit Editor Frame

'Remote' frames are a request for data & therefore do not contain any data fields, but the DLC value specifies the number of bytes requested.


Data

The 'Data' box in the 'CAN Transmit Editor' is used to specify the data field of the transmit message. The 'DLC' (Data Length Code) specifies the number of bytes (0 to 8) in the data field. The data is entered in either decimal or hexadecimal format & each byte lies in the range 0 - 255 (decimal) or 00 - FF (hex.).

CAN Transmit Editor Data

'Remote' frames do not contain a data field, but do contain a DLC. For 'Remote' frames the DLC specifies the number of bytes of data requested by the message.


Trigger

The 'Trigger' box in the 'CAN Transmit Editor' is used to specify the trigger method used to send the message. The message may either be triggered on a periodic basis ('On Time') or in response to a key press ('On Key').

CAN Transmit Editor Trigger

While CANdo is running, the current message displayed in the 'CAN Transmit Editor' may be sent immediately by clicking the 'Now' button.

A context sensitive menu appears if the right mouse button is clicked while hovering over the 'CAN Transmit' list. This menu allows a message selected from the list to be sent immediately by clicking on the 'Now' menu item.


Add/Modify/Delete

The 'Add', 'Modify' & 'Delete' buttons in the 'CAN Transmit Editor' are used to either add, modify or delete a message in the 'CAN Transmit' list using the settings in the 'CAN Transmit Editor'.

CAN Transmit Editor Buttons

The 'Add' button appends the message in the 'CAN Transmit Editor' to the end of the 'CAN Transmit' list. If any of the values are out of range then a warning is given & the message is not added. A maximum of 50 transmit messages may be added.

The 'Modify' & 'Delete' buttons modify & delete respectively the message selected in the 'CAN Transmit' list. If no message is selected then a warning is given.

The keyboard 'Del' key may also be used to delete the selected message in the 'CAN Transmit' list.

The 'Add' & 'Delete' buttons are disabled while CANdo is running.


CAN Baud Rate

The ' [image] CAN Baud Rate' specifies the bit rate on the CAN bus. All nodes connected to a CAN bus must operate at the same baud rate to within +/- 1.7%. The CANdo\CANdoISO\CANdo AUTO baud rate may be set to any value in the range 12.5k to 1M baud. The currently specified baud rate is automatically calculated & displayed in the status bar.

The baud rate is set by adjusting the following parameters -

· BRP - Baud Rate Prescaler
· PROPSEG - Propagation Segment
· PHSEG1 - Phase Segment 1
· PHSEG2 - Phase Segment 2

The baud rate is calculated by the following equation -
20000000 / 2 * BRP * (1 + PROPSEG + PHSEG1 + PHSEG2)

For example -
20000000 / 2 * 2 * (1 + 5 + 8 + 6) = 250k baud

Baud rates 12.5k, 20k, 50k, 100k, 125k, 250k, 500k, 625k & 1M are predefined, other baud rates are custom programmable.

The CANdo system clock is divided down by the BRP value to produce the CAN sub-system clock. A single bit on the CAN bus is made up of a number of these CAN clock cycles. The cycles are grouped into the segments SYNCSEG, PROPSEG, PHSEG1 & PHSEG2, as displayed in the diagram above. The SYNCSEG is always 1 & is shown as a white clock space in the diagram. The PROPSEG & PHSEG1 values define the number of CAN clocks before the receive bit sample point & the PHSEG2 value defines the number of CAN clocks after the sample point. The baud rate & sample point are automatically displayed as the segment values are changed.

The baud rate cannot be changed while CANdo is running.

The sampling point of a bit on the bus is defined by the following equation -
(1 + PROPSEG + PHSEG1) * 100 / (1 + PROPSEG + PHSEG1 + PHSEG2)

For example -
(1 + 5 + 8) * 100 / (1 + 5 + 8 + 6) = 70.0%

The SJW (Synchronisation Jump Width) specifies the extent to which the PHSEG1 & 2 times may be adjusted by CANdo in order to synchronise the bit sampling to the received signal edges on the bus.

The SAM (SAMple) value specifies the number of times each bit is sampled. This is usually set to 1, except in noisy environments.

There are some rules that apply to setting the above values as they are to some extent interdependent -

· PROPSEG + PHSEG1 >= PHSEG2
· PROPSEG + PHSEG1 + PHSEG2 >= 7
· PHSEG2 >= SJW


CAN Operating Mode

CANdo may operate in one of three modes -

· Normal
· Listen Only
· Loopback

CAN Operating Mode

'Normal' mode, allows full transmission & reception of CAN messages & is the normal mode of operation. In this mode, the CANdo device operates as an active CAN node on the CAN bus, meaning that it responds to valid messages with an acknowledgment, as per the CAN bus standard.

'Listen Only' mode, only allows messages to be received by CANdo. No low level acknowledgments are transmitted in this mode. This mode may be used to determine the baud rate of a CAN bus in a non-intrusive way. At least two other active CAN nodes must be present on the CAN bus for correct operation in this mode.

'Loopback' mode, is for testing purposes only & allows transmissions from CANdo to be received & checked without any other CAN nodes present. In this mode CANdo does not transmit on the CAN bus.

The operating mode cannot be changed while CANdo is running.


CAN Receive Filters

CANdo\CANdoISO\CANdo AUTO contains two CAN message receive buffers that operate independently, collecting messages as they occur on the CAN bus. Normally these buffers are programmed to collect all messages & display them in the list on the 'CAN View' page. However, filters may be applied to the receive buffers to allow through only those messages with an ID that matches the filters. This is sometimes useful when looking for a particular message or when analysing a heavily loaded bus.

CAN Receive Filters

Each receive buffer contains a mask & a number of filters, two for 'Receive Buffer 1' & four for 'Receive Buffer 2'.

The mask identifies which bits within the ID are relevant for filtering. If the mask bit is set to a logic '1', then this bit is used to match the corresponding bit in the received message ID with each of the filters in turn. If there is a match between the relevant bits of the message & the relevant bits of at least one of the filters, then the message is accepted by the receive buffer.

Bits within the mask that are set to a logic '0' are ignored for filtering purposes. Hence, if the mask is all zeroes, '000' for an 11 bit mask or '00000000' for a 29 bit mask, then the receive buffer accepts all messages.

The receive filters cannot be changed while CANdo is running.

Note : The receive filters are always specified in hexadecimal format, regardless of the 'Numeric Base' selected in the 'Display Options'.

Using the example shown in the picture above, 'Receive Buffer 1' is configured to examine the top 3 bits of the ID of any 11 bit received message because the mask is set to 700 (hexadecimal), 11100000000 (binary). Hence, only messages with the top 3 bits of their ID matching at least one the filters are allowed through. The two filters are set to 100 (hexadecimal), 00100000000 (binary) & 200 (hexadecimal), 01000000000 (binary). Thus, the top 3 bits of the message ID must also be either 001 or 010 in order to be accepted.

11100000000 - Mask
00100000000 - Filter
01000000000 - Filter

Hence, only 11 bit messages in the range 100 to 2FF (hexadecimal) are accepted.


Overview

The status bar displays the program running status & the CANdo device status.
The panels of the status bar adjust according to the type of CANdo device connected.

If a CANdo device is connected, then the status bar displays five panels -

Run State
Log Status
Numeric Base
Baud Rate
CANdo Status

Status Bar (5 Panels)

If a CANdoISO or CANdo AUTO device is connected, then the status bar displays six panels -

Run State
Log Status
Numeric Base
Baud Rate
Bus Load
CANdoISO\CANdo AUTO Status

Status Bar (6 Panels)


Run State

The first panel of the status bar displays the CANdo run state. While running, the elapsed time since starting CANdo is displayed in hours, minutes & seconds.


Log Status

The log status is displayed in the second panel of the status bar. The currently selected log file name is displayed while hovering over the log status panel.

When the log is stopped, a static icon is displayed as shown below.

While a log recording is in progress, the icon below flashes.

While a log replay is in progress, the icon below flashes.


Numeric Base

The numeric base is displayed in the third panel of the status bar.

The numeric base is the number base used to display all the information on the 'CAN View' & 'CAN Transmit' pages, as well as the snapshot & log files.

The numeric base may be selected as either decimal or hexadecimal via the 'Display Options'.


Baud Rate

The fourth panel of the status bar displays the configured baud rate (B/R) & bit sample point (S/P), based on the settings on the 'CAN Setup' page.


Bus Load

If a CANdoISO or CANdo AUTO device is connected, the fifth panel in the status bar displays the CAN bus load, as a percentage.

If there is an error, either on the CAN bus or within the CANdo device, then the 'Bus Load ?.?%' text turns red to indicate that the value displayed may not be accurate.


CANdo Status

The CANdo\CANdoISO\CANdo AUTO device status is displayed in the fifth\sixth panel of the status bar. The status is retrieved from the device on starting the application & then every second whilst CANdo is running.

The CANdo\CANdoISO\CANdo AUTO device status contains the following fields -

· Product description
· Serial number
· Hardware version
· Software version
· Status description or code

The status is displayed in descriptive text if there is no fault or a single fault present. If there is more than one fault present, then a 2 digit hexadecimal code is displayed which represents a bit OR combination of the fault codes shown in the table below.
Code | Fault
01 | USB port receive message overrun
02 | USB port receive message invalid
04 | USB port receive message CRC error
08 | CAN receive message no data
10 | CAN receive message overrun
20 | CAN receive message invalid
40 | CAN transmit message overrun
80 | CAN bus error

Note : The fault codes are always displayed in hexadecimal format, regardless of the 'Numeric Base' selected in the 'Display Options'.

For example, 'Status 44' indicates both 'CAN transmit message overrun' & 'USB port receive message CRC error' faults present.


Overview

· CANdo\CANdoISO\CANdo AUTO device is a compact USB to CAN interface that allows a PC to communicate directly with an embedded CAN bus
· CANdo\CANdoISO\CANdo AUTO device is easy to install & use, deriving all necessary power from the USB port
· CANdo\CANdoISO\CANdo AUTO device fully supports the CAN Specification Version 2, by Robert Bosch
· CANdoISO device provides 500V galvanic isolation between the USB & CAN bus ports
· CANdo AUTO device provides 300V galvanic isolation between the USB & CAN bus ports
· The CANdo\CANdoISO\CANdo AUTO device firmware is flash programmable to allow for future upgrades & customisation
· An SDK is available to allow CANdo\CANdoISO\CANdo AUTO devices to be embedded in any Windows or Linux PC application written in a high level language


LED Indicators

The LEDs on the topside of the CANdo\CANdoISO device housing indicate the operating status of the device as detailed in the respective table below.
CANdo LEDs
LED State |  | Unit Status
Green System LED | Off | No power to unit
 | Flashing | System error
 | On constantly | System OK
Yellow CAN Bus LED | Mainly off | High CAN bus load
 | Flashing | CAN messages received/transmitted
 | On constantly | No CAN messages received or transmitted

CANdoISO LEDs
LED State |  | Unit Status
Blue System LED | Off | No power to unit
 | Flashing | System error
 | On constantly | System OK
Yellow CAN Bus LED | Mainly off | High CAN bus load
 | Flashing | CAN messages received/transmitted
 | On constantly | No CAN messages received or transmitted

The CANdo AUTO Module is a sealed unit that has no status LEDs.


Pinouts

The CAN bus connections on the 9 way 'D' type connector in the CANdo\CANdoISO housing are detailed below.

Pin No. | Signal
1 | N.C.
2 | CAN L - CAN bus low
3 | CAN GND - CAN bus ground
4 | N.C.
5 | N.C.
6 | N.C.
7 | CAN H - CAN bus high
8 | N.C.
9 | N.C.
N.C. - Not Connected

The CAN bus connections within the CANdoISO device are electrically isolated from the USB connector. The CAN bus & the USB ground connections within the CANdo device are electrically connected.

For pinout details of the CANdoISO Module & the CANdo AUTO Module, please refer to their respective datasheets.


Specification

CANdo Specification
Parameter | Min. | Typ. | Max. | Units
USB
USB supply voltage | 4.0 | - | 5.25 | V
USB supply current | - | 45 | 80 | mA
USB suspend current | - | 330 | 500 | uA
CAN
Bus output voltage - dominant state CAN Bus Low CAN Bus High | 0.5 2.45 | - - | 1.25 3.5 | V V
Bus output voltage - recessive state CAN Bus Low CAN Bus High | - - | 2.3 2.3 | - - | V V
Common mode range relative to GND | -4 | - | 16 | V
Transient voltage relative to GND | -25 | - | 25 | V
Short circuit output current | -250 | - | 250 | mA
Environmental
Operating temperature range | -10 | - | 50 | Deg. C
Storage temperature range | -40 | - | 85 | Deg. C
Mechanical
Enclosure dimensions | 65mm (L) x 35mm (W) x 15mm (H)
USB tethered cable length | 1.0 | 1.1 | 1.2 | m

CANdoISO Specification
Parameter | Min. | Typ. | Max. | Units
USB
USB supply voltage | 4.5 | - | 5.5 | V
USB supply current | - | 65 | 100 | mA
USB suspend current | - | 360 | 500 | uA
CAN
Bus output voltage - dominant state CAN Bus Low CAN Bus High | 0.8 2.9 | 1.2 3.5 | 1.5 4.5 | V V
Bus output voltage - recessive state CAN Bus Low CAN Bus High | 2.0 2.0 | 2.3 2.3 | 3.0 3.0 | V V
Common mode range relative to GNDISO | -27 | - | 40 | V
Short circuit output current | -110 | - | 110 | mA
Isolation
USB to CAN bus | 500 | - | - | V
Environmental
Operating temperature range | -10 | - | 50 | Deg. C
Storage temperature range | -40 | - | 85 | Deg. C
Mechanical
Enclosure dimensions | 65mm (L) x 35mm (W) x 15mm (H)
USB tethered cable length | 1.0 | 1.1 | 1.2 | m


Certification

The CANdo\CANdoISO device is CE marked to indicate compliance with the European Directive concerning Electromagnetic Compatibility (2014/30/EU) & RoHS the Restriction of Hazardous Substances (2011/65/EU as amended by 2015/863/EU) in electronic equipment. The manufacture of the CANdo\CANdoISO device is compliant with the REACH regulation (1907/2006).

To ensure compliance with the EMC directive the CANdo\CANdoISO\CANdo AUTO device has been tested according to the following standards.

· EN 55032 (Electromagnetic compatibility of multimedia equipment - Emission requirements)
· EN 55035 (Electromagnetic compatibility of multimedia equipment - Immunity requirements)
· EN 61000-6-2 (immunity, industrial interference immunity)
· EN 61000-4-2 (air discharge 8kV, contact discharge 4kV)
· EN 61000-4-3 (electromagnetic field compatibility 80MHz-1GHz, 10V/m)