32-bit Processors, Cheap
An anonymous reader writes "Atmel is sampling the first in a new line of 32-bit system-on-chip processors that could spell the death of the venerable 8-bit microcontroller market by offering 32-bit performance at 8-bit pricing. Priced as low as $3 each, the AT91SAM7 chips with ARM7TDMI RISC CPU cores and built-in RAM/flash memory may even be able to run a form of Linux called uClinux. The death of the 8-bit uC market has long been predicted -- sounds like the end is nigh!"
The death of the 8-bit uC market has long been predicted
Has Netcraft confirmed it?
There are so many embedded applications that do just fine with 8-bit controllers that there is no reason they should dissapear just because something more powerful comes along.
Anyone who has done this design knows that there is more cost in what happens on the whiteboard than something like this at the component level.
Not everything in the world has the "upgrade or else" fear that surrounds the personal computer industry.
second society
The 8-bit MCU market has been shrinking for over a decade. It's no secret. Of course there will always be a market for small-time CPUs; certainly hobbyists will want them. But traditional places like your car computers need more real-time DSP computation and the like, and require the MCU to grow with them.
Who wants to be able to program their TV to record TV from work? Who wants to program their lights to come on from work? Who wants to program their heat/AC to turn on/off from work? Who wants their oven to preheat from work?
I know I do.
While I love to hear news of the latest whizbang doohicky, I cannot stand when people have to add "This is surely going to end anyone on the planet ever using last years widget..." As geeks we should be aware and PROUD of old technology. Serial ports? I use them every day at work. 8 bit microcontrollers. I love them to death. They work nice, are cheap enough, and are very easy to design for and around. So yes, many places where someone might have used X in the past will now be replaced with Y, but so freakin what? But part of the joy of hacking is taking what someone else thought was worthless and using it anyway. Hence the stories of people salvaging old laptops or modding their Amigas to be a multimedia console, etc. Yes, the newest latest greatest toys are spiffy and should be discussed, but how about we all just settle down and stop dumping on anything not cutting edge?
The big questions to be answered before these make the big time are power requirements and hardening - if they use the same or less power than the current crop, and are resistant to environmental extremes like the current crop, then we're onto something.
What about the heat dissipation and power usage? Sometimes that's a lot more important than the price. If it's just as cheap but uses more power, you might need a bigger power supply, more batteries, better heat dissipation, possibly a fan, etc., it doesn't help.
I'm pretty sure standard 8-bit uCs are overkill for most applications -- what would 32-bits buy you?
OK, you *can* put a web browser in your gas pump, but should you? Having seen BP's implementation, I would say not.
aQazaQa
I use Microchip processors extensively for work, and there's a heck of a lot that I can accomplish with their limited architecture -- my most recent design required less than 8K of flash memory and was mostly written in assembler. For low-end applications, 32-bit doesn't make sense, especially if its going to add $1 to the cost of manufacture. Given that small 8-bit MCUs can be purchased for well under $1 in large volume, I think there's a market for them.
8 bits is all the majority of embedded applications need. Its lower power, and cheaper.
8 bits rules the world and will continue to do so for a long time.
If your application needs the extra capabilities that a 32 bit chip offers, this is a big deal, but if the old 8bit standby does the job an draws a few milliwatts less, you're better off sticking with the old fashioned, 8bit chip.
I think it's a little too early to say goodbye to 8bit microcontrollers.
See what I've been reading.
Would be good to know if your frozen burrito has cooked or needs another minute. You could add more time from the comfort of your desk chair.
I'd like to see uClinux fit into 512kB Flash and 64k SRAM. None of these seem to have any access method to external memory.
If you can fit it in, I'd be interested; I was all excited because a product I use at work has a Hitachi H8 processor... sadly 1M Flash and 128k RAM isn't enough. :-(
No, not really. That's how electronic components are priced. Unless your doing some custom one-time job, bulk pricing is how you price your build-of-materials. In fact, many times the actual price is even lower than the list price. Especially if you order larger quantities.
"Karma can only be portioned out by the cosmos." -Homer Simpson
Who wants to worry about someone hacking their TV and deleting all their recordings? Who wants to worry about whether or not you're lights will stay on/off because some scriptkiddie wrote a BlinkenLitez for your neighborhood? Who wants to come home to find out their house is heated to a balmy 97 degrees because someone hacked their thermostat? Who wants to come home to find their oven has been running all day on Broil?
I know I don't.
A computer once beat me at chess, but it was no match for me at kick boxing -- Emo Phillips
The Atmel AVR is probably the most powerful (as in, raw performance) line of 8-bit MCUs, and there is a ton of code and utilities out there. And guess what? The applications these MCUs are designed to work with/in/for do not need a 32 bit MCU. Take, for example, the ATtiny2313: at 20 MHz, that part produces almost 20 MIPS... that's power that barely any application can top. The PIC MCUs have about the 1/8th to 1/10th of this performance, and still noone complains that they are too slow.
I don't see the AVR core disappearing just because of the new 32 bit Atmel kid on the block. It will have it's applications, but most AVR developers won't find too many compelling reasons to switch just yet. Remember, this is not like the desktop computer market, you don't look under the hood of your automated wheat mill to see whatmakes it tick.
Sigged!
Well, actually... you reminded me of a gadget I had read about a while ago. It was a combination oven and refrigerator. Now, before you go "WTF", let me explain. Let's say you prepare a roast that needs to marinade, and you'd like to have it ready to go by the time you get home from work. Well, you leave it in the oven with the fridge function on, and then you remotely tell it to start cooking so that it's done when you get home.
Yeah, it's total gadgety, but there *is* sometimes applicability.
There is a difference between "insightful" and "inciteful" other than spelling.
Ummm.. There's no provisions for external memory. This is aimed at AVR designers who want more oomph, so all memory and flash is internal. No address bus.
The problem, of course, is that a TQFP package is not quite as hobyist-hackable as the old DIP packages because it requires you to have etched PCBs or a prototype adapter, which makes breadboarding harder.
Gentoo Sucks
Does anyone else think that uClinux looks like a dirty word? But seriously folks, has anyone tried this out on anything? I need to hear someone who's used it on Slashdot.
Who wants their oven to preheat from work?
As a father of six, I know I would never preheat the oven without first looking inside. It would be unfortunate if an action figure, or worse the cat, were to meet an early demise.
Disconnect your television. Do your own research. Draw your own conclusions. They're probably lying. Don't be a sheep.
Keep track of items you consume (microwaved dinners, loads of laundry, etc) and when you get ready to go shopping you get a list of items consumed to help you figure out if you need any more of said items.
Yeah, sign me up.
There are a few applications where this step up will really help. There are several projects that impliment a tcp/ip stack on a microcontroller. I've seen webservers about the size of a quarter! How cool is that!
Even though this has already been done with 8-bit controllers, it would be much easier with 32 bits. This will make it just a little easier to connect your toaster/fridge/(fill_in_the_blank) to your network.
Slashdot Syndrome: the sudden, extreme urge to correct someone in order to validate one's self.
How about a password protected oven lock? Or even biometric / key card
Not bloody likely. I use Philip's line of 8051 based chips everyday and don't have any wish to give them up. The majority of their line is way more powerful than I need, they're ultra cheap, and I can still get them in packages that are convenient for hand assembly (something important for a company like us who make a lot of custom, short run product lines).
These fancy ARM based processors are neat to poke at, but they just don't make sense in a lot of low end applications, where small 8-bit MCU will be around for a long, long time.
Yeah, right after they design and build a printed circuit board (PCB) and get the board built, which at low quanties is not cheap and makes the $3 insignificant. Which leads back to my first point, the people who will be using these parts will be using them in bulk, so that statement is legitimate. Plus they said as low as $3. There is nothing misleading there.
"Karma can only be portioned out by the cosmos." -Homer Simpson
As an embedded systems consumer product design engineer by trade, I can state with great confidence that $3 is NOT cheap.
In fact, for everyone who's pointed out that PIC's cost well under a dollar:
That's not cheap either.
4-bit watch micros and the kind of thing that runs your toaster are priced in the 0-25cents range in volume -- that's right, a few *cents*.
To wit: $3 is greater than the complete cost-of-goods for much of the consumer electronics market. A TINY 4-bit chip, engineered with the same modern techniques as a 32-bit one, will be able to conserve even more power. This may not matter if it's a toaster, but if you want something to run off a battery for 10 years, you better start hunting for the smallest, simplest die you can find.
Coding for older platforms is also very easy, very fast, and easy to certify as bug-free. Put that in your kernel forum and smoke it.
Don't get me wrong, a dirt-cheap linux-capable uCs make me as happy as the next dork, but they're for a very different kind of task. Consider the myriad PDAs with flashy graphics/media capabilities already running on ARM processors and similar...
As a father of six,
That's very young to be a father, you know.
What's the world coming to, I ask myself.
I blame the parents.
a simpler assembler language (for the 5% of the coding that takes 50% of the time :-)
Actually, one of the things that makes that 5% of the code so difficult is often because you're trying to calculate 32-bit values with an 8-bit accumulator. On the fly. While handling interrupts...
Just junk food for thought...
Come on... TQFP isn't that bad. The fact is you just can't get decent pricing on flash, ram as DIP.
Anyway the real scary thing for hobbyists is BGA.
Circuit cellar had an article recently on converting a reflow oven out of a toaster oven. Or you could just use a hot plate to reflow the solder. So surface mount parts are definitely doable, and PCB prototyping houses charge fairly reasonable rates. So you should consider not fussing with breadboarding/wirewrap.
Alternatively with a laser printer and label backing you can make artwork to etch your own PCBs.
ARM7TDMI, isn't that the same processor that's in the Gameboy Advance?
RegardselFarto
Having an inexpensive 32 bit uC is great. How much are the development kits? 500$?
The basic stamps are great. For an 8-bit 10kHz platform that runs PBASIC.
The SX & PIC chips are great for 8-bit systems that run at a few MHz (sx up to 50 MHz), that are programmed in assembly.
The TI MSP430 is a great 16-bit platform that runs at 8MHz, programmed in C/C++ (in a few weeks they will probably unveil a 25MHz version). They also include lots of things that I don't like to have to add-on myself. (12-bit A/D & D/A, op-amps, HW uarts/I2C, and so on)
There would definitely be a market for these things, but I'd like to see if they can match development costs for small developers. It seems to me that a key is opening development to the masses. That's what impresses me about the few I listed above. Dev kits from TI are 100$, and from Parallax are
I use uC's for embedding scientific devices onto smaller/cheaper/faster chips. That's great. Now for me to be able try it, and learn to use it, I can't go buy an expensive dev kit. Regardless of the end cost of the chip, I prefer to pay 30-50$ for a board with a chip, that I put in a box and use, than a uC with smt leads that I can't get to work in place without a few hundred to thousand dollars of dev costs.
there are a lot of reasons to use 8-bit uCs. price is only one of them, and rarely the most significant factor. often, uC price is the least significant factor.
pin count, component size, power consumption, and overall complexity are the other major factors in embedded designs. all of these factors are higher in 32bit uCs.
8bit designs arent used solely because they're less powerful, but because they are far simpler than the mess of logic required to support 16bit or 32bit uCs.
8bit uCs aren't in any danger of being killed off by this.
1) High code density: Even if you need more instructions to perform an operation, if the instructions are only 8 or 16 bits wide, you wind up with a smaller executable. Hence, you need fewer bytes of ROM to store the firmware. And if a lot of your data is byte sized anyway, (processing strings, or reading an 8 bit ADC or setting an 8 bit PWM) the code may be smaller still, since there is no byte packing/unpacking into a 32 bit space required. (Incidentally, this is a major problem with 64 bit and VLIW computing.)
2) Power consumption. An 8 bit processor has only 25% the bus width of a 32 bit processor. Registers, instruction decoders, and ALU are 25% as complex. Ergo, for the same manufacturing process and clock rate, an 8 bit core will always consume a lot less power. If you are trying to run an algorithm off a watch battery, this really matters. That is chiefly why the venerable 8 bit PIC with its horrid assembly code, continues to be popular.
3) Less die space. Same reasoning as above. if you are doing an ASIC and can get away with an an onboard 8 bit controller core, why would you waste silicon using 32 bits?
3) Backwards compatability, ability to run legacy code. Even in embedded systems, stuff gets reused. 95% of you will be reading this on an x86 PCm which happens to trace back to a 4.7 MHz 8 bit ancestor found in the original IBM PC, the 8088.
What it ultimately boils down to, is selecting the right tool for the job. And there will always be a niche somewhere for humble little lightweight 4 and 8 bit controllers.
My rights don't need management.
I would have loved to compare to the AT91SAM7S described in the article, but data sheets weren't available on the web site. All that said, I think the more impressive product is on the horizon: the AT91SAM7X series with built-in Ethernet.
Best of luck to the uClinux folks trying to pack everything into 64K of RAM. I've never tried to use less than 1 MB. A better choice, IMHO, would be something like eCos, which can be stripped down more, because in embedded systems, you don't always need a POSIX-style file system hierarchy.
While there have been many advances in 32-bit MCUs, it would be foolish to assume that the 8-bit MCU market is still stuck in the land of the 6502/8051/6800 CISC architectures. It's had its share of advances as well. And nobody really wants to use a 32-bit MCU for a mouse or keyboard.
One thing the 8bits have going for them is a proven track record of reliability.
As you go with smaller dies, you introduce the potential for problems in extreme environments..
You also have decades of experience and existing tools that have to be dealt with..
There is more to the cost of an embedded solution then the CPU cost..
---- Booth was a patriot ----
Did you really expect to learn the current state of the art in its entirety? Do you think that would actually help you in any way?
I had a processor design class less than five years ago where we dug into the core of a MIPS CPU. I learned a lot about the inner workings of a modern processor, but to this day I've never physically seen a MIPS machine. Was it a waste of my time? No way!
And such is yours. Like you said, your mission is to learn how to interface a generic processor with a generic system. Get that and substituting other variables is a piece o' cake.
Dewey, what part of this looks like authorities should be involved?
1) 8 bit CPU are lower power than 32bit CPU's
Not so. Manufacturers, including ATMEL, run new and high volume products through the latest small geometry low voltage processes; Older 16/8/4bit parts in the main get left behind on higher power consumption lines, never to be die shrunk.
2) Goodbye 8bit
There will always be a place for the smaller parts. Rice Cookers for example are manufacutered in *huge* quantities; Do you think they will spend 10 cent more on a CPU because it is 'easier to code on'? No.
LQFP 40 and 64 pin packages can be soldered by your average electronics ham; I for one am looking forward to playing with an ARM CPU finally. If I can ever get one, which is unlikely. Atmel are not Microchip, sadly
Mike.
... the fast 8-bit AtMEGA chips (AtMEGA128) actually do very well running 32-bit C++ code generated by AVR-GCC.
I recently ported a 3600 bps FSK modem, or at least the demodulator half of it, from Win32 (MSVC) to a 16 MHz AtMEGA128. I had very low expectations, but to my surprised the code was compiling under AVR-GCC in an afternoon and worked great with almost no tinkering needed. A native 32-bit controller would be even better, but many users would be surprised at just how well the 8-bit Atmel parts handle 32-bit code today.
Dahlmann tightly grips the knife, which he may have no idea how to use, and steps out into the plain.
Even BSD UNIX on PDP-11 really wanted more than 64k of RAM and more than 512k of disk space, and that was for a 16bit processor.
I don't think it's worth worrying about porting Linux to this. Give it another year and they'll be up to 256k. Until then, there are other open source solutions one could run on this.
Reading in the article, it states that it will be delivered in LQFP packages, which means that it will be a pain in the a.. to solder it yourself. offcourse it's possible, but i believe many DIY projects don't include either the equipment, or skill to manage to solder this thing. For the more advanced it's offcourse pretty cool, but I guess i'll still stick with the PIC - there's currently no need to use this chip for 99% (yes, I picked this number randomly, and it is therefore not valid but..) of all the DIY projects out there.
..as I strike down upon thee..
Doolittle :
Bomb no.20 : To explode of course.
Yes. At least GCC targets most 32-bit micros and some smaller ones like HC11/12 and AVR. Except for the Cypress M8 and Cygnal micros, I've been able to find free compiler and downloader tools (plus plans for homebrew interfaces) for just about every micro I've been interested in over the last ten years. AVR and PIC micros are starting to include UART bootloader support, and many 32-bit parts support generic JTAG for downloading and debug, if not by a serial port download process.
the LPC2100 series ARM7 micros from Philips have not only internal FLASH and RAM, but are also available with external RAM controllers. I have a devboard here that has one of these... it has two UARTS, two CAN interfaces, lots of GPIO, and tons of other goodies...