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

thiết kế và chế tạo mô hình điều khiển máy trộn, chương 19 pps

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

Chương 19: VI XỬ LÝ TRONG ĐIỀU KHIỂN
Vào năm 1971 tập đoàn Intel đã giới thiệu 8080, bộ vi xử lý
(micro-processor) thành công đầu tiên. Sau đó không lâu
Motorola, RCA, kế đến là MOS Thechnology và Zilog đã giới
thiệu bộ vi xử lý tương tự: 6800, 1801, 6502 và Z80ø. Bản thân
các vi mạch (IC: integrated circuit) này tuy không có nhiều hiệu
quả sử dụng nhưng khi là một phần của máy tính đơn board
(single-board computer) chúng trở thành phần trung tâm trong
các sản phẩm có ích dùng để nghiên cứu và thiết kế. Các máy
tính đơn board này, trong đó có D2 của Motorola, KIM-1 của
MOS Technology và SDK-85 của Intel là đáng nhớ nhất, đã
nhanh chóng xâm nhập vào các phòng thí nghiệm thiết kế của
trường trung học, trường đại học và các công ty điện tử.
Vào năm 1976 Intel giới thiệu bộ vi điều khiển
(microcontroller) 8748, một chip tương tự như bộ vi xử lý và là
chip đầu tiên trong họ vi điều khiển MCS-48. 8748 là một vi
mạch chứa trên 17000 transistor bao gồm một CPU, 1K byte
EPROM, 64 byte RAM, 27 chân xuất nhập và một bộ đònh thì 8-
bit. IC này và các IC khác tiếp theo của họ MCS-48 đã nhanh
chóng trở thành chuẩn công nghiệp trong các ứng dụng hướng
điều khiển (control-oriented application). Việc thay thế các
thành phần cơ điện trong các sản phẩm như máy giặt và các bộ
điều khiển đèn giao thông là những ứng dụng phổ biến ban đầu.
Các sản phẩm khác mà trong đó bộ vi điều khiển được tìm thấy
bao gồm xe ô tô, thiết bò công nghiệp, các sản phẩm tiêu dùng
và các ngoại vi của máy tính (bàn phím của IBM-PC là một thí
dụ sử dụng bộ vi điều khiển trong các thiết kế tối thiểu thành
phần).
Độ phức tạp, kích thước và khả năng của bộ vi điều khiển
được tăng thêm một bậc quan trọng vào năm 1980 khi Intel công
bố chip 8051, bộ vi điều khiển đầu tiên của họ vi điều khiển


MCS-51. So với 8048, chip 8051 chứa trên 60000 transistor bao
gồm 4K byte ROM, 128 byte RAM, 32 đường xuất nhập, một
port nối tiếp và 2 bộ đònh thì 16-bit, một lượng mạch đáng chú ý
trong một IC đơn. Các thành viên mới được thêm vào cho họ
MCS-51 và các biến thể ngày nay gần như có gấp đôi đặc trưng
này. Tập đoàn Siemens, nguồn sản xuất thứ hai các bộ vi điều
khiển thuộc họ MCS-51 cung cấp chip SAB80515, một cải tiến
của 8051 chứa trong một vỏ 68 chân, có 6 port xuất nhập 8-bit,
13 nguồn tạo ra ngắt và một bộ biến đổi A/D 8-bit với 8 kênh
ngõ vào. Họ 8051 là một trong những họ điều khiển 8-bi t mạnh
và linh hoạt nhất, đã trở thành bộ vi điều khiển hàng đầu trong
những năm gần đây.
Ở đề tài này em sử dụng chip vi điều khiển (có thể gọi là chip
vi xử lý do ít thói quen. Mặt khác, hiện nay ít có sự phân đònh rõ
giữa hai thuật ngữ này) AT 8951, đây cũng thuộc MCS –51.
Về cơ bản cấu tạo của AT9851 cũng giống như 8051, nhưng
AT9851 là một hệ vi tính 8-bit đơn chip CMOS có hiệu suất cao,
công suất nguồn tiêu thụ thấp và có 4K byte bộ nhớ ROM Flash
xóa được/lập trình được. Chip này được sản xuất dựa vào công
nghệ bộ nhớ không mất nội dung có độ tích hợp cao của Atmel.
8.2.1 Tóm tắt phần cứng AT8951
Chip AT 8951 cũng tương thích với tập lệnh và các chân ra
của chuẩn công nghiệp MCS-51. Flash trên chip này cho phép
bộ nhớ chương trình được lập trình lại trên hệ thống hoặc bằng
bộ lập trình bộ nhớ không mất nội dung quy ước. Bằng cách kết
hợp một CPU linh hoạt 8-bit với Flash trên một chip đơn thể,
Atmel 89C51 là một hệ vi tính 8-bit đơn chip mạnh cho ta một
giải pháp có hiệu quả và rất linh hoạt đối với các ứng dụng điều
khiển.
AT8951 có các đặc trưng chuẩn sau:

 4K byte ROM Flash.
 128 byte RAM.
 32 đường xuất nhập.
 Hai bộ đònh thời/đếm 16-bit.
 Một cấu trúc ngắt hai mức ưu tiên và 5 nguyên nhân ngắt.
 Một port nối tiếp song công.
 Mạch dao động và tạo xung clock trên chip.
