官术网_书友最值得收藏!

4.4 ATmega328P微處理器

每個Arduino(開放硬件)電路,包括Femtoduino在內(nèi),都是以Atmel微控制器作為系統(tǒng)核心的。微控制器類似于微處理器,除了具有一個處理器核,微控制器還有自己的RAM、ROM和I/O外圍電路,包括模數(shù)轉(zhuǎn)換器(ADC)。這樣就使微控制器電路比微處理器電路更加易于設(shè)計(jì)和制造。

Ateml是微控制器領(lǐng)域的領(lǐng)導(dǎo)廠商,ATmega328p是Atmel的8位微控制器系列中功能最強(qiáng)大的一款。下面是其部分功能的介紹:

·32KB flash RAM、2KB SRAM和1KB EEPROM

·20MHz CPU

·8位模數(shù)轉(zhuǎn)換(ADC)通道

·共32個引腳,其中23個I/O引腳

使用Atmel微控制器的一個重要優(yōu)點(diǎn)是,能夠獲得免費(fèi)的軟件工具。Atmel免費(fèi)提供Atmel Studio,下載網(wǎng)址:http://www.atmel.com/tools/atmelstudio.aspx

4.4.1 ATmega328P的引腳

面對ATmega328P的32個引腳名稱,處理起來可能令人迷惑。首先,23個I/O引腳可以分成三個端口:

·B端口——包括8個引腳,PB0~PB7。

·C端口——包括7個引腳,PC0~PC6。

·D端口——包括8個引腳,PD0~PD7。

器件的大部分引腳具有多種用途,對于每種用途,每個引腳會使用不同的名稱。例如,依據(jù)端口B的配置方式,引腳PB2有三個不同的名字:

·SS——配置為SPI(Serial Peripheral Interface,串行外設(shè)接口)總線主從選擇

·OC1B——配置為對B輸出進(jìn)行匹配比較的計(jì)時器/計(jì)數(shù)器1輸出

·PCINT2——配置為引腳中斷請求2

幸運(yùn)的是,讀者不必深入理解這些角色,甚至不必探究如何配置這些端口——Arduino框架為大家處理了這些細(xì)節(jié)。但是讀者應(yīng)當(dāng)理解,這個原理圖中使用的引腳名稱可能會不同于其他ATmega328P原理圖中的引腳名稱。

表4-2列出微控制器的每個引腳。每個I/O都用它的端口、位置和圓括號里的用途來標(biāo)識。例如,端口B的第五個引腳命名為PB4,它的用途是Master In/Slave Out(主入/從出),因此在表中它的設(shè)計(jì)標(biāo)號是PB4(MISO)。

表4-2 ATmega328p的引腳

這些引腳名稱是基于Atmel的命名習(xí)慣。Arduino框架為微控制器的引腳重新賦予了自己的名稱。在本單元的原理圖中,ATmega328P的引腳使用Atmel的名稱,但是連接引腳的導(dǎo)線將使用Arduino給出的名稱。

用一個例子來說明這個問題。標(biāo)有PC6(RESET)的引腳將與信號名稱為RESET的導(dǎo)線相連,這個連接ATmega328p的信號,在設(shè)計(jì)中用來對電路進(jìn)行復(fù)位。

4.4.2 繪制電路原理圖——ATmega328p

在Femtoduino電路中,大多數(shù)微控制器的引腳連接到排座上,這樣Femtoduino電路就能插進(jìn)面包板中。少數(shù)引腳與復(fù)位電路、串行外設(shè)接口(SPI)、電源和地相連。圖4-7所示為包括ATmega328p的子電路。

下面講解如何在EAGLE中設(shè)計(jì)這個子電路。從器件的左上角開始,按逆時針方向講解。

1)在EAGLE中,打開前面單元中包括子電路的原理圖(*.sch)。激活A(yù)dd工具,打開eagle-book元件庫。

2)選擇ATmega328p,將其放在電壓調(diào)整子電路的右邊,周圍留下足夠的空間。

3)使用Add工具,將下列元件加入設(shè)計(jì):一個VCC、四個GND、一個LED_0805(LED2)、一個RES_0603(R3)、一個CAP_0603(C5)和一個CSTCE(Y1)。

圖4-7 ATmega328p子電路

4)從RESET引腳畫出一條導(dǎo)線,將其命名為RESET信號,用于微控制器與更早提到的復(fù)位開關(guān)的連接。為這個信號創(chuàng)建一個標(biāo)簽,并放在信號左側(cè)。

5)移動Y1和一個GND到PB6引腳的左側(cè)。連接Y1的引腳1到PB6(XTAL),連接Y1的引腳3到PB7(XTAL2)。連接Y1的引腳2到GND。

6)移動C5和一個GND到AREF引腳的左側(cè)。旋轉(zhuǎn)C5使之水平放置。畫兩條導(dǎo)線:一條從AREF到C5的右側(cè)引腳,另一條從C5的左側(cè)引腳到GND。把連接AREF到C5的導(dǎo)線指定為AREF信號,并為這個信號創(chuàng)建一個標(biāo)簽。

7)從引腳PC0~PC5、ADC6和ADC7畫出導(dǎo)線,并給導(dǎo)線分別賦信號名A0、A1、A2、A3、A4、A5、A6和A7。對其中每一個信號都分別創(chuàng)建一個標(biāo)簽并移動到導(dǎo)線左側(cè)。

8)移動一個GND到微控制器底部的中間位置,與微控制器的GND1、GND2和GND3引腳相連。

9)移動R3、LED2和GND到微控制器的右下方,旋轉(zhuǎn)R3使之垂直放置。

10)繪制三條導(dǎo)線:一條從PB5(SCK)到R3的上側(cè)引腳,一條從R3的下側(cè)引腳到LED2的上側(cè)引腳,還有一條導(dǎo)線從LED2的下側(cè)引腳到GND。其中第一條導(dǎo)線指定為信號D13/SCK。

11)從引腳PB0~PB4出發(fā)繪制導(dǎo)線,并分別指定為信號D8、D9、D10、D11/MOSI和D12/MISO。為每個信號創(chuàng)建標(biāo)簽,并將各標(biāo)簽移動到導(dǎo)線右側(cè)。

12)從引腳PD0~PD7出發(fā)繪制導(dǎo)線,并分別指定為信號D0、D1、D2、D3、D4、D5、D6和D7。為每個信號創(chuàng)建標(biāo)簽,并將各標(biāo)簽移動到導(dǎo)線右側(cè)。

13)移動VCC到微控制器頂部的中間位置。連接VCC到微控制器的AVCC、VCC1和VCC2引腳。

14)為電路元件指定如下數(shù)值和名稱:Y1設(shè)為16MHz,C5設(shè)為0.1μF,R3設(shè)為330,LED2設(shè)為BLUE。使用Smash工具重新整理這些名稱和數(shù)值。

主站蜘蛛池模板: 白玉县| 浦江县| 射洪县| 固原市| 苗栗县| 鲜城| 新晃| 临湘市| 平湖市| 金塔县| 宣武区| 平远县| 莱阳市| 马鞍山市| 中卫市| 泰顺县| 巩留县| 兴安县| 安福县| 旬阳县| 龙口市| 洛扎县| 乡城县| 阳原县| 通渭县| 瓦房店市| 芦山县| 平定县| 栾川县| 西吉县| 香港| 浙江省| 易门县| 潜山县| 淮南市| 德保县| 梁平县| 桑植县| 潍坊市| 清流县| 如皋市|