Benefits of atmega32

What are the benefits of using ATmega32 than other microcontrollers? Is it better than PIC , ARM , and 8051 ?

+6
arm embedded 8051 atmel atmega
source share
6 answers

It depends. First, you need to know what you want from a microprocessor.

Generally:

Pic:

  • Old architecture. This means that it is expensive or slower.
  • Specifies only low market (<few Mhz)
  • It says a lot of code

ARM

  • Scalability
  • Fast / cheap

Atmega is somewhere in the middle

+4
source share

<strong> Benefits

  • It still runs on 5 V, so legacy 5 V interfaces contain cleaner interfaces.
  • Although it supports 5 V, newer parts can work up to 1.8 V. This wide range is very rare.
  • A good set of instructions, very good performance compared to other processors (HCS08, PIC12 / 16/18).
  • High-quality GCC port (without proprietary compilers!)
  • The PA options have good standby capabilities in microamps.
  • Well rounded peripheral kit
  • QTouch Feature

disadvantages

  • Another 8 bits. ARM is a 16/32-bit workhorse, and it will increase the amount of data at much higher clock speeds than any 8-bit.
  • Cost. Can be expensive compared to HCS08 or other 8-bit processors.
  • The GCC toolchain has quirks such as a shared memory model and limited 16-bit pointers.
  • Atmel is not the best provider on the planet (at least they are not Maxim ...)

In short, they are very clean and easy to use with an 8-bit microcontroller.

8051 is deprecated: tools are walkable, architecture is unusual (idata? Xdata? Non-reentrant functions in most compilers by default?).

PIC to PIC24 is also fancy (register banking system) and poor bandwidth clock->. There is no first-class open source C compiler.

PIC32 competes with ARM7TDMI and ARM Cortex-M3 based on the adapted MIPS core and has a GCC port (non-core -lined).

The AVR32 competes with the Cortex-M3 and offers pretty good value, especially in the low power area.

The MSP430 is king for ultra-low power devices and has a passable GCC port (unless you are targeting the 430X).

HCS08 is a very inexpensive but low bandwidth. Peripherals vary greatly.

ARM used to be an entry point with a higher cost, but with the introduction of the Cortex-M3 architecture, the price was down compared to the 8-bit one. For example, the LPC13xx series is largely comparable to the ATmega32. Luminary (TI) has a pretty impressive peripheral kit.

+13
source share

I believe that the PIC family (prior to MIPS) has the most painful instruction set for everyone, which means that assembler is the preferred language if you want to save space, get performance, have control, etc.

The 8051 is a little less painful, more registers, but still takes a few instructions to do something useful (this means that you cannot compare them with other chips in terms of MHz). I like AVR in many ways, they cover the homebrew and developer community, or, if not directly, there is a much better family of developers there compared to competitors. I don’t like the instruction set, but decades ahead of PIC and 8051. I really like the MSP430 instruction set, this is one of the best instruction sets for assembly, TI is not so friendly to developers, it can be a struggle. The EZ430 was on the right track, but goodfet is better because you have no way to work with any other version of the kernel.

MSP430 and ARM have the best instruction sets, as far as I know, which leads to good assembler and good compilation tools. You can find commercial tools for all of the above and, of course, for free tools 8051, MSP430 and ARM (MSP430 and ARM can use GCC, 8051 can not, look for SDCC ). At the moment, mspgcc4.sf.net and CodeSourcery are the place for GCC-based tools for MSP430 and ARM. LLVM supports both, I was able to get LLVM 27 to beat the last GCC in the dhrystone test , but this is one of the tests, LLVM tracks performance, but improves.

Regarding the search and creation of free cross-compilers, I see that LLVM is already the easiest to get and use and move forward, I hope it will only improve. Unfortunately, the MSP430 port for LLVM looked like I could have done in a PowerPoint daytime presentation, rather than a serious port.

My answer is that it depends on what you are doing, and I recommend that you try everything. These days, grading boards are in the range below $ 50, and some are in the range below $ 30. Even within the ARM family ( ST , Atmel, Stellaris, LPC, etc.), there is a wide range of features and quirks that you will only find if you try them. Avoid primer LPCexpresso, mbed2 and STM32. Avoid LPC at all and avoid Cortex-M3 altogether until you cut your teeth on the ARM7. Take a look at SparkFun for Olimex and other boards. Although it's probably the LPC ARMmite PRO and Arduino Pro are a good choice. The EZ430 is a good launch of the MSP430, and I don’t remember who makes the 8051 stuff, the Renasys (sp?), 8051s are not all created equal, the register space changes from one to the other, and you need to prepare for this. I would probably be looking for the 8051 simulator if you want to play with the 8051.

