Thực hành hệ thống nhúng

Giúp sinh viên củng cố các kiến thức về thiết kế và lập trình cho hệ vi điều khiển (trên nền PIC) đồng thời tiếp cận với một môi trường thiết kế tích hợp chuyên nghiệp là phần mềm PIC C Compile và phần mềm mô phỏng Proteus. - Lập trình đọc 8 kênh dữ liệu ADC, hiển thị kết quả lên LCD - Giúp Sinh viên chuyển đổi tư duy từ kiến thức lý thuyết đến tiếp cận với kiến thức thực tế. - Giúp cho SV hiểu rõ được thực hành là một bộ phận công việc của người làm công tác khoa học kỹ thuật.

pdf49 trang | Chia sẻ: longpd | Lượt xem: 3251 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Thực hành hệ thống nhúng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP ---------- oOo ---------- TÀI LIỆU THỰC HÀNH HỌC PHẦN: THỰC HÀNH HỆ THỐNG NHÚNG BỘ MÔN: KỸ THUẬT MÁY TÍNH THÁI NGUYÊN, 2011 Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử 2 Biên soạn: ThS Nguyễn Tuấn Anh ThS Nguyễn Tuấn Linh ThS Nguyễn V ăn Huy TÀI LIỆU THỰC HÀNH HỌC PHẦN: THỰC HÀNH CHUYÊN NGÀNH ĐIỆN - ĐIỆN TỬ - SPKT MÃ SỐ HỌC PHẦN: SỐ TÍN CHỈ: Trưởng BM Kỹ thuật máy tính ThS. Nguyễn Tuấn Linh Trưởng khoa Điện tử TS. Nguyễn Duy Cương Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử 3 MỤC LỤC BÀI 1. CHUYỂN ĐỔI TÍN HIỆU TƯƠNG TỰ SANG SỐ ........................................... 5 Phần I. THỰC HÀNH ..................................................................................................... 6 1.1. Mục đích thực hành: ............................................................................................. 6 1.2. Cơ sở lý thuyết: .................................................................................................... 6 1.3. Thực hành: ........................................................................................................... 7 1.3.1. Nội quy an toàn thực hành: ........................................................................ 7 1.3.2. Nội dung bài thực hành: ............................................................................. 7 1.3.3. Phương pháp và cách thức thực hành: ........................................................ 7 1.4. Ghi chép số liệu, kết quả thực hành .................................................................... 10 1.5. Chuẩn bị của sinh viên: ...................................................................................... 10 Phần II. VIẾT BÁO CÁO THỰC HÀNH...................................................................... 10 Phần III. ĐÁNH GIÁ CHẤM ĐIỂM, BẢO VỆ THỰC HÀNH ..................................... 10 BÀI 2. ĐIỀU KHIỂN ĐỘNG CƠ DC SỬ DỤNG PWM .............................................. 11 Phần I. THỰC HÀNH ................................................................................................... 12 1.1. Mục đích thực hành: ........................................................................................... 12 1.2. Cơ sở lý thuyết: .................................................................................................. 12 1.3. Thực hành: ......................................................................................................... 13 1.3.1. Nội quy an toàn thực hành: ...................................................................... 13 1.3.2. Nội dung bài thực hành: ........................................................................... 13 1.3.3. Phương pháp và cách thức thực hành: ...................................................... 13 1.4. Ghi chép số liệu, kết quả thực hành .................................................................... 15 1.5. Chuẩn bị của sinh viên: ...................................................................................... 15 Phần II. VIẾT BÁO CÁO THỰC HÀNH...................................................................... 15 Phần III. ĐÁNH GIÁ CHẤM ĐIỂM, BẢO VỆ THỰC HÀNH ..................................... 16 BÀI 3. QUANG BÁO SỬ DỤNG LED MATRẬN 8X8 .............................................. 17 Phần I. THỰC HÀNH ................................................................................................... 18 1.1. Mục đích thực hành: ........................................................................................... 18 1.2. Cơ sở lý thuyết: .................................................................................................. 18 1.3. Thực hành: ......................................................................................................... 18 1.3.1. Nội quy an toàn thực hành: ...................................................................... 18 1.3.2. Nội dung bài thực hành: ........................................................................... 19 1.3.3. Phương pháp và cách thức thực hành: ...................................................... 19 1.4. Ghi chép số liệu, kết quả thực hành .................................................................... 21 1.5. Chuẩn bị của sinh viên: ...................................................................................... 21 Phần II. VIẾT BÁO CÁO THỰC HÀNH...................................................................... 21 Phần III. ĐÁNH GIÁ CHẤM ĐIỂM, BẢO VỆ THỰC HÀNH ..................................... 21 BÀI 4. XỬ LÝ NGẮT VÀ GIAO TIẾP BÀN PHÍM .................................................... 22 Phần I. THỰC HÀNH ................................................................................................... 23 1.1. Mục đích thực hành: ........................................................................................... 23 1.2. Cơ sở lý thuyết: .................................................................................................. 23 1.3. Thực hành: ......................................................................................................... 24 1.3.1. Nội quy an toàn thực hành: ...................................................................... 24 1.3.2. Nội dung bài thực hành: ........................................................................... 24 1.3.3. Phương pháp và cách thức thực hành: ...................................................... 24 1.4. Ghi chép số liệu, kết quả thực hành .................................................................... 26 1.5. Chuẩn bị của sinh viên: ...................................................................................... 26 Phần II. VIẾT BÁO CÁO THỰC HÀNH...................................................................... 26 Phần III. ĐÁNH GIÁ CHẤM ĐIỂM, BẢO VỆ THỰC HÀNH ..................................... 26 BÀI 5. TRUYỀN THÔNG VỚI PC QUA CỔNG USB ................................................ 27 Phần I. THỰC HÀNH ................................................................................................... 28 1.1. Mục đích thực hành: ........................................................................................... 28 Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử 4 1.2. Cơ sở lý thuyết: .................................................................................................. 28 1.3. Thực hành: ......................................................................................................... 28 1.3.1. Nội quy an toàn thực hành: ...................................................................... 28 1.3.2. Nội dung bài thực hành: ........................................................................... 29 1.3.3. Phương pháp và cách thức thực hành: ...................................................... 29 1.4. Ghi chép số liệu, kết quả thực hành .................................................................... 34 1.5. Chuẩn bị của sinh viên: ...................................................................................... 34 Phần II. VIẾT BÁO CÁO THỰC HÀNH...................................................................... 35 Phần III. ĐÁNH GIÁ CHẤM ĐIỂM, BẢO VỆ THỰC HÀNH ..................................... 35 BÀI 6. ĐỌC DỮ LIỆU TRONG THẺ NHỚ SD/MMC ................................................ 36 Phần I. THỰC HÀNH ................................................................................................... 37 1.1. Mục đích thực hành: ........................................................................................... 37 1.2. Cơ sở lý thuyết: .................................................................................................. 37 1.3. Thực hành: ......................................................................................................... 37 1.3.1. Nội quy an toàn thực hành: ...................................................................... 37 1.3.2. Nội dung bài thực hành: ........................................................................... 38 1.3.3. Phương pháp và cách thức thực hành: ...................................................... 38 1.4. Ghi chép số liệu, kết quả thực hành .................................................................... 47 1.5. Chuẩn bị của sinh viên: ...................................................................................... 47 Phần II. VIẾT BÁO CÁO THỰC HÀNH...................................................................... 48 Phần III. ĐÁNH GIÁ CHẤM ĐIỂM, BẢO VỆ THỰC HÀNH ..................................... 48 Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử 5 Biên soạn: Th.S Nguyễn Tuấn Anh QUY TRÌNH THỰC HIỆN BÀI THỰC HÀNH MÔN HỆ THỐNG NHÚNG BÀI 1. CHUYỂN ĐỔI TÍN HIỆU TƯƠNG TỰ SANG SỐ CHƯƠNG TRÌNH ĐÀO TẠO ĐẠI HỌC THEO HỆ THỐNG TÍN CHỈ (HỆ 150 TC) Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử 6 Phần I. THỰC HÀNH 1.1. Mục đích thực hành: - Giúp sinh viên củng cố các kiến thức về thiết kế và lập trình cho hệ vi điều khiển (trên nền PIC) đồng thời tiếp cận với một môi trường thiết kế tích hợp chuyên nghiệp là phần mềm PIC C Compile và phần mềm mô phỏng Proteus. - Lập trình đọc 8 kênh dữ liệu ADC, hiển thị kết quả lên LCD - Giúp Sinh viên chuyển đổi tư duy từ kiến thức lý thuyết đến tiếp cận với kiến thức thực tế. - Giúp cho SV hiểu rõ được thực hành là một bộ phận công việc của người làm công tác khoa học kỹ thuật. 1.2. Cơ sở lý thuyết: Hệ thống nhúng là một hệ thống tích hợp cả phần cứng và phần mềm nhúng. Phần cứng là hệ thống vi điều khiển PIC và thiết bị ngoại vi. Phần mềm nhúng dùng ngôn ngữ C, biên dịch trên nền PIC C compile. Trong bài này, chúng ta thiết kế phần mềm nhúng, dựa trên nền phần cứng nhúng đã có, theo sơ đồ khối sau đây: Trong đó:  Hiển thị trạng thái là một module LCD16x2, dùng để hiển thị tất cả trạng thái của hệ thống  Cảm biến là bộ phận cảm biến nhiệt từ môi trường ngoài, chuyển thành tín hiệu điện áp đưa về bộ điều khiển trung tâm.  Bộ điều khiển trung tâm, là phần quan trọng nhất của hệ thống; là nơi phần mềm nhúng vào, thể hiện thuật toán của chúng ta. Để thực hiện tốt bài thực hành, chúng ta cần chuẩn bị trước các kiến thức cơ bản sau đây:  Cấu trúc máy tính nhúng, vi điều khiển, mạch logic cơ bản, mạch khuếch đại, mạch lọc, LCD, cảm biến, ADC,...  Ngôn ngữ lập trình C cho PIC (CCS C). Các kiến thức về tập lệnh, cấu trúc rẽ nhánh, vòng lặp, khai báo chương trình con, biến, hằng, mảng,... Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử 7 1.3. Thực hành: 1.3.1. Nội quy an toàn thực hành: - Người thực hiện thực hành kể cả Hướng dẫn viên và sinh viên đề phải nắm vững các nội quy an toàn do phòng thực hành quy định, thông qua việc học nội quy có kiểm tra sát hạch. - Các thiết bị thực hành chịu sự kiểm soát an toàn theo phân cấp của nhà nước phải đảm bảo có đầy đủ biên bản kiểm định an toàn của cấp có thẩm quyền. Ví dụ: Thiết bị điện cao thế (trên 1 kV), các thiết bị áp lực, chất hóa học đặc biệt... 1.3.2. Nội dung bài thực hành: - Làm quen phần mềm PIC C Compile, Proteus - Thiết kế phần cứng hệ thống nhúng trên Proteus, đáp ứng bài toán Giao tiếp thiết bị ngoại vi cơ bản: LCD, mạch tương tự (lấy tín hiệu ADC). - Tạo một project mới trên CCS - Lập trình phần mềm nhúng, đáp ứng được bài toán. - Nạp vào mạch thật - Kiểm tra hoạt động và đánh giá kết quả 1.3.3. Phương pháp và cách thức thực hành: 1. Giới thiệu thiết bị và dụng cụ thực hành 2. Phân nhóm thực hành 3. Sơ đồ hay cách thức tiến hành TN Thiết kế phần cứng hệ thống nhúng trên môi trường mô phỏng Proteus: 27.0 3 1 VOUT 2 U1 LM35 3 2 1 4 1 1 U2:A LM324 R1 100k R2 10k +5v R3 10k ADC0 ADC0 MCLR/VPP 1 RA0/AN0 2 RA1/AN1 3 RA2/AN2/VREF- 4 RA3/AN3/VREF+ 5 RA4/T0CKI 6 RA5/AN4/SS/LVDIN 7 RE0/RD/AN5 8 RE1/WR/AN6 9 RE2/CS/AN7 10 OSC1/CLKI 13 RA6/OSC2/CLKO 14 RC0/T1OSO/T1CKI 15 RC2/CCP1 17 RC3/SCK/SCL 18 RD0/PSP0 19 RD1/PSP1 20 RD2/PSP2 21 RD3/PSP3 22 RD4/PSP4 27 RD5/PSP5 28 RD6/PSP6 29 RD7/PSP7 30 RC4/SDI/SDA 23 RC5/SDO 24 RC6/TX/CK 25 RC7/RX/DT 26 RB0/INT0 33 RB1/INT1 34 RB2/INT2 35 RB3/CCP2B 36 RB4 37 RB5/PGM 38 RB6/PGC 39 RB7/PGD 40 RC1/T1OSI/CCP2A 16 U3 PIC18F452 D 7 1 4 D 6 1 3 D 5 1 2 D 4 1 1 D 3 1 0 D 2 9 D 1 8 D 0 7 E 6 R W 5 R S 4 V S S 1 V D D 2 V E E 3 LCD1 LM016L R4 10k ADC1 ADC2 ADC3 ADC4 ADC5 ADC6 ADC7 ADC0 ADC1 ADC2 ADC3 ADC4 ADC5 ADC6 ADC7 Hình 1. Phần cứng hệ thống nhúng. Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử 8 4. Trình tự tiến hành thực hành Lựa chọn các linh kiện từ panel Libraries và đưa vào sơ đồ theo bảng sau: Ký hiệu Tên linh kiện Giải thích Số lượng RA0/AN0 2 RA1/AN1 3 RA2/AN2/VREF-/CVREF 4 RA4/T0CKI/C1OUT 6 RA5/AN4/SS/C2OUT 7 RE0/AN5/RD 8 RE1/AN6/WR 9 RE2/AN7/CS 10 OSC1/CLKIN 13 OSC2/CLKOUT 14 RC1/T1OSI/CCP2 16 RC2/CCP1 17 RC3/SCK/SCL 18 RD0/PSP0 19 RD1/PSP1 20 RB7/PGD 40 RB6/PGC 39 RB5 38 RB4 37 RB3/PGM 36 RB2 35 RB1 34 RB0/INT 33 RD7/PSP7 30 RD6/PSP6 29 RD5/PSP5 28 RD4/PSP4 27 RD3/PSP3 22 RD2/PSP2 21 RC7/RX/DT 26 RC6/TX/CK 25 RC5/SDO 24 RC4/SDI/SDA 23 RA3/AN3/VREF+ 5 RC0/T1OSO/T1CKI 15 MCLR/Vpp/THV 1 U1 PIC16F877A PIC16F877A Vi điều khiển 1 D 7 1 4 D 6 1 3 D 5 1 2 D 4 1 1 D 3 1 0 D 2 9 D 1 8 D 0 7 E 6 R W 5 R S 4 V S S 1 V D D 2 V E E 3 LM016L Màn hình hiển thị trạng thái hệ thống 1 27.0 3 1 VOUT 2 U1 LM35 LM35 Cảm biến nhiệt 1 Thiết kế mạch như hình ở “Hình 1.”. Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử 9 5. Tạo Dự án nhúng: o Viết mã nguồn như sau: #include "ADC_LCD_Moto control.h" #define use_portb_lcd TRUE #include #define Forward_pin PIN_D0 #define Backward PIN_D1 void main() { int16 AD; int8 k; const int16 Tmax=1024; setup_adc_ports(ALL_ANALOG); setup_adc(ADC_CLOCK_INTERNAL); setup_psp(PSP_DISABLED); setup_spi(SPI_SS_DISABLED); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); setup_comparator(NC_NC_NC_NC); setup_vref(FALSE); lcd_init(); set_tris_d(0);output_d(0); while(1){ for(k=0;k<8;k++){ set_adc_channel(k); AD=read_adc();//0..1023 lcd_gotoxy(1,1); printf(LCD_PUTC, "ADC%u=%4lu",k,AD); lcd_gotoxy(1,2); printf(LCD_PUTC, "Volt=%5.2f",(float)AD/205); delay_ms(5000); } } }  Nạp vào Mạch mô phỏng, kiểm tra kết quả.  Nạp vào mạch thật, kiểm chứng kết quả có trùng khớp với mình mong muốn hay không. Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử 10 1.4. Ghi chép số liệu, kết quả thực hành 1.5. Chuẩn bị của sinh viên: - Đọc và nghiên cứu bài thực hành - Đọc và nghiên cứu lý thuyết có liên quan đến nội dung bài thực hành - Chuẩn bị các vật dụng, giấy vở ghi chép số liệu thực hành - Mạch máy tính nhúng, phần lập trình nhúng. - Sự chuẩn bị của sinh viên phải được thông qua kiểm tra của người hướng dẫn thực hành. Nếu không đạt, sẽ không được tham gia thực hành và có được thực hành tiếp vào buổi khác hay không sẽ do Bộ môn và Ban chủ nhiệm khoa giải quyết. Phần II. VIẾT BÁO CÁO THỰC HÀNH 2.1. Quy định chung: Báo cáo thực hành được viết một mặt trên khổ giấy A4, đóng quyển, bìa mềm (theo mẫu .........). Mỗi sinh viên có một quyển báo cáo riêng. 2.2. Nội dung báo cáo: 2.2.1. Cơ sở lý thuyết Phân tích cơ sở lý thuyết như mục 1.2. 2.2.2. Báo cáo kết quả thực hành - Tổng hợp những kết quả chính cho nội dung báo cáo - Phân tích sơ đồ nguyên lý, mã lệnh - Lập bảng trạng thái đầu vào, đầu ra (nếu có) - Nhận xét kết quả: + Các kết quả thu được từ thực hành + So sánh kết quả thực hành với lý thuyết + Mức độ kết quả đạt được so với yêu cầu đề ra + Đánh giá các sai số của dụng cụ, thiết bị thực hành, người thao tác... - Kiến nghị. Phần III. ĐÁNH GIÁ CHẤM ĐIỂM, BẢO VỆ THỰC HÀNH Bộ môn hay tập thể hướng dẫn thực hành tổ chức đánh giá điểm thực hành thông qua lựa chọn một trong những hình thức sau: - Chấm điểm dựa trên nội dung bản báo cáo thực hành của từng sinh viên - Chấm điểm theo hình thức bảo vệ vấn đáp. Điểm thực hành của sinh viên được tổng hợp theo lớp có chữ ký xác nhận Trưởng bộ môn chuyên môn. Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử THIẾT KẾ HỆ THỐNG NHÚNG TRÊN NỀN FPGA 11 Biên soạn: Th.S Nguyễn Tuấn Anh QUY TRÌNH THỰC HIỆN BÀI THỰC HÀNH MÔN HỆ THỐNG NHÚNG BÀI 2. ĐIỀU KHIỂN ĐỘNG CƠ DC SỬ DỤNG PWM CHƯƠNG TRÌNH ĐÀO TẠO ĐẠI HỌC THEO HỆ THỐNG TÍN CHỈ (HỆ 150 TC) Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử THIẾT KẾ HỆ THỐNG NHÚNG TRÊN NỀN FPGA 12 Phần I. THỰC HÀNH 1.1. Mục đích thực hành: - Giúp sinh viên củng cố các kiến thức về thiết kế và lập trình cho hệ vi điều khiển (trên nền PIC) đồng thời tiếp cận với một môi trường thiết kế tích hợp chuyên nghiệp là phần mềm PIC C Compile và phần mềm mô phỏng Proteus. - Lập trình điều khiển tốc độ động cơ theo phương pháp PWM, đọc dữ liệu phản hổi từ động cơ, hiển thị kết quả lên LCD - Giúp Sinh viên chuyển đổi tư duy từ kiến thức lý thuyết đến tiếp cận với kiến thức thực tế. - Giúp cho SV hiểu rõ được thực hành là một bộ phận công việc của người làm công tác khoa học kỹ thuật. 1.2. Cơ sở lý thuyết: Hệ thống nhúng là một hệ thống tích hợp cả phần cứng và phần mềm nhúng. Phần cứng là hệ thống vi điều khiển PIC và thiết bị ngoại vi. Phần mềm nhúng dùng ngôn ngữ C, biên dịch trên nền PIC C compile. Trong bài này, chúng ta thiết kế phần mềm nhúng, dựa trên nền phần cứng nhúng đã có, theo sơ đồ khối sau đây: Trong đó:  Hiển thị trạng thái là một module LCD16x2, dùng để hiển thị tất cả trạng thái của hệ thống  Cảm biến là bộ phận cảm biến nhiệt từ môi trường ngoài, chuyển thành tín hiệu điện áp đưa về bộ điều khiển trung tâm.  Bộ điều khiển trung tâm, là phần quan trọng nhất của hệ thống; là nơi phần mềm nhúng vào, thể hiện thuật toán của chúng ta. Để thực hiện tốt bài thực hành, chúng ta cần chuẩn bị trước các kiến thức cơ bản sau đây:  Cấu trúc máy tính nhúng, vi điều khiển, mạch logic cơ bản, mạch khuếch đại, mạch lọc, LCD, cảm biến, ADC,...  Ngôn ngữ lập trình C cho PIC (CCS C). Các kiến thức về tập lệnh, cấu trúc rẽ nhánh, vòng lặp, khai báo chương trình con, biến, hằng, mảng,... Bộ môn Kỹ thuật Máy tính, Khoa Điện Tử THIẾT KẾ HỆ THỐNG NHÚNG TRÊN NỀN FPGA 13 1.3. Thực hành: 1.3.1. Nội quy an toàn thực hành: - Người thực hiện thực hành kể cả Hướng dẫn viên và sinh viên đề phải nắm vững các nội quy an toàn do phòng thực hành quy định, thông qua việc học nội quy có kiểm tra sát hạch. - Các thiết bị thực hành chịu sự kiểm soát an toàn theo phân cấp của nhà nước phải đảm bảo có đầy đủ biên bản kiểm định an toàn của cấp có thẩm quyền. Ví dụ: Thiết bị điện cao thế (trên 1 kV), các thiết bị áp lực, chất hóa học đặc biệt... 1.3.2. Nội dung bài thực hành: - Làm quen phần mềm PIC C Compile, Proteus - Thiết kế phần cứng hệ thống nhúng trên Proteus, đáp ứng bài toán Giao tiếp thiết bị ngoại vi cơ bản: LCD, mạch tương tự (lấy tín hiệu ADC). - Tạo một project mới trên CCS - Lập trình phần mềm nhúng, đáp ứng được bài toán. - Nạp vào mạch thật - Kiểm tra hoạt động và đánh giá kết quả 1.3.3. Phương pháp và cách thức thực hành: 1. Giới thiệu thiết bị và dụng cụ thực hành 2. Phân nhóm thực hành 3. Sơ đồ hay cách thức tiến hành TN Thiết kế phần cứng hệ thống nhúng trên môi trường mô phỏng Proteus: M+ R4 1k +88.8 Q1 TIP31 Q2 TIP32 Q3 2SC2547 Q4 2SC2547 Q5 TIP31 Q6 TIP32 Q7 2SC2547 Q8 2SC2547 R1 1k R2 1k R3 1k +12V VCC R6 10K R8 10K INC DEC KB1 KB2 KB1 KB2 A B C D PWM DIR M+ MCLR/VPP 1 RA0/AN0 2 RA1/AN1 3 RA2/AN2/VREF- 4 RA3/AN3/VREF+ 5 RA4/T0CK
Tài liệu liên quan