<?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>LPC1768 and LPC1788 USB Differences</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/39678/lpc1768-and-lpc1788-usb-differences</link><description> 
Hi all, 

 
My USB Host Driver working fine with LPC1768 for USB HID
Devices. 
But I want to use this driver with LPC1788(On Embedded Artist Board)
its doesnt work. 
LPC1788 works fine with USB Host Lite sample. 
And I use this sammple&amp;#39;s Hardware init</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: LPC1768 and LPC1788 USB Differences</title><link>https://community.arm.com/thread/147772?ContentTypeID=1</link><pubDate>Wed, 04 Apr 2012 07:41:12 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:dad58b49-fee4-4646-90cc-d85be925e24e</guid><dc:creator>Chinzei Tsuneo</dc:creator><description>&lt;p&gt;&lt;p&gt;
USB device/host uses dedicated RAM for DMA&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;1.2 Features (UM10360-LPC17xx User manual, UM10470-LPC178x/7x
User manual)&lt;br /&gt;
Up to two 16 kB SRAM blocks with separate access paths for higher
throughput.&lt;br /&gt;
These SRAM blocks may be used for Ethernet, USB, LCD, and DMA memory,
as&lt;br /&gt;
well as for general purpose instruction and data storage.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
This peripheral RAM locates,&lt;br /&gt;
LPC1768: 0x2008 0000 - 0x2008 3FFF&lt;br /&gt;
LPC1788: 0x2000 4000 - 0x2000 7FFF&lt;/p&gt;

&lt;p&gt;
Then, this macro should be modified for LPC1788&lt;/p&gt;

&lt;pre&gt;
usbhost_lpc17xx.h
#define HOST_BASE_ADDR          0x20080000  // &amp;lt;--- 0x20004000
&lt;/pre&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: LPC1768 and LPC1788 USB Differences</title><link>https://community.arm.com/thread/146838?ContentTypeID=1</link><pubDate>Wed, 04 Apr 2012 06:18:25 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:5878fe0b-486c-4f21-8527-7268a496601d</guid><dc:creator>Murat &amp;#199;AKMAK</dc:creator><description>&lt;p&gt;&lt;p&gt;
Hi Tsuneo,&lt;/p&gt;

&lt;p&gt;
Thanks for your interest.&lt;br /&gt;
There is 100 ms waiting before and after bus reset when device
connected.&lt;/p&gt;

&lt;p&gt;
Additional since tomorrow I trying to apply NXP&amp;#39;s nxpUSBLib.&lt;/p&gt;

&lt;p&gt;
&lt;a href="http://www.lpcware.com/content/project/nxpusblib"&gt;www.lpcware.com/.../nxpusblib&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
In package there are some examples(HID Host) for LPC1768 and I
have tried, its working.&lt;br /&gt;
And I have changed &amp;quot;only&amp;quot; register names for converting 1768 project
to LPC1788 project.&lt;br /&gt;
Because they are defined different in lpc17xx.h and lpc177x_8x.h&lt;/p&gt;

&lt;p&gt;
Example :&lt;/p&gt;

&lt;p&gt;
LPC1768&lt;br /&gt;
----------------------------&lt;br /&gt;
LPCUSB-&amp;gt;HcControl&lt;br /&gt;
LPCUSB-&amp;gt;HcInterruptStatus&lt;/p&gt;

&lt;p&gt;
LPC1788&lt;br /&gt;
----------------------&lt;br /&gt;
LPCUSB-&amp;gt;Control&lt;br /&gt;
LPCUSB-&amp;gt;InterruptStatus&lt;/p&gt;

&lt;p&gt;
But result is same. After sending setup token, Writebackdonehead
interrupt never occured.&lt;/p&gt;

&lt;p&gt;
Is there any &amp;quot;extra&amp;quot; modification between LPC1768 and LPC1788.&lt;br /&gt;
Are you develop any Host HID application on LPC1788 or anyone?&lt;/p&gt;

&lt;p&gt;
Thanks.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: LPC1768 and LPC1788 USB Differences</title><link>https://community.arm.com/thread/145287?ContentTypeID=1</link><pubDate>Tue, 03 Apr 2012 17:00:48 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:e13fdcfa-6830-4ec2-93e2-329655f786ef</guid><dc:creator>Chinzei Tsuneo</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;gt; I can sense HubStatus Changing and Device Connecting.&lt;br /&gt;
After that, I want to add device.&lt;br /&gt;
So first of all, I request Device Descriptor(8 Byte).&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
How about bus reset?&lt;br /&gt;
The first thing to do after detecting connection is, bus reset.&lt;br /&gt;
Until bus reset finishes, the root hub doesn&amp;#39;t connect the bus
segment.&lt;br /&gt;
Around the bus reset, follow the timing specified in the USB2.0
spec.&lt;/p&gt;

