Tải bản đầy đủ (.pdf) (93 trang)

Tài liệu LÝ THUYẾT MẠNG NƠRON ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.68 MB, 93 trang )






LÝ THUYẾT MẠNG NƠRON


1
Lí THUYẾT MẠNG NƠRON


1.1 Nơron tự nhiên

Thành phần cấu thành cơ bản của hệ thần kinh trung ương là nơron. Tế bào
sinh học này nhận và xử lý thụng tin và sau đú giao tiếp với cỏc phần khỏc của cơ
thể con người. Hỡnh 1.1 trỡnh bày một mụ hỡnh đơn giản cỏc nơron sinh học và
hỡnh 1.2 mụ tả một nơron sinh học. Thõn tế bào thần kinh được gọi là soma và
được bao quanh bởi một lớp m
ạng huyết tương mỏng.


Hỡnh 1.1: Sơ đồ 5 nơron liờn kết với nhau




2

Hỡnh 1.2: Sơ đồ một nơron sinh học


Mỗi tế bào thần kinh nhận nhiều đầu vào thụng qua cỏc dendrite và sau khi xử lý sẽ
tạo một đầu ra dọc theo axon. Điểm nối giữa một axon và một dendrite được gọi là
synapse. Thụng tin do một tế bào thần kinh tạo ra được truyền dọc theo axon của
nú. Một axon kết thỳc ở mối nối khớp của m
ột nơron khỏc.
Về mặt xử lý thụng tin, một nơron với nhiều dendrite như nhiều đầu vào và một
axon đại diện một đầu ra cú thể được xem như một hệ MISO. Cỏc hàm xử lý thụng
tin trong hệ MISO này được chia thành 4 loại. Hỡnh 1.3 mụ tả một nơron đơn giản.

Hỡnh 1.3: Mụ hỡnh một nơron đơn giản cú nhiều đầu vào và một đầ
u ra


3

Dendrites: Chỳng bao gồm một cõy nhiều nhỏnh, đúng vai trũ như cỏc đầu vào của
nơron. Trung bỡnh cú
34
10 10−
dendrite trờn một nơron.
Synapse: Đõy là vựng chứa đựng cỏc kinh nghiệm trong quỏ khứ. Nú cung cấp bộ
nhớ dài hạn cho cỏc kinh nghiệm được thu thập trong quỏ khứ. Vựng này nhận
thụng tin từ cỏc giỏc quan hay từ cỏc nơron khỏc và cung cấp đầu ra thụng qua
axon.
Soma: Thõn tế bào thần kinh được gọi soma. Nú nhận thụng tin từ synapse và sau
đú xử lý thụng tin. Hầu như tất cỏ
c cỏc chức năng logic của nơron được thực hiện ở
soma.
Axon: Đầu ra của nơron được gọi là axon.


1.2 Nơron nhõn tạo

Hỡnh 1.4: Nơ-ron nhõn tạo

Cấu trỳc một nơron nhõn tạo (xem hỡnh 1.4) bao gồm cỏc thành phần sau:
Đầu vào
12
, ,...,
n
x xx
: Cỏc đầu vào nhõn với cỏc trọng số
12
, ,...,
n
ww w
. Một đầu
vào cú giỏ trị bằng 1 được gọi là 1 bias và được ký hiệu là
0
x
.
Hàm số đầu vào f tớnh tập hợp cỏc tớn hiệu đầu vào cho nơron
(, )ufxw=
, trong
đú x và w lần lượt là cỏc vectơ đầu vào và trọng số. Thụng thường chọn f là hàm
tổng
1
n
ii
i
uxw

=
=

.
Hàm kớch thớch s tớnh toỏn mức độ kớch thớch của nơron a=s(u).


4
Hàm đỏp ứng tớnh toỏn giỏ trị tớn hiệu đầu ra của nơron o=g(a). Tớn hiệu đầu ra
của tớn hiệu thụng thường bằng mức độ kớch thớch của nơron o=a.
Tựy theo sự khỏc nhau của từng tham số ở trờn mà sinh ra cỏc kiểu nơron khỏc
nhau. Cỏc giỏ trị đầu vào và đầu ra của 1 nơ
ron cú thể số nhị phõn {0,1}, số lai
{-,1}, giỏ trị liờn tục trong đoạn [0,1], hoặc cỏc số rời rạc trong 1 khoảng được định
nghĩa trước.

