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.

pdf53 trang | Chia sẻ: chaien | Lượt xem: 1832 | Lượt tải: 2download
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:

  • pdfc1_tongquan_7752.pdf