The timer in the LPC800 is a new type called a State Configurable Timer, which has a 32 bit counter that can be split into 2 16 bit counters. It combines with states and events to provide more flexibility.
As for no ADC, not all problems need an ADC. It's not like NXP doesn't have a wide range of parts already, this just extends it down into the lower end with volume pricing below $1. BTW analog circuits don't shrink like digital ones as technology improves, in fact a lot of times in smaller geometries the analog stuff gets bigger to compensate for some parameters that don't scale well.
The next parts up the LPC11xx have 10 bit ADCs, 12 bit ADCs are in the LPC17,LPC18 and LPC43 families. By the time you get to the biggest LPC43xx, you've got everything including the kitchen sink, 3 ARM CPUs, Ethernet, CAN, multiple USBs, LCD controllers capable of driving VGA displays, support for SDRAMs, SPIFI (high speed nibble wide Flash), I2C, SPI, and even an 80 MHz pipe-lined ADC, all for around $10.
As for DIP8 or DIP28 in another thread here , PICs come that way so why not, don't I hear a lot of complaints about parts not being available in DIP packages here?
@brucee: I'm certainly not complaining about DIP8 and DIP28 packaging! While I wish the latter had been the 300-mil skinny-dip, it certainly didn't stop me from ordering a couple tubes immediately. I could hardly be more delighted at this turn of events.
Originally Posted by Leon
Initialization of ARM chips can be complex, even with CMSIS making it largely manufacturer-independent..
I think ARM initialization complexity is overblown. True you have many more options, but if you are happy running on the internal oscillator all you need to do for these chips is set the SP at location 0, and start of code at 4, a checksum of the first 16 interrupt vectors and away you go.
The UART is the same old interface that was first discovered in cave paintings by National Semi in the DIP28, though the DIP8 has a newer streamlined variety.
Some of the PLLs can be tricky to program, but many of the peripherals are fairly easy to handle, PWM, Timers, SPI
And in the larger chips there are some very complex peripherals, Ethernet, USB, SPIFI, but most have drivers you can include.
Comes in TSSOP16/28/38, with ADC, and much more code space than the rather lobotomized LPC81x...
- and they are 1.8-5.5V operating Vcc.
... and I see even Fairchild have come back into the Microcontroller market, for the same price as the NXP LPC8xx at Mouser, their new FCM8531QY, ($1.72 in small volumes) has 12K flash and two cores, optimised for Motor Control.
Think of this somewhat like a Propeller cog in that you have a fast and powerful RISC processor operating mostly as a peripheral processor or an interpreter for a more complex instruction set. These are physically small enough and presumably cheap enough so you can easily use several of them with some kind of high speed serial bus connecting them.
I doubt that Cortex-M0+ offerings will make 8-bit micros obsolete, as NXP appears to hope, or simply hype, but the pressure is on for AVRs and their ilk. They'll have to price way down in the dirt just to possibly compete for new design wins. The one thing that might continue to work in their favor is real or perceived relative simplicity and ease of use.
In any case, circuit designers, embedded systems engineers, even hobbyists, have plenty to choose from nowadays.
I doubt that Cortex-M0+ offerings will make 8-bit micros obsolete, as NXP appears to hope, or simply hype, but the pressure is on for AVRs and their ilk. They'll have to price way down in the dirt just to possibly compete for new design wins. The one thing that might continue to work in their favor is real or perceived relative simplicity and ease of use.
NXP are way out of touch, if they really believe their narrow supply part, with no ADC, can compete for my next design sockets.
They are dreaming - it is not even on the short list.
I do have a M0 on the shortlist, but it comes from a smarter suppler than NXP, a supplier who grasps that wide-supply matters to enough designers. I expect a new 8 bit uC will win, however, due to ease of use and package size.
Meanwhile, there seem to be MORE 8 bit micros released, especially in smaller packages - and in 8051 cores.
It may be the fringe 8-bit parts do struggle, but Microchip recently removed the NRND from their SST89E516RD2 data sheets, and Fairchild have just released an impressive little Motor Controller (with an 8051 core + coPro + MDU )
Meanwhile, there seem to be MORE 8 bit micros released, especially in smaller packages - and in 8051 cores.
It may be the fringe 8-bit parts do struggle, but Microchip recently removed the NRND from their SST89E516RD2 data sheets, and Fairchild have just released an impressive little Motor Controller (with an 8051 core + coPro + MDU )
Agreed. The 8051 isn't going anywhere soon. It's cheap enough to make (no licensing fees for one) that it will be competitive till who knows when. AVR and similar micros likely will be squeezed, and in toto 8-bit market share could dwindle some.
There aren't many new design 8051s coming out, and this DIP8 is targeted for the low end and there not all uses need an AD (BASIC stamp anyone?)
Anyway as this is somewhat targeted at the hobbyist community, I'd say NXP would be somewhat receptive to feedback from the Parallax gang.
My biggest complaint is the Flash size chosen for this part, it's only 4K. We might be able to squeeze a BASIC into 8K, but would really like to see 16K. We've had some engineering samples of this for a while and have the C tools spitting out code for it. Our setup is still somewhat CMSIS compliant, but we have stripped out all the extraneous junk so the overhead is not as bad as the "stock" example code.
There aren't many new design 8051s coming out, and this DIP8 is targeted for the low end and there not all uses need an AD (BASIC stamp anyone?).
Certainly there are not many 8051 released without ADC these days...
However there ARE plenty of 'new design 8051s coming out' - you just need to know where to look.
If anything, I'd say activity has actually picked up :
Atmel AT89LP51RB2/RC2/RD2/ID2/ED2 - Fast core, and wide supply, std footprint, including DIP
Fairchild FMC8531, sub $2 at Mouser, and with MDU and Motor Controller engine.
STC are ramping STC15F variants, and have DIP and ADC
SyncMOS have wide supply, small packages and include DIP and ADC, and down to MSOP10
Nuvoton pushed into Cortex, but still develop new 8051 and are about to release 1T 8051 variants.
Holtek are about to release a 8051 family
Microchip have removed the NRND from their SST89E516RD2 data sheet
Key elements are wide Vcc, and simplicity, where very few Cortex parts can deliver.
My biggest complaint is the Flash size chosen for this part, it's only 4K. We might be able to squeeze a BASIC into 8K, but would really like to see 16K.
So you admit the NXP 4K part is compromised.
If you need a flexible Cortex device, it might be smarter to look at the Infineon XMC1000 series.
Those DO have wide Vcc, and more code and RAM, so you could fit in your Basic.
Until something compelling comes along (like the P2) or until an important chip disappears, I'm pretty much set.
Or a P1.5 (whatever it might be called), which in my case would be the more tempting. For now, though, I am quite happy playing with the P1 and hope sometime soon to get it designed into a real project (ie, something I'm getting paid to work on).
Is there some reason a small ARM microcontroller without an A/D might not find a place in the market? There are lots of 8051s and PICs without it. A comparator is a good compromise. Analog circuitry does not shrink much at smaller design rules, in fact sometimes it even grows to compensate for higher sheet resistance.
As for wide operating range these NXP parts are spec'd at 1.8 to 3.6V, not sub 1V like I've seen some 8 biters, but it is a start.
PS, secretly I'm a shill for NXP and I get 25 cents for each one sold, NOT, I just think they have some good parts, and I like using the same tools for code that fits in 4K or 4M, can't do that in an 8051.
Is there some reason a small ARM microcontroller without an A/D might not find a place in the market?
I'm sure it will 'find a place', the more important questions are : how large a place, and for what design life-cycle ?
For some indication of how such devices are received, and their design life-cycle, google the LMS3101 (and NRND and EOL and Discontinued );
That device also had no ADC, and had MORE code than the NXP offering...
Using the LPC1769 is a bit different than the LPC1114, the GPIOs have to be configured some other way. I got a LPCXpresso 1769 board as a gift and took me some time to get it up and running, downloading a specific IDE hunting down documents and tutorials, the Propeller somehow is much easier to get up and running, even when you have to do your own board...
here some code, no idea what clock freq set is, the led blinks some 3 times per second, I should measure it , with -O0 it blinks like 3 times slower. YKMV.
/*
===============================================================================
Name : main.c
Author :
Version :
Copyright : Copyright (C)
Description : main definition
===============================================================================
*/
#include "LPC17xx.h"
#include <cr_section_macros.h>
#include <NXP/crp.h>
#include "type.h"
// Variable to store CRP value in. Will be placed automatically
// by the linker when "Enable Code Read Protect" selected.
// See crp.h header for more information
__CRP const unsigned int CRP_WORD = CRP_NO_CRP ;
// TODO: insert other include files here
// TODO: insert other definitions and declarations here
int main(void)
{
uint32_t cnt = 0;
/* SystemClockUpdate() updates the SystemFrequency variable */
SystemCoreClockUpdate();
LPC_GPIO0->FIODIR = 1<<22; /* P0.xx defined as Outputs */
LPC_GPIO0->FIOSET = 1<<22; /* turn off all the LEDs */
while ( 1 )
{
cnt++;
if (cnt == 100000)
{
LPC_GPIO0->FIOCLR = 1 << 22;
}
if (cnt == 200000)
{
cnt = 0;
LPC_GPIO0->FIOSET = 1 << 22;
}
}
return 0 ;
}
If you don't set the clock, it will be the default value on reset - 4 MHz from the internal RC oscillator.
My DIP8 LPC812 boards are on their way to me from ITead.
I've just received one of the LPC812 LPCXpresso boards from Farnell. Here is a little test program for it:
/* Simple test program for LPC812 LPCXpresso*
*
*/
#include "LPC8xx.h"
#define LED 7 // red LED
void delay(void);
int main(void) {
LPC_GPIO_PORT->DIR0 |= 1<<LED; // set pin as output
while (1)
{
LPC_GPIO_PORT->SET0 = 1<<LED; // LED output high
delay();
LPC_GPIO_PORT->CLR0 = 1<<LED; // LED output low
delay();
}
}
void delay(void)
{
volatile unsigned int i;
for (i = 0; i < 100000; i++)
;
}
The same program should work on the DIP8 version when I get my boards.
The LPC812 internal oscillator runs at 12 MHz, BTW.
I am unsure which clock frequency I have. I uncommented the SystemCoreClockUpdate call and the led blinks as fast as before... I'll have to measure it...
Well the period is like 300 ms, so 150 ms on and 150 ms off. Yeah, it looks like 4 MHz or so, the loop is quite small...
It must be the the 4 MHz from the internal oscillator, then. Like most MCUs the LPC chips start up using the internal oscillator. Check the data sheet.
My LPC810 prototyping boards arrived a couple of days ago. I assembled one of them and, eventually, got my test program working. Details of the project and the problems I encountered are here:
My LPC810 prototyping boards arrived a couple of days ago. I assembled one of them and, eventually, got my test program working. Details of the project and the problems I encountered are here:
2k would be OK. It probably makes sense to develop code for the LPC810 on the LPC812.
Yes, the 2kR/8kF LPC811 is only 9c more, at Avnet 500+, so it makes the DIP8 a strange animal.
Surely no volume users will use DIP8, and no serious users will think 9c is worth halving the RAM and CODE and pins.
There is no package upgrade either, so it looks like more 'marketing input' than rational reasoning here.
Comments
As for no ADC, not all problems need an ADC. It's not like NXP doesn't have a wide range of parts already, this just extends it down into the lower end with volume pricing below $1. BTW analog circuits don't shrink like digital ones as technology improves, in fact a lot of times in smaller geometries the analog stuff gets bigger to compensate for some parameters that don't scale well.
The next parts up the LPC11xx have 10 bit ADCs, 12 bit ADCs are in the LPC17,LPC18 and LPC43 families. By the time you get to the biggest LPC43xx, you've got everything including the kitchen sink, 3 ARM CPUs, Ethernet, CAN, multiple USBs, LCD controllers capable of driving VGA displays, support for SDRAMs, SPIFI (high speed nibble wide Flash), I2C, SPI, and even an 80 MHz pipe-lined ADC, all for around $10.
As for DIP8 or DIP28 in another thread here , PICs come that way so why not, don't I hear a lot of complaints about parts not being available in DIP packages here?
I think ARM initialization complexity is overblown. True you have many more options, but if you are happy running on the internal oscillator all you need to do for these chips is set the SP at location 0, and start of code at 4, a checksum of the first 16 interrupt vectors and away you go.
The UART is the same old interface that was first discovered in cave paintings by National Semi in the DIP28, though the DIP8 has a newer streamlined variety.
Some of the PLLs can be tricky to program, but many of the peripherals are fairly easy to handle, PWM, Timers, SPI
And in the larger chips there are some very complex peripherals, Ethernet, USB, SPIFI, but most have drivers you can include.
Meanwhile, Infineon have released info on their small M0.
http://www.infineon.com/cms/en/product/channel.html?channel=db3a30433c1a8752013c1aa35a6a0029
Comes in TSSOP16/28/38, with ADC, and much more code space than the rather lobotomized LPC81x...
- and they are 1.8-5.5V operating Vcc.
... and I see even Fairchild have come back into the Microcontroller market, for the same price as the NXP LPC8xx at Mouser, their new FCM8531QY, ($1.72 in small volumes) has 12K flash and two cores, optimised for Motor Control.
http://www.leonheller.com/LPC810%20%28DIP8%29/
Some PCBs are on order from ITead, I should get them in a couple of weeks.
If anyone wants a chip send me your address (no charge). I've got three to give away.
One is so tiny at less than 2mm x 2mm in size
http://www.mouser.com/pdfdocs/INDP28495_Kinetis_L_Series_KL02_FSv4HR.pdf
In any case, circuit designers, embedded systems engineers, even hobbyists, have plenty to choose from nowadays.
NXP are way out of touch, if they really believe their narrow supply part, with no ADC, can compete for my next design sockets.
They are dreaming - it is not even on the short list.
I do have a M0 on the shortlist, but it comes from a smarter suppler than NXP, a supplier who grasps that wide-supply matters to enough designers. I expect a new 8 bit uC will win, however, due to ease of use and package size.
Meanwhile, there seem to be MORE 8 bit micros released, especially in smaller packages - and in 8051 cores.
It may be the fringe 8-bit parts do struggle, but Microchip recently removed the NRND from their SST89E516RD2 data sheets, and Fairchild have just released an impressive little Motor Controller (with an 8051 core + coPro + MDU )
http://www.lpcware.com/category/project-categories/lpc800
Here are details of my prototyping PCB:
http://www.leonheller.com/LPC810%20%28DIP8%29/
I've placed an order with ITead, and should receive my boards within a couple of weeks.
Ain't that the truth! I'm simply overwhelmed. I no longer have time to look at every new device.
Until something compelling comes along (like the P2) or until an important chip disappears, I'm pretty much set.
Anyway as this is somewhat targeted at the hobbyist community, I'd say NXP would be somewhat receptive to feedback from the Parallax gang.
My biggest complaint is the Flash size chosen for this part, it's only 4K. We might be able to squeeze a BASIC into 8K, but would really like to see 16K. We've had some engineering samples of this for a while and have the C tools spitting out code for it. Our setup is still somewhat CMSIS compliant, but we have stripped out all the extraneous junk so the overhead is not as bad as the "stock" example code.
Certainly there are not many 8051 released without ADC these days...
However there ARE plenty of 'new design 8051s coming out' - you just need to know where to look.
If anything, I'd say activity has actually picked up :
Key elements are wide Vcc, and simplicity, where very few Cortex parts can deliver.
So you admit the NXP 4K part is compromised.
If you need a flexible Cortex device, it might be smarter to look at the Infineon XMC1000 series.
Those DO have wide Vcc, and more code and RAM, so you could fit in your Basic.
As for wide operating range these NXP parts are spec'd at 1.8 to 3.6V, not sub 1V like I've seen some 8 biters, but it is a start.
PS, secretly I'm a shill for NXP and I get 25 cents for each one sold, NOT, I just think they have some good parts, and I like using the same tools for code that fits in 4K or 4M, can't do that in an 8051.
I'm sure it will 'find a place', the more important questions are : how large a place, and for what design life-cycle ?
For some indication of how such devices are received, and their design life-cycle, google the LMS3101 (and NRND and EOL and Discontinued );
That device also had no ADC, and had MORE code than the NXP offering...
here some code, no idea what clock freq set is, the led blinks some 3 times per second, I should measure it , with -O0 it blinks like 3 times slower. YKMV.
My DIP8 LPC812 boards are on their way to me from ITead.
I've just received one of the LPC812 LPCXpresso boards from Farnell. Here is a little test program for it:
The same program should work on the DIP8 version when I get my boards.
The LPC812 internal oscillator runs at 12 MHz, BTW.
Well the period is like 300 ms, so 150 ms on and 150 ms off. Yeah, it looks like 4 MHz or so, the loop is quite small...
http://www.leonheller.com/LPC810%20%28DIP8%29/
Interesting results. Perhaps shows why no one else bothers with 1k/4k in ARM ?
Yes, the 2kR/8kF LPC811 is only 9c more, at Avnet 500+, so it makes the DIP8 a strange animal.
Surely no volume users will use DIP8, and no serious users will think 9c is worth halving the RAM and CODE and pins.
There is no package upgrade either, so it looks like more 'marketing input' than rational reasoning here.
I've just redesigned my PCB; adding a jumper to enable bootloading, and a connector for the USB to TTL serial adapter needed by Flash Magic.