&lt;p&gt;
USB 2.0 Connect Timing ECN.pdf (distributed in USB2.0 spec
zip)&lt;br /&gt;
delta-t4(Tcon_rst) - 100ms minimum before bus reset&lt;br /&gt;
delta-t6(Trstrcy) - 10 ms minimum after bus reset&lt;/p&gt;

&lt;p&gt;
USB2.0 spec&lt;br /&gt;
&lt;a href="http://www.usb.org/developers/docs/usb_20_101111.zip"&gt;www.usb.org/.../usb_20_101111.zip&lt;/a&gt;&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: LPC1768 and LPC1788 USB Differences</title><link>https://community.arm.com/thread/143155?ContentTypeID=1</link><pubDate>Tue, 03 Apr 2012 05:27:07 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:e1b9c225-201d-42dd-9096-3e76594d14f3</guid><dc:creator>Murat &amp;#199;AKMAK</dc:creator><description>&lt;p&gt;&lt;p&gt;
I couldnt find neccesary info in Datasheet about
FRAMEINTERVAL.&lt;/p&gt;

&lt;p&gt;
My Basic problem is :&lt;/p&gt;

&lt;p&gt;
When a HID Device connected,&lt;br /&gt;
I can sense HubStatus Changing and Device Connecting.&lt;br /&gt;
After that, I want to add device.&lt;br /&gt;
So first of all, I request Device Descriptor(8 Byte).&lt;br /&gt;
While requesting Device Descriptor, I am sending a SETUP TOKEN.&lt;br /&gt;
But I cant receive WritebackDoneHead.&lt;/p&gt;

&lt;p&gt;
All of them working fine on LPC1768. So I think I have mistake
with LPC1788 hardware initialization. I apply all USBHostLite
hardware init code to my firmware with neccesary modifies but result
is same.&lt;/p&gt;

&lt;p&gt;
There is a same problem but it not resolved :(&lt;br /&gt;
&lt;a href="http://www.embeddedrelated.com/groups/lpc2000/show/53982.php"&gt;www.embeddedrelated.com/.../53982.php&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
If you want, I can send all of my driver code to you.&lt;br /&gt;
I&amp;#39;m about to go crazy.&lt;/p&gt;

&lt;p&gt;
Murat.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: LPC1768 and LPC1788 USB Differences</title><link>https://community.arm.com/thread/140208?ContentTypeID=1</link><pubDate>Tue, 03 Apr 2012 04:27:18 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:b41c2573-faff-4623-8850-76f7a3fd0e87</guid><dc:creator>Chinzei Tsuneo</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;gt; I have used FRAMEINTERVAL value as (25000 - 1) and (12000
- 1) but result is same.&lt;br /&gt;
&amp;gt; What are the correct values for HID Host?&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
&amp;quot;HID Host&amp;quot; doesn&amp;#39;t need any specific FRAMEINTERVAL value. It&amp;#39;s
common to host implementation. Apply the value defined in USBHostLite
as is.&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;&amp;gt; I couldnt find neccesary info in Datasheet&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
It&amp;#39;s because the host engine is based on OHCI spec.&lt;br /&gt;
See OHCI spec for the details.&lt;/p&gt;

&lt;p&gt;
OHCI, UHCI and EHCI spec link on USB.org&lt;br /&gt;
&lt;a href="http://www.usb.org/developers/resources/"&gt;www.usb.org/.../&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
Sound like you are playing on the host engine without
understanding OHCI spec. Fortunately, you have an example,
USBHostLite, which works on the EA board. Realize every line of the
example (usbhost_lpc17xx.c), first. And then, customize it as you
like.&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: LPC1768 and LPC1788 USB Differences</title><link>https://community.arm.com/thread/130983?ContentTypeID=1</link><pubDate>Tue, 03 Apr 2012 00:19:35 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:20bed811-64cb-4397-87a2-fe4427c557dd</guid><dc:creator>Murat &amp;#199;AKMAK</dc:creator><description>&lt;p&gt;&lt;p&gt;
And Additional,&lt;/p&gt;

