Tài liệu: Đề tài nckh thiết kế và thi công kit lập trình arm kết hợp cảm

Tài liệu nghiên cứu Đề tài nckh thiết kế và thi công kit lập trình arm kết hợp cảm biến y sinh, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về .

Chuyên ngành

Kỹ Thuật Y Sinh

Người đăng

Ẩn danh

Thể loại

Báo Cáo Tổng Kết Đề Tài Nghiên Cứu Khoa Học

2021

156
2
0

Phí lưu trữ

45 Point

Tóm tắt

I. Giới thiệu về đề tài NCKH thiết kế và thi công kit lập trình ARM

Đề tài NCKH thiết kế và thi công kit lập trình ARM là một nghiên cứu khoa học tiên tiến tại Trường Đại học Sư phạm Kỹ thuật TP.HCM. Đề tài này tập trung vào việc thiết kế kit điều khiển ARM kết hợp cảm biến y sinh, nhằm tạo ra một công cụ học tập thực tiễn cho sinh viên ngành Kỹ thuật Y sinh. Kit này được phát triển dựa trên vi điều khiển STM32F407VE, một chip xử lý mạnh mẽ với khả năng tích hợp nhiều cảm biến khác nhau. Các cảm biến y sinh được sử dụng bao gồm cảm biến nhịp tim, nhiệt độ, nồng độ oxy trong máu và nồng độ cồn. Mục tiêu chính của kit lập trình ARM là cung cấp một giải pháp học tập toàn diện, kết hợp lý thuyết với thực hành, giúp sinh viên nắm vững các kỹ năng lập trình vi điều khiển và xử lý dữ liệu cảm biến.

1.1. Định nghĩa và mục tiêu của đề tài

Đề tài NCKH có mục tiêu xây dựng một kit thiết kế ARM hoàn chỉnh với khả năng tích hợp nhiều cảm biến y sinh. Mục tiêu cụ thể bao gồm: phát triển phần cứng điều khiển STM32F407VE, tích hợp các cảm biến y sinh như LM35, DS18B20, MLX90614, và MAX30102, xây dựng phần mềm lập trình STM32CubeMX chuyên nghiệp, và tạo ra các bài thực hành hướng dẫn chi tiết.

1.2. Ý nghĩa của kit lập trình ARM kết hợp cảm biến

Kit lập trình ARM kết hợp cảm biến y sinh mang ý nghĩa học tập quan trọng. Nó giúp sinh viên thực hành các kỹ thuật lập trình vi điều khiển trong môi trường thực tế, phát triển kỹ năng xử lý dữ liệu cảm biến, và ứng dụng công nghệ trong lĩnh vực y sinh. Kit này cũng là công cụ hữu ích cho các dự án nghiên cứu và phát triển các ứng dụng y tế tiên tiến.

II. Kiến trúc phần cứng của kit thiết kế và thi công

Kiến trúc phần cứng của kit được xây dựng dựa trên vi điều khiển STM32F407VE, một sản phẩm của dòng ARM Cortex-M4. Vi điều khiển này cung cấp tốc độ xử lý cao, bộ nhớ flash lớn, và các giao tiếp đa dạng như UART, SPI, I2C. Sơ đồ khối hệ thống bao gồm các thành phần chính: khối nguồn cấp điện, khối vi điều khiển STM32F407VE, khối hiển thị (LCD TFT, LED 7 đoạn, LED Matrix), khối nhập liệu (nút nhấn, bàn phím ma trận), và khối cảm biến y sinh. Các cảm biến được giao tiếp qua các chuẩn giao tiếp khác nhau như SPI, I2C, UART. Thiết kế PCB được thực hiện với layout chuẩn chuyên nghiệp, đảm bảo tính ổn định và độ tin cậy cao. Kit cũng tích hợp các module giao tiếp không dây như Bluetooth HC-06, WiFi ESP8266, và RF NRF24L01.

2.1. Vi điều khiển STM32F407VE và cấu trúc

Vi điều khiển STM32F407VE là nền tảng chính của kit, sở hữu ARM Cortex-M4 với tốc độ clock 168 MHz. Chip này được trang bị bộ nhớ Flash 512 KB, RAM 192 KB, và các ngoại vi phong phú. Cấu trúc STM32F407 bao gồm đơn vị xử lý trung tâm, bộ điều khiển bộ nhớ, và các khối ngoại vi chuyên biệt. Vi điều khiển này hỗ trợ các giao tiếp UART, SPI, I2C, ADC 12-bit cho đọc cảm biến tương tự.

2.2. Các cảm biến y sinh được tích hợp

Kit lập trình ARM tích hợp nhiều cảm biến y sinh quan trọng: LM35 và DS18B20 để đo nhiệt độ, MLX90614 cho phép đo nhiệt độ hồng ngoại, MAX30102 để giám sát nhịp tim và nồng độ oxy, MQ3 cho phát hiện nồng độ cồn. Mỗi cảm biến đều có sơ đồ nguyên lý giao tiếp và hướng dẫn tích hợp chi tiết, giúp sinh viên hiểu rõ nguyên tắc hoạt động.

III. Phần mềm và hướng dẫn lập trình STM32CubeMX

Phần mềm lập trình cho kit sử dụng STM32CubeMX, một công cụ IDE mạnh mẽ và thân thiện của STMicroelectronics. STM32CubeMX cho phép cấu hình vi điều khiển một cách trực quan, tự động sinh mã khởi tạo, và hỗ trợ các thư viện HAL (Hardware Abstraction Layer) chuẩn. Các bài thực hành được tổ chức theo mức độ từ cơ bản đến nâng cao, bắt đầu từ điều khiển LED đơn, tiếp tục với giao tiếp nút nhấn, hiển thị LCD TFT, cho đến đọc dữ liệu cảm biến y sinh. Mỗi bài thực hành bao gồm cấu hình chân vi điều khiển, mã nguồn mẫu, và giải thích chi tiết. Hướng dẫn sử dụng STM32CubeMX cung cấp các bước từng bước để thiết lập project, cấu hình clock, và lập trình các chức năng ngoại vi.

3.1. Công cụ STM32CubeMX và quy trình lập trình

STM32CubeMX là công cụ cấu hình vi điều khiển chuyên nghiệp. Quy trình sử dụng bao gồm: khởi tạo project mới, cấu hình xung clock hệ thống, thiết lập các ngoại vi và giao tiếp, sinh mã khởi tạo tự động. Phần mềm lập trình sử dụng ngôn ngữ C chuẩn với các thư viện HAL, giúp lập trình dễ dàng và bảo trì tốt.

3.2. Bài thực hành và mẫu code

Kit cung cấp 13 bài thực hành chi tiết: điều khiển LED, giao tiếp nút nhấn, LED 7 đoạn, LED Matrix, LCD TFT, cảm biến LM35, HC-SR04, DS18B20, MLX90614, MQ3, Bluetooth HC-06, NRF24L01, và ESP8266. Mỗi bài bao gồm sơ đồ nguyên lý, mã nguồn mẫu, và hướng dẫn lập trình chi tiết giúp sinh viên nắm vững kỹ năng.

IV. Ứng dụng và triển khai kit lập trình ARM trong giáo dục

Kit thiết kế và thi công ARM có nhiều ứng dụng thực tiễn trong giáo dục kỹ thuật. Kit được sử dụng như công cụ học tập thực hành cho các môn học liên quan đến vi điều khiển, lập trình ARM, xử lý dữ liệu cảm biến, và kỹ thuật y sinh. Trong môi trường giáo dục, kit lập trình ARM giúp sinh viên: áp dụng lý thuyết vào thực hành, phát triển kỹ năng lập trình embedded systems, hiểu sâu về các cảm biến y sinh, và xây dựng các dự án ứng dụng thực tế. Kit cũng được dùng cho các dự án NCKH, giúp sinh viên tiến hành nghiên cứu trong các lĩnh vực như y tế thông minh, giám sát sức khỏe, và IoT y sinh. Giá trị giáo dục của kit nằm ở khả năng kết hợp lý thuyết và thực hành, tạo ra những kỹ sư được đào tạo vững chắc về công nghệ vi điều khiển và cảm biến.

4.1. Ứng dụng trong các khoá học và môn học

Kit lập trình ARM được tích hợp vào chương trình đào tạo của ngành Kỹ thuật Y sinh. Kit hỗ trợ các môn học: Lập trình vi điều khiển, Thiết kế hệ thống nhúng, Xử lý tín hiệu sinh y, và Thiết kế thiết bị y tế. Sinh viên sử dụng kit để thực hành các kỹ năng lập trình STM32, điều khiển cảm biến, và phát triển ứng dụng y sinh. Các bài thực hành được tài liệu hóa chi tiết, giúp giáo viên dạy học hiệu quả hơn.

4.2. Triển khai và mở rộng ứng dụng thực tế

Kit thiết kế ARM có thể mở rộng để phát triển các ứng dụng thực tế như hệ thống giám sát sức khỏe, thiết bị đo lường y tế di động, hệ thống cảnh báo y sinh. Các module giao tiếp không dây (Bluetooth, WiFi, RF) cho phép kit kết nối với điện thoại hoặc máy tính, tạo ra các giải pháp IoT y sinh toàn diện và hiện đại.

28/12/2025

Trích đoạn nội dung tài liệu

Chương 1. GIỚI THIỆU Sau khi lựa chọn được đề tài, để hiểu rõ hơn về tính thực thi và một số lý thuyết liên quan đến đề tài, nhóm chúng tôi xin được trình bày một số nội dung chính sau: Tổng quan về vi điều khiển ARM, Lý thuyết về vi điều STM32F407VE, giới thiệu sơ lược về Wifi, Bluetooth, RF, cũng như phần cứng và phần mềm được sử dụng để thực hiện đề tài này. TỔNG QUAN VỀ VI ĐIỀU KHIỂN ARM 1. Mô tả sơ lược về vi điều khiển ARM ARM là một loại vi điều khiển 32bit và 64bit kiểu RISC, ARM lúc đầu được đặt tên theo công ty Acorn (ban đầu ARM có nghĩa là Acorn RISC Machine, trong đó RISC là một cách thiết kế vi xử lý) sau này do có thêm nhiều công ty cùng phát triển và một số lý do khác, người ta thống nhất gọi ARM là Advance RISC Machine.

ARM được sử dụng rộng rãi trong các thiết kế nhúng [5]. Ngày nay, hơn 75% CPU 32bit là thuộc họ ARM, điều này khiến ARM trở thành cấu trúc 32 bít được sản xuất nhiều nhất thế giới. Bộ xử lý CPU của ARM hiện diện trong 95% smartphone, 90% ổ đĩa cứng, 40% truyền hình kĩ thuật số và set top box, 15% trong vi điều khiển, 20% trong máy tính di động và có mặt trên rất nhiều lĩnh vực, từ TV cho đến các hệ thống tự động hóa và máy móc công nghiệp [6]. Cấu trúc cơ bản của ARM Cấu trúc ARM bao gồm các đặc tính của RISC nổi bật như: Cấu trúc nạp/lưu trữ, không cho phép truy xuất bộ nhớ không thẳng hàng, tập lệnh trực giao, file thanh ghi lớn gồm 16x32-bit, chiều dài mã máy cố định là 32bit để dễ giải mã và thực hiện pipeline, để đạt được điều này phải chấp nhận giảm mật độ mã máy [7].

Số hiệu:HD/QT-PKHCN-QHQT-NCKHSV/00 Lần soát xét:00 Ngày hiệu lực: 10/10/2021 Trang:3/141 Hình 1.1: Cấu trúc cơ bản của vi điều khiển ARM a. Các tính chất nổi bật − Hầu hết tất cả các lệnh đều cho phép thực thi có điều kiện, điều này làm giảm việc phải viết các tiêu đề rẽ nhánh cũng như bù cho việc không có một bộ dự đoán rẽ nhánh. − Trong các lệnh số học, để chỉ ra điều kiện thực hiện, người lập trình chỉ cần sửa mã điều kiện. − Có một thanh ghi dịch 32-bit, có thể sử dụng với chức năng tính toán với hầu hết các lệnh số học và việc tính toán địa chỉ.

− Có các kiểu định địa chỉ theo chỉ số rất mạnh − Có hệ thống con thực hiện ngắt hai mức ưu tiên đơn giản nhưng rất nhanh, kèm theo cho phép chuyển từng nhóm thanh ghi. − Kích thước miếng bán dẫn nhỏ hơn, bộ xử lý đơn giản đòi hỏi ít transistor hơn, do đó kích thước cần dùng nhỏ lại dành vùng diện tích trống để tăng các chức năng như bộ nhớ cache, chức năng quản lý bộ nhớ… − Thời gian phát triển một sản phẩm ngắn hơn (do kĩ thuật đơn giản) − Cấu hình mạnh hơn: Khi ta đặt ra các chỉ lệnh phức tạp tuy nó gần gũi với ngôn ngữ cấp cao, nhưng như thế vô tình cũng làm các chỉ lệnh khác phức Số hiệu:HD/QT-PKHCN-QHQT-NCKHSV/00 Lần soát xét:00 Ngày hiệu lực: 10/10/2021 Trang:4/141 tạp lên và để thực thi một chỉ lệnh như vậy cần tốn nhiều chu kì xung nhịp. Trong khi đó nếu dùng RISC chỉ mất một chu kì xung nhịp cho mỗi lệnh, khi ta phân nhỏ vấn đề phức tạp thành các vấn đề đơn giản thì cách giải quyết sẽ tốt hơn. − Tốc độ tính toán cao nhờ vào việc giải mã lệnh đơn giản, nhờ có nhiều thanh ghi (ít thâm nhập bộ nhớ), và nhờ thực hiện kỹ thuật ống dẫn liên tục và có hiệu quả (các lệnh đều có thời gian thực hiện giống nhau và có cùng dạng).

− Thời gian cần thiết để thiết kế bộ điều khiển là ít. Điều này góp phần làm giảm chi phí thiết kế. − Bộ điều khiển trở nên đơn giản và gọn làm cho ít rủi ro mắc phải sai sót mà ta thường gặp trong bộ điều khiển. − Có một số ít lệnh (thông thường dưới 100 lệnh).

− Có một số ít các kiểu định vị (thông thường hai kiểu: định vị tức thì và định vị gián tiếp thông qua một thanh ghi). − Có một số ít dạng lệnh (một hoặc hai). − Các lệnh đều có cùng chiều dài. − Chỉ có các lệnh ghi hoặc đọc ô nhớ mới thâm nhập vào bộ nhớ.

− Dùng bộ tạo tín hiệu điều khiển bằng mạch điện để tránh chu kỳ giải mã các vi lệnh làm cho thời gian thực hiện lệnh kéo dài. − Ngoài ra các bộ xử lý RISC đầu tiên thực hiện tất cả các lệnh trong một chu kỳ máy. Lõi của Vi điều khiển ARM − Lõi xử lý ARM là một khối chức năng được kết nối bởi các bus dữ liệu, các mũi tên thể hiện cho dòng chảy của dữ liệu, các đường thể hiện cho bus dữ liệu, các ô biểu diễn trong hình là một khối hoạt động hoặc một vùng lưu trữ. Cấu hình này cho thấy các dòng dữ liệu và các thành phần tạo nên một bộ xử lý ARM.

− Tập lệnh ARM nằm trong hai nguồn thanh ghi Rn và Rm, kết quả được trả về thanh ghi đích Rd. Nguồn toán hạng được đọc từ thanh ghi đang sử dụng trên bus nội bộ A và B tương ứng. − Khối số học và logic ALU hay bộ nhân MAC lấy các giá trị từ thanh ghi Rn và Rm từ bus A, B và tính toán ra kết quả. Số hiệu:HD/QT-PKHCN-QHQT-NCKHSV/00 Lần soát xét:00 Ngày hiệu lực: 10/10/2021 Trang:5/141 − Mô hình thanh ghi theo kiến trúc Registry file giao tiếp với bộ nhớ thông qua các lệnh load – store và ALU để tính toán địa chỉ được lưu trong các thanh ghi.

− Incrementer: bộ gia tăng cho thanh ghi địa chỉ.2: Cấu trúc lõi ARM Cortex M0 1. Phân loại các phiên bản của ARM Để đáp ứng yêu cầu khắt khe và đa dạng của các hệ thống nhúng, bộ xử lý ARM Cortex được chia thành 3 dòng, được biểu hiện bằng các ký tự sau tên Cortex như dòng: A, R, M. Dòng A Bộ vi xử lý ARM Cortex A là bộ xử lý có hiệu suất cao cung cấp một loạt các giải pháp cho các thiết bị thực hiện nhiệm vụ tính toán phức tạp, chẳng hạn như lưu trữ một nền tảng phong phú hệ điều hành (OS), và hỗ trợ nhiều ứng dụng phần mềm. Tất cả các bộ xử lý Cortex-A đặc biệt cung cấp hiệu suất 32bit cho máy tính cao cấp, với bộ vi xử lý Cortex-A72 mới và cả Cortex-A57 và Cortex-A53 bộ xử lý kết hợp cung cấp hiệu suất 32-bit và 64-bit cho thế hệ điện thoại di động, mạng và máy chủ sản phẩm được mô tả trong Hình 1.

