SlideShare a Scribd company logo
1 of 6
Download to read offline
International Journal of Research in Advent Technology, Vol.2, No.5, May 2014 
E-ISSN: 2321-9637 
422 
USB Driver Embedded Controller Using Embedded C 
Ms. Sneha Jaiswal1, Sushma Dakh2, Mr. Swapnil M. Sonawane 3, 
E & TC Dept Department1, 2, 3, 
Genba Sopanrao Moze College of Engg, Balewadi, pune 1, 2 R.M.D Singad College Of Engg Pune 3, 
University Of Pune1, 2, 3 
Pune, Maharasthra1, 2, 3 
Email: Sneha6665@gmail.com 1 , sushmadakh@gmail.com 2, Swapnilsnw@gmail.com, 3 
Abstract— USB driver controller stands for USB host. Function of host is to identify USB client. USB O-T-G (ON-THE-GO) 
allows two USB devices to talk each other without requiring services of pc’s. All the same OTG appears to be a type of network 
which interconnected nodes share resources amongst each other without the use of a centralized administrative system Instead, 
OTG introduces the dual-role device (DRD), capable of functioning either host or peripheral. The perfect charm of OTG is that 
host and peripheral exchange roles if necessary. Earlier concept of OTG, idea of embedded host was already introduced in world 
of USB[14] making them better suited to embedded environment than pc with its huge resources, infinite capacity for drivers 
and application software. USB was developed as solution to pc interconnectivity. USB most popular application for data transfer 
from system or computer to another. The demand for these products is increasing day by day with popularity; there is necessity 
for them to transmit both with USB peripherals and directly with each other when PC not available. 
Fig1 - OTG UNIVERSE 
Key words—Targeted host, USB O-T-G, embedded host, attach detection protocol (ADP), session request protocol(SRP) , host 
negotiation protocol(HNP) 
1. INTRODUCTION 
USB is a new type of I/O interface standard promoted by 
Compaq, Microsoft, IBM, DEC and ot2her companies n 
1995[2,3] 
USB has become one of the most popular interface for 
exchanging data between a host PC and its peripherals. This 
idea prospered in the mid-1990s defining the cables, 
connectors and protocols used for connection, communication 
and power supply between computers and electronic devices. 
USB has effectively replaced a variety of earlier interfaces, 
such as serial and parallel ports, as well as separate power 
chargers for portable devices.[4] 
Initially we know to gather the data from any 
machine or any application we use the serial communication 
method. Fig. 2 shows a data logger system using serial 
communication In this method we have to connect the 
computer or laptop near by the application system for that we 
have to provide extra power supply to the computer as well as 
we have to allocate some special place for mounting of the 
computer, so the system becomes costly as well as it’s not 
easy to mount the computer all the time because of many
International Journal of Research in Advent Technology, Vol.2, No.5, May 2014 
E-ISSN: 2321-9637 
423 
conditions like whether or temperature these conditions can 
harm the computer, which requires regular maintenance. 
Fig. 2 Data logger system 
There is several such controller which works 
on the transfer mediums like GPS, GSM or by using other 
wireless protocols like Bluetooth, Zig-bee. But they have 
some limitations like the range of the device from the server, 
computer where all the data from the several machines is 
collected for the analysis process. As well as using such 
systems in the remote areas is quite challenging where the 
problem of network for the GPS and GSM model occurs. 
But as per our design the USB embedded 
controller is a portable device which can be easily mounted on 
any application system. As we have used the PIC 
microcontroller which is having inbuilt memory, provides the 
storage for the data collected from the application system. It 
becomes very simple and easy to take the back up from one of 
the machine just by applying the pen drive to the USB 
embedded controller. One more advantage is this controller is 
user friendly and the person handling the device does not 
require the knowledge of the whole computer. Here the data is 
transferred just by pressing one switch after applying the pen 
drive. We have chosen PIC microcontroller of family 
PIC24FJ128GB110. 
USB is most popular application for the data transfer from a 
system or a computer to another. Today many devices that are 
many PCs in the classic sense have a need to connect directly 
to peripherals. Printers connect directly with cameras, for 
example, or mobile phones may need to connect to the USB 
headsets. These non-PCs have the computing resources to 
manage a USB host function, but they need to function in 
ways that differ from standard PC hosts. Although they will 
provide host capability for some devices, it’s unreasonable to 
require them to support the full range of USB peripherals. 
A targeteted host is only required to support the peripherals 
on its Targeted Peripheral List. 
There are two categories of Targeted Hosts: 
Embedded Hosts: A product that has a Standard-A receptacle 
supported by a USB Host Controller. Embedded Hosts have a 
particular set of targeted peripherals, as described in their 
targeted peripheral list(TPL). 
OTG: Device that provides both host and peripheral 
capabilities over a single Micro-AB receptacle, as outlined in 
USBOTG&EHv2.0 
So here with the help of PIC microcontroller we are trying to 
prepare an embedded host. This can be connected rather to 
connect to the application systems whose backup p the 
analyzed data is necessary to be taken for the study purpose or 
for the further processing. 
The USB On-The-Go and Embedded Host Supplement to the 
USB 2.0 specification introduced three new protocols, Attach 
Detection Protocol (ADP), Session Request Protocol (SRP) 
and Host Negotiation Protocol (HNP)[2] 
2 . Architecture 
Standard USB uses a master/slave architecture; in this a USB 
host plays the role as a the protocol master, and a USB 
'Device' plays the role as the slave. The Host only can 
schedule the configuration and data transfers over the link. 
Data transfers cannot be initiated by the device, they can only 
respond to requests given by a host. 
OTG throws a light on the concept that a 'Device' can perform 
both the master and slave roles, and so equally changes the 
terminology. With OTG, a 'Device' can act as either a 'Host' 
(acting as the link master) or a 'Peripheral' (acting as the link 
slave). The Device connected to the 'A' end of the cable at 
start-up (known as the A-device) acts as the Default Host, 
while the 'B' end acts as the Default Peripheral (known as the 
B-device).
International Journal of Research in Advent Technology, Vol.2, No.5, May 2014 
E-ISSN: 2321-9637 
424 
USB On-The-Go describes Host/Peripheral role swapping 
only for the case of a one-to-one connection where two OTG 
devices are directly connected. Role swapping does not work 
through a standard hub, as one device will act as the Host and 
the other as the Peripheral until they are disconnected. 
2.1 Specifications 
USB OTG is part of a supplement to the USB 2.0 [6] 
specification originally agreed upon in late 2001 and later 
revised [7]. The latest version of this supplement also defines 
behavior for an Embedded Host which has targeted 
capabilities and the same USB Standard-A port used by PCs. 
Super Speed OTG devices, Embedded Hosts and peripherals 
are supported through the USB On-The-Go and Embedded 
Host Supplement [8] to the USB 3.0 specification. 
2.2 Protocols 
The USB On-The-Go and Embedded Host Supplement to the 
USB 2.0 specification introduced three new 
protocols[12,13,14], Attach Detection Protocol (ADP), 
Session Request Protocol (SRP) and Host Negotiation 
Protocol (HNP). 
· ADP allows an OTG device, embedded host or USB 
device to find or determine attachment or connection 
status in the absence of power on the USB bus. It 
enables both insertion based behavior and the 
possibility for a device to display attachment status. It 
periodically measuring the capacitance on the USB 
port to check whether there is another device 
attached, a dangling cable or no cable. When a 
change in capacitance is determined, this change 
should be large enough to indicate device attachment 
is detected then an A-device will provide power to 
the USB bus and look for device connection. A B-device 
will generate SRP and wait for the USB bus to 
become powered. 
· SRP request host to start a session, the host activates 
power bus for the peripheral, and the sessions 
commence or start. Fig 3 shows the session between 
the host and the device 
Fig. 3 Session request protocol (SRP) 
· HNP starts as a host and interrogates the peripheral. 
If peripheral is device, then it remains host and vice 
versa that is if the peripheral is host then it becomes 
device. Fig.4 shows the HNP session 
Fig 4. Host Negotiation Protocol (HNP) session 
One of the important functions of HNP is to accommodate 
users who have connected the A and B devices in the wrong 
direction for the task they want to perform. For example, a 
printer is connected as the A-device (host), but cannot 
function as a host for a particular camera, since it doesn't 
understand the camera's representation of print jobs. When 
that camera knows how to talk to the printer, the printer will 
use HNP to switch to the slave role, making the camera the
International Journal of Research in Advent Technology, Vol.2, No.5, May 2014 
E-ISSN: 2321-9637 
425 
host to the printer so that the user's pictures will get printed 
without juggling cables. 
The USB On-The-Go and Embedded Host Supplement to the 
USB 3.0 specification introduce an additional protocol, Role 
Swap Protocol (RSP). This achieves the same purpose as HNP 
(i.e. role swapping) by extending standard mechanisms 
provided by the USB 3.0 specification. Products following the 
USB On-The-Go and Embedded Host Supplement to the USB 
3.0 specification are also required to follow the USB 2.0 
supplement in order to maintain backwards compatibility. 
2.2.1 Device roles 
USB OTG states two roles of devices: OTG A-device and 
OTG B-device. This term defines which side supplies power 
to the link, and which is initially the host. The OTG A-device 
is a power supplier, and an OTG B-device is a power 
consumer. The default link configuration is that A-device act 
as USB Host and B-device is a USB Peripheral. The host and 
peripheral modes may be exchanged later by using HNP. 
Because every OTG controller supports both roles, they are 
often called "Dual-Role" controllers rather than "OTG 
controllers". 
For IC designers, an attraction of USB OTG is the ability to 
get more USB capabilities with fewer gates. This means many 
gates to test and debug. Also, most gadgets need to be just a 
Host, or just a Device. OTG hardware design merges all of 
these controllers into a single. 
2.2.2Backward compatibility 
USB OTG devices are backward-compatible with USB 2.0 
[13] (USB 3.0 for Super Speed OTG devices) and will behave 
as standard USB Hosts or Devices when connected to standard 
(non-OTG) USB devices. 
The main exception is that OTG hosts are only 
required to provide enough power for the products listed on 
the TPL, which may or may not be enough to connect to a 
peripheral which is not listed. A powered USB hub may 
sidestep the issue if supported since this will then provide its 
own power according to either the USB 2.0 or USB 3.0 
specifications. 
3. USB IMPLEMANTATION 
As per the block diagram shown in Fig 4, it consists of 
Fig4: Block diagram of USB Driver Controller. 
Microcontroller, LCD display, keypad, USB interface and 
USB client (pen drive), LED. 
Microcontroller is the heart of the embedded controller system 
which we are going to design. 
We have used PIC24FJ128GB110 microcontroller to design 
the embedded controller. This microcontroller has USB 
interface and can be act as USB host. 
16x2 LCD display is used to show the status of the data being 
sent to the pen drive from the microcontroller memory which 
is inputted by the keypad which is interfaced to the 
microcontroller. 
LED is used to indicate the dataflow or the operations done by 
the microcontroller. 
When we give any input from the keypad, that data will be 
stored in the microcontroller memory in the form of a file. 
Then when we connect the pen drive to the USB embedded 
controller the data will be sent to the pen drive. 
This transfer of data is the main purpose of our USB 
embedded controller (USB host). This transfer of data is done 
by the method of file handling, as we have programmed the 
microcontroller for this particular operation. The entire code is 
written in the embedded C language. 
A 5V power supply is given to the microcontroller by a pow 
supply connected externally.
International Journal of Research in Advent Technology, Vol.2, No.5, May 2014 
E-ISSN: 2321-9637 
426 
Reset pin is also connected to the embedded controller to reset 
the microcontroller as well as LCD display. 
SOFTWARE: In our project we are going to write our code in 
embedded C in MPLAB X which runs on Windows® OS, 
MAC® OS and Linux. The below is the algorithm for the 
implementation of the above idea when developed into a kit. 
1) Start the application machine. 
2) Power on the circuit. 
3) Insert the USB client (pen drive) in the USB slot. 
4) When USB gets detected press reset button. 
5) Remove USB client (pen drive) from the kit. 
6) We can read the log file for analysis using computers. 
4. DEVELOPMENT OF USB DEVICE DRIVER 
USB devices are having some interfaces [ 2,9,11]. In the USB 
protocol,here the interface is made up of a number of 
endpoints representing a basic function and is also which an 
object USB drvice driver controls. 
In this paper, as shown 
in Fig. 5 the interaction of usb driver with application kit . 
Here the I/O operation of a user mode program wants to say, 
read or collect some data from a device can be described as 
follows [8, 9, 10]. 
Firstly it calls for windows application 
programming interface (API) to create file to open the device 
and create the connection to the device. In the next stage then 
the subsystem module implements this API by invoking some 
platform-dependent system service interface to reach a kernel-mode 
routine. 
Then the I/O manager will surround the device 
driver and then it will create an IRP according to the request 
information applications will interact with the device and 
which passes to an entry point in some device driver. 
I/O request Packet (IRP) embodies and calls control 
code to create an IRP (I/O request Packet) with an I/O control 
code and then calls driver to send the I/O request Packet (IRP) 
to the USB bus driver. 
The USB bus driver subdivides USB request Block 
(URB) into packets, conveys to the USB bus and sends them 
to the USB host controller driver. 
Drivers even though execute in kernel mode and can 
therefore talk directly to their hardware using facilities 
provided by the hardware abstraction layer(HAL) to access the 
hardware. 
hus USB controller will control the communication 
between the host controller and the USB devices through HAL 
function calls. Lastly, this operation results to the application 
in the reverse order after a driver has finished with the I/O 
operation. 
Fig.5 interaction of usb driver with application 
The advantages of the above kit when developed are as 
follows 
 It can be used for remote areas where installation of 
