Shop OBEX P1 Docs P2 Docs Learn Events
DIP8 Cortex-M0+ from NXP - Page 2 — Parallax Forums

DIP8 Cortex-M0+ from NXP

2»

Comments

  • bruceebrucee Posts: 239
    edited 2012-11-16 10:18
    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?
  • User NameUser Name Posts: 1,451
    edited 2012-11-16 18:37
    @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.
  • bruceebrucee Posts: 239
    edited 2012-11-19 07:23
    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.
  • FredBlaisFredBlais Posts: 370
    edited 2013-03-04 19:15
    The LPC810M021FN8 8 Pin DIP Cortex-M0 is now in production. Some distributors are beginning to stock them :)
  • jmgjmg Posts: 15,173
    edited 2013-03-04 20:32
    FredBlais wrote: »
    The LPC810M021FN8 8 Pin DIP Cortex-M0 is now in production. Some distributors are beginning to stock them :)

    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.
  • LeonLeon Posts: 7,620
    edited 2013-03-04 23:41
    I've just received some samples from NXP, and have designed a simple prototyping PCB for them. Schematic and PCB layout are here:

    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.
  • tonyp12tonyp12 Posts: 1,951
    edited 2013-03-05 15:25
    Freescale is comming out with some new cortex-M0+ (looks like $1 each at 1k)
    One is so tiny at less than 2mm x 2mm in size
    http://www.mouser.com/pdfdocs/INDP28495_Kinetis_L_Series_KL02_FSv4HR.pdf
  • Mike GreenMike Green Posts: 23,101
    edited 2013-03-05 16:06
    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.
  • KC_RobKC_Rob Posts: 465
    edited 2013-03-05 17:33
    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. :)
  • jmgjmg Posts: 15,173
    edited 2013-03-05 19:56
    KC_Rob wrote: »
    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 )
  • LeonLeon Posts: 7,620
    edited 2013-03-06 04:09
    NXP has an app note and software for implementing a sigma-delta ADC on the LPC812:

    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.
  • User NameUser Name Posts: 1,451
    edited 2013-03-06 06:34
    KC_Rob wrote: »
    In any case, circuit designers, embedded systems engineers, even hobbyists, have plenty to choose from nowadays. :)

    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.
  • KC_RobKC_Rob Posts: 465
    edited 2013-03-06 09:10
    jmg wrote: »
    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.
  • bruceebrucee Posts: 239
    edited 2013-03-06 15:28
    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.
  • jmgjmg Posts: 15,173
    edited 2013-03-06 16:24
    brucee wrote: »
    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.

    brucee wrote: »
    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.
  • KC_RobKC_Rob Posts: 465
    edited 2013-03-06 16:49
    jmg wrote: »
    However there ARE plenty of 'new design 8051s coming out' - you just need to know where to look. ...
    Don't forget Silicon Labs (and probably the list is still incomplete).
  • KC_RobKC_Rob Posts: 465
    edited 2013-03-06 17:00
    User Name wrote: »
    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).
  • bruceebrucee Posts: 239
    edited 2013-03-06 19:32
    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.
  • jmgjmg Posts: 15,173
    edited 2013-03-06 21:52
    brucee wrote: »
    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...
  • AleAle Posts: 2,363
    edited 2013-03-17 06:44
    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 ;
    }
    
    
  • LeonLeon Posts: 7,620
    edited 2013-03-17 07:00
    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.
  • AleAle Posts: 2,363
    edited 2013-03-17 07:20
    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...
    00000300 <main>:
     300:	f44f 4040 	mov.w	r0, #49152	; 0xc000
     304:	f44f 0380 	mov.w	r3, #4194304	; 0x400000
     308:	f2c2 0009 	movt	r0, #8201	; 0x2009
     30c:	f248 62a0 	movw	r2, #34464	; 0x86a0
     310:	f44f 6154 	mov.w	r1, #3392	; 0xd40
     314:	b430      	push	{r4, r5}
     316:	f2c0 0201 	movt	r2, #1
     31a:	6003      	str	r3, [r0, #0]
     31c:	461c      	mov	r4, r3
     31e:	6183      	str	r3, [r0, #24]
     320:	f2c0 0103 	movt	r1, #3
     324:	461d      	mov	r5, r3
     326:	2300      	movs	r3, #0
     328:	3301      	adds	r3, #1
     32a:	4293      	cmp	r3, r2
     32c:	d003      	beq.n	336 <main+0x36>
     32e:	428b      	cmp	r3, r1
     330:	d1fa      	bne.n	328 <main+0x28>
     332:	6185      	str	r5, [r0, #24]
     334:	e7f7      	b.n	326 <main+0x26>
     336:	61c4      	str	r4, [r0, #28]
     338:	e7f6      	b.n	328 <main+0x28>
     33a:	bf00      	nop
    
  • LeonLeon Posts: 7,620
    edited 2013-03-17 07:26
    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.
  • AleAle Posts: 2,363
    edited 2013-03-17 10:00
    Well, I got it running at 120 MHz... now for the next step, the RIT :)
  • LeonLeon Posts: 7,620
    edited 2013-04-05 07:45
    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:

    http://www.leonheller.com/LPC810%20%28DIP8%29/
  • jmgjmg Posts: 15,173
    edited 2013-04-05 13:36
    Leon wrote: »
    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:

    http://www.leonheller.com/LPC810%20%28DIP8%29/

    Interesting results. Perhaps shows why no one else bothers with 1k/4k in ARM ?
  • LeonLeon Posts: 7,620
    edited 2013-04-05 14:40
    2k would be OK. It probably makes sense to develop code for the LPC810 on the LPC812.
  • jmgjmg Posts: 15,173
    edited 2013-04-05 15:01
    Leon wrote: »
    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.
  • LeonLeon Posts: 7,620
    edited 2013-04-05 15:15
    I don't really see the point of it, either, unless they also put it in a very small package. It's fun to play with it, though.

    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.
Sign In or Register to comment.