LPC1343 USB Stack
This is the controller board used in one of my USB projects. The lpc1343 module has been separated from the LPC-Link and is now mounted on top of a PCB that holds screw type connectors for the wires. The only real components on the board are the 3v3 regulator to power the LPCXpresso module and the USB components.
Porting LPCUSB
It looked easy enough. The LPCUSB stack from Betrik Sikken has been ported to the lpc1768 by Code Red.
The lpc134x uses the same USB device controller so it should be easy to port the stack to the lpc1343.
If only that was true ...
Creating an lpc1343 project with the stack showed that some of the register names changed. A register on the lpc17xx is named USBDevIntSt where this is called DevIntSt on the lpc134x. This triggered me to look at the differences between both controllers.
Quickly I noticed changes in the interrupt structure: the lpc17xx has separate registers to control the end point interrupts with only a fast and a slow interrupt in the USBDevInt... registers and the lpc134x has all interrupts in one register set (DevInt...)
After carefully changing all the defined and changing the hardware interface it's time for testing...
But it is not working; After initialization of the stack and the hardware the CON (soft connect feature) bit in the SEI's Set Status Register is set and USB communication is started. I do see the Frame interrupts, but as soon as the EP0 interrupt occurs (as a result of a packet being received from the PC) thing stop. The USB stack waits for a CD_FULL interrupt but that does not happen ...
The Software
This is the current software as is.
It contains bugs and does not work correctly, if you download this and fix things please send me an email with the changes, I will then incorporate these and add the changes.
Download link (Nov, 16 2011)
External Links
Bertrik's LPCUSB can still be found on SourceForge.
Here is the thread where I stated porting should be easy ...
The examples from Code Red are in the NXP/LPC1000/LPC17xx/RDBcmsis2.zip project archive in the LPCXpresso installation directory.