Description of Controller Area Network
CAN communication bus use for high reliable data transfer and device control in
important or dangerous equipments. This standard provides a very low probability
of data transmission errors, below 4,7x10-11.
The adapter was designed to manage of simple remote devices or sensors,
transfer control commands or reading measured parameters. Therefore, to speed
up exchange rate of data stream, is not supported the standard CANopen protocol
or others complex. The main requirement was to send short messages between the
computer and devices, or high-speed realtime data stream. If you need have more
advanced functionality, it is possible increase by reprogram the adapter
hardware to your own code. You can do this, using JTAG connector.
Programming details can be found in the documentation for the device based
• Full CAN 2.0A/2.0B, 11/29-bit ID
• Exchange rate: 10kbps to 1Mbps
• Exchange distance max: 10kbps to 6.7km
• Opto-Isolated CAN channels: 1
• USB connector: 2.0 type B
• CAN bus connector: AMP2178710-4
• USB driver support from FTDI
• Based on microcontroller: AT90CAN128
• Powered by a USB port on your computer
• Isolated DC/DC: +5v 80mA
• Plastic housing: 75mm x 24mm x 9mm
The device uses a hardware USB FIFO chip from FTDI. This solution guarantees
that the adapter will work on any operating system and always have fresh and
error-free drivers. You do not need to think about support and
update the driver yourself. You will be able to compile and use your
applications for this multitude of operating systems.
You can see the OS list on the FTDI website.
Connect the adapter and the remote device with a 3-wire cable.
The adapter pins: CAN-H, CAN-L and GND must match the same pins on the device.
Use the demonstration programs for Windows to get started.
Connect the adapter to your computer and install the USB driver.
Open the folders with the demo application and run the *.exe file.
The program should automatically detect the adapter and notify you.
Configure the same baud rate in the adapter and device settings.
The default setting is 500kbps. Press the command buttons to try to send a
command or read data from the remote device.
The user application for working with CAN bus use
API function calls
You can organize communication with a remote devices quite simply.
For more details, see application examples in the attached files.
The candll library provides access to USB-CAN adapter from user application.
Support automatic detection of adapters and dynamic USB-Hotplug,
if the user pulls the USB device out of the port, this does not lead to
the crash of the user process.
Call the function CAN_Setup_Dialog()
show the dialog for manual
configuration of the USB-CAN adapter parameters. Search and selection of the
necessary adapter, forced setting of the exchange rate with remote devices.
Remote devices can use the automatic baud rate detection procedure,
if your program in the device is smart enough. But it is better to use the
manual speed setting, it is much more reliable.
The call function CAN_ISP_Dialog()
show the configuration and wirmware
update of the remote device. In this dialog you can get and view the list of
all connected remote devices. Individually rename the device or change its
ID for a more comfortable and human-readable device network organization.
The built-in firmware programmer (DFU) allows you to remotely update the
firmware without dismantling the remote devices.
Follow the prompts of the DFU-programmer for the correct firmware update.
How to integrate dll with user application
can be easy attached to user application by any
Please open and look source code examples.
Check out the CAN control project of the remote servo machine.
The controller controls two machines at the same time.
A total of 255 nodes can be connected on one bus.
Servo CAN controller
How To Buy
For international buyers, we accept payment via PayPal
. In Singapore,
use any convenient payment method. Send us a message for arrangements via the
contacts at the bottom this page or form:
Fully assembled, ready to use: