Từ nhữnghệ thống phức tạp như hàng không vũ trụ, phòng thủ quân sự, máy móc tự độngtrong công nghiệp, đến những phương tiện di chuyển thông thường như máy bay,xe điện, xe hơi, các trang
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỀ TÀI (Môn học: Hệ thống nhúng) GIAO TIẾP CHUỘT VÀ BÀN PHÍM MÃ HỌC PHẦN: 181ESYS431080 HỌC KỲ: – NĂM HỌC: 2018-2019 GVHD: Th.S Đinh Cơng Đoan Thành viên nhóm: Bùi Phan Viết Cường 15110173 Huỳnh Thế Cương 15110172 Trần Văn Chinh 15110167 TP.HỒ CHÍ MINH – 12/2018 NHẬN XÉT CỦA GIẢNG VIÊN TPHCM, ngày 18 tháng 12 năm 2017 Giáo viên hướng dẫn (Ký ghi rõ họ tên) MỤC LỤC I MỞ ĐẦU .1 Tóm tắt Đặt vấn đề 2.1 Những nghiên cứu nước 2.2 Tài liệu kiến thức liên quan 2.3 Tính cấp thiết cần nghiên cứu đề tài 2.4 Tính cấp thiết đề tài (lý chọn đề tài) 2.5 Mục tiêu đề tài 2.6 Đối tượng phạm vi nghiên cứu 2.7 Phương pháp nghiên cứu 2.8 Nội dung đề tài II NỘI DUNG Chương : Giới thiệu vi xử lý .6 1.1 Giới thiệu ARM Dòng ARM Cortex 1.2 Giới thiệu ARM Cortex-M4 1.3 Giới thiệu dòng vi xử lý dùng đề tài .7 Chương : Cấu trúc chung Kit 10 2.1 Tổng quan Kit STM32F429I-DISCOVERY 10 2.1.1 Phần cứng Kit 10 2.1.2 Tính năng, giao thức kết nối Kit 11 2.1.3 Yêu cầu hệ thống 12 2.1.4 Công cụ phát triển hỗ trợ Kit 12 2.2 Vị trí thành phần Kit kích thước .12 2.2.1 Sơ đồ khối Kit 12 2.2.2 Vị trí thành phần mạch 13 2.2.3 Kích thước Kit 14 2.3 Chi tiết phần nhúng ST-LINK/V2 14 2.3.1 Tổng quan ST-LINK/V2 nhúng 14 2.3.2 Drivers .15 2.3.3 Sử dụng ST-Link/V2 V2-B để lập trình/gỡ lỗi tích hợp on-board 15 2.3.4 Sử dụng ST-Link/V2 V2-B để lập trình/gỡ lỗi ứng dụng STM32 khác .16 2.4 Chi tiết phần cứng 16 2.4.1 Các chân Kit .16 2.4.2 Nguồn vấn đề cấp chọn nguồn .19 2.4.3 LEDs 20 2.4.4 Nút bấm .21 2.4.5 USB OTG 22 2.4.6 Con quay hồi chuyển MEMS (ST-MEMS L3GD20) .22 2.4.7 QVGA TFT LCD 2.4” 22 2.4.8 64-Mbit SDRAM 23 2.4.9 JP3 (Idd) 23 2.4.10 Xung nhịp OSC 23 2.4.11 Kết nối mở rộng Kit có hỗ trợ .25 2.5 Các mạch sơ đồ liên quan đến Kit 28 Chương 3: Những kiến thức liên quan 31 3.1 Tổng quan USB 31 3.1.1 Định nghĩa 31 3.1.2 Đặc điểm kỹ thuật BUS 32 3.1.3 Nguồn cấp cho USB 33 3.1.4 Phân loại USB 33 3.1.5 Các thiết bị endpoints giao tiếp USB 34 3.2 Giao tiếp chuẩn USB 35 3.2.1 Chuẩn tín hiệu 35 3.2.2 USB Host 35 3.2.3 USB HID (Human Interface Device) 36 3.2.4 Kịch hoạt động chuẩn USB .36 3.2.5 Chế độ truyền 38 Chương 4: Ứng dụng 39 4.1 Nạp nguồn vào Kit 39 4.2 Nạp chương trình vào Kit 39 4.3 Thư viện sử dụng kỹ thuật 42 4.4 Project Keil uVision 43 4.4.1 Tạo Project 43 4.4.2 Cấu hình Project 44 4.4.3 Tổ chức chương trình .45 4.5 Cách chương trình hoạt động 46 4.5.1 Cấu hình GPIO 46 4.5.2 Thư viện xử lý tín hiệu chuột tín hiệu bàn phím .46 4.6 Source code chương trình 48 4.7 Ứng dụng minh họa ứng giao tiếp chuột bàn phím sử dụng Kit STM32F429-DISCOVERY 54 4.7.1 Giao tiếp với chuột 54 4.7.2 Giao tiếp với bàn phím .57 III PHẦN KẾT LUẬN 59 Kết sau hoàn thành đề tài .59 Ưu, nhược điểm .59 2.1 Ưu điểm 59 2.2 Nhược điểm .59 Những khó khăn 60 Hướng phát triển đề tài 60 IV TÀI LIỆU THAM KHẢO .61 I MỞ ĐẦU Tóm tắt Nhóm thực đề tài là: Tìm hiểu Kit STM32F429I-DISCOVERY làm ứng dụng minh họa giao tiếp chuột bàn phím Sau tham khảo tài liệu nhóm chọn Kit STM32F429I-DISCOVERY để làm host giao tiếp với chuột bàn phím Dùng linh kiện rời chuột có dây bàn phím liên kết qua cổng OTG mà Kit có hỗ trợ để tiến hành giao tiếp di chuyển chuột nhấn nút, trái, phải, đèn led Kit sáng theo mức độ tùy thao tác Khi giao tiếp với bàn phím tương tự nhấn phím ví dụ phím “A” để bật đèn led bấm phím khác phím “N” để tắt đèn led Kit Nhóm chọn Kit Kit hỗ trợ chuẩn giao tiếp USB chia làm chế độ USB Host USB HID (Human Interface Devices) bên cạnh Kit cịn nhiều chức nâng cao phát triển ứng dụng minh họa sau Chức ứng dụng minh họa chia làm phần: Giao tiếp với Chuột qua cổng OTG Kit: nhấn chuột trái đèn lè Kit bật sáng, nhấn chuột phải đèn led tắt nhấn chuột led nhấp nháy Khi di chuyển chuột nhanh chậm đèn led sáng theo mức độ, di chuyển chuột nhanh đèn sáng với mức độ cao Giao tiếp với Bàn phím qua cổng OTG Kit: tiến hành chọn phím nút bật tắt led, thay phiên nhấn phím “A” “N” tương ứng bật đèn led tắt đèn led Kit Đặt vấn đề 2.1 Những nghiên cứu nước Trong nước Hiện nay, lĩnh vực hệ thống nhúng Việt Nam biết đến lâu tốc dộ phát triển cịn chậm với sản phẩm ứng dụng vào thực tế Cơng việc chủ yếu gia công nghệ phần mềm cho nước ngồi, chiếm tỉ lệ lớn thị trường Nhật, Mỹ Châu Âu Rất nhiều hãng sản xuất phần mềm lớn đổ vào thị trường Việt Nam để tận dụng lợi nguồn nhân lực giá rẻ khai thác một thị trường tiềm IBM, Intel, CSC,… Đặc biệt khu công nghệ cao nơi chiếm phần lớn thị phần nguồn nhân công ngành IOT, nhúng lớn Theo PGS.TS Nguyễn Hiếu Minh, Chủ nhiệm khoa Điện tử Viễn thông, Học viện Kỹ thuật mật mã, Việt Nam vài trường có chuyên ngành sâu Hệ thống nhúng điều khiển tự động, nhu cầu nhân lực chuyên sâu lĩnh vực lớn cấp bách Ngoài nước Thuật ngữ hệ thống nhúng trở nên phổ biến Thực tế, sản phẩm máy vi tính, thiết bị viễn thơng, điện tử công nghiệp, điện tử dân dụng phát triển nhanh, hệ thống nhúng điện tử vi điện tử cốt lõi phát triển Theo nhà thống kê giới, thị trường hệ thống nhúng lớn gấp khoảng 100 lần thị trường PC, số chip xử lý hệ thống nhúng chiếm tới 99% số chip xử lý sử dụng Rất nhiều công ty, tập đoàn lớn giới tập trung phát triển vào lĩnh vực kéo theo nhu cầu khổng lồ nhân lực với mức lương hấp dẫn Intel, IBM hay mạch sử dụng phổ biến mạch ARM công ty Acorn Hệ thống nhúng vốn đa dạng phong phú, nhiên có người biết tầm quan trọng hữu chúng giới quanh ta Từ hệ thống phức tạp hàng khơng vũ trụ, phịng thủ qn sự, máy móc tự động công nghiệp, đến phương tiện di chuyển thông thường máy bay, xe điện, xe hơi, trang thiết bị y tế bệnh viện, thiết bị truyền hình điện thoại di động sử dụng ngày, có diện hệ thống nhúng Trong tỷ vi xử lý sản xuất năm, có khoảng 150 triệu (1,5%) sử dụng cho máy vi tính cá nhân, phần cịn lại (98,5%) dành cho hệ thống nhúng (2) Theo thống kê khác BCC Research Group (4) đến năm 2009, tổng doanh số thị trường hệ thống nhúng tồn cầu đạt khoảng 88 tỷ đơ-la Mỹ, với phần cứng chiếm 78 tỷ đô-la Mỹ phần mềm chiếm 3,5 tỷ đơ-la Mỹ, phần cịn lại bo mạch nhúng Tốc độ tăng trưởng trung bình năm (AAGR) phần mềm nhúng đạt mức 16% 2.2 Tài liệu kiến thức liên quan Về kiến thức liên quan: Trước tìm hiểu đề tài, cần trang bị kiến thức liên quan đến hệ thống nhúng board mạch, vi xử lý, vi điều khiển, giao thức board nhúng, đặc biệt đề tài cần tìm hiểu chuẩn giao tiếp USB phân biệt USB Host USB HID loại chuẩn USB giao tiếp với Nắm vững tảng môn học Điện tử bản, Kiến trúc máy tính hợp ngữ, sơ đồ nguyên lý hoạt động board mạch Phần nội dung đề tài có tham khảo kiến thức từ giáo trình thức mơn Hệ thống nhúng, silde trang LMS nguồn tư liệu từ Internet Tài liệu liên quan gồm có: 32F429IDISCOVERY Databrief Embedded Systems Architecture - A Comprehensive Guide for Engineers and Programmers 2.3 Tính cấp thiết cần nghiên cứu đề tài Như nêu phần nghiên cứu nước phát triển mạnh mẽ khoa học kĩ thuật với kinh tế trí thức xu hướng hội nhập toàn cầu nay, giới Việt Nam thực việc phát triển ứng dụng sản phẩm công nghệ thông tin, sản phẩm công nghệ cao vào đời sống thực tế nhiều với xu hướng IOT, nhúng, giao tiếp thông minh người máy học Hệ thống nhúng hệ thống tích hợp phần cứng phần mềm cơng nghệ cao phục vụ cho toán chuyên dụng nhiều lĩnh vực cơng nghiệp, tự động hóa điều khiển truyền thơng Vì việc nghiên cứu board mạch để giải số toán áp dụng cho đời sống nhiều người quan tâm Đề tài giao tiếp chuột bàn phím mà nhóm thực với Kit STM32F429I-DISCOVERY có liên quan đến hệ thống nhúng giao tiếp với sản phẩm đời thường hàng ngày bàn phím, chuột, loa có cổng USB mà từ ta làm chủ thao tác với thiết bị cách thông minh 2.4 Tính cấp thiết đề tài (lý chọn đề tài) Lý chọn đề tài nhóm tập trung vào việc vận dụng kiến thức học hệ thống nhúng để giải tốn giao tiếp thiết bị có cổng USB với board mạch, vi xử lý Việc kết hợp board giao tiếp với thời gian thực, đọc thời gian thực, việc đọc liệu xử lý tín hiệu từ cảm biến, cảm biến hồng ngoại thật sư cần thiết Trong nhà máy, việc quản lý số lượng sản phẩm dây chuyền mà khơng có hỗ trợ máy móc, cảm biến việc vơ khó khăn để đạt xác tuyệt đối, đảm bảo cho trình hoạt động hiệu nhà máy Hoặc mảng thời gian thực vô quan trọng, đồng hồ điện tử, đồng hồ số tường nhà bạn đời việc áp dụng mạch thời gian thực kết hợp với việc lập trình để hiển thị thời gian thực để thấy nhờ hệ thống nhúng hỗ trợ Vì tìm hiểu Kit STM32F429I-DISCOVERY ví dụ minh họa giao tiếp chuột bàn phím với Kit làm rõ vấn đề liên quan lý thuyết cổng USB, phân biệt USB Host USB HID từ mở ý tưởng sau để làm việc chuyên sâu với cổng USB, OTG board mạch hỗ trợ 2.5 Mục tiêu đề tài Đề tài đời với mục đích giúp sinh viên tổng hợp lại kiến thức tiếp thu trình học mơn Hệ thống nhúng, đồng thời có nhìn tổng quan ngành lập trình nhúng Có kiến thức board mạch, giao tiếp thiết bị mà giao tiếp chuột bàn phím hay nói chung giao tiếp chuẩn USB, bước đệm tốt hướng đến công việc sau trường Hiểu lý thuyết áp dụng lý thuyết vào số thí nghiệm với Kit STM32F429I-DISCOVERY 2.6 Đối tượng phạm vi nghiên cứu Đề tài hướng tới sinh viên thuộc ngành điện tử viễn thông, công nghệ thông tin, … đối tượng có niềm đam mê, quan tâm đến nghiên cứu phát triển hệ thống nhúng Phạm vi nghiên cứu chủ yếu giao tiếp kit STM32F429IDISCOVERY với thiết bị sau: Chuột có dây có chuẩn USB kết nối OTG Bàn phím có chuẩn USB kết nối OTG 2.7 Phương pháp nghiên cứu Đi từ kiến thức board mạch, cách vận hành cấu hình đến lập trình nhúng Sử dụng phần mềm Keil uVision từ biết debug biên dịch file hex Sử dụng phần mềm ST Link để nạp code lên Kit Chuẩn bị kit STM32F429I-DISCOVERY, linh kiện cần thiết chuột, bàn phím cable kết nối Tìm hiểu Kit STM32F429I-DISCOVERY, linh kiện, thiết bị ngoại vi thông qua datasheet Kit tài liệu liên quan Internet Youtube 2.8 Nội dung đề tài Nội dung đề tài theo mục sau: Giới thiệu vi xử lý ARM dòng ARM Cortex Giới thiệu kit sử dụng đề tài kit STM32F429I-DISCOVERY gồm thành phần cách hoạt động mạch Các kiến thức liên quan phần lý thuyết chuẩn giao tiếp USB, phân loại USB Host USB HID, giao tiếp loại USB Ứng dụng vào ví dụ minh họa giao tiếp chuột bàn phím kết nối USB qua OTG với kit STM32F429I-DISCOVERY gồm: o Cách gắn mạch o Chi tiết code o Debug biên dịch mã tập tin HEX