Ngoài ra AT8951 được thiết kế với logic tónh cho hoạt động
có tần số giảm xuống 0 và hỗ trợ hai chế độ tiết kiệm năng
lượng được lựa chọn bằng phần mềm. Chế độ nghỉ dừng CPU
trong khi vẫn cho phép RAM, các bộ đònh thời/đếm, port nối
tiếp và hệ thống ngắt tiếp tục hoạt động. Chế độ nguồn giảm
duy trì nội dung của RAM nhưng không cho mạch dao động
cung cấp xung clock nhằm vô hiệu hóa các hoạt động khác của
chip cho đến khi có reset cứng tiếp theo.
8.2.1.1 Cấu hình chân ra:
Vcc chân cung cấp nguồn.
GND chân nối đất (0V).
Port 0
Port 0 là port xuất nhập 8-bit hai chiều cực D hở. Khi làm
nhiệm vụ là port xuất, mỗi chân của port có thể hút dòng của 8
ngõ vào TTL. Khi các logic 1 được ghi vào các chân của port 0,
các chân này có thể được sử dụng làm các ngõ vào có tổng trở
cao.
Port 0 còn được cấu hình làm bus đòa chỉ (byte thấp) và bus
dữ liệu đa hợp trong khi truy xuất bộ nhớ dữ liệu ngoài và bộ
nhớ chương trình ngoài. Trong chế độ đa hợp này, port 0 có các
điện trở kéo lên bên trong.
Port 0 cũng nhận các byte mã trong khi lập trình cho Flash và
xuất các byte mã trong khi kiểm tra chương trình. Các điện trở

kéo lên bên ngoài được cần đến trong khi kiểm tra chương trình.
Port 1
Port1 là port xuất nhập 8-bit hai chiều có các điện trở kéo lên
bên trong. Các bộ đệm xuất của port 1 có thể hút và cấp dòng
với 4 ngõ vào TTL. Khi các logic 1 được ghi lên các chân của
port1, các chân này được kéo lên mức cao bởi các điện trở kéo
lên bên trong và có thể được sử dụng như các ngõ vào. Khi làm
nhiệm vụ của port nhập, các chân của port 1 đang được kéo
xuống mức thấp do tác động bên ngoài sẽ cấp dòng do có các
điện trở kéo lên bên trong.
Port1 cũng nhận byte đòa chỉ thấp trong thời gian lập trình cho
Flash và kiểm tra chương trình.
Port 2
Port 2 của port xuất nhập 8-bit hai chiều có các điện trở kéo
lên bên trong. Các bộ đệm xuất của port 2 có thể hút và cấp
dòng cho với 4 ngõ vào TTL. Khi các logic 1 được ghi lên các
chân port 2, các chân này được kéo lên mức cao bởi các điện trở
kéo lên bên trong và có thể được sử dụng như các ngõ vào. Khi
làm nhiệm vụ của port nhập, các chân của port 2 đang được kéo
xuống mức thấp do tác động bên ngoài sẽ cấp dòng do có các
điện trở kéo lên bên trong.
Port 2 tạo ra các byte cao của bus đòa chỉ trong thời gian tìm
nạp lệnh từ bộ nhớ chương trình ngoài và trong thời gian truy
xuất bộ nhớ dữ liệu ngoài sử dụng các đòa chỉ 16-bit (MOVX
@DPTR). Trong ứng dụng này, port 2 sử dụng các điện trở kéo
lên bên trong khi phát các bit 1. Trong thời gian truy xuất bộ nhớ
dữ liệu ngoài sử dụng các đòa chỉ 8-bit (MOVX @Ri), port 2
phát các nội dung của thanh ghi chức năng đặc biệt P2.
Port 2 cũng nhận các bit đòa chỉ cao và vài tín hiệu điều khiển
trong thời gian lập trình cho Flash và kiểm tra chương trình.

