In computing, CAN interface may be a
shared boundary across the two separate parts of a system conversation
information. The conversation can be done between computer hardware,
software, humans, peripheral devices and combinations of these. Some
hardware devices of a computer like a touchscreen because; a touch screen can share and receive information through the interface, whereas other devices like a microphone, mouse are only one way. Interfaces are mainly in two types
such as hardware interfacing and software interfacing. Hardware
interfaces are used in many of the devices like input, output devices,
buses and storage devices. This CAN interface can be defined by the
logic signals. A software interface can be available in a wide range at
different levels. An OS may interface with different parts of the
hardware. The programs or applications on the OS may need to communicate through streams and in object oriented programming, objects in any application need to communicate through methods.
CAN BUS
The CAN bus was developed in the year
1983 at Robert Bosch GmbH. This protocol was released in the year 1986
at the SAE Congress (Society of Automobile Engineers) in Detroit,
Michigan. The first CAN protocol was
produced by Philips and Intel and released on the market in the year
1987. But the BMW series-8 was the first vehicle to feature a CAN
protocol based multiplex wiring system.
The full form of the CAN is a controller area network. It is a one kind of vehicle bus mainly designed to allow various devices and microcontrollers
to interact with each other without a host computer. This protocol is
based on a message and mainly designed for electrical wiring in
automobiles. Bosch published various versions of the CAN and in the year
1991 the latest CAN 2.0 was published.
CAN consists of two parts mainly such as
part A and Part B where, Part A is an 11-bit identifier and it is in
the standard format. Part B is a 29 bit identifier, and it is in the
extended format. A CAN which uses 11-bit identifiers are called AN 2.0A
and a CAN which uses 29-bit identifiers it is called CAN 2.0B
Interfacing of CAN to USB
Interfacing of CAN to USB is a simple
device, used to monitor the CAN bus. This device uses the NUC140LC1CN 32
K Cortexes-M0 microprocessor. It has both CAN and USB peripherals.
The main features of interfacing CAN to USB are
- It is very simple to design
- Well-matched with the protocol LAWICEL CANUSB
- Exposing itself as a device like FTDI USB
- It supports CAN 2.0B 29-bit and CAN 2.0A 11-bit frames
- It consists of an internal message buffer (FIFO CAN)
- It powers from USB port
- For firmware updates a mass storage device (Flash-resident USB) is used
Schematic Diagram
The circuit configuration of the
Interfacing of CAN to USB is shown below. A CAN transformer is used to
enable the NUC140 CAN device to interact with the CAN bus. The chip
TJA1051T solves the purpose from NXP. The microprocessor NUC140 is
capable of working with a 5V power supply; there is no necessity of an
extra 3.3V voltage regulator. This convenient arrangement makes a simple
task implementing CAN to USB interface.
The circuit is built with three status LEDs namely D1, D2 and D3.
- Here the status of the D1 diode says that USB connected to the host
- Here the status of the D2 diode says that activity of CAN bus
- The errors of the CAN bus can be indicated by D3 diode
The NUC140 microprocessor doesn’t have
an integrated boot loader and the best way to program is only used
Nuvoton ICP programmer and ARM
SWD (Serial Wire Debug) interface. If the boot loader is previously
dumped with a program it could be triggered. Connecting the JP1 before
powering the interface will trigger the boot loader.
Boot Loader
The flash memory of the NUC140LC1
microprocessor is separated into two sections. They are executing user
program code and boot loader. The size of boot loader and executing user
program is 4K and 32K. Here the mass storage device(MSD) boot loader
from Nuvoton is used to build a fully functional USB boot loader. The
boot loader will activate by connecting a JP1 jumper. So finally, a
removable drive must be visible in the host file system with a 32KB
size. Just copy and paste the update of CAN to USB firmware to the boot
loader drive. Disconnect the USB cable, disconnect the jumper and plug
it in again. The update of new firmware should now be running.
CAN to USB Interface Programming and NuTiny-SDK-140
Programming of microprocessor
NUC140 needs Nuvoton ICP programming application and Nuvoton’s Nu-Link
programmer. But here the NuTiny-SDK-140 (NUC140 demo board) is available
from Digi-Key. It consists of two parts such as Nu-Link programmers and
the part with NUC140 chip. This board is even perforated to separate
the part of the Nu-Link. Actually, you can design this device
exclusively around the NUC140 demo board, the only an extra CAN
transceiver chip will be essential.
Thus, this is all about CAN interface with USB includes, CAN bus, interfacing CAN to USB, schematic diagram, boot loader
and NUC140 microprocessor. We hope that you have got a better
understanding of this concept. Furthermore, any queries regarding this
article please give your valuable suggestions by commenting in the
comment section below. Here is a question for you, what are the
applications of of CAN interface?
No comments:
Post a Comment