×
单片机 > 单片机程序设计 > 详情

ZigBee模块的运动数据采集与传输设计

发布时间:2021-08-03 发布时间:
|

    ADI公司的ADIS16355提供完全的三轴惯性检测(角度运动与线性运动)。内核采用iMEMS传感器技术,内置嵌入式处理器用于传感器校准与调谐;采用SPI接口,方便连接与编程;具有±10 g测试范围,环境温度在-40~+85℃;具有可编程的功率控制能力和可编程的滤波器设计;超小型模块尺寸,应用非常广泛。利用ARM7微处理器LPC2148对其进行数据的采集并存储在SD卡中,以便后续数据传输。该套系统应用非常广,可以作为医疗方面病人康复的数据采集分析系统,也可以作为运动器材的数据采集分析控制系统。

1 系统整体设计

1.1 系统架构

    整个数据采集传输系统结构如图1所示。利用LPC2148对ADIS16355进行控制并负责把采集的数据送往SD卡,数据在存储的同时可以利用ZigBee模块进行无线的发送,送往客户端接收处理。在接收端,可以利用客户端平台进行观测处理采集的数据;也可以通过把SD卡取下来放PC机上进行分析。

1.2 电路设计

    整个设计分为3部分:ADIS16355数据采集、ZigBee数据发送、SD卡数据存储。

    (1)数据采集与发送电路

    电路连接如图2所示。ADIS16355提供了SPI接口,主要由4个引脚构成:SCLK0、MOSI0、MISO0及SSEL0。其中SCLK0是整个SPI总线的公用时钟引脚,MOSI0、MIS0为主机、从机的输入输出引脚。SSEL0是从机的标志引脚,对于相互通信的两个SPI总线的器件,SSEL0引脚电平低的是从机,电平高的是主机。

    发送模块采用ZigBee模块。在数据传输接口电路方面提供了通用异步收发模式(UART),主要有RXD1、TXD1、DTR1。RXD1为数据的发送,TXD1为数据的接收;DTR1作为ZigBee模块的控制,可以通过主控芯片LPC2148控制该引脚来对ZigBee模块的功率进行控制,在数据不向外发送时,使该模块工作在睡眠模式。

    (2)存储电路

    考虑到系统携带的方便性以及对于数据存储量大和低功耗的需求,选择了SD卡。SD卡有两种接口协议模式,分别为SD模式与SPI模式,不同的模式下各个引脚的定义不同。在具体的通信中,主机LPC2148只能选择一种通信模式,卡会自动检测复位命令的模式,而且在以后的通信中都会按照该种通信模式进行通信。

    LPC2148自带了硬件接口SPI,所以使用SPI接口访问卡是很方便的。在图3的电路设计中给出了4条线,SSEL1是主机LPC2148向卡发送的片选信号、MOS11是主机向卡发送的单向数据信号、SCLK1是主机向卡发送的时钟信号、MISO1是卡向主机发送的单向数据信号。

1.3 系统设计中功耗的考虑

    在数据采集传输方面,要求使用方便且工作时间长,所以在供电方面采用了可充电电池,这就对系统的功耗提出了一个要求,即必须是低功耗的,使系统能长达数月连续工作。LPC2148采用了精简指令的32位高速处理器,供电电压为3.3 V,内核电压2.5 V,芯片功耗是比较低的。

    传感器模块ADIS16355与ZigBee传输模块都具有可编程的功耗控制,通过设置寄存器数据可以使其在待机模式下进入睡眠模式,充分满足系统设计要求。经测试,系统在利用自制的可充电7 V电池,容量为1 300 mAh的供电条件下,可以连续工作4~5个月。

2 软件设计

    系统软件设计主要分为3部分:SD卡的读写、传感器数据采集、ZigBee数据收发,程序的流程如图3所示。对于固件的程序开发采用Keil uVision3来完成,然后利用Keil ULINK2仿真器进行下载调试。

    在此给出三轴传感器ADIS16355数据采集的部分实现程序:


3 性能测试

    该套数据采集设备采用了无线的ZigBee传输模块构成自组织网络,实测最大的无障碍通信距离可以达到400 m左右。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32单片机的复用端口初始化的步骤及方法