pc is not possible. 
 Power is saved as we don’t need to supply any extra 
power supply to the pc. 
 Also space is saved as there is no need to allocate any 
special space. 
 It is a portable device and thus can be easily mounted 
on any application. 
 It does not require maintenance. 
 They are not expensive. 
 They don’t have limitation like the range of the 
device from the server computer as in case of 
Bluetooth, Zig-bee, GSM, and GPS. 
5. RESULT 
We have prepared USB driver controller using embedded C 
which acts as USB host shown in fig 5 
We are trying to develop the best driver circuit helpful in data 
logging in various industries. 
The communication between client and host was completed 
through USB medium. 
The circuit requires lower cost than computers for its use. We 
earned a lot of knowledge on micro-controllers, a deeper  
clearer view of the architecture, ports  all other functional 
blocks was achieved. 
We did a lot of research on USB drivers, USB host and client 
and also on USB OTG technologies.
International Journal of Research in Advent Technology, Vol.2, No.5, May 2014 
E-ISSN: 2321-9637 
427 
We had a peek look at all simple functional parts of the 
project like the crystal oscillator, reset circuit and their 
working. 
Fig. driver controller using embedded C 
6. CONCLUSION 
The purpose of the project is to create a USB driver 
controller which acts as host and helps peripheral to gather 
data from several applications. This system will be 
deployed in industries such as data logger where mounting 
of a computer is not possible. Our circuit will help in 
reducing the overhead cost and maintenance which is 
usually required for the installation of computer. An 
external secondary memory can be added to the circuit to 
increase the memory capacity of the device so that it can 
store or transfer data depending on the application 
7. FUTURE SCOPE 
We have used IC PIC24FJ128GB110 which is having 16384 
bytes data memory and 128kb program memory so we can 
directly use it for industrial purpose for data logging. With the 
help of this microcontroller IC family we are planning to 
prepare a universal driver circuit which can be used in various 
industrial applications such as I2C data logger, USB data 
logger, SPI data logger and many more. 
As our device is portable and doesn’t required separate power 
supply it can be easily mount in the remote areas for data 
logging in the projects like wind mill power generation plants. 
REFERENCES 
[1] www.usb.org/developers/onthego 
[2] Anderson D. Universal serial bus architecture. Addison 
Wesley publishing company, pp. 13-24,1999 
[3] Wright Nick, Judd Bob. Using USB as a data acquisition 
interface. Journal of evaluation engineering . Vol. 43, No. 
6, pp. 20-26, 2004 
[4] SuperSpeed USB 3.0: More Details Emerge. 6 Jan 
2009. 
[5] ^ On-The-Go and Embedded Host Supplement to the USB 2.0 
Specification Revision 2.0 plus ECN and errata, July 14, 2011 
[6] USB-On-the-Go-Specification Settled. Heise.de, Heinz 
Heise.[dead link] 
[7] On-The-Go and Embedded Host Supplement to the USB 3.0 
Specification Revision 1.0, July 1, 2011 
[8] Gereaux, Dean A. USB Device driver. Journal of dr. 
Dobb, vol. 29, no.4, pp. 60-64, April 2004 
[9] Y. P. Su The design of WDM driver based on USb bus. 
Journal of computer knowledge and technology, No. 36, 
pp. 142-144 , 2005 
[10]Nadolny, Jim, Kelly, Kieran. USB interfaces and EMC. 
Journal of compliance engineering, vol. 16N.4 pp. 5-10, 
1999 
[11]Compaq, Hewlett-packard, Intel , lucent, . universal serial 
bus specification 2.0. Implementers Forum, 2000 
[12] Universal Serial Bus Revision 2.0 specification. Universal 
Serial Bus Micro-USB Cables and Connectors Specification. 
USB Implementers Forum, Inc. 4 April 2009. 
[13]www.maximintegated.com 
[14]www.usb.org

