基于nrf905的温室温度测控系统研究_本科毕业论文(编辑修改稿)内容摘要:
存存储器中的第五个字节 ,DS18B20 在工作时按此寄存器中的分辨率将温度转换成相应精度的数值。 微控制器 STC89C52 本系统采用单 片机 STC89C52 作为温度采集点和控制端的微处理器,基于单片机的控制系统开发容易、系统小巧、功耗低、成本低廉、性价比高。 STC89C52 是 STC 公司生产的一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。 STC89C52 使用经典的 MCS51 内核,但做了很多的改进使得芯片具有传统 51 单片机不具备的功能。 在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 STC89C52 为众多嵌入式控制应用系统提供 灵活、 有效的解决方案。 STC89C52 的主要性能参数: (1)STC89C52 支持在线可编程 (ISP)写入技术 ,改写单片机存储器内的程序不需要把芯片从工作环境中剥离,串行写入、速度更快、稳定性更好; (2)工作频率 范围: 0~ 40MHz。 (3)通用异步 串行口 ( UART),还可用定时器 软件 实现多个 UART; (4)内部集成看门狗计时器,无需外接看门狗计时器单元电路; (5)工作电压: ~ ( 5V 单片机 ) /~ ( 3V 单片机) ; (6)工作温度范围: 40~ +85℃ (工业级) /0~ 75℃ (商业级) ; (7)外部中断 4 路,下降沿中断或低电平触发 电路, Power Down 模式可由外部中断低电平触发 中断方式 唤醒 ; (8)通用 I/O 口( 32 个),复位后为: P0/P1/P2/P3 是 准双向口 /弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻 ; GND I/O UDD 内部 UDD C VD2 VD1 64 位ROM和 单线接口 存储器和控制逻辑 便笺式RAM 温度传感器 8 位 CRC 发生器 配置寄存器 高温寄存器 低温寄存器 电源检测 图 22 DS18B20 的内部电路框图 无线射频模块 本系统采用射频模块 nRF905 作为无线传输的媒介。 1. nRF905 无线模块特点 (1)433Mhz 开放 ISM 频段免许可证使用 ; (2)最高工作速率 50kbps,高效 GFSK 调制,抗干扰能力强,特别适合工业控制 场合; (3)125 频道,满足多点通信和跳频通信需要 ; (4)内置硬件 CRC 检错和点对多点通信地址控制 ; (5)低功耗 工作,待机模式下状态仅为 ; (6)收发模式切换时间 650us ; (7)模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示 ),可直接接各种单片机使用,软件编程非常方便 ; (8)TX Mode: 在 +10dBm 情况下 ,电流为 30mA。 RX Mode: ; (9)标准 DIP 间距接口,便于嵌入式应用 ; 2. nRF905 接口电路管脚说明 nRF905 接口电路管脚说明 如 下 表 21 所示。 管脚 名称 管脚功能 说明 1 VCC 电源 电源 +~ DC 2 TX_EN 数字输入 TX_EN=1 TX 模式 TX_EN=0 RX 模式 3 TRX_CE 数字输入 使能芯片发射或接收 4 PWR_UP 数字输入 芯片上电 5 uCLK 时钟输出 本模块该脚废弃不用,向后兼容 6 CD 数字输 出 载波检测 7 AM 数字输出 地址匹配 8 DR 数字输出 接收或发射数据完成 9 MISO SPI 接口 SPI 输出 10 MOSI SPI 接口 SPI 输入 11 SCK SPI 时钟 SPI 时钟 12 CSN SPI 使能 SPI 使能 13 GND 地 接地 14 GND 地 接地 表 21 接口电路管脚说明 硬件电路设计 电源电路设计 电源是系统运行的基础,由于线性电源输出端的纹波小,且在电磁干扰和电源纯净性方面都优于开关电源 ,因此 本系统所需电源都采用线性电源。 系统由 9V 充电电池供 电,通过三端集成稳压器 LM780 组成的串联型直流稳压电路提供系统所需的直流电源 +5V、 +,电源电路 [2326]如图 23 所 示。 图 23 系统电源电路图 9V 电池经过三端稳压器 LM7805 输出 +5V 电压, +5V 电压给单片机 STC89SC5温度传感器、 LCD160蜂鸣器、继电器等供电; LM7805 的输出电压 +5V 经三端稳压芯片 获得 电压,为 NRF905 射频模块 提供工作电压; 根据电源设计规则以及实验条件,在进行本系统电源设计时,三 端稳压器 LM780 的输入、输出端采用 47181。 F/16V 电解电容和 104(容值: )独石电容搭配使用;其中耐压 16V、容值 47181。 F 的电解电容用来支撑输出电压, 104 独石电容用来旁路高频干扰;在 PCB 布线时输入、输出端的电容尽量靠近稳压模块。 温度采集电路 温度采集电路 [27,28]如图 24 所示。 DS18B20 的数据输入输出脚 (DQ)与单片机STC89C52 的 口相连,进行数据和时钟的传输。 单总线通常要求外接一个大约 的上拉电阻,这样,当总线闲置时 ,其状态为高电平。 图 24 温度采集电路 射频模块 nRF905外围电路 射频模块 nRF905 外围电路 如图 25 所示, nRF905 的 第 1 引脚 VCC 接 的 工作电压, nRF905 的工作模式由 TRX_CE、 TX_EN 和 PWR_UP 三个引脚决定 , nRF905 使用 SPI (Serial Peripheral Interface) 串行外设接口 与微 处理器之间进行 通信。 图 25 无线射频 电路 本章小结 本章 以温室温度为控制对象,研究了基于 无线射频 模块 nRF905 的温室温度 测控系统的硬件设计,包括系统各个部分的设计思想、电路原理 图 以及 核心 芯片的主要技术参数、特点等;为了实现系统的低成本和低功耗,在满足设计要求的前提下,尽可能使用了芯片内部功能和选择价格低廉、低功耗的元器件 ,达到了基本的设计要求。 第三章 基于 nRF905 的温室温度测控系统的软件实现 在测控系统设计中,软件的设计在很大程度上决定了测控系统的性能。 温度采集点和控制端的程序设计是在 Keil 181。 Vision2 开发环境下,采用 C 语言编写。 基于 nRF905 的温室温度测控系统的软件设计 主要 包括: 温度信号采集模块、 无 线传输模块 的程序设计。 温度采集模块程序设计 由于 DS18B20 采用的是单总线协议方式,即在一根数据线上实现数据的双向传输,而单片机 STC89C52 在硬件上不支持单总线协议,需要采用软件的方法来模拟单总线的协议时序来完成对 DS18B20 芯片的访问。 因此, DS18B20 测温软件的编写,需要严格遵循单总线协议,以保证数据的完整性。 DSl8B20 工作过程中的协议如下: 初始化; ROM 操作命令;存储器操作命令;处理数据。 每一次访问 DS18B20 时必须遵循这一顺序,如果其中的任何一步缺少或顺序混乱,DS18B20 将不会响应。 单总线上的所有处理均从初始化序列开始。 操作命令 [2729] 一旦总线主机检测到从器件的存在,即可根据具体情况发出器件相应的 ROM 操作命令,所有 ROM 操作命令均为 8 位二进制数。 (1)Read ROM(读 ROM)[33H]:允许总线主机读 DS18B20 的 8 位产品系列编码 、 唯一的 48 位序列号 、 8 位的 CRC。 (2)Match ROM(匹配 ROM)[55H]:允许总线主机对多点总线上待定的 DS18B20 寻址。 (3)Skip ROM(跳过 ROM)[CCH]:在单点 总线系统中,该命令通过允许主机不提供64 位 ROM 编码而直接访问存储器操作来节省时间。 (4)Search ROM(搜索 ROM)[F0H]:允许总线控制器用排除法识别总线上的所有从器件的 64 位编码。 (5)Alarm Search(告警搜索 )[ECH]:仅在最近一次温度测量出现告警的情况下,DS18B20 才对此命令作出响应。 告警的条件定义为温度高于 TH 或低于 TL。 DS18B20 一上电,告警条件就保持在设置状态,直到另一次温度测量显示出非告警值或者改变 TH 或TL 的设置,使得测量值再一次位于允许的范围之内,存储在 E2PROM 内的触发器值用于警 告。 (1)Write Scratchpad(写暂存存储器 )[4EH]:向 DS18B20 的暂存器中写入数据,开始位置在地址 2,接下来写入的两个字节将存在暂存器中的地址位置 2 和 3,可以在任何时刻发出复位命令来终止写入。 (2)Read Scratchpad(读暂存存储器 )[BEH]:读取暂存器的内容,读取数据将从字节 0开始,字节 8(CRC)结束,可以在任何时间发出复位命令中止读取。 (3)Copy Scratchpad(复制暂存存储器 )[48H]:将暂存器的 内容复制到 DS18B20 的E2PROM 存储器里,即把温度报警触发字节存入非易失性存储器里。 (4)Convert Temperature(温度变换 )[44H]:启动一次温度转换而无需 其它 数据。 温度转换命令被执行, DS18B20 保持等待状态。 如果总线控制器在这条指令之后发出读时间隙,而 DS18B20 忙于数据转换, DS18B20 输出 “0”;温度转换完成,输出 “1”。 如果使用寄生电源,总线控制器必须在这条命令发出后立即启动强上拉并保持 500ms。 (5)Recall E2PROM(重新调出 )[B8H]:将存储 在 E2PROM 中温度触发器的值重新调至暂存存储器。 (6)Read PowerSupply(读电源 )[B4H]:对于在此指令发送至 DS18B20 之后所发出的第一读数据的时间隙,器件都会给出其电源方式的信号: “0”为寄生电源供电, “1”为外部电源供电。 当温度转换命令发布后,经转换所得的温度值以 2 字节补码形式存放在高速暂存存储器的第 0 和第 1 字节,单片机可以通过单线接口读出该数据,低位在前,高位在后。 温度数据采集程序流程图如图 31 所示; 温度信号采集程序清单 见附录 1。 无线传输模块 的程序设计 nRF905 通过 SPI 与微控制器进行通信,只有在关机模式和待机模式下 nRF905 才能通过 SPI 接口进行通信, 因此微处理器 STC89C52 对 nRF905 进行读写操作前都应该将 nRF905 置于待机模式。 nRF905发送流程程序设计 nRF905 设置为待机模式, MCU 准备好数据要发送到目的节点,通过 SPI 口将目的节点的地址信息和有效数据信息传送到 nRF905 的发送寄存器中, MCU 设置 TRX_CE 和 TX_EN 为高来激活 nRF905 的发送模式。 nRF905 进入发送模式后,数据打包完成 (自动加字头和 CRC 校验码 ),数据包发送 (自是 否 向 DS18B20 发送初始化脉冲 开始 向 DS18B20 发送跳过 ROM 命令(CCH) 向 DS18B20 发送温度转换命令(44H) 转换结束。 向 DS18B20 发送初始化脉冲 向 DS18B20 发送跳过 ROM 命令(CCH) 向 DS18B20 发送读温度暂存器命令 (BEH) 图 31 温度数据采集程序流程图 读取数据 动进行数据曼彻斯特编码、 GFSK 调制、 100 kbps 速率发送 ),若 DR 信号置高则说明发送完成。 如果自动重发信号 (AUTO_RETRAN)被置高,则 nRF905 将不断地重发数据,直到 TRX_CE 被置低为止。 当 TRX_CE 被置低时, nRF905 会立刻结束正在发送的数据包,并将自己置为 standby 模式 [22]。 发送完成后需要设置为待机模式,发送程序流程图如图 32 所示。 nRF905 发送程序清单见附 录 2。 nRF905接收流程程序设计 当 TRX_CE 被置高,且 TX_EN 被置低时, NRF905 进入接收模式, 650 us 之后,nRF905 开始侦听信道;若 nRF905 监听到所要接收的频段的载波信号,则载波侦听信号 CD 被置高;若接收到的数据包地址有效,则地址匹配信号 AM 被置高;若循环校验码 CRC 检测正确,则 nNRF905 将去除数据包的字头,地址和 CRC 各位,并将数据准备好信号 DR 置高。 MCU 将 TRX_CE 信号置低,进入 standby 模式,并通过 SPI 口以一定的速率将 开始。基于nrf905的温室温度测控系统研究_本科毕业论文(编辑修改稿)
相关推荐
一个 jj 文本由下面几个部分构成: Options{}部分:这个部分对产生的语法分析器的特性进行说明,例如向前看的 token 的个数 (用来解除冲突 )。 这一部分是可以省略的,因为每一个选项都山东大学本科毕业论文 7 有默认值,当我们没有对某个选项进行说明时,它就采用默认值。 也可以把这些选项作为 JavaCC 命令的参数来启动 JavaCC,可以达到同样的效果。 分析器类的声明
lot ftNNN NN (33) 其中 sN 是一帧所包含的正交频分复用符号个数 , cN 是子载波数。 为满足优良的信道传输特性,时域抽样点数应和和频域抽样点数近似相等,即: m a x12d t c f df T N f N f T (34) 综上所述,根据已知的导频信息,便可获得信 道在导频位置的传输特性,进而获得整个信道的传输特性。
Simulator Version2) 是一款开放源代码的网络模拟软件,最初由加州大学伯克分校 ( UC Berkeley) 开发。 它最初的开发目的是为了研究大规模网络以及当前和未来网络协议的交互行为。 它为模拟研 究有线和无线网络上的 TCP/IP、路由和多播等协议提供了强有力的支持。 NS2 是一个开放源代码软件,任何人可以获得、使用和修改其源代码。 正 因为如此
8B20 会拉低总线,外部供电的 DS18B20 会继续保持总线高电平。 基于 nRF905 的无线温度采集系统的设计 14 6 nRF905 无线数传芯片简介 挪威 NORDIC 公司推出 了一种单片射频芯片是本次系统设计的核心 , 此芯片工作 于 ~ 电压范围内 , 使用 433MHz/868MHz/915MHz 的 ISM 频段,频道转换时间小于 650μs,数据传输速率 最大 为
到 PC 机上实现温湿度、酒精浓度、空气质量的实时监控如可显示实时温度,就是一套通过无线方式实现温湿度、酒精浓度、桂林电子科技大学毕业设计 (论文 )报告用纸 第 4 页 共 31 页 空气质量的接受显示系统。 基于无线收发芯片 nRF905 的温度测量系统主要由五个模块构成,分别为无线收发模块、单片机控制模块、蜂鸣器报警模块、显示模块以及 PC 机监测 模块。 总系统框图如下图 所示。 图
3)当 NRF905 模块检测到与接收频率相同的载波时,设置载波检测管脚( CD 管脚)为高电平;( 4)当 NRF905 模块接收到有效的地址时,设置地址匹配管脚( AM 管脚)为高电平;( 5)当一个正确的数据包接收完毕后, NRF905 模块自动去掉数据包的字头、地址和 CRC 校验码,然后将数据接受完成管脚置为高电平;( 6)微控制器将 TRX_CE 设置为低电平;( 7)微控制器通过