&lt;p&gt;
My Driver waiting for WriteBackDoneHead Interrupt.&lt;br /&gt;
But interrupt never occured :(&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: LPC1768 and LPC1788 USB Differences</title><link>https://community.arm.com/thread/127443?ContentTypeID=1</link><pubDate>Mon, 02 Apr 2012 23:24:33 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:f6fb6548-b775-40b9-a738-e2c8be4042bd</guid><dc:creator>Murat &amp;#199;AKMAK</dc:creator><description>&lt;p&gt;&lt;p&gt;
Hi Tsuneo,&lt;/p&gt;

&lt;p&gt;
I call SystemInit() function at the beginning of my code.&lt;br /&gt;
And additional, I call SystemCoreClockUpdate().&lt;/p&gt;

&lt;p&gt;
Is it a timing/clocking problem?&lt;/p&gt;

&lt;p&gt;
I have used FRAMEINTERVAL value as (25000 - 1) and (12000 - 1) but
result is same.&lt;/p&gt;

&lt;pre&gt;
LPC_USB-&amp;gt;HcFmInterval = DEFAULT_FMINTERVAL;
LPC_USB-&amp;gt;HcPeriodicStart= FRAMEINTERVAL * 90 / 100;
&lt;/pre&gt;

&lt;p&gt;
What are the correct values for HID Host?&lt;br /&gt;
I couldnt find neccesary info in Datasheet.&lt;/p&gt;

&lt;p&gt;
Thanks.&lt;/p&gt;

&lt;p&gt;
Murat.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: LPC1768 and LPC1788 USB Differences</title><link>https://community.arm.com/thread/119661?ContentTypeID=1</link><pubDate>Mon, 02 Apr 2012 22:59:18 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:707d8866-3de4-45c4-a77f-365bd09ec74f</guid><dc:creator>Chinzei Tsuneo</dc:creator><description>&lt;p&gt;&lt;p&gt;
Ah, I remember.&lt;br /&gt;
For LPC178x, OTGStCtrl.PORT_FUNC has changed to assign the function
of two USB ports, device or host.&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: LPC1768 and LPC1788 USB Differences</title><link>https://community.arm.com/thread/105886?ContentTypeID=1</link><pubDate>Mon, 02 Apr 2012 15:26:19 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:feea7403-5797-49dd-8c62-a2f3afbd395d</guid><dc:creator>Chinzei Tsuneo</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;gt; USB Units does not need a crystal. Main Crystals are 12
MHz for both of two ICs.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
USB engine (both of host and device) requires a crystal to satisfy
USB spec.&lt;br /&gt;
MCB1760 mounts a 12MHz crystal. Embedded Artist LPC1788 Dev Kit,
too.&lt;br /&gt;
In SystemInit() (system_LPC17xx.c), USBHostLite_LPC17xx waits for
main OSC stabilization, and it sets up PLL1 for USB&lt;br /&gt;
Does your firmware have this code?&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: LPC1768 and LPC1788 USB Differences</title><link>https://community.arm.com/thread/80147?ContentTypeID=1</link><pubDate>Mon, 02 Apr 2012 06:30:47 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:753903f5-7038-4b1b-b90d-bc5d19e1ed49</guid><dc:creator>Murat &amp;#199;AKMAK</dc:creator><description>&lt;p&gt;&lt;p&gt;
Hi Tsuneo,&lt;/p&gt;

&lt;p&gt;
LPC1768 working on Landtiger Demo board.&lt;br /&gt;
LPC1788 working on Embedded Artist board.&lt;/p&gt;

&lt;p&gt;
- Is the crystal frequency the same? which crystal value do you
want to know? USB Units does not need a crystal. Main Crystals are 12
MHz for both of two ICs.&lt;/p&gt;

&lt;p&gt;
- How about USB_PPWR(P1.19) and USB_OVRCR(P1.27) setting? I use
onlt USB1 D+, USB1 D- And PPWR pins. I didnt use USB_OVRCR pin.
LPC1768 working without OVRCR. And is it neccasary?&lt;/p&gt;

&lt;p&gt;
Thanks.&lt;/p&gt;

&lt;p&gt;
Murat.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: LPC1768 and LPC1788 USB Differences</title><link>https://community.arm.com/thread/60572?ContentTypeID=1</link><pubDate>Mon, 02 Apr 2012 05:53:36 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:d265ecf8-15e5-494a-ab95-ca9965714c98</guid><dc:creator>Chinzei Tsuneo</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;gt; LPC1788 works fine with USB Host Lite sample.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
The target device of USBHostLite_LPC17xx is LPC1768 on Keil
MCB1760 board. As this example works on LPC1788, just by changing the
target device, it suggests that there isn&amp;#39;t any difference around the
USB host engine on these devices.&lt;/p&gt;

&lt;p&gt;
Sound like your firmware doesn&amp;#39;t reflect board circuit difference
enough.&lt;br /&gt;
- Is the crystal frequency the same?&lt;br /&gt;
- How about USB_PPWR(P1.19) and USB_OVRCR(P1.27) setting?&lt;/p&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>