What does the 'P' mean in Atmega328p?

Go To Last Post
19 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Title says it all, I'm a noob. But I started working with my first Atmel microcontroller, the Atmega328(at least that's what Atmel studio is telling me that's what it is), and I have been analyzing it's datasheet, I might of misinformed myself that the 'p' in ATmeaga328p meant "DIP package.".

 

I purchased ATmega328's in a DIP package, and started my first programs using atmel-ice and atmel studio 7 tool chain with c. When attempting to verify the signature of a ATmega328p chip I thought I had installed, it gave me errors, and suggested my chip might be an ATmega328.

 

I was concerned that this would cause problems with coding the chip, but everything worked fine when I changed the target device to ATmega328.

 

So this brings me to my question: What does the 'p' in ATmega328p mean/indicate? What sets ATmega328p apart from ATmega328? Whats the difference?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

This is where you get both data sheets and two monitors and compare them side by side in order to know all the differences.  As far as I know, the P in the mega328 refers to "pico-power", meaning that the IC, in certain circumstances, operate and/or retain its state at very low levels of power.  These are the kind of details that you only need to bother with if you're making 100,000 units of individual product design.

 

All the more reason to get away from individual chips and concentrate your embedded-systems development energies on pre-manufactured module boards that have the CPU (in the smallest package) coupled with all the resistors, capacitors, resonators, etc... already built.  These boards have the most important interfacing pins brought out to plated-thru hole pads.  Since these CPU module boards are bulk-manufactured, the costs for the board are roughly about the same as the individual CPU IC.   For the ATmega328P, here's a listing for a development board costing about $2.20 USD each: https://www.ebay.com/itm/5PCS-Pr...

 

Use standardized cheap hardware platforms that are about one level of complexity above your application's current needs.  Concentrate on your application and especially on creating an easy-to-use, intuitive user-interface.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Agree, P = "pico-power". If the "P" is after the dash in the part number, it refers to the package, as in Mega328P-PU which is pico-power in a 28-pin DIP package.

 

