通信新技术综合训练报告(6)

2018-12-09 16:58

实验八 ADC及数据采集实验

一、实验内容

1. 分别为 Coordinator 和 EndDevice 设计一个程序:按动 EndDevice 的不同按钮能够分别采集电压和温度值,并向 Coordinator 发送,再由 Coordinator 经串口转发给 PC 机,串口调试工具输出窗口能够看到相关信息。

2. 分别为 Coordinator 和 Router 设计一个程序:Router 能够定期采集电压和温度值,显示在LCD 上,并向 Coordinator 发送,再由 Coordinator 经串口转发给 PC 机,串口调试工具输出窗口能够实时看到相关信息。

二、实验原理

1. A/D转换

在无线传感器网络应用中,一种典型的高精度转换是采用逐次逼近的12位ADC,有6路单通道输入:4路外部输入,1路连接内部温度传感器,1路连接内部电源监控电路,其A/D转换在JN5139芯片内部结构如图8-1所示。

2. 主要函数

(1)2. vAHI_ApConfigure( ) 函数

该函数的功能是配置模拟外围稳压电源。为ADC和DAC设置采样周期和采样频率,以及使能中断并选择参考电压。模拟外围稳压电源可以为比较器配置功能提供电力。(2)vAHI_AdcEnable( ) 函数 使能ADC并设置操作模式。 (3) bAHI_AdcPoll( ) 函数 查询ADC是否完成ADC转换。

通信新技术综合训练报告 实验八 ADC及数据采集实验

(4) u16AHI_AdcRead( ) 函数

读最近的ADC转换结果,它的值由12位二进制位构成 3 温度传感器

(1)、DS18B20温度传感器

DS18B20采用单总线技术,既可通过串行口,也可通过其它I/O口与JN5139进行数据交换,无需经过其它变换电路,直接输出被测温度值(9-12位二进制数,含符号位),测温范围为-55℃至+125℃,测量分辨率为0.0625℃,误差0.5℃。其引脚及与JN5139接口如图8-2所示。

(2) .ReadTemperature( )函数

读取温度传感器DS18B20采集的温度值(整数)。 注:调用该函数需要将DS18B20.c,DS18B20.h文件加入到工程源文件夹中,并在工程C文件中添加#include

\。

三、软件设计

1. 程序流程图:

开始初始化建网成功入网N成功NTimer中断NNNSW3Y关闭定时器SW0Y开启定时器NSW2采集电压LCD显示SW1Y 采集温度LCD显示YYjc%2==0N采集温度显示并发送数据采集电压显示并发送数据Coordinator接受数据,写入PC串口

分析流程图:实验一和实验二用同一个程序实现;建网入网成功后,扫描按键是否按下,按下SW1采集电压并发送并LCD显示,SW2采集温度,SW0开启定时器,使用定时器采集电压

27

通信新技术综合训练报告 实验八 ADC及数据采集实验 温度发送。SW3按下关闭定时器。Sw3时功能选择开关。

四、实验结果与分析

1. 实验现象:按动EndDevice的分别按键SW1、SW2,PC机的串口调试工具输出窗口上分别显示电压和温度值。并在LCD上显示。按下SW0开启定时器,定时时间2s,分别采集电压和温度显示在LCD上,并经Coordinator发个串口显示在PC机。发现采集电压时间长。 分析:通过按键SW3来选择,按下SW1发送采集电压,按下SW2采集温度。当检测到按键SW0按下时,就启动定时器来定时发送电机电压和温度。采集电压时要经历过四个定时中断响应。

五、存在问题和解决方法

1. 在通过按键采集电压和温度时,不存在问题,但是采用定时器来采集电压时:出现采集温度四次采集电压1次。即显示了四次温度采集和一次电压采集数据。经过老师的分析:对程序进行分析发现。在采集电压时我们需要四次定时器中断响应,而温度只需要一次,在采集电压时会采集三次温度并显示。知道错误后,于是将标识符变量的自加功能放在采集电压完成的地方,就解决了错误。

28

实验九 休眠和掉电保护实验

一、实验内容

1. 分别为 Coordinator 和 EndDevice 设计一个程序:按动 EndDevice 的不同按钮能够唤醒