Số hiệu:HD/QT-PKHCN-QHQT-NCKHSV/00 Lần soát xét:00 Ngày hiệu lực: 10/10/2021 Trang:6/141 Hình 1.3: Các phiên bản của ARM Cortex-A Các bộ vi xử lý có sẵn trong đơn lõi và đa lõi cung cấp lên đến bốn đơn vị xử lý với khả năng tích hợp các khối xử lý đa phương tiện NEON. Hỗ trợ các tập lệnh ARM, Thumb và Thumb-2. Ứng dụng của dòng A bao gồm: điện thoại thông minh, netbook, eReaders, TV kỹ thuật số, home Gateway, máy chủ và mạng. Dòng R Bộ vi xử lý Cortex R có hiệu suất vượt trội cho các ứng dụng thời gian thực, thời gian xử lý nhúng đã được phát triển cho các ứng dụng nhúng thời gian thực, nhu cầu về điện năng thấp, ngắt được cân bằng với hiệu suất vượt trội và khả năng tương thích mạnh mẽ với nền tảng hiện tại.

Ứng dụng của dòng R bao gồm: hệ thống phanh ô tô, các giải phá hệ thống truyền lực, bộ ưu trữ khối lượng, Networking và in ấn.4: Các phiên bản ARM Cortex – R Tương tự như dòng A, các phiên bản của dòng R được thể hiện trong Hình 1. Bộ xử lý Cortex R dành cho các hệ thống đòi hỏi khắc khe về tính thời gian thực. Hỗ Số hiệu:HD/QT-PKHCN-QHQT-NCKHSV/00 Lần soát xét:00 Ngày hiệu lực: 10/10/2021 Trang:7/141 trợ các tập lệnh ARM, Thumb và Thumb-2. Các bộ vi xử lý Cortex R gồm có Cortex- R4, Cortex-R5, Cortex-R7.

Dòng M Bộ vi xử lý ARM Cortex M tiêu thụ điện năng thấp phù hợp với các ứng dụng vi điều khiển xác định và có khả năng mở rộng, tương thích, hiệu quả, dễ sử dụng. Bộ vi xử lý ARM Cortex M được thiết kế để giúp các nhà phát triển đáp ứng nhu cầu về các ứng dụng nhúng thông minh và kết nối. ARM Cortex M cung cấp nhiều tính năng với chi phí thấp hơn, tăng khả năng kết nối, sử dụng lại mã tốt hơn và cải thiện hiệu quả năng lượng. Ứng dụng của dòng M bao gồm: vi điều khiển, thiết bị tín hiệu hỗn hợp, cảm biến thông minh, thiết bị điện tử ô tô [7].5: Các phiên bản của ARM Cortex-M Bộ xử lý Cortex M Chỉ hỗ trợ tập lệnh Thumb-2.

Các bộ vi xử lý Cortex M gồm có Cortex M0, Cortex M0+, Cortex M3, Cortex M4, Cortex M7. VI ĐIỀU KHIỂN STM32F407VE STM32 là một trong những dòng chip phổ biến của ST với nhiều họ thông dụng như F0, F1, F2, F3, F4, … STM32F407 thuộc họ F4 dựa trên lõi RISC 32bit ARM Cortex -M4 hiệu suất cao hoạt động ở tần số lên tới 168MHz. Lõi Cortex-M4 có độ chính xác đơn vị dấu phẩy động (FPU) hỗ trợ tất cả các hướng dẫn và loại dữ liệu xử lý dữ liệu chính xác đơn ARM. Nó cũng thực hiện một bộ đầy đủ các hướng dẫn DSP và bộ bảo vệ bộ nhớ (MPU) để tăng cường bảo mật ứng dụng.

Mạch nạp cũng như công cụ lập trình khá đa dạng và dễ sử dụng. Cấu trúc hệ thống Dòng ARM Cortex là một bộ xử lý thế hệ mới đưa ra một kiến trúc chuẩn cho nhu cầu đa dạng về công nghệ. Không giống như những chip ARM khác, dòng Cortex là một lõi xử lý hoàn thiện, đưa ra một chuẩn CPU và kiến trúc hệ thống chung [8-9]. Số hiệu:HD/QT-PKHCN-QHQT-NCKHSV/00 Lần soát xét:00 Ngày hiệu lực: 10/10/2021 Trang:8/141 Hình 1.6: Sơ đồ cấu trúc các khối của STM32F407 1.

Cấu trúc bộ nhớ, thanh ghi Bộ nhớ chương trình, bộ nhớ dữ liệu, thanh ghi và cổng I/O được tổ chức trong cùng một không gian địa chỉ 4Gbyte tuyến tính. Các byte được mã hóa trong bộ nhớ ở định dạng endian nhỏ. Byte được đánh số thấp nhất trong một từ được coi là byte có ý nghĩa nhỏ nhất và byte được đánh số cao nhất. Tất cả các vùng nhớ không được phân bổ cho các bộ nhớ và thiết bị ngoại vi trên chip đều được coi là Reserved [9].

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