ATmega328
ATmega328是Atmel的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等。
程序刻录
可靠度鉴定显示资料保持失败率(data retention failure rate)远低于1 PPM,条件是在温度85 °C时可保持20年,在温度25°C时可保持100年。
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]。
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。
参见
注释
- ^ ATmega328P. [2016-03-29]. (原始内容存档于2016-03-28).
- ^ 2.0 2.1 2.2 2.3 2.4 ATmega48A/PA/88A/PA/168A/PA/328/P ATmel 8-bit microcontroller with 4/8/16/32kBytes in-system programmable flash Datasheet (PDF). [2016-05-04]. (原始内容 (PDF)存档于2016-04-22).
外部链接
- ATmega328 documents. Atmel. [2016-06-02]. (原始内容存档于2016-06-04).