Looking for an NXP ARM CM0 reference design - Page 1
Forum section: electronics / general

author: apelly
author_rank: Unknown
timestamp: September 01, 2014, 06:45:41 am
content: I have 3 or 4 projects in the planning phase, some more advanced than others, that require a smallish MCU.While I was browsing element 14 the other day I found some NXP LPC11U35FBD48s on sale for 3 NZD each. They seem to tick a lot of boxes:LQFP4864k Flash10k RAM4k EEPROM3.3v5v tolerant digital I/OBuilt in USBI bought 10. I figure I'll break a couple, a couple will end up on non-functional boards, and they're overkill for some things I want, but it'll be helpful to focus on one chip for a while.Here's theNXPmarketing wankoverview, thedatasheet (pdf), and theuser guide (pdf)Anyway; for the life of me I can't find a reference design. I've been following dannyf's cool threadSTM32, ghetto style, and he's doing nothing! Presumably more effort is required for something reliable? Maybe the things are so robust it doesn't matter. There are a few notes in the datasheet, but it seems far from comprehensive.I'm particularly interested in the reference voltage and decoupling. Any thoughts?

author: Marco
author_rank: Super Contributor
timestamp: September 01, 2014, 07:03:11 am
content: Couldn't you get that from the schematics for one of the LPC11U37 boards? (Same micro with more Flash AFAICS.)

author: apelly
author_rank: Unknown
timestamp: September 01, 2014, 07:07:32 am
content: You'd bloody think so wouldn't you? Granted, I was tired when I was looking yesterday, but I couldn't see schematics postedanywhere.If you've seen them anywhere could you give me a clue where you were looking please?

author: Jeroen3
author_rank: Super Contributor
timestamp: September 01, 2014, 07:09:31 am
content: Well then. Let me google that for you.(Notice the LPC11Uxx, where the xx only specify minor diffcerences in perihperal count, speeds or memory sizes due to yield rates or marketing e.g....)http://www.keil.com/support/man/docs/mcb1000/mcb1000_to_schematics.htmhttp://www.embeddedartists.com/products/lpcxpresso/lpc11U14_xpr.phphttp://www.nxp.com/demoboard/OM13032.htmlOr maybe a design based on a LPC11U24,http://bit.ly/Z4biXQ.(Quality not guaranteed, rush project)And the "official" nxp support site. No, that isn't nxp.comhttp://www.lpcware.com/content/device/lpc11uxx

author: apelly
author_rank: Unknown
timestamp: September 01, 2014, 07:14:52 am
content: Quote from: Jeroen3 on September 01, 2014, 07:09:31 amReally? You found those in only a couple of minutes? I've literally spent hours and come up empty.Quote from: Jeroen3 on September 01, 2014, 07:09:31 amNow, now; no need to take the pissWhat's the skill I'm missing? Simple abbreviation, by the looks of it.Anyway, thanks mate! That's awesome.

author: Jeroen3
author_rank: Super Contributor
timestamp: September 01, 2014, 07:22:22 am
content: It a thing you will learn when working with nxp products. You don't find a consolidated collection of useful documents at the obvious places.But they are improving, slowly.It also helps a lot if you know their part naming scheme.

author: HackedFridgeMagnet
author_rank: Super Contributor
timestamp: September 01, 2014, 08:59:31 am
content: QuoteNXP and STMicro are more similar than I realised.

author: nctnico
author_rank: Super Contributor
timestamp: September 01, 2014, 10:42:54 am
content: Quote from: Jeroen3 on September 01, 2014, 07:22:22 amIf you look at the device on their website there is a link to a zip file containing ALL the documents (datasheets, user manual, errata)!

author: dannyf
author_rank: Super Contributor
timestamp: September 01, 2014, 10:49:48 am
content: QuoteFirst of all, what is a "reference design" isn't entirely clear. What is required for a particular application will depend on that application.Some "practical" minimum would be connecting all Vdd/Vss; decoupling on Vdd/Vss; and decoupling to VDDA / Vref (if it has one).After that, you may implement RESET; Crystal; or SWD/JTAG; or external Vref; Some chips have Vcap and you will need to connect those as well....As the STM32 thread shows, those chips are surprisingly robust and a truly minimalist board can work. It may not be advisable for certain applications, however.

