Author Topic: Review: mbed NXP LPC1768  (Read 13285 times)

0 Members and 1 Guest are viewing this topic.

Offline NiHaoMike

  • Super Contributor
  • ***
  • Posts: 6092
  • Country: us
  • "Don't turn it on - Take it apart!"
    • Facebook Page
Review: mbed NXP LPC1768
« on: October 06, 2010, 05:00:57 am »
The mbed is an interesting board to play with. It took only minutes to write my first program using the online development environment. (Just for fun, I had it flash "Tiffany Yep" in binary on its 4 LEDs. My first program for it had to be special!)

Good:
* Easy to set up.
* 96MHz of CPU that fits on a breadboard.
* The Ethernet port is actually 100Mbit.
* Very flexible I/O

Bad:
* USB is only 1.1.
* No official support for standalone compiler.
* Not all I/Os on chip are usable.
* On mine, the USB port is poorly soldered.
* Poor documentation.
* 512kB Flash and 64kB RAM is very limited.
* Inefficient linear regulators.

I haven't got to play with most of its features, but here's what I figured out:
* To use the Ethernet port, connect a 0.1uF capacitor in series with each of the 4 Ethernet I/Os (one per line), then connect them to the RJ45. Ground the other 4 RJ45 pins unless you're using PoE.
* The IF+/- are connected in parallel with the USB port.

I'm planning to use it for my ECEN 489 networking class project. I'm thinking something exotic like a network-connected oscilloscope, logic analyzer, or spectrum analyzer.
Cryptocurrency has taught me to love math and at the same time be baffled by it.

Cryptocurrency lesson 0: Altcoins and Bitcoin are not the same thing.
 

Offline Zad

  • Super Contributor
  • ***
  • Posts: 1013
  • Country: gb
    • Digital Wizardry, Analogue Alchemy, Software Sorcery
Re: Review: mbed NXP LPC1768
« Reply #1 on: October 06, 2010, 06:24:25 pm »

Bad:

* 512kB Flash and 64kB RAM is very limited.
* Inefficient linear regulators.


Limited? You would have hated programming in the 1980s and 1990s then! This isn't a Windows machine which has huge library overheads and tons of graphics and sound.

Linear regs are often MORE efficient than switching regs on low power systems. Switching regs require a certain baseload current to operate, and draw an amount of power themselves to operate the switcher. Linear regs scale with the load (and of course voltage drop). Don't forget that an ARM core draws in the sub-milliamp region when not driving LEDs etc.


Offline Time

  • Frequent Contributor
  • **
  • Posts: 725
  • Country: us
Re: Review: mbed NXP LPC1768
« Reply #2 on: October 06, 2010, 06:27:06 pm »
pictures?
-Time
 

Offline allanw

  • Frequent Contributor
  • **
  • Posts: 343
    • Electronoblog
Re: Review: mbed NXP LPC1768
« Reply #3 on: October 06, 2010, 07:19:09 pm »
I don't understand all the Tiffany Yep references.
 

Offline Time

  • Frequent Contributor
  • **
  • Posts: 725
  • Country: us
Re: Review: mbed NXP LPC1768
« Reply #4 on: October 06, 2010, 07:20:48 pm »
Its his girlfriend or something.  You will just learn to look over it.
-Time
 

Offline NiHaoMike

  • Super Contributor
  • ***
  • Posts: 6092
  • Country: us
  • "Don't turn it on - Take it apart!"
    • Facebook Page
Re: Review: mbed NXP LPC1768
« Reply #5 on: October 06, 2010, 08:17:02 pm »
Limited? You would have hated programming in the 1980s and 1990s then! This isn't a Windows machine which has huge library overheads and tons of graphics and sound.

Linear regs are often MORE efficient than switching regs on low power systems. Switching regs require a certain baseload current to operate, and draw an amount of power themselves to operate the switcher. Linear regs scale with the load (and of course voltage drop). Don't forget that an ARM core draws in the sub-milliamp region when not driving LEDs etc.
Memory is so cheap nowadays that there's no reason to have just 64kB. I think something like 8MB or so would be more reasonable. Even my old 5G iPod (2x 80MHz ARM) has 32MB.