I see AVT and, of course, ARM continues to dominate, I would like to see that the MSP430 is used for things other than ultra-low power. With ARM, AVR and MSP430, you can use and use the GCC tools now and in the future, which has many advantages, even if GCC is not the best compiler in the world, it is certainly the best supported compiler. I would avoid proprietary compilers and tools. I would look for devices that have non-proprietary software interfaces, JTAG is good, but for example, the new JTAG SWD on Cortex-M3 is bad. TI MSP was hurt by this, but some hacks have resolved this, at least for now. I'm really not very good at talking about PIC and I will not try. The big thing to look for is the glue logic, does a part or family have an SPI or I2C or any other bus you want to use, do you need an internal pull-up or wiring or input?

Some chips simply do not have this option, and you need to add external equipment. Do you need interruption with air conditioning? ARM tends to win this because it is the core used by many, so each ARM vendor puts its own I / O there, so you can still live in the ARM world and have many options, AVR and MSP will be very limited comparison. With ARM tools up to date, ARM is the most used processor right now. AVR and MSP are special project add-ons, less widely supported and fragile. Although ARM has low power compared to Intel on SBC or on a computer platform, it is most likely not as small as AVR or MSP. You really need to look at your project and choose the right processor for the job, I would not and would not limit myself to one family. With the same cheap price as scoreboards, and almost everyone can use free tools, it’s just a matter of putting in a few nights or weekends to get to know everyone. I suggest exploring more than one AVR and exploring more than one microprocessor.

+4
source share

At this end of the spectrum, there are really only two factors that are of great importance. First, in smaller quantities, the only thing that matters is which architecture is best for your development. If you are already familiar with PIC, there isn’t much point in learning avr or vice versa. Select the architecture that you like, and then browse through the options for that architecture to see which model fits your specific needs.

In quantities (for example, 20 or more units), it may be useful for you to choose the appropriate platform that exactly matches the needs of your devices, so as little as possible.

In general, the Pic and avr platforms are good for simple, single-function devices, where when the hand is used when you need a full OS stack, such as QNX or Linux, for things like TCP or real-time using OS services.

+3
source share

If you need the widest selection of peripherals, performance, price, software and tool support, as well as suppliers, it will be difficult to get around the ARM Cortex-M3.

But, addressing directly to your question, the entire AVR range has a consistent architecture and a common peripheral set from Tiny to Mega (but not AVR32, but completely different). This is a significant difference with PIC, when moving up the range (PIC10, 12, 16, 18, 24, 32) you get different peripheral circuits, different sets of instructions and must invest in different compilers and debug hardware.

The AVR instruction set was designed to efficiently compile C code (again, unlike PIC).

The 8051 is an architecture originally introduced by Intel decades ago, but now used as the core for 8-bit devices from a number of vendors. It has some tricky tricks, such as efficient multi-tasking context switches through its 8 duplicated register banks and a bit-address memory block, but having a fancy memory architecture and a limited address range (like most 8-bit devices). Great for small target devices, but not truly general purpose.

ARM Cortex-M3 significantly replaces ARM7TDMI and is a cleaner design with well-designed architecture. It requires a minimal assembler launch code, and even ISR and vector tables can be directly encoded in C without any strange compiler extensions or assembler input / output code. Its biponing technology allows the use of all memory and peripherals for an atomic bit, which is useful for fast I / O and secure multi-threading. It is mainly designed to provide C or C ++ code at the system level without non-standard compiler extensions. This, of course, is a 32-bit architecture, so it has no resource limits or arithmetic for 8-bit devices. Low-end parts prices compete with higher-performance 8-bit devices and remove most of them from 16-bit devices (making 16 bits almost obsolete).

Another important thing to keep in mind is that PIC and AVR are the same providers, and 8051 and ARM are licensed cores. Each licensee adds its own peripheral set, so there are no peripheral devices between providers, therefore, the device driver code requires porting when switching suppliers, and you need to make sure that the part has the necessary peripheral devices. If you think through your device level well, this is rarely a problem.

+2
source share

Well, answering is not easy. It basically depends on what you used before. If you are already an AVR user, then it is useful to use. On the other hand, you can find a PIC with similar capabilities, so I would say that these are mostly personal preferences. I think most ARMs are more capable than the atmega32 series. If you want good advice, let us know what you plan to use for it.

AVR has a model with a flat memory and they have free development tools, and cheap development equipment is available for them.

I don't know enough about 8051 to comment.

Oh, and if you are thinking about the original atmega32, I would say that this is a bad idea. It will be obsolete soon, so you might want to consider newer models from the atmega32 series.

0
source share

All Articles