PAPER TITLE:
“PORTABLE USB TO USB
DATA TRANSFER DEVICE USING MICROCONTROLLER”
B.OBULIRAJ
8124395522
ABSTRACT
A Flash Drive is a type of portable USB drive that stores
and transfers data located on your computer working similar to floppies in that
information can be stored and written on them. This device enables you to read,
write, copy, delete and move data from USB flash drives to your hard disk drive
and back again. USB interfaces are everywhere today, with low cost Flash memory
drives and all kinds of USB peripherals being readily available, but these are
very much focused on the PC market.
Attempts to make use of these peripherals
in the 8 and 16 bit embedded market mean that easy way to access the USB flash
drive without using PC. Compare peripherals using in PC market with this
system, it is ease to implement, reduced cost and minimum power consumption.
Here the heart of our system is AT89C51
microcontroller which does all the controlling activities and required
operations. Along with AT89C51 microcontroller we used USB host controller
which is the bridge between the AT89C51 microcontroller and USB flash drive.
USB flash drive has predefined file system like FAT32. In order to Data
transfer and access we were used the SCSI commands. We have used hardware
switches to decide what action to be performed (Read/Write). We have used LCD
to display the data/filename. To develop, test and debug this application we
used MP lab IDE which includes editor, compiler, Simulator and Debugger.
BLOCK DIAGRAM:
block description
: Usually
we use PC to transfer data from one USB device to another USB device. This
project is used to make the process simpler and easier. It is essential
everywhere.
This
project consists of Microcontroller, USB host controller, LCD display,
Oscillator, UART interface, Control keys, Battery.
USB HOST CONTROLLER:
The
USB host controller is used to detect the USB device and to send the signal to
the microcontroller. After getting commands from microcontroller, the USB host
controller automatically transfers the
data from one USB devices to another USB device through serial communication
(UART).
MICROCONTROLLER:
The
microcontroller accept the signal from the USB host controller and show the
acknowledgment to the LCD display. When the USB devices are detected the
microcontroller gives the commands to the USB host controller to select the
source and destination ports.
CONTROL KEYS:
The
two control keys are used to assign the source or destination ports. When the
source and destination ports are assigned, the datas are transferred from
source to destination.
LCD DISPLAY:
LCD
displays is 16x2 along with the LCD controller. 16X2 means 16 characters per
line and with 2 such line. A standard controller chip can receive data from a
microcontroller and communicate with the LCD. It consists of 3 control lines
and 8 data lines. The pins from LCD display 7 t0 14 is connected to port1 of
microcontroller. By this data
will be communicated between these pins and it will be displayed on the LCD
display.
OSCILLATOR:
The
oscillator is used to give the external clock signal to the microcontroller. Pin 18 and 19 are used
for external clock signals. The frequency range is 12MHz.
cIRCUIT
DIAGRAM:
UART INTERFACE:
The
UART interfacing is used to make communication between the microcontroller and
USB host controller. The communication between these two components is serial
communication.
CIRCUIT DESCRIPTION:
In AT89C51 microcontroller, it has
40 pins. In these 40 pins 10 and 11 pins are used for input and output. Pin 10
from port3 of microcontroller is connected to VDIP2 pin 14 for receiving the
data from VDIP2. Similarly pin 11 from
port3 of microcontroller is connected VDIP2 pin 16 for transferring the
data from VDIP2. The communication between these pins is a serial
communication. The port1 pins 1 to 8 are connected to the data pins 7 t0 14 on
LCD display. Pin 10 receives data from pin 14 of USB host controller, send an
acknowledgement on the LCD display. 8051 has on chip oscillator. Only the
frequency determining component to be connected externally. 8051 can work up to
12MHz.
AT89C51
MICROCONTROLLER:
The AT89S51 is a low-power, high-performance CMOS 8-bit microcontroller with 8K bytes of in-system programmable Flash memory. The device is manufactured using Atmel’s high-density nonvolatile memory
technology and is compatible with the indus-
try-standard 80C51 instruction
set and pinout. The on-chip Flash allows the program memory to
be reprogrammed in-system or by a conventional nonvolatile memory pro- grammer. By combining a versatile
8-bit CPU with in-system
programmable Flash on
a monolithic chip, the Atmel AT89S52 is a powerful microcontroller
which provides a highly-flexible and cost-effective solution to many embedded control applications.The AT89S51 provides
the
following standard
features: 8K bytes of Flash, 256 bytes of RAM, 32 I/O lines, Watchdog timer, two data pointers, three 16-bit timer/counters, a
six-vector two-level interrupt architecture, a full duplex serial port, on-chip oscillator, and clock circuitry.
In addition, the AT89S52 is designed with static logic for
operation down to zero frequency and supports two software selectable
power
saving modes. The Idle Mode stops the CPU while allowing the RAM, timer/counters, serial port, and interrupt system to continue functioning. The Power-down mode
saves the RAM con-
tents but freezes
the oscillator, disabling all other chip functions until
the next interrupt or hardware reset
Features OF AT89C51:
Ø Compatible with MCS®-51 Products
Ø 8K Bytes of In-System Programmable (ISP)
FlashMemory Endurance: 10,000 Write/Erase Cycles
Ø 4.0V to 5.5V Operating Range
Ø Fully Static Operation: 0 Hz to 33 MHz
Ø Three-level Program Memory Lock
Ø 256 x 8-bit Internal RAM
Ø 32 Programmable I/O Lines
Ø Three 16-bit Timer/Counters
Ø Eight Interrupt Sources
Ø Full Duplex USART Serial Channel
Ø Low-power Idle and Power-down Modes
Ø Dual Data Pointer
Ø Power-off Flag
Ø Fast programming time
ARCHITECTURE
OF AT89C51:
BATTERY:
A
'''nine-volt battery''', sometimes referred to by its original designation as a
'''PP3 is shaped as a rounded rectangular
prism and has a nominal output of nine volts. Its nominal dimensions are
48 mm × 25 mm × 15 mm ( standard 1604A). The PP3
appeared when portable (transistor radio|transistorized radio receivers) became
common, and is still called a "transistor" battery by some
manufacturers. The battery has both the positive and negative terminal on one
end. The negative terminal is fashioned into a snap fitting which mechanically
and electrically connects to a mating terminal on the power connector. The
power connector has a similar snap fitting on its positive terminal which mates
to the battery.
This makes battery polarization
obvious since mechanical connection is only possible in one configuration. The clips on the 9-volt battery can
be used to connect several 9-volt batteries in series. One problem with this style of connection is
that it is very easy to connect two batteries together in a short circuit,
which quickly discharges both batteries, generating heat and possibly a fire.
Multiple 9 volt batteries can be snapped together in series to create higher
voltage.
Inside
a PP3 there are six cells, either cylindrical (alkaline battery) or flat
(Zinc-carbon battery) type, connected in series. Some brands use welded tabs
internally to attach to the cells, others press foil strips against the ends of
the cells.
Connectors:The
connector (snap) consists of two connectors: one smaller circular (male) and
one larger, typically either hexagonal or octagonal (female). The connectors on the battery are the same as
on the connector itself -- the smaller one connects to the larger one and vice
versa.
Other
Battery: There are other nine volt batteries, such as PP7
and PP9. These date from the days of early (transistor radio) and are now less
common than PP3. In the days of (Vacuum
tube|valve) radios which used (battery (vacuum tube)|batteries designed
specifically for vacuum tubes), there was a nine volt (grid bias) battery which
had tappings for various voltages between 1.5 and 9.
Rechargeable (Nickel-cadmium
battery|NiCd) and (Nickel-metal hydride battery|NiMH) batteries have various
numbers of 1.2 volt cells. Lithium
versions use three 3.2 V cells - there is a rechargeable lithium polymer
version. There is also a Hybrio NiMH version that has a very low self-
discharge rate (85% of capacity after 1 year of storage).
LCD INTERFACING:
A liquid crystal display (LCD) is a thin, flat display device made up of any number of color
or monochrome pixels arrayed in front of a light source or reflector. It is
utilized in battery-powered electronic devices as it uses very small amounts of
electric power. LCDs with a small number of segments, such as those used in
digital watches and pocket calculators have individual electrical contacts for
each segment. An external dedicated circuit supplies an electric charge to
control each segment.
Figure2.11.
General Diagram Of LCD Display
CIRCUIT DIAGRAM:
Figure 2.12.A 16 Character x 2 Line
LCD Module
CIRCUIT
DESCRIPTION:
The
LCD panel's Enable and Register Select is connected to the Control Port. The
Control Port is an open collector / open drain output. By incorporating two 10K
external pull up resistors, the circuit is made portable for a wider range of
computers. The R/W line of the LCD panel is hard-wired into the write mode
which will not cause any bus conflicts on the data lines. Hence the LCD's
internal Busy Flag cannot tell if the LCD has accepted and finished processing
the last instruction or not. The 10k Potentiometer control.
VINCULUM USB HOST CONTROLLER
The VDIP2 module is an MCU to
embedded USB host controller development module for the VNC1L I.C. device. The
VDIP2 is supplied on a PCB designed to fit into a 40 pin DIP socket, and
provides access to the UART, parallel FIFO, and SPI interface pins on the VNC1L
device, via its AD and AC bus pins. All other Vinculum I/O pins are also
accessable. Not only is it ideal for developing and rapid prototyping of VNC1L
designs, but also an attractive quantity discount structure makes this module
suitable for incorporation into low and medium volume finished product designs.
The Vinculum VNC1L is the first of
F.T.D.I.’s Vinculum family of Embedded USB host controller integrated circuit
devices. Not only is it able to handle the USB Host Interface, and data
transfer functions but owing to the inbuilt MCU and embedded Flash memory;
Vinculum can encapsulate the USB device classes as well.When interfacing to
mass storage devices such as USB Flash drives, Vinculum also transparently
handles the FAT File structure communicating via UART, SPI or parallel FIFO
interfaces via a simple to implement command set. Vinculum provides a new cost
effective solution for providing USB Host capability into products that
previously did not have the hardware resources available. The VNC1L is
available in Pb-free (RoHS compliant) compact 48-Lead LQFP package.
Features:
Ø Uses F.T.D.I.’s VNC1L embedded USB
host controller I.C. device.
Ø Two vertically mounted USB ‘A’ type
socket to interface with USB peripheral devices
Ø Jumper
selectable UART, parallel FIFO, or SPI MCU interfaces.
Ø Single
5V supply input.
Ø Auxiliary
3.3 V / 200 mA power output to external logic.
Ø Program or update firmware via USB
Flash disk or via UART interface.
Ø VDIP2 module is supplied pre-loaded
with Vinculum VDAP firmware.
Ø Schematics, and firmware files
available for download from the Vinculum
website.
UART INTERFACE MODULE:
The
UART interface module controls the application’s physical communication with
the UART interface on the VNC1L. The files UART.c and UART.h manage the EUSART
interface of the PIC microcontroller and perform RTS/CTS flow control.
The code creates a software FIFO buffer for
data received by the PIC microcontroller from the VNC1L. An interrupt is
generated by the AT89C51 microcontroller each time a character is received and
this data is added to the FIFO buffer. The application can query the FIFO
buffer to determine if data has been received. Data is transmitted by the
AT89C51 microcontroller sequentially without the use of buffering. Flow control
is handled by the UART interface module to ensure data is sent only when the
receiving device is ready.
Each callable function in the UART interface
module is aliased using a pre-processor definition to allow the entire module
to be replaced by a functionally equivalent module for handling communications.
In the case of the VNC1L this may be an SPI or Parallel FIFO interface. The
calling application should only use the generic interface routine names and not
the UART-specific ones.
PROJECT SNAP:
ADVANTAGES:
Ø
The device size is compact.
Ø
It is very easy to handle.
Ø
It is operated by battery.
CONCLUSION:
Ø
This project is designed to transfer data from
one USB device to another USB device without using PC.
Ø
The device uses AT89C51 microcontroller has a
frequency from 0 to 24MHz.
Ø
The device works on the battery and also on the
power supply. It is of compact size, hence it is portable.
Ø
So it makes the data transferring between two
USB device simpler and easier.
great project....i would like to do it...please send me the details of it.
ReplyDeletethanks ... send mail id..
Deletegreat project....i would like to do it...please send me the details of it. please reply to cmohan.thakur@gmail.com
ReplyDeleteok ... i will send the project details...
Delete