author: apelly
author_rank: Unknown
timestamp: September 01, 2014, 10:53:06 am
content: Quote from: nctnico on September 01, 2014, 10:42:54 amYep. Sure is.None of those docs have schematics though. Not that I found. Compare those docs (most of which areveryuseful) with the links above from Jeroen3Edit: Damn my spelling!

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: September 01, 2014, 11:09:30 am
content: Find some devboards, look at their schematics.On NXP parts, one gotcha is there is typically at least one pin that needs to be pulled to determine whether a bootloader runs at startup.

author: tszaboo
author_rank: Super Contributor
timestamp: September 01, 2014, 12:17:45 pm
content: Indeed, there should be more useful information also for the hardware designer at the devices' webpage. Battery powered, and mains powered reference designs. They probably dont realize that this sis the correct place to sell their own power management/reset and other support circuits.For NXP, I would look for the LPCexpresso boards, buy one, download schematic, that should help.

author: Jeroen3
author_rank: Super Contributor
timestamp: September 01, 2014, 01:21:11 pm
content: Quote from: mikeselectricstuff on September 01, 2014, 11:09:30 amIn case you forget this, most of nxp's bootloaders search for a pattern at a predetermined address in flash to disable the bootloader. So,alwaysput the swd on a header.Few manufacturers include full reference design schematics, some have application notes (appnote) or examples in the manual, such as ftdi.QuoteThats a recent addition, not all parts had that a while ago. But it's a good thing.LPCware usually has the latest documents.

author: nctnico
author_rank: Super Contributor
timestamp: September 01, 2014, 02:46:09 pm
content: The link to the zip file has been there for at least 8 years for about every NXP ARM controller I ever used O0

author: jakeypoo
author_rank: Regular Contributor
timestamp: September 01, 2014, 04:23:34 pm
content: I'm using an embedded artists lpc11u35 board. Link:http://www.embeddedartists.com/products/boards/lpc11u35_qsb.phpSchematic is there but you have to log in. (It's a pretty bare bones board)

author: nctnico
author_rank: Super Contributor
timestamp: September 01, 2014, 04:37:15 pm
content: If you look for example schematics for NXP's ARM controllers: Keil has a wide range on their website. Most include some extra circuitry to allow serial port programming using the bootloader & the Flashmagic software.

author: sporadic
author_rank: Regular Contributor
timestamp: September 01, 2014, 04:41:47 pm
content: Not directly related, but Atmel is pretty good at having "schematic checklists" that tell you what all needs to be connected and how for correct chip operation. Power, debugging / programming, reset, etc... For their Xmegas, this was a separate appnote. For the Atmel D20 (CM0+), they include it in the datasheet itself -http://www.atmel.com/Images/Atmel-42129-SAM-D20_Datasheet.pdf(page 607).

author: zapta
author_rank: Super Contributor
timestamp: September 01, 2014, 05:43:30 pm
content: Quote from: Jeroen3 on September 01, 2014, 07:09:31 amHere is another minimal design from embedded artistshttp://www.embeddedartists.com/products/boards/lpc11u35_qsb.php

author: Jeroen3
author_rank: Super Contributor
timestamp: September 01, 2014, 07:05:00 pm
content: Cool a small breadboardable ARMwiththe swd header!Those people also sell genuine ulinks for an afforable price, great combo.None of that lpclink crap, down to the bare metal wil keil

author: apelly
author_rank: Unknown
timestamp: September 01, 2014, 11:07:42 pm
content: Thanks for the info guys. Like most projects, it'll be months before I have anything to show for this, but I'll be sure to post when I do.

author: zapta
author_rank: Super Contributor
timestamp: September 02, 2014, 07:07:43 pm
content: Quote from: jakeypoo on September 01, 2014, 04:23:34 pmIs there a way to check the schematic before buying it? I logged in but it asks me for a serial number.

author: jakeypoo
author_rank: Regular Contributor
timestamp: September 04, 2014, 12:36:57 pm
content: Quote from: zapta on September 02, 2014, 07:07:43 pmSurprisingly, it's very hard to find online. Either no one uses the board, or they are good at keeping it from being public (I don't know why they would).It's very basic.- USB line protection & plug in detection.- 3V3 LDO- Undervoltage reset generator IC- SWD header- Switches reset & for selecting USB/UART bootloader- Some LEDSIf you really want the schematic, PM me and I can send it to you. Don't want to get Dave in trouble by posting it here.

author: dannyf
author_rank: Super Contributor
timestamp: September 04, 2014, 01:24:36 pm
content: Lots of information / schematic about those things in the lpcxpresso user manuals.

author: zapta
author_rank: Super Contributor
timestamp: September 04, 2014, 03:21:17 pm
content: Quote from: jakeypoo on September 04, 2014, 12:36:57 pmIs the undervoltage reset generator IC really required?(I plan to use it as a minimal circuit design example for my own custom boards).

