USB TO USB Data Transfer without PC


Published on

International Journal of Engineering Research and Development is an international premier peer reviewed open access engineering and technology journal promoting the discovery, innovation, advancement and dissemination of basic and transitional knowledge in engineering, technology and related disciplines.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

USB TO USB Data Transfer without PC

  1. 1. International Journal of Engineering Research and DevelopmentISSN: 2278-067X, Volume 1, Issue 6 (June 2012), USB TO USB Data Transfer without PC Aniket Gundecha1, Milap Patel2, Saurabh Mehta3 1,2,3 E&TC Department, Maharashtra Academy of Engineering, Alandi (D), Pune.Abstract—The Computer has become an inseparable part of life for many people in the world. Its innumerable uses havechanged the life of many, not only in technical field but also in non-technical field. Moreover, now-a-days, withincreasing use of the computer, people are getting well aware of the peripherals that are associated with it. Theseperipherals 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 beenimproved, thus, making it simpler and more user-friendly for the user. Gradually, using the computer has become veryeasy these days. To make it even more simple, the interfacing of the peripherals with the computer have also changed andimproved a lot. The main idea of this project is related to one such peripheral the USB. This user friendly device isactually recognized by its Connection type- the BUS; called the Universal Serial Bus. It comprises of just four connectionwires between the Host (Computer) and the Device, governed by a set of rules called the Protocol. The aim of this projectis to transfer data without using a computer, from one USB flash disk to another.Keywords— USB, FAT, Flash disk, NTFS, VNCL1 I. INTRODUCTION Several data and application are developed daily which common computer user has to transfer from one USBFlash device into another, with the minimum wastage of time. For this user has to first find a computer then wait for it toboot up, then plug in his device, and then transfer the data. Different types of USB ash devices are used now-a-days. It isnot necessary that all of these devices are supported by the computer and the operating system and their device driversare available and installed. Carrying a computer or a laptop just for the sake of data transfer is not affordable these days in the age whenpeople want all devices to be handy. More- over, 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 hasmade the life of computer users more complicated. These viruses get activated as soon as the device is plugged into thesystem and get copied along with other data from one ash device into another. Our project here can provide a valuablesolution to all problems faced by person in above situations. Our aim is to build a small and handy device to transfer datafrom one USB Flash device to another.The device will have following features:- 1. Small, lightweight and handy device 2. Powered by 9V battery 3. Support for all USB Flash devices formatted with FAT32 file System 4. Support for USB 2.0 5. Plug and Go function1.1 Universal Serial Bus (USB) USB was initially designed to be an interface for communicating with many types of peripherals without thelimits and frustrations of older interfaces. Every recent PC includes USB ports that can connect to standard peripheralssuch as keyboards, mice, scanners, cameras, printers, and storage drives. It is a very useful protocol designed for acomputer to communicate with almost any type of peripheral.Some of its benefits for users include: 1. Single Interface for many devices. 2. Considerably high Data rate. 3. Automatic Configuration. 4. Easy connection. 5. Hot Pluggable. 6. No user Settings. 7. Frees Hardware Resources for other devices. 8. No extra Power Supply needed. 9. Low Cost and Low Power consumption.Benefits for Developer include:  Versatility. 25
  2. 2. USB TO USB Data Transfer without PC  Operating system support.  Peripheral support.  Open source support available online.1.1.1 Inside USBAs mentioned above, the connection comprises of four Connecting Lines viz. 1. Vcc 2. D- 3. D+ 4. Ground The VCC and Ground are the power supply signals to the device. D+ and D- are the data lines through whichactual data transfer takes place. Both D+ and D- are bidirectional lines, both carrying data in a single direction at a timeand data is modulated into deferential voltage levels to be transferred over them. The directions of D+ and D- arereversed in TDM manner to transmit and receive data. It is connectivity with peer-to-peer communication. Table I: USB Variants Version Introduced Supported Speeds Compatibility 1.0 January1996 Low Speed -- 1.1 September1998 Low speed, Full Backward speed 2.0 April2000 Low Speed, Full USB 1.1, USB Speed, High Speed 1.0 3.0 December2008 Super Speed USB 2.0 Low Speed has data rate of 1.536Mbits/s, Full Speed has 12Mbits/s, High Speed has 480Mbits/s, Super Speedhas 5Gbits/s[3]. II. LITERATURE REVIEW A core team from Compaq, Hewlett Packard, Intel, Lucent, Microsoft, NEC and Philips leading thedevelopment of the USB Speciation, version 2.0, that has in-creased data throughput by a factor of 40. This backwards-compatible extension of the USB 1.1 speciation uses the same cables, connectors and software interfaces so the user willsee no change in the usage model. They will, however, benefit from an additional range of higher performanceperipherals, such as video-conferencing cameras, next-generation scanners and printers, and fast storage devices, with thesame ease-of-use features as todays USB peripherals [1] [2]. 1. 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]. 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 cannot start sending data without being prompted. 3. This justifies the need for a USB Host Controller and its Configuration.2.1 Idea InnovationThe idea of this project was taken, looking at the problems faced in daily life of Flash Drive Users to transfer the datafrom one disk to another. Carrying a computer or a laptop just for the sake of data transfer is not affordable these days inthe age when people want all devices to be as small and handy as possible. Moreover, transferring data via a computerinvolves a lot of power to be wasted. There are numerous types of data transactions that are being carried out throughthese devices. However to operate these devices most of the times an operating system is required which calls for thehosts to be extremely complicated system hence accessing these devices requires complicated hardware, hence acontroller that can handle the data transfer and initiates the USB transactions was searched. III. IMPLEMENTATION DETAILS3.1 System Block Diagram The study of block diagram of any system greatly simplifies its design construction so as to understand theworking of the system. The study of the block diagram is very helpful to the designer. 26
  3. 3. USB TO USB Data Transfer without PC Fig. 1 System Block DiagramARM (LPC 2138): It is the heart of the system. It is important unit of the system because it reads data which weprogrammed and stored into its ROM, then it execute it and controls the display as well as Vinculum VNC1L EmbeddedUSB Host controller. When key is press it read the data from source pen drive and writes to destination pen drive [5][7].LCD Display: Frequently, a C program must interact with the outside world using input and output devices thatcommunicate directly with a human being. One of the most common devices attached to an ARM7 is an LCD display.Some of the most common LCDs connected to the ARM7 are 16x2 and 20x4 displays. This means 16 characters per lineby 2 lines and 20 characters per line by 4 lines, respectively. It displays events taken into microcontroller step by stepalphanumerically. So it is convenient us to know what is currently running in the system. It displays the start and finish ofthe data transfer.Host Controller (VNC1L): It recognizes the input peripheral as host or slave according to firmware loaded in it. The submodule physically interfaces with the USB flash drives and is responsible for converting raw data and information totheir proper NRZI encoding as specified by the USB technical specifications. Further-more, the sub module is capable ofencoding or decoding the incoming NRZI data from the USB flash drives and forwards it to their respective sub modulesfor further processing. It handles all types of transfer between source destinations. We have USB Host controller whichhas two independent USB 2.0 low speed/high speed USB Host ports. Individual ports can be configured as host or slave.USB Connectors: There are two types of USB connector are available in market, here we use a Type-A USB connectorwhich is more popular use in almost all application. Another reason to use it is USB flash drive has Type-A USB maleconnector.3.2 USB Host Controller IC - VNC1L To begin with, selection of the USB host controller IC is to be done. Host controllers can be found in market, intwo types viz. Dedicated IC for USB Host, Slave and device operations, and USB Host controllers included inmicrocontrollers. The second most important criteria to look for is the presence of two USB ports on the Host Controllerto avoid the use of buffer and extra hardware. One more feature to look for was support for FAT-32 file system includedhardwired on the Host controller to avoid complications in microcontroller code to decode it. A dedicated USB HostController from Vinculum was found- VNC1L. It has got following features over host controllers included on chip ofGeneral Purpose Microcontrollers:  Two independent USB 2.0 Low speed / Full speed USB Host / Slave ports  Entire USB protocol handled on the chip  8/32bit MCU core  Twin DMA controllers for hardware acceleration  64kB embedded Flash ROM Prog. Memory, 4kB Data SRAM  Interface to MCU / PLD / FPGA via UART/ FIFO/SPI interface  Upto 28 GPIO interface pins for data I/O and command monitor interface  3.3V operation with 5V safe inputsSelection criteria for VNC1L:  Twin Host Controllers inbuilt  Availability of Twin DMA controllers  Availability of ready VDAP  NCU- 32bit Numeric Co-processor Unit for handling of FAT32 file system  Handles entire USB protocol On Chip 27
  4. 4. USB TO USB Data Transfer without PC3.3 VNC1L Block DiagramFig. 2 VNC1L Block Diagram, This IC is works as USB host. It can interface with the ARM processor and with help of that we transfer data through one pen drive to otherUSB Flash Disk: These are source and target Devices. They will be connected to the USB Host Controller IC via theUSB interface. Both the devices can be accessed simultaneously. The memory on them is in the form of Flash which isaccessed by an on board hardware. These devices have also got protocol handling hardware included on device. Before making the devices available for use, the Operating system formats the device with a file format. FAT-8,FAT-16, FAT-32, NTFS, are some file systems available in Microsoft Operating Systems. Majority of USB Flashdevices are formatted in FAT-32 file system. There may sometimes be Partitions on the drive. Data encrypted with allabove formats can be accessed with an efficient Firmware on the USB Host Controller.USB Host Controller IC: This is a microcontroller which has an interface to connect a USB device. It has a CentralProcessing Unit of its own. The requirement here is of 2 USB ports. It is the main device that handles the USB protocoland does the jobs of the USB host. It may contain an Operating System and also device drivers to interact with the device.It will be responsible for creation of endpoints, establishment of pipes, initiating transfers, enumeration etc. We canpreferably look for capability like DMA so that CPU remains free while Data transfer [8]. IV. METHODOLOGY USB interfaces are everywhere today, with low cost ash memory drives and all kinds of USB peripherals beingreadily available, but these are very much focused on the pc market. Attempt however to make use of these peripherals inthe 8-and 16bit embedded market, and you find that implementation, cost and power consumption become majorconsiderations. Part of this is down to the embedded controllers that are used in such systems. Devices such as the LPC2138family of controllers from PHILIPS are widely used with a broad range of memory densities and peripherals, but theylack the interfaces, resources and performance to incorporate a USB host controller. In this example application, a VNC1L Vinculum controller provides the interface between the LPC2138 as thesystem controller and a USB2.0 full speed port. This allows a USB flash memory drive connection. Vinculum is specifically targeted at the embedded USB controller market and requires a minimum of externalsupport components. One key feature of the Vinculum core is that its code length is significantly reduced compared withcommon MCU cores. Reducing the code overhead of the core allows much more functionality to be squeezed into the on-chip e-flash memory. Using Vinculum to link a small LPC2138 MP to a USB A and USB B connector and hence to a USB flashdrive. Commands and data are sent via TXD (pin 6) to the VNC1L RXD (pin 32). VNC1L handles the FAT 12/16/32 filecreation and data storage on the USB flash drive communicating with the drive via USB2DM and USB2DP on pins 28and 29. Data is read from the flash drive via the same pins, and sent from the VNC1L TXD (pin 31) to the RXD (pin 5)of the LPC2138 for use by the system firmware. The system is controlled by the firmware on the LPC2138, with the transfers controlled by instructions issuedby the LPC2138 and interpreted by the standard firmware on the Vinculum. Whilst that is a simple description of thesystem, more is required to complete the design. The devices need power, crystals to control their clocks, and they needto be programmed. Using a 12MHz crystal on pins 61and 62 of the LPC2138 allows for higher baud rates of up to 28
  5. 5. USB TO USB Data Transfer without PC9600bits/sec in its UART interface as opposed to the maximum 9600 bits/sec achievable by using the internal 8MHzoscillator, thus improving the performance of the system. LPC2138 I/O pins10(RXD) and 11(TXD) are used by their firmware to simulate RTS/CTS handshake signalswith the VNC1Ls UART interface. The VNC1L is shipped as a blank device. It must be programmed (when in boot loader mode) with firmwarebefore use. It can be programmed either pre-assembly, using the VPROG-1 standalone programmer or programmed in-circuit via the UART interface. The VNC1L boot loader uses the UART interface to load new firmware into theVinculum Flash memory. To enable the boot loader, the PROG pin must be driven low and VNC1L must then be reset bydriving the RESET pin low then high. Run mode can be enabled by driving the PROG pin high and then resettingVNC1L by driving the RESET pin low then high. When VNC1L firmware is updated via a microcontroller with a UART, the microcontroller must be capable ofat least 115200 baud. The firmware can be upgraded in to the Flash memory via the UART interface or via a USBinterface. A 5V regulated PSU at 250mA is required, providing up to 200mA at the USB A connector, 25mA to powerthe VNC1L and 25mA to power the LPC2138 VNC1L requires a 3.3V supply which is provided by a 3.3V LDOregulator, and has 5V tolerant I/O pins which enable it to connect to the LPC2138 without using level shifters. For low-power applications the VNC1L can be put into a 2mA sleep mode when not required. To wake up thedevice, strobe the ring indicator pin ( pin 16) of the UART interface. If this is connected to the RXD line, as here, it canbe triggered by an incoming dummy command to wake up the device. This design also includes a bi-color status LEDindicator powered from pins 16 and 18. This indicates successful enumeration of the USB flash drive and access to thefile system. The VNC1L is programmed with standard firmware, called VDAP (Vinculum Disk and Peripheral) thatinterprets the commands coming from the LPC2138. These VDAP commands are DOS-like instructions such as DIR, RDand WR. The command set also support single byte hex commands which are more suited to control by a microprocessor[4][6]. For our project point of view we have to use VDFC firmware which enhances the transfer capabilities betweentwo BOMS type device further details about it explain below.VDFC Firmware: Figure demonstrates using the VNC1L to connect two BOMS devices using the VDFC Firmware.The monitor port allows access to either disk and the facility to copy between the disks. Fig. 3 VNC1L with source and target disks, Figure indicates how source and target disks are connected to VNC1L4.1 System Flow The USB Slave to Slave File Transfer Device is a device that facilitates file and folder/directory transfers fromone flash drive to another flash drive using the USB 1.1 interface without the need for a Personal Computer (PC) to act asmediator. Figure shows the system setup while figure shows the general block diagram of the system. The system allowsthe user to select files or folders/directories for copying from a source flash drive to a user selectable directory in thedestination flash drive. The device also supports a copy all function, which works the same way. Contents of the flashdrives are displayed in their 8.3 filename format thru a twenty character by four lines - sized dot-matrix character liquidcrystal display (LCD). The system is also able to check for identical le/folder/directory names and requests for a userconfirmation to either proceed and overwrite a file/folder/directory or not. In addition, the system is able to check if ther eis sufficient memory space for the file/folder/directory to be copied onto the destination flash drive; if not, the systemrequests the user to delete some files or folder/directories to free some memory in the destination flash drive. The usermay or may not opt to delete anything. 29
  6. 6. USB TO USB Data Transfer without PCFig. 4 System flow Diagram, Figure contains user block, USB Controller block, System memory, User Interface control and File system control blocks are present for entire operation4.2 User interface Controller Module This module is responsible for obtaining user input and displaying user requested information through an LCD.It consists of three sub modules namely the LCD Controller, Navigation and Screen Display Formatter. User input isreceived through this module; however only two out of the six buttons are interpreted and executed within the UserInterface Module. These buttons are the Left and Right navigation buttons whose function are to scroll through thedisplayed path or Long File Name (LFN) format of a file or directory. The input from the Up and Down navigationbuttons and Command Buttons 1 and 2 are converted to their corresponding command codes and are forwarded to theFile System Controller module for execution. All information to be displayed is received from the File System Controllermodule.4.3 File system controller The File System Controller is responsible for all file management processes and FAT file system access for thesystem. It mediates between the display/user interface and USB communications module. A large percentage of thesystems software is found in this module since it contains most of the systems core functions. Figure shows the blockdiagram. The major commands handled by the sub module include the up and down navigation buttons and the differentfunctions attributed to command button 1 and 2 (i.e., copy, delete, browsing through files/folders.) Fig. 5 User interface Diagram, It has LCD sub module, Navigation sub module, File system module etc. 30
  7. 7. USB TO USB Data Transfer without PC Fig.6 File system controller Diagram, It used for controlling different file transfer operations and files/folders access4.4 USB controller module The USB Controller module is responsible for starting-up the system, handling the packets, computation andchecking of error checking bits, packet encoding, conversion of packets from parallel to serial and vice versa and NRZIdecoding and encoding. This module accepts the commands to either read or write onto a USB ash drive as requested bythe File System Controller Module. Input from the USB ash drives is the result of an earlier request for data. Theserequests include content information (i.e. file names), actual content (i.e. files) or identification signals (i.e. the connectedUSB device is checked if it falls under the Mass Storage Class (MSC) or Human Interface Device (HID)). Block diagramis shown in figure. Fig.7 USB control module Diagram, to check all USB operation or process The module also governs the data that needs to be transmitted to the USB Flash Drives, as well as process andsend the results of the transaction to the File System Controller Module. In addition, the module also sends notificationsto alert the user of the status of the system or the operation (i.e. the status of a copy or delete command).4.5 Data Transfer Data transfer is unidirectional. That means that data can only be written, it cannot be read again. In contrast toother displays, a busy query is not necessary with this display. The clock-pulse rate of the SCL line can be up to 20 MHz,depending on the supply voltage. Fig.8 Data Transfer, It shows how data is transfer on LCD. In that CSI,SI and clock signals are present 31
  8. 8. USB TO USB Data Transfer without PC V. EXPERIMENTATION5.1 System Flowchart Fig.9 System Flowchart, This is giving us entire system working and how the system goes from one stage to other5.2 Components Used 1. ARM processor 2. USB host controller IC- VNC1L 3. Power supply unit 4. Computer interface 5. Graphical LCD5.3 Hardware Prototype 32
  9. 9. USB TO USB Data Transfer without PC Fig.10 Device displaying name of the project: ARM based data transfer system Fig.11Requesting to insert source and target pendrives Fig.12 Displaying transfer of data has been completed VI. RESULT ANALYSIS Problems are stepping stones towards success. Once we start working with the hardware we are bound to facesome obstacles in our way to reach our goal. While working on the hardware of the project we initially had opted for anARM board combined with the general purpose board. The idea was opted because we were new with the use of theVNC1l IC and so the method we opted was the try and error method. We opted the general purpose board so that we caneasily demount the components if something goes wrong. Also it was used so that future modifications could be madeeasier if required or necessary. We initially mounted all the circuit components related to the ARM board and so far thework was going as we had planned. The problem arised as we mounted the VNCL1 IC, the board became bulky and itbecame difficult for us to mount all the components that were to be interfaced between ARM and VNCL1. Size of the 33
  10. 10. USB TO USB Data Transfer without PCboard became the reason behind the bulkiness. We had to compromise with the spacing of the components and that madethe work very untidy and difficult for us to distinguish between various components. So finally we decided to switch theboards. We then designed a board using ORCAD 9.0. This board was very specific with what we needed and was thecorrect decision which leads us to the perfect working of our project. VII. CONCLUSION Transferring the data through USB in today’s scenario is the most common task. But the problem is that fortransferring the data to a personal computer or laptop is difficult if u don’t have any of them. It is affordable to purchase aUSB data drive than purchasing a laptop or PC. Therefore we came up with a handled battery operated affordable devicewhich can transfer the data between two USB data drives without the help of PC or laptop. The advantage of this device is that it is battery operated so there is no need of power supply connection anddata transfer can take place at any place. Currently we have design the system for tranfer of data upto 2GB only, but itcan be increased by proper selection of the bus. VIII. FUTURE SCOPE While working on the development of the system and exploring the peripherals that can be interfaced with theARM 7 we found that with little modification in the project several new features could be added. Following are the thingsthat can be done with few modifications. 1. Add USB host capability to embedded products. 2. Interface USB Flash drive to MCU/PLD/FPGA. 3. Using Bluetooth in our device, We can connect with any Bluetooth enable devices making the data transfer wireless. 4. Keypad and Graphical LCD could be replaced by touch screens which could make human work easier by drag and drop method. REFERENCES[1]. JAN AXELSON, USB Complete, Penram Publications, 2nd edition, pp. 5-7. Nov 1999.[2]. JAN AXELSON, USB mass storage, Lakeview Publications, @2nd edition, chp. 4, pp 57-69. 2000.[3]. John Hyde, USB design, a technical introduction to USB 2.0, white papers.[4]. USB Implementers Forum Inc, interoductionusb-2.0papers/[5].[6]. FTDI Inc, Reference No.: FT-000006v. Vinculum Firmware User Manual Version 2.05.[7].[8]. USB Implementers Forum Inc, interoductionusb-2.0papers/ 34