Hỡnh 1.5: Cỏc hàm kớch thớch hay được sử dụng nhất: (a) Hàm chặn cứng; (b-
1), (b-2) Cỏc hàm chặn tuyến tớnh ; (c) Cỏc hàm sigma: hàm logsig (c-1), hàm
logsig 2 cực (c-2); (d) hàm gaussian (hàm hỡnh quả chuụng)
Hỡnh trờn mụ tả cỏc loại hàm kớch th
ớch hay được sử dụng nhất.
Hàm chặn cứng (hỡnh 1.5[a]). Nếu giỏ trị đầu vào của mạng lớn hơn 1 giỏ trị chặn
nào đú thỡ nơron trở nờn tớch cực (giỏ trị kớch thớch bằng 1), ngược lại nú sẽ
khụng tớch cực (giỏ trị kớch thớch bằng 0).
Hàm chặn tuyến tớnh. Giỏ trị kớ
ch thớch sẽ tăng tuyến tớnh cựng với sự tăng của
tớn hiệu đầu vào và khi đến một ngưỡng nào đú đầu ra sẽ bóo hũa. Cỏc kiểu hàm
chặn tuyến tớnh khỏc nhau phụ thuộc vào phạm vi của giỏ trị đầu ra nơron (hỡnh
1.5[b-1], 1.5[b-2]).



5
Hàm sigma. Hàm sigma là hàm truyền phi tuyến hỡnh chữ S được đặc trưng bởi cỏc
yếu tố sau.
Bị chặn, cỏc giỏ trị của nú bị hạn chế giữa 2 ngưỡng, vớ dụ như [0 1], [-1 1].
Đơn điệu tăng, nghĩa là cỏc giỏ trị của g(u) khụng bao giờ giảm khi u tăng.
Liờn tục và tăng, do đú cú thể
đạo hàm ở mọi điểm trong miền của hàm xỏc định
của hàm. Cỏc kiểu hàm sigma khỏc nhau được sử dụng trong thực tế là: hàm logsig
1
1
cu
a
e

=
+
(hỡnh 1.5[c-1]) trong đú c là hằng số. Một hỡnh thức khỏc của hàm
logsig là hàm logsig 2 cực:
()
1
1
cu
cu
e
hu
e




=
+
(hỡnh 1.5[c-1]) và hàm tansig:
()
tanh
cu cu
cu cu
ee
u
ee



=
+
.
Hàm gaussian (hàm hỡnh quả chuụng, hỡnh 1.5[d]).

1.3 Mạng truyền thẳng và huấn luyện mạng theo thuật toỏn
Brandt-Lin
1.3.1 Mạng truyền thẳng
Mạng nơron nhõn tạo là tập hợp cỏc nơron nhõn tạo được liờn kết với nhau
theo một quy luật nhất định nhằm phục vụ nhu cầu của người thiết kế mạng. Cú 2
loại mạng nơron thường được sử dụng là mạng truyền thẳng và mạng hồi tiếp. Hỡnh
1.6 mụ tả mạng truyền thẳng và mạng hồi tiếp. Dự cấ
u trỳc của mạng nơron thuộc
loại nào thỡ mạng nơron đều cú cấu tạo chung là được cấu thành từ cỏc lớp. Lớp
đầu tiờn được gọi là lớp đầu vào (input layer), lớp cuối cựng được gọi là lớp đầu ra
(output layer), cỏc lớp giữa được gọi là cỏc lớp ẩn (hidden layer).




6

Hỡnh 1.6 : (a) Mạng truyền thẳng ; (b) Mạng hồi tiếp

Khi ứng dụng đối với một hệ động học, yờu cầu tớnh toỏn nhanh luụn được
lờn hàng đầu. Mạng hồi tiếp tốn nhiều thời gian để tớnh toỏn nờn trong nội dung đồ
ỏn này, chỳng em sử dụng mạng truyền thẳng.
Sau đõy sẽ xem xột mộ
t mạng nơron truyền thẳng và tớnh toỏn đầu ra của mạng.
Vớ dụ xột mạng nơron 2 lớp sau:

Hỡnh 1.7: Mạng nơron 2 lớp

Gọi
(k)
ij
w
là trọng số của nơron thứ i, cú đầu vào là j, thuộc lớp thứ k.


7

i
x
là đầu vào thứ i, i=1,2,3

i
z

là đầu ra của nơron thứ i thuộc lớp ẩn, i=1,2,3.

o
là đầu ra của lớp đầu ra.

