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。

關鍵參數

系列方案 
一個常見的替代方案是ATmega328P，是低功率消耗的版本。

應用 
截至2013年，ATmega328常見於許多專案之中，這些專案多半是簡單的、低功耗的以及低成本的。最多的應用是在流行的Arduino控制板上，有Arduino Uno、Arduino Nano和Arduino LilyPad等。

程式燒錄 

可靠度鑑定顯示資料保持失敗率(data retention failure rate)遠低於1 PPM，條件是在溫度85 °C時可保持20年，在溫度25°C時可保持100年。

並列式程式燒錄模式。要進入並列式程式燒錄模式有一連串的動作，首先清除單晶片程式內容作法如下，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腳送低準位脈波。
詳情參考原廠手冊。

串列資料在單晶片的進出，當單晶片時脈在正緣(rising edge)時是送入資料到單晶片，當單晶片時脈是負緣(falling edge)時，資料則是從單晶片送出。VCC送電之前先把RESET腳與SCK腳設為低準位。等待20ms。接著從串列資料進入腳(MOSI腳)送入0xAC, 0x53, 0x00, 0x00燒錄程式指令，單晶片接受之後會回傳第二個指令0x53。

參見 
 ATmega88
 ATmega168

注釋

外部連結 
 

微控制器