EndDevice 并分别用 来采集电压、 温度值、电 压和温度值, 向 Coordinator 发送,再由

Coordinator 经串口转发给 PC 机,串口调试工具输出窗口能够看到相关信息。 2. 分别为 Coordinator 和 EndDevice 设计一个程序:由 PC机经串口发送字符串给 Coordinator,再转发给 EndDevice,Coordinator 和 EndDevice 掉电后再上电,EndDevice 将该字符串发送给 Coordinator,再由 Coordinator 经串口转发给 PC 机,串口调试工具输出窗口能够实时看到相关信息。

二、实验原理

1. JN5121/JN513x 微控制器有几种低功耗的睡眠模式。我们只采用了其中一种模式来讲:

(1)Sleep with Memory Hold:除 RAM 中的内容保持外,和 Sleep 模式相似。

即程序保

留在内存中,同时变量仍然有效。唤醒后,程序从 AppWarmStart( ) 函数开始执行。需要注

意的是,在睡眠中尽管内存保持不变,但唤醒后,仍然有必要重新配置 IEEE 802.15.4 协议

栈和重新初始化大部分外设,比如除 DIO、唤醒定时器、比较器以外的所有外设、IEEE 802.15.4 和可编程中断控制器(PIC),如果使用回调模式,则回调函数必须重新注册。 2. 唤醒源

JN5121/JN513x微控制器提供了三种不同类型的唤醒源,它们是:

(1) DIO 引脚电平改变。JN5121/JN513x微控制器有21个DIO 引脚,每个引脚都可以

通信新技术综合训练报告 实验八 ADC及数据采集实验

独立地配置,通过电平的转换引起唤醒中断。需要用到的引脚必须配置为输入,并使能中断。

(2) 比较器(Comparator)引脚电平改变。可将比较器配置成当它的输出发生变化时产生 中断。

(3) Wake Timer 事件。JN5121/JN513x微控制器包括两个独立的32位唤醒定时器,时钟

由 32kHz晶振提供,被编程后能产生唤醒事件。

3. 主要函数:

(1) vBosRequestSleep( )函数

该函数使结点进入休眠状态,它是 BOS 提供的函数,该函数的原型如下: void vBosRequestSleep(bool_t bMemHold);

参数 bMemHold 为 TRUE,使结点进入内存保持休眠状态;为 FALSE,使结点进入内 存不保持休眠状态。

(2) vAHI_WakeTimerEnable ( )函数

唤醒定时中断使能,该函数的原型如下:

void vAHI_WakeTimerEnable(uint8 u8Timer, bool_t bIntEnable);

参 数 u8Timer 为 休 眠 定 时 器 标 识 , 可 选 择 E_AHI_WAKE_TIMER_0 和 E_AHI_WAKE_TIMER_1 其中之一;参数 bIntEnable 为休眠定时中断触发使能,为 TRUE, 休眠定时中断触发使能,为 FALSE,休眠定时中断触发屏蔽。 (3) vAHI_WakeTimerStart ( )函数

唤醒定时时间设置,该函数的原型如下:

void vAHI_WakeTimerStart (uint8 u8Timer,uint32 u32Count);

参 数 u8Timer 为 休 眠 定 时 器 标 识 , 可 选 择 E_AHI_WAKE_TIMER_0 和 E_AHI_WAKE_TIMER_1 其中之一;参数 u32Count 为 32kHz 时钟周期数,例如 32 表示 1 毫秒。

(4). vAHI_WakeTimerStop ( )函数 停止唤醒定时器。

(5)u32AHI_WakeTimerCalibrate ( )函数 唤醒定时器定时时间修正

在使用该函数前,唤醒定时器(0和1)必须使用 u8AHI_WakeTimerFiredStatus()函数清除,否则返回错误结果。

(6)u8AHI_WakeTimerFiredStatus( )函数 唤醒定时器触发状态检测, (7)vAppSaveContexts( )函数

保存协议栈环境数据和应用数据到flash, (8)vAppGetContexts ( )函数 恢复协议栈环境数据和应用数据

三、软件设计

1. 程序流程图:

30


通信新技术综合训练报告(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:蒙脱土性质研究

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: