Xây Dựng Các Hệ Thống Nhúng
Total Page:16
File Type:pdf, Size:1020Kb
Xây dựng các Hệ thống nhúng HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Khoa Công nghệ thông Tin Bộ môn Khoa học máy Tính XÂY DỰNG CÁC HỆ THỐNG NHÚNG PTIT Hà Nội, tháng 11 năm 2013 (bản sửa và bổ sung) 1 Xây dựng các Hệ thống nhúng Lời nói đầu Dạy và học hệ thống nhúng là đề cập tới một chủ đề có phạm vi rộng bao gồm thiết kế, môi trường ứng dụng, loại hình công nghệ, qui tắc cần thiết để tiếp cận một cách có hệ thống. Lĩnh vực thiết kế và ứng dụng các hệ thống nhúng bao gồm : các hệ thống vi điều khiển (micro- controller) nhỏ và đơn giản, các hệ thống điều khiển, hệ thống nhúng phân tán, hệ thống trên chip, mạng máy tính (có dây và không dây), các hệ thống PC nhúng, các hệ thống ràng buộc thời gian, robotic, các thiết bị ngoài của máy tính, xử lý tín hiệu, hệ thống lệnh và điều khiển… Nền tảng công nghệ hiện đại là kỹ thuật vi điện tử với mật độ tích hợp lớn và rất lớn. Khi muốn thiết kế hệ thống nhúng, có nhiều yếu tố cần tuân thủ giống như khi thiết kế máy tính, nhưng lại bị ràng buộc bởi đặc thù ứng dụng. Thêm vào đó là sự đan chéo của các kỹ năng rất cần thiết cho thiết kế hệ thống nhúng, độc lập vận hành, thiết kế với tiêu chí tiêu hao năng lượng thấp, công nghệ phần cứng, công nghệ phần mềm (hệ thống và ứng dụng), hệ thời gian thực, tương tác người máy và đôi khi cả vấn đề an ninh hệ thống. Như vậy đào tạo và học hệ thống nhúng cần một khối lượng kiến thức tập hợp ít nhất từ các bộ môn khác như khoa học máy tính (computer science), khoa học truyền thông (communication), kỹ thuật thiết kế điện tử: các mạch tương tự và số, sử dụng tốt các phần mềm thiết kế bo mạch (như Protel, Proteus, DXP…), kiến thức về chế tạo bán dẫn. Vì là bộ môn công nghệ có tính ứng dụng cao với bài toán cụ thể, nên lại cần có chuyên môn của ngành nghề, mà ở đó hệ thống nhúng sẽ ứng dụng. Tóm lại đây là một chủ đề hợp nhất và việc thực hiện chủ đề này thực không dễ dàng. Với lượng thời gian nhất định, môn học XÂY DỰNG CÁC HỆ THỐNG NHÚNG sẽ mang lại cho người học những vấn đề cơ bản nhất về hệ thống nhúng ở Chương 1. Chương 2 đề cập tới kiến trúc phần cứng hệ thống, cách thiết kế một số khối chức năng cơ sở có tính thực tế cao. Chương 3 chủ yếu giới thiệu về phần mềm cài đặt trên hệ thống nhúng, bao gồm các trình điều khiển thiết bị, các phần mềm trungPTIT gian, và phần mềm hệ thống được cài đặt . Đặc biệt nhắc lại một số yêu cầu về khái niệm của các hệ thống thời gian thực và hệ điều hành thời gian thực. Chương 4 giới thiệu các tiêu chí và phương pháp thiết kế hệ thông nhúng. Cuối chương là một số các bài tập lớn kiểu Dự án thiết kế, có thể lựa chọn cho thực hành với các kiểu kiến trúc hệ thống nhúng khác nhau. Như đã nêu, đây là chủ đề rộng, mang tính kỹ thuật và kiến thức lại được tổng hợp từ các môn khác, nên tài liệu này chắc không thể thật sự đầy đủ. Các phần kiến thức nào không được đề cập sâu ở đây, người học cần tham khảo thêm các tài liệu khác, hay từ các môn học liên quan. Tác giả xin chân thành cám ơn các cán bộ, giảng viên Khoa Công nghệ thông tin và bộ môn Khoa học máy tính, Học viện Công nghệ BCVT Hà Nội đã góp ý để tác giả hoàn thành giáo trình. Tác giả cũng xin đón nhận các ý kiến đóng góp, phê bình từ người đọc, người học, sao cho tài liệu này có ích hơn. Địa chỉ theo e-mail: [email protected]. 2 Xây dựng các Hệ thống nhúng Hà Nội, tháng 10 năm 2013 Huỳnh Thúc Cước, Viện Công nghệ thông tin, VAST, 18, Hoàng Quốc Việt, Hà Nội. PTIT 3 Xây dựng các Hệ thống nhúng Lời nói đầu ..................................................................................................................................................... 2 Một số chữ viết tắt .......................................................................................................................................... 7 Danh sách các hình vẽ .................................................................................................................................... 9 Chương 1. GIỚI THIỆU CHUNG VỀ CÁC HỆ THỐNG NHÚNG ........................................................... 15 1.1 KHÁI NIỆM VỀ HỆ THỐNG NHÚNG (HTN) ................................................................. 15 1.2 ĐẶC ĐIỂM CỦA HTN ....................................................................................................... 15 1.3 CÁC YÊU CẦU VỚI HTN ............................................................................................... 18 1.4 MÔ HÌNH TỔNG THỂ HTN .............................................................................................. 19 1.4.1 Mô hình cấu trúc phần cứng của máy tính ........................................................................... 19 1.4.2 Kiến trúc của CPU ............................................................................................................... 23 1.4.3 Mô hình tổng quát của một HTN ......................................................................................... 25 1.4 PHÂN LOẠI HTN ............................................................................................................... 27 1.5 KẾT CHƯƠNG ................................................................................................................... 32 1.6 CÂU HỎI CUỐI CHƯƠNG ................................................................................................ 33 Chương 2. CÁC THÀNH PHẦN PHẦN CỨNG CỦA HỆ THỐNG NHÚNG .......................................... 34 2.1 BỘ XỬ LÍ TRUNG TÂM (Central Processing Unit-CPU)................................................. 34 2.2.1 Các loại CPU và nguyên lí hoạt động .................................................................................. 34 2.2.2 Ví dụ về một CPU và nguyên lí hoạt động .......................................................................... 35 2.2 CPU 8085 VÀ HỆ THỐNG BUS ........................................................................................ 44 2.2.1 Khái niệm và bản chất vPTITật lý của các BUS .......................................................................... 45 2.2.2 Khuyếch đại BUS (bus driver)............................................................................................. 47 2.2.3 Bus đồng bộ (Synchronous bus): ......................................................................................... 48 2.2.4 Bus không đồng bộ (Asynchronous bus) ............................................................................. 50 2.2.5 Trọng tài BUS (bus arbitration) .......................................................................................... 51 2.2.6 Bus mở rộng (Expansion bus) EISA, MCA, Bus cục bộ, PCI ............................................. 54 2.2.7 Bus SPI (Serial Peripheral Interface ) .................................................................................. 55 2.2.8 Bus I2C (Inter-Integrated Circuit) ....................................................................................... 56 2.2.9 Thực hiện kĩ thuật của BUS ................................................................................................. 62 2.3 BO MẠCH một HTN VỚI CẤU HÌNH TỐI THIỂU ......................................................... 66 2.4 HTN VỚI CÁC CPU KHÁC NHAU .................................................................................. 69 2.4.1 CPU đa năng 16 bit .............................................................................................................. 69 2.4.2 Bo mạch với CPU HARVARD (microcontroller Unit-MCU) họ Intel 8051/8052/8xC25173 4 Xây dựng các Hệ thống nhúng 2.4.3 Vi mạch Hệ thống khả trình trong một Chip (Programmable System on chip-PsoC) và Máy tính thông minh khả trình (Programmable Intelligent Computer-PIC) ...................... 84 2.5 BỘ NHỚ VÀ THIẾT KẾ BỘ NHỚ .................................................................................... 98 2.5.1 Một số thông số chính của mạch nhớ .................................................................................. 99 2.5.2 Phân loại bộ nhớ ................................................................................................................ 101 2.5.3 Phân cấp bộ nhớ ................................................................................................................. 108 2.5.4 Tổ chức bộ nhớ vật lý và thiết kế bộ nhớ .......................................................................... 110 2.6 GHÉP NỐI VỚI THIẾT BỊ NGOẠI VI ............................................................................ 121 2.6.1 Tổng quan .......................................................................................................................... 121 2.6.2 Ghép nối CPU chủ động .................................................................................................... 125 2.6.3 Ghép nối I/O chủ động ...................................................................................................... 130 2.6.4 Cổng vào/ra ........................................................................................................................ 144 2.6.5 Ghép nối với tín hiệu tương tự (analog signal) .................................................................. 150 2.6.6 Biến đổi tương tự thành số (số hóa) ................................................................................... 152 2.6.7 Biến đổi số thành tương tự (DAC)..................................................................................... 153 2.7 KẾT CHƯƠNG ................................................................................................................................ 153 2.8 CÂU HỎI VÀ BÀI TẬP ................................................................................................................