If you're going to run the mbed from a Li-ion battery, you'll need to use a switching power supply if you want to be able to use all of the battery capacity. Even more so for the new fangled LiFePO4 batteries. They should have designed it so it can be powered from an external 3.3V regulator without any modifications. It looks like it has two 3.3V regulators on board, one for the onboard logic and the other for 3.3V power output. I think they should have only one 3.3V regulator on board and make the 3.3V pin usable as either an input or output.
Quote
pictures?
http://mbed.org/handbook/mbed-NXP-LPC1768
No need to take it apart, it's supposed to be used on a breadboard.
Quote
I don't understand all the Tiffany Yep references.
Quote
Its his girlfriend or something.  You will just learn to look over it.
I wish. She's my best friend, a digital communications engineer, and a model. ( http://www.cacahouston.org/misschinatown2008results.htm ) I wish I could be really skinny like her. (I guess it's a little ironic when a power electronics engineer gets jealous of a digital communications engineer...)
Cryptocurrency has taught me to love math and at the same time be baffled by it.

Cryptocurrency lesson 0: Altcoins and Bitcoin are not the same thing.
 

Offline TheDirty

  • Frequent Contributor
  • **
  • Posts: 440
  • Country: ca
Re: Review: mbed NXP LPC1768
« Reply #6 on: October 07, 2010, 02:13:38 am »
Memory is so cheap nowadays that there's no reason to have just 64kB. I think something like 8MB or so would be more reasonable. Even my old 5G iPod (2x 80MHz ARM) has 32MB.
You're not understanding the target of this microcontroller. This is a Cortex-M3 single chip solution.  It's a stripped down ARM, not an ARM9 or even ARM7 with external RAM, which is what your iPOD uses.

Don't let the advanced peripherals fool you.  The beauty of the CM3 Core is its simplicity, CM0 even more so.  If you want 8MB you need to get a more complicated/expensive controller.
« Last Edit: October 07, 2010, 02:15:32 am by TheDirty »
Mark Higgins
 

Offline allanw

  • Frequent Contributor
  • **
  • Posts: 343
    • Electronoblog
Re: Review: mbed NXP LPC1768
« Reply #7 on: October 07, 2010, 02:14:51 am »
I think those ARM chips with large amounts of flash or RAM included are chip stacks which are definitely more expensive.
 

Offline NiHaoMike

  • Super Contributor
  • ***
  • Posts: 6092
  • Country: us
  • "Don't turn it on - Take it apart!"
    • Facebook Page
Re: Review: mbed NXP LPC1768
« Reply #8 on: October 08, 2010, 02:59:16 am »
I just remembered that a cheap Bluetooth headset I took apart used a tiny switching regulator to step down a Li-ion battery to 1.8V. It obviously must be significantly more efficient than a linear regulator even at those really low power levels, since they would otherwise have used a cheap linear regulator.
Cryptocurrency has taught me to love math and at the same time be baffled by it.

Cryptocurrency lesson 0: Altcoins and Bitcoin are not the same thing.
 

Offline Hypernova

  • Supporter
  • ****
  • Posts: 654
  • Country: tw
Re: Review: mbed NXP LPC1768
« Reply #9 on: October 08, 2010, 05:13:51 am »
Memory is so cheap nowadays that there's no reason to have just 64kB. I think something like 8MB or so would be more reasonable. Even my old 5G iPod (2x 80MHz ARM) has 32MB.

*an 8KB AVR user strolls by...*
 

Offline NiHaoMike

  • Super Contributor
  • ***
  • Posts: 6092
  • Country: us
  • "Don't turn it on - Take it apart!"
    • Facebook Page
Re: Review: mbed NXP LPC1768
« Reply #10 on: October 08, 2010, 05:44:12 am »
64kB seems way too little for a chip that has a 96MHz CPU and Ethernet. It's plenty for an ultra low cost microcontroller. The mbed is not one of those. Especially since Ethernet was never designed for very low power and many network applications are just asking for more memory.
Cryptocurrency has taught me to love math and at the same time be baffled by it.

Cryptocurrency lesson 0: Altcoins and Bitcoin are not the same thing.
 

Offline TheDirty

  • Frequent Contributor
  • **
  • Posts: 440
  • Country: ca
