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

Tài liệu Chương 1: CẤU TRÚC VI ĐIỀU KHIỂN doc

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 (248.76 KB, 5 trang )

Chương 1:
CẤU TRÚC VI ĐIỀU KHIỂN
1.1.1. Sơ lược về vi xử lý:
Trong những thập niên cuối thế kỉ XX, từ sự ra đời của công nghệ bán
dẫn, kĩ thuật điện tử đã có sự phát triển vượt bậc. Các thiết bị điện tử sau đó
đ
ã được tích hợp với mật độ cao và rất cao trong các diện tích nhỏ, nhờ vậy
các thiết bị điện tử nhỏ hơn và nhiều chức năng hơn. Các thiết bị điện tử
ngày càng nhiều chức năng trong khi giá thành ngày càng rẻ hơn, chính vì
v
ậy điện tử có mặt khắp mọi nơi.
Bước đột phá mới trong công nghệ điện tử, công ty trẻ tuổi Intel cho ra
đời bộ vi xử lý đầu tiên. Đột phá ở chỗ: "
Đó là một kết cấu logic mà có thể
thay đổi chức năng của nó bằng chương tr
ình ngoài chứ không phát triển
theo hướng tạo một cấu trúc phần cứng chỉ thực hiện theo một số chức năng
nhất định như trước đây"(trích từ dòng 17 đến 19, trang 3, 'Kĩ thuật VI XỬ
LÝ và lập trình ASSEMBLY cho hệ vi xử lý', tác giả Đỗ Xuân Tiến, nhà
xu
ất bản Khoa học và kĩ thuật). Tức là phần cứng chỉ đóng vai trò thứ yếu,
phần mềm (chương trình) đóng vai trò chủ đạo đối với các chức năng cần
thực hiện. Nhờ vậy vi xử lý có sự mềm dẻo hóa trong các chức năng của
mình. Ngày nay vi xử lý có tốc độ tính toán rất cao và khả năng xử lý rất
lớn.
Vi xử lý có các khối chức năng cần thiết để lấy dữ liệu, xử lý dữ liệu
và xuất dữ liệu ra ngoài sau khi đã xử lý. Và chức năng chính của Vi xử lý
chính là xử lý dữ liệu, chẳng hạn như cộng, trừ, nhân, chia, so sánh.v.v..... Vi
xử lý không có khả năng giao tiếp trực tiếp với các thiết bị ngoại vi, nó chỉ
có khả năng nhận và xử lý dữ liệu mà thôi.


Để vi xử lý hoạt động cần có chương trình kèm theo, các chương trình
này điều khiển các mạch logic và từ đó vi xử lý xử lý các dữ liệu cần thiết
theo yêu cầu. Chương trình là tập hợp các lệnh để xử lý dữ liệu thực hiện
từng lệnh được lưu trữ trong bộ nhớ, công việc thực hành lệnh bao gồm:
nhận lệnh từ bộ nhớ, giải mã lệnh và thực hiện lệnh sau khi đã giải mã.

Để thực hiện các công việc với các thiết bị cuối cùng, chẳng hạn điều
khiển động cơ, hiển thị kí tự trên màn hình .... đòi hỏi phải kết hợp vi xử lý
với các mạch điện giao tiếp với bên ngoài được gọi là các thiết bị I/O
(nhập/xuất) hay còn gọi là các thiết bị ngoại vi. Bản thân các vi xử lý khi
đứng một m
ình không có nhiều hiệu quả sử dụng, nhưng khi là một phần của
một máy tính, thì hiệu quả ứng dụng của Vi xử lý là rất lớn. Vi xử lý kết hợp
với các thiết bị khác được sử trong các hệ thống lớn, phức tạp đòi hỏi phải
xử lý một lượng lớn các phép tính phức tạp, có tốc độ nhanh. Chẳng hạn như
các hệ thống sản xuất tự động trong công nghiệp, các tổng đài điện thoại,
hoặc ở các robot có khả năng hoạt động phức tạp v.v...
1.1.2.Từ Vi xử lý đến Vi điều khiển
Bộ Vi xử lý có khả năng vượt bậc so với các hệ thống khác về khả năng
tính toán, xử lý, và thay đổi chương trình linh hoạt theo mục đích người
dùng, đặc biệt hiệu quả đối với các b
ài toán và hệ thống lớn.Tuy nhiên đối
với các ứng dụng nhỏ, tầm tính toán không đòi hỏi khả năng tính toán lớn thì
vi
ệc ứng dụng vi xử lý cần cân nhắc. Bởi vì hệ thống dù lớn hay nhỏ, nếu
dùng vi xử lý thì cũng đòi hỏi các khối mạch điện giao tiếp phức tạp như
nhau. Các khối này bao gồm bộ nhớ để chứa dữ liệu và chương trình thực
hiện, các mạch điện giao tiếp ngoại vi để xuất nhập và điều khiển trở lại, các
khối này cùng liên kết với vi xử lý thì mới thực hiện được công việc. Để kết
nối các khối này đòi hỏi người thiết kế phải hiểu biết tinh tường về các thành

