加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

【RT-Thread作品秀】车载环境参数采集终端

2020/12/22
599
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
方块图(3)
  • 方案介绍
  • 相关文件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

概述

车载环境参数采集终端基于STM32H750 系列芯片(RT-ART-PI开发板)开发,支持采集多种环境参数,包括车内温度,湿度,气压,噪音,有毒有害气体,车辆震动冲击加速度等。本地通过串口与 PC 端通讯,上位机实时显示并存储数据。该系统适用于记录车辆的行驶车况及车内的环境参数等。

开发环境

硬件:STM32H750-RT-ART-Pi开发板

扩展板:博士BME280温湿度气压三合一传感器扩展板、ADI ADXL375扩展板、精讯畅通CO、NH3有害气体模组、噪声板卡等。

RT-Thread版本:RT-Thread V 4.0.2

开发工具及版本:RT-Thread-Studio

RT-Thread使用情况概述

内核部分:调度器,信号量,线程,中断,设备。

调度器:创建多个线程来实现不同的工作。

信号量:用来同步线程和资源分配。

SPI框架:使用 SPI 框架来驱动ADXL375。

I2C框架:使用 I2C 框架来驱动BME280。

串口驱动框架:使用串口框架来采集CO浓度,NH3浓度和噪音分贝。

设备:使用了SPI总线,SPI设备,uart,I2C总线等。

硬件框架

软件框架

MCU 上电之后初始化外设接口和传感器工作参数配置,之后会持续获取传感器采样值并通过串口以50Hz的速率发送数据到上位机。

软件模块说明

设备:

UART:  uart1、uart4

SPI:SPI2总线,SPI20设备(ADXL375)

I2C:  I2C4

PIN:GPIOI8、GPIOC15、GPIOD13、GPIOH4

线程

1、LED_Blink:  LED闪烁线程,用来指示当前系统的运行状态,输出数据时蓝灯闪烁,否则红灯闪烁。

2、Print_Task:  通过串口4将采集到的数据以50Hz频率、字符形式上传至PC端。

3、Noise_Task:  通过串口1以5Hz的速率读取噪音分贝。

4、NH3_Task:  通过串口1以2Hz的速率读取NH3气体浓度。

5、CO_Task:  通过串口1以2Hz的速率读取CO气体浓度。

6、BMP280_Task:  通过I2C4读取读取温度、湿度、气压等原始数据并转换为实际数值。

7、ADXL375_Task:  通过SPI2总线读取加速度数值,加速度采样频率为3200Hz,并记录20ms内绝对最大值。

8、button_Task:    读取GPIOH4电平,低电平输出数据,高电平停止输出。

信号量:

1、water_mark_sem:  ADXL375水印中断,通过GPIOD13中断输入,用来同步ADXL375_Task 线程及时从器件FIFO中读取样本。

2、serial1_sem: 用来指示串口1可用状况,线程CO_Task、NH3_Task、Noise_Task会先获取此信号量,只有获取到之后才能使用串口1,并在使用完之后释放此信号量。此信号量用来避免串口访问冲突。

3、serial1_tx_sem:  串口1通过中断模式发送数据,此信号指示数据发送完成。

4、serial1_rx_sem: 串口1通过中断模式接收数据,此信号指示数据接收完成。

演示效果

比赛感悟

非常感谢主办方提供的这次契机,让我有幸一窥当下MCU发展的主流趋势。通过学习RT-Thread,我学到了很多很多以前从未接触到的概念,编程思想等等,让我对MCU编程有了全新的认识。尤其是其  对象  的概念,让我对嵌入式编程有了全新的理解。在此之前我还在裸机,寄存器,外设,驱动包等等之间徘徊,深陷其中不能自拔。偶然有幸接触到RT-Thread,让我醍醐灌顶。原来还有这样骚操作。

遥想大学还在玩51,毕业之后种种原因并未从事单片机嵌入式方向的工作。转眼间五六年过去,去年重拾MCU,又误入AVR mage64系列(手动狗头)。当真正开始学习STM32系列单片机系列之后,和寄存器大眼瞪小眼,外设五花八门,标准库,HAL库等等资料多到眼花缭乱,各种参考资料久久不得啃下,自学之路崎岖又坎坷。此次大赛有幸初次相识RT-thread,一见方恨晚。

时代的发展,MCU的性能也越来越强,万物互联的需求也愈加强烈,使用RTOS来实现物与网的链接,是时代发展的潮流。接下来的嵌入式开发里紧绕RT-Thread这颗大树,汲取难得的养料。

最后感谢主办方提供了这么好的一个平台,不仅能展示自我,也能学到很多知识,还要感谢论坛上那些解决我问题以及制作软件包的大佬,希望有朝一日我也能给开源社区贡献一份自己力量。

  • RT-Thread_ENV0.2.zip
  • 代码地址.txt
  • 车载环境参数采集终端设计说明.docx

相关推荐

电子产业图谱