Designing a Universal Serial Bus (USB) Device Using the Cypress ...
Designing a Universal Serial Bus (USB) Device Using the Cypress ...
Designing a Universal Serial Bus (USB) Device Using the Cypress ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Cypress</strong> <strong>USB</strong> Thermometer Application Note<br />
• Observing <strong>the</strong> <strong>USB</strong> specified data format and transport protocols.<br />
The <strong>Cypress</strong> <strong>USB</strong> controller contains a <strong>Serial</strong> Interface Engine which performs all direct data<br />
handling on <strong>the</strong> bus (bit stuffing, NRZI encoding/decoding, etc.).<br />
It also handles basic bus protocol decoding for <strong>USB</strong> features such as Reset, Idle Detection,<br />
PID decoding, etc.<br />
• Handling Idle detection, entering and leaving <strong>the</strong> Suspend condition.<br />
<strong>Bus</strong> Idle detection is handled automatically, making it easy to determine when <strong>the</strong> <strong>USB</strong><br />
device should be put in Suspend mode.<br />
When <strong>the</strong> <strong>Cypress</strong> <strong>USB</strong> Controller is placed in Suspend mode, its on-chip power is reduced<br />
per <strong>the</strong> <strong>USB</strong> specification, automatically.<br />
The controller will automatically resume from <strong>the</strong> Suspend State on any <strong>USB</strong> activity. It may<br />
also be programmed to Resume after GPIO or Cext activity.<br />
• <strong>Bus</strong> Reset and Power-On Reset conditions are automatically detected.<br />
When a Reset is detected, <strong>the</strong> controller state is reset and program execution starts at a<br />
user-defined subroutine.<br />
The firmware can determine which event caused <strong>the</strong> reset through status bits.<br />
Items provided by <strong>the</strong> user:<br />
Each <strong>USB</strong> device has unique hardware and software characteristics that are not generic to <strong>the</strong><br />
<strong>USB</strong> system. The user must provide hardware and software development for <strong>the</strong>se areas.<br />
• Performing <strong>the</strong> correct application specific activity for each command.<br />
While <strong>Cypress</strong> provides <strong>the</strong> majority of <strong>the</strong> assembly code for handling <strong>the</strong> interface to <strong>the</strong><br />
<strong>USB</strong> and general controller activities for each command, <strong>the</strong> user must develop code for any<br />
activity that would be application specific.<br />
• Observe <strong>the</strong> mechanical protocol for physically connecting to <strong>the</strong> <strong>USB</strong><br />
Each device must provide a means for <strong>the</strong>ir device to physically attach to <strong>the</strong> <strong>USB</strong> (<strong>USB</strong><br />
Spec 1.0, 6.3). Attaching your device to <strong>the</strong> <strong>USB</strong> requires ei<strong>the</strong>r:<br />
• A <strong>USB</strong> cable with one end permanently attached to your device and a <strong>USB</strong> “A” type plug<br />
on <strong>the</strong> o<strong>the</strong>r end (to be connected to <strong>the</strong> host controller port).<br />
• A <strong>USB</strong> “B” type receptacle on your device to which a <strong>USB</strong> cable with both an “A” and a<br />
“B” plug will be attached.<br />
• Observing <strong>the</strong> electrical protocol for electrically connecting to <strong>the</strong> <strong>USB</strong>.<br />
To allow <strong>the</strong> <strong>USB</strong> hub to identify your device as a low speed device, <strong>the</strong> user must supply a<br />
pull up resistor between <strong>the</strong> “D-“ line and a positive supply voltage. This resistor can be ei<strong>the</strong>r<br />
a 1.5KOhm, 5% resistor to connected to a 3.14 V - 3.47 V supply or a 7.5KOhm, 1% resistor<br />
connected directly to <strong>the</strong> <strong>USB</strong> Vbus. (<strong>USB</strong> Spec 1.0, 7.1.3 and <strong>Device</strong> Working Group<br />
Review Request 135, 3.3V Regulator Tolerance)<br />
For more information on proper <strong>USB</strong> termination, please see <strong>the</strong> <strong>USB</strong> specification.<br />
<strong>Cypress</strong> Semiconductor Ver 1.03<br />
Page 7