Đại Học Quốc Gia TP.HCM Trường Đại Học Bách Khoa Khoa KH&KT Máy tính Vietnam National University HCMC Ho Chi Minh City University of Technology Faculty ofcomputer Science and Engineering Đề cương môn học HÊ THÔ NG NHU NG (EMBEDDED SYSTEM) Số tín chỉ 3 (2.2.5) MSMH CO3053 Số tiết Tổng: 60 LT: 30 TH: TN: 30 BTL/TL: Môn ĐA, TT, LV Tỉ lệ BT: TN: 30% KT: 20% BTL/TL: Thi: 50% Hình thức - Thí nghiệm: hàng tuần và bài tâ p lơ n - Kiểm tra: trắc nghiệm và tự luâ n, 60 phút - Thi: trắc nghiệm vàtự luâ n, 90 phút Môn tiên quyết Không Môn học trước - Vi xư ly Vi điê u khiê n CO3009 Môn song hành CTĐT ngành Trình độ đào tạo Cấp độ môn học 3 Ghi chú khác Không 1. Mục tiêu của môn học Kỹ thuật Máy tính; Khoa học máy tính Đại học Mục tiêu của môn học là cung cấp cho sinh viên: Tri thức vê quy trình thiết kế phâ n mê m hệ thống nhúng Các mô hình lập trình round robin, timing-driven, event-driven Các phương pháp biê u diê n thiết kế như flowchart, máy trạng thái Tri thức vê hệ điê u hành thời gian thực, các tiến trình và phương pháp đô ng bộ, giao tiếp giư a các tiến trình Kha năng thiết kế, hiện thực, kiê m tra tính đúng đắn một gia i pháp phâ n mê m với như ng ràng buộc thực tế Aims: The aims of this course is to provide students Knowledge of software development process for embedded system Programming models such as round robin, timing-driven, event-driven Methods to present design such as flowchart, state diagram Knowledge of real-time operating system, process, process synchronization and communication Ability to design, implement, and test the correctness of an solution satisfying realistic constraint 1/5
2. Nội dung tóm tắt môn học Môn học tiếp cận theo hướng tư dưới lên. Sinh viên tư ng bước đươ c giới thiệu, thực hành các khái niệm cơ ba n như ADC, PWM, ngắt qua ng, hệ điê u hành, semarphore, ca m biến, điê u khiê n Sau đo, sinh viên đươ c giới thiệu các phương pháp tiếp cận đê đưa ra thiết kế đáp ứng các yêu câ u, ràng buộc đâ u vào; các phương pháp thê hiện thiết kế như flowchart, máy trạng thái Cuối cu ng, sinh viên vận dụng các kiến thức và kỹ năng học đươ c qua lớp ly thuyết và thực hành đê tự hoàn chỉnh một hệ thống tương tác với thế giới thực tư bước phân tích, thiết kế, hiện thực, đến kiê m tra. Course outline: This course follows bottom-up approarch. Firstly, students are introduced, practices basis knowledge such as ADC, PWM, interrupt, operating system, semarphore, sensor, actuators, etc. Then, students are introduces approarches to propose a design satisfying input requirements; design presentation methods such as flowchart, state machines, etc. Finally, students apply knowledge, skills learned in class and lab. to implement an system interact with real work from design, implement, to test correctness. 3. Tài liệu học tập Sách, Giáo trình chính: Introduction to embedded systems A cyber physical systems approach, Edward A. Lee, Sanjit A. Seshia, 2014, http://leeseshia.org An embedded software primer, David E. Simon, 1999, Pearson Education Inc. Embedded System Design: Embedded Systems Foundations of Cyber-Physical Systems, Peter Marwedel, 2010, Springer Sách tham kha o: Embedded C coding standard, Micheal Barr, 2008, CreateSpace Independent Pulishing Platform Better embedded system software, Philip Koopman, 2010, Drumnadrochit Education LLC C primer plus, Stephen Prata, Sixth edition, 2013, Addison-Wesley Professional "Real-Time Systems and Software", Alan C. Shaw, 2001, John Wiley and Sons Inc., ISBN 0-471-35490-2 C Programming Language, Brian W. Kernighan, Dennis M. Ritchie, Second edition, 1988, Prentice Hall. 4. Hiểu biết,kỹ năng, thái độcần đạt được sau khi học môn học STT Chuẩn đầu ra môn học CDIO L.O.1 Tri thức vê quy trình phát triê n phâ n mê m nhúng L.O.2 L.O.3 L.O.4 Kha năng thê hiện thiết kế phâ n mê m bằng flowchart, máy trạng thái Kha năng thiết kế, hiện thực, và kiê m tra tính đúng đắn của chương trình theo mô hình round-robin, timing-driven, event-driven Kha năng thiết kế và hiện thực phâ n mê m trên hệ điê u hành thời gian thực, đô ng bộ giư a các tiến trình 2/5
STT Course learning outcomes CDIO L.O.1 Knowledge about embedded software development process L.O.2 L.O.3 L.O.4 Ability to represent software design idea in form if flowchart, state machine Ability to design, implement, and test correctness of a program following round-robin, timing-driven, event-driven models Ability to design, and implement program based on a real-time operating system and processes synchronization 5. Hướng dẫn cách học - chi tiết cách môn học Hướng dẫn cách học: Sinh viên tham gia các buổi học ly thuyết, làm bài tập tại lớp và tại nhà. Sinh viên câ n thực hiện tất ca các bài thực hành. Ngoài ra, sinh viên đươ c phân vào các nho m thực hiện một bài tập lớn, thiết kế một ứng dụng theo các yêu câ u cụ thê. Chi tiết cách môn học: Bài tập: 0% Thí nghiệm: 30% Kiê m tra: 20% Bài tập lớn/ Tiê u luận: 0% Thi: 50% 6. Dự kiến danh sách Cán bộ tham gia giảng dạy TS. Phạm Hoàng Anh Th.S Bu i Văn Hiếu 7. Nội dung chi tiết Nội dung phần lý thuyết Tuần Nội dung Chuẩn đầu ra chi tiết Hoạt động 1 Giới thiệu: L.0.1 - Tạo kết nối giư a giáo viên và sinh viên - Giới thiệu nội dung môn học và phương pháp học, - Giới thiệu lịch sư và một số xu hướng mới của lĩnh vực hệ thống nhúng 2 Quy trình phát triê n ứng dụng nhúng - Quy trình thiết kế, hiện thực, kiê m tra - Module ho a phâ n mê m - Chất lươ ng chương trình và tiêu chuẩn 3 Ôn tập và ứng dụng ngoại vi cơ ba n - ADC - PWM - SPI - I2C - Ngắt qua ng L.0.1 Câu hỏi ôn tập Câu hỏi ôn tập 3/5
Tuần Nội dung Chuẩn đầu ra chi tiết Hoạt động 4,5 Các mô hình lập trình round robin, timing-driven, event-driven và ứng dụng 6 Các phương pháp gỡ lỗi - Sư dụng LED - Sư dụng chức năng printf - Sư dụng công cụ mô phỏng - Sư dụng công cụ emulator 7 Phong cách lập trình - Vấn đê tho i quen lập trình và các lỗi tiê m ẩn 8,9,1 0,11 - Một số quy tắc thông dụng và lơ i ích Giới thiệu hệ điê u hành thời gian thực - Tiến trình - Định thời tiến trình - Độ ưu tiên - Đô ng bộ tiến trình 12 Flowchart và ứng dụng L.0.2 13 Máy trạng thái và ứng dụng L.0.2 14 Đô ng bộ phâ n cứng/phâ n mê m, đô ng bộ interrupt 15 Ôn tập Nội dung phần thí nghiệm Tuần Nội dung Chuẩn đầu ra chi tiết Hoạt động 1 Bài thực hành số 1 - Tạo project, biên dịch, nạp và chạy một số chương trình mẫu - Hiệu chỉnh, bổ sung chương trình thỏa ma n một số yêu câ u 2 Bài thực hành số 2 - Sư dụng các ngoại vi ADC, I2C, SPI giao tiếp đọc giá trị các ca m biến - Sư dụng ngoại vi PWM điê u khiê n 3 Bài thực hành số 3 - Xây dựng ứng dụng theo mô hình round-robin và timing-driven 4 Bài thực hành số 4 - Xây dựng ứng dụng theo mô hình event-driven 5 Bài thực hành số 5 - Sư dụng các phương pháp đê phát hiện lỗi trong chương trình 6 Bài thực hành số 6 - Khởi tạo hệ điê u hành, tiến trình và sư dụng các dịch vụ thời gian của hệ điê u hành 7 Bài thực hành số 7 - Định thời và độ ưu tiên của các tiến trình trong hệ điê u hành - Hiện thực các hàm, dịch vụ blocking và non-blocking 8 Bài thực hành số 8 - Đô ng bộ giư a các tiến trình sư dụng event, mutex, và semarphore 9 Bài thực hành số 9 - Giao tiếp giư a các tiến trình sư dụng biến toàn cục, mailbox, 4/5
Tuần Nội dung Chuẩn đầu ra chi tiết Hoạt động queue 10 Bài thực hành số 10 - Giao tiếp giư a các tiến trình và phâ n cứng, interrupt, 8. Thông tin liên hệ Bộ môn/khoa phụ trách Bộ Môn Kỹ thuật Máy tính Khoa KH&KT Máy tính Văn phòng Điện thoại Gia ng viên phụ trách Email Bu i Văn Hiếu bvhieu@cse.hcmut.du.vn 5/5