# 基于国民技术车规级n32a455的数采 **Repository Path**: boolean_2/TBOX ## Basic Information - **Project Name**: 基于国民技术车规级n32a455的数采 - **Description**: 基于国民技术车规级n32a455的数采 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2025-12-11 - **Last Updated**: 2026-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TBOX - 基于国民技术N32A455车规级MCU的数采系统 ## 项目介绍 TBOX是基于国民技术N32A455车规级MCU开发的智能车载数据采集终端。本项目实现了CAN总线数据采集、4G网络通信、GPS定位、OTA远程升级等核心功能,适用于车载远程监控系统(T-Box)应用场景。 ## 硬件平台 - **MCU**: 国民技术N32A455 (车规级Cortex-M4内核) - **通信模块**: EC200 4G Cat.1模块 - **存储**: TF卡 (SPI/SDIO接口) - **RTC**: 实时时钟 (LSE晶振) ## 软件架构 ``` TBOX/ ├── TboxApplication/ # 主应用程序 │ ├── CODE/ │ │ ├── DBC/ # CAN数据库解析 │ │ ├── DRIVER/ # 底层驱动 │ │ │ ├── can_driver.c # CAN总线驱动 │ │ │ ├── led_driver.c # LED驱动 │ │ │ ├── rtc.c # 实时时钟驱动 │ │ │ ├── sdio_sdcard_driver.c # SD卡驱动 │ │ │ └── usart_ec200_driver.c # 4G模块串口驱动 │ │ ├── FATFS/ # 文件系统 │ │ ├── FreeRTOS/ # 实时操作系统 │ │ ├── MAIN/ # 主程序入口 │ │ └── SERVICE/ # 业务服务层 │ │ ├── at_service.c # AT命令服务 │ │ ├── can_service.c # CAN数据服务 │ │ ├── file_service.c # 文件服务 │ │ ├── flash_service.c # 闪存服务 │ │ ├── gps_service.c # GPS定位服务 │ │ ├── iap_service.c # 升级服务 │ │ ├── json_service.c # JSON解析服务 │ │ └── watchdog_service.c # 看门狗服务 │ ├── PROJECT/ # 工程文件 │ └── STDLIB/ # 标准库 ├── TboxBootloader/ # 引导程序 └── README.md ``` ## 核心功能 ### 1. CAN数据采集 - 双CAN通道支持 (CAN1/CAN2) - DBC数据库解析,支持信号解码 - 信号数据缓存与上传 ### 2. 4G通信 - EC200模块AT命令控制 - 网络附着与PDP上下文激活 - HTTP/HTTPS文件下载 ### 3. GPS定位 - NMEA0183协议解析 - RMC/GGA语句解析 - 位置数据缓存 ### 4. 远程升级 (OTA) - 双分区设计 (App1/App2) - CRC32校验 - 升级状态管理 - 断点续传 ### 5. 数据存储 - FATFS文件系统 - TF卡热插拔支持 - 配置参数持久化 ## 目录说明 ### 驱动层 (DRIVER) | 驱动文件 | 功能说明 | |---------|----------| | can_driver.c | CAN总线初始化与收发 | | led_driver.c | LED指示灯控制 | | rtc.c | 实时时钟管理 | | sdio_sdcard_driver.c | SD卡读写驱动 | | usart_ec200_driver.c | EC200模块通信 | ### 服务层 (SERVICE) | 服务文件 | 功能说明 | |----------|----------| | at_service.c | AT命令封装、网络控制 | | can_service.c | CAN数据解析与缓存 | | file_service.c | 配置文件读写 | | flash_service.c | Flash操作、OTA升级 | | gps_service.c | GPS数据解析 | | iap_service.c | 升级流程管理 | | json_service.c | JSON配置解析 | | watchdog_service.c | 看门狗喂狗 | ## 构建说明 ### 开发环境 - **IDE**: Keil MDK - **芯片包**: N32A455 SDK - **编译器**: ARM Compiler 5/6 ### 编译步骤 1. 打开 `TboxApplication/PROJECT/MDK/TboxApplication.uvprojx` 2. 选择目标 target 3. 编译 (Build -> Rebuild All) ### 烧录 使用JLink或ST-Link下载到目标板 ## 使用说明 ### 初始化流程 1. 系统上电初始化 2. 看门狗服务初始化 3. RTC时钟初始化 4. 驱动层初始化 (CAN/UART/SDIO) 5. FATFS文件系统挂载 6. 加载配置文件 7. 4G模块初始化 8. CAN服务启动 9. 创建FreeRTOS任务 ### 任务说明 | 任务名 | 优先级 | 功能 | |--------|--------|------| | TboxInitTask | 较高 | 初始化任务 | | Watchdog_Feed_Task | 最高 | 看门狗喂狗 | | CAN_ANALYSIS_TASK | 中 | CAN数据解析 | | CanUploadTask | 较低 | 数据上传 | | NetWorkAccessBooleanTask | 较低 | 网络维护 | ## 参与贡献 1. Fork本仓库 2. 新建功能分支 (`git checkout -b feat/xxx`) 3. 提交修改 (`git commit -m 'feat: add xxx'`) 4. 推送分支 (`git push origin feat/xxx`) 5. 创建Pull Request ## 技术支持 - 国民技术N32A455芯片手册 - FreeRTOS官方文档 - FATFS文件系统文档 ## 注意事项 1. 本项目为车规级产品代码,请遵守相关安全规范 2. 4G模块需要正确的SIM卡和天线配置 3. CAN总线终端电阻需正确配置 (120Ω) 4. OTA升级前请确保电量充足或使用常电供电