基于FPGA的远程温度检测系统.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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接收到数据时,便开始发送模块,触发数据发送任务。 点对点发送函数:

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档