一种DSP和nRF24L01的无线环境监测系统的设计-设计应用_第1页
一种DSP和nRF24L01的无线环境监测系统的设计-设计应用_第2页
一种DSP和nRF24L01的无线环境监测系统的设计-设计应用_第3页
一种DSP和nRF24L01的无线环境监测系统的设计-设计应用_第4页
一种DSP和nRF24L01的无线环境监测系统的设计-设计应用_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑一种DSP和nRF24L01的无线环境监测系统的设计-设计应用本文基于DSP和nRF24L01设计了一种无线环境监测系统。该系统操作简便、测量迅速、造价低廉、便于携带,能满足一定灵敏度和准确度的要求,且采用无线数据通信作为传输载体,可应用于蔬菜大棚、生产车间、温室、矿井等场所的温度、光度监测与控制系统。

例如,在蔬菜大棚中,蔬菜生长的适宜温度为20~30℃,大棚内白天增温快,当棚外平均气温为15℃时,棚内可达40~50℃,不利于蔬菜生长。同样,适当的光照强度对植物体内的硝酸盐代谢起极为重要的作用,是决定植株硝酸盐含量的主要因素之一,但过弱或过强的光照也不利于蔬菜的生长。因此,需要根据监测值适时调节棚内温度,以有效地避免不当的温度、光照对蔬菜的危害。

1、方案论证

本无线环境监测系统是由一个主站和两个分站组成。主站由无线收发模块、信息处理模块、显示模块构成,功能是无线发送分站的编号和命令,并无线接收分站发送的信息,同时显示这些信息及分站的编号;分站由传感器模块、编码模块、信息处理模块、显示模块和无线收发模块构成,功能是采集温度、光照信息,显示所测信息,并将这些信息和自己的编号无线传输给主站。系统结构图如图1所示。

1.1、主控模块

本方案中主控模块选择公司的DSP芯片TMS320LF2407。TMS320LF2407内置10位(双8路或单16路)A/D转换器、看门狗定时器模块;有41个可独立编程的数字I/O引脚,绝大部分有复用功能;外设接口有串行通信SCI(SerialCommunicaonInterface)与串行外设SPI(SerialPeriphera1Interface);2个事件管理器EVA、EVB可为所有类型电机提供控制技术,为工业自动化方面的应用奠定了基础;2个16位通用定时器,3个具有死区功能的全比较单元。

较MCS-51系列单片机而言,TMS320LF2407内部有32KB的Flash程序存储器和2.5KB的SRAM,更能满足软件对空间的要求,且方便在线调试。利用其内置的10位A/D转换器,可以直接接温度、光度传感器模块,将测得的温度值、光照强度值等模拟量转换为TMS320LF2407可以处理的数字信息,避免了用MCS51进行A/D扩展带来的麻烦。另外,TMS320LF2407有41个可独立编程的数字I/O引脚,绝大部分有复用功能,更能满足硬件对I/O口的需求。使用TMS320LF2407的串行外设接口SPI,可以直接和无线传输模块nRF24L01提供的SPI接口相连,不需要软件模拟SPI。使用的开发环境是CCS3.0,完全支持C语言,方便程序编写。

1.2、传感器模块

选用光敏电阻来测量光照。较光敏二极管,光敏电阻更能显示出光的强弱;而且,它能够和热敏电阻应用到同一电路中。传感器模块电路如图2所示。

1.3、编码模块

选用跳线开关组成编码模块。与普通开关组成编码模块相比较,成本更加低廉。用两列排针(各8位):一列排针接到TMS320LF2407的I/O口,并经过10kΩ电阻接+5V电源VCC,另一列排针接地。两列排针对应的位用跳线帽相连时置0,否则为1。这样可以设置分站的编号0~255,即本系统多可以扩展256个分站,用来监测不同地点的当前环境温度、光度值。

1.4、无线传输模块

选用无线传输模块nRF24L01。它是一款工作在2.4~2.5GHz世界通用ISM频段的单片无线收发器芯片,采用FSK调制,内部集成自己的协议,有自动应答及自动重发功能、地址及CRC检验功能,可实现点对点或1对6的无线通信,无线通信速度可达2Mbps;而且,电流消耗极低,当工作在发射模式下发射功率为-6dBm时电流消耗为9mA,接收模式下为12.3mA。nRF24L01与PT2262/2272相比,不需要编码和解码,程序简单;与nRF905相比,外围元件更少,不需要曼彻斯特编码;与nRF401相比,价位更低。

TMS320LF2407只需为nRF24L01模块预留6个I/O口,分别与其6个控制和数据信号CSN、SCK、MISO、MOSI、IRQ、CE相连。TMS320LF2407与nRF24L01的连接电路如图3所示。

1.5、显示模块

选用型号为LG5011BSR的共阳极数码管,与液晶显示器相比,价格低廉。它由7段发光二极管组成,共有10只引脚。其中,3、8引脚为共阳极,其他引脚加低电平时对应的二极管就会亮,从而控制数码管显示相应的数值。

1.6、系统硬件结构

传感器模块是信息采集的枢纽。如图2所示,电源电压经稳压管TL431稳压到2.5V,提供给由普通电阻和热敏电阻组成的分压电路,以及普通电阻和光敏电阻组成的分压电路。热敏电阻分得的电压通过TO输出,接TMS320LF2407的ADCIN0;光敏电阻分得的电压通过LO输出,接TMS320LF2407的ADCIN1。利用读取A/D转换后的结果,并计算出对应的温度值和光线强度值,经查表输出显示。