ph
ần vi xử lý, bộ nhớ, các thiết bị ngoại vi. Hệ thống được tạo ra khá phức
tạp, chiếm nhiều không gian, mạch in phức tạp và vấn đề chính là trình độ
người thiết kế. Kết quả l
à giá thành sản phẩm cuối cùng rất cao, không phù
h
ợp để áp dụng cho các hệ thống nhỏ.
Vì m
ột số nhược điểm trên nên các nhà chế tạo tích hợp một ít bộ nhớ
và một số mạch giao tiếp ngoại vi cùng với vi xử lý vào một IC duy nhất
được gọi l
à Microcontroller-Vi điều khiển. Vi điều khiển có khả năng tương
tự như khả năng của vi xử lý, nhưng cấu trúc phần cứng dành cho người
dùng đơn giản hơn nhiều. Vi điều khiển ra đời mang lại sự tiện lợi đối với
người d
ùng, họ không cần nắm vững một khối lượng kiến thức quá lớn như
người d
ùng vi xử lý, kết cấu mạch điện dành cho người dùng cũng trở nên
đơn giản hơn nhiều và có khả năng giao tiếp trực tiếp với các thiết bị bên
ngoài. Vi điều khiển tuy được xây dựng với phần cứng dành cho người sử
dụng đơn giản hơn, nhưng thay vào lợi điểm này là khả năng xử lý bị giới
hạn (tốc độ xử lý chậm hơn và khả năng tính toán ít hơn, dung lượng chương
trình bị giới hạn). Thay vào đó, Vi điều khiển có giá thành rẻ hơn nhiều so
với vi xử lý, việc sử dụng đơn giản, do đó nó được ứng dụng rộng rãi vào
nhi
ều ứng dụng có chức năng đơn giản, không đòi hỏi tính toán phức tạp.
Vi điều khiển được ứng dụng trong các dây chuyền tự động loại nhỏ,
các robot có chức năng đơn giản, trong máy giặt, ôtô v.v...
Năm 1976 Intel giới thiệu bộ vi điều khiển (microcontroller) 8748, một
chip tương tự như các bộ vi xử lý v

à là chip đầu tiên trong họ MCS-48. Độ
phức tạp, kích thước và khả năng của Vi điều khiển tăng thêm một bậc quan
trọng vào năm 1980 khi intel tung ra chip 8051, bộ Vi điều khiển đầu tiên
c
ủa họ MCS-51 và là chuẩn công nghệ cho nhiều họ Vi điều khiển được sản
xuất sau này. Sau đó rất nhiều họ Vi điều khiển của nhiều nhà chế tạo khác
nhau lần lượt được đưa ra thị trường với tính năng được cải tiến ngày càng
m
ạnh.
1.1.3.HỌ MSC-51
Hiện nay có rất nhiều họ Vi điều khiển trên thị trường với nhiều ứng
dụng khác nhau, trong đó họ Vi điều khiển họ MCS-51 được sử dụng rất
rộng rãi trên thế giới và ở Việt nam.
Vào năm 1980 Intel công bố chíp 8051(80C51), bộ vi điều khiển đầu
tiên của họ vi điều khiển MCS-51. Nó bao gồm 4KB ROM, 128 byte RAM,
32 đường xuất nhập, 1 port nối tiếp v
à 2 bộ định thời 16 bit. Tiếp theo sau
đó là sự ra đời của chip 8052,8053,8055 với nhiều tính năng được cải tiến
Hiện nay Intel không còn cung cấp các loại Vi điều khiển họ MCS-51
n
ữa, thay vào đó các nhà sản xuất khác như Atmel, Philips/signetics, AMD,
Siemens, Matra&Dallas, Semiconductors được cấp phép l
àm nhà cung cấp
thứ hai cho các chip của họ MSC-51. Chip Vi điều khiển được sử dụng rộng
rãi trên thế giới cũng như ở Việt Nam hiện nay là Vi điều khiển của hãng
Atmel v
ới nhiều chủng loại vi điều khiển khác nhau.
Hãng Atmel có các chip Vi điều khiển có tính năng tương tự như
chip Vi điều khiển MCS
-51 của Intel, các mã số chip được thay đổi chút ít

khi được Atmel sản xuất. M
ã số 80 chuyển thành 89, chẳng hạn 80C52 của
Intel khi sản xuất ở Atmel mã số thành 89C52 (Mã số đầy đủ: AT89C52)
với tính năng chương trình tương tự như nhau. Tương tự 8051,8053,8055 có
mã số tương đương ở Atmel là 89C51,89C53,89C55. Vi điều khiển Atmel
sau này ngày càng được cải tiến và được bổ sung th
êm nhiều chức năng tiện
lợi hơn cho người dùng.