1
net
,
2
net
lần lượt là hàm truyền của lớp ẩn, lớp đầu ra.
Tớnh đầu ra của cỏc lớp:
Lớp ẩn:
(1) (1) (1) (1)
1111212313
(1)
111
(1) (1) (1) (1)
2 1 21 2 22 3 23
(1)
212
(1) (1) (1) (1)
3131232333
(1)
313
www
()
www
()
www

()
ax x x
zneta
ax x x
zneta
ax x x
zneta
=++
=
=++
=
=++
=

Lớp đầu ra:
(2) (2) (2) (2)
111 212 313
(2)
2
a=zw+zw+zw
o=net (a )


1.3.2 Thuật toỏn Brandt-Lin
Tư tưởng của thuật toỏn Brandt-Lin chia nhỏ một hệ thống phức tạp thành N
hệ thống con gọi là cỏc nỳt. Mỗi nỳt cú 1 tớn hiệu đầu ra khả tớch
n
y
và nhiều tớn
hiệu đầu vào khả tớch

n
x
. Đầu vào và đầu ra của cỏc nỳt được nối với nhau thụng
qua cỏc trọng số.
n
x
. Đặc tớnh động học của mỗi trạm được mụ tả bằng một hàm
nhõn quả
:= { }
nn n
F : , n 1,2,...,N , XY N®Î

trong đú
n
X

n
Y
là khụng gian đầu vào và đầu ra. Như vậy, đầu ra
( )
t
n
y
của nỳt
thứ
n
được xỏc định bằng phương trỡnh sau


8

() ()
()
nnn
yt=Fxt n ,NÎ


Hỡnh 2.1: Phõn tớch 1 hệ thống theo thuật toỏn Brandt-Lin

Định lý. Đối với một hệ thống cú tớnh động học cho bởi

p
ji iji
j
Fwy
ll ll
y
-
=
é ù
ê ú
=
ê
ú
ë û
å
1
1
(1)
nếu cỏc trọng số liờn kết
ij

w
l

được thớch nghi theo
q
+1
ij jk jk i ij i
k
jj
E
www Fxy
yy
lll l'll
ll
()()g
+-
=

=-

å
11
1
1
&&

(2)

thỡ chỉ số chất lượng
2

1
1
()
2
n
mi
i
E yy
=
=−

sẽ giảm dần theo thời gian. Núi túm lại là
phương trỡnh sau luụn thỏa món:
q
+1
ij jk jk i ij i
k
jj
E
www Fxy
yy
lll l'll
ll
()()g
+-
=

=-

å

11
1
1
&&

(3)
trong đú
g>0
là hệ số thớch nghi.
Trong đú
ij
w
l
là trọng số liờn kết của nỳt thứ j thuộc lớp
l
xuất phỏt từ nỳt thứ i.

j
y
l
là đầu ra của nỳt thứ thứ j thuộc lớp
l
.

l
ij ij i
xwy
-
=
1ll

.
là đầu vào của nỳt thứ j thuộc lớp
l
xuất phỏt từ nỳt thứ i.


9
q là số lượng nhỏnh ra xuất phỏt từ nỳt thứ j của lớp
l


Chứng minh.


Hỡnh 2.2: Một phần của mạng nơron

ij
ij ij ij
1
i
ij
'1
ij
ww
()
ll
j
llll
j
l

j
l
ll
j
lll
ji
l
j
dy dx
dE dE
ddydxd
dy
dE
y
dy dx
dE
Fxy
dy


=
=
=

'1
ij ij
1
1
1
11'+1

jk
1
1
1
(1)
w()
()(2)
lllll
jji
l
q
k
ll ll
k
jj kj
q
lll
jk k
ll
k
jk
dE dE
dy d F x y
dy
dE E dE
dy y dy dy
EdE
wFx
ydy


+
+
=
++
+
=
⇒=

=+


=+






10
1+11'+1
jk jk
1
+1
1
jk
à (1) :
1
(3)
w()
(3) ào (2) ta có :

1
w
lllll
kkj
q
l
jk
ll ll
k
j jj
m theo suy ra
dE dE
dy d F x y
thay v
dE E dE
w
dy y d y
++
+
=
=

=+



+1
jk
+1
jk

1l+1
jk
1
à w
w
11
ên: w
l
l
q
l
jk
ll l
k
j jj
dE
m
d
dE E
nw
dy y y
γ
γ
+
=
=−

=−



&
&

'1
ij ij
ij
1+1 ' 1
jk ij
1
1+1 ' 1
jk ij
1
w()
w
11
(w)()
1
(w )()
llll
ii
ll
j
q
ll lll
jk i i
ll
k
jj
q
ll lll