More Related Content

What's hot (20)

Introduction to computer
Introduction to computerIntroduction to computer
Introduction to computer
 
Universal serial bus
Universal serial busUniversal serial bus
Universal serial bus
 
Usb Overview
Usb OverviewUsb Overview
Usb Overview
 
computer practicals
computer practicalscomputer practicals
computer practicals
 
Usb In A Nutshell
Usb In A NutshellUsb In A Nutshell
Usb In A Nutshell
 
Jinat afroz,1915002540,Data Communication
Jinat afroz,1915002540,Data CommunicationJinat afroz,1915002540,Data Communication
Jinat afroz,1915002540,Data Communication
 
Connectors and plugs
Connectors and plugsConnectors and plugs
Connectors and plugs
 
Physical Layer Port
Physical Layer PortPhysical Layer Port
Physical Layer Port
 
Ports and Connectors
Ports and ConnectorsPorts and Connectors
Ports and Connectors
 
Ecw course
Ecw courseEcw course
Ecw course
 
USB Universal Serial Bus
USB Universal Serial BusUSB Universal Serial Bus
USB Universal Serial Bus
 
Data communication assignment id1925102518
Data communication assignment  id1925102518Data communication assignment  id1925102518
Data communication assignment id1925102518
 
Chapter 2- Ports and Connections A+ 801 802 PREP
Chapter 2- Ports and Connections A+ 801 802 PREPChapter 2- Ports and Connections A+ 801 802 PREP
Chapter 2- Ports and Connections A+ 801 802 PREP
 
USB Specification 2.0 - Chapter 9 - Device Framework
USB Specification 2.0 - Chapter 9 - Device FrameworkUSB Specification 2.0 - Chapter 9 - Device Framework
USB Specification 2.0 - Chapter 9 - Device Framework
 
Network Robots - Abhijeet
Network Robots - AbhijeetNetwork Robots - Abhijeet
Network Robots - Abhijeet
 
Comp ports
Comp portsComp ports
Comp ports
 
The USB Generation
The USB GenerationThe USB Generation
The USB Generation
 
Computer Networking
Computer NetworkingComputer Networking
Computer Networking
 
Ultra smallest Multifunction Mouse
Ultra smallest Multifunction MouseUltra smallest Multifunction Mouse
Ultra smallest Multifunction Mouse
 
Universal Serial Bus (USB)
Universal Serial Bus (USB)Universal Serial Bus (USB)
Universal Serial Bus (USB)
 

Viewers also liked

Những điều cần biết về an cung ngưu hoàng đồng nhân đường
Những điều cần biết về an cung ngưu hoàng đồng nhân đườngNhững điều cần biết về an cung ngưu hoàng đồng nhân đường
Những điều cần biết về an cung ngưu hoàng đồng nhân đườngMẹ Thiên Nhiên
 
Paper id 212014106
Paper id 212014106Paper id 212014106
Paper id 212014106IJRAT
 
Paper id 24201475
Paper id 24201475Paper id 24201475
Paper id 24201475IJRAT
 
Paper id 24201492
Paper id 24201492Paper id 24201492
Paper id 24201492IJRAT
 
Paper id 26201481
Paper id 26201481Paper id 26201481
Paper id 26201481IJRAT
 
Instituto tecnologico de cerro azul
Instituto tecnologico de cerro azulInstituto tecnologico de cerro azul
Instituto tecnologico de cerro azulEdiel Domingo Santos
 
Daniela ruiz guzmán
Daniela ruiz guzmánDaniela ruiz guzmán
Daniela ruiz guzmáncristolfa
 
Assistive technology powerpoint
Assistive technology powerpointAssistive technology powerpoint
Assistive technology powerpointalpayne2
 
Paper id 25201478
Paper id 25201478Paper id 25201478
Paper id 25201478IJRAT
 
Paper id 21201447
Paper id 21201447Paper id 21201447
Paper id 21201447IJRAT
 
Paper id 29201412
Paper id 29201412Paper id 29201412
Paper id 29201412IJRAT
 
Paper id 28201451
Paper id 28201451Paper id 28201451
Paper id 28201451IJRAT
 
2015北投區參與式預算宣傳投影片
2015北投區參與式預算宣傳投影片2015北投區參與式預算宣傳投影片
2015北投區參與式預算宣傳投影片平台 青
 
Paper id 212014107
Paper id 212014107Paper id 212014107
Paper id 212014107IJRAT
 
Benjamin medina Slideshow
Benjamin medina SlideshowBenjamin medina Slideshow
Benjamin medina SlideshowBenjiMedina
 
Paper id 21201475
Paper id 21201475Paper id 21201475
Paper id 21201475IJRAT
 
Paper id 23201429
Paper id 23201429Paper id 23201429
Paper id 23201429IJRAT
 
Paper id 21201470
Paper id 21201470Paper id 21201470
Paper id 21201470IJRAT
 
Paper id 21201410
Paper id 21201410Paper id 21201410
Paper id 21201410IJRAT
 
Paper id 25201475
Paper id 25201475Paper id 25201475
Paper id 25201475IJRAT
 

Viewers also liked (20)

Những điều cần biết về an cung ngưu hoàng đồng nhân đường
Những điều cần biết về an cung ngưu hoàng đồng nhân đườngNhững điều cần biết về an cung ngưu hoàng đồng nhân đường
Những điều cần biết về an cung ngưu hoàng đồng nhân đường
 
Paper id 212014106
Paper id 212014106Paper id 212014106
Paper id 212014106
 
Paper id 24201475
Paper id 24201475Paper id 24201475
Paper id 24201475
 
Paper id 24201492
Paper id 24201492Paper id 24201492
Paper id 24201492
 
Paper id 26201481
Paper id 26201481Paper id 26201481
Paper id 26201481
 
Instituto tecnologico de cerro azul
Instituto tecnologico de cerro azulInstituto tecnologico de cerro azul
Instituto tecnologico de cerro azul
 