In the new package printing style (see https://www.avrfreaks.net/forum/...), the package information is on the second line and the device number on the first.

 

Jim

 

 

 

 

Jim Wagner Oregon Research Electronics, Consulting Div. Tangent, OR, USA http://www.orelectronics.net

Last Edited: Sun. May 13, 2018 - 11:59 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I was going to suggest you "diff" the device header files for 328 and 328P to see how they differ but in avr-gcc (anyway) I find:

#elif defined (__AVR_ATmega328P__) || defined (__AVR_ATmega328__)
#  include <avr/iom328p.h>

which suggests they use the SAME header file and by implication the registers are the same. Lookingat iom328p.h the only "device specific" bit I can find is:

/* Signature */
#define SIGNATURE_0 0x1E
#define SIGNATURE_1 0x95
#if defined(__AVR_ATmega328__)
#  define SIGNATURE_2 0x14
#else /* ATmega328P */
#  define SIGNATURE_2 0x0F
#endif

which just varies the expected signature whether it is 328 or 328P.

 

To be honest all this surprises me a little. I thought "Picopower" suggested extra power saving features like Power Reduction Register (PRR) and maybe "sleeping BOD". Yet things like:

#define PRR _SFR_MEM8(0x64)
#define PRADC 0
#define PRUSART0 1
#define PRSPI 2
#define PRTIM1 3
#define PRTIM0 5
#define PRTIM2 6
#define PRTWI 7
#define MCUCR _SFR_IO8(0x35)
#define IVCE 0
#define IVSEL 1
#define PUD 4
#define BODSE 5
#define BODS 6

appear to be available whether this header is used for 328 or 328P??

 

(now I just know I'm going to have to pull the 328 datasheet and see if it really has these things!)

EDIT: when I go to the Mchip site to download the 328 datasheet it actually offers me the one "328/P" document that seems to cover both 328 and 328P ?

Last Edited: Mon. May 14, 2018 - 10:37 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The 328P appeared long before the 328.
The 1284P appeared long before the 1284.
.
I had always assumed they were the same chips. Possibly with poorer power figures for the non-P version.
The non-P version was cheaper and with a different Signature.
.
Perhaps Mr Chapman can give us an explanation.
It seems very odd to introduce the same chip with different partno, Signature, price.
Distributors will be well pleased!
.
David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

From the datasheet:

Note: BOD disable is only available for ATmega328P.

 Maybe that really is the only difference (BODS bit in MCUCR).

/Lars

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So the .h should have a

#if defined(__AVR_ATmega328P__)

to isolate the BOD bit so it's only accessible for 328P

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

There are a lot of variants with

- no suffix

- P

- A

- PA 

- PB (newest)

I'm afraid the no suffix - to A - to B - is a process technology changing. They are weaker and weaker regarding ESD/EFT immunity.

I cannot say anything about the P in this regard though. Maybe P is not related to the process (it is combined with A -PA and with B -PB)

It seems PB is the newest and weakest.

It also seems that 0-series and 1-series are the same technology as PB. They even don't have the most sensitive part - the crystal oscillator - probably the ESD performance with it is embarassing... I tested the PB parts and I know.

 

Recently I had quite an experience regarding that, with a Microchip PIC micro. Quite an old variant, on an old board made not by me. I tested it against my ESD/EFT generator and it performed very poorly. It was quite a surprise because I thought that old technology is quite immune by itself... Almost the same kind of board with an ATmega8 (without suffixes) performed without a glitch. Both boards/chips with crystals connected directly to the (internal oscillator of the) chip.

So I have a feeling Microchip is not that good at this. They seem to focus on low power but with weak immunity.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

david.prentice wrote:
The 328P appeared long before the 328. The 1284P appeared long before the 1284.

Whoa -- a trick question?

 

Before I start digging though my store of datasheets, was it the '328 or the '644 that didn't appear until the P versions of the other family members, so it had PicoPower features but no P suffix?  [end of self-quiz]

 

Perhaps I am not totally in left field, but perhaps not in the correct ballpark. ;)  I have a goodly store of datasheets of AVR8 models that we applied over the years, but never '328 so I have no store of datasheets.

 

Above is one of the first "omnibus" datasheet versions.  You notice no A in the '328 model numbers.  IIRC that was because there was no '328 before A.  Comments/corrections?

 

Taking that same datasheet and looking at revision history...

Does that mean that there was a '328P before a '328?  All bow to the dave-meister.

 

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

Last Edited: Mon. May 14, 2018 - 01:57 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I did some F3 "stepping" through the datasheet version above.  OP's question:  I also say P is PicoPower.  But why was the non-P version intruduced? 

-- Signatures are different.

-- DC Characteristics are [significantly] different.

 

I could not find any "this is only in '328P" references, except as noted

6. BODS and BODSE only available for picoPower devices ATmega48PA/88PA/168PA/328P
 

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Lee in Codevision what happens if you try to make an access to "BODS" and "BODSE" and switch between 328 and 328P ? AVR-LibC seems to mistakenly allow the 328 (not P) programmer to access something called BODS/BODSE. Does CV have different headers for the two? (and one without BODS/BODSE)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Imagecraft recognizes BODS/BODSE/SIGRD in M328p, but not in the M328

Click Link: Get Free Stock: Retire early!

share.robinhood.com/jamesc3274

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I do not own ATmega328 nor ATmega1284

I do have ATmega328P and ATmega1284P

 

@Lee,

Yes,  I own an ATmega644 which has a single USART.   This preceded the ATmega644P which has two USARTs.

 

I can distinctly remember the introduction of 328 and 1284.   It caused great upset when they had different Signatures to the 328P, 1284P that were "well known" to avrdude.

 

If someone owns 328 and 328P,  she could investigate the differences.

 

Meanwhile,   it would seem wise to let Mr Chapman wake up.    We will probably get an authoritative answer.

 

Incidentally,   most chips keep the same features and Signature when moving to the A version.    e.g. ATmega32A

However the ATtiny2313A can now do USART_MSPI when the ATtiny2313 could not.

 

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The Power Reduction Register, PRR, OUGHT to be missing from the non-P variants. I "always" thought that the ability to control the power to different parts of the chip was one of the key characteristics of "PicoPower".

 

Jim

Jim Wagner Oregon Research Electronics, Consulting Div. Tangent, OR, USA http://www.orelectronics.net

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm awake but am I aware?

The best answer would be by a creator or the creator's follow-on (one at Microchip technical support)

 

Couldn't locate a mega328 to P migration note but did for mega168.

The primary effect is due to the low-frequency crystal oscillator; evaluate its margin and increased startup time duration.

Microchip Technology Inc

Microchip Technology

Application Notes

AN_8035 AVR512: Migration from ATmega48/88/168 to ATmega48P/88P/168P

http://www.microchip.com/wwwappnotes/appnotes.aspx?appnote=en591769

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Mega168 came before mega168P (as far as I can remember)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

rammon wrote:
It also seems that 0-series and 1-series are the same technology as PB.
tinyAVR 1-series and all mega328 will shortly share the same wafer fab.

megaAVR 0-series and PB megaAVR may also share the process.

Transistor sizing is per layout so likely varies per model, and the process itself may be adjustable.

The ones at Microchip are apparently moving higher volume parts to in-house wafer fab and/or assembly and/or final test.

Likely reduced price and/or cost (eventually), increased part availability (reduced lead time, as of yesterday mega324PB lead time is 3 weeks for industrial and 5 weeks for automotive), and increased quality (reduced process escapes at final test)

rammon wrote:
I tested it against my ESD/EFT generator and ... Almost the same kind of board ...
More likely a PCB design defect than a MCU design defect (though those do exist)

An evaluation of a MCU PCB with an EFT generator :

YouTube

Finding PCB layout defects

by Doug Smith

Jul 22, 2008

https://www.youtube.com/watch?v=CdJuaNlUTqE (3m2s)

This is a method using pulse injection to find problems in printed circuit boards that may cause field or EMC compliance problems. This is intended for Design, Manufacturing, and Test Engineers and Technicians of electronic products.

 

P.S.

Please be aware of the ERP of an ESD generator and its antenna as non-contact ESD can destroy electronics.

 


Microchip Technology Inc

Product Change Notification - GBNG-06LXXH156 - 02 May 2018 - CCB 2856 Final Notice: Qualification of Microchip Fabrication site (FAB 4) for selected Atmel products manufactured with the 59.91K process technology.

http://www.microchip.com/mymicrochip/NotificationDetails.aspx?pcn=GBNG-06LXXH156

High Frequency Measurements Site Index

D. C. Smith Consultants

by Douglas C. Smith

http://emcesd.com/

EEWeb Community

Interview with Doug Smith

A Lab Rat's Experience in the Tech World

February 10, 2011
https://www.eeweb.com/featured-engineers/interview-with-doug-smith

 

Edit : video description

 

"Dare to be naïve." - Buckminster Fuller

Last Edited: Mon. May 14, 2018 - 05:35 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

@david.prentice:

Mega168 came before mega168P (as far as I can remember)

seems to be the case:

June 12, 2006 - AVR Studio 4.12 SP3: Sw: 0x0100 0x0101
Full Support for: ATmega48/88/168, ATmega8, ATmega32, ATmega128, ATtiny13, ATtiny25/45/85 and ATtiny2313

February 26th, 2007 - Sw: 0x0101 0x0109 (released with AVR Studio 4.13)
Added part support for ATmega88P and ATmega168P

 

"P" means the chip is Perfect blush 

 

 

When in the dark remember-the future looks brighter than ever.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for commenting. I re-reviewed the atmega328/P datasheet and I saw note of what you said.