author: ElektroQuark
author_rank: Unknown
timestamp: September 04, 2014, 03:26:46 pm
content: Doesn't the BOR behaves similarly?

author: zapta
author_rank: Super Contributor
timestamp: September 04, 2014, 03:29:04 pm
content: This link has detailed schematics, BOM and and code examples for minimalist NXP M0.http://eewiki.net/display/microcontroller/Getting+Started+with+NXP's+LPC11XX+Cortex-M0+ARM+Microcontrollers

author: SirNick
author_rank: Frequent Contributor
timestamp: September 04, 2014, 07:15:20 pm
content: I just sent this to the fab -- it's my first ARM project, so I can't vouch for it yet. But, if there are any glaring issues, maybe the guys here can rip it to shreds and we'll both benefit.

author: nctnico
author_rank: Super Contributor
timestamp: September 04, 2014, 08:03:02 pm
content: Quote from: zapta on September 04, 2014, 03:21:17 pmI never use one with the Cortex Mx controllers from NXP. They have their internal power-on-reset circuitry.

author: zapta
author_rank: Super Contributor
timestamp: September 05, 2014, 03:18:51 am
content: Quote from: nctnico on September 04, 2014, 08:03:02 pmIt's connected to the reset button. Is it possible to have a reset button with the internal power-on-reset?

author: zapta
author_rank: Super Contributor
timestamp: September 05, 2014, 03:25:32 am
content: I am looking at the minimal LPC11U14 circuit in page 4 here (this is the target side of the LPC11U14 LPCExpresso board.http://www.embeddedartists.com/sites/default/files/docs/schematics/LPCXpressoLPC11U14revA.pdfWhat is the purpose of Q3? The LPC11U35 Quick Start board has a similar arrangement which the manual describes as follows: " There is also a USB connect functionality to connect a 1.5Kohm resistor to the USB-DP signal. "

author: Jeroen3
author_rank: Super Contributor
timestamp: September 05, 2014, 06:17:41 am
content: Q3 is USB soft connect. Which can "reset" the USB connection. To force re-enumeration by the host.The bootloader uses it to signal it's done using the USB-MSC or USB-DFU class to the connected host.

author: zapta
author_rank: Super Contributor
timestamp: September 05, 2014, 06:35:33 am
content: Quote from: Jeroen3 on September 05, 2014, 06:17:41 amThanks Jeroen3. Can I achieve the same effect by manually reconnecting the USB when the bootloader is done?(trying to minimize the circuit).

author: SirNick
author_rank: Frequent Contributor
timestamp: September 06, 2014, 12:18:34 am
content: Yes, technically. It's not primarily a reset signal, per-se.... It's how the USB host knows there's a device on the other end. By turning on the transistor, you pull the line (either D+ or D- depending on the device speed you're advertising) to 3v3. It goes through a resistor (pull-up) because the data line still needs to serve as part of the differential pair.If you need to reset the bus, you can drop the pull-up, signalling a device disconnect, and then pull it high again to re-enumerate. Youcoulduse a resistor to 3v3 alone... however.... your MCU is not likely to be fully booted before the host starts interrogating your device, so you may end up with "device malfunction" errors without a means to delay presence detect until the code is ready to participate on the bus.

author: zapta
author_rank: Super Contributor
timestamp: September 06, 2014, 05:15:22 am
content: Quote from: SirNick on September 06, 2014, 12:18:34 amThanks for the explanation. I will hook a scope and will look at the timing.How come this functionality, which is part of the USB protocol, not implemented inside the MCU? After all it does have USB controller.

author: zapta
author_rank: Super Contributor
timestamp: September 06, 2014, 06:40:13 pm
content: Quote from: jakeypoo on September 04, 2014, 12:36:57 pmGot the board today and like it. It's small and minimal, similar to the Arduino Mini Pro on which I used previously as a reference design. Hooked it to a computer and saw the bootloader USB file system with the binary file (great for firmware update by end users). Will start programming it today (I already have the LPC Link and got this cable from digikey SAM8218-ND). Life is good.

author: Jeroen3
author_rank: Super Contributor
timestamp: September 07, 2014, 12:47:28 pm
content: Quote from: zapta on September 06, 2014, 05:15:22 amBecause it takes time to boot up the USB controller.An small article on this pin:http://learnembedded.blogspot.nl/2009/11/embedded-artists-lpc-2148-usb.html