Daniela ruiz guzmán
Daniela ruiz guzmánDaniela ruiz guzmán
Daniela ruiz guzmán
 
Assistive technology powerpoint
Assistive technology powerpointAssistive technology powerpoint
Assistive technology powerpoint
 
Paper id 25201478
Paper id 25201478Paper id 25201478
Paper id 25201478
 
Paper id 21201447
Paper id 21201447Paper id 21201447
Paper id 21201447
 
Paper id 29201412
Paper id 29201412Paper id 29201412
Paper id 29201412
 
Paper id 28201451
Paper id 28201451Paper id 28201451
Paper id 28201451
 
2015北投區參與式預算宣傳投影片
2015北投區參與式預算宣傳投影片2015北投區參與式預算宣傳投影片
2015北投區參與式預算宣傳投影片
 
Paper id 212014107
Paper id 212014107Paper id 212014107
Paper id 212014107
 
Benjamin medina Slideshow
Benjamin medina SlideshowBenjamin medina Slideshow
Benjamin medina Slideshow
 
Paper id 21201475
Paper id 21201475Paper id 21201475
Paper id 21201475
 
Paper id 23201429
Paper id 23201429Paper id 23201429
Paper id 23201429
 
Paper id 21201470
Paper id 21201470Paper id 21201470
Paper id 21201470
 
Paper id 21201410
Paper id 21201410Paper id 21201410
Paper id 21201410
 
Paper id 25201475
Paper id 25201475Paper id 25201475
Paper id 25201475
 

Similar to Paper id 252014121

Computer independent device for usb data transfe
Computer independent device for usb data transfeComputer independent device for usb data transfe
Computer independent device for usb data transfeIAEME Publication
 
USB TO USB Data Transfer without PC
USB TO USB Data Transfer without PCUSB TO USB Data Transfer without PC
USB TO USB Data Transfer without PCIJERD Editor
 
Device - to - Device communication (Pen drive) without PC
Device - to - Device communication (Pen drive) without PCDevice - to - Device communication (Pen drive) without PC
Device - to - Device communication (Pen drive) without PCElectronics - Embedded System
 
Pendrive to pendrive data transfer without pc
Pendrive to pendrive data transfer without pcPendrive to pendrive data transfer without pc
Pendrive to pendrive data transfer without pcVishnu Kudumula
 
USB presentation by Mishuk
USB presentation by MishukUSB presentation by Mishuk
USB presentation by Mishukmks mk
 
Usb Wp Implementing Usb
Usb Wp Implementing UsbUsb Wp Implementing Usb
Usb Wp Implementing Usballankliu
 
A Microcontroller Framework For PC Based Electrical Appliance Control System
A Microcontroller Framework For PC Based Electrical Appliance Control SystemA Microcontroller Framework For PC Based Electrical Appliance Control System
A Microcontroller Framework For PC Based Electrical Appliance Control SystemStephen Faucher
 
Smart agriculture based on data acquisition and monitoring systems
Smart agriculture based on data acquisition and monitoring systemsSmart agriculture based on data acquisition and monitoring systems
Smart agriculture based on data acquisition and monitoring systemsSachin Pal
 

Similar to Paper id 252014121 (20)

Computer independent device for usb data transfe
Computer independent device for usb data transfeComputer independent device for usb data transfe
Computer independent device for usb data transfe
 
USB TO USB Data Transfer without PC
USB TO USB Data Transfer without PCUSB TO USB Data Transfer without PC
USB TO USB Data Transfer without PC
 
Device - to - Device communication (Pen drive) without PC
Device - to - Device communication (Pen drive) without PCDevice - to - Device communication (Pen drive) without PC
Device - to - Device communication (Pen drive) without PC
 
Cp33551556
Cp33551556Cp33551556
Cp33551556
 
Cp33551556
Cp33551556Cp33551556
Cp33551556
 
Pendrive to pendrive data transfer without pc
Pendrive to pendrive data transfer without pcPendrive to pendrive data transfer without pc
Pendrive to pendrive data transfer without pc
 
Un se-bu
Un se-buUn se-bu
Un se-bu
 
HIGH SPEED U.S.B 3.0
HIGH SPEED U.S.B 3.0HIGH SPEED U.S.B 3.0
HIGH SPEED U.S.B 3.0
 
Usb old
Usb oldUsb old
Usb old
 
USB presentation by Mishuk
USB presentation by MishukUSB presentation by Mishuk
USB presentation by Mishuk
 
Lifi
LifiLifi
Lifi
 
Usb In-a-Nutshell
Usb In-a-NutshellUsb In-a-Nutshell
Usb In-a-Nutshell
 
Siemens Industrial Training
Siemens Industrial TrainingSiemens Industrial Training
Siemens Industrial Training
 
Usb Wp Implementing Usb
Usb Wp Implementing UsbUsb Wp Implementing Usb
Usb Wp Implementing Usb
 
Usb 72213 76207
Usb 72213 76207Usb 72213 76207
Usb 72213 76207
 
Network devices
Network devicesNetwork devices
Network devices
 
A Microcontroller Framework For PC Based Electrical Appliance Control System
A Microcontroller Framework For PC Based Electrical Appliance Control SystemA Microcontroller Framework For PC Based Electrical Appliance Control System
A Microcontroller Framework For PC Based Electrical Appliance Control System
 
Wireless USB
Wireless USBWireless USB
Wireless USB
 
Seminar
SeminarSeminar
Seminar
 
Smart agriculture based on data acquisition and monitoring systems
Smart agriculture based on data acquisition and monitoring systemsSmart agriculture based on data acquisition and monitoring systems
Smart agriculture based on data acquisition and monitoring systems
 

More from IJRAT

96202108
9620210896202108
96202108IJRAT
 
97202107
9720210797202107
97202107IJRAT
 
93202101
9320210193202101
93202101IJRAT
 
92202102
9220210292202102
92202102IJRAT
 
91202104
9120210491202104
91202104IJRAT
 