无线传输模块是数据传输的。如图3所示,TMS320LF2407通过6个I/O端口(IOPC0,IOPC1,SPISIMO,SPISOMI,SPICLK,SPISTE),依次与nRF24L01模块的6个控制和数据信号IRQ、CE、MOSI、MISO、SCK、CSN相连。其中,CSN为芯片的片选线,CSN为低电平时芯片工作;SCK为芯片控制的时钟线;SOMI为芯片控制数据线;MOSI为芯片控制数据线;IRQ为中断信号,无线通信过程中DSP主要是通过SPI接口的SPISIM-O、SPISOMI与nRF24L01进行通信。CE为芯片的模式控制线,在CSN为低的情况下,CE协同nRF24L01的CONFIG寄存器共同决定nRF24L01的状态。

显示模块用TMS320LF2407的IOPB0、IOPB1来模拟串行发送数据的过程,外接串入并出移位寄存器74LS164构成。当需要显示信息时,数据从IOPB0端在移位脉冲(由IOPB1输出)的控制下逐位移入74LS164,74LS164能将输入的串行数据转换为并行数据输出到数码管。这样的设计不仅节省I/O口,而且不占用串口资源。编码模块通过IOPA0~IOPA7与DSP相连。

2、软件设计

系统的主站、分站程序流程如图4所示。主站程序主要包括初始化、无线发射、无线接收、数码管显示等部分;分站程序主要包括初始化、无线发射、无线接收、数据采集、数码管显示等部分。

2.1、初始化部分

将数据地址、数据显示区地址等内容初始化为0,设置数据显示区地址的内容,进行数码管显示,以进行系统自检。

for(i=0;i《3;i++){

DISHE();//调用要显示的内容

DISPLAY();//输出显示

DELLS();//延时

BLANK();//内容为0

DISPLAY();//显示

DELLS();//延时

}

2.2、无线发射部分

首先设置nRF24L01为发射模式(设置发射和接收节点地址),使能自动应答,配置自动重发次数,选择通信频率,配置发射参数,选择通道0有效数据宽度,配置nRF24L01的基本参数以及切换工作模式;然后设置发射数据,启动发射,发射完数据后会自动转入接收模式接收应答信号。

initNRF24L01();//初始化无线通信模块

PCDATDIR=0x2000;//置低SPISTE引脚,选

//通nRF24L01

while((SPISTS0x40)!=0x40){}//等待SPI写结束

readspibuf=SPITXBUF;//读SPIBUF寄存器,清

//除SPIINTFLAG位

nRF24L01TxPacket(TxBuf);//发送TxBuf中的数据

PCDATDIR=PCDATDIR0x0202;//置高CE,激活数据发送

2.3、无线接收部分

首先设置接收模式(即写接收节点地址),使能自动应答,通道0接收地址允许,选择通信频率,选择通道0有效数据宽度,配置发射参数,配置nRF24L01的基本参数以及切换工作模式;然后启动接收,130μs后开始检测空中数据,若收到,则数据模块会自动发射应答信号[5]。

SetRXMode();//数据接收配置

SPIRWReg(WRITEREG+STATUS,0xFF);

//nRF24L01读写寄存器函数

while((SPISTS0x40)!=0x400){}//等待SPI读结束

rdsbf1=SPITXBUF;//读取寄存器

PCDATDIR=0x2022;//置高SPISTE引脚,禁止nRF24L01

2.4、数据采集部分

分站对温度、光照、地址编号进行采集,通过读取I/O口得到地址编号的值,通过读取A/D来获得温度、光照的初值,经过DSP处理后得到准确的温度、光度值。

MAXCONV=0x0000;

CHSELSEQ1=0x0000;//第0通道

ADCTRL2=0x4000;//复位使排序器指针指向CONV00

ADCTRL2=0x2000;//启动A/D转换

while((ADCTRL20x1000)==0x1000);//等待转换完成

asm(“NOP”);

asm(“NOP”);

2.5、数码管显示部分

程序以模拟串口的方式实现数据显示,过程为:取一字节数据,移一位数据到I/O口中,通过置位另一I/O口高低电平来模拟时钟信号,即把数据一位一位地移到移位寄存器74LS164中,然后并行输出到数码管显示数据。

3、调试分析

3.1、系统板硬件部分调试

系统板硬件部分调试主要是万用表检查电路通断情况,并测量部分关键引脚的电压是否达到要求。

3.2、环境温度测量调试

首先,把标准温度计和热敏电阻同时放入冰水混合液中,标准温度计的示数为Y1,根据基础表值探测点显示为X1。接着,将它们放入沸水中,标准温度计的示数为Y2,根据基础表值探测点显示为X2,得出比例系数K=(X2-X1)/(Y2-Y1)=2。,在沸水和冰水混合液之间的温度内,测得标准温度Yi(i=3,4,…,30)和探测点显示值Xi(i=3,4,…,30)共28组,从而得到近似比例系数K=2±0.5。再通过软件部分进行数据的校准,建立温度数据表。终,将温度计和温度传感器置于同一环境下记录测得的温度值,如表1所列。

平均误差=(0.3+0.5+0.2+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论