Có thể nói, hiện nay vi điều khiển đã rất phổ biến ở Việt Nam, và được ứng dụng rất nhiều. Những sinh viên nghành Điện, Điện Tử , Cơ Điện Tử, Tin Học, Viễn Thông . hâu như ai cũng biết cách để làm việc với vi điều khiển. Ngày nay, những tiến bộ trong công nghệ bán dẫn đã thúc đẩy sự phat triển không ngừng của nghành công nghiệp tự động, các quá trình điều khiển tự đông hoá và điều khiển thời gian th ực đã đặt ra yêu cầu rất lớn về việc trao đổi dữ liệu giưa các hệ thống hay giữa các bộ phân trong cùng một hệ thống.
76 trang |
Chia sẻ: vietpd | Lượt xem: 1718 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Luận văn Sơ lược về vi điều khiển, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Nguyễn Thế Anh Khoa Điện Tử Viễn Thông
1
LỜI CẢM ƠN
Trước tiên chúng tôi xin gửi lời cảm ơn đến các thầy, cô giáo Trường Đại Học
Công Nghệ - ĐHQGHN, bộ môn Điện Tử Viễn Thông đã nhiệt tình giảng dạy và
truyền đạt những kiến thức, kinh nghiệm quí giá trong suốt bốn năm chúng tôi học đại
học.
Tôi xin gửi lời cảm ơn sâu sắc đến PGS.TS Ngô Diên Tập, đã tận tình hướng dẫn,
cung cấp tài liệu trong suốt quá trình thực hiện đề tài này
Tôi xin gửi lời cảm ơn đến tập thể lớp K49ĐB, những người đồng hành trong
khóa học và có nhiều ý kiến đóng góp.
Một lần nữa xin gửi lời cảm ơn chân thành và sâu sắc!
Hà Nội, tháng 6 năm 2008
Sinh viên thực hiện:
Nguyễn Thế Anh
Nguyễn Thế Anh Khoa Điện Tử Viễn Thông
2
MỞ ĐẦU
Có thể nói, hiện nay vi điều khiển đã rất phổ biến ở Việt Nam, và được ứng
dụng rất nhiều. Những sinh viên nghành Điện, Điện Tử , Cơ Điện Tử, Tin Học, Viễn
Thông ... hâu như ai cũng biết cách để làm việc với vi điều khiển. Ngày nay, những
tiến bộ trong công nghệ bán dẫn đã thúc đẩy sự phat triển không ngừng của nghành
công nghiệp tự động, các quá trình điều khiển tự đông hoá và điều khiển thời gian thực
đã đặt ra yêu cầu rất lớn về việc trao đổi dữ liệu giưa các hệ thống hay giữa các bộ
phân trong cùng một hệ thống.
Các mục tiêu đề ra trong luận văn:
Chương I: Sơ Lược Về Vi Điều Khiển
Chương II: Vi Điều Khiển Microchip PIC
Chương III: Vi Điều Khiển PIC 18F4550
Chương IV: Công Nghệ USB Qua Microchip 18F4550
Chương V: Chuyên Đổi Từ Thiết Bị Flash PIC 18F Sang PIC 18FXXJ
Chương VI: Đồng Hồ Báo Thức
Nguyễn Thế Anh Khoa Điện Tử Viễn Thông
3
Mục lục
CHƯƠNG I: SƠ LƯỢC VỀ VI ĐIỀU KHIỂN ........................................................... 5
1.1. Sơ Lược Về Cấu Trúc Của Vi Điều Khiển ....................................................... 5
1.2 Một Vài Họ Vi Điều Khiển Phổ Biến: .............................................................. 7
1.2.1 INTEL 8051 ............................................................................................. 7
1.2.3 MOTOROLA 68HCxx ............................................................................. 7
1.2.4 MICROCHIP PIC 12Xxxx, 16Xxxx, 17Xxxx, 18Xxxx, DSPIC ............... 8
CHƯƠNG II: VI ĐIỀU KHIỂN MICROCHIP PIC ..................................................... 9
2.1 Lịch Sử Phát Triển ............................................................................................ 9
2.2 Phân Loại ....................................................................................................... 10
2.2.1 Họ cấp thấp (low-end) ............................................................................ 10
2.2.2 Họ cấp chung (Mid-range) ..................................................................... 10
2.2.3 Họ cấp cao (High-end) 17Cxxx .............................................................. 11
2.2.4 Họ cấp cao (High- performance) ............................................................ 12
2.3 Một Số Ưu Điểm Microchip PIC .................................................................... 12
CHƯƠNG III: VI ĐIỀU KHIỂN PIC 18F4550 .......................................................... 14
3.1 Sơ đồ chân ...................................................................................................... 16
3.2 Các Công Cụ Lập Trình .................................................................................. 20
3.3 Đơn vị ICD-U40 ............................................................................................. 23
3.4 Tiêu Thụ Năng Lượng .................................................................................... 24
3.5 FIRMWARE .................................................................................................. 25
3.6 Các công cụ làm việc ...................................................................................... 25
3.7 Thiết bị lớp ..................................................................................................... 25
3.8 Firmware HID ................................................................................................ 26
3.9 Một số đặc tính: .............................................................................................. 26
3.10 Nguyên tắc hoạt động: .................................................................................. 26
3.11 Driver ........................................................................................................... 27
3.12 Mô Tả Thực Hiện Firmware Thứ Hai ........................................................... 29
3.13 Kết luận ........................................................................................................ 32
CHƯƠNG IV: CÔNG NGHỆ USB QUA MICROCHIP 18F4550 ............................. 34
4.1 Giới thiệu ....................................................................................................... 34
4.2 Vi xử lý 18f4550 ............................................................................................ 34
4.3 Lắp ráp bảng phát triển ................................................................................... 34
4.3 Truyền tải khởi động vào 18F4550 ................................................................. 36
4.4 Phát triển ứng dụng trong MPLAB IDE .......................................................... 37
CHƯƠNG V: CHUYỂN ĐỔI TỪ THIẾT BỊ FLASH PIC18F SANG PIC18FXXJ ... 47
5.1 Chuyển đổi thiết bị ......................................................................................... 47
5.2 Giới thiệu ....................................................................................................... 47
5.3 Reset Brown-out (BOR) ................................................................................. 51
5.4 XUNG ............................................................................................................ 51
5.5Tuỳ chọn dao động ký ..................................................................................... 52
5.6 Đồng hồ đo năng lượng .................................................................................. 52
Nguyễn Thế Anh Khoa Điện Tử Viễn Thông
4
5.7 Độ trễ khởi động/reset .................................................................................... 52
5.8 Sự khác Biệt Về Chân..................................................................................... 53
5.9 Điện trở kéo gắn trong .................................................................................... 54
5.10 Tỷ lệ dòng trên các chân vào/ra .................................................................... 54
5.11 VCAP/VDDCORE và ENVREG .......................................................................... 55
5.12 Bộ Nhớ Chương Trình .................................................................................. 55
5.12.1 ID thiết bị ............................................................................................. 55
5.12.2 Từ cấu hình .......................................................................................... 55
5.12.3 Các chu trình ghi .................................................................................. 58
5.12.4 Khả năng ghi nhớ đặc tính .................................................................... 58
5.12.5Mô phỏng tự ghi và EEPROM............................................................... 58
5.12.6 Bảo vệ mã ............................................................................................ 59
5.12.7 Vào chế độ lập trình ............................................................................. 59
5.13 Thiết Lập Chính Xác Cho Chương Trình Thiết Bị Và Công Cụ Phần Mềm .. 60
5.14 KHÁC BIỆT MODULE .............................................................................. 61
5.15 TỔNG KẾT .................................................................................................. 61
CHƯƠNG VI: ĐỒNG HỒ BÁO THỨC .............................................................. 62
6.1 Tóm lược ........................................................................................................ 62
6.2 Chỉ thị hoạt động ............................................................................................ 62
6.2.1 Ngày tháng/thời gian hiện tại .................................................................. 62
6.2.2 Thời gian 12 giờ hay thời gian quân sự ................................................... 63
6.2.3 Báo thức ................................................................................................. 64
6.2.4 Âm báo thức ........................................................................................... 65
6.2.5 Đồng bộ, chờ và ngừng báo thức ............................................................ 65
6.3 USB................................................................................................................ 67
6.4 Lập trình PIC .................................................................................................. 67
6.4.1 Đồng hồ ................................................................................................. 67
6.4.2 USB ....................................................................................................... 68
6.5 Sử dụng Compact Flash .................................................................................. 68
6.6 Chip bộ mã hoá MP3 ...................................................................................... 69
6.7 Bộ chuyển đổi số - tương tự CS4334 .............................................................. 72
6.8 Màn hình LED ................................................................................................ 72
6.9 Kết luận .......................................................................................................... 73
Nguyễn Thế Anh Khoa Điện Tử Viễn Thông
5
CHƯƠNG I
SƠ LƯỢC VỀ VI ĐIỀU KHIỂN
1.1. Sơ Lược Về Cấu Trúc Của Vi Điều Khiển
Năm 1971 bộ vi xử lý đầu tiên ra đời đã mở ra một thời đại mới trong công
nghệ điện tử và tin học, nó đã ảnh hưởng sâu sắc đến mọi lĩnh vực khoa học công nghệ.
Các hẹ thống được thiết kế dựa trên nền tảng của bộ vi xử lý ( điển hình như PC) co
khả năng mà các hệ thống điện tử thông thường không thể thực hiện được.
Các hãng chế tạo bán dẫn đã tích hợp các mạch ngoại vi và bộ vi xử lý lên một
chíp duy nhất (on chíp) để tạo ra các bộ vi điều khiển, để nhằm hạn chế tối đa các linh
kiện mắc ngoài khi xây dựng hệ thống có sử dụng vi xử lý, vi điều khiển.
Những bộ vi điều khiển mới hiện nay của các hãng như: ATMEL, MOTOROLA,
MICROCHIP… Bên trong đã tích hợp nhiều thiết bị ngoại vi như khối ADC, khố
PWM, các loại bộ nhớ, bộ đệm, các cổng truyền thông như: 12C, UART, CAN, PSP,
USB, khối điều khiển LCD, thậm chí cả các khối thu phát không dây RF. Điều này
khiến cho việc thực hiện các ưng dụng với vi điều khiển trở nên dễ dàng, giảm được
kích thước mạch điện và chi phí.
Việc thiết kế và chế tạo ra các bộ xử lý (microprocessor) hiện nay phát triển theo
hai hớng chính. Hướng thứ nhất là phát triển cac bộ xử lý mạnh tốc độ cao thực hiện
hàng tỷ lệnh mỗi giây, độ dài từ dữ liệu lớn 32 hoặc 64 bit, truy nhập không gian bộ
nhớ đến hàng trăm Mbyte hiện nay đã lên hàng Gbyte. Các bộ xử lý này được dùng
trongcác hệ thống cần có công suất tính toán cao như ở máy tính cá nhân PC (Personal
Computer). các hệ điều khiển trong công nghiệp. Hướng thứ hai đó là thiết k, chế tạo
các vi điều khiển (microcontroller), đó là một vi mạch đơn bên trong gồm bộ xử lý
8,12,14 hoặc 16 bit và các khối chức năng như bộ nhớ, bộ đệm, bộ biến đổi A/D, cổng
nối tiếp… . Các vi điều khiển điển hình là intel 8051, ATMEL, AVR, MOTOROLA
68HC11, Microchip Pic…
Điều thúc đảy việc nghiên cứu chế tạo vi điều khiển đó là tính đa dụng, dễ dàng
lập trình và giá thành thấp. Vi điều khiển tỏ ra rất hấp dẫn trong các ứng dụng điều
khiển điện tử vì có kích thước nhỏ, tuy nhỏ nhưng chức năng cũng rất đa dạng, dễ
dàng tích hợp vào trong hệ thống để điều khiển toàn hệ thống.
Nguyễn Thế Anh Khoa Điện Tử Viễn Thông
6
Các thành phần của vi điều khỉên là: CPU, RAM, ROM, các bộ đếm, bộ định
thời, các cổng vào ra, giao diện truyền thông nối tiếp, các khối chuyển đổi tương tự số
A/D và ngược lại số tương tự D/A. Khối xử lý trung tâm CPU thực hiện các chỉ thị
được lưu trong bộ nhơ chương trinh ROM để điều khiển tất cả các thành phần còn lại.
Bộ nhớ truy cập ngẫu nhiên RAM được dùng để lưu các thiết lập và các biến sử dụng
trong chương trình. Chương trình và các số liệu cố định được lưu trong ROM. Bộ nhớ
ROM của vi điều khiển sẽ trở thành phần sụn (firmware) sau khi được nạp trình. Bộ
nhớ ROM này có thể là loại ROM mặt nạ (masked ROM), với loại này chương trinh
được đưa vào ngay trong quá trình chế tạo vi mạch. Hay có thể là loại OTP ROM chỉ
cho phép nạp chương trình một lần, loại EFROM co thể ghi va xoá nhiều lần bằng tia
cực tim, ngoài ra còn loại bộ nhớ nữa là EEFROM là loại bộ nhớ không tự bay hơi có
thể được thay đổi dễ dàng bởi người lập trình.
Vi điều khiển được sử dụng rộng rãi trong các thiết bị điện tử: chúng có trong các
thiết bị viễn thông, máy văn phòng, đồ điện tử gia dụng, đồ chơi trẻ em, thiết bị giải trí.
Các thiết bị đó nói chung đều cần một cơ cấu điều khiển thông minh, có khả năng
tương tác với người sử dụng.
Chương trình cho vi điều khiển là một tập các lệnh đã được dịch thành mã máy
thường được nạp trực tiếp vào bộ nhớ ROM của vi điều khiển từ máy tinh thông
quamọt bộ nạp trình. Một phía của bộ nap được nối với cổng máy tính (COM, USB,
LPT) để nhận dữ liệu từ máy tính, phía kia đưa dữ liệu tới vi điều khiển thông qua các
chân nạp trình của vi điều khiển . Các chân này lại là các chân vào ra thông thường sau
khi vi đièu khiển đã được nạp chương trình.
Các cổng vào ra số cho các dữ liệu nhị phân di chuyển voà ra qua các chân của vi
điều khiển. Các chân này được dùng để ghép nối vi điều khiển với các thiết bị vào ra
số hay ghép nối với các bộ vi điều khiển khác để thực hiện các chức nang nào đó.
Cổng truyền thông dữ liệu nối tiếp tạo khả năng giao tiếp của hệ thống với các hệ
thống khác qua các chuẩn giao tiếp như: URAT, CAN, 12C, SPI…
Các bộ đếm dùng để tạo ra các nhịp thời gian chính xác hoặc để đếm xung.
Khối chuyển đổi A/D cho phép vi điều khiển giao tiếp với các thiết bị điện tử
tương tụ như cảm biến tương tự nhờ đó nó có thể đưa các dữ liệu tương tự vào để xử
lý và lưu trữ. Khối A/D cho phép vi điều khiển điều khiển các thiết bị không tương
thích điều khiển số.
Nguyễn Thế Anh Khoa Điện Tử Viễn Thông
7
1.2 Một Vài Họ Vi Điều Khiển Phổ Biến:
1.2.1 INTEL 8051
Có 40 chân, trong đó có 32 chân vào ra
128 byte RAM
Có khả năng định địa chỉ được 64Kbyte bộ nhớ ngoài
Có 2 tới 3 khối timer
Tần số xung nhịp 12-24MHz
Có khối UART
Nạp trình song song ở các phân họ có bộ nhớ chương trình
1.2.2 ATMEL AVR AT90Sxxxx
Đóng vỏ 8-20-40 chân, tương ứng là 3-15-32 chân vào ra
Chữ lượng bộ nhớ chương trình từ 512 byte đến 8 Kbyte.
Có 128 byte đến 512 byte RAM
Có khối UART trong một số loại cấo cao
Có 1 đến 2 timer 8 bit một số loại có timer 16 bit
Bộ ADC 10bit với 6-8 kênh vào
Có bộ nhớ EEFROM dung lượng 64-512 byte
Tần số xung nhịp 10 MHz
Tập lệnh RISC
Nạp trình nối tiếp theo chuẩn ICSP
1.2.3 MOTOROLA 68HCxx
Đóng vỏ PLCC52, 68 hoặc 82 chân
38 chân vào ra
Có 1 byte bộ nhớ RAM bên trong
Không có hoặc tối đa 20Kbyte bộ nhớ lệnh
Có khối UARTx
Nguyễn Thế Anh Khoa Điện Tử Viễn Thông
8
Bộ ADC 8bit, 6-8 kênh vào
5 bộ timer 16 bit
Có bộ nhớ không tự bay hơi EEFROM 512 byte
Khả năng định địa chỉ 16 Kbyte bộ nhó ngoài
Tần số xung nhịp 8 MHz
Nạp trình song song
1.2.4 MICROCHIP PIC 12Xxxx, 16Xxxx, 17Xxxx, 18Xxxx, DSPIC
Đóng vỏDip8-18-28-40 (phổ biến), tương ứng là 5-13-22-3 chân I/O
Dung lượng bộ nhớ chương trình ROM 512 byte đến 8 Kbyte
Có từ 25 đến 400 byte RAM
Ở các loại cấp chung và cấp cao có khối UART
Có 1 đến 3 timer 8 bit, 16 bit
Bộ ADC 8bit, 10bit, 6-8 kênh vào
Có bộ nhớ EEFROM dung lượng 64-512 byte ở các họ Fxxx và DSPIC
Có khả năng định địa chỉ cho bộ nhớ ngoài ở các họ cấp cao
Tần số xung nhịp từ 4-40 MHz
Tập lệnh RISC
Đa số nạp trình theo chuẩn ICSP
Nguyễn Thế Anh Khoa Điện Tử Viễn Thông
9
CHƯƠNG II
VI ĐIỀU KHIỂN MICROCHIP PIC
2.1 Lịch Sử Phát Triển
Năm 1965 hãng Genneral Instrument thành lập ban vi điện tử nhằm tập trung
nghiên cứu công nghệ chế tạo bộ nhớ kiểu EPROM và EEPROM, đó là các linh kiện
thu hút nhiều đầu tư của các phòng thí nghiệm bán dẫn. Đầu những năm 70 Genneral
Instrument cũng chế tạo vi xử lý 16 bit PC1600. Bộ xử lý này khá tốt nhưng có nhược
điểm là khả năng vào ra không mạnh để thích ứng bộ xử lý PC1600 trong các ứng
dụng cần có tính nâng cao. Năm 1975 Genneral Instrument thiết kế vi mạch điều
khiển giao tiếp ngoại vi (Peripheral interface controler) viết tắt là PIC, đó là linh kiện
hỗ trợ các tính năng vào ra cho vi xử lý PIC không cần nhiều chức năng vì chỉ xử lý
các công việc vào ra do đó bộ mã lệnh của nó khó nhỏ gọn. Những vi điều khiển PIC
đầu tiên có điểm yếu là chế tạo theo công nghệ n-MOS nên tiêu thụ nhiều năng lượng,
bộ nhớ chương trình là loại ROM mặt nạ chỉ nạp được một lần, do đó chương trình
điều khiển được nạp ngay khi chế tạo vi mạch nên chỉ thích hợp với các khách hàng
đặt mua với số lượng lớn, để lắp ráp trong sản xuất những sản phẩm cụ thể.
Những năm đầu thập ki 80 Genneral Instrument gặp khó khăn trong thương mại
và tổ chức lại. Hãng tập trung vào chế tạo linh kiện bán dẫn công suát lớn là thế mạnh
cho tới hiện nay của hãng. Genneral Instrument đã chuyển nhượng Ban vi điện tử và
nhà máy tại Chandle, bang Anizona cho các nhà đầu tư. Họ lập ra một công ty mới, đặt
tên là Arizona Microchip technology hiện nay là Microchip technology Inc.
Chiến lược của các nhà đầu tư là tập trung vào vi điều khiển và các bộ nhớ bán
dẫn. Các vi mạch PIC n-MOS được cải tiến, chế tạo dựa trên nền tảng công nghệ mới
CMOS. Các sản phẩm đầu tiên của Microchip được biết tới và bán ra với số lượng lớn
là các vi điều khiển PIC thuộc họ PIC16C5x. Họ này có hai biến thể với bộ nhớ
chương trình là OTP và UV EPROM. Loại OTP có thể nạp trình một lần dùng cho sản
xuất loại lớn. Loại UV EPROM có thể xóa được bằng tia cực tím (tia UV) dùng khi
phát triển, thử nghiệm phần mềm.
Năm 1983 Microchip là hãng đầu tiên đã tích hợp được bộ nhớ chương trình
flash EEPROM vào những vi điều khiển mới, trong đó được biết đến nhiều nhất là PIC
Nguyễn Thế Anh Khoa Điện Tử Viễn Thông
10
16C84 và PIC16F84. Bộ nhớ chương trình flash đã loại bỏ vai trò của vi điều khiển có
bộ nhớ xoá bằng tia cực tím, có vỏ bằng gốm đắt tiền và các đèn chiếu tia cực tím.
2.2 Phân Loại
Tiêu chuẩn để phân nhóm dựa trên sự khác nhau về kiến trúc bộ xử lý bên trong vi
điều khiển.
Số các thanh ghi có thể truy cập được
Có hay không có ngắt , số lượng ngắt
Số lượng các phần cứng có chức năng đặc biệt
Độ dài từ lệnh
Dựa vào những đặc điểm đó vi điều khiển PIC được chia làm 4 họ:
2.2.1 Họ cấp thấp (low-end)
Gồm các loại được ký hiệu 12C5xx, 16C5x, 16C505, 16HV540
Độ dài từ lệnh 12 bit
Bố chí các thanh ghi: có 32 thanh ghi trên một bank, tối đa có 4 bank
Đặc điểm chung
Rất thích hợp trong các ứng dụng giao diện đơn giản với ngoại vi.
Bộ nhớ chương trình kiểu OTP hoặc EPROM xoá được bằng tia cực tím.
Tốc độ cao, thực hiện được 5 triệu chỉ thị/s với tần số xung nhịp 20MHz.
Chỉ có một bộ đếm timer.
Không có các ngắt cứng.
Không có các lối ra tăng cường.
Nạp trình song song, trừ PIC12C5xx và PIC16C505 được nạp trình nối
tiếp theo giao thực ICSP.
2.2.2 Họ cấp chung (Mid-range)
Bao gồm 12C6xx, 14C000, 16C55x, 16C6x,