本文基于dsp和nrf24l01设计了一种无线环境监测系统。该系统操作简便、测量迅速、造价低廉、便于携带,能满足一定灵敏度和准确度的要求,且采用无线数据通信作为传输载体,可应用于蔬菜大棚、生产车间、温室、矿井等场所的温度、光度监测与控制系统。
例如,在蔬菜大棚中,蔬菜生长的适宜温度为20~30℃,大棚内白天增温快,当棚外平均气温为15℃时,棚内可达40~50℃,不利于蔬菜生长。同样,适当的光照强度对植物体内的硝酸盐代谢起极为重要的作用,是决定植株硝酸盐含量的主要因素之一,但过弱或过强的光照也不利于蔬菜的生长。因此,需要根据监测值适时调节棚内温度,以有效地避免不当的温度、光照对蔬菜的危害。
1、方案论证
本无线环境监测系统是由一个主站和两个分站组成。主站由无线收发模块、信息处理模块、显示模块构成,功能是无线发送分站的编号和命令,并无线接收分站发送的信息,同时显示这些信息及分站的编号;分站由传感器模块、编码模块、信息处理模块、显示模块和无线收发模块构成,功能是采集温度、光照信息,显示所测信息,并将这些信息和自己的编号无线传输给主站。系统结构图如图1所示。
1.1、主控模块
本方案中主控模块选择ti公司的dsp芯片tms320lf2407。tms320lf2407内置10位(双8路或单16路)a/d转换器、看门狗定时器模块;有41个可独立编程的数字i/o引脚,绝大部分有复用功能;外设接口有串行通信sci(serialcommunicationinterface)与串行外设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((spists&0x40)!=0x40){}//等待spi写结束
readspibuf=spitxbuf;//读spibuf寄存器,清
//除spiintflag位
nrf24l01txpacket(txbuf);//发送txbuf中的数据
pcdatdir=pcdatdir&0x0202;//置高ce,激活数据发送
2.3、无线接收部分
首先设置接收模式(即写接收节点地址),使能自动应答,通道0接收地址允许,选择通信频率,选择通道0有效数据宽度,配置发射参数,配置nrf24l01的基本参数以及切换工作模式;然后启动接收,130μs后开始检测空中数据,若收到,则数据模块会自动发射应答信号[5]。
setrxmode();//数据接收配置
spirwreg(writereg+status,0xff);
//nrf24l01读写寄存器函数
while((spists&0x40)!=0x400){}//等待spi读结束
rdsbf1=spitxbuf;//读取寄存器
pcdatdir=0x2020;//置高spiste引脚,禁止nrf24l01
2.4、数据采集部分
分站对温度、光照、地址编号进行采集,通过读取i/o口得到地址编号的值,通过读取a/d来获得温度、光照的最初值,经过dsp处理后得到准确的温度、光度值。
maxconv=0x0000;
chselseq1=0x0000;//第0通道
adctrl2=0x4000;//复位使排序器指针指向conv00
adctrl2=0x2000;//启动a/d转换
while((adctrl2&0x1000)==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+0.5+0.6)℃/5=0.42℃
平均响应时间=(1.0+1.2+1.0+1.0+1.0)s/5=1.04s
4、结语
本文介绍的无线环境监测系统的控制采用tms320lf2407实现。tms320lf2407内部资源丰富,既有a/d转换器,又有spi、sci,省去了系统扩展的麻烦;另外,i/o口比较多,内部存储空间较大,有利于系统功能扩充。无线部分采用高度集成的nrf24l01器件,大大简化了系统硬件和软件设计,减小了体积,提高了系统工作的可靠性。
SSD联盟首度参加2009台北Computex,展示SSDA
多晶硅光伏全产业链碳排放计算方法
WIFI热点给物联网的应用提供了什么
上海商发制造:提出打造国内首个商用航空发动机智能工厂的战略规划
日本科学家推出一款蜈蚣机器人教具,可完美的仿蜈蚣进行爬行动作
一种DSP和nRF24L01的无线环境监测系统的设计
μModule稳压器如何适应如此小的空间
魅族15 PLUS拆解:看到了黄章的用心良苦
四种常见的人机识别策略,区分不同用户的机制
龙芯中科被指违约侵权IPO或将遇阻
内置晶体实时时钟(RTC)优势概述
神威E级超算原型机正式启用,核心器件全部为国产化
重庆电信成功完成了国内首个开放道路基于5G的远程驾驶
普通照明用LED光源的特性
京东手机618竞速角逐激烈,诺基亚等“第二梯队”强势追击
Spectrum仪器旗下数字化仪和任意波形发生器新增数字脉冲发生器功能
HT8731内置自适应H类升压和防破音功能的D类及AB类音频功率放大器
Kusama测试网是否会颠覆以往区块链世界的规则
三路集总元件功率分配器和合成器MCLI
5G有望实现全球统一标准 华为/中兴专利储备提升话语权