27.01.2015 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!