intTypePromotion=1

Giáo trình Vi xử lý: Phần 1 - CĐ Giao thông Vận tải

Chia sẻ: Bautroimaudo Bautroimaudo | Ngày: | Loại File: PDF | Số trang:171

0
17
lượt xem
7
download

Giáo trình Vi xử lý: Phần 1 - CĐ Giao thông Vận tải

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Giáo trình Vi xử lý: Phần 1 cung cấp cho người học những kiến thức như: Mô tả tổng quát một hệ vi xử lý; Hệ vi điều khiển 8-bit 805; Lập trình hợp ngữ trên hệ vi điều khiển 8051; Bộ vi xử lý 16 bit Intel 8088/8086.

Chủ đề:
Lưu

Nội dung Text: Giáo trình Vi xử lý: Phần 1 - CĐ Giao thông Vận tải

  1. ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH TRƢỜNG CAO ĐẲNG GIAO THÔNG VẬN TẢI KHOA KỸ THUẬT ĐIỆN – ĐIỆN TỬ …………..o0o………….. GIÁO TRÌNH BIÊN SOẠN: 1. NGUYỄN ĐỨC LỢI (chủ biên ) 2. TRẦN KHÁNH NINH 3. VÕ PHÚ CƢỜNG TP.HỒ CHÍ MINH, THÁNG 9 NĂM 2013
  2. LỜI NÓI ĐẦU Sự ra đời của công nghệ bán dẫn vào những thập niên cuối thế kỉ XX, cho đến nay đã có nhiều phát triển vƣợt bậc. Công nghệ nano đã giúp các thiết bị điện tử tích hợp với mật độ rất cao và nhiều chức năng hơn, trong khi giá thành ngày càng rẻ. Một bƣớc tiến mới trong công nghệ điện tử khi công ty Intel cho ra đời bộ vi xử lý đầu tiên mà phần cứng chỉ đóng vai trò thứ yếu, phần mềm (chƣơng trình) đóng vai trò chủ đạo đối với các chức năng cần thực hiện. Nhờ vậy vi xử lý có sự mềm dẻo hóa trong các chức năng của mình. Vi xử lý hoạt động cần có chƣơng trình kèm theo, các chƣơng trình này điều khiển các mạch logic xử lý các dữ liệu cần thiết theo yêu cầu. Để thực hiện các công việc với các thiết bị cuối cùng, chẳng hạn điều khiển động cơ, hiển thị kí tự trên màn hình .... đòi hỏi phải kết hợp vi xử lý với các mạch điện giao tiếp với bên ngoài đƣợc gọi là các thiết bị ngoại vi hay còn gọi là các thiết bị nhập/xuất (I/O). Hiệu quả ứng dụng của Vi xử lý là rất lớn, chẳng hạn nhƣ các hệ thống sản xuất tự động trong công nghiệp, các tổng đài điện thoại, hoặc ở các robot có khả năng hoạt động phức tạp v.v... Tuy nhiên đối với các ứng dụng nhỏ, 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 điều này gây khó khăn cho ngƣời dùng trong việc thiết kế phần cứng nên các nhà chế tạo tích hợp một số mạch giao tiếp ngoại vi cùng với vi xử lý vào một IC duy nhất đƣợc gọi là Microcontroller-Vi điều khiển. Vi điều khiển về cơ bản cũng giống nhƣ vi xử lý, nhƣng cấu trúc phần cứng dành cho ngƣời dùng đơn giản hơn nhiều. Vi điều khiển thƣờng đƣợc dùng để xây dựng các hệ thống nhúng, nó xuất hiện khá nhiều trong các dụng cụ điện tử thiết bị điện, máy giặt, lò vi sóng, điện thoại, đầu đọc DVD, thiết bị đa phƣơng tiện, dây chuyền tự động. Vi xử lý / vi điều khiển là môn học hữu ích cho sinh viên khối kỹ thuật nhất là sinh viên ngành điện - điện tử. Mọi sinh viên ngành điện đều cần nắm vững cơ sở lý thuyết để từ đó có thể thiết kế các mạch ứng dụng nhƣ mạch đồng hồ hẹn giờ, mạch đếm sản phẩm, mạch đèn giao thông, mạch quang báo, chống trộm, chống cháy, mạch đo nhiệt độ, robot tự động ... Trên thị trƣờng hiện nay tài liệu về vi xử lý khá nhiều, tuy nhiên lại đề cập đến nhiều mảng nội dung khác nhau, mỗi sách viết một kiểu, điều này gây không ít khó khăn cho sinh
  3. viên trong việc tìm kiếm một tài liệu phù hợp. Nhằm giúp sinh viên Khoa Điện - Điện tử của Trƣờng Cao đẳng Giao thông vận tải TP. Hồ Chí Minh có một cuốn tài liệu tham khảo học tập theo sát chƣơng trình và mục tiêu đào tạo của Trƣờng. Đƣợc sự quan tâm của Ban Giám hiệu nhà trƣờng cùng với sự định hƣớng nội dung của Thầy Ths. Nguyễn Ngọc Trung - Trƣởng Khoa Kỹ thuật Điện – Điện tử , nhóm tác giả là các Thầy, Cô khoa KT Điện - Điện tử tiến hành biên soạn cuốn ―Giáo trình Vi xử lý‖ với mong muốn cuốn giáo trình này phần nào giúp các em góp nhặt đƣợc những kiến thức bổ ích trên bƣớc đƣờng học tập và làm việc mai sau Nội dung cuốn giáo trình vi xử lý gồm 8 chƣơng đƣợc giảng dạy trong thời lƣợng 60 tiết với bố cục nhƣ sau: Chƣơng 1 : Mô tả tổng quát một hệ vi xử lý. ( 6 tiết) Chƣơng 2 : Hệ vi điều khiển 8-bit 8051. ( 6 tiết) Chƣơng 3 : Lập trình hợp ngữ trên hệ vi điều khiển 8051. ( 9 tiết) Chƣơng 4 : Bộ vi xử lý 16 bit Intel 8088/8086. ( 9 tiết) Chƣơng 5 : Hệ vi điều khiển 32-bit MC68332. ( 9 tiết) Chƣơng 6 : Lập trình hợp ngữ trên họ vi điều khiển 32-bit MC68332. ( 9 tiết) Chƣơng 7 : Các vi mạch hỗ trợ việc thiết kế hệ thống dựa trên các họ trên. ( 6 tiết) Chƣơng 8 : Thiết kế các hệ thống. ( 6 tiết) Trong quá trình thực hiện cuốn giáo trình vi xử lý nhóm tác giả có sử dụng các tài liệu chuẩn nƣớc ngoài đồng thời tham khảo vài tài liệu từ các trƣờng đại học trong khu vực và cũng nhận đƣợc khá nhiều ý kiến đóng góp từ các đồng nghiệp nhằm giúp giáo trình hoàn thiện hơn. Do Trƣờng vừa chuyển từ hình thức học phần sang học chế tín chỉ, bắt đầu thực hiện từ khóa K2013 cho đối tƣợng sinh viên hệ cao đẳng đòi hỏi tính tự học rất cao, với cách trình bày chi tiết từ cơ bản đến nâng cao một cách có hệ thống, hy vọng cuốn giáo trình vi xử lý này thực sự hữu ích cho các em. Bên cạch đó cuốn giáo trình này cũng là tài liệu chính giúp giáo viên bộ môn giảng dạy theo sát chƣơng trình khung. Tuy nhiên, đây chỉ là lần biên soạn đầu tiên, điều này chắc không tránh khỏi thiếu xót, nhóm tác giả mong đón nhận sự góp ý từ Hội đồng và các Thầy Cô cũng nhƣ bạn đọc gần xa, nhóm tác giả chân thành cảm ơn! TP Hồ Chí Minh, tháng 9 năm 2013 Nhóm tác giả.
  4. MỤC LỤC CHƢƠNG 1 : MÔ TẢ TỔNG QUÁT MỘT HỆ VI XỬ LÝ. ( 6 TIẾT) .................................................. 9 1.1 Giới thiệu bộ vi xử lý tổng quát .................................................................................................... 10 1.1.1 Các khái niệm ......................................................................................................................... 10 1.1.2 Lịch sử phát triển .................................................................................................................... 10 1.1.3 Ứng dụng ................................................................................................................................ 12 1.2 Sơ đồ khối của một hệ vi xử lý ..................................................................................................... 13 1.2.1 Khối xử lý trung tâm (CPU) ................................................................................................... 14 1.2.2 Hệ thống bus........................................................................................................................... 14 1.3 Tổng quát về các vi mạch xuất nhập song song/ nối tiếp .............................................................. 15 1.4 Hoạt động xuất nhập ..................................................................................................................... 18 1.4.1 Thiết bị ngoại vi có địa chỉ tách rời với bộ nhớ ..................................................................... 18 1.4.2 Thiết bị ngoại vi và bộ nhớ có chung không gian địa chỉ ...................................................... 18 1.4.3 Giải mã địa chỉ cho thiết bị I / O ............................................................................................ 18 1.5 Hoạt động xuất nhập sử dụng ngắt ................................................................................................ 19 1.6 Từ bộ vi xử lý đến bộ vi điều khiển .............................................................................................. 20 1.7 Sơ đồ khối tổng quát của bộ vi điều khiển .................................................................................... 23 CHƢƠNG 2 HỆ VI ĐIỀU KHIỂN 8-BIT 8051. ( 6 TIẾT) ................................................................... 25 2.1 Phần cứng của hệ vi điều khiển 8051 ............................................................................................ 26 2.1.1 Sơ đồ khối chip 8051.............................................................................................................. 26 2.1.2 Mô tả các chân của chip 8051 ................................................................................................ 28 2.1.3 Cổng xuất nhập - Input/Output Ports (I/O Ports) ................................................................... 30 2.1.4 Tổ chức bộ nhớ ....................................................................................................................... 33 2.1.5 Memory expansion – Mở rộng bộ nhớ ................................................................................... 36 2.1.6 Special Function Registers (SFRs)- Thanh ghi chức năng đặc biệt ....................................... 38 2.2 Tóm tắt tập lệnh............................................................................................................................. 42 2.2.1 Các lệnh số học (Arithmetic Instruction) : ............................................................................. 42 2.2.2 Các hoạt động logic (Logic Operation) : ................................................................................ 43 2.2.3 Các lệnh rẽ nhánh chƣơng trình (lệnh nhảy) : ........................................................................ 45 2.2.4 Các lệnh dịch chuyển dữ liệu : ............................................................................................... 48 2.2.5 Các lệnh luận lý (Boolean Instruction) : ................................................................................ 49 2.2.6 Các lệnh xen vào (Miscellameous Instruction) : .................................................................... 50 2.3 Hoạt động định thời ....................................................................................................................... 51 2.3.1 Timer T0 – Bộ định thời T0 ................................................................................................... 51 2.3.2 TMOD Register (Timer Mode) – Thanh ghi chọn chế độ định thời ...................................... 52 2.3.3 Timer Control (TCON) Register - Thanh ghi điều khiển hẹn giờ (TCON) ........................... 57
  5. 2.4 Hoạt động của port nối tiếp ........................................................................................................... 59 2.4.1 Bộ đệm port nối tiếp (SBUF - Serial Data Buffer) ................................................................ 61 2.4.2 Điều khiển port nối tiếp SCON (Serial port control) ............................................................. 61 2.4.3 Các chế độ hoạt động: ............................................................................................................ 63 2.4.4 Khởi động và truy xuất các thanh ghi cổng nối tiếp: ............................................................. 68 2.4.5 Tốc độ baud port nối tiếp: ...................................................................................................... 70 2.5 Hoạt động ngắt .............................................................................................................................. 74 2.5.1 Giới thiệu chung: .................................................................................................................... 74 2.5.2 Tổ chức ngắt của 8951: .......................................................................................................... 75 2.5.3 Cho phép và cấm các ngắt : .................................................................................................... 76 2.5.4 Quyền ƣu tiên của ngắt : ........................................................................................................ 78 2.5.5 Các bit cờ ngắt ........................................................................................................................ 79 2.5.6 Các ngắt ngoài ........................................................................................................................ 79 2.5.7 Vận hành Step ........................................................................................................................ 80 CHƢƠNG 3 LẬP TRÌNH HỢP NGỮ TRÊN HỆ VI ĐIỀU KHIỂN 8051. ( 9 TIẾT) ........................... 82 3.1 Mô tả chi tiết các lệnh của hệ vi điều khiển 8051. ........................................................................ 83 3.1.1 Nhóm lệnh di chuyển dữ liệu. ................................................................................................ 83 3.1.2 Nhóm lệnh số học ................................................................................................................... 89 3.1.3 Nhóm lệnh lôgic học .............................................................................................................. 95 3.1.4 Nhóm lệnh rẽ nhánh ............................................................................................................. 100 3.1.5 Nhóm lệnh xử lý bít ............................................................................................................. 112 3.2 Trình dịch hợp ngữ. ..................................................................................................................... 114 3.2.1 Cú pháp của ngôn ngữ assembly .......................................................................................... 115 3.2.2 Numbers – Các con số .......................................................................................................... 115 3.2.3 Operators – thực hiện ........................................................................................................... 116 3.2.4 Symbol - biểu tƣợng ............................................................................................................. 117 Ví dụ: các biểu tƣợng sau đây sẽ đƣợc coi là giống hệt nhau: ...................................................... 118 Serial_Port_Buffer ........................................................................................................................ 118 SERIAL_PORT_BUFFER............................................................................................................ 118 3.3 Khuôn dạng của chƣơng trình hợp ngữ. ...................................................................................... 118 3.3.1 Các thành phần cơ bản của ngôn ngữ Assembly: ................................................................ 118 3.3.2 Khuôn dạng của một dòng lệnh............................................................................................ 119 3.3.3 Các quy ƣớc trong tập lệnh .................................................................................................. 120 3.3.4 Một số chỉ dẫn thƣờng gặp: .................................................................................................. 121 3.3.5 Các chế độ địa chỉ ................................................................................................................ 122 3.3.6 Cấu trúc một chƣơng trình hợp ngữ ..................................................................................... 124 3.4 Đánh giá biểu thức trong thời gian dịch. ..................................................................................... 125
  6. 3.5 Các chỉ dẫn. ................................................................................................................................. 126 3.6 Các điều khiển của trình dịch hợp ngữ. ....................................................................................... 126 3.7 Hoạt động liên kết. ...................................................................................................................... 127 3.8 Macro. ......................................................................................................................................... 127 3.9 Lập trình định thời. ...................................................................................................................... 128 3.9.1 Khởi động và truy xuất các thanh ghi timer. ........................................................................ 128 3.9.2 Các bài toán về Timer .......................................................................................................... 128 3.10 Lập trình cho port nối tiếp. ........................................................................................................ 131 3.10.1 Chƣơng trình con phục vụ truyền thông nối tiếp ............................................................... 131 3.10.2 Truyền thông UART cho 8051 bằng phần mềm ................................................................ 131 3.11 Lập trình sử dụng ngắt. ............................................................................................................. 132 3.11.1 Dùng ngắt ngoài. ................................................................................................................ 132 3.11.2 Lập trình ngắt ngoài theo sƣờn xuống................................................................................ 134 CHƢƠNG 4 BỘ VI XỬ LÝ 16 BIT INTEL 8088/8086. ( 9 TIẾT) ..................................................... 136 4.1 Mở đầu: ....................................................................................................................................... 137 4.1.1 Mô tả chức năng các chân .................................................................................................... 138 4.1.2 Các chế độ địa chỉ ................................................................................................................ 139 4.2 Mô tả các tín hiệu. ....................................................................................................................... 139 4.3 Tập thanh ghi. .............................................................................................................................. 141 4.4 Khuôn dạng của lệnh. .................................................................................................................. 144 4.5 Tập lệnh. ...................................................................................................................................... 146 4.5.1 Giới thiệu chung ................................................................................................................... 146 4.5.2 Các nhóm lệnh ...................................................................................................................... 146 4.6 Khả năng ngắt.............................................................................................................................. 164 4.7 Khả năng DMA. .......................................................................................................................... 165 4.8 Xử lý tranh chấp bus. .................................................................................................................. 166 4.8.1 Chức năng và thông số của BUS .......................................................................................... 166 4.8.2 Trọng tài bus (bus arbitration) .............................................................................................. 168 4.9 Hoạt động ở chế độ min. ............................................................................................................. 170 4.10 Hoạt động ở chế độ max............................................................................................................ 170 CHƢƠNG 5 HỆ VI ĐIỀU KHIỂN 32-BIT MC68332. ( 9 TIẾT) ........................................................ 172 5.1 Mở đầu ........................................................................................................................................ 173 5.2 Mô tả các tín hiệu. ....................................................................................................................... 174 5.3 Mô-đun tích hợp hệ thống SIM (system integration module). .................................................... 177 5.4 Đơn vị xử lý trung tâm CPU ( central processing unit). ............................................................. 179 5.5 Đơn vị xử lý thời gian TPU ( time processor unit ): ................................................................... 181 5.6 Mô-đun nối tiếp có hàng đợi QSM ( queued serial module ): .................................................... 182
  7. 5.7 TPURAM .................................................................................................................................... 183 CHƢƠNG 6 LẬP TRÌNH HỢP NGỮ TRÊN HỌ VI ĐIỀU KHIỂN 32-BIT MC68332. ( 9 TIẾT) .. 185 6.1 Mô tả chi tiết các lệnh của MC68332. ........................................................................................ 186 6.1.1 Nhóm truyền dữ liệu: ........................................................................................................... 186 6.1.2 Nhóm lệnh số học ................................................................................................................. 187 6.1.3 Nhóm lệnh logic ................................................................................................................... 188 6.1.4 Nhóm lệnh quay và dịch....................................................................................................... 189 6.1.5 Nhóm lệnh xử lý bit ............................................................................................................. 190 6.1.6 Nhóm lệnh BCD ................................................................................................................... 190 6.1.7 Nhóm lệnh điều khiển chƣơng trình ..................................................................................... 191 6.1.8 Nhóm lệnh hệ thống ............................................................................................................. 192 6.2 Trình dịch hợp ngữ. ..................................................................................................................... 193 6.3 Khuôn dạng của chƣơng trình hợp ngữ. ...................................................................................... 194 6.4 Đánh giá biểu thức trong thời gian dịch. ..................................................................................... 195 6.5 Các chỉ dẫn. ................................................................................................................................. 195 6.6 Các điều khiển của trình dịch hợp ngữ. ....................................................................................... 197 6.7 Hoạt động liên kết. ...................................................................................................................... 198 6.8 Macro. ......................................................................................................................................... 199 6.9 Lập trình cho TPU. ...................................................................................................................... 199 6.10 Lập trình xuất nhập. .................................................................................................................. 200 6.11 Lập trình cho QSM. ................................................................................................................... 201 6.11.1 Lập trình cho khối SCI ....................................................................................................... 201 6.11.2 Lập trình khởi động cho khối QSPI ................................................................................... 201 6.12 Lập trình cho TPURAM. ........................................................................................................... 201 6.13 Lập trình sử dụng ngắt. ............................................................................................................. 202 CHƢƠNG 7 CÁC VI MẠCH HỖ TRỢ VIỆC THIẾT KẾ HỆ THỐNG DỰA TRÊN CÁC HỌ TRÊN. ( 6 TIẾT)................................................................................................................................................ 204 7.1 IC chuyển đổi tƣơng tự sang số ADC ......................................................................................... 205 7.1.1 Vi mạch 0809 ....................................................................................................................... 205 7.1.2 Vi mạch 0808 ....................................................................................................................... 205 7.1.3 Ứng dụng .............................................................................................................................. 206 7.2 IC chuyển đổi số sang tƣơng tự DAC ......................................................................................... 206 7.2.1 Vi mạch AD7524 ................................................................................................................. 206 7.2.2 Vi mạch DAC 0830 .............................................................................................................. 207 7.2.3 Ứng dụng .............................................................................................................................. 207 7.3 Vi mạch nhớ ROM ...................................................................................................................... 208 7.3.1 Các loại ROM đặc trƣng ...................................................................................................... 209
  8. 7.3.2 Một vài bộ nhớ ROM ........................................................................................................... 209 7.4 Vi mạch nhớ RAM ...................................................................................................................... 210 7.5 Vi mạch cổng đệm....................................................................................................................... 212 7.6 Giải mã địa chỉ ............................................................................................................................ 213 CHƢƠNG 8 : THIẾT KẾ CÁC HỆ THỐNG. ( 6 TIẾT) ...................................................................... 214 8.1 Nguồn cung cấp – Reset .............................................................................................................. 215 8.2 Xung đồng hồ .............................................................................................................................. 215 8.3 Thiết bị chuyển mạch .................................................................................................................. 216 8.4 Giao tiếp với OPTOCOUPLER .................................................................................................. 216 8.5 Giao tiếp với Rơle ....................................................................................................................... 217 8.6 Mạch giao tiếp với Led đơn ........................................................................................................ 218 8.7 Mạch giao tiếp với LED 7 thanh ................................................................................................. 219 8.8 Giao tiếp với màn hình tinh thể lỏng Liquid Crystal Displays (LCD) ........................................ 221 8.9 Giao tiếp với RS232 .................................................................................................................... 225 8.10 Giao tiếp với bàn phím .............................................................................................................. 226
  9. Chƣơng 1: Mô tả tổng quát một hệ vi xử lý Khoa Kỹ thuật Điện – Điện tử CHƢƠNG 1 : MÔ TẢ TỔNG QUÁT MỘT HỆ VI XỬ LÝ. ( 6 TIẾT) Trình bày sơ lƣợc về lịch sử ra đời của hệ vi xử lý – vi điều khiển, biểu diễn sơ đồ khối tổng quát của một hệ thống điều khiển gồm các cấu trúc xử lý trung tâm CPU, bộ nhớ RAM/ROM, cổng vào /ra (IN/OUT), các đƣờng BUS dữ liệu, địa chỉ. Nội dung chính chƣơng 1 gồm các mục sau: 1.1. Giới thiệu bộ vi xử lý tổng quát 1.2. Sơ đồ khối của một hệ vi xử lý 1.3. Tổng quát về các vi mạch xuất nhập song song vă nối tiếp lập trình đƣợc 1.4. Hoạt động xuất nhập sử dụng các lệnh xuất nhập 1.5. Hoạt động xuất nhập sử dụng ngắt 1.6. Từ bộ vi xử lý đến bộ vi điều khiển 1.7. Sơ đồ khối tổng quát của bộ vi điều khiển Chủ biên: Nguyễn Đức Lợi Trang 9
  10. Chƣơng 1: Mô tả tổng quát một hệ vi xử lý Khoa Kỹ thuật Điện – Điện tử 1.1 Giới thiệu bộ vi xử lý tổng quát 1.1.1 Các khái niệm Vi xử lý - microprocessor (viết tắt là µP hay uP), đôi khi còn đƣợc gọi là bộ vi xử lý, là một linh kiện điện tử đƣợc chế tạo từ các tranzito thu nhỏ tích hợp lên trên một vi mạch tích hợp đơn. Khối xử lý trung tâm (CPU) là một bộ vi xử lý đƣợc nhiều nguời biết đến, ngoài ra nhiều thành phần khác trong máy tính cũng có bộ vi xử lý riêng của nó, ví dụ trên card màn hình (video card) chúng ta cũng có một bộ vi xử lý. Truớc khi xuất hiện các bộ vi xử lý, các CPU đƣợc xây dựng từ các mạch tích hợp cỡ nhỏ riêng biệt, mỗi mạch tích hợp chỉ chứa khoảng vào chục tranzito. Do dó, một CPU có thể là một bảng mạch gồm hàng ngàn hay hàng triệu vi mạch tích hợp. Ngày nay, công nghệ tích hợp đã phát triển, một CPU có thể tích hợp lên một hoặc vài vi mạch tích hợp cỡ lớn, mỗi vi mạch tích hợp cỡ lớn chứa hàng ngàn hoặc hàng triệu tranzito. Nhờ đó công suất tiêu thụ và giá thành của bộ vi xử lý đã giảm đáng kể. 1.1.2 Lịch sử phát triển Một hệ vi xử lý đƣợc gọi là một hệ thống bao gồm:  Ðơn vị nhập xuất: Ðƣợc sử dụng để nhập và xuất số liệu, dữ liệu.  Ðơn vị xử lý: Xử lý các dữ liệu nhập vào, sau đó xuất ra các thiết bị.  Bộ nhớ: Luu trữ thông tin, dữ liệu trong quá trình xử lý Tất cả các thiết bị có các chức năng nhƣ vậy đều có thể đƣợc gọi là một hệ vi xử lý. Máy vi tính là một hệ thống vi xử lý. Một thành phần quan trọng trong hệ thống máy vi tính, đó là bộ vi xử lý. Trên thực tế, có rất nhiều hãng chế tạo bộ vi xử lý cho các máy vi tính nhƣ: IBM, Intel, Cyrix, AMD, Motorola.... Nhƣng thông dụng nhất vẫn là bộ vi xử lý của Intel. Các bộ vi xử lý của Intel đƣợc phát triển qua các thời kỳ nhƣ sau:  Thế hệ 1 (1971 - 1973): vi xử lý 4 bit, đại diện là 4004, 4040, 8080 (Intel) hay IPM-16 (National Semiconductor). + Ðộ dài word thuờng là 4 bit (có thể lớn hơn). + Tốc độ 10 - 60 µs / lệnh, với tần số xung nhịp 0.1 - 0.8 MHz. + Tập lệnh don giản và phải cần nhiều vi mạch phụ trợ.  Thế hệ 2 (1974 - 1977): vi xử lý 8 bit, đại diện là 8080, 8085 (Intel) hay Z80. Chủ biên: Nguyễn Đức Lợi Trang 10
  11. Chƣơng 1: Mô tả tổng quát một hệ vi xử lý Khoa Kỹ thuật Điện – Điện tử + Tập lệnh phong phú hơn. + Ðịa chỉ có thể đến 64 KB. + Một số bộ vi xử lý có thể phân biệt 256 địa chỉ cho thiết bị ngoại vi. + Sử dụng công nghệ NMOS hay CMOS. + Tốc độ 1 - 8 µs / lệnh, với tần số xung nhịp 1 - 5 MHz  Thế hệ 3 (1978 - 1982): vi xử lý 16 bit, đại diện là 68000/68010 (Motorola) hay 8086/ 80286/ 80386 (Intel) + Tập lệnh đa dạng với các lệnh nhân, chia và xử lý chuỗi. + Ðịa chỉ bộ nhớ có thể từ 1 - 16 MB và có thể phân biệt tới 64KB địa chỉ cho ngoại vi + Sử dụng công nghệ HMOS. + Tốc độ 0.1 - 1 µs / lệnh, với tần số xung nhịp 5 - 10 MHz.  Thế hệ 4 (1985 - 1989): Vi xử lý 32 bit 68020/68030/68040/68060 (Motorola) hay 80386/ 80486 (Intel) và vi xử lý 32 bit Pentium (Intel) + Bus địa chỉ 32 bit, phân biệt 4 GB bộ nhớ. + Có thể dùng thêm các bộ đồng xử lý (coprocessor). + Có khả năng làm việc với bộ nhớ ảo. + Có các cơ chế pipeline, bộ nhớ cache. + Sử dụng công nghệ HCMOS.  Thế hệ 5: vi xử lý 64 bit Năm 1993, bộ vi xử lý Pentium ra đời với 64 bit dữ liệu, tốc độ xử lý 100MHz. Sau đó là các bộ vi xử lý Pentium Pro, Pentium II, Pentium III, Celeron, Pentium 4,.. hiện nay là các bộ vi xử lý đa lõi (Multi Core ) Một bộ xử lý đa lõi chỉ đơn giản là một con chip duy nhất có chứa nhiều hơn một lõi vi xử lý. Điều này có hiệu quả sẽ nhân tiềm năng hiệu suất của bộ vi xử lý bằng của số nhân (miễn là hệ điều hành và phần mềm đƣợc thiết kế để tận dụng lợi thế của nhiều hơn một lõi xử lý). Một số thành phần, chẳng hạn nhƣ giao diện bus và bộ nhớ cache, có thể đƣợc chia sẻ giữa hai lõi. Vì các lõi có thể chất rất gần gũi với nhau, họ có thể giao tiếp với nhau nhanh hơn rất nhiều so với bộ vi xử lý riêng biệt trong một hệ thống đa, giúp cải thiện hiệu năng hệ thống tổng thể. Năm 2005, bộ vi xử lý máy tính cá nhân đầu tiên lõi kép đã đƣợc công bố. Năm 2012, bộ vi xử lý dual-core và quad-core đƣợc sử dụng rộng rãi trong máy tính gia đình và máy tính xách tay Chủ biên: Nguyễn Đức Lợi Trang 11
  12. Chƣơng 1: Mô tả tổng quát một hệ vi xử lý Khoa Kỹ thuật Điện – Điện tử trong khi bốn, sáu, tám, mƣời, mƣời hai và bộ vi xử lý mƣời sáu lõi là phổ biến trong thị trƣờng chuyên nghiệp và doanh nghiệp với các máy trạm và máy chủ. Hình 1-1 Sơ đồ biều diễn lịch sử phát triển vi xử lý 1.1.3 Ứng dụng Hàng ngàn mặt hàng truyền thống liên quan đến ứng dụng của bộ vi xử lý, chúng bao gồm các thiết bị lớn, nhỏ trong hộ gia đình, xe ô tô (và các thiết bị phụ kiện ), chìa khóa xe, công cụ và dụng cụ kiểm tra, đồ chơi, thiết bị chuyển mạch ánh sáng, điều chỉnh độ sáng và bộ phận ngắt mạch điện, thiết bị báo khói, các thành phần âm thanh hi-fi , hình ảnh (từ đầu máy DVD). Các sản phẩm nhƣ điện thoại di động, hệ thống video DVD và các hệ thống phát sóng truyền hình HDTV. Tiêu chuẩn kiểm soát ô nhiễm ngày càng nghiêm ngặt đòi hỏi các nhà sản xuất ô tô sử dụng hệ thống quản lý động cơ vi xử lý, cho phép kiểm soát tối ƣu lƣợng khí thải hơn trong điều kiện hoạt động của xe ô tô rất khác nhau. Ví dụ, một hệ thống điều khiển động cơ trong một chiếc ô tô có thể điều chỉnh thời điểm đánh lửa dựa trên tốc độ động cơ, tải trọng trên động cơ, nhiệt độ môi trƣờng xung quanh, cho phép xe ô tô hoạt động trên một phạm vi của lớp nhiên liệu. Chủ biên: Nguyễn Đức Lợi Trang 12
  13. Chƣơng 1: Mô tả tổng quát một hệ vi xử lý Khoa Kỹ thuật Điện – Điện tử 1.2 Sơ đồ khối của một hệ vi xử lý Một máy tính cổ điển đƣợc xây dựng từ các khối sau: Hình 1-2 Sơ đồ khối của một máy tính cổ điển ALU (Đơn vị logic số học): thực hiện các phép toán cho máy tính bao gồm: cộng, trừ , nhân, chia, phép toán logic, … Control (điều khiển): điều khiển, kiểm soát các đuờng dữ liệu giữa các thành phần của máy tính. Memory (bộ nhớ): lƣu trữ chƣơng trình hay các kết quả trung gian. Input / Output (nhập / xuất): xuất nhập dữ liệu (còn gọi là thiết bị ngoại vi). Một vi xử lý về cơ bản kiến trúc gồm những phần cứng sau:  Ðơn vị xử lý trung tâm CPU (Central Processing Unit).  Các bộ nhớ (Memories).  Các cổng vào/ra (song song (Parallel I/O Ports), nối tiếp (Serial I/O Ports))  Các bộ đếm/bộ định thời (Timers).  Hệ thống BUS (Ðịa chỉ, dữ liệu, điều khiển) Ngoài ra với mỗi loại vi điều khiển có thể có thêm một số phần cứng khác nhƣ bộ biến đổi tƣơng tự-số ADC, bộ biến đổi số-tƣơng tự DAC, các mạch điều chế dạng sóng WG, điều chế độ rộng xung PWM… Bộ não của mỗi vi xử lý chính là CPU, các phần cứng khác chỉ là các cơ quan chấp hành duới quyền của CPU. Mỗi cơ quan này đều có một cơ chế hoạt động nhất định mà CPU phải tuân theo khi giao tiếp với chúng. Chủ biên: Nguyễn Đức Lợi Trang 13
  14. Chƣơng 1: Mô tả tổng quát một hệ vi xử lý Khoa Kỹ thuật Điện – Điện tử Hình 1-3 Sơ đồ khối của bộ vi xử lý Ðể có thể giao tiếp và điều khiển các cơ quan chấp hành (các ngoại vi), CPU sử dụng 3 loại tín hiệu cơ bản là tín hiệu địa chỉ (Address), tín hiệu dữ liệu (Data) và tín hiệu điều khiển (Control). Về mặt vật lý thì các tín hiệu này là các đuờng nhỏ dẫn diện nối từ CPU đến các ngoại vi hoặc thậm chí là giữa các ngoại vi với nhau. Tập hợp các đuờng tín hiệu có cùng chức năng gọi là các BUS. Nhƣ vậy ta có các bus địa chỉ, bus dữ liệu và bus điều khiển. 1.2.1 Khối xử lý trung tâm (CPU) CPU (central processing unit) có cấu tạo gồm có đơn vị xử lý số học và lôgic (ALU), các thanh ghi, các khối lôgic và các mạch giao tiếp. Chức năng của CPU là tiến hành các thao tác tính toán xử lý, đƣa ra các tín hiệu địa chỉ, dữ liệu và điều khiển nhằm thực hiện một nhiệm vụ nào đó do nguời lập trình đƣa ra thông qua các lệnh (Instructions). 1.2.2 Hệ thống bus  Bus địa chỉ - Address bus Chủ biên: Nguyễn Đức Lợi Trang 14
  15. Chƣơng 1: Mô tả tổng quát một hệ vi xử lý Khoa Kỹ thuật Điện – Điện tử Là các đuờng tín hiệu song song 1 chiều nối từ CPU đến bộ nhớ . Ðộ rộng bus: là số các duờng tín hiệu, có thể là 8, 18, 20, 24, 32 hay 64. CPU gửi giá trị địa chỉ của ô nhớ cần truy nhập (đọc/ghi) trên các đuờng tín hiệu này. Nếu CPU có n đuờng địa chỉ sẽ có thể địa chỉ hoá đƣợc 2n ô nhớ. Ví dụ: 1 CPU có 16 đuờng địa chỉ có thể địa chỉ hoá đƣợc 216 = 65.536 (64K) ô nhớ.  Bus dữ liệu - Data bus Ðộ rộng Bus: 4, 8, 16, 32 hay 64 bits là các đƣờng tín hiệu song song 2 chiều, nhiều thiết bị khác nhau có thể đƣợc nối với bus dữ liệu; nhƣng tại một thời điểm chỉ có 1 thiết bị duy nhất có thể đƣợc phép đƣa dữ liệu lên bus dữ liệu. Bất kỳ thiết bị nào đƣợc kết nối đến bus dữ liệu phải có đầu ra ở dạng 3 trạng thái, sao cho nó có thể ở trạng thái treo (trở kháng cao) nếu không đƣợc sử dụng.  Bus điều khiển - Control bus Bao gồm 4 đến 10 đuờng tín hiệu song song. CPU gửi tín hiệu ra bus điều khiển để cho phép các đầu ra của ô nhớ hay các cổng I/O đã đƣợc địa chỉ hoá. Các tín hiệu điều khiển thuờng là: đọc/ ghi bộ nhớ - memory read, memory write, đọc/ ghi cổng vào/ra - I/O read, I/O write. Ví dụ: Đọc 1 byte dữ liệu từ ô nhớ sẽ cần đến các hoạt động sau:  CPU xác định địa chỉ của ô nhớ cần đọc lên bus địa chỉ.  CPU đƣa ra tín hiệu đọc bộ nhớ - Memory Read trên bus điều khiển.  Tín hiệu điều khiển này sẽ cho phép thiết bị nhớ đã đƣợc địa chỉ hoá đƣa byte dữ liệu lên bus dữ liệu. Byte dữ liệu từ ô nhớ sẽ đƣợc truyền tải qua bus dữ liệu dến CPU. 1.3 Tổng quát về các vi mạch xuất nhập song song/ nối tiếp Nhƣ đã biết, trong các hệ thống truyền dữ liệu có hai cách đƣa tín hiệu lên đƣờng truyền: nối tiếp và song song. Cách truyền song song thuờng đƣợc truyền trên một khoảng cách ngắn, ví dụ giữa các thiết bị trong cùng một phòng nhƣ từ máy tính sang máy in. Cách truyền nối tiếp thuờng duợc thực hiện khi khoảng cách truyền khá xa. Ngoài ra, trong cách truyền nối tiếp, dựa vào cách thực hiện sự đồng bộ giữa nơi phát và thu ta có hai chế độ hoạt động: đồng bộ và bất đồng bộ. Trong chế độ bất dồng bộ, xung đồng hồ đƣợc tạo ra một cách riêng rẽ ở máy phát và máy thu dựa vào tần số danh định tƣơng ứng với vận tốc truyền (bit rate hoặc baud rate). Trong chế độ đồng bộ, nơi phát có thể gửi xung đồng hồ tới nơi thu theo một kênh truyền song Chủ biên: Nguyễn Đức Lợi Trang 15
  16. Chƣơng 1: Mô tả tổng quát một hệ vi xử lý Khoa Kỹ thuật Điện – Điện tử song với kênh truyền dữ liệu hoặc nơi thu tự tạo ra xung đồng hồ bằng cách tách tín hiệu thời gian từ dòng dữ liệu. Chúng ta sẽ khảo sát vài IC thực hiện chức năng biến đổi song song  nối tiếp trong các thiết bị thu phát Truớc đây việc thu phát bất đồng bộ đƣợc thiết kế dựa trên các IC loại SSI và MSI. Ví dụ, để tạo và kiểm tra chẵn lẻ, nguời ta có thể dùng các cổng EX-OR . Hiện nay sự phát triển của công nghệ chế tạo IC cho phép sử dụng các vi mạch LSI để thực hiện các chức năng thu phát thỏa mãn giao thức truyền bất đồng bộ. Duới đây giới thiệu vài IC thu phát bất đồng bộ (Universal Asynchronous Receiver,Transmitter, UART) hoặc IC điều hợp giao tiếp thông tin bất đồng bộ (Asynchronous Communication Interface Adapter, ACIA), đó là các IC:- UART 6402 của Intersil - ACIA 6850 của Motorola - USART 8251A của Intel  IC 74HC595 có thể sử dụng giao tiếp với vi điêu khiển vào nối tiếp ra song song -Kết nối mạch + Đầu vào: Cần 3 chân vào điều khiển SCK, RCK, CLR; 01 chân vào dữ liệu SDI. 04 chân này nối với vi điều khiển. + Đầu ra: xuất ra 8 bít – ví dụ 8 chân Out nối đến 8 Led. Hình 1-4 Sơ đồ chân và sơ đồ kết nối vi điều khiển của IC 74HC595 Chủ biên: Nguyễn Đức Lợi Trang 16
  17. Chƣơng 1: Mô tả tổng quát một hệ vi xử lý Khoa Kỹ thuật Điện – Điện tử - Hoạt động: 1. Áp 1 bit dữ liệu đầu tiên vào chân SDI 2. Tạo 1 cạnh xung lên tại chân SCK để dịch bit này vào chốt của IC595 3. Lại áp bit dữ liệu kế tiếp vào SDI, lại tạo xung lên tại SCK. Lặp lại 8 lần để dịch hết 8 bít dữ liệu vào chốt IC595 ... 4. Cuối cùng tạo 1 cạnh xung lên tại chân RCK để xuất dữ liệu ra 8 chân Out. Để hiểu rõ hơn về hoạt động của IC 74HC595 ta cần xem qua bảng chức năng sơ đồ chân Bảng 1.1: Chức năng các chân IC 74HC595 Ví dụ : Để truyền dữ liệu 8 bit nhị phân 10001101 (0x8E) từ khối chủ (master ) đến khối tớ (Slave) đồng thời khối tớ cũng muốn chuyển dữ liệu nhị phân 8 bit 00110010 (0x32) đến khối chủ, bằng cách nối chân CS (chip select) xuống GND Chủ biên: Nguyễn Đức Lợi Trang 17
  18. Chƣơng 1: Mô tả tổng quát một hệ vi xử lý Khoa Kỹ thuật Điện – Điện tử Hình 1-5 Sơ đồ biểu diễn hoạt động truyền bit của 74HC595 1.4 Hoạt động xuất nhập 1.4.1 Thiết bị ngoại vi có địa chỉ tách rời với bộ nhớ Trong cách giao tiếp này, bộ nhớ dùng toàn bộ không gian nhớ. Các thiết bị ngoại vi sẽ có một không gian nhỏ hơn cho mỗi loại cổng. Trong kiểu giao tiếp này, ta phải dùng tín hiệu IO/M và các lệnh trao đổi dữ liệu thích hợp. Bộ nhớ: IO/M = 0, dùng lệnh MOV Ngoại vi: IO/M = 1, dùng lệnh IN (nhập) hay OUT (xuất) 1.4.2 Thiết bị ngoại vi và bộ nhớ có chung không gian địa chỉ Trong kiểu giao tiếp này, thiết bị ngoại vi sẽ chiếm một vùng nào đó trong không gian bộ nhớ và ta chỉ dùng lệnh MOV để thực hiện trao đổi dữ liệu 1.4.3 Giải mã địa chỉ cho thiết bị I / O Việc giải mã địa chỉ cho thiết bị ngoại vi cũng tƣơng tự với việc giải mã địa chỉ cho bộ nhớ. Thông thuờng, các cổng có địa chỉ 8 bit A0 – A7. Tuy nhiên, trong một số hệ vi xử lý, các cổng sẽ có địa chỉ 16 bit. Ta có thể dùng mạch NAND để tạo tín hiệu chọn cổng nhƣng mạch này Chủ biên: Nguyễn Đức Lợi Trang 18
  19. Chƣơng 1: Mô tả tổng quát một hệ vi xử lý Khoa Kỹ thuật Điện – Điện tử chỉ có thể giải mã cho 1 cổng. Trong truờng hợp cần nhiều tín hiệu chọn cổng, ta có thể dùng bộ giải mã 74LS138 dể giải mã cho 8 cổng khác nhau. Hình 1-6 Giải mã cho cổng ngỏ vào dùng 74LS138 Hình 1-7 Mạch giải mã cổng ngỏ ra dùng 74LS138 1.5 Hoạt động xuất nhập sử dụng ngắt Một chƣơng trình chính không có ngắt thì chạy liên tục, còn chƣơng trình có ngắt thì cứ khi nào điều kiện ngắt đƣợc đảm bào, thì con trỏ sẽ nhảy sang hàm ngắt, thực hiện xong hàm ngắt lại quay về đúng chỗ cũ và thực hiện tiếp chƣơng trình. ví dụ : Bạn đang ngồi đọc sách, bỗng nhiên có tiếng điện thoại reng, bạn ngƣng đọc sách để ra nghe điện thoại , nghe xong lại quay về đọc sách tiếp. Thì quá trình đọc sách của bạn là chƣơng trình chính,có điện thoại gọi đến là điều kiện ngắt, bạn ra nghe diện thoại là thực hiện chƣơng trình ngắt (Interrupt Service Rountine),quay về đọc sách tiếp là tiếp tục thực hiện chƣơng trình chính. Có nhiều loại ngắt khác nhau nhƣng tất cả đều có chung 1 đặc điểm, ngắt dùng cho mục đích đa nhiệm. Các bạn nhìn vào tiến trình của hàm main với chƣơng trình có ngắt : Chủ biên: Nguyễn Đức Lợi Trang 19
  20. Chƣơng 1: Mô tả tổng quát một hệ vi xử lý Khoa Kỹ thuật Điện – Điện tử Hình 1-8 Chƣơng trình ngắt theo thời gian Chƣơng trình chính đang chạy, ngắt xảy ra, thực hiện hàm ngắt rồi quay lại chƣơng trình chính. Chƣơng trình trong vi điều khiển khác với ví dụ đọc sách nghe điện thoại ở trên là thời gian thực hiện hàm chính là rất lớn, thời gian thực hiện hàm ngắt là rất nhỏ, cho nên thời gian thực thi hàm ngắt không ảnh huởng nhiều lắm đến chức năng hàm chính. Nhƣ vậy trong hàm ngắt chúng ta làm 1 việc, trong hàm chính chúng ta làm 1 việc, nhƣ vậy coi nhƣ chúng ta làm đƣợc 2 việc (đa nhiệm) trong 1 khoảng thời gian tƣơng đối ngắn cở mS, thực ra thì tại 1 thời điểm vi điều khiển chỉ thực thi 1 lệnh. Ví dụ : Bạn thử nghĩ xem làm thế nào để vừa điều chế xung PWM để điều chỉnh tốc độ động cơ, vừa đọc các cảm biến đầu vào mà tốc độ động cơ phụ thuộc đầu vào cảm biến. 1.6 Từ bộ vi xử lý đến bộ vi điều khiển Bộ vi xử lý (microprocessor) và bộ vi điều khiển (microcontroller) là hai khái niệm không khác nhau nhiều, ―vi xử lý‖ là thuật ngữ chung dùng để đề cập đến kỹ thuật ứng dụng các công nghệ vi điện tử, công nghệ tích hợp và khả năng xử lý theo chƣơng trình vào các lĩnh vực khác nhau. Vào những giai đoạn đầu trong quá trình phát triển của công nghệ vi xử lý, các chip (hay các vi xử lý) đƣợc chế tạo chỉ tích hợp những phần cứng thiết yếu nhƣ CPU cùng các mạch giao tiếp giữa CPU và các phần cứng khác. Trong giai đoạn này, các phần cứng khác (kể cả bộ nhớ) thuờng không đƣợc tích hợp trên chip mà phải ghép nối thêm bên ngoài. Các phần cứng này đƣợc gọi là các ngoại vi (Peripherals). Về sau, nhờ sự phát triển vuợt bậc của công nghệ tích Chủ biên: Nguyễn Đức Lợi Trang 20
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2