87202003
8720200387202003
87202003IJRAT
 
87202001
8720200187202001
87202001IJRAT
 
86202013
8620201386202013
86202013IJRAT
 
86202008
8620200886202008
86202008IJRAT
 
86202005
8620200586202005
86202005IJRAT
 
86202004
8620200486202004
86202004IJRAT
 
85202026
8520202685202026
85202026IJRAT
 
711201940
711201940711201940
711201940IJRAT
 
711201939
711201939711201939
711201939IJRAT
 
711201935
711201935711201935
711201935IJRAT
 
711201927
711201927711201927
711201927IJRAT
 
711201905
711201905711201905
711201905IJRAT
 
710201947
710201947710201947
710201947IJRAT
 
712201907
712201907712201907
712201907IJRAT
 
712201903
712201903712201903
712201903IJRAT
 

More from IJRAT (20)

96202108
9620210896202108
96202108
 
97202107
9720210797202107
97202107
 
93202101
9320210193202101
93202101
 
92202102
9220210292202102
92202102
 
91202104
9120210491202104
91202104
 
87202003
8720200387202003
87202003
 
87202001
8720200187202001
87202001
 
86202013
8620201386202013
86202013
 
86202008
8620200886202008
86202008
 
86202005
8620200586202005
86202005
 
86202004
8620200486202004
86202004
 
85202026
8520202685202026
85202026
 
711201940
711201940711201940
711201940
 
711201939
711201939711201939
711201939
 
711201935
711201935711201935
711201935
 
711201927
711201927711201927
711201927
 
711201905
711201905711201905
711201905
 
710201947
710201947710201947
710201947
 
712201907
712201907712201907
712201907
 
712201903
712201903712201903
712201903
 

