Firmware
Hoàn thành 0 lượt xem Quản lý

Hệ Thống Giám Sát Môi Trường Đa Tác Vụ FreeRTOS (Kit Renesas RA6M5 Cortex-M33 + HS3001 & ZMOD4410 + ESP32 NTP RTC Sync)

Firmware thời gian thực FreeRTOS trên dòng vi điều khiển Renesas RA6M5 (ARM Cortex-M33 200MHz), thu thập cảm biến HS3001 & ZMOD4410 qua bus I2C, đồng bộ lịch RTC từ ESP32 UART và bảo vệ vùng nhớ tránh xung đột dữ liệu bằng FreeRTOS Mutex.

Công nghệ & Nền tảng (Tech Stack)
Renesas RA6M5 ARM Cortex-M33 FreeRTOS Renesas FSP e2 studio I2C SCI UART RTC Renesas HS3001 Renesas ZMOD4410 ESP32 NTP Mutex Sync JSON Streaming
Hệ Thống Giám Sát Môi Trường Đa Tác Vụ FreeRTOS (Kit Renesas RA6M5 Cortex-M33 + HS3001 & ZMOD4410 + ESP32 NTP RTC Sync)
README.md GFM
Đang kết xuất tài liệu thiết kế README.md...

                        
Thông Số Phần Cứng & Danh Mục Linh Kiện (BOM)
Hardware Specs & BOM
[1] HẠT NHÂN XỬ LÝ TRUNG TÂM (CENTRAL PROCESSING UNIT) ├── Vi điều khiển: Renesas R7FA6M5BH3CFC (Dòng Renesas RA6M5) ├── Kiến trúc lõi: ARM 32-bit Cortex-M33 with ARM TrustZone & Hardware FPU ├── Tần số xung nhịp: 200 MHz (PLL Clock Generator) ├── Bộ nhớ trong: 2 MB Flash Code + 512 KB SRAM (với 64 KB ECC SRAM) + 64 KB Data Flash └── Bộ phát triển: Renesas Cloud Kit CK-RA6M5 (RTK97F4A65S01001BE) [2] HỆ ĐIỀU HÀNH THỜI GIAN THỰC & PHẦN MỀM (RTOS & SOFTWARE) ├── Real-Time OS: FreeRTOS v10.4.x (Amazon Web Services FreeRTOS Kernel) ├── Khung lập trình (BSP/HAL): Renesas Flexible Software Package (FSP v5.x) ├── Môi trường phát triển IDE: Renesas e2 studio (Eclipse-based CDT) ├── Trình biên dịch: LLVM / GNU Arm Embedded Toolchain (arm-none-eabi-gcc) ├── Cơ chế đồng bộ hóa luồng: FreeRTOS Mutex Semaphore (g_sensor_mutex) └── Quản lý tác vụ: Sensor_Thread (Period 2000ms), Uart_Thread (Event-driven & Period 1000ms) [3] CẢM BIẾN MÔI TRƯỜNG & KHÍ THẢI TÍCH HỢP (ONBOARD SENSORS) ├── Cảm biến Nhiệt Độ & Độ Ẩm: Renesas HS3001 (Độ chính xác cao ±0.2°C, ±1.5% RH, giao tiếp I2C) ├── Cảm biến Chất Lượng Không Khí: Renesas ZMOD4410 (Indoor Air Quality IAQ 2nd Gen) ├── Thông số đo lường ZMOD: eCO2 (400 ~ 5000 ppm) & TVOC (0 ~ 1000 mg/m³) └── Driver thuật toán: Thu viện tĩnh Renesas lib_iaq_2nd_gen.a (CM33 optimized) [4] TRUYỀN THÔNG, ĐỒNG BỘ THỜI GIAN & NGOẠI VI (CONNECTIVITY & RTC) ├── Đồng hồ thời gian thực: Internal Hardware Calendar RTC (R_RTC) đồng bộ thạch anh 32.768 kHz ├── Module đồng bộ không dây: ESP32 Wi-Fi Module (Khai thác NTP Server quốc tế) ├── Giao thức liên kết ESP32: SCI UART Full-Duplex (115200 bps, 8N1, Interrupt RX/TX) └── Giao thức định dạng dữ liệu: JSON Payload Streaming
Sơ Đồ Luồng Hoạt Động Của Hệ Thống (Workflow Diagram)
Sơ đồ tự động căn chỉnh vừa vặn bao quát toàn cảnh — sử dụng công cụ bên cạnh để phóng to hoặc mở toàn màn hình
100%
flowchart TB
    subgraph SENSORS["1. TẦNG CẢM BIẾN NGOẠI VI (I2C SENSOR BUS)"]
        HS["Cảm Biến Nhiệt Ẩm Renesas HS3001
- Đo nhiệt độ (±0.2°C)
- Đo độ ẩm tương đối (±1.5% RH)"] ZMOD["Cảm Biến Khí Renesas ZMOD4410
- Đo nồng độ khí thải eCO2
- Đo hợp chất hữu cơ bay hơi TVOC"] I2C_BUS["Giao Tiếp I2C Tốc Độ Cao (R_IIC_MASTER)"] HS --> I2C_BUS ZMOD --> I2C_BUS end subgraph FREERTOS_KERNEL["2. NHÂN ĐIỀU PHỐI FREERTOS (CORE SCHEDULER)"] SCHEDULER["FreeRTOS Preemptive Scheduler (200MHz Cortex-M33)"] TASK_SENSOR["Sensor_Thread (Tác Vụ Đọc Cảm Biến)
- Chu kỳ lặp 2000ms (vTaskDelay)
- Đọc và giải thuật IAQ 2nd Gen"] TASK_UART["Uart_Thread (Tác Vụ UART & Đồng Bộ RTC)
- Nhận ngắt thời gian NTP từ ESP32
- Đóng gói chuỗi JSON và xuất UART"] MUTEX["Khóa Loại Trừ Tương Hỗ (Mutex Semaphore: g_sensor_mutex)
- Bảo vệ vùng nhớ g_shared_temp / g_shared_humi
- Triệt tiêu hoàn toàn xung đột Data Race"] SCHEDULER --> TASK_SENSOR SCHEDULER --> TASK_UART I2C_BUS --> TASK_SENSOR TASK_SENSOR -->|1. Yêu cầu khóa Mutex| MUTEX MUTEX -->|2. Cập nhật dữ liệu cảm biến sạch| TASK_SENSOR TASK_UART -->|3. Lấy bản sao dữ liệu an toàn| MUTEX MUTEX -->|4. Trả dữ liệu nhất quán| TASK_UART end subgraph RTC_SYNC["3. ĐỒNG BỘ THỜI GIAN THẬT RTC (NTP SYNC)"] ESP32["Module Wi-Fi ESP32 (Client NTP Server)"] NTP["NTP Time Server (Internet Clock)"] RTC_HW["Đồng Hồ Phần Cứng RTC RA6M5 (R_RTC_CalendarTimeSet)"] NTP --> ESP32 ESP32 -->|Chuỗi thời gian chuẩn UART| TASK_UART TASK_UART -->|Cập nhật trực tiếp thanh ghi| RTC_HW RTC_HW -->|Cung cấp mốc thời gian chuẩn ms| TASK_UART end subgraph OUTPUT_STAGE["4. ĐÓNG GÓI DỮ LIỆU & TRUYỀN PHÁT JSON"] JSON_BUILDER["Trình Đóng Gói Chuỗi JSON Vi Khí Hậu"] SCI_UART["Cổng Giao Tiếp SCI UART 115200 bps (g_uart3_ctrl)"] RECEIVER["Hệ Thống Giám Sát / IoT Gateway Phía Trên"] TASK_UART --> JSON_BUILDER JSON_BUILDER --> SCI_UART SCI_UART --> RECEIVER end
Đang nạp sơ đồ kiến trúc...
Dùng nút Bao Quát để ngắm nhìn toàn cảnh hoặc Toàn Màn Hình để phóng to chi tiết Mermaid Interactive Engine
Thư Mục & Quản Lý Tệp Tin Dự Án
media/projects/renesas-ra6m5-freertos-iot-sensor-monitor/ 11 tệp tin • 4.7 MB
Đăng Nhập Quản Lý File
Tên Tệp Tin Phân Loại Dung Lượng Ngày Cập Nhật Thao Tác
configuration.xml
Tài Liệu 79.8 KB 08/11/2026 02:46
FreeRTOSConfig.h
Mã Nguồn (Code) 7.3 KB 08/11/2026 02:46
new_thread0_entry.c
Mã Nguồn (Code) 6.0 KB 08/11/2026 02:46
README.md
Tài Liệu 6.3 KB 08/11/2026 02:46
renesas_context_switch_timeline.png
Hình Ảnh (Image) 99.2 KB 08/11/2026 02:46
renesas_data_flow.png
Hình Ảnh (Image) 32.2 KB 08/11/2026 02:46
renesas_ra6m5_chip.jpg
Hình Ảnh (Image) 860.1 KB 08/11/2026 02:46
Renesas_RA6M5_FreeRTOS_Firmware.zip
Tệp Nén (Archive) 2.7 MB 08/11/2026 02:46
Sensor_Thread_entry.c
Mã Nguồn (Code) 2.4 KB 08/11/2026 02:46
thumb_renesas-ra6m5-freertos-iot-sensor-monitor.jpg
Hình Ảnh (Image) 860.1 KB 08/11/2026 02:46
Uart_Thread_entry.c
Mã Nguồn (Code) 2.9 KB 08/11/2026 02:46
Chuyển Nhanh Khung Nhìn
Tài Nguyên & Liên Kết
Thông Tin Dự Án
Chuyên mục: Firmware
Trạng thái: Hoàn thành
Lượt xem: 0
Ngày tạo: 08/11/2026 02:47
Cập nhật: 08/11/2026 02:47