Communication interfaces
TLDR: SWtools supports various communication interfaces. Your system has to have support for the one you like. The design of the interface drivers was done with emphasizing low-level, conection-less, plug-and-play style of operation.
You can connect to the device using multiple interfaces. Please check your device's datasheet regarding what is available. Also, different interfaces have different specifics (e.g. USB is more prone to interference, CAN requires a specific hardware, etc). Each interface driver is held in a shared library (.dll on Windows) and linked by the tool to communicate with the device. Each interface driver has a dedicated format of option string.
Interface name | physical | topology and features |
---|---|---|
usb | USB | 1:n (multiple devices can be connected to a single PC as long as they have different addresses) |
kvaser | CAN | 1:n (multiple devices can be connected to a single bus as long as they have different addresses, multiple Kvaser channels/dongles can be used) |
umsg | Serial port | 1:1 note that ASCII stream service of the device is available through a generic COM/tty terminal as well |
fwd | logical (use your device as a gateway/proxy for another device) | 1:n (depends on the forwarded interface) This is a logical interface driver (needs to load another, physical interface driver to establish a physical link to the gateway device) |
bt | Bluetooth | 1:1 requires Bluetooth pairing |
udp | UDP/IP | 1:n requires reachable networking |
usbdk | USB | deprecated |
dmsg | SWD/JTAG | deprecated |
USB
To communicate with a controller during operation, you must first connect the controller to a power source (battery) and then connect the USB. Reverse order only leads to activation of the processor without power stage, the driver layer will not initialize (readings might be zero ...)
opt string format
- use the opt string to specify the match requirement for the socket physical location (e.g. Port#0001.Hub#0004)
- use 'LOCATION' to print the physical location strings of all connected devices
- add (*) at the beginning to reset the device upon init
- add (!) at the beginning to proceed without a successful device init
- add (~) at the beginning to force single-device mode
For most common cases, leave the opt string empty.
Windows driver
the siliXcon USB interface driver is automatically deployed by the installer. Set the if string (e.g. in LaunchPad) to usb
. The driver supports multiple devices, as long as they have different logical addresses. Each time you plug a siliXcon device, you should be able to see it in your Device Manager:
Kvaser CAN
Kvaser CAN is a hardware converter manufactured by Kvaser http://www.kvaser.com/.
Other CAN-to-USB converters may be supported on request.
opt string format
- Use the opt string in one of the following formats: 'conf' OR 'port,conf' OR 'position,port,conf' to specify:
- conf as the msgconf value; (see YOS
msgconf
command) - port as the Kvaser CAN port
- position as the kvaser CAN device slot position.
- conf as the msgconf value; (see YOS
- Use 'LOCATION' to print the physical location strings of all connected devices.
- Add (!) at the beginning to skip the init device presence check.
msgconf value | bus speed |
---|---|
1 | 2 Mbit/s |
2 or empty | 1 Mbit/s default CAN speed for siliXcon devices |
4 | 500 kbit/s |
5 | 400 kbit/s |
8 | 250 kbit/s |
10 | 200 kbit/s |
16 | 125 kbit/s |
20 | 100 kbit/s |
- opt = "" (empty string) - Default configuration - 1000kbit/s
- opt = 0,4 - 500kbit/s, port 0
Note that the msgconf value may encode other bus parameters, such as timings (sampling points, SJW), selection of CAN FD vs CAN standard, etc. Please contact siliXcon for more details.
Windows driver
The kvaser driver is automatically deployed by the Windows installer. In case CAN hardware is inserted for the first time, Windows may try to find and install device drivers, this will fail and the process ends up with a pop-up window 'Device Not Recognized'. In such a case, please reinstall Kvaser drivers manually.
After installation, the device manager shows the new device group. You should be able to see your converters once plugged into the PC. Set the the if string (e.g. in LaunchPad) to kvaser
and opt string to the channel number (usually, 0
, or a number that reflects the CAN channel, depending on the kind of hardware you use or if you have more kvaser converters simultaneously).
UART (umsg)
On top of the UART character stream, siliXcon device employs a binary message carrier layer, called umsg
. It is designed to transfer binary packets and to co-exist with the ASCII input and output.
to reach the YOS/Shell via serial interface (UART), any terminal emulation program can be used (such as TTY, puTTY, CoolTerm, etc). Automated process control communication in the ASCII (human-readable) form can be also used. All PC programs based on ASCII serial communication (terminal emulators) require a computer with a serial port. If you do not have a serial port, the common practice is to use USB-to-UART bridge (for example bridges based on chip Silicon Labs CP201x).
opt string format
"[COM port number] optionally followed by a comma and [msgconf value]"
msgconf value | baud rate |
---|---|
8 | 1200 bps |
9 | 2400 bps |
10 | 4800 bps |
11 | 9600 bps |
12 | 19200 bps |
13 | 38400 bps |
14 | 57600 bps |
15 | 115200 bps default CAN speed for siliXcon devices |
16 | 230400 bps |
17 | 460800 bps |
18 | 921600 bps |
- opt = "COM3" Use UART on COM3 with default configuration (115200 bps)
- opt = COM3,11 - Use UART on COM3 with 9600 bps
Note that the msgconf value may encode other bus parameters, such as frame configuration: parity, no of stop bits, etc. Please contact siliXcon for more details.
Windows driver
Once you have the device connected to a serial port, please check the number of your port in the Device Manager. Set the if string (e.g. in LaunchPad) to umsg
and opt string to the COM number (e.g. COM3
). Optionally, you can set COM parameters, e.g. COM3,15
where 15 is the msgconf value (see YOS msgconf
command).
FWD
is a logical interface driver. It provides a gateway interface that can be used to connect to a device through another device. For exp. you can use any siliXcon device with CAN connected to your PC through USB as the CAN gateway and reach all other devices on the CAN.
For details about configuring the gateway and starting forwarding, please contact siliXcon.
opt string format
- the string is comprised of 3 semicolon-separated sections:
- gateway's interface (selection of interface and msgconf value inside the gateway to forward)
- host interface (selection of local interface driver and its options to reach the gateway)
- gateway addressing (the address and other link strings to reach the gateway)
- full string: 'modeflags:msgconf;hostlib:options;address:local:mesh'
- individual sections may be left empty (as long as the colons and semicolons are kept)
- add (~) at the beginning to disable transmit acknowledge
Bluetooth
siliXcon device with Bluetooth first needs to be paired with your PC. Please follow device-specific pairing instructions. Our device identifies itself using its basename, vendor and address:
Once pairing is done, set the if string (e.g. in LaunchPad) to bt
.
opt string format
- use the opt string to specify a match for the device name (e.g. '[siliXcon]')
UDP/IP
set the if string (e.g. in LaunchPad) to udp
.
opt string format
- use opt string to specify the IP address and port (e.g. '192.168.1.10:6666')
UDP support is preliminary. Please contact siliXcon for further information.