From: Stimpy on
We have a product based around the PIC18F6680 which is now becoming a
rare and expensive part. Since it looks like ARM devices are winning
the popularity war, the chips are cheap and plentiful. The question
is, with so many vendors and parts to choose from which one should we
go with? The main requirements for this application, in order of
importance, are:

1) availability - having devices in stock at Digikey/Mouser is almost
a necessity since we can't wait 12 weeks for backordered parts from
some distributor; two weeks is probably the maximum
2) price - since our original PIC18 is now at $9.47 each (qty 100)
pretty much any device that comes in under this price will be better
3) 64K FLASH - since ARM code is more compact than PIC18 this should
be more than enough
4) 4K RAM
5) 128 bytes EEPROM
6) CAN controller
7) timers with 1 output compare and 2 input captures
8) SPI
9) 2 UARTs
10) 8-bit DAC (or PWM)
11) a DMA controller that works with the SPI would be nice but not
essential
12) two comparators
13) 10-bit ADC
14) under 0.2 mA when stopped

Processing speed and power consumption aren't too critical. I've given
up trying to find built-in comparators on any ARM device so I guess
those will have to be external from now on. Low standby current is
important, but I can always cut power to the whole device if required.
I've found one (LPC2364) that has a built-in DAC but those seem to be
rare. The only ones I've found with built-in EEPROM are the LPC2927/
LPC2929. I also can't decide between ARM7, ARM9, Cortex-M0 and Cortex-
M3. Right now Cortex-M3 appears to be more popular and the three
leading choices are:
Texas Instruments - Stellaris
NXP - LPC series
ST - STM32 series
Given the above criteria there are still dozens of devices to choose
from that would fit most of the requirements. NXP seems to have the
best pricing; other than that I'm lost.
Any suggestions or are there any other choices that I've overlooked?
From: linnix on
On Jul 21, 2:44 pm, Stimpy <rjmvxlvzj...(a)mailinator.com> wrote:
> We have a product based around the PIC18F6680 which is now becoming a
> rare and expensive part. Since it looks like ARM devices are winning
> the popularity war, the chips are cheap and plentiful. The question
> is, with so many vendors and parts to choose from which one should we
> go with? The main requirements for this application, in order of
> importance, are:
>
> 1) availability - having devices in stock at Digikey/Mouser is almost
> a necessity since we can't wait 12 weeks for backordered parts from
> some distributor; two weeks is probably the maximum
> 2) price - since our original PIC18 is now at $9.47 each (qty 100)
> pretty much any device that comes in under this price will be better
> 3) 64K FLASH - since ARM code is more compact than PIC18 this should
> be more than enough
> 4) 4K RAM
> 5) 128 bytes EEPROM
> 6) CAN controller
> 7) timers with 1 output compare and 2 input captures
> 8) SPI
> 9) 2 UARTs
> 10) 8-bit DAC (or PWM)
> 11) a DMA controller that works with the SPI would be nice but not
> essential
> 12) two comparators
> 13) 10-bit ADC
> 14) under 0.2 mA when stopped
>
> Processing speed and power consumption aren't too critical. I've given
> up trying to find built-in comparators on any ARM device

That's less of a problem.

> so I guess
> those will have to be external from now on. Low standby current is
> important, but I can always cut power to the whole device if required.
> I've found one (LPC2364) that has a built-in DAC but those seem to be
> rare. The only ones I've found with built-in EEPROM

That's more of a problem.

> ...
> Any suggestions or are there any other choices that I've overlooked?

My suggestion (except for EEPROM):

The LM3S2110 microcontroller is based on the ARM Cortex-M3 controller
core operating at 25 MHz, with 64 kB single-cycle flash, 16 kB single-
cycle SRAM, CAN controller, Systick timer, three 32-bit or six 16-bit
general purpose timers, watchdog timer, SSI / SPI controller, I2C
interfaces, three analog comparators, UART, two motion-control Pulse
Width Modulation (PWM) outputs, low drop-out voltage regulator, brown-
out reset, power-on reset controller, and up to 40 GPIOs.
From: -jg on
On Jul 22, 9:44 am, Stimpy <rjmvxlvzj...(a)mailinator.com> wrote:
> Any suggestions or are there any other choices that I've overlooked?

Try Cypress PSoC5, which does have Comparator choices, and also
EEPROM.

Cypress are frustratingly slow at releasing prices, but they do show
CY8CKIT-014 PSoC® 5 FirstTouch™ Starter Kit $49 in stock.

Freescale have announced a M4 version, sampling soon
www.freescale.com/kinetis
- but data is thin right now.

Or, I see the new Nuvoton series, have just flipped into Stock, at Nu
Horizons
http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/IndustrialIC/ARMMicrocontroller/ARMCortexTMM0/Pages/default.aspx

