<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Controlling USB speed using internal pull-ups (M5222X, M5221X) in ColdFire/68K Microcontrollers and Processors</title>
    <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Controlling-USB-speed-using-internal-pull-ups-M5222X-M5221X/m-p/164890#M5594</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi Rich&lt;BR /&gt;&lt;BR /&gt;These are inputs - I double checked with a scope to be absolutely sure.&lt;BR /&gt;That leaves the MAX3353 as possible source.... I was originally using this to control pullups but think that I had the same issue then. I will take another look at it though.&lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;Mark&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 19 Jun 2008 07:44:48 GMT</pubDate>
    <dc:creator>mjbcswitzerland</dc:creator>
    <dc:date>2008-06-19T07:44:48Z</dc:date>
    <item>
      <title>Controlling USB speed using internal pull-ups (M5222X, M5221X)</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Controlling-USB-speed-using-internal-pull-ups-M5222X-M5221X/m-p/164885#M5589</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;SPAN&gt;Hi All USB Gurus&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When working with the internal USB transceiver and its pull-up / pull-downs I was thinking that it should be possible to control how the (PC-)Host detects the USB function as follows:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Test 1: (Full-speed connection)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- Pull D+ high in OTG_CTRL by setting (DP_HIGH | OTG_EN) to signal a full speed function.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The D+ line us pulled high and the host detects this as a full-speed function connect.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Test 2: (Low-speed connection)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- here I didn't find any possibility to control this.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Therefore I am wondering whether there is no advantage of being able to connect as a low-speed device?&lt;BR /&gt;Any ideas?&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A further question I have is about the electrical connection. I am using the M52223EVB and have found that&amp;nbsp; not all hosts are communicating correctly with it. I believe that the SW is generally correctly enumerating when connected so I am thinking that it must be something to do with the electrical part.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;There are my experiences:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1. PC 1 (Vista) always enumerates on 2 USB ports. I can connect and disconnect many times and each time it sees the connected device (in this case as a virtual COM port).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2. When I connect to a second PC (WinXP) the PC host doesn't recognise the device. I see that the D- line never goes above about 1V and it gives up after several seconds without any attempts to exchange data.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3. I do the same test as 2 with a USB analyser connected between to the board and the PC. Now it works 90% of the time. (I seem to have to sometimes power down the board to get it to work correctly after it has failed).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4. I do the same test as 2 but connecting to a USB2.0 4-port hub instead of directly to the PC. Now it always works correctly (100%).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This suggests to me that the transceiver setup (pull-up/down control?) may not be perfect since it is on the limit somewhere.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Has someone similar experiences or can a Guru say what I should improve?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Mark&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Message Edited by mjbcswitzerland on &lt;/SPAN&gt;&lt;SPAN class="date_text"&gt;2008-06-17&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN class="time_text"&gt;01:34 AM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jun 2008 06:06:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Controlling-USB-speed-using-internal-pull-ups-M5222X-M5221X/m-p/164885#M5589</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2008-06-17T06:06:22Z</dc:date>
    </item>
    <item>
      <title>Re: Controlling USB speed using internal pull-ups (M5222X, M5221X)</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Controlling-USB-speed-using-internal-pull-ups-M5222X-M5221X/m-p/164886#M5590</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Hi Mark,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I assume you've removed all of the manual pull-up/down jumpers on your board?&amp;nbsp; I use the M52221DEMO board and there are two jumpers (DPPD and DMPD) I have to make sure are removed and one (DPPU) I have to make sure is not installed at all.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Also, there are multiple registers you can use for pull up/down control.&amp;nbsp; I only use one line (for device mode):&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // enable usb pull ups&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_USB_OTG_OTG_CTRL =&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_USB_OTG_OTG_CTRL_DP_HIGH|MCF_USB_OTG_OTG_CTRL_OTG_EN;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I never got the USB to run Low Speed, in device mode, either, though I was able to talk to Low Speed devices when running in host mode.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;One more question...&amp;nbsp; Are you clocking from a crystal or from the internal relaxation oscillator PLL'd up to 48MHz?&amp;nbsp; I've found on boards that I don't clean well (?), the relaxation oscillator runs too fast or slow for USB to work on some PCs...&amp;nbsp; (The USB Full Speed Spec really demands you use a crystal at 2500 ppm, but I've found the relaxation oscillator is usually&amp;nbsp;fine at 20,000 ppm.)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;-- Rich&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jun 2008 23:23:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Controlling-USB-speed-using-internal-pull-ups-M5222X-M5221X/m-p/164886#M5590</guid>
      <dc:creator>RichTestardi</dc:creator>
      <dc:date>2008-06-17T23:23:05Z</dc:date>
    </item>
    <item>
      <title>Re: Controlling USB speed using internal pull-ups (M5222X, M5221X)</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Controlling-USB-speed-using-internal-pull-ups-M5222X-M5221X/m-p/164887#M5591</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;Hi Rich&lt;BR /&gt;&lt;BR /&gt;I am using the clock source from the 48MHz crystal:&lt;BR /&gt;USB_CTRL = USB_OSCILLATOR_CLOCK; // (0x01)&lt;BR /&gt;&lt;BR /&gt;The M52223 doesn't have any configuration jumpers - it has a &lt;SPAN&gt;MAX3353 which can be used to also control such settings but I have intentionally not initialised this in these tests.&lt;BR /&gt;&lt;BR /&gt;I will repeat the tests with M52221DEMO, M52210DEMO and M52211EVB to see whether there are any differences...&lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;Mark&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jun 2008 00:21:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Controlling-USB-speed-using-internal-pull-ups-M5222X-M5221X/m-p/164887#M5591</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2008-06-18T00:21:18Z</dc:date>
    </item>
    <item>
      <title>Re: Controlling USB speed using internal pull-ups (M5222X, M5221X)</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Controlling-USB-speed-using-internal-pull-ups-M5222X-M5221X/m-p/164888#M5592</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi Rich&lt;BR /&gt;&lt;BR /&gt;I have some more info:&lt;BR /&gt;&lt;BR /&gt;My M52221DEMO and M52210DEMO boards, running the same code (configured accordingly to suit chip types) don't have any connections problems. The problem with one PC only enumerating through a USB 2.0 hub is therefore restricted to my M52223EVB. Therefore I am going to ignore this for the moment since it is likely to be board releated. [Note all board running from FLASH]&lt;BR /&gt;&lt;BR /&gt;I didn't check on an M52211EVB since I didn't have one handy today - if I don't add another update assume it&amp;nbsp; was also OK...&lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;Mark&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jun 2008 03:53:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Controlling-USB-speed-using-internal-pull-ups-M5222X-M5221X/m-p/164888#M5592</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2008-06-19T03:53:33Z</dc:date>
    </item>
    <item>
      <title>Re: Controlling USB speed using internal pull-ups (M5222X, M5221X)</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Controlling-USB-speed-using-internal-pull-ups-M5222X-M5221X/m-p/164889#M5593</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Hi Mark,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Interesting!&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I noticed there were 15k ohm pull-somewhere resistors tying the USB D+ and D- to QSPI_CS3 and QSPI_CS2 (with alternate pin&amp;nbsp;functions USB_DP_PDWN and USB_DM_PDWN!), respectively...&amp;nbsp; Are you possibly driving those as outputs?&amp;nbsp; 15k ohm *should* be in the noise compared to a device pull-up, but it never hurts to check...&amp;nbsp; Otherwise, it *seems* the MAX3353 should stay out of the way until you program its registers to non-0 values...&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;-- Rich&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jun 2008 06:10:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Controlling-USB-speed-using-internal-pull-ups-M5222X-M5221X/m-p/164889#M5593</guid>
      <dc:creator>RichTestardi</dc:creator>
      <dc:date>2008-06-19T06:10:11Z</dc:date>
    </item>
    <item>
      <title>Re: Controlling USB speed using internal pull-ups (M5222X, M5221X)</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Controlling-USB-speed-using-internal-pull-ups-M5222X-M5221X/m-p/164890#M5594</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi Rich&lt;BR /&gt;&lt;BR /&gt;These are inputs - I double checked with a scope to be absolutely sure.&lt;BR /&gt;That leaves the MAX3353 as possible source.... I was originally using this to control pullups but think that I had the same issue then. I will take another look at it though.&lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;Mark&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jun 2008 07:44:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Controlling-USB-speed-using-internal-pull-ups-M5222X-M5221X/m-p/164890#M5594</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2008-06-19T07:44:48Z</dc:date>
    </item>
    <item>
      <title>Re: Controlling USB speed using internal pull-ups (M5222X, M5221X)</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Controlling-USB-speed-using-internal-pull-ups-M5222X-M5221X/m-p/164891#M5595</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi Rich&lt;BR /&gt;&lt;BR /&gt;My results with an M52211EVB are equivalent to the M52223EVB.&lt;BR /&gt;This means that both EVBs do have a problem with one PC but the DEMO boards do not.&lt;BR /&gt;This suggests that the MAX chip is causing a difference.&lt;BR /&gt;&lt;BR /&gt;Once I get the chance I will try different MAX chip configurations and possibly removing it.&lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;Mark&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 29 Jun 2008 05:19:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Controlling-USB-speed-using-internal-pull-ups-M5222X-M5221X/m-p/164891#M5595</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2008-06-29T05:19:14Z</dc:date>
    </item>
  </channel>
</rss>