Paper id 252014121

  • 1. International Journal of Research in Advent Technology, Vol.2, No.5, May 2014 E-ISSN: 2321-9637 422 USB Driver Embedded Controller Using Embedded C Ms. Sneha Jaiswal1, Sushma Dakh2, Mr. Swapnil M. Sonawane 3, E & TC Dept Department1, 2, 3, Genba Sopanrao Moze College of Engg, Balewadi, pune 1, 2 R.M.D Singad College Of Engg Pune 3, University Of Pune1, 2, 3 Pune, Maharasthra1, 2, 3 Email: Sneha6665@gmail.com 1 , sushmadakh@gmail.com 2, Swapnilsnw@gmail.com, 3 Abstract— USB driver controller stands for USB host. Function of host is to identify USB client. USB O-T-G (ON-THE-GO) allows two USB devices to talk each other without requiring services of pc’s. All the same OTG appears to be a type of network which interconnected nodes share resources amongst each other without the use of a centralized administrative system Instead, OTG introduces the dual-role device (DRD), capable of functioning either host or peripheral. The perfect charm of OTG is that host and peripheral exchange roles if necessary. Earlier concept of OTG, idea of embedded host was already introduced in world of USB[14] making them better suited to embedded environment than pc with its huge resources, infinite capacity for drivers and application software. USB was developed as solution to pc interconnectivity. USB most popular application for data transfer from system or computer to another. The demand for these products is increasing day by day with popularity; there is necessity for them to transmit both with USB peripherals and directly with each other when PC not available. Fig1 - OTG UNIVERSE Key words—Targeted host, USB O-T-G, embedded host, attach detection protocol (ADP), session request protocol(SRP) , host negotiation protocol(HNP) 1. INTRODUCTION USB is a new type of I/O interface standard promoted by Compaq, Microsoft, IBM, DEC and ot2her companies n 1995[2,3] USB has become one of the most popular interface for exchanging data between a host PC and its peripherals. This idea prospered in the mid-1990s defining the cables, connectors and protocols used for connection, communication and power supply between computers and electronic devices. USB has effectively replaced a variety of earlier interfaces, such as serial and parallel ports, as well as separate power chargers for portable devices.[4] Initially we know to gather the data from any machine or any application we use the serial communication method. Fig. 2 shows a data logger system using serial communication In this method we have to connect the computer or laptop near by the application system for that we have to provide extra power supply to the computer as well as we have to allocate some special place for mounting of the computer, so the system becomes costly as well as it’s not easy to mount the computer all the time because of many
  • 2. International Journal of Research in Advent Technology, Vol.2, No.5, May 2014 E-ISSN: 2321-9637 423 conditions like whether or temperature these conditions can harm the computer, which requires regular maintenance. Fig. 2 Data logger system There is several such controller which works on the transfer mediums like GPS, GSM or by using other wireless protocols like Bluetooth, Zig-bee. But they have some limitations like the range of the device from the server, computer where all the data from the several machines is collected for the analysis process. As well as using such systems in the remote areas is quite challenging where the problem of network for the GPS and GSM model occurs. But as per our design the USB embedded controller is a portable device which can be easily mounted on any application system. As we have used the PIC microcontroller which is having inbuilt memory, provides the storage for the data collected from the application system. It becomes very simple and easy to take the back up from one of the machine just by applying the pen drive to the USB embedded controller. One more advantage is this controller is user friendly and the person handling the device does not require the knowledge of the whole computer. Here the data is transferred just by pressing one switch after applying the pen drive. We have chosen PIC microcontroller of family PIC24FJ128GB110. USB is most popular application for the data transfer from a system or a computer to another. Today many devices that are many PCs in the classic sense have a need to connect directly to peripherals. Printers connect directly with cameras, for example, or mobile phones may need to connect to the USB headsets. These non-PCs have the computing resources to manage a USB host function, but they need to function in ways that differ from standard PC hosts. Although they will provide host capability for some devices, it’s unreasonable to require them to support the full range of USB peripherals. A targeteted host is only required to support the peripherals on its Targeted Peripheral List. There are two categories of Targeted Hosts: Embedded Hosts: A product that has a Standard-A receptacle supported by a USB Host Controller. Embedded Hosts have a particular set of targeted peripherals, as described in their targeted peripheral list(TPL). OTG: Device that provides both host and peripheral capabilities over a single Micro-AB receptacle, as outlined in USBOTG&EHv2.0 So here with the help of PIC microcontroller we are trying to prepare an embedded host. This can be connected rather to connect to the application systems whose backup p the analyzed data is necessary to be taken for the study purpose or for the further processing. The USB On-The-Go and Embedded Host Supplement to the USB 2.0 specification introduced three new protocols, Attach Detection Protocol (ADP), Session Request Protocol (SRP) and Host Negotiation Protocol (HNP)[2] 2 . Architecture Standard USB uses a master/slave architecture; in this a USB host plays the role as a the protocol master, and a USB 'Device' plays the role as the slave. The Host only can schedule the configuration and data transfers over the link. Data transfers cannot be initiated by the device, they can only respond to requests given by a host. OTG throws a light on the concept that a 'Device' can perform both the master and slave roles, and so equally changes the terminology. With OTG, a 'Device' can act as either a 'Host' (acting as the link master) or a 'Peripheral' (acting as the link slave). The Device connected to the 'A' end of the cable at start-up (known as the A-device) acts as the Default Host, while the 'B' end acts as the Default Peripheral (known as the B-device).
  • 3. International Journal of Research in Advent Technology, Vol.2, No.5, May 2014 E-ISSN: 2321-9637 424 USB On-The-Go describes Host/Peripheral role swapping only for the case of a one-to-one connection where two OTG devices are directly connected. Role swapping does not work through a standard hub, as one device will act as the Host and the other as the Peripheral until they are disconnected. 2.1 Specifications USB OTG is part of a supplement to the USB 2.0 [6] specification originally agreed upon in late 2001 and later revised [7]. The latest version of this supplement also defines behavior for an Embedded Host which has targeted capabilities and the same USB Standard-A port used by PCs. Super Speed OTG devices, Embedded Hosts and peripherals are supported through the USB On-The-Go and Embedded Host Supplement [8] to the USB 3.0 specification. 2.2 Protocols The USB On-The-Go and Embedded Host Supplement to the USB 2.0 specification introduced three new protocols[12,13,14], Attach Detection Protocol (ADP), Session Request Protocol (SRP) and Host Negotiation Protocol (HNP). · ADP allows an OTG device, embedded host or USB device to find or determine attachment or connection status in the absence of power on the USB bus. It enables both insertion based behavior and the possibility for a device to display attachment status. It periodically measuring the capacitance on the USB port to check whether there is another device attached, a dangling cable or no cable. When a change in capacitance is determined, this change should be large enough to indicate device attachment is detected then an A-device will provide power to the USB bus and look for device connection. A B-device will generate SRP and wait for the USB bus to become powered. · SRP request host to start a session, the host activates power bus for the peripheral, and the sessions commence or start. Fig 3 shows the session between the host and the device Fig. 3 Session request protocol (SRP) · HNP starts as a host and interrogates the peripheral. If peripheral is device, then it remains host and vice versa that is if the peripheral is host then it becomes device. Fig.4 shows the HNP session Fig 4. Host Negotiation Protocol (HNP) session One of the important functions of HNP is to accommodate users who have connected the A and B devices in the wrong direction for the task they want to perform. For example, a printer is connected as the A-device (host), but cannot function as a host for a particular camera, since it doesn't understand the camera's representation of print jobs. When that camera knows how to talk to the printer, the printer will use HNP to switch to the slave role, making the camera the
  • 4. International Journal of Research in Advent Technology, Vol.2, No.5, May 2014 E-ISSN: 2321-9637 425 host to the printer so that the user's pictures will get printed without juggling cables. The USB On-The-Go and Embedded Host Supplement to the USB 3.0 specification introduce an additional protocol, Role Swap Protocol (RSP). This achieves the same purpose as HNP (i.e. role swapping) by extending standard mechanisms provided by the USB 3.0 specification. Products following the USB On-The-Go and Embedded Host Supplement to the USB 3.0 specification are also required to follow the USB 2.0 supplement in order to maintain backwards compatibility. 2.2.1 Device roles USB OTG states two roles of devices: OTG A-device and OTG B-device. This term defines which side supplies power to the link, and which is initially the host. The OTG A-device is a power supplier, and an OTG B-device is a power consumer. The default link configuration is that A-device act as USB Host and B-device is a USB Peripheral. The host and peripheral modes may be exchanged later by using HNP. Because every OTG controller supports both roles, they are often called "Dual-Role" controllers rather than "OTG controllers". For IC designers, an attraction of USB OTG is the ability to get more USB capabilities with fewer gates. This means many gates to test and debug. Also, most gadgets need to be just a Host, or just a Device. OTG hardware design merges all of these controllers into a single. 2.2.2Backward compatibility USB OTG devices are backward-compatible with USB 2.0 [13] (USB 3.0 for Super Speed OTG devices) and will behave as standard USB Hosts or Devices when connected to standard (non-OTG) USB devices. The main exception is that OTG hosts are only required to provide enough power for the products listed on the TPL, which may or may not be enough to connect to a peripheral which is not listed. A powered USB hub may sidestep the issue if supported since this will then provide its own power according to either the USB 2.0 or USB 3.0 specifications. 3. USB IMPLEMANTATION As per the block diagram shown in Fig 4, it consists of Fig4: Block diagram of USB Driver Controller. Microcontroller, LCD display, keypad, USB interface and USB client (pen drive), LED. Microcontroller is the heart of the embedded controller system which we are going to design. We have used PIC24FJ128GB110 microcontroller to design the embedded controller. This microcontroller has USB interface and can be act as USB host. 16x2 LCD display is used to show the status of the data being sent to the pen drive from the microcontroller memory which is inputted by the keypad which is interfaced to the microcontroller. LED is used to indicate the dataflow or the operations done by the microcontroller. When we give any input from the keypad, that data will be stored in the microcontroller memory in the form of a file. Then when we connect the pen drive to the USB embedded controller the data will be sent to the pen drive. This transfer of data is the main purpose of our USB embedded controller (USB host). This transfer of data is done by the method of file handling, as we have programmed the microcontroller for this particular operation. The entire code is written in the embedded C language. A 5V power supply is given to the microcontroller by a pow supply connected externally.
  • 5. International Journal of Research in Advent Technology, Vol.2, No.5, May 2014 E-ISSN: 2321-9637 426 Reset pin is also connected to the embedded controller to reset the microcontroller as well as LCD display. SOFTWARE: In our project we are going to write our code in embedded C in MPLAB X which runs on Windows® OS, MAC® OS and Linux. The below is the algorithm for the implementation of the above idea when developed into a kit. 1) Start the application machine. 2) Power on the circuit. 3) Insert the USB client (pen drive) in the USB slot. 4) When USB gets detected press reset button. 5) Remove USB client (pen drive) from the kit. 6) We can read the log file for analysis using computers. 4. DEVELOPMENT OF USB DEVICE DRIVER USB devices are having some interfaces [ 2,9,11]. In the USB protocol,here the interface is made up of a number of endpoints representing a basic function and is also which an object USB drvice driver controls. In this paper, as shown in Fig. 5 the interaction of usb driver with application kit . Here the I/O operation of a user mode program wants to say, read or collect some data from a device can be described as follows [8, 9, 10]. Firstly it calls for windows application programming interface (API) to create file to open the device and create the connection to the device. In the next stage then the subsystem module implements this API by invoking some platform-dependent system service interface to reach a kernel-mode routine. Then the I/O manager will surround the device driver and then it will create an IRP according to the request information applications will interact with the device and which passes to an entry point in some device driver. I/O request Packet (IRP) embodies and calls control code to create an IRP (I/O request Packet) with an I/O control code and then calls driver to send the I/O request Packet (IRP) to the USB bus driver. The USB bus driver subdivides USB request Block (URB) into packets, conveys to the USB bus and sends them to the USB host controller driver. Drivers even though execute in kernel mode and can therefore talk directly to their hardware using facilities provided by the hardware abstraction layer(HAL) to access the hardware. hus USB controller will control the communication between the host controller and the USB devices through HAL function calls. Lastly, this operation results to the application in the reverse order after a driver has finished with the I/O operation. Fig.5 interaction of usb driver with application The advantages of the above kit when developed are as follows It can be used for remote areas where installation of pc is not possible. Power is saved as we don’t need to supply any extra power supply to the pc. Also space is saved as there is no need to allocate any special space. It is a portable device and thus can be easily mounted on any application. It does not require maintenance. They are not expensive. They don’t have limitation like the range of the device from the server computer as in case of Bluetooth, Zig-bee, GSM, and GPS. 5. RESULT We have prepared USB driver controller using embedded C which acts as USB host shown in fig 5 We are trying to develop the best driver circuit helpful in data logging in various industries. The communication between client and host was completed through USB medium. The circuit requires lower cost than computers for its use. We earned a lot of knowledge on micro-controllers, a deeper clearer view of the architecture, ports all other functional blocks was achieved. We did a lot of research on USB drivers, USB host and client and also on USB OTG technologies.
  • 6. International Journal of Research in Advent Technology, Vol.2, No.5, May 2014 E-ISSN: 2321-9637 427 We had a peek look at all simple functional parts of the project like the crystal oscillator, reset circuit and their working. Fig. driver controller using embedded C 6. CONCLUSION The purpose of the project is to create a USB driver controller which acts as host and helps peripheral to gather data from several applications. This system will be deployed in industries such as data logger where mounting of a computer is not possible. Our circuit will help in reducing the overhead cost and maintenance which is usually required for the installation of computer. An external secondary memory can be added to the circuit to increase the memory capacity of the device so that it can store or transfer data depending on the application 7. FUTURE SCOPE We have used IC PIC24FJ128GB110 which is having 16384 bytes data memory and 128kb program memory so we can directly use it for industrial purpose for data logging. With the help of this microcontroller IC family we are planning to prepare a universal driver circuit which can be used in various industrial applications such as I2C data logger, USB data logger, SPI data logger and many more. As our device is portable and doesn’t required separate power supply it can be easily mount in the remote areas for data logging in the projects like wind mill power generation plants. REFERENCES [1] www.usb.org/developers/onthego [2] Anderson D. Universal serial bus architecture. Addison Wesley publishing company, pp. 13-24,1999 [3] Wright Nick, Judd Bob. Using USB as a data acquisition interface. Journal of evaluation engineering . Vol. 43, No. 6, pp. 20-26, 2004 [4] SuperSpeed USB 3.0: More Details Emerge. 6 Jan 2009. [5] ^ On-The-Go and Embedded Host Supplement to the USB 2.0 Specification Revision 2.0 plus ECN and errata, July 14, 2011 [6] USB-On-the-Go-Specification Settled. Heise.de, Heinz Heise.[dead link] [7] On-The-Go and Embedded Host Supplement to the USB 3.0 Specification Revision 1.0, July 1, 2011 [8] Gereaux, Dean A. USB Device driver. Journal of dr. Dobb, vol. 29, no.4, pp. 60-64, April 2004 [9] Y. P. Su The design of WDM driver based on USb bus. Journal of computer knowledge and technology, No. 36, pp. 142-144 , 2005 [10]Nadolny, Jim, Kelly, Kieran. USB interfaces and EMC. Journal of compliance engineering, vol. 16N.4 pp. 5-10, 1999 [11]Compaq, Hewlett-packard, Intel , lucent, . universal serial bus specification 2.0. Implementers Forum, 2000 [12] Universal Serial Bus Revision 2.0 specification. Universal Serial Bus Micro-USB Cables and Connectors Specification. USB Implementers Forum, Inc. 4 April 2009. [13]www.maximintegated.com [14]www.usb.org