Re: Review: mbed NXP LPC1768
« Reply #11 on: October 08, 2010, 12:43:32 pm »
64kB seems way too little for a chip that has a 96MHz CPU and Ethernet. It's plenty for an ultra low cost microcontroller. The mbed is not one of those. Especially since Ethernet was never designed for very low power and many network applications are just asking for more memory.
Yes, low power is a requirement of some embedded ethernet applications.  I'm not certain what ethernet applications you have in mind, but remote monitoring, reporting, and control applications need very little flash/RAM.  I'm not even certain what application you have in mind that would need more than 512KB/64KB of flash/RAM.  Anything that needs more than that, you might as well just get an actual Nano or Pico server.  Something that runs embedded linux or full linux.  If people can put a HTTP/FTP server on 32KB flash, 512KB is enormous.

If it doesn't fit your requirements, move on to an ARM chip that does.  It fits other applications requirements. With the Cortex-M chips cost is one of the main factors and an external RAM bus would increase cost and complexity which just overlaps with what other ARM chips already offer.
Mark Higgins
 

alm

  • Guest
Re: Review: mbed NXP LPC1768
« Reply #12 on: October 08, 2010, 01:40:52 pm »
64kB seems way too little for a chip that has a 96MHz CPU and Ethernet. It's plenty for an ultra low cost microcontroller. The mbed is not one of those. Especially since Ethernet was never designed for very low power and many network applications are just asking for more memory.
I don't see the problem. People are doing TCP/IP with 2k of RAM, why would it be an issue with 64kB? MTU is usually 1500 bytes. Of course you won't be building a high-traffic webserver with this, but since the trend is ethernet connectivity for every single piece of equipment, I think ethernet connectivity on small 32-bit micro's is very useful. You don't need much RAM for basic TCP/IP control / monitoring.

