ATmega328Atmel的megaAVR产品线之一款单片机产品。

规格

这是一颗8位AVR精简指令型微控制器,拥有32KB ISP具备写入同时读取能力的闪存存储器。1KB 的电气可抹除只读存储器。2KB 随机存储器。23个通用输出输入线。32个通用工作寄存器。三个具备比对能力的计时计数器。内部与外部中断。可编程的通用异步收发串列接口。一组字节导向的两线式串列接口。一组SPI串列端口。6通道10位元模拟数码转换器(TQFP及QFN/MLF包装中只有8通道)。一组具有内部震荡器的可编程看门狗计时器。五组可选择的功率节约模式。这个单片机的工作电压运作在1.8V-5.5V之间。这个单片机运作性能达到每MHz 有1 MIPS[1]

关键参数

Parameter Value
CPU type 8-bit AVR
Performance 20 MIPS at 20 MHz[2]
Flash memory 32 kB
SRAM 2 kB
EEPROM 1 kB
Pin count 28-pin PDIP, MLF, 32-pin TQFP, MLF[2]
Maximum operating frequency 20 MHz
Number of touch channels 16
Hardware QTouch Acquisition No
Maximum I/O pins 26
External interrupts 24
USB Interface No
USB Speed No

系列方案

一个常见的替代方案是ATmega328P,是低功率消耗的版本。

应用

截至2013年,ATmega328常见于许多项目之中,这些项目多半是简单的、低功耗的以及低成本的。最多的应用是在流行的Arduino控制板上,有Arduino Uno、Arduino Nano和Arduino LilyPad等。

程序刻录

 
ATmega 48A/PA/88A/PA/168A/PA/328/P 28-PDIP 接脚图 (datasheet)

可靠度鉴定显示资料保持失败率(data retention failure rate)远低于1 PPM,条件是在温度85 °C时可保持20年,在温度25°C时可保持100年。

并行式程序刻录模式[2]
Programming signal Pin Name I/O Function
RDY/BSY PD1 O High means the MCU is ready for a new command, otherwise busy.
OE PD2 I Output Enable (Active low)
WR PD3 I Write Pulse (Active low)
BS1 PD4 I Byte Select 1 (“0” = Low byte, “1” = High byte)
XA0 PD5 I XTAL Action bit 0
XA1 PD6 I XTAL Action bit 1
PAGEL PD7 I Program memory and EEPROM Data Page Load
BS2 PC2 I Byte Select 2 (“0” = Low byte, “1” = 2nd High byte)
DATA PC[1:0]:PB[5:0] I/O Bi-directional data bus (Output when OE is low)

并行式程序刻录模式。要进入并行式程序刻录模式有一连串的动作,首先清除单片机程序内容作法如下,PAGEL (PD7), XA1 (PD6), XA0 (PD5), BS1 (PD4) 必须设为0(接地)。RESET脚接地,VCC脚接地。接着VCC接4.5V-5.5V。等待60us。接着RESET接到11.5V-12.5V。等待310us。设置XA1:XA0:BS1:DATA = 100 1000 0000,xtal1脚给一个脉波150us,WR低准位脉波。以上会让单片机清除原本程序内容。等到RDY/BSY(PD1)脚出现高准位就完成。 如要写入则设置XA1:XA0:BS1:DATA = 100 0001 0000, XTAL1脚送脉波, WR脚送低准位脉波。 详情参考原厂手册[2]

串列式程序刻录模式[2]
Symbol Pins I/O Description
MOSI PB3 I Serial data in
MISO PB4 O Serial Data out
SCK PB5 I Serial Clock

串列资料在单片机的进出,当单片机时脉在正缘(rising edge)时是送入资料到单片机,当单片机时脉是负缘(falling edge)时,资料则是从单片机提交。VCC送电之前先把RESET脚与SCK脚设为低准位。等待20ms。接着从串列资料进入脚(MOSI脚)送入0xAC, 0x53, 0x00, 0x00刻录程序指令,单片机接受之后会回传第二个指令0x53。

参见

注释

外部链接