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).