jk i i
ll
k
jj
dE dE
Fxy
ddy
E
wFxy
yy
E
wFxy
yy
γγ
γ
γ
γ

+ −
=
+−
=
=− =−

=− −


=−




&
&
&



11
CHƯƠNG 2: GIỚI THIỆU ATMEGA 128


2.1 Đặc điểm của Atmega 128
• Khả năng thực thi cao, cụng suất tiờu thụ thấp, bộ vi xử lý 8 bit
• Bộ vi xử lý với cấu trỳc RISC :
9 Cú thể tớnh toỏn 16 triệu lệnh trờn 1s ở tần số 16MHz
9 Tạo ra đầy đủ cỏc trạng thỏi
9 32 thanh ghi với mục đớch làm việc và điều khiển thiết bị ngoại vi
9 Bộ nhớ
chương trỡnh khụng đổi và bộ nhớ dữ liệu :
9 Bộ nhớ dữ liệu chương trỡnh là 128K Bytes với chu kỡ tẩy xúa cho bộ
nhớ là 10 000 lần
9 Bộ nhớ EEPROM là 4 K bytes với chu kỳ tẩy xúa là 100 000 lần
9 Cú 4 K Bytes bộ nhớ SRAM nội
9 Cú thể lựa chọn mở rộng khụng gian bộ nhớ ngoài lờn 64 K Bytes
9 Cú chế độ khúa để bảo m
ật chương trỡnh
9 Giao tiếp SPI trong lập trỡnh trong hệ thống
• Giao tiếp JTAG (theo chuẩn IEEE 1149.1) :
9 Cú khả năng quột danh giới theo chuẩn JTAG
9 Mở rộng khả năng Debug trờn chớp

9 Bộ nhớ chương trỡnh, EEPROM, cỏc cầu chỡ, khúa cỏc bit thụng qua
giao tiếp JTAG
• Cỏc ngoại vi :
9 Hai bộ Timer/Counter 8 bit hoạt động riờng rẽ và cú chế độ
so sỏnh
9 Hai bộ Timer/Counter mở rộng 16 bit hoạt động riờng rẽ, chế độ so
sỏnh và chế độ lưu trữ


12
9 Bộ đếm thời gian thực với tần số dao động riờng
9 Hai kờnh PWM 8 bit
9 Sỏu kờnh PWM với khả năng thay đổi được từ 2 đến 16 bit
9 Khối so sỏnh đầu ra
9 Tỏm kờnh ADC 10 bit
9 Hai khối giao tiếp USART cú thể lập trỡnh
9 Giao tiếp nối tiếp SPI master/slave
9 Watchdog và Timer cú thể lập trỡnh nhờ xung nhịp tr
ờn chip. Tự
động reset khi treo mỏy
9 Khối so sỏnh tương tự trờn chip
• Cỏc đặc trưng đặc biệt của vi điều khiển :
9 Cú nguồn ngắt bờn trong và mở rộng
9 Cú khả năng lựa chọn xung clock bằng phần mềm
9 Cú sỏu chế độ nghỉ : Idle, ADC noise Reduction, Power–save,
Power–down, Standby, Standby mở rộng
9 Cú khả năng định cỡ xung dao động th
ời gian thực bờn trong
• Cỏc cổng vào ra :
9 Gồm 53 chõn cú thể lập trỡnh

9 Chip cú 64 chõn
9 Giải điện ỏp làm việc từ 4.5 V – 5.5 V
9 Dải tốc độ từ 0 – 16 MHz
Atmega128 là bộ vi điều khiển CMOS 8 bit tiờu thụ điện năng thấp dựa trờn
kiến trỳc RISC. Cụng nghệ này cho phộp cỏc lệnh thực thi chỉ trong một chu kỡ
nhịp xung, vỡ thế tốc độ xử lý dữ liệu cú thể đạt đến 1 triệu lệnh trờn giõy ở tần số 1
Mhz. Vi điều khiển này cho phộp người thiết kế cú thể tối ưu hoỏ mức độ tiờu thụ
năng lượng mà vẫn đảm bảo tốc độ xử lớ. Phần cốt lừi của AVR kết hợp tập lệnh
phong phỳ về số lượng với 32 thanh ghi làm việc đa năng. Toàn bộ 32 thanh ghi đều
được nối trực tiếp với ALU (Arithmetic Logic Unit), cho phộp truy cập 2 thanh ghi
độc lập bằng một chu kỡ xung nhịp. Kiến trỳc đạt được cú tốc độ xử lý nhanh gấp


