arduino筆記5:Arduino專用AVR微控制器 + ATmega168/328

筆者並非專業電子信息的,只是想用硬件來實現一些功能,但是我認爲在用一個東西的時候,有必要了解這個模塊的組成,即使這裏面的許多專有名詞並不是很熟悉。

目錄

Arduino專用微控制器

接下來將會介紹ATmega168/328

1)內存

2)特性

3)封裝

4)端口

5)引腳電路

6)模擬比較器輸入

7)模擬輸入

8)串行接口

9)定時器/時鐘I/O

10)外部中斷

11)arduino引腳分配

12)基本電氣特徵


 

Arduino專用微控制器

其實,arduino開發板只是一個AVR芯片的載體,所以arduino的電氣特性多半指處理器的電氣特性。芯片引腳直接連接arduino開發板邊緣的針型端子或焊盤。芯片與開發板的連接點之間不存在緩衝或電平位移。

目前arduino採用的AVR設備的主要區別在於板載閃存的數量、最大時鐘頻率、芯片上I/O引腳的數目,以及可用的內部外圍電路。

  • 以下是arduino產品使用的AVR微控制器:

 

接下來將會介紹ATmega168/328

 

 

從根本上說,ATmega168與ATmega328是一樣的芯片,只是帶有不同大小的板載內存。

  • 下圖展示了ATmega168與ATmega328微控制器內部的框圖:

 

1)內存

ATmega328中的每種內存都是ATmega168的兩倍,除此之外,兩者完全相同。

  • 以下是ATmega168/328板載內存:

 

 

2)特性

ATmega168/328擁有如下特性:

  • 支持片上啓動程序的系統內編程(in-system programming by on-chip boot program)
  • 2個8位定時器/計數器,帶有獨立預分頻器和比較模式
  • 1個16位定時器/計數器,帶有獨立預分頻器、比較模式和捕獲模式
  • 實時計數器,配有獨立振盪器
  • 6個PWM通道
  • 6個或8個通道的10位ADC(取決於封裝類型)
  • USART
  • 主從SPI串行接口
  • 雙線串行接口(兼容Philips I2C)
  • 可編程看門狗定時器
  • 模擬比較器
  • 23個可編程I/O線路

 

3)封裝

ATmega168與ATmega328有4種不同的封裝類型可用,分別爲:

  • 28-pin DIP
  • 28-pin MLF表面貼裝
  • 32-pin TQFP表面貼裝
  • 32-pin MLF表面貼裝

其中,28-pin DIP是arduino開發板最常用的封裝方式,但Uno AMD除外,它使用32-pin表面貼裝方式。

這裏主要介紹ATmega168的PDIP版本。

 

4)端口

ATmega168/328設計有3種類型的端口,分別爲B、C、D。其中,端口B與D是8位端口,端口C有6個可用的引腳,它們可用作ADC輸入。

每個端口提供雙向獨立的數字I/O,並帶有可編程的內部上拉電阻。上拉電阻的on/off狀態藉由控制寄存器中特定的端口引腳位進行選擇。

端口輸出緩衝擁有對稱的驅動特性,並帶有匯和源的能力(sink and source capability)。

 

5)引腳電路

下面這張圖顯示了28-pin DIP封裝的引腳電路:

 

 

6)模擬比較器輸入

下面這張圖顯示使用PDIP封裝的ATmega168或ATmega328的AIN0與AIN1引腳的位置。

 

 

 

注意,AIN0與OC0A定時器/計數器輸出(PD6)共享一個引腳。所以,如果PD6被用作PWM輸出,它就不能被用作AIN0輸入,除非每次需要修改其功能時進行重新配置。

 

7)模擬輸入

除了用於TWI串行通信的SCL與SDA引腳之外,模擬輸入引腳也可以用作獨立的數字I/O,或者用作模擬輸入,不與AVR其他周邊電路發生衝突。下面這張圖顯示ATmega168的PDIP封裝的引腳,它們被用作模擬輸入。

 

 

 

8)串行接口

下面顯示了ATmega168(PDIP封裝)的I/O引腳,串口電路會使用它們。由於沒有串行電路共享端口引腳,所以3種類型都可以使用,不會發生端口衝突。

 

 

 

9)定時器/時鐘I/O

ATmega168/328的內部定時器/計數器邏輯相當複雜,這反映在芯片的引腳分配上,下面這張圖展示了ATmega168/328微控制器定時器/計數器引腳:

 

 

注意OCxn引腳(OC0A、OC0B、OC1A、OC1B、OC2A、OC2B)可以用作PWM輸出,並且在arduino開發板上都被打上了標籤。還要注意T1與OSC0B共用相同的引腳(PD5),但也可以使用其他具有PWM能力的輸出,且不會與其他定時器/計數器電路發生衝突。

 

 

10)外部中斷

端口D的PD2與PD3引腳特意被用作外部中斷輸入。

 

 

11)arduino引腳分配

ATmega168/328引腳的arduino標籤:

 

 

其中,主要強調的是最常用的功能,比如獨立的數字I/O、模擬輸入、以及AVR控制器的PWM輸出能力。

 

12)基本電氣特徵

 

下圖展示了ATmega168/328微控制器的一些基本電氣特徵,重點強調的是電力消耗:

 

參考:

  1. Arduino:A Technical Reference   John M. Hughes
  2. Atmel官網:https://www.microchip.com/  因爲Atmel被micropchip收購了
  3. 官方pdf文檔位置:http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章