Port 3
Port 3 là port xuất nhập 8-bit hai chiều có các điện trở kéo
lên bên trong. Các bộ đệm xuất của port 3 có thể hút và cấp
dòng với 4 ngõ vào TTL. Khi các logic 1 được ghi lên các chân
port 3, các chân này được kéo lên mức cao bởi các điện trở kéo
lên bên trong và có thể được sử dụng như các ngõ vào. Khi làm
nhiệm vụ của port nhập, các của port 3 đang được kéo xuống
mức thấp do tác động bên ngoài sẽ cấp dòng do có các điện trở
kéo lên bên trong.
Port 3 còn được sử dụng làm các chức năng khác của AT8951
các chức năng này được liệt kê như sau:
Chân của port Chức năng
P3.0 RxD (ngõ vào của port nối tiếp).
P3.1 TxD (ngõ ra của port nối tiếp).
P3.2
0
INT
(ngõ vào ngắt ngoài 0).
P3.3
1
INT
(ngõ vào ngắt ngoài 1).
P3.4 T0 (ngõ vào bên ngoài của bộ đònh thời 0).
P3.5 T1 (ngõ vào bên ngoài của bộ đònh thời 1).
P3.6
WR
(điều khiển ghi bộ nhớ dữ liệu ngoài).
P3.7
RD
(điều khiển đọc bộ nhớ dữ liệu ngoài).

Port 3 cũng nhận một vài tín hiệu điều khiển cho việc lập
trình Flash và kiểm tra chương trình.
RST
Ngõ vào reset. Mức cao trên chân này trong hai chu kỳ máy
trong khi bộ dao động đang hoạt động sẽ reset AT8951.
ALE/PROG
Xung của ngõ ra cho phép chốt đòa chỉ ALE (address latch
enable) cho phép chốt byte thấp của đòa chỉ trong thời gian truy
xuất bộ nhớ ngoài. Chân này cũng được dùng làm ngõ vào xung
lập trình (
PROG
) trong thời gian lập trình cho Flash.
Khi hoạt động bình thường, xung của ALE luôn có tần số
bằng 1/6 tần số của mạch dao động trên chip, có thể được sử
dụng cho các mục đích đònh thời từ bên ngoài và tạo xung clock.
Tuy nhiên cần lưu ý là một xung ALE sẽ bò bỏ qua trong mỗi
một chu kỳ truy xuất bộ nhớ dữ liệu ngoài.
Khi cần, hoạt động cho phép chốt byte thấp của đòa chỉ sẽ
được vô hiệu hóa bằng cách set bit 0 của thanh ghi chức năng
đặc biệt có đòa chỉ byte là 8EH. Khi bit này được set, ALE chỉ
tích cực trong thời gian thực thi lệnh MOVX hoặc MOVC.
Ngược lại chân này sẽ được kéo lên mức cao. Việc set bit không
cho phép hoạt động chốt byte thấp của đòa chỉ sẽ không có tác
dụng nếu bộ vi điều khiển đang ở chế độ thực thi chương trình
ngoài.
PSEN
Chân cho phép bộ nhớ chương trình
PSEN
(program store
enable) điều khiển truy xuất bộ nhớ chương trình ngoài. Khi

AT8951 đang thực thi chương trình trong bộ nhớ chương trình
ngoài,
PSEN
tích cực hai lần cho mỗi chu kỳ máy, ngoại trừ
trường hợp tác động của
PSEN
bò bỏ qua cho mỗi lần truy xuất
bộ nhớ dữ liệu ngoài.
EA
/Vpp
Chân cho phép truy xuất bộ nhớ ngoài
EA
(external access
enable) phải được nối với GND để cho phép chip vi điều khiển
tìm nạp lệnh từ các vò trí nhớ của bộ nhớ chương trình ngoài, bắt
đầu từ đòa chỉ 0000H cho đến FFFFH. Tuy nhiên cần lưu ý là
nếu bit khóa 1 (lock bit 1) được lập trình,
EA
sẽ được chốt bên
trong khi reset.
EA
nên nối với Vcc để thực thi chương trình bên trong chip
Chân
EA
/Vpp còn nhận điện áp cho phép lập trình Vpp trong
thời gian lập trình cho Flash, điện áp này cấp cho các bộ phân
có yêu cầu điện áp 12V.
XTAL1
Ngõ vào đến mạch khuếch đại đảo của mạch dao động và
ngõ vào đến mạch tạo xung clock bên trong chip.

XTAL2
Ngõ ra từ mạch khuếch đại đảo của mạch dao động.

×