Hi all,
I have designed my own PCB with LPC11U68. Here is the schematic:
We cannot read well but the capacitors attached to the crystal are 18pF and the crystal is this one: http://www.digikey.com/product-detail/en/7M-12.000MEEQ-T/887-1316-1-ND/2207898
The ISP is expected to be through USB (I cannot change to UART). I have a 12Mhz external crystal.
When I plug the board to USB, I can see the USB be enumerated by Linux:
[46830.963165] scsi79 : usb-storage 2-1.3:1.0
[46831.436294] usb 2-1.3: USB disconnect, device number 68
[46831.634474] usb 2-1.3: new full-speed USB device number 69 using ehci-pci
[46831.729533] usb 2-1.3: New USB device found, idVendor=1fc9, idProduct=0017
[46831.729542] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[46831.729548] usb 2-1.3: Product: LPC1XXX IFLASH
[46831.729553] usb 2-1.3: Manufacturer: NXP
[46831.729557] usb 2-1.3: SerialNumber: ISP
[46831.730339] usb-storage 2-1.3:1.0: USB Mass Storage device detected
But I could only access the USB mass-storage the first time I plugged it. But I did not have time to do anything else, after few seconds the mass-storage disappeared and since then every time I plug the device it constantly enumerated but without mounting the mass-storage; even after leaving the device unplugged for an hour.
The only one time the LPC was successful mounted I had this output:
[234963.388167] usb 1-1.1: new full-speed USB device number 113 using ehci-pci
[234963.483203] usb 1-1.1: New USB device found, idVendor=1fc9, idProduct=0017
[234963.483210] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[234963.483215] usb 1-1.1: Product: LPC1XXX IFLASH
[234963.483218] usb 1-1.1: Manufacturer: NXP
[234963.483222] usb 1-1.1: SerialNumber: ISP
[234963.483994] usb-storage 1-1.1:1.0: USB Mass Storage device detected
[234963.484215] scsi122 : usb-storage 1-1.1:1.0
mtp-probe: checking bus 1, device 113: "/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1"
mtp-probe: bus: 1, device: 113 was not an MTP device
[234964.485934] scsi 122:0:0:0: Direct-Access NXP LPC1XXX IFLASH 1.0 PQ: 0 ANSI: 0 CCS
[234964.486568] sd 122:0:0:0: Attached scsi generic sg2 type 0
[234964.487081] sd 122:0:0:0: [sdb] 516 512-byte logical blocks: (264 kB/258 KiB)
[234964.488418] sd 122:0:0:0: [sdb] Write Protect is off
[234964.488427] sd 122:0:0:0: [sdb] Mode Sense: 03 00 00 00
[234964.492817] sd 122:0:0:0: [sdb] No Caching mode page found
[234964.492827] sd 122:0:0:0: [sdb] Assuming drive cache: write through
[234964.497456] sd 122:0:0:0: [sdb] No Caching mode page found
[234964.497465] sd 122:0:0:0: [sdb] Assuming drive cache: write through
[234964.506426] sdb:
[234964.511600] sd 122:0:0:0: [sdb] No Caching mode page found
[234964.511607] sd 122:0:0:0: [sdb] Assuming drive cache: write through
[234964.511613] sd 122:0:0:0: [sdb] Attached SCSI removable disk
udisksd[2678]: Mounted /dev/sdb at /media/olivier/CRP DISABLD on behalf of uid 1000
I tried on a different computer and it also continuously enumerated without mounting the mass-storage.
I can briefly do a `lsusb` and Linux seems to return the appropriate info:
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1fc9 NXP Semiconductors
idProduct 0x0017
bcdDevice d.01
iManufacturer 1
iProduct 2
iSerial 3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 4
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
I am trying to think about potential issues:
- Software: Unlikely as it is still in the NXP ROM Bootloader
- Design: Possible, I discovered after sending my design to the PCB manufacturer that NXP has added many more capacitors on the voltage lines: https://www.lpcware.com/system/files/LPC11U68_Xpresso_v2_Schematic_RevC_1.pdf .
- Soldering: Why not (I am not necessary an expert in SMD soldering) but it would not explain why it "almost" work
With a logic analyzer, the crystal signals XTALIN and XTALOUT look like that:
I confirm XTALOUT has a frequency of 12MHz.
The USB signals look like that (I removed the crystal signals):
I compare both last packets before the interruption of the USB signals and they are different.
Hi Olivier Martin,
I've also use the ISUSB to get the information which is illustrated below.
And I'd highly recommend you to check the hardware circuit of the customize board again.
Bus 003 Device 004: ID 1fc9:0090 NXP Semiconductors
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 ?
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x1fc9 NXP Semiconductors
idProduct 0x0090
bcdDevice 1.00
iManufacturer 1
iProduct 2
iSerial 3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 139
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 250mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 4
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.00
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 33
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 1
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 2 Abstract (modem)
bFunctionProtocol 0 None
iFunction 5
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 0 None
iInterface 5
CDC Header:
bcdCDC 1.10
CDC Call Management:
bmCapabilities 0x01
call management
bDataInterface 2
CDC ACM:
bmCapabilities 0x02
line coding and serial state
CDC Union:
bMasterInterface 1
bSlaveInterface 2
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 2
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 6
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 33
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Have a great day,
Ping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------