USB Proj Report
USB Proj Report
Index
Sr.
Topic Page No.
No
1. Abstract 2
2. Innovation 4
3. Introduction 6
5. Components Selection 13
7. Applications 17
8. Work Plan 19
9. References 21
Page No. 1
Standalone USB Flash to USB Flash Data Transfer
1
abstract
Page No. 2
Standalone USB Flash to USB Flash Data Transfer
Abstract
The Computer has become an inseparable part of life for many people in the world. Its
innumerable uses have changed the life of many, not only in technical field but also in non
technical field. Moreover, now-a-days, with increasing use of the computer, people are
getting well versed with use of the peripherals that are associated with it. These peripherals
give additional features to the already existing functionalities of the computer, while some
enhance them. Along with the advancements in capabilities of the Computer, the
capabilities of these peripherals have also been improved, thus, making it simpler and more
user-friendly for the user. Gradually, using the computer has become a ‘child’s play’ in the
literal sense of the term. To make it even more simple, the ways by which these peripherals
are interfaced with the computer have also changed and improved. The central idea of this
project revolves around one such peripheral- the USB. This much user friendly device class
is actually recognized by its Connection type viz. the BUS; called the Universal Serial Bus.
It comprises of just four connection wires between the Host (Computer) and the Device,
governed by a set of rules called the Protocol. The aim of this project is to transfer data
remotely without using a computer, from one USB flash disk to another.
Page No. 3
Standalone USB Flash to USB Flash Data Transfer
2
Idea Innovation
(Literature survey with references)
Page No. 4
Standalone USB Flash to USB Flash Data Transfer
Literature Survey
A core team from Compaq, Hewlett Packard, Intel, Lucent, Microsoft, NEC and
Philips leading the development of the USB Specification, version 2.0, that has increased
data throughput by a factor of 40. This backwards-compatible extension of the USB 1.1
specification uses the same cables, connectors and software interfaces so the user will see
no change in the usage model. They will, however, benefit from an additional range of
higher performance peripherals, such as video-conferencing cameras, next-generation
scanners and printers, and fast storage devices, with the same ease-of-use features as
[1]
today’s USB peripherals . USB supports three bus speeds: high speed at 480
Megabits/sec., full speed at 12 Megabits/sec., and low speed at 1.5 Megabits/sec. The USB
host controllers in recent PCs support all three speeds [2].
The USB Host Controller is in charge of asking every USB device if it has any data
to send. Because of this topology, Device can not start sending data without being
prompted [4]. This justifies the need for a USB Host Controller and its Configuration
Page No. 5
Standalone USB Flash to USB Flash Data Transfer
3
Introduction
Page No. 6
Standalone USB Flash to USB Flash Data Transfer
Introduction
Numerous applications arise in the daily life of a common Computer user that he has to
transfer data from one USB Flash device into another, that too very quickly and on the go.
For this he has to first find a computer then wait for it to boot up, then plug in his device,
and then transfer the data. Different types and makes of USB flash devices are used now-a-
days. It is not necessary that all of these devices are supported by the computer and the
operating system and their device drivers are available and installed.
Carrying a computer or a laptop just for the sake of data transfer is not affordable these
days in the age when people want all devices to be handy. Moreover, transferring data via a
computer involves a lot of power to be wasted, since the computer has to be entirely
functional before it can transfer data.
Also, the threat of viruses and malware has made the life of common computer users all
the more complicated. These viruses get activated as soon as the device is plugged into the
system and get copied along with other data from one flash device into another.
Our project here can provide a valuable solution to all problems faced by person in
above situations. Our aim is to build a small and handy device to transfer data from one
USB Flash device to another.
Page No. 7
Standalone USB Flash to USB Flash Data Transfer
Inside USB:
As mentioned above, the connection comprises of four Connecting Lines viz.
1. VCC 3. D+
2. D- 4. Ground
The VCC and Ground are the power supply signals to the device. D+ and D- are the
data lines through which actual data transfer takes place. Both D+ and D- are bidirectional
lines, both carrying data in a single direction at a time and data is modulated into
differential voltage levels to be transferred over them. The directions of D+ and D- are
reversed in TDM manner to transmit and receive data. It is a connectivity with peer-to-peer
communication.
Page No. 8
Standalone USB Flash to USB Flash Data Transfer
Variants:
Low Speed has data rate of 1.536Mbits/s, Full Speed has 12Mbits/s, High Speed has
480Mbits/s, Super Speed has 5Gbits/s
Components:
The host is a PC or other computer that contains a USB host
controller and a root hub. The host initiates all transfers. The host controller
formats data for transmitting on the bus and translates received data to
a format that operating-system components can understand. The host
controller also performs other functions related to managing
communications on the bus. The root hub has one or more connectors
for attaching devices. The root hub, in combination with the host
controller, detects attached and removed devices, carries out requests
from the host controller, and passes data between devices and the host
controller.
The host controller creates Endpoints in the device. Endpoints are
buffers or small parts of memory used to send data to, or receive data
from. It also establishes connection called Pipes which are virtual wires
for transfer of data. A maximum of 128 devices can be connected in
cascade theoretically.
There are 4 types of data transfers- Control used for configuration
and handshake, Bulk used for huge data exchange like a file copy,
Interrupt used for small information exchange, and Isochronous is used
when acknowledgement is not needed like in case of video camera.
Page No. 9
Standalone USB Flash to USB Flash Data Transfer
4
Block diagram & Description
Page No. 10
Standalone USB Flash to USB Flash Data Transfer
Block Diagram
Page No. 11
Standalone USB Flash to USB Flash Data Transfer
Page No. 12
Standalone USB Flash to USB Flash Data Transfer
GPIO Ports:
These may or may not be present on the USB host controller. They can be used
sometimes for communicating with peripheral devices and for General Purpose I/O ports
functions.
Command Monitor:
Communicating with and controlling the Host Controller is achieved by sending
instructions to the command monitor and interpreting the results. Command monitor is a
firmware like Operating System. The command monitor provides an interface which can be
utilised by a microcontroller to read and send data. A prompt is returned when the Host
Controller is ready to execute a command. Status and error information is returned after a
command has completed and event notifications are relayed to the monitor.
3) Microcontroller
The Host controller has to be sent commands to. These commands are in the form
of series of bytes that have to be sent over the Txd and Rxd lines serially. This work is done
by the Microcontroller. It can also be used to program the Host controller. It is also
required for interfacing the user interfaces.
Firmware Functions:
The firmware on the microcontroller will be function to first take inputs from the
user via the keypad routines. It will also be responsible for functions such as detection of
devices and waking system from sleep, entering power saving mode, handling of the
monitor display routines, monitoring responses coming from Host controller and taking
actions etc.
Command Lookup Table:
This is an array of bytes stored in the data memory of Microcontroller. A pointer
used to access this memory array depending upon the commands given by the user or the
relative action to be taken depending upon the status.
GPIO:
It is necessary for interfacing of keypad and the display to the microcontroller.
Page No. 13
Standalone USB Flash to USB Flash Data Transfer
5
Component selection
Page No. 14
Standalone USB Flash to USB Flash Data Transfer
Component Selection
Along with these features, VNC1L has some other features that make it most suitable for
the application.
Page No. 15
Standalone USB Flash to USB Flash Data Transfer
Page No. 16
Standalone USB Flash to USB Flash Data Transfer
6
Circuit schematic
& explanation
Page No. 17
Standalone USB Flash to USB Flash Data Transfer
Page No. 18
Standalone USB Flash to USB Flash Data Transfer
Explanation
1). VNC1L USB Host Controller
The 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.
Vinculum 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.
Reducing the code overhead of the core allows much more functionality to be squeezed
into the on-chip e-flash memory.
The DMA controllers are controlled automatically by hardware and there is no need
for developer to configure or use them manually at the time of using the IC in projects [3].
Page No. 19
Standalone USB Flash to USB Flash Data Transfer
Page No. 20
Standalone USB Flash to USB Flash Data Transfer
7
applications
Page No. 21
Standalone USB Flash to USB Flash Data Transfer
Applications
This type of a device can be useful in the day to day life of the common computer
user. Hen a person uses a USB Flash Disk to store his data, there come situations when he
has to transfer this data from one Flash Disk to another very frequently.
A device like this can come very handy at such times. Further applications include:
Quick and easy access to device
Easy to carry
Low power consumption
Easy to use
Plug and go functionality
Used wherever USB data has to be transferred
Page No. 22
Standalone USB Flash to USB Flash Data Transfer
8
Work plan
Page No. 23
Standalone USB Flash to USB Flash Data Transfer
Page No. 24
Standalone USB Flash to USB Flash Data Transfer
Page No. 25
Standalone USB Flash to USB Flash Data Transfer
9
References
Page No. 26
Standalone USB Flash to USB Flash Data Transfer
Books Referred:
Websites Visited:
www.usb.org
www.ftdichip.com
• Document Reference No.: FT_000006
Vinculum Firmware User Manual Version 2.05
• VNC1L Datasheet Version 0.95
• Document Reference No.: FT_000159
Migrating Vinculum Designs From VNC1L to VNC2-48L1A
Application Note AN_118 , Version 1.2
• VDAP - Vinculum VNC1L Disk and Peripheral Interface Firmware
Datasheet Version 1.07
www.everythingusb.com
http://en.wikipedia.org/wiki/Universal_Serial_Bus#cite_note-0
http://www.microchip.com/stellent/idcplg?
IdcService=SS_GET_PAGE&nodeId=2896
Refrences:
[1]. A Technical introduction to USB 2.0, www.usb.org- white papers
[2]. USB Complete by Jan Axelson, 3rd Edition, Page No. 5
[3]. FT_000138, Vinculum-II Embeded Dual USB Host Controller IC Datasheet
Version - 1.1
[4]. Linux Device Drivers, USB Drivers, Page No. 327
Page No. 27
Standalone USB Flash to USB Flash Data Transfer
Page No. 28
Standalone USB Flash to USB Flash Data Transfer
10
Demonstration strategy
Page No. 29
Standalone USB Flash to USB Flash Data Transfer
Demonstration Strategy
Page No. 30