<?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>Kinetis MicrocontrollersのトピックRe: USB MSD Pull Up Internal Resistor MK60 / MK64</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-MSD-Pull-Up-Internal-Resistor-MK60-MK64/m-p/564796#M33909</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Edit: I was too fast with this question.. looks like it takes some time until the answers are moderated. I will check your answers first, thank you very much!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I used the device with the MK60 and the external Pullup Resistor again. When I debug it and connect the device via USB, the Reset Interrupt gets called. I think that's the way it should be.&lt;/P&gt;&lt;P&gt;But windows shows the device as unknown.. I am not sure, why it doesn't work. I guess the USB device is too slow with the initialization because windows recognizes that something was attached immediately.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyone knows, why the device is unknown?&amp;nbsp; And how can I fix it?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 24 Jun 2016 12:05:32 GMT</pubDate>
    <dc:creator>philipp</dc:creator>
    <dc:date>2016-06-24T12:05:32Z</dc:date>
    <item>
      <title>USB MSD Pull Up Internal Resistor MK60 / MK64</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-MSD-Pull-Up-Internal-Resistor-MK60-MK64/m-p/564795#M33908</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to use the MK60 and the MK64 as a Mass Storage Device via USB. In the beginning I started with the Freescale TWR K60D100m and it works fine. The TWR is connected as a MSD.&lt;/P&gt;&lt;P&gt;Afterwards I tried the same with my custom hardware (also MK60) and nothing happened. I tried the same with the MK64 (also custom hardware) and still nothing happens.&lt;/P&gt;&lt;P&gt;I guessed the pullup resistor at D+ is not activated. That's why I used an external Pull Up Resistor and the device was recognised as an Unknown Device... the problem was, that it stayed unkown. I read, that it is possible, that the USB is initializing to slow and that the PC doesn't wait long enough for the device.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That's why I want to try it with the internal Pull Up Resistor at D+ of the MK60 and/or the MK64. My problem is, that I don't know, how I can do this. Can you help me?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using Kinetis Design Studio and KSDK 1.3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Jun 2016 13:28:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-MSD-Pull-Up-Internal-Resistor-MK60-MK64/m-p/564795#M33908</guid>
      <dc:creator>philipp</dc:creator>
      <dc:date>2016-06-23T13:28:57Z</dc:date>
    </item>
    <item>
      <title>Re: USB MSD Pull Up Internal Resistor MK60 / MK64</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-MSD-Pull-Up-Internal-Resistor-MK60-MK64/m-p/564796#M33909</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Edit: I was too fast with this question.. looks like it takes some time until the answers are moderated. I will check your answers first, thank you very much!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I used the device with the MK60 and the external Pullup Resistor again. When I debug it and connect the device via USB, the Reset Interrupt gets called. I think that's the way it should be.&lt;/P&gt;&lt;P&gt;But windows shows the device as unknown.. I am not sure, why it doesn't work. I guess the USB device is too slow with the initialization because windows recognizes that something was attached immediately.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyone knows, why the device is unknown?&amp;nbsp; And how can I fix it?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Jun 2016 12:05:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-MSD-Pull-Up-Internal-Resistor-MK60-MK64/m-p/564796#M33909</guid>
      <dc:creator>philipp</dc:creator>
      <dc:date>2016-06-24T12:05:32Z</dc:date>
    </item>
    <item>
      <title>Re: USB MSD Pull Up Internal Resistor MK60 / MK64</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-MSD-Pull-Up-Internal-Resistor-MK60-MK64/m-p/564797#M33910</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is not good to work with fixed pull-ups so these should certainly be removed.&lt;/P&gt;&lt;P&gt;The way that the D+ line is pulled up when the USB interface is configured is using (similar code to) the following:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;USB_USBTRC0 = USB_USBTRC0_RES; // this bit is not defined but should be set for correct operation&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;USB_OTG_CONTROL = USB_OTG_CONTROL_DPPULLUPNONOTG; // enable pull up on D+ for full speed operation&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check also your VREG_IN/VREG_OUT circuitry too since I have worked on various Kinetis based USB device projects on custom boards and almost half of them needed to correct this because the prototype design was not correct....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fkinetis%2FTWR-K60D100M.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/kinetis/TWR-K60D100M.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fkinetis%2FFRDM-K64F.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/kinetis/FRDM-K64F.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fkinetis%2FTWR-K64F120M.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/kinetis/TWR-K64F120M.html&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Jun 2016 13:01:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-MSD-Pull-Up-Internal-Resistor-MK60-MK64/m-p/564797#M33910</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2016-06-24T13:01:08Z</dc:date>
    </item>
    <item>
      <title>Re: USB MSD Pull Up Internal Resistor MK60 / MK64</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-MSD-Pull-Up-Internal-Resistor-MK60-MK64/m-p/564798#M33911</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Philipp,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It seems to be more a hardware than software problem but anyway, Pull-up resistors are enabled in usb_dci_khci_init funcion at khci_dev.c file (located at usbd_sd_bm_lib_MK64F12 &amp;gt; usb_core &amp;gt; device &amp;gt; sources &amp;gt; controller_driver &amp;gt; khci &lt;SPAN class="lia-unicode-emoji" title=":disappointed_face:"&gt;&lt;LI-EMOJI id="lia_disappointed-face" title=":disappointed_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="_jivemacro_uid_14667743020768804 jive_macro_code jive_text_macro" data-renderedposition="112_8_1192_112" jivemacro_uid="_14667743020768804" modifiedtitle="true"&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Weak pull downs */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; usb_hal_khci_set_weak_pulldown(usb_dev_ptr-&amp;gt;usbRegBase);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* reset USB CTRL register */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; usb_hal_khci_reset_control_register(usb_dev_ptr-&amp;gt;usbRegBase);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable internal pull-up resistor */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; usb_hal_khci_set_internal_pullup(usb_dev_ptr-&amp;gt;usbRegBase);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; usb_hal_khci_set_trc0(usb_dev_ptr-&amp;gt;usbRegBase); /* Software must set this bit to 1 */&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Other importat thing to be considered is that USB's clock should be set to 48 MHz and CPU's clock must be greater than 20 MHz in order to work properly. Also, here are other "common" errors that avoid USB Device to be recognized by PC:&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" data-containerid="11234" data-containertype="14" data-content-finding="Community" data-objectid="384028" data-objecttype="1" href="https://community.nxp.com/thread/384028" rel="noopener noreferrer" target="_blank"&gt;KDS/KSDK K20 USB Driver Mutex Problem&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" data-containerid="11213" data-containertype="14" data-content-finding="Community" data-objectid="359590" data-objecttype="1" href="https://community.nxp.com/thread/359590" rel="noopener noreferrer" target="_blank"&gt;PE-generated USB code does not seem to work&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For hardware's point of view, It is important to add a Capacitor on VOUT33 terminal.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="VOUT33 Capacitor.jpg"&gt;&lt;IMG alt="VOUT33 Capacitor.jpg" src="https://community.nxp.com/t5/image/serverpage/image-id/60344i9146ED50F1CB905E/image-size/large?v=v2&amp;amp;px=999" title="VOUT33 Capacitor.jpg" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Also, make sure that USB hardware is similir to the one used in FRDM-K64F:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="USB Hardware.jpg"&gt;&lt;IMG alt="USB Hardware.jpg" src="https://community.nxp.com/t5/image/serverpage/image-id/60374iEC969273A2F29558/image-size/large?v=v2&amp;amp;px=999" title="USB Hardware.jpg" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this helps!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Isaac&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 13:42:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-MSD-Pull-Up-Internal-Resistor-MK60-MK64/m-p/564798#M33911</guid>
      <dc:creator>isaacavila</dc:creator>
      <dc:date>2020-11-02T13:42:10Z</dc:date>
    </item>
    <item>
      <title>Re: USB MSD Pull Up Internal Resistor MK60 / MK64</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-MSD-Pull-Up-Internal-Resistor-MK60-MK64/m-p/564799#M33912</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thansk for the answers! I checked vregin and vout33 and noticed, that those are not connected. That means, we don't have power on the usb controller.&lt;/P&gt;&lt;P&gt;The problem is, that we have to change the layout completely, which will take us 3-4 weeks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_0.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/21507i5A00182CA134ADF7/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_0.png" alt="pastedImage_0.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I checked the K60 reference manual and noticed, that there is a USB bus power supply where VOUT33 is connected to VDD. Can I do this with the software? Maybe with setting a register? Or do we have to change the layout and fix the hardware?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your help!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Jun 2016 08:44:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-MSD-Pull-Up-Internal-Resistor-MK60-MK64/m-p/564799#M33912</guid>
      <dc:creator>philipp</dc:creator>
      <dc:date>2016-06-27T08:44:52Z</dc:date>
    </item>
  </channel>
</rss>

