??? 06/23/10 13:46 Read: times |
#176863 - Same same all the time. no "one size fits". Responding to: ???'s previous message |
I work with 8051, PPC, AVR, PIC, ARM, ...
The AVR are 8-bitters, so they are "just" different from 8051. There is no direct gain from replacing a 8051 with an AVR. The smallest 8-pin chips might possibly be interesting alternatives to an 8051. The PPC chips I use are much larger chips running full Linux systems with many MB of flash and RAM and support for multiple ethernet, USB, CF, ... They are obviously not traditional microcontrollers that can be seen as alternatives for a high-end 8051. Especially not after having looked at the price. There are a number of PIC variants. Some of them are very strong competitors for 8051 chips in the low-energy niche - for example the chips in the Nanowatt series. Most most of the chips are just "different". If I do talk about ARM, it's because the ARM chips are the family that best complements 8051 processors. They are available in low and high-pin editions. They are available with low or high CPU performance. They are available with similar flash/RAM sizes as many 8051 while continuing towards MB sizes. They are available with low or high power consumption. The important thing is that 8051 and ARM processors have a very large overlap. In that overlap, it isn't obvious which alternative is best. But you do well to take a look at the options before making a decision. What you really have to realize is something I have said before. I don't care the slightest if you decide to build a processor from discrete transistors. I don't gain anything from getting peoples to use a specific architecture or chips supplied by a specific manufacturer or distributor. But I regularly do see people having very bumpy rides because they have one tool, and are doing their damndest to make the world fit that single tool. I like to have a well-filled tool chest, and select a suitable tool depending on problem. I have many times seen products run out of batteries almost instantly because a too powerful procesor (or maybe too old) was used. Or the software was lousy at using any available hw accelerations. And I have many times seen products that stutters because a too slow processor was used - or the code did a lousy job of using any available interrupt handlers, FIFOs, DMA, ... Some of the problems can be solved by having better educated developers producing higher-quality code. Some of the problems can be solved by having the developers do a better job of selecting the correct chip. It's just as important to not just select an 8051 but to select a suitable variant. Same with ARM chips. There are no "one size fits". What I'm trying to sell to people is the idea that if the developer does not start the project by making sure that he has selected good/proper hardware, it can only go downhill from there. I have to stick with generalities because there are many architectures that are competing, and that have processor models that are absolutely perfect for specific tasks. And within each architecture there are many different models - discussing a specific model is only meaningful if having a specific task/goal. If I see someone trying to use a Pentium-class ARM chip to implement a lamp timer, I ask them why they didn't consider a 8051/PIC/AVR/... instead. I have many times met fools (and sometimes been the fool myself). But if I meet a fool from dishwasher company X, I can't conclude that all sales people selling dish washers are fools or are lying about their products or have products that isn't actually doing what the sales broschures are claiming. I can ignore the fool, but must still be prepared to evaluate the dish washers that are available to figure out which one has a suitable size, water consumption, electricity consumption, ease of use, price, warranty, ... that may suit me. It's irrelevant if Atmel have managed to pick a fool or two five or ten years ago. That has no relevance to what Microchip or NXP or ST or Freescale has on offer. Or the price. Or the documentation quality. When looking at ARM chips, you'll find thousands of models too small to run Linux. But somehow, people seem to think ARM are more or less implying Linux. |