Bảng 1
Dung lượng RAM Dung lượng ROM
Chế độ nạp
89C51 128 byte 4 Kbyte song song
89C52 128 byte 8 Kbyte song song
89C53 128 byte 12 Kbyte song song
89C55 128 byte 20 Kbyte song song

Sau kho
ảng thời gian cải tiến và phát triển, hãng Atmel tung ra thị
trường d
òng Vi điều khiển mang số hiệu 89Sxx với nhiều cải tiến và đặc biệt
là có thêm khả năng nạp chương trình theo chế độ nối tiếp rất đơn giản và
ti
ện lợi cho người sử dụng.
Bảng 2
Dung lượng RAM Dung lượng ROM Chế độ nạp
89S51 128 byte 4 Kbyte nối tiếp
89S52 128 byte 8 Kbyte nối tiếp
89S53 128 byte 12 Kbyte nối tiếp
89S55 128 byte 20 Kbyte nối tiếp

Tất cả các Vi điều khiển trên đều có đặc tính cơ bản giống nhau về phần
mềm (các tập lệnh lập trình như nhau), còn phần cứng được bổ sung với chip
có mã số ở hai số cuối cao hơn, các Vi điều khiển sau này có nhiều tính năng
vượt trội hơn Vi điều khiển thế hệ trước. Các Vi điều khiển 89Cxx như trong
bảng 1 có cấu tạoROM và RAM như 98Sxx trong bảng 2, tuy nhiên 98Sxx
được bổ sung một số tính năng và có thêm chế độ nạp nối tiếp.
Trên thị trường hiện nay có rất nhiều loại sách hướng dẫn về Vi điều
khiển với nhiều loại khác nhau như 8051, 89C51, 89S8252, 89S52 v.v... các
sách này đều hướng dẫn cụ thể về phần cứng cũng như cách thức lập tr
ình.
Chương trình phần mềm dành cho các Vi điều khiển này là như nhau, vì vậy
bạn có thể tham khảo thêm về Vi điều khiển ở các sách này.
Các ph
ần thực hành trên phần cứng thực tế, chúng tôi sẽ cùng các bạn
thực hành với Vi điều khiển 89S52 (Mã đầy đủ:AT89S52; AT là viết tắt của
nhà sản xuất ATMEL) vì :

Các Vi điều khiển 89Sxx được cải tiến từ dòng 89Cxx

Chương trình viết dành cho 89Cxx đều chạy được với 89Sxx
89Sxx rẻ hơn 89Cxx
89Sxx có chế độ nạp nối tiếp với mạch nạp đơn giản có khả năng nạp
ngay trên bo mạch mà không cần tháo chip vi điều khiển sang mạch khác để
nạp chương trình và nhiều tính năng cải tiến khác.
1.1.4.CÁC LOẠI VI ĐIỀU KHIỂN KHÁC
Vi điều khiển AVR
Vi điều khiển PIC
Vi điều khiển MCUs của Philips
Các loại vi điều khiển chuyên dụng của các hãng sản xuất khác: Các
loại vi điều khiển này được sử dụng chuyên dụng theo chức năng cần điều

khiển.
II.SƠ LƯỢC PHẦN CỨNG VI ĐIỀU KHIỂN
-GIAO TIẾP BÊN NGOÀI
Các thành viên c
ủa họ MCS-51 (Atmel) có các đặc điểm chung như sau:
Có 4/8/12/20 Kbyte bộ nhớ FLASH ROM bên trong để lưu chương
trình. Nhờ vậy Vi điều khiển có khả năng nạp xoá chương trình bằng điện
đến 10000 lần.
128 Byte RAM nội
4 Port xuất/nhập 8 bit
Từ 2 đến 3 bộ định thời 16-bit

Có khả năng giao tiếp truyền dữ liệu nối tiếp
Có thể mở rộng không gian nhớ chương trình ngoài 64KByte (bộ nhớ
ROM ngoại): khi chương trình do người lập trình viết ra có dung lượng lớn
hơn dung lượng bộ nhớ ROM nội, để lưu được chương tr
ình này cần bộ nhớ
ROM lớn hơn, cách giải quyết là kết nối Vi điều khiển với bộ nhớ ROM từ
bên ngoài (hay còn gọi là ROM ngoại). Dung lượng bộ nhớ ROM ngoại lớn
nhất mà Vi điều khiển có thể kết nối là 64KByte
Có thể mở rộng không gian nhớ dữ liệu ngoài 64KByte (bộ nhớ RAM
ngoại)
Bộ xử lí bit (thao tác trên các bit riêng rẽ)
210 bit có thể truy xuất đến từng bit

×