13
10 lần vi điều khiển dạng CISC thụng thường. Atmega128 cung cấp những đặc tớnh
sau: 128 K bytes bộ nhớ chương trỡnh, 4K bytes bộ nhớ EEPROM, 4K bytes
SRAM, 52 chõn với mục đớch vào ra thụng thường, 32 thanh ghi làm việc với mục
đớch thụng thường, bộ đếm thời gian thực (RTC), 4 bộ Timer/Counter với chế độ so
sỏnh và PWM, 2 USARTs, 8 kờnh ADC 10 bit với khả năng lựa chọn đầu vào và
lập trỡnh đượ
c hệ số khuếch đại, Watchdog timer cú khả năng lập trỡnh nhờ bộ tạo
dao động bờn trong, giao tiếp SPI, bộ giao tiếp kiểm tra lỗi theo chuẩn IEEE
1149.1, chỉ dựng để debug hệ thống và chương trỡnh trờn chip và khả năng lựa
chọn 6 chế độ tiết kiệm năng lượng. chế độ Idle ngừng hoạt động của CPU trong
khi cho phộp SRAM, Timer/Counter, cổng SPI, hệ thống ngắt ti
ếp tục gọi hàm, chế
độ power-down tiết kiệm lượng thanh ghi nhưng ổn định cho xung giao động, ko
hoạt động cỏc hàm khỏc cho đến khi cú ngắt tiếp theo hoặc reset phần cứng. Ở chế
độ power-save, Timer khụng đồng thời tiếp tục hoạt động, mà cho phộp người sử
dụng dựng một Timer cơ sở trong khi cỏc thiết bị đang ở chế độ nghỉ. Chế độ

giảm
nhiễu cho ADC ngừng CPU và cỏc module vào ra ngoại trừ timer và ADC, để giảm
nhiễu xuống thấp nhất trong quỏ trỡnh biến đổi ADC. Ở chế độ standby thạch anh
dao động đang chạy trong khi cỏc thiết bị khỏc ở chế độ nghỉ. Ở chế độ standby mở
rộng bộ dao động chớnh và timer khụng đồng bộ tiếp tục chạy.

2.2 Mụ tả cỏc chõn
• VCC : chõn nguồn +5V
• GND: chõn đất
• Port A

• Port B

• Port C

• Port D

• Port E

• Port F



14
• Port G

• Reset : dựng để reset lại hệ thống
• XTAL1 và XTAL2 : là hai chõn để tạo dao động ngoài khi nối với
thạch anh
• AVCC là chõn nguồn cho cổng F và dựng để biến đổi ADC. Khi kết

nối với VCC thỡ quỏ trỡnh biến đổi ADC là chớnh xỏc hơn
• AREF là chõn điện ỏp so sỏnh phục vụ cho quỏ trỡnh biến đổi ADC
• PEN là chõn enable cho chế độ giao tiếp SPI


Hỡnh 2.1 : Sơ đồ chõn của Atmega128



15

Hỡnh 2.2: Sơ đồ khối bờn trong của Atmega 128



16
2.3 Kiến trỳc tổng quan của Atmega128
Hỡnh 2.3 : Biểu đồ khối cấu trỳc của AVR

2.3.1 Bộ nhớ của Atmega128
Atmega 128 chứa 128 Kbytes chương trỡnh và cú chu kỳ tẩy xúa là 10 000
lần. Bộ đếm của Atmega 128 là 16 bit. Cú thể nạp chườn trỡnh cho chip qua cổng
SPI, JTAG hoặc cổng song song
Atmega 128 sử dụng kiến trỳc Harvard với bộ nhớ dữ liệu và bộ nhớ chương
trỡnh tỏch biệt nhau. Hỡnh 3.4 minh họa phỏc thảo kiến trỳc bờn trong của bộ điều
khiển Atmega 128. Bus dữ liệu dựng cho bộ nhớ
dữ liệu là một bus 8 bit, cho phộp


17