NUC100LE3AN NUVOTON 128KF 16KR QFP48 $2.5250
NUC100RE3AN NUVOTON 128KF 16KR QFP64 $2.7875
NUC120LE3AN NUVOTON 128KF 16KR QFP48 USB $2.7875
NUC120RE3AN NUVOTON 128KF 16KR QFP64 USB $2.9625
NUC120VD2AN NUVOTON 64KF 8KR QFO100 USB $2.7875

These are 5V (wide supply range), and I see they do have Analog
Comparators too :)

Eval PCBs look well priced too...

NUMICRO-SDK NUVOTON TECH CORP AMERICA Development Tools
$43.7500
NUTINY-SDK-120 NUVOTON TECH CORP AMERICA Development Tools
$19.0000

Signs of a product manager, who knows what they are doing ?

-jg



From: Chris Burrows on
"Stimpy" <rjmvxlvzjqwi(a)mailinator.com> wrote in message
news:7b290caa-37fe-4f99-a278-9fb63a7def07(a)j8g2000yqd.googlegroups.com...

> The only ones I've found with built-in EEPROM are the LPC2927/
> LPC2929.

Depending on how you are planning to use the EEPROM you might not need to
let that restrict your choices. With the NXP LPCxxxx MCUs you can use IAP
(In Application programming) to write to unused flash from within your
program. If you only need 64K flash for your code you'll have more than
enough left over to use for other purposes. That should give you many more
devices to choose from.

If you are frequently writing a few bytes to various locations in EEPROM
then IAP might not be suitable. However, if your updates are infrequent or
you are just storing a block of data at the end of a run to be used at the
start of the next run it might be a feasible solution.

The Cortex-M3 LPC1xxx devices are relatively new and haven't yet gone
through the usual spate of revisions - OK if you like a sense of adventure.
If you are a more conservative type the more stable LPC2xxx ARM7 series
should be more to your taste.

Regards,
Chris Burrows
CFB Software
Astrobe: LPC2xxx Oberon-07 Development System
http://www.astrobe.com


From: Michael Kellett on

"Stimpy" <rjmvxlvzjqwi(a)mailinator.com> wrote in message
news:7b290caa-37fe-4f99-a278-9fb63a7def07(a)j8g2000yqd.googlegroups.com...
> We have a product based around the PIC18F6680 which is now becoming a
> rare and expensive part. Since it looks like ARM devices are winning
> the popularity war, the chips are cheap and plentiful. The question
> is, with so many vendors and parts to choose from which one should we
> go with? The main requirements for this application, in order of
> importance, are:
>
> 1) availability - having devices in stock at Digikey/Mouser is almost
> a necessity since we can't wait 12 weeks for backordered parts from
> some distributor; two weeks is probably the maximum
> 2) price - since our original PIC18 is now at $9.47 each (qty 100)
> pretty much any device that comes in under this price will be better
> 3) 64K FLASH - since ARM code is more compact than PIC18 this should
> be more than enough
> 4) 4K RAM
> 5) 128 bytes EEPROM
> 6) CAN controller
> 7) timers with 1 output compare and 2 input captures
> 8) SPI
> 9) 2 UARTs
> 10) 8-bit DAC (or PWM)
> 11) a DMA controller that works with the SPI would be nice but not
> essential
> 12) two comparators
> 13) 10-bit ADC
> 14) under 0.2 mA when stopped
>
> Processing speed and power consumption aren't too critical. I've given
> up trying to find built-in comparators on any ARM device so I guess
> those will have to be external from now on. Low standby current is
> important, but I can always cut power to the whole device if required.
> I've found one (LPC2364) that has a built-in DAC but those seem to be
> rare. The only ones I've found with built-in EEPROM are the LPC2927/
> LPC2929. I also can't decide between ARM7, ARM9, Cortex-M0 and Cortex-
> M3. Right now Cortex-M3 appears to be more popular and the three
> leading choices are:
> Texas Instruments - Stellaris
> NXP - LPC series
> ST - STM32 series
> Given the above criteria there are still dozens of devices to choose
> from that would fit most of the requirements. NXP seems to have the
> best pricing; other than that I'm lost.
> Any suggestions or are there any other choices that I've overlooked?

Apart from leadtimes I think ST are a good bet - this is based on good
experience with the STM32 range of parts. I have not used the NXP parts or
looked at them in very great detail.
The good things about the STM32s: big range of parts with good footprint
compatibility and good peripherals, tick all your boxes except EEPROM.

Be very careful with any supplier about availability - if you don't have the
parts in your stores don't count on them being in stock. ST and others have
parts on 1 year leadtimes so desperate users will buy up all the distributor
stock if they can.

Michael Kellett