新闻中心

EEPW首页 > 测试测量 > 设计应用 > 便携式多点温度同步采集系统设计

便携式多点温度同步采集系统设计

作者:时间:2011-09-13来源:网络收藏


2 系统软件设计
系统中,STM32F103VC完成无线通信、检测、参数输入与显示、SD卡读写等功能。整个系统软件部分包括主程序、人机接口程序、无线通信程序、SD卡读写程序、文件系统程序、计算程序、实时时间读取、自诊断等功能模块。由于软件较复杂,所以实际编程中嵌入了μC/OS-Ⅱ实时操作系统。
2.1 μC/OS-Ⅱ实时操作系统
μC/OS-Ⅱ实时操作系统是真正源码公开的,采用占先式的实时内核,支持多达56个用户任务,稳定性和可靠性高,而且移植方便,占用内存小。μC/OS-Ⅱ实时操作系统中各任务要分配不同的优先级,优先级用数字表示,数字越小其优先级越高。针对本系统中各任务的重要性,为各任务分配了表1所示的优先级。

本文引用地址:http://www.eepw.com.cn/article/194741.htm

d.jpg


2.2 无线通信程序
无线通信程序主要完成基于NRF24L01的数据发送和接收,要严格遵守其发送及接收时序。由于温度采集时每个系统都可能成为发出同步启动信号的主机,因此采集前NRF24L01都配置为接受模式。若某个系统检测到已满足启动条件,则自动配置为发送模式,将同步启动信号发送给其它系统,于是开始。将NRF24L01配置为增强型ShockBurst模式并启动自动应答,这样可以在接收方接收到信号后自动产生应答以确认通信的正确性,发送方未收到应答则会自动重发,无需增加控制器的工作量。
2.3 SD卡读写程序
本系统SD卡采用了FatFS文件系统以方便将SD卡内的数据通过读卡器导入到上位计算机。FatFS是一种通用的文件系统模块,在小型嵌入式系统中实现FAT文件系统。FatFS文件系统使用非常方便,因为FatFS模块完全与磁盘I/O层分开,因此只需要改写对应的函数来实现底层物理磁盘的读写与获取当前时间即可。本设计中应用到这几个函数:disk_initialize用来初始化磁盘驱动器,这里初始化SD卡;disk_read用来读SD卡扇区;disk_write用来写SD卡扇区;disk_ioctl用来控制与设备相关的特性;get_fattime用来获取当前时间,为文件加盖时间戳。时间的获取采用读STM32内部RTC的方式实现,为此,要在RTC的备用电池引脚接3V的纽扣电池,以实现掉电后的时间维持。

3 实验参数
实验表明,NRF24L01芯片在2 Mbit/s的传输速率下,若SPI总线速率控制为4 Mbit/s,则主机发送从机地址与一个字节数据需要90μs左右的时间延迟,因此无线的时问误差可控制在90μs。若主机发送完同步信号后延迟90μs再启动采样,则同步采集的时间误差可控制在10μs内,可满足绝大部分同步采集的需要。经测试,只加板载天线时无线传输距离在空旷地可达50 m,若使用专用天线,则无线传输距离可达150 m,适用于多种测量领域。

4 结束语
本文所设计的温度同步采集系统具有成本低、精度高及可靠性高、通信距离远、存储容量大等优点,调节电位器即可实现温度量程的调节,既适用常温范围测量,又适用于工业温度范围测量。同步采集后的数据很容易在计算机中进行分析、处理及打印等。将温度调理电路做少量修改即可实现对压力、湿度等其它物理量的同步采集,因此应用领域广泛。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