- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA的远程温度检测系统
评阅老师分 数
数字系统课程设计
班 级 13级信息过程1班
组 长 麦锐杰
组 员 刘清斌、方加鹏
题目要求
基于FPGA和ZigBee的远程温度检测系统:终端进行环境温度的检测,数据返回至控制端 ,实时显示检测到的温度。若温度超过阀值,LED灯闪烁报警。
设计方案
系统整体思路:温度传感器检测获取温度信息,通过ZigBee协议与FPGA控制板进行数据传输。
ZigBee模块1 + 温度传感器
ZigBee模块2
串行接口
FPGA
图1 系统整体框图
模块实现
ZigBee模块实现
zigbee介绍:
Zigbee是基于IEEE802.15.4标准的低功耗局域网协议,又称为紫蜂协议,其特点是近距离、低复杂度、自组织、低功耗、低数据速率。Zigbee协议从下到上分别分为物理层PHY、媒体访问控制层MAC、传输层TL、网络层NWK与应用层APL。
本课程设计中zigbee模块采用的是TI公司生产的CC2530F256芯片,符合2.4G_Hz IEEE802.15.4应用。协议栈使用的是TI公司搭建的Zstack,这是当前业界领先、应用面很广的协议栈,结合OSAL操作系统,使得用户在搭建系统、进行多任务分配方面有很大的便利性。其他协议栈还有freakz、msstatePan等。
DS18B20温度传感器:
DS18B20是当前市场主要的温度传感器之一,主要特性有以下几点:
适应电压范围广,电压范围在3.0V~5.5V,是多数单片机的供电电压,因此大多数在单片机上使用。
它具有一线总线的特点,在于微处理器连接时仅需要一条口线即可实现微处理器与DS18B20之间的双向通讯。
DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路类。
温度测量范围在-55℃ ~ 125℃,精度约为±0.5℃。
DS18B20温度采集部分:
定义DS18B20在CC2530上的输入脚为P0.7:P0DIR = 0x7f;
温度读取主函数如下:
unsigned char ReadDs18B20(void)
{
unsigned char V1,V2; //定义高低8位 缓冲
unsigned char temp; //定义温度缓冲寄存器
Ds18b20Initial();
Ds18b20Write(0xcc); // 跳过读序号列号的操作
Ds18b20Write(0x44); // 启动温度转换
Ds18b20Initial();
Ds18b20Write(0xcc); //跳过读序号列号的操作
Ds18b20Write(0xbe);
//读取温度寄存器等(共可读9个寄存器) 前两个就是温度
V1 = Ds18b20Read(); //低位
V2 = Ds18b20Read(); //高位
temp = ((V1 4)+((V2 0x07)*16)); //转换数据
return temp;
}
我们从DS1B20读取到用字符串表示的温度值temp,将其送入cc2530模块准备进行发送。
Zigbee发送部分:
Zigbee工作模式选取:
采用点播方式,给zigbee协调器定义短地址为0x0000:
SampleApp_P2P_DstAddr.addr.shortAddr = 0x0000; //协调器短地址
给zigbee终端定义短地址为0xFFFF:
SampleApp_Periodic_DstAddr.addr.shortAddr = 0xFFFF;//终端短地址
串口模式修改:
我们在FPGA开发板设计的串口规格是:9600波特率、8位数据位、1位停止位、无奇偶校验位。因此zigbee的串口规格应该也改为与其相同,因此在stack的串口定义函数MT_UART.c进行相应的修改:
#define MT_UART_DEFAULT_BAUDRATE HAL_UART_BR_9600//波特率定为9600.
uartConfig.callBackFunc = NULL;//关闭zigbee串口的回调。
zigbee终端与协调器网络搭建过程:
图2 ZigBee终端与协调器网络搭建过程
终端数据发送过程:
当zigbee终端模块从DS18B20接收到数据时,便开始发送模块,触发数据发送任务。
点对点发送函数:
您可能关注的文档
最近下载
- (YUM)百胜验厂审核详细要求清单.pdf VIP
- 四上数学口算竖式脱式应用题每日一练60天(60页).pdf VIP
- 《云南彝良地区地质构造特征探讨.docx VIP
- 三上数学口算竖式脱式应用题每日一练60天(60页).pdf VIP
- 2025年新青岛版数学三年级上册全册课件.pptx
- 《旅游客源地与目的地概况》教案 第1课 了解世界旅游业(一).pdf VIP
- 人教版劳动教育四年级上册全册教学设计.pdf VIP
- 2022年国家人体生物监测工作手册.pdf VIP
- 电子课件自主学习修订版第一单元开启自主学习的旅程.pptx VIP
- JBT 4333.2-2013 厢式压滤机和板框压滤机 第2部分:技术条件.pdf VIP
文档评论(0)