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.
93 trang |
Chia sẻ: lylyngoc | Lượt xem: 1970 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Lý thuyết mạng nơron, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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ú 3 410 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 1 2, ,..., nx x x : Cỏc đầu vào nhõn với cỏc trọng số 1 2, ,..., nw w w . Một đầu
vào cú giỏ trị bằng 1 được gọi là 1 bias và được ký hiệu là 0x .
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 ( , )u f x w= , 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
i i
i
u x w
=
=∑ .
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
eh u
e
−
−
−= + (hỡnh 1.5[c-1]) và hàm tansig:
( )tanh cu cucu cue eu e e
−
−
−= + .
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)ijw là trọng số của nơron thứ i, cú đầu vào là j, thuộc lớp thứ k.
7
ix là đầu vào thứ i, i=1,2,3
iz 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.
1net , 2net 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)
1 1 11 2 12 3 13
(1)
1 1 1
(1) (1) (1) (1)
2 1 21 2 22 3 23
(1)
2 1 2
(1) (1) (1) (1)
3 1 31 2 32 3 33
(1)
3 1 3
w w w
( )
w w w
( )
w w w
( )
a x x x
z net a
a x x x
z net a
a x x x
z net a
= + +
=
= + +
=
= + +
=
Lớp đầu ra:
(2) (2) (2) (2)
1 11 2 12 3 13
(2)
2
a = z w + z w + z w
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 ny và nhiều tớn
hiệu đầu vào khả tớch nx . Đầ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ố. nx . Đặc tớnh động học của mỗi trạm được mụ tả bằng một hàm
nhõn quả
:= { }n n nF : , n 1,2,...,N , X Y N® Î
trong đú nX và nY là khụng gian đầu vào và đầu ra. Như vậy, đầu ra ( )tny của nỳt
thứ n được xỏc định bằng phương trỡnh sau
8
( ) ( )( )n n ny t = F x t 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
j i ij i
j
F w yl l l ly -
=
é ù
ê ú= ê ú
ë û
å 1
1
(1)
nếu cỏc trọng số liờn kết ijw
l được thớch nghi theo
q
+1
ij jk jk i ij i
k j j
Ew w w F x y
y y
l l l l' l l
l l( ) ( )g
+ -
=
¶= -
¶å
1 1
1
1& & (2)
thỡ chỉ số chất lượng 2
1
1 ( )
2
n
m i
i
E y y
=
= −∑ 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 j j
Ew w w F x y
y y
l l l l' l l
l l( ) ( )g
+ -
=
¶= -
¶å
1 1
1
1& & (3)
trong đú g>0 là hệ số thớch nghi.
Trong đú ijw
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.
jy
l là đầu ra của nỳt thứ thứ j thuộc lớp l.
lij ij ix w y
-= 1l l . 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
w w
( )
l l
j
l l l l
j
l
j l
l l
j
l l l
j il
j
dy dxdE dE
d dy dx d
dydE y
dy dx
dE F x y
dy
−
−
=
=
=
' 1
ij ij
1
1
1
1 1' +1
jk1
1
1 (1)
w ( )
( ) (2)
l l l l l
j j i
lq
k
l l l l
kj j k j
q
l l l
jk kl l
kj k
dE dE
dy d F x y
dydE E dE
dy y dy dy
E dEw F x
y dy
−
+
+
=
+ +
+
=
⇒ =
∂= +∂
∂= +∂
∑
∑
10
1 +1 1' +1
jk jk
1
+1
1 jk
à (1) :
1 (3)
w ( )
(3) ào (2) ta có :
1
w
l l l l l
k k j
q
l
jkl l l l
kj j j
m theo suy ra
dE dE
dy d F x y
thay v
dE E dEw
dy y d y
+ +
+
=
=
∂= +∂ ∑
+1
jk +1
jk
1 l+1
jk
1
à w
w
1 1ên: w
l
l
q
l
jkl l l
kj j j
dEm
d
dE En w
dy y y
γ
γ
+
=
= −
∂= −∂ ∑
&
&
' 1
ij ij
ij
1 +1 ' 1
jk ij
1
1 +1 ' 1
jk ij
1
w ( )
w
1 1( w ) ( )
1( w ) ( )
l l l l
i il l
j
q
l l l l l
jk i il l
kj j
q
l l l l l
jk i il l
k j j
dE dE F x y
d dy
E w F x y
y y
Ew F x y
y y
γ γ
γ γ
γ
−
+ −
=
+ −
=
= − = −
∂= − −∂
∂= − ∂
∑
∑
&
&
&
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