Publication date: 08 April 2008
USB interfaces of course dominate the PC industry, driving up volumes and driving down the cost of implementing a standard link. But this technology has not made significant inroads into embedded and industrial designs, partly because of the complexity, cost and power consumption. No designer wants to put an embedded PC into a design just to take advantage of the USB ports.
Many of these designs use devices such as the PIC family of controllers from Microchip are widely used with a broad range of memory densities and peripherals, but they lack the interfaces, resources and performance to incorporate a USB host controller.
The Vinculum controller IC provides the interface between the PIC as the system controller and a USB2.0 full speed port. This allows a USB flash memory drive connection, for example to be accomplished with a minimum of implementation time and overhead.
This opens up a range of uses for a USB port and USB flash drives in embedded and industrial applications that were not previously possible and drives more innovative uses of industrial equipment.
Putting a USB interface on industrial equipment changes the way equipment is used. This has already been done on industrial ovens that are used in a large chain of fast food outlets. The recipes with timings are held on a USB stick and plugged into the ovens, giving a range of options that are easily selected.
The value of this approach is that the instructions can be updated easily to support new menu options, downloading the new recipes from a PC rather than having to link all the ovens to the internet or have a complex updating process.
The USB port can also be used for security. It may seem strange to have a USB port on a washing machine, but for commercial machines in launderettes, a USB flash drive is used to provide an application that monitors blank ‘slugs’ of metal that are used in place of coins to defraud the operator. The software is run directly from the USB stick via the USB port.
This allows the launderette operator to keep up with the latest technology to tackle the fraudsters with the minimum of effort. It also allows the machine manufacturer to offer additional value throughout the lifetime of the equipment.
Another application is in the industrial gaming market to add a USB port to fruit machines. This allows the person collecting the cash from the system to easily download the usage data to a memory stick and upload new settings. This can include new security settings or new settings to profitability of the equipment.
All of this has to be done with the minimum of extra cost and power consumption to fit into existing designs, while still maintaining compatibility with all the existing USB2.0 high speed peripherals.
This is not an easy thing to provide with the simple 8bit and 16bit embedded microcontrollers that are used to control the interfaces in many industrial designs.
The Vinculum USB controller is based around a custom processor core with twin direct memory access (DMA) engines to accelerate data transfers and a 32bit numeric co-processor to optimise the calculations for the file system - all in a single chip with 64Kbytes of embedded flash program memory and 4Kbytes of internal data SRAM.
The controller is specifically targeted at the embedded USB controller market and requires a minimum of external support components. One key feature of the Vinculum core is that its code length is significantly reduced compared with common MCU cores, allowing more functions to be squeezed into the on-chip embedded Flash memory.
Such features are complementary to a PIC-based embedded system. The schematic of such a system is shown in figure 1, using Vinculum to link a small PIC MCU to a USB “A” connector and hence to a USB flash drive
The system is controlled by the firmware on the PIC, with the transfers controlled by instructions issued by the PIC and interpreted by the standard firmware on the Vinculum.
For low power applications the VNC1L can be put into a 2mA sleep mode when not required, and this design also includes a bi-colour status LED indicator to show a successful link between the USB Flash drive and the file system.
The ViNC1L is programmed with standard firmware, called VDAP (Vinculum Disk and Peripheral) that interprets the commands coming from the PIC. These VDAP commands are DOS-like instructions such as DIR, RD and WR. The command set also supports single byte hex commands which are more suited to control by a microprocessor.
VDAP commands are included in the PIC firmware to control access to the USB flash drive. A typical sequence would be to create a file, read / write data to the file and then close the file.
FTDI’s Vinculum VNC1L provides an easy to use, easy to program interface between a low cost microcontroller and a USB 2.0 low/full speed peripheral. The DOS-like command set allows a data transfer routine to be written and debugged easily within the microcontroller environment, and the simple layout provides a low cost USB Host implementation for embedded systems.
This allows low cost, ubiquitous USB flash drives as the data storage media for the system, as well as being able to provide software upgrades in the field. Though outside the scope of this article, the VNC1L device can also be used to connect many other USB peripherals besides mass storage devices.
The Vinculum IC also adds less than 10% of the power budget of the USB interface and even less to the power budget of the system, USB2.0 Host Controller ports to be added to portable devices in an easy and straightforward manner.
Fred Dart is Managing Director of Future Technology Devices International (FTDI) in Glasgow. The VDAP firmware and a document describing the complete command set can be downloaded from FTDI’s Vinculum web site (http://www.vinculum.com).
Future Technology Devices International (FTDI) specialise in the design and supply of silicon and software solutions for the Universal Serial Bus (USB). FTDI offer a simple route to USB migration by combining easy to implement IC devices with proven, ready to use, royalty-free USB firmware and driver software.
The company’s single and multi-channel USB peripheral devices come with an easy to use UART or FIFO interface. These popular devices can be used in legacy USB to RS232/RS422 converter applications or to quickly interface an MCU, PLD, or FPGA to USB. A wide range of evaluation kits and modules are available to evaluate FTDI’s silicon prior to design-in.
Vinculum is FTDI’s brand name for a range of USB Host / Slave Controller ICs that provide easy implementation of USB host controller functionality within products, and use FTDI's tried and tested embedded firmware to significantly reduce development costs and time to market.
FTDI is a fabless semiconductor company headquartered in Glasgow, UK, and has regional offices in Oregon, USA, and Taipei, Taiwan. More information is available at http://www.ftdichip.com