<?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: LPC1756 SoftConnect feature in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1756-SoftConnect-feature/m-p/524616#M7252</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Daniel Widyanto on Sun Oct 28 20:36:00 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Linas,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The SoftConnect pin is attached to the USB device peripheral. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When you insert this code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void usb_connect(void) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_USB-&amp;gt;USBDevIntClr = 0x10; /* Clear CCEMPTY */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_USB-&amp;gt;USBCmdCode = 0x00FE0500; /* CMD_CODE=0xFE, CMD_PHASE=0x05(Command) */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!(LPC_USB-&amp;gt;USBDevIntSt &amp;amp; 0x10)); /* Wait for CCEMPTY */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_USB-&amp;gt;USBDevIntClr = 0x10; /* Clear CCEMPTY */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_USB-&amp;gt;USBCmdCode = 0x00010100; /* CMD_WDATA=0x01(CON=1), CMD_PHASE=0x01(Write) */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!(LPC_USB-&amp;gt;USBDevIntSt &amp;amp; 0x10)); /* Wait for CCEMPTY */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;the SoftConnect pin will turn LOW, activating the pull-up to D+, and start the LPC17xx USB device enumeration (if USB host is attached).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Alternatively, you can use this code &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void usb_connect(void) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIOx-&amp;gt;FIOPIN &amp;amp;= ~(1 &amp;lt;&amp;lt; your_softconnect_pin);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;to turn LOW any GPIO that you use to activate the pull up to D+.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Or the least implementation is to pull up the D+ line permanently.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But, I'd recommend to have at least SoftConnect, since the USB Host may have very fast response (eg. start enumerating the USB device after 2ms attachment), and you are not sure whether your device is ready to receive that within 2ms (assuming you need to init other peripherals on the board as well).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also, Softconnect is better than GPIO, since most of USB stack for LPC17xx is using SoftConnect pin instead of GPIO.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 18:09:18 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T18:09:18Z</dc:date>
    <item>
      <title>LPC1756 SoftConnect feature</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1756-SoftConnect-feature/m-p/524615#M7251</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Linas on Sun Oct 28 12:23:24 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the datasheet I have found that in the bus-powered device I do not need to use SoftConnect pin in order &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;to pull D+ line. Instead I can use pull-up resistor.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In some other application notes for development kits I have found that it is recommended to use SoftConnect &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;pin in order to pull the D+ line by software.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What are the recommendations regarding SoftConnect functionality. My application implements USB device using LPC1756 MCU.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Linas&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:09:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1756-SoftConnect-feature/m-p/524615#M7251</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:09:18Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1756 SoftConnect feature</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1756-SoftConnect-feature/m-p/524616#M7252</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Daniel Widyanto on Sun Oct 28 20:36:00 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Linas,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The SoftConnect pin is attached to the USB device peripheral. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When you insert this code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void usb_connect(void) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_USB-&amp;gt;USBDevIntClr = 0x10; /* Clear CCEMPTY */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_USB-&amp;gt;USBCmdCode = 0x00FE0500; /* CMD_CODE=0xFE, CMD_PHASE=0x05(Command) */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!(LPC_USB-&amp;gt;USBDevIntSt &amp;amp; 0x10)); /* Wait for CCEMPTY */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_USB-&amp;gt;USBDevIntClr = 0x10; /* Clear CCEMPTY */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_USB-&amp;gt;USBCmdCode = 0x00010100; /* CMD_WDATA=0x01(CON=1), CMD_PHASE=0x01(Write) */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!(LPC_USB-&amp;gt;USBDevIntSt &amp;amp; 0x10)); /* Wait for CCEMPTY */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;the SoftConnect pin will turn LOW, activating the pull-up to D+, and start the LPC17xx USB device enumeration (if USB host is attached).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Alternatively, you can use this code &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void usb_connect(void) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIOx-&amp;gt;FIOPIN &amp;amp;= ~(1 &amp;lt;&amp;lt; your_softconnect_pin);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;to turn LOW any GPIO that you use to activate the pull up to D+.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Or the least implementation is to pull up the D+ line permanently.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But, I'd recommend to have at least SoftConnect, since the USB Host may have very fast response (eg. start enumerating the USB device after 2ms attachment), and you are not sure whether your device is ready to receive that within 2ms (assuming you need to init other peripherals on the board as well).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also, Softconnect is better than GPIO, since most of USB stack for LPC17xx is using SoftConnect pin instead of GPIO.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:09:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1756-SoftConnect-feature/m-p/524616#M7252</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:09:18Z</dc:date>
    </item>
  </channel>
</rss>

