5419e33397
✨ feat(monitor): 增强系统监控与数据存储功能
...
- 新增数据存储缓冲区可用性检查,防止缓冲区满时数据丢失
- 新增会话文件夹管理功能,每次上电自动创建新的数据存储文件夹
- 新增监控状态定期保存功能,将系统统计信息写入MONITOR.TXT文件
- 新增数据丢弃统计,记录因缓冲区满而未存储的数据包数量
- 优化数据输出模式配置,支持串口输出和存储到卡的独立控制
- 优化USB连接处理逻辑,增加系统稳定性检查
🐛 fix(interrupt): 调整中断优先级配置
- 提高USART1中断优先级(从6调整为2),确保串口通信及时响应
- 调整DMA2_Stream5中断优先级(从0调整为5),优化数据传输调度
- 修复RS485驱动中的忙标志逻辑,改为阻塞式传输以提高可靠性
♻️ refactor(config): 优化系统配置和存储设置
- 重构宏定义配置,统一系统监控开关,分离数据输出模式控制
- 将SD卡最大扇区大小从512调整为4096,优化大文件存储性能
- 增加堆栈大小配置(从0x800调整为0x1000),提高系统稳定性
- 优化USB存储读写超时设置,使用最大超时值确保操作完成
📝 docs(comments): 更新代码注释和文档
- 更新数据存储模块的注释,说明新的会话文件夹管理机制
- 在main.c中添加数据输出模式选择的详细说明注释
- 更新系统监控统计输出格式,包含新增的数据丢弃统计项
2026-02-07 13:02:59 +08:00
8a928032dd
✨ feat(storage): 新增SD卡性能分析文档并优化写入策略
...
- 新增SD卡性能分析文档,详细分析写入瓶颈并提供优化建议
- 优化DataStorage_FlushBuffer函数,减少f_sync调用频率以提高写入性能
- 在停止录制时强制同步所有数据到SD卡,确保数据完整性
- 使用静态变量记录刷新次数,每10次刷新或文件即将达到最大大小时才同步
🐛 fix(adc): 修复中断回调中的条件判断逻辑
- 注释掉cnt % 2条件判断,确保中断回调中的处理逻辑能正常执行
- 保持原有的GPIO引脚检测和处理流程不变
2026-02-07 00:02:50 +08:00
9a2d543fcb
✨ feat(system-monitor): 新增SD卡存储监控功能并优化系统配置
...
- 新增SD卡存储监控功能,包含写入次数、错误次数、缓冲区满次数、总写入字节数和文件数量等统计指标
- 新增SD卡监控API函数,包括报告写入、报告错误、报告缓冲区满和报告文件创建
- 在data_storage.c中集成SD卡监控功能,在关键操作点添加监控报告
- 新增详细的使用文档《SD_Storage_Monitoring_Guide.md》,说明监控指标、API使用、集成方法和故障诊断
- 优化系统调试输出,在DebugOutput_PrintSystemStats中增加SD卡统计信息显示,包括基本统计、SD卡统计和计算指标(平均写入大小、错误率)
- 调整SDIO时钟分频器从2改为1以提高SD卡通信速度
- 调整TIM2中断优先级从12改为3以提高定时器响应优先级
- 更新STM32CubeMX配置文件(.ioc)以反映SDIO时钟分频和TIM2中断优先级的更改
- 注释掉USB连接状态检测代码以简化主循环处理
- 优化ADC数据就绪中断处理,每2次触发一次DMA读取,并在DMA读取超时时报告数据溢出
- 移除ProcessAdcData函数中已注释的RS485发送代码
- 将数据溢出报告从ProcessAdcData函数移至HAL_GPIO_EXTI_Callback函数中的DMA读取超时处理
2026-02-06 23:58:56 +08:00
fee2e96eaa
✨ feat(system): 优化系统性能并简化监控模块
...
- 新增VSCode编辑器配置,启用保存时自动格式化
- 新增DMA2_Stream5和USART1中断处理函数,优化SPI传输性能
- 移除TIM1相关配置和性能监控模块,简化系统架构
- 优化GPIO配置,将ADC_SYNC和PA8引脚合并配置
- 简化系统监控模块,仅保留采样计数和数据溢出统计
- 优化SPI配置,使用16位数据宽度并提高DMA优先级
- 提高USART波特率(USART1:2Mbps, USART3:921600bps)
- 优化LTC2508驱动,增加初始化状态检查和缓冲区大小
- 修正数据存储模块,使用校正数据包而非校正结果结构体
- 优化RS485驱动,使用中断传输并添加传输完成回调
- 更新IOC配置文件,移除TIM1并调整中断优先级配置
- 新增系统监控简化说明文档,详细记录架构变更
2026-02-06 22:45:25 +08:00
87bdfa09d9
✨ feat(main): 新增usb连接状态检测与自动文件系统管理功能
...
- 新增usb连接状态检测函数,根据usb连接状态自动切换数据采集模式
- 新增文件系统动态挂载/卸载功能,usb连接时卸载文件系统,断开时重新挂载
- 修改系统启动逻辑,根据初始usb连接状态决定是否开始数据采集
- 新增usb模式系统状态,完善系统状态机
🐛 fix(sdio): 修复sdio配置问题并启用中断
- 修改sdio时钟分频为2,优化sd nand通信时序
- 启用sdio数据线内部上拉电阻,提高信号稳定性
- 提高sdio dma传输优先级至最高,确保数据传输实时性
- 启用sdio全局中断并设置优先级为9
🔧 chore(config): 优化系统配置参数
- 修改系统滴答定时器中断优先级为0(最高优先级)
- 增加堆栈大小至0x1000,增加堆大小至0x800
- 修改usb msc媒体数据包大小至32768,提高usb传输效率
- 修改fatfs配置,设置最大最小扇区大小为512字节
♻️ refactor(usb): 重构usb存储接口实现
- 修改usb存储初始化逻辑,避免重复初始化sd卡
- 优化usb存储容量报告机制,强制报告512字节扇区
- 增加sd nand读写超时等待机制,确保数据传输完成
- 修改usb中断优先级为11,避免与sdio中断冲突
📝 docs(headers): 更新头文件声明
- 在stm32f4xx_it.h中添加sdio中断处理函数声明
- 在system_monitor.h中添加usb模式系统状态定义
- 更新data_storage.h中的数据存储路径配置
2026-02-02 23:36:20 +08:00
4598f8f34f
✨ feat(main): 为系统监控和性能监控功能添加宏开关控制
...
- 新增 ENABLE_SYSTEM_MONITOR 和 ENABLE_PERFORMANCE_MONITOR 宏定义,用于控制监控功能的编译开关
- 在 StartRecording、StopRecording、ProcessAdcData、main 等函数中,使用条件编译包裹所有 SystemMonitor 和 PerformanceMonitor 相关的函数调用
- 在 DebugOutput_PrintSystemStats 和 DebugOutput_PrintPerformanceStats 函数中,使用条件编译包裹整个函数体,确保在宏关闭时不生成调试输出代码
- 在 HAL_GPIO_EXTI_Callback、HAL_SPI_ErrorCallback 和 Error_Handler 等中断和错误处理函数中,同样添加条件编译保护,提高代码的灵活性和可配置性
2026-01-25 21:31:39 +08:00
082ea96e88
✨ feat(adc): 重构ADC数据处理架构,引入1ms定时器中断处理
...
- 新增TIM2定时器配置,用于1ms周期的ADC数据处理中断
- 将主循环中的ADC数据处理逻辑移至定时器中断回调函数中
- 新增ProcessAdcData函数,封装完整的ADC数据处理流程
- 优化数据缓冲区大小,从2增加到64,提升数据处理能力
- 调整DMA中断优先级,优化系统实时性
🔧 chore(config): 更新STM32CubeMX项目配置
- 在IOC配置文件中添加TIM2定时器配置
- 更新NVIC中断优先级配置
- 调整DMA中断优先级设置
- 更新项目初始化函数调用顺序
📦 build(storage): 优化数据存储缓冲区配置
- 将数据存储缓冲区大小从1024字节增加到32768字节
- 提升数据写入效率,减少文件系统操作频率
2026-01-25 21:20:15 +08:00
2cbd4a152d
✨ feat(main): 新增性能监控和调试输出功能
...
- 新增性能监控模块(performance_monitor),用于实时跟踪系统性能指标
- 添加串口调试输出功能,支持系统状态和性能统计的定期输出
- 实现双缓冲机制,提升ADC数据采集和存储的实时性
- 优化数据存储模块,支持校正后数据的存储和双缓冲管理
- 增强错误处理机制,完善中断回调函数和系统错误恢复
♻️ refactor(ltc2508): 重构ADC驱动支持双缓冲
- 将ADC数据存储从单缓冲区重构为双缓冲区结构
- 新增缓冲区状态管理和自动切换机制
- 优化DMA传输完成回调,支持多缓冲区处理
- 提供缓冲区获取和释放的API接口
📝 docs(performance): 新增性能评估报告和使用指南
- 创建STM32F405性能评估报告,详细分析系统性能指标
- 编写双缓冲机制使用指南,说明实现原理和使用方法
- 添加LTC2508驱动使用示例代码
🐛 fix(dma): 调整DMA中断优先级
- 将DMA2_Stream7中断优先级从9调整为6,优化中断响应
- 更新STM32CubeMX配置文件中的中断优先级设置
🔧 chore(config): 优化系统配置和代码结构
- 添加串口调试输出控制开关和间隔配置
- 清理中断处理文件,移除重复的回调函数定义
- 增强错误处理函数,添加系统状态恢复机制
2026-01-25 20:15:47 +08:00
6297f3044d
feat(adc): implement comprehensive ADC data acquisition and processing system
...
Add complete data acquisition pipeline with LTC2508 ADC drivers, correction algorithms,
data storage, and system monitoring. Includes ARM DSP optimized matrix operations for
sensor calibration, SD card data logging with USB mass storage, and robust error handling
with validation throughout the processing chain.
- Add LTC2508 multi-channel SPI driver with DMA support and error recovery
- Implement correction module with ARM DSP matrix operations for sensor calibration
- Add data storage system with SD card logging and configurable file management
- Integrate system monitor for health tracking and error reporting
- Enhance data packet structure with CRC validation and timestamps
- Add USB mass storage interface for SD card access
- Implement comprehensive error handling and statistics collection
2026-01-25 18:15:13 +08:00
8d9bcd092b
init
2026-01-25 17:16:17 +08:00