<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>LPC 2888 USB High Speed Problem</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/24848/lpc-2888-usb-high-speed-problem</link><description> 
I have a problem when run USBMem Keil Example for LPC2888. I got
&amp;quot;device descriptor read/all, error -71&amp;quot;. 
And sometimes with 10 trials, the device will run for 1 or two times,
but fail most of the time. I know from NXP that with old version of
LPC2888</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: LPC 2888 USB High Speed Problem</title><link>https://community.arm.com/thread/125261?ContentTypeID=1</link><pubDate>Thu, 26 Feb 2009 02:39:08 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:f4523594-8e66-4395-a9ca-cb9ee7bbd017</guid><dc:creator>Per Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
In this case, it wasn&amp;#39;t a decrease but an increase in optimization
levels that was needed? That is a lot better than the reverse, since
a higher optimization level may be required to make critical sections
fast enough.&lt;/p&gt;

&lt;p&gt;
Had it been the reverse, i.e. it fails at higher optimization
levels, then I would not have liked the code and/or compiler.&lt;/p&gt;

&lt;p&gt;
A thing to think about. If optimization 0-&amp;gt;1 is required, you
may not have much safety margin so own changes to the code may push
it to failure even at optimization level 1.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: LPC 2888 USB High Speed Problem</title><link>https://community.arm.com/thread/114701?ContentTypeID=1</link><pubDate>Thu, 26 Feb 2009 00:53:54 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:4f6cc1e8-18ca-4206-ab75-ed0d9b7298c9</guid><dc:creator>Tsuneo Chinzei</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;quot;With 3 feets usb cable and using the given firmware Memory.axf
in LPC2888/USBMem example for version 3.40. It gives error and usb
can not run.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;When change it to 1 feet usb cable, there is no error and usb
works.&amp;quot;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
This symptom suggests noise problem, which should be handled with
circuit design and board layout. For Hi-speed, more careful design is
required than full-speed. With proper design, 3m cable will work.&lt;/p&gt;

&lt;p&gt;
a) Shield - GND connection&lt;br /&gt;
The shield pin(s) of USB connector is connected to GND plane over a
resistor in parallel with a capacitor.&lt;/p&gt;

&lt;p&gt;
These Cypress appnote shows a typical connection.&lt;br /&gt;
&amp;quot;AN1196: EZ-USB FX2 PCB Design Recommendation&amp;quot; on Cypress&lt;br /&gt;
&lt;a target="_blank" href="http://www.cypress.com/?docID=4696"&gt;&amp;quot; on Cypress&lt;br /&gt;
&lt;a target="_blank" href="http://www.cypress.com/?docID=4398"&gt;&lt;br /&gt;
Termination Resistors, USB Peninsula, and Crystal&lt;/p&gt;

&lt;p&gt;
c) VBUS line filter&lt;br /&gt;
For bus-powered device, attach a VBUS line filter of a ferrite bead
(or a choke coil) and a capacitor (1 - 10 micro-F, ceramic).&lt;/p&gt;

&lt;p&gt;
This USB ECN recommends capacitor larger than 1 micro-F on
VBUS&lt;/p&gt;

&lt;p&gt;
USB 2.0 Specification&lt;br /&gt;
&lt;a href="http://www.usb.org/developers/docs/usb_20_122208.zip"&gt;www.usb.org/.../usb_20_122208.zip&lt;/a&gt;&lt;br /&gt;

Device Capacitance ECN.pdf&lt;/p&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: LPC 2888 USB High Speed Problem</title><link>https://community.arm.com/thread/101662?ContentTypeID=1</link><pubDate>Wed, 25 Feb 2009 16:48:40 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:22868c33-5454-4032-bf1b-27be52324bb3</guid><dc:creator>John Nguyen</dc:creator><description>&lt;p&gt;&lt;p&gt;
Both changes are required.&lt;br /&gt;
With 3 feets usb cable and using the given firmware Memory.axf in
LPC2888/USBMem example for version 3.40. It gives error and usb can
not run.&lt;/p&gt;

&lt;p&gt;
When change it to 1 feet usb cable, there is no error and usb
works.&lt;/p&gt;

&lt;p&gt;
When recompile the source code of LPC2888/USBMem with optimization
level 0. There is error and usb does not work.&lt;/p&gt;

&lt;p&gt;
When recompile the source code of LPC2888/USBMem with optimization
level 1 to 3. There is no error and usb work.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: LPC 2888 USB High Speed Problem</title><link>https://community.arm.com/thread/89587?ContentTypeID=1</link><pubDate>Wed, 25 Feb 2009 15:47:54 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:10349d5b-aa5d-40ad-a029-9406ae0e49cb</guid><dc:creator>ImPer Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
Where both changes required?&lt;/p&gt;

&lt;p&gt;
If the code does not survive on higher optimization levels, then
the code is either buggy, or the compiler is.&lt;/p&gt;

&lt;p&gt;
Correctly written code should produce the same result with or
without optimizations, and if timing is critical, then the code
should take that into account - or at least specifically document
that it may not be compiled at high optimizations. This later
alternative is however quite bad, since it would form a dangerous
trap for the users to fall into.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: LPC 2888 USB High Speed Problem</title><link>https://community.arm.com/thread/55488?ContentTypeID=1</link><pubDate>Wed, 25 Feb 2009 15:04:34 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:5223a87e-69e5-496d-958e-50949bd7f4e7</guid><dc:creator>John Nguyen</dc:creator><description>&lt;p&gt;&lt;p&gt;
I fixed the problem by changing to shorter usb cable from 3 feets
to 1 foot and by turn on the optimization of c/c+ of Keil Development
to level 1.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>