nối hầu hết cỏc bộ phận ngoại vi với tệp thanh ghi. Bus dữ liệu dựng cho bộ nhớ
chương trỡnh cú độ rộng 16 bit và chỉ nối với thanh ghi lệnh.
Bộ nhớ chương trỡnh là loại bộ nhớ Flash. Bộ nhớ chương trỡnh được truy
nhập theo từng chu kỳ đồng hồ, và một lệnh được nạp vào thanh ghi lệnh. Thanh
ghi lệnh nối vớ
i tệp thanh ghi bằng cỏch lựa chọn xem thanh ghi nào sẽ được ALU
sử dụng để thực thi lệnh. Lối ra của thanh ghi lệnh được giải mó bằng bộ giải mó
lệnh để quyết định chọn tớn hiệu điều khiển nào sẽ được kớch hoạt để hoàn tành
lệnh hiện tại.
Bộ nhớ SRAM bờn trong được sử dụng cho ngăn xếp cũng như
để lưu trữ
cỏc biến. Trong thời gian cú ngắt và gọi đoạn chương trỡnh, giỏ trị hiện tại của bộ
đếm chương trỡnh được lưu tữ trong ngăn xếp. Vị trớ của ngăn xếp được chỉ thị bởi
con trỏ ngăn xếp.


Hỡnh 2.4 : Định dạng bộ nhớ của Atmega128

Atmega 128 cung cấp hai cấu hỡnh khac nhau cho b
ộ nhớ SRAM, cú thế sử
dụng 4096 Bytes bộ nhớ ram trong hoặc 64 k Bytes bộ nhớ ram ngoài


18

Hỡnh 2.5 : Khụng gian địa chỉ bộ nhớ SRAM

Bộ nhớ dữ liệu EEPROM của Atmega 128 là 4k Bytes, với chu kỳ tẩy xúa là
100 000 nghỡn lần. sự truy nhập giữa EEPROM và MCU được mụ tả như sau, nú
được chỉ rừ trong cỏc thanh ghi địa chỉ, thanh ghi dữ liệu và thanh ghi điều

của EEPROM.

2.3.2 Tệp thanh ghi :
Atmega 128 cú 32 thanh ghi đa chức năng. Một số trong cỏc thanh ghi này
cũn cú cỏc chức năng riờng, bổ sung . Cỏc thanh ghi này được được đặt tờn từ R0
đến R31.tất cả cỏc lệnh thao tỏc trờn thanh ghi đều cú thể truy nhập trực tiếp và truy
nhập trong chu trỡnh đơn đến tất cả cỏc thanh ghi. Nhưng một ngoại lệ là cỏc lệnh


19
SBCI, SUIB, CPI, ANDI và ORI cũng như WI, cỏc lệnh nay chỉ tỏc động đến cỏc
thanh ghi R16 đến R31.
Cỏc thanh ghi từ R26 đến R31 cú cỏc chức năng bổ xung thanh ghi R0 được
sử dụng trong cỏc lệnh lạp bộ nhớ chương trỡnh LPM, trong khi cỏc thanh ghi R26
đến R31 được sử dụng làm cỏc thanh ghi con trỏ như được minh họa trờn hỡnh 2.6


Hỡnh 2.6: Tệp thah ghi của Atmega 128
2.3.3 Port (cổng) vào ra
Atmega 128 cú tất cả là 7 Port từ PortA đến PortG. Tất cả cỏc Port của AVR
đều cú trở treo bờn trong và được lựa chọn cho mỗi bit và cú thể được đọc-chỉnh
sửa-ghi khi sử dụng như một Port xuất nhập thụng thường. Điều này cú nghĩa là
đường dữ liệu của cỏc chõn sẽ được thay đổi hướng khụng định trước nếu như
khụng đặt lệnh cho nú. Mỗi b
ộ đệm đầu ra đều cú những tớnh chất đối xứng cho
việc nhập và xuất dữ liệu. Tất cả cỏc chõn đều cú điện trở kộo lờn độc lập khụng
thay đổi. Tất cả đều được bảo vệ bằng diode đối với cả nguồn và đất


20


Hỡnh 2.7: Sơ đồ bờn trong mỗi chõn

Port A : dựng để mở rộng bộ nhớ Ram ngoài bảng sau mụ ta chức năng của
cỏc chõn ở Port A
Pin Chức năng
PA7 AD7 (mở rộng bộ nhớ ngoài với bit dữ liệu là bit 7)
PA6 AD6 (mở rộng bộ nhớ ngoài với bit dữ liệu là bit 6)
PA5 AD5 (mở rộng bộ nhớ ngoài với bit dữ liệu là bit 5)
PA4 AD4 (mở rộng bộ nhớ ngoài với bit dữ liệu là bit 4)
PA3 AD3 (mở rộng bộ nhớ ngoài với bit dữ liệu là bit 3)
PA2 AD2 (mở rộng bộ nhớ ngoài với bit dữ liệu là bit 2)
PA1 AD1 (mở rộng bộ nhớ ngoài với bit dữ liệu là bit 1)
PA0 AD0(mở rộng bộ nhớ ngoài với bit dữ liệu là bit 0)

