Bài giảng Chương 1: Tổng quan về Vi xử lý
Là một toán hạng trong các phép toán số học và logic
Kết quả của các lệnh có thể được đặt ở thanh ghi w
này hoặc có thể đặt ở các thanh ghi thuộc bộ nhớ dữ
liệu.
Việc truyền dữ liệu giữa các thanh ghi với nhau phải
thông qua thanh ghi w chứ không có bất kỳ một lệnh
nào truyền trực tiếp dữ liệu cả.
Vi điều khiển PIC16F cũng giống như tất cả các dòng
vi điều khiển khác mạnh về tương tác từng bit.
53 trang |
Chia sẻ: chaien | Lượt xem: 1832 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Bài giảng Chương 1: Tổng quan về Vi xử lý, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Bài giảng Kỹ thuật Vi xử lý
Chương 1: Tổng quan về Vi xử lý
Đại học Đà Nẵng
Trường Đại học Bách Khoa
Khoa Điện tử Viễn Thông
Bộ môn Kỹ thuật Máy tính
Instructor: Phạm Xuân Trung
Nội dung chương
Lịch sử phát triển của vi xử lý
Thế nào là vi xử lý, vi điều khiển, hệ
thống vi xử lý? Phân biệt vi xử lý và
vi điều khiển,hệ thống vi xử lý.
Giới thiệu các khối của vi điều khiển
Kiến trúc bộ nhớ và kiến trúc tập lệnh
cho vi xử lý
Vi điều khiển PIC
1.1. History
Năm 1969, Một nhóm kỹ sư Nhật của công ty
BUSICOM đến Mỹ để thiết kế mạch tích hợp cho
máy tính(calculator) và Intel mua lại bản quyền
từ công ty BUSICOM năm 1971
Cũng trong năm đó, trên thị trường xuất hiễn vi
xử lý 4004. Nó là vi xử lý 4 bit đầu tiên với tốc
độ 6000 lệnh trên giây.
1.1. History
Không lâu sau đó, Công ty CTC yêu cầu Intel và
Texas Instruments chế tạo cho họ bộ vi xử lý 8
bit dùng cho các đầu cuối.
Tháng 4/1972, bộ vi xử lý 8 bit đầu tiên ra đời với
tên gọi 8008.
Nó có thể định địa chỉ 16Kb bộ nhớ, có 45 lệnh và
thực hiện 300000 lệnh trên giây.
Các bộ vi xử lý 4004, 8008 là khởi đầu cho tất cả
các loại vi xử lý ngày nay.
Tháng 4/1974, Intel tiếp tục phát triển bộ vi xử lý
8 bit và ra mắt thị trường bộ vi xử lý 8080 có thể
định địa chỉ 64Kb bộ nhớ và 75 lệnh với mức giá
là 360$.
1.1. History
Một công ty khác của Mỹ là Motorola nhận
thức nhanh chóng điều gì đang xảy ra và
họ đưa ra thị trường bộ vi xử lý 8 bit 6800.
Motorola là công ty đầu tiên đưa ra các
ngoại vi như là 6820 và 6850.
1.1. History
Năm 1976, Intel cải thiện vi xử lý 8 bit cũ và cho
ra đời vi xử lý mới có tên là 8085.
Cũng trong năm 1976, Zilog công bố Z80, là một
vi xử lý mạnh, với bộ nhớ 64Kb định địa chỉ trực
tiếp, 176 lệnh, số lượng thanh ghi lớn, có RAM
động, nguồn nuôi đơn, tốc độ làm việc nhanh...
1.2.Microcontrollers vs Microprocessors
Microcontroller khác microprocessor trong
các điểm sau:
Điều đầu tiên và quan trọng nhất là chức năng
cơ bản của chúng. Microprocessor được sử dụng
chỉ khi các thành phần khác như bộ nhớ, các
thành phần thu hoặc nhận dữ liệu phải được
thêm vào.
Microprocessor là một trái tim thật sự của một
máy PC.
Microcontroller được thiết kế có tích hợp
sẵn các thành phần.
Không một thành phần ngoại vi nào cần
thêm vào bởi vì chúng đã có sẵn.
Vì vậy,chúng ta tiết kiệm được thời gian và
không gian để xây dựng một thiết bị.
1.2.Microcontrollers vs Microprocessors
Sơ đồ khối tổng quát của một
microcomputer.
The CPU is the microprocessor.
Sơ đồ khối cơ bản của một
microcontroller.
Khối bộ nhớ
Memory is là một
phần của Vi điều
khiển giữ chức
năng lưu trữ.
Có 2 khái niệm
cần quan tâm: địa
chỉ và vùng nhớ.
Khối bộ nhớ
Memory bao gồm tất cả các vị trí nhớ.
Định địa chỉ không rõ ràng là cái gì cả
nhưng lựa chọn một trong số các vùng nhớ
đó.
Bộ nhớ là thành phần đầu tiên, và tối thiểu
phải có của một vi điều khiển.
Đơn vị xử lý trung tâm
Một thành
phần nữa phải
có đó là CPU-
đơn vị xử lý
trung tâm
Các vị trí nhớ
của nó được
gọi là các
thanh ghi.
Bus
Về mặt vật lý,bus là những đường dây nối có thể
là 8,16 hoặc khác nữa.
Có 3 loại bus: Bus dữ liệu, bus địa chỉ, bus điều
khiển.
Bus gồm các đường line đủ để định địa chỉ cho cả bộ
nhớ hoặc đủ để truy cập dữ liệu. Trong trường hợp vi
xử lý 8 bit (nghĩa là sử dụng các thanh ghi 8 bit), bus dữ
liệu là 8 đường line.
Sử dụng để kết nối giữa các khối bên trong vi xử lý
nhằm truy cập địa chỉ, truy cập dữ liệu và điều khiển từ
CPU đến các khối khác và giữa các khối với nhau.
Khối nhập xuất (Input-output unit)
Là nơi mà ta sẽ kết nối các thiết bị ngoại vi với vi
điều khiển còn gọi là các cổng.
Có vài kiểu cổng nhập xuất: cổng nhập, cổng
xuất or cổng đa hướng (2 hướng).
Khi làm việc với các cổng, cần lựa chọn cổng
phù hợp với mục đích mà sử dụng, đó là gửi dữ
liệu ra ngoài hay là nhận dữ liệu vào.
Input-output unit
Khối truyền thông nối tiếp ( Serial communication Unit)
Sử dụng 2 đường line để thực hiện việc truyền và nhận
dữ liệu.
Khối này cũng có thể coi là khối truyền thông theo chế
độ song công.
Khác với việc truyền song song, dữ liệu được truyền ở
đây nối tiếp, từng bit một, theo một chuỗi bit có khuôn
dạng sẵn được định nghĩa trong truyền thông nối tiếp.
Dữ liệu truyền hoặc nhận sẽ được lưu trữ trong thanh
ghi hỗ trợ đợi được xử lý.
Dữ liệu truyền được hỗ trợ các giao thức
Serial communication
Khối định thời (Timer unit)
Khối định thời có thể cung cấp thông tin về thời
gian, giao thức,...
Khối này có 1 bộ đếm độc lập mà thực chất cũng
là 1 thanh ghi chứa giá trị đếm lên 1 khi có biến
cố xảy ra ( thỏa mãn điều kiện đếm).
Time unit
Khối định thời Watchdog
Khi máy tính có sự cố, cách xử lý đơn giản nhất
là reset lại nó bằng nút bấm. Tuy nhiên, vi điều
khiển không có nút reset nên giải pháp đưa ra là
một khối định thời watchdog.
Khối này cũng giống như bộ định thời, có riêng
một bộ đếm độc lập và phải được đặt giá trị bằng
0 nếu muốn chương trình khi hoạt động bình
thường vẫn đúng.
Watchdog
Trong trường hợp chương trình bị kẹt, bộ đếm
sẽ reset lại vi xử lý khi tràn.
Khối chuyển đổi tương tự sang số
(Analog to Digital Converter Unit)
Tín hiệu được cung cấp bởi các khối ngoại vi đa số là
tương tự nên cần phải chuyển sang số vi điều khiển mới
hiểu được.
Khối ADC thực hiện nhiệm vụ nhận tín hiệu, cắt
ngưỡng, lấy mẫu, lượng tử hóa chuyển đổi tương tự
sang số.
Tín hiệu sau khi được xử lý bởi khối này trở thành các
chuỗi số nhị phân được lưu trữ trong các thanh ghi hỗ
trợ và CPU có thể sử dụng.
Analog to Digital Converter
Physical configuration of the
interior of a microcontroller
Thin lines which lead
from the center
towards the sides of
the microcontroller
represent wires
connecting inner
blocks with the pins
on the housing of the
microcontroller so
called bonding lines.
Microcontroller
outline with its
basic elements
and internal
connections
Von Neumann and Harvard Architectures
Kiến trúc
Von
Neumann
Kiến trúc
Harvard
Von Neumann and Harvard Architectures
Kiến trúc Von Neumann: Bộ nhớ
chương trình và bộ nhớ dữ liệu được
xây dựng cùng chung một khối.
Kiến trúc Harvard: Bộ nhớ dữ liệu và
bộ nhớ chương trình là tách rời nhau.
Dung lượng của bộ nhớ chương trình
luôn lớn hơn rất nhiều so với bộ nhớ
dữ liệu.
CISC and RISC Architectures
Complex set instruction computer (CISC):
Máy tính có tập lệnh phức tạp
Reduced instruction set computer (RISC):
Máy tính có tập lệnh tối giản
CISC and RISC Architectures
Vi xử lý kiểu CISC có số lượng lệnh rất lớn (>100)
Vi xử lý kiểu CISC có kích thước từ lệnh không cố
định.
Vi xử lý kiểu CISC có nhiều lệnh phức tạp trong
quá trình thực hiện.
Vi xử lý kiểu CISC có nhiều mode định địa chỉ.
Vi xử lý kiểu CISC làm tăng độ phức tạp về cấu
trúc của CPU và kích thước của chip.
Vi xử lý kiểu CISC có số lệnh thực hiện trong nhiều
chu kỳ máy là khá nhiều
CISC and RISC Architectures
Vi xử lý kiểu RISC có số lượng lệnh rất ít và
vừa phải ( trong khoảng 33 đến 77 lệnh đối với
vi xử lý PIC).
Vi xử lý kiểu RISC có kích thước từ lệnh cố
định.
Vi xử lý kiểu RISC chỉ có các lệnh thực hiện các
thao tác đơn giản.
Vi xử lý kiểu RISC có rất ít mode định địa chỉ
Vi xử lý kiểu RISC đa số các lệnh chỉ thực hiện
trong một chu kỳ máy.
Phần cứng vi điều khiển PIC
Vi điều khiển được coi là một máy tính giản đơn
tích hợp trên 1 chip bán dẫn
Sử dụng trong các thiết bị: mobile phones,
DVD players, video cameras, và hầu hết
trong các hệ thống điện tử tự động.
MCU (Microcontroller Unit) dùng để điều
khiển các thiết bị hiển thị LCD.
Processor System
Vi điều khiển bao gồm các thành phần cơ bản
giống như một máy tính:
Bộ xử lý
Bộ nhớ
Khối nhập xuất
Processor System
Trong vi xử lý, các thành phần được tích hợp sẵn
trong 1 chip
Sơ đồ khối cơ bản vi xử lý:
Processor
Trong một vi
xử lý , một bộ
xử lý đơn sẽ
thực hiện
tính toán,
nhập/xuất và
điều khiển.
PIC 16F877A pin out
16F877A
program
execution
block
diagram
Các đặc điểm chính của PIC16F MCU
Tất cả các vi điều khiển PIC đều dựa trên
kiến trúc Harvard.
Kiến trúc này có đặc trưng là bộ nhớ
chương trình và bộ nhớ dữ liệu riêng biệt.
Kích thước của bộ nhớ chương trình lớn
hơn bộ nhớ dữ liệu.
Bộ nhớ chương trình được tổ chức thành các từ
14 bit; Bộ nhớ dữ liệu dựa trên các thanh ghi 8
bit.
Việc truy cập các chức năng nhập xuất thông
qua các thanh ghi được gọi là nhóm các thanh
ghi chức năng đặc biệt (special function
registers (SFRs)).
Vài vi điều khiển PIC16F có bộ nhớ dữ liệu
EEPROM lưu trữ dữ liệu không bị mất đi khi mất
nguồn.
Các đặc điểm chính của PIC16F MCU
Tất cả vi điều khiển PIC16F là vi điều khiển
kiểu RISC
Số lượng lệnh: between 33 and 77.
Từ lệnh là giống nhau: 14 bit
Có một thanh ghi tích lũy Working(W) và
các thanh đa năng khác.
Các đặc điểm chính của PIC16F MCU
Tất cả các vi điều khiển PIC16F đều dùng kỹ thuật
pipelining để thực hiện lệnh.
Mỗi lệnh đơn được thực hiện trong 2 bước: tìm nạp và
thực hiện lệnh.
Với kỹ thuật pipelining, với mỗi chu kỳ máy, có 2 lệnh
được thực hiện ở 2 bước khác nhau. Vì vậy, khi kết thúc
một chu kỳ máy, có thể coi một lệnh được thực hiện
xong.
Một chu kỳ máy được thực hiện trong 4 xung đồng hồ
chính.
Các đặc điểm chính của PIC16F MCU
Thanh ghi W
Là một toán hạng trong các phép toán số học và logic
Kết quả của các lệnh có thể được đặt ở thanh ghi w
này hoặc có thể đặt ở các thanh ghi thuộc bộ nhớ dữ
liệu.
Việc truyền dữ liệu giữa các thanh ghi với nhau phải
thông qua thanh ghi w chứ không có bất kỳ một lệnh
nào truyền trực tiếp dữ liệu cả.
Vi điều khiển PIC16F cũng giống như tất cả các dòng
vi điều khiển khác mạnh về tương tác từng bit.
Like any
microcontro
-ller, PIC
microcontro
llers have a
main
oscillator to
synchronize
its internal
operations.
Machine Cycles and Execution of
Instructions
Each instruction requires two stages
The first stage is the fetching stage that requires
a machine cycle.
The second stage, in which the instruction is
decoded and executed, requires another
machine cycle.
Pipelining for Instruction Execution
the microcontroller fetches one instruction
and executes the previous instruction.
Every machine cycle period results in an
instruction being executed, with the
previously mentioned exception of control
transfer instructions
Pipelining for Instruction Execution
Ví dụ:
Pipelining for Instruction Execution
Memory
Memory in a microcontroller is the place
that stores the program being executed and
the data or variables used by that program.
Memory can be considered as a set of cells
or locations, identified by their address.
Memory
Each cell stores a word.
A word is the logic unit of information
stored in a cell. Words can have 1, 8, 12,
14, or 16 bits.
An 8-bit word is called a byte.
The number of memory cells determines its
size
Program Memory
Program memory is organized in pages.
Can have up to four pages of 2k words
each, making a total memory size up to 8k
words.
The length of a word in medium-end PIC
microcontrollers is 14 bit.
RAM Data Memory
The data memory implemented using RAM
technology is organized in 8-bit words.
Similar to program memory, data memory
is also divided in different pages; for data
memory these pages are called banks.
Each bank can have up to 128 memory
cells or registers. The range of addresses
for each bank is from 00h to 7Fh.
EEPROM Data Memory
This memory is physically separated from
the RAM data memory.
This memory is accessed by special
function registers, similar to those used to
read and write in the program flash
memory.
Thiết kế phần mềm của hệ thống vi xử lý
Viết chương trình điều khiển hoạt động của hệ thống
phần cứng theo chức năng mong muốn (thường dùng
ngôn ngữ Assembly của chip vi xử lý dùng trong hệ
thống)
Dịch chương trình đã viết sang ngôn ngữ máy sử dụng
các chương trình dịch thích hợp
Nạp chương trình ngôn ngữ máy vào bộ nhớ của hệ
thống vi xử lý
Kiểm tra hoạt động của hệ thống và thực hiện các hiệu
chỉnh nếu cần thiết
Có thể nhờ sự trợ giúp của các chương trình mô phỏng
trên máy tính
Các file đính kèm theo tài liệu này:
- c1_tongquan_7752.pdf