Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Bao cao vdk_va_pic

436 views

Published on

asda asdasd asdas asd

Published in: Business
  • Be the first to comment

  • Be the first to like this

Bao cao vdk_va_pic

  1. 1. PHẦN A: VI ĐIỀU KHIỂN I.GIỚI THIỆU TỔNG QUÁT VỀ 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 rõ 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ỏ. Để giải quyết vấn đề đó các nhà chế tạo đã tích hợp một ít bộ nhớ và các giao tiếp ngoại vi cùng với vi xỷ lý vào một IC duy nhất gọi là Microcontroller-Vi điều khiển. II. PHÂN LOẠI VI ĐIỀU KIỂN 1.Độ dài thanh ghi Dựa vào độ dài của các thanh ghi và các lệnh của vi điều khiển mà chia ra là các loại vi điều khiển 8bit, 16bit, 32bit...Các vi điều khiển 16bit do có độ dài lệnh lớn hơn nên các tập lệnh cũng phong phú hơn. Tuy nhiên bất cứ chương trình nào viết bằng vi điều khiển 16bit thì đều có thể viết trên vi điều khiển 8bit 2.Kiến trúc vi điều khiển Kiến trúc vi điều khiển về tổ chức bộ nhớ chương trình và bộ nhớ dữ liệu. Hầu hết các vi điều khiển ngày nay được xây dựng dựa trên kiến trúc Harvard, kiến trúc này định nghĩa bốn thành phần cần thiết của một hệ thống nhúng. Những thành phần này là lõi CPU, bộ nhớ chương trình (thông thường là ROM hoặc bộ nhớ Flash), bộ nhớ dữ liệu (RAM), một hoặc vài bộ định thời và các cổng vào/ra để giao tiếp với các thiết bị ngoại vi và các môi trường bên ngoài - tất cả các khối này được thiết kế trong một vi mạch tích hợp. Vi điều khiển khác với các bộ vi xử lý đa năng ở chỗ là nó có thể hoạt động chỉ với vài vi mạch hỗ trợ bên ngoài. 3.Các họ vi điều khiển thông dụng  Họ vi điều khiển Atmel  Dòng 8051 (8031, 8051, 8751, 8951, 8032, 8052, 8752, 8952)  Dòng Atmel AT91 (Kiến trúc ARM THUMB)  Dòng AT90, Tiny & Mega – AVR (Atmel Norway design)...
  2. 2.  Họ vi điều khiển Freescale Semiconductor.  Dòng 8-bit  68HC05 (CPU05)  68HC08 (CPU08)  68HC11 (CPU11)  Dòng 16-bit  68HC12 (CPU12)  68HC16 (CPU16)  Freescale DSP56800 (DSPcontroller)  Dòng 32-bit  Freescale 683XX (CPU32)  MPC500  MPC 860 (PowerQUICC)  Họ vi điều khiển Intel  Dòng 8-bit  8XC42  MCS48  MCS51  Dòng 16-bit  80186/88  MCS96  MXS296  Dòng 32-bit  386EX  i960  Họ vi điều khiển Microchip  PIC 8-bit (xử lý dữ liệu 8-bit, 8-bit data bus)  Từ lệnh dài 12-bit (Base-line): PIC10F, PIC12F và một vài PIC16F  Từ lệnh dài 14-bit (Mid-Range và Enhance Mid-Range): PIC16Fxxx, PIC16F1xxx  Từ lệnh dài 16-bit (High Performance): PIC18F  PIC 16-bit (xử lý dữ liệu 16-bit)  PIC điều khiển động cơ: dsPIC30F  PIC có DSC: dsPIC33F  Phổ thông: PIC24F, PIC24E, PIC24H
  3. 3.  PIC 32-bit (xử lý dữ liệu 32-bit): PIC32MX  Họ vi điều khiển STMicroelectronics  ST 62  ST7  STM8 III. CẤU TRÚC VI ĐIỀU KHIỂN Hình 3.1: Cấu trúc vi điều khiển 1.CPU -Là trái tim của hệ thống. Là nơi quản lý tất cả các hoạt động của vi điều khiển. Bên trong CPU gồm có: +ALU là bộ phận thao tác trên các dữ liệu +Bộ giải mã và điều khiển, xác định các thao tác mà CPU cần thực hiện +Thanh ghi lệnh IR, lưu trữ opcode của lệnh được thực thi +Một tập các thanh ghi dùng đẻ lưu thông tin tạm thời 2.ROM -Là bộ nhớ lưu giữu chương trình. ROM còn dùng chứa số liệu các bảng, cacs tham số thống kê, các số liệu cố định của hệ thống. Trong quá trình hoạt động của ROM là cố định, không thể thay đổi, nội dung ROM chỉ thay đổi ở chế độ xóa hoặc nạp chương trình. 3.RAM
  4. 4. -Là bộ nhớ dữ liệu. Bộ nhớ RAM dùng làm môi trường xử lý thông tin, lưu trữ các kết quả trung gian và kết quả cuối cùng của các phép toán, xử lý thông tin. Nó cũng dùng làm dể tổ chức các vùng đệm dữ liệu, trong các thao tác thu phát, chuyển đổi dữ liệu. 4.BUS -Là các đường dẫn dùng để di chuyển dữ liệu. Bao gồm: bus địa chỉ, bus dữ liệu, và bus điều khiển 5.BỘ ĐỊNH THỜI: -Sử dụng cho các mục đích chung về thời gian 6.WATCHDOG -Là bộ phận dùng để reset lại hệ thống khi xảy ra bất thường 7.ADC -Là bộ chuyển đổi tín hiệu Analog sang tín hiệu Digital. Các tín hiệu đi vào vi điều khiển thường là tín hiệu Analog, bộ ADC sẽ chuyển đổi tín hiệu về dạng tín hiệu Digital-số mà vi điều khiển có thể hiểu được
  5. 5. PHẦN B: TÌM HIỂU VI ĐIỀU KHIỂN PIC I. PIC LÀ GÌ? PIC - Programmable Intelligent Computer (Máy tính khả trình thông minh) là một sản phẩm của hãng General Instrument đặt tên cho vi điều khiển đầu tiên của họ:PIC 1650 được thiết kế dùng làm các thiết bị ngoại cho vi điều khiển CP1600. Vi điều khiển này sau đó được nghiên cứu phát triển thêm và từ đó hình thành nên dòng vi điều khiển PIC ngày nay. Hiện nay trên thị trường có rất nhiều họ vi điều khiển như 8051, Motorola 68H, AVR,ARM...Ngoài 8051 thì người viết đã chọn họ vi điều khiển PIC để mở rộng và phát triển các ứng dụng trên công cụ này do: +Họ vi điều khiển này có thể tìm mua dễ dàng tại thị trường Việt Nam. +Giá thành không quá đắt. +Có đầy đủ các tính năng của một vi điều khiển khi hoạt động độc lập +Là một bổ sung rất tốt về kiến thức cũng như về úng dụng cho họ vi điều khiển mang tính truyền thống 8051 Hiện nay tại Việt Nam và trên thế giới, họ vi điều khiển PIC được sử dụng khá rộng rãi. Điều này tạo điều kiện thuận lợi trong quá trình tìm hiểu và phát triển các ứng dụng:tài liệu, các ứng dụng được phát triển, trao đổi học tập... Sự hỗ trợ của các nhà sản xuất về trình biên dịch, các công cụ lập trình, nạp chương trình từ đơn giản tới phức tạp.. II.KIẾN TRÚC PIC Tổ chức của PIC dược thiết kế theo kiến trúc Havard. Điểm khác biệt giữa kiến trúc Havard và Von-Neuman là cấu trúc bộ nhớ và cấu trúc dữ liệu. -Kiến trúc Von Neuman: Hình 2.1:Cấu trúc Von-Neumann Cấu trúc này thì bộ nhớ dữ liệu và bộ nhớ chương trình cùng nằm trên 1 vùng nhớ +Ưu điểm: ta có thể linh hoạt tổ chức 2 bộ nhớ dữ liệu và chương trình +Khuyết: Yêu cần xử lý của CPU là rất cao =>Không phù hợp với 1 cấu trúc của vi điều khiển do cấu trúc đó cùng 1 lúc CPU chỉ có thể tương tác với 1 bộ nhớ. *Vi điều khiển có cấu trúc này gọi là CISC(Complex Instruction Set Computer)-vi điều khiển có tập lệnh phúc tạp
  6. 6. -Kiến trúc Harvard Hình 2.2:Cấu trúc Harvard Cấu trúc này có bộ nhớ dữ liệu và bộ nhớ chương trình nằm riêng biệt trên hai vùng nhớ khác nhau =>CPU có thể tương tác với cả 2 bộ nhớ cùng lúc được giúp cải thiện tốc độ +Tập lệnh trong kiến trúc có thể tối ưu tùy ý không phụ thuộc vào cấu trúc dữ liệu *Vi điều khiển có cấu trúc này gọi là RISC(Reduced Instruction Set Computer)vi điều khiển có tập lệnh rút gọn -Kiến trúc Harvard là khái niệm mới so với kiến trúc Von-Neumann. Được hình thành nhằm cải tiến tốc độ thực thi của một vi điều khiển.Qua việc tách rời bộ nhớ dữ liệu và bộ nhớ chương trình, bus chương trình và bus dữ liệu dẫn đến CPU có thể cùng lúc truy xuất cả bộ nhớ dữ liệu và bộ nhớ chương trình, giúp cải thiện tốc độ xử lý của vi điều khiển. Đồng thời cấu trúc lệnh không phụ thuộc vào cấu trúc dữ liệu mà có thể lịnh động điều chỉnh tùy theo khả năng và tốc độ của từng vi điều khiển -Cấu trúc CISC: Là các vi điều khiển có tập lệnh phức tạp giúp người lập trình có thể linh hoạt và dễ dàng hơn khi viết chương trình -Cấu trúc RISC vi điều khiển có tập lệnh rút gọn, chúng đòi hỏi phần cứng ít hơn, giá thành thấp hơn, và nhanh hơn so với CISC. Tuy nhiên nó đòi hỏi người lập trình phải viết các chương trình phức tạp hơn, nhiều lệnh hơn. III.CÁC DÒNG PIC VÀ CÁCH LỰA CHỌN KIỂU PIC 1.Các kí hiệu của vi điều khiển : -PIC12xxxx: có độ dài lệnh 12bit -PIC16xxxx: có đọ dài lệnh 14 bit -PIC18xxxx: có độ dài lệnh 16 bit Các chữ cái sau: -C: PIC có bộ nhớ EEPROM(PIC16C84) là bộ nhớ được xóa và ghi lại theo khối gồm nhiều vị trí có giá thành cao -F: PIC có bộ nhớ Flash là bộ nhớ có thể xóa và ghi lại bằng điện giá thành thấp -LF/LV: PIC có bộ nhớ hoạt động ở điện áp thấp -Hai loại nhớ Flash và EEPROM đều không mất dữ liệu khi mất điện, ghi xóa nhiều lần nhanh cho đọc và chậm ghi/xóa 2.Một số loại PIC thông dụng: PIC16F877A, PIC18F26K20, PIC18F46K20...
  7. 7. 3.Cách chọn PIC phù hợp: Trước hết cần chú ý tới số chân của PIC cần cho ứng dụng. Có nhiều vi điều khiển PIC có số chân khác nhau, 8chaan,28,chân,40,44,... Chọn vi điều khiển PIC có bộ nhớ flash để có thể nạp xó chương trình được nhiều lần hơn Chú ý tới các khối chức năng được tích hợp sẵn trong vi điều khiển , các chuẩn giao tiếp(nếu cần)... IV:CÁC ĐẶC TÍNH Hiện nay có khá nhiều dòng PIC và có rất nhiều khác biệt về phần cứng, nhưng chúng ta có thể điểm qua một vài nét như sau:  8/16 bit CPU, xây dựng theo kiến trúc Harvard có sửa đổi  FLASH và ROM có thể tuỳ chọn từ 256 byte đến 256 Kbyte  Các cổng Xuất/Nhập (I/O ports) (mức logic thường từ 0V đến 5.5V, ứng với logic 0 và1  8/16 Bit Timer  Công nghệ Nanowatt  Các chuẩn Giao Tiếp Ngoại Vi Nối Tiếp Đồng bộ/Không đồng bộ USART, AUSART, EUSARTs  Bộ chuyển đổi ADC Analog-to-digital converters, 10/12 bit  Bộ so sánh điện áp (Voltage Comparators)  Các module Capture/Compare/PWM  Giao tiếp LCD  MSSP Peripheral dùng cho các giao tiếp I²C, SPI, và I²S  Bộ nhớ nội EEPROM - có thể ghi/xoá lên tới 1 triệu lần  FLASH (dùng cho bộ nhớ chương trình) có thể ghi/xóa 10.000 lần (tiêu biểu)  Module Điều khiển động cơ, đọc encoder  Hỗ trợ giao tiếp USB  Hỗ trợ điều khiển Ethernet  Hỗ trợ giao tiếp CAN  Hỗ trợ giao tiếp LIN  Hỗ trợ giao tiếp IrDA  Một số dòng có tích hợp bộ RF (PIC16F639, và rfPIC)  KEELOQ Mã hoá và giải mã  DSP những tính năng xử lý tín hiệu số (dsPIC) IV. NGÔN NGỮ LẬP TRÌNH CHO PIC
  8. 8. Ngôn ngữ lập trình cho PIC rất đa dạng. Ngôn ngũ lập trình cấp thấp có MPLAP(được cung cập miễn phí bới nhà sản xuất Microchip), các ngôn ngữ lập trính cấp cao hơn có C, Basic,Pascal,.. Ngoài ra còn có một số ngôn ngữ lập trình được phát triển dành riêng cho PIC như PICBasic, MikroBasic,...

×