Port B : chức năng cỏc chõn của port B được trỡnh bày dưới bảng
Pin Chức năng của cỏc chõn
PB7 OC2/OC1C (đầu ra so sỏnh và đầu ra của PWM cho timer/counter2
hoặc đầu ra so sỏnh và PWM C của timer/counter1
PB6 OCB1 (đầu ra so sỏnh và PWM B của timer/counter1)


21
PB5 OC1A (đầu ra so sỏnh và PWM A của timer/counter1)
PB4 OCO ( đầu ra so sỏnh và PWM của timer/counter0
PB3 MISO (bus giao tiếp SPI vào master hoặc ra slave)
PB2 MOSI ( bus giao tiếp SPI vào slave hoặc ra master)
PB1 SCK (quy định tốc độ đụng hồ khi giao tiếp)
PB0
____

SS
(chọn SPI là slave hay master)

Port C : ngoài chức năng vào ra thụng thường, Port C cũn cú thờm chức năng
mở rộng bộ nhớ ngoài chõn ở Port C
Pin Chức năng
PC7 AD15 (mở rộng bộ nhớ ngoài với bit dữ liệu là bit 15)
PC6 AD14 (mở rộng bộ nhớ ngoài với bit dữ liệu là bit 14)
PC5 AD13 (mở rộng bộ nhớ ngoài với bit dữ liệu là bit 13)
PC4 AD12 (mở rộng bộ nhớ ngoài với bit dữ liệu là bit 12)
PC3 AD11 (mở rộng bộ nhớ ngoài với bit dữ liệu là bit 11)
PC2 AD10 (mở rộng bộ nhớ ngoài với bit dữ liệu là bit 10)
PC1 AD9 (mở rộng bộ nhớ ngoài với bit dữ liệu là bit 9)
PC0 AD8(mở rộng bộ nhớ ngoài với bit dữ liệu là bit 8)

Port D : ngoài chức năng vào ra thụng thường, Port D cũn cú thờm chức
năng mở rộng bộ nhớ ngoài chõn ở Port D
Pin Chức năng
PD7 T2 (đầu vào bộ đếm timer/counter2)
PD6 T1 (đầu vào bộ đếm timer/counter1)
PD5 XCK1 (dựng khi giao tiếp USART1 cần dựng bộ dao động riờng)
PD4 ICP1
PD3 INT3/TXD1 (Ngắt mở rộng hoặc chõn truyền tớn hiệu của UART1)
PD2 INT2/RXD1 (Ngắt mở rộng hoặc nhận tớn hiệu của UART1)


22
PD1 INT1/SDA (Ngắt mở rộng hoặc chõn địa chỉ của giao tiếp I2C)
PD0 INT0/SCL (Ngắt mở rộng hoặc chõn địa dao động của giao tiếp I2C)


Port E : ngoài chức năng vào ra thụng thường, Port E cũn cú thờm chức năng
mở rộng bộ nhớ ngoài chõn ở Port E
Pin Chức năng
PE7 INT7/ICP3 (ngắt ngoài hoặc đầu vào Capture của timer/counter3)
PE6 INT6/T3 (ngắt ngoài hoặc đầu vào timer/counter3)
PE5 INT5/OC3C (ngắt ngoài hoặc đầu ra PWM C của timer/counter3)
PE4 INT4/OC3B ( ngắt ngoài hoặc đầu ra PWM của timer/counter3)
PE3 AIN1/OC3A (đầu vào so sỏnh tương tự õm và đầu ra PWM A của
timer/counter3)
PE2 AINO/XCKO (đầu vào so sỏnh tương tự dương
PE1 PDO/TXD0 ( chõn truyền dữ liệu của UART0)
PE0 PDI/RXD0 (chõn nhận dữ liệu của UART0)

Port F : ngoài chức năng vào ra thụng thường, Port F cũn cú thờm chức năng
mở rộng bộ nhớ ngoài chõn ở Port F
Pin Chức năng
PF7 ADC7/TDI (đầu vào ADC kờnh 7 hoặc kiểm tra dữ liệu đầu vào của
JTAG)
PF6 ADC6/TDO (đầu vào ADC kờnh 6 hoặc kiểm tra dữ liệu đầu ra của
JTAG)
PF5 ADC5/TMS (đầu vào ADC kờnh 5 hoặc chọn chế độ cho JTAG)
PF4 ADC4/TCK ( đầu vào ADC kờnh 4 hoặc kiểm tra dao động của
JTAG)
PF3 ADC3 (đầu vào ADC kờnh 3)
PF2 ADC2 (đầu vào ADC kờnh 2)


23
PF1 ADC1 (đầu vào ADC kờnh 1)
PF0 ADC0 (đầu vào ADC kờnh 0)

Port G : ngoài chức năng vào ra thụng thường, Port G cũn cú thờm chức
năng mở rộng bộ nhớ ngoài chõn ở Port G
Pin Chức năng
PG4 TOSC1 (tạo xung dao động riờng cho bộ timer/counter0)
PG3 TOSC2 (tạo xung dao động riờng cho bộ timer/counter0)
PG2 ALE ( chõn cho phộp chốt địa chỉ với bộ nhớ mở rộng)
PG1
____
RD
( chõn cho phộp đọc với bộ nhớ ngoài)
PG0
_____
WR
( chõn cho phộp ghi với bộ nhớ ngoài)

2.3.4 Giao tiếp với SRAM ngoài
Atmega 128 cú thể mở rộng bộ nhớ ngoài lờn 64k. Khả năng này được minh
họa trờn hỡnh 2.8. Để cho phộp truy nhập bộ nhớ SRAM ngoài trờn PORTA và
PORTC

Hỡnh 2 .8: Giao tiếp với bộ nhớ ngoài



24
2.3.5 Cấu trỳc ngắt của Atmega 128
Ngắt là một cơ cấu điều khiển dũng lệnh, cơ cấu này được thiết kế trờn hầu
hết cỏc bộ điều khiển. Trong quỏ trỡnh giao tiếp của hệ thống bộ xử lý với thế giới
bờn ngoài, nhiều sự việc xảy ra theo cỏch khụng đồng bộ, chẳng hạn người dựng cú
thể đó nhấ

n một cụng tắc để thực hiện một cụng việc nào đú, trong khi một byte dữ
liệu cú thể đó đến cổng nối tiếp. Điều này gõy khú khăn cho hoạt động của bộ xử lý
khi mà nú phải kiểm tra tất cả cỏc thiết bị để giỏm sỏt sự di chuyển của dữ liệu.
Ngược lại mọi việc sẽ trở nờ
n tốt hơn nếu cỏc thiết bị này cú thể loan bỏo sự đến
nơi của dữ liệu. Đõy là tất cả những gỡ mà cơ chế ngắt phải thực hiện. Thiết bị
ngoại vi sẽ ngắt việc thực thi của chương trỡnh chớnh, và bộ xử lý tạm ngừng việc
thực thi chương trỡnh chớnh, và bộ xử lý tạm ngừ
ng việc thực thi chương trỡnh
bỡnh thường để thẩm tra nguồn ngắt và để thực hiện cỏc thao tỏc đỏp ứng cần thiết,
việc thực thi chương trỡnh đó bị ngắt lại tiếp tục. Chương trỡnh ngắt chỉ đơ giản
giống hệt như một chương trỡnh con (subrountine), ngoại trừ một đặc điểm là việc
th
ực thi của đoạn chương trỡnh ngắt này khụng bị bộ xử lý đoỏn trước là sẽ xuất
hiện ở một thời điểm cụ thể nào. Bộ vi điều khiển AVR cú rất nhiều cấu trỳc ngắt
sau đõy em chỉ trỡnh bày về cỏc loại ngắt mà mỡnh sẽ dựng.

a )Ngắt (USART)
Đối với một loại vi
điều khiển sẽ cú nhiều vectơ ngắt để phục vụ cho chương
trỡnh như vectơ ngắt ngoài, ngắt nối tiếp, ngắt định thời. Sau đõy là cỏc nguyờn
nhõn gõy ngắt của AVR
9 Reset : Chõn ngoài, Preset, Brown-out reset và Watchdog reset
9 INT0 : Ngắt ngoài yờu cầu 0
9 INT1 : Ngắt ngoài yờu cầu 1
9 Timer1 CAPT : Ngắt do sự kiện Đếm/Định thời 1
9 Timer1 COMPA : Ngắt do đạt giỏ trị so s
ỏnh A Đếm/Định thời 1
9 Timer1 COMPB : Ngắt do đạt giỏ trị so sỏnh B Đếm/Định thời 1
9 Timer1 OVF: Ngắt do tràn bộĐếm/Định thời 1

×