This ARM Cortex M series is intended as a step-up from the 8/16-bit micro's, which are usually well below 64kB of RAM (512bytes - 8kB or so), and obviously not for something like a set-top box. It's not like there isn't enough choice of Cortex A8/A9 and ARM11 chips already, which can support tons of RAM and have much faster performance. But I'm quite sure these cost more than $7/each in 1k qty, especially if you include external RAM. For example, the cheapest Freescale ARM11 is $12 in 100 qty (price breaks don't go higher), plus the price of external RAM. And it's a BGA package, so good luck prototyping in your home lab.

What alternative for the LPC1768 would you suggest with similar price and features, but much more RAM?
 

Offline NiHaoMike

  • Super Contributor
  • ***
  • Posts: 6092
  • Country: us
  • "Don't turn it on - Take it apart!"
    • Facebook Page
Re: Review: mbed NXP LPC1768
« Reply #13 on: October 08, 2010, 02:26:38 pm »
My friend Brittany Benzaia does a lot of work on OpenWRT routers and APs and she thinks 8MB is small. Some of those routers are as little as $10 retail.

Back when the mbed was $100, the Gumstix boards and the Beagleboard seemed to offer much more features for just a little higher price. But now that it's $60, the higher end boards are in a totally different category.
Cryptocurrency has taught me to love math and at the same time be baffled by it.

Cryptocurrency lesson 0: Altcoins and Bitcoin are not the same thing.
 

Offline GeoffS

  • Supporter
  • ****
  • Posts: 1267
  • Country: au
Re: Review: mbed NXP LPC1768
« Reply #14 on: October 08, 2010, 02:33:35 pm »
I'm currently using PICs for small projects but  was considering an upgrade to a  Beagleboard.
I still like the idea of being able to run Linux but at less than half the prices of the Beagleboard, it may be worth getting an mbed just to play around - and hopefully learn something.
 

alm

  • Guest
Re: Review: mbed NXP LPC1768
« Reply #15 on: October 08, 2010, 03:03:54 pm »
My friend Brittany Benzaia does a lot of work on OpenWRT routers and APs and she thinks 8MB is small. Some of those routers are as little as $10 retail.
But these run something like Linux, which is a different class. I wouldn't use an ARM M3 to route 100MBit/s or run Linux either. $10 is probably old stock, even the ones with less RAM/flash, which can't even run Linux (2MB flash or so), are like $25 here. Plus they are sold in much larger quantities.

Back when the mbed was $100, the Gumstix boards and the Beagleboard seemed to offer much more features for just a little higher price. But now that it's $60, the higher end boards are in a totally different category.
Yes, the mbed is not particularly cheap, but I see it as a development board for prototyping. I would just stick an LPC17xx on the board for production work, and they're pretty cheap. A higher-end micro with external memory would be more expensive in similar quantities, and would be harder to route (four layer is probably mandatory).
 

Offline TheDirty

  • Frequent Contributor
  • **
  • Posts: 440
  • Country: ca
Re: Review: mbed NXP LPC1768
« Reply #16 on: October 08, 2010, 03:40:33 pm »
Ya, there seems to be a disconnect as to what the MBed is about.  It's just a low quantity hobby development board for the LPC1768.  It doesn't even have a JTAG header, which makes it unusable for professional development.  The LPC1768 is not going into any routers, it's not meant for that in any way.  The reason routers are cheap is because they are mass quantity consumer items.  512KB/64KB is actually the top of the line LPC17xx chip and I can't imagine a lot of the embedded ethernet applications that this chip is meant for will be using the 512KB/64KB part.  Most likely the 128KB or even the 32KB part will be more in demand.  It's really supposed to be an end point device.
Mark Higgins
 

Offline NiHaoMike

  • Super Contributor
  • ***
  • Posts: 6092
  • Country: us
  • "Don't turn it on - Take it apart!"
    • Facebook Page
Re: Review: mbed NXP LPC1768
« Reply #17 on: October 08, 2010, 07:16:51 pm »
It has Ethernet and I2S, so some applications could be a networked music player. But with only 64kB of onboard RAM, it would require external RAM for the audio buffer.

It actually takes very little CPU to run an AP. As a layer 2 device, all the CPU does is keep track of MAC addresses and configure the hardware. The CPU in most modern switches is about the same level as a PIC. Routing does take a fair amount of CPU, especially if you do stateful packet inspection. A 96MHz ARM would be just barely enough for a typical broadband connection, so it would not be a good choice for a router. But it would have no problem acting as a bridge in an AP.
Quote
Ya, there seems to be a disconnect as to what the MBed is about.  It's just a low quantity hobby development board for the LPC1768.  It doesn't even have a JTAG header, which makes it unusable for professional development.  The LPC1768 is not going into any routers, it's not meant for that in any way.  The reason routers are cheap is because they are mass quantity consumer items.  512KB/64KB is actually the top of the line LPC17xx chip and I can't imagine a lot of the embedded ethernet applications that this chip is meant for will be using the 512KB/64KB part.  Most likely the 128KB or even the 32KB part will be more in demand.  It's really supposed to be an end point device.
The mbed does not need a JTAG connector since the USB interface chip does the JTAGing. That obviously won't work if you want to program a standalone LPC17xx chip, but maybe you can use a mbed to program blank LPC17xx chips just like an Arduino can be used to program blank AVRs by using the existing processor to emulate a JTAG. Or even use a mbed or Arduino as a JTAG interface for a totally different platform... (Repair a bricked PC motherboard with an Arduino?)
Cryptocurrency has taught me to love math and at the same time be baffled by it.

Cryptocurrency lesson 0: Altcoins and Bitcoin are not the same thing.
 

Offline NiHaoMike

  • Super Contributor
  • ***
  • Posts: 6092
  • Country: us
  • "Don't turn it on - Take it apart!"
    • Facebook Page
Re: Review: mbed NXP LPC1768
« Reply #18 on: October 11, 2010, 02:27:05 am »
http://mbed.org/forum/mbed/topic/1138/
Quote
Good question you pose. First up, no, there's (not that I know of) any parts of the Mbed library that's going to connect the GPDMA controller to a GPIO pin. Probably with good reason as you read on...

The first problem you face is finding an 8bit wide port on the Mbed Dip pins. The only contiguous pins of any one port are P0.4 through P0.11 and as you can see straight away, there's an alignment problem you have to overcome. Next problem you have is providing a "write strobe" pulse. The GPDMA doesn't connect to any GPIO pin to provide such an output so the only way I can see to provide it is with a timer-out or pwm output clocking on the same clock speed the DMA is moving the data. However you'd then need to provide a mechanism to sync the strobing pin to the DMA transfers, not easy.
I think that's a pretty major design oversight. One of the reasons to use a faster processor is faster I/O. Indeed, if it weren't for that problem, the mbed would have made a nice low end oscilloscope with the addition of an ADC and analog front end.
Cryptocurrency has taught me to love math and at the same time be baffled by it.

Cryptocurrency lesson 0: Altcoins and Bitcoin are not the same thing.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf