本科 毕业设计 基于NRF401的无线通讯系统设计.doc_第1页
本科 毕业设计 基于NRF401的无线通讯系统设计.doc_第2页
本科 毕业设计 基于NRF401的无线通讯系统设计.doc_第3页
本科 毕业设计 基于NRF401的无线通讯系统设计.doc_第4页
本科 毕业设计 基于NRF401的无线通讯系统设计.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 1 绪论 绪论 单片微型计算机 作为微型计算机家族中的一员 发展中的一个分支 以其独特的结 构和优点 越来越深受各个应用领域的关注和重视 应用十分广泛 发展极快 在国内 尽管开发与应用单片微机的时间不长 但在MCS 48系列单片微机的基础上 很快就已开 发和应用功能更强大 更完善的8位高档MCS 51系列单片微机 且成效显著 目前已广泛 而成功地应用于自动测控 智能仪表 各类设备 军事装置以及家用电器 社会用品等各 个方面 大大地促进了我国实现四个现代化的进程 1976年9月 美国Intel公司的MCS 48单片微机问世 它成为单片微机划时代的里程 碑 标志着大规模集成技术和计算机技术的伟大成就 在一块单晶体芯片上集成了一台计 算机 其后针对不同用户的需要 又研制出各种机种 形成了MCS 48系列单片微机 随着单片式无线通信芯片技术的发展 无线通信被越来越多新应用和新产品采用 作 为新的无线标准 蓝牙 Bluetooth TM 让更多用户认识了无线通信 在无需许可的频段 称作ISM频段内的通信集成电路的需求更是高速增加 挪威Nordic VLSI ASA公司针对这一 新兴市场提供一系列收发机和发射机 满足不同无线应用的需要 对便携式设备或电池供电设备的需求是推动无线方案日新月异的因素之一 消费者已 经习惯了带红外等无线方式控制的家用电器 尽管这些无线方案存在范围和方向上的局限 另外在汽车的遥控门锁 Remote Keyless Entry RKE 钥匙中也使用了ISM频段的单向无 线技术 使用大多数遥控系统时遇到的不便之处是无法返回给控制者反馈信息 在安全系 统 汽车告警或选项和菜单繁多的高级高保真音响中 如果配备廉价的无线技术并在遥控 器中增加一块小型显示 设备就能向用户显示其状态或状态的改变 正如许多技术供应商 所发现的 只要扩大无线通信范围并且建立双向无线通信 双工通信 就会出现许多新应 用 本文将讨论的无线数据传输模块是采用挪威Nordic VLSI ASA 公司研制开发的nRF401 芯片的无线通信核心技术 它具有通信速率高 功耗低 应用简便 直接与单片机串口通 信 无需复杂的曼彻斯特编码 无须申请频率使用许可证 开发简单等特点 可广泛应用 于基站 网络 移动及便携式数据通信产品 自动读表 Automatic Meter Reading AMR 无线数据通信 警报和安全系统 无线键盘 无线操纵杆 家庭自动化 无线计算机外设 汽车 遥测和玩具等 由于单片微机极适合我国的国情和需要 所以单片微机在我国开发 应用虽仅十几年 的历史 应用却已十分广泛 并已形成了一支相当规模的单片微机开发 应用高科技队伍 正进行的以普及单片微机开发 应用为特征的传统工业改造 进一步促进了我国工业自动 化进程的局面已经形成 并将飞速发展 2 2 nRF401nRF401芯片的介绍芯片的介绍 nRF401是一个为433MHz ISM频段设计的真正单片UHF无线收发芯片 它采用FSK 调制 解调技术 nRF401最高工作速率可以达到20K 发射功率可以调整 最大发射功率是 10dBm nRF401是北欧集成电路公司 NORDIC 的产品 它要求非常少的外围元件 约10个 无需声表滤波器 变容管等昂贵的元件 只需要便宜且易于获得的4MHz晶体 收发天线合 一 无需进行初始化和配置 不需要对数据进行曼彻斯特编码 有两个工作频宽 433 92 434 33MHz nRF401是一个20脚的芯片 其中包括了高频发射 高频接收 PLL合成 FSK调制 多频道切换等功能 是目前集成度最高的无线数传产品 天线接口设计为差分天线 以便于使用低成本的PCB 天线 nRF401 还具有待机模式 这样可以更省电和高效 nRF401 的工作电压范围可以从2 7 5V nRF401 满足欧洲电信 工业标准 ETSI EN300 200 1V1 2 1 2 12 1 概述概述 2 1 1 nRF401的内部结构框图 图 1 nRF401 内部框图与外围元件 2 1 2 nRF401的技术特性 表 1 NRF401的主要技术特性 参数数值单位 频率 频道1 频道2 433 92 434 33MHz 调制方式 FSK 调制度 15 KHz 最大输出发射功率 400 3V 10dBm 灵敏度 105 dBb 最大速率 20Kbit s 工作电压2 7 5 25 典型值 3 V 接收电流 250uA 发射电流 8mA 待机电流 8uA 注意 PWR UP 管脚间歇供电 占空比2 周期200ms 2 1 3 nRF401在不同工作模式下的时序 表 2 不同工作模式下的时序 模式变换名称最大延时运行状态 TXRXTtr3ms RX TXTrt1ms STD BY TXTst2ms STD BY RXTsr3ms 运行模式 VDD 0 TXTvt4ms VDD 0 RXTvr5ms 待机模式 2 1 4 nRF401的管脚定义及其描述 图 2 nRF401的管脚定义 表 3 nRF401的管脚描述 管脚名称功能说明 1XC1 输入晶振输入 2VDD 电源电源 3 5V 3VSS 地电源地 4FILT1 输入环路滤波器 5VCO1 输入VCO 电感 6VCO2 输入VCO 电感 7VSS 地电源地 8VDD 电源电源 3 5V 9DIN 输入数据输入 10DOUT 输出数据输出 11RF PWR 输入发射功率设置 12 CS 输入 频道选择 CS 0 433 92MHz Channel 1 CS 0 434 33MHz Channel 2 13VDD 电源电源 3 5V 14VSS 地电源地 15ANT2 输入 输出天线终端 16ANT1 输入 输出天线终端 17VSS 地电源地 18 PWR UP 输入 节电控制 PWR UP 1 Power up Operating mode PWR UP 0 Power down Standby mode 19 TXEN 输入 发射 接收控制 TXEN 1 Transmit mode TXEN 0 Receive mode 20XC2 输出晶振输出 2 22 2 nRF401nRF401工作状态的切换工作状态的切换 2 2 1 TX RX 的切换 从RX TX 模式时 数据输入脚 DIN 必须保持为高至少1ms 才能发送数据 时序如图3a 所示 当从TX RX 模式时 数据输出脚 DOUT 要至少3ms 以后有数据输出 如图3b 所 示 图 3 nRF401 TX RX 的切换时序图 2 2 2 Standby RX和Standby TX的切换 1 Standby RX 的切换 从待机模式到接收模式 当PWR UP 输入设成1 时 经过Tst 时间后 DOUT 脚输出数 据才有效 请看表2 对nRF401 来说 ST 最长的时间是3ms 如图4a 所示 2 Standby TX 的切换 从待机模式到发射模式如图4b所示 所需稳定的最大时间是Tst 请看表2 图 4 nRF401 Standby TX Standby RX 的切换时序图 2 2 3 Power Up TX和Power Up RX切换 1 Power Up TX 的切换 从加电到发射模式过程中 为了避免开机时产生干扰和辐射 在上电过程中TXEN 的 输入脚必须保持为低 以便于频率合成器进入稳定工作状态 当由上电进入发射模式时 TXEN 必须保持1ms 以后才可以往DIN 发送数据 2 Power Up RX 的切换 从上电到接收模式过程中 芯片将不会接收数据 DOUT 也不会有有效数据输出 直 到电压稳定达到2 7V以上 并且至少保持5ms 如果采用外部振荡器 这个时间可以缩短 到3ms 图 5 powering up to TX mode powering up to RX mode 的时序切换图 2 32 3 应用信息应用信息 2 3 1 天线输入与输出 ANT1 和ANT2 是接收时LNA 的输入 以及发送时功率放大器的输出 连接nRF401 的 天线是以差分方式连接到nRF401 的 在天线端推荐的负载阻抗是400欧姆 图6 是一个典型的采用差分天线方式原理图 功率放大器输出是两个开路输出三极管 配置成差分配对方式 功率放大器的VDD 必须通过集电极负载 当采用差分环型天线时 VDD 必须通过环型开线的中心输入 如图6 所示 2 3 2 PLL环路滤波器与VCO电感 PLL 环路滤波器 是一个单端二阶滤波器 推荐的滤波器元件参数为 C3 820pF C4 15nF R2 4 7K 如图6 所示 芯片的VCO 电路需要外接一个VCO 电感 这个电感是非常关键的 需要一个高质量的 Q 值 45 433MHZ 精度2 请看后面关于PCB 的布局和电感的放置位置的说明 2 3 4 晶体的规格 f 4 0000MHz 晶振并联谐振频率 Co 5pF 晶振等效电容 ESR 150ohm 晶振串联等效电阻 CL 14pF 等效负载电容包括PCB 上分布电容 在图 6 中实际的负载电容CL C1 C2 是应用原理图中所示的0603 的贴片电容 Cpcb1 和Cpcb2 是PCB 上的分布电容 需要注意的是 与单片机共用一个晶振时 从单片机引入的晶体走线不能离数据线或者控 制线太近 2 3 5 发射接收模式选择 TXEN 选择发射或接收工作模式 TXEN 1 时选择发射模式 TXEN 0 时选择接收模式 2 3 6 频道选择 CS 选择工作频道 CS 0 时选择1 频道 f1 433 92MHz CS 1 时选择2 频道 f2 434 33Mhz 表 4 工作模式真值表 输入输出 TXENCSPWR UP 频道模式 0011RX 0112RX 1011TX 1112TX XX0 STANDBY 2 3 7 Din 和Dout Din 是数据发送脚 连到该脚的电平必须是CMOS 电平 最高速率是20K 无需进行 数据编码 DIN 1 f f0 f DIN 0 f f0 f DOUT 是解调输出脚 标准的CMOS 电平输出 f0 f DOUT 1 f0 f DOUT 0 2 3 8 节能控制 PWR UP 选择工作模式和待机模式 PWR UP 1 选择正常工作模式 PWR UP 0 选择待机模式 2 3 9 发送和接收频率问题 为了获得最好的RF 性能 发射和接收频率误差不能超过70ppm 30KHz 这就要求 晶体的稳定度不能低于 35PPM 频率的差异将会导致接收机灵敏度产生 12dB 倍程的损 失 例如一个 20ppm 频率精度和在温度范围内 25PPM 稳定度的晶体 最大的频率误差 将会超过 45ppm 如果发射机和接收机工作在不同的温度环境 在最差的情况下两边的 误差将会超过90ppm 其结果将会导致接收机灵敏度下降将近5dB 2 42 4 PCBPCB 布局和去藕设计指南布局和去藕设计指南 一个好的PCB设计对于获得好的RF性能是必需的 推荐使用至少两层板来设计 nRF401的直流供电必需在离VDD脚尽可能近的地方用高性能的RF电容去藕 见表8 如 果一个小电容再并上一个较大的电容效果会更好 2 2uF nRF401的电源必需经过很好 的滤波 并且与数字电路供电分离 在PCB应该避免长的电源走线 所有元件地线VDD连接 线 VDD去藕电容必需离nRF401尽可能近 如果PCB设计的顶层有铺铜 VSS 脚必需连接到 铺铜面 如果PCB的设计的底层有铺铜 与VSS的焊盘有一个过孔相连会获得更好的性能 所有开关数字信号和控制信号都不能经过PLL环路滤波器元件和VCO电感附近 需要说明的 是VCO电感的布局是非常重要的 一个经过优化的VCO 电感布局将可以给PLL 环路滤波器 提供一个1 10 2V电压 这个电压可以从FILT1 pin4 测得 对于1 6mm FR4板材的 双面PCB 0603封装电感的中心到VCO1 和VCO2 焊盘的中心的距离应该是5 4mm 2 52 5 PCBPCB 布局举例布局举例 图6 是一个典型的PCB 布局图 在该设计中使用了双面FR4 1 6mm 厚的PCB 板 这个 PCB 板在底面有一个连续的铺铜面 同时在元件面也有铺铜 以确保关键元件有充分的接 地 同时在上层和底层的铺铜有过孔相连 在天线下没有铺铜 更多的信息可以进一步参考 nAN400 5 nRF401 RF 和天线布局设计 图 6 nRF401典型PCB布局 表 5 推荐的外部元件列表 ComponentDescriptionSizeValueToleranceUnits C1NOP ceramic chip capacitor Crystal oscillator 060322pF C2NOP ceramic chip capacitor Crystal oscillator 060322pF C3X7R ceramic chip capacitor PLL loop filter 0603820pF C4X7R ceramic chip capacitor PLL loop filter 060315nF C5Tantalum chip capacitor Supply decoupling 32164 7uF C6X7R ceramic chip capacitor Supply decoupling 0603100nF C7X7R ceramic chip capacitor Supply decoupling 06031nF C8NOP ceramic chip capacitor Supply decoupling 0603220PF C9NOP ceramic chip capacitor Supply decoupling 0603220PF C10NOP ceramic chip capacitor Antenna tuning 06033 30 1 PF C11NOP ceramic chip capacitor Antenna tuning 06035 60 1 Pf L1VCO inductor Q 45 433Hz0603222 NH R10 1W Chip resistor Crystal oscillator 06031 0M R20 1W Chip resistor PLL loop filter 06034 7K R30 1W Chip resistor Transmitter power setting 060322K R40 1W chip resistor Antenna Q reduction 060318K X1Crystal 4 000MHz 3 3 单片微控制器 单片微控制器 AT89C2051AT89C2051 芯片的介绍芯片的介绍 AT89C2051 是美国 ATMEL 公司生产的低电压 高性能 CMOS 8 位单片机 片内含 2K bytes 的可反复擦写的只读程序存储器 PEROM 和 128 bytes 的随机存取数据存储器 RAM 器件采用 ATMEL 公司的高密度 非易失性存储技术生产 兼容标准 MCS 51 指令 系统 片内置通用 8 位中央处理器和 FLASH 存储单元 功能强大 AT89C2051 单片机可为 你提供许多高性价比的应用场合 3 13 1 概述概述 3 1 1 主要性能参数 1 与 MCS 51 产品指令系统完全兼容 2 2K 字节可重擦写闪速存储器 3 1000 次擦写周期 4 2 7 6V 的工作电压范围 5 全静态操作 0Hz 24Hz 6 两级加密程序存储器 7 128 8 字节内部 RAM 8 15 个可编程 I 0 口线 9 两个 16 位定时 计数器 10 6 个中断源 11 可编程串行 UART 通道 12 可直接驱动 LED 的输出端口 13 内置一个模拟比较器 14 低功耗空闲和掉电模式 图 7 AT89C2051 管脚图 3 1 2 功能特性概述 AT89C2051 提供以下标准功能 2K 字节 FLASH 闪速存储区 128 字节内部 RAM 15 个 I O 口线 两个 16 位定时 计数器 一个 5 向量两级中断结构 一个全双工串行通讯口 内置一个精密比较器 片内振荡器及时钟电路 同时 AT89C2051 可降至 0Hz 的静态逻辑 操作 并支持两种软件可选的节电工作模式 空闲方式停止 CPU 的工作 但允许 RAM 定 时 计数器 串行通讯口及中断系统继续工作 掉电方式保存 RAM 中内容 但振荡器停止 工作并禁止其他所有部件工作到下一个硬件复位 3 23 2 引脚功能说明 引脚功能说明 3 2 1 P1 口引脚说明 P1 口是一组 8 位双向 I O 口 P1 2 P1 7 提供内部上拉电阻 P1 0 和 P1 1 内部无 上拉电阻 主要考虑它们分别是内部精密比较器的同相输入端 AIN0 和反相输入端 AIN1 如果需要应在外部接上拉电阻 P1 口输出缓冲器可吸收 20mA 电流并可直接驱 动 LED 当 P1 口引脚写入 1 时可作输入并被外部拉低时 他们将因内部的上拉电阻而 输出电流 I 另 P1 口还在 FLASH 闪速编程及程序校验时接收代码数据 3 2 2 P3 口引脚说明 P3 口的 P3 0 P3 5 P3 7 是带有内部上拉电阻的 7 个双向 I O 口 P3 6 没有引出 它作为一个通用 I O 口但不可访问 但可作为固定输入片内比较器输出信号 P3 口缓冲 器可吸收 20mA 电流 当 P3 口写入 1 时 它们被内部上拉电阻拉高并可作为输出端口 作输入端时 被外部拉低的 P3 口将用上拉电阻输出电流 I P3 口还用于实现 AT89C2051 特殊的功能 如表 6 所示 表 6 P3 口的特殊功能 P3 口引脚功能特性 P3 0 RXD 串行输入口 P3 1 TXD 串行输出口 P3 2 外中断 0 0INT P3 3 外中断 1 1INT P3 4 T0 定时 计数器 0 外部输入 P3 5 T1 定时 计数器 1 外部输入 P3 7 此外 P3 口还接收一些用于 FLASH 闪速存储器编程和程序校验的控制信号 3 2 3 其他管脚说明 1 RST 复位输入 RST 引脚一旦变成两个机器周期以上高电平 所有的 I O 口都 将复位到 1 高电平 状态 当振荡器正在工作时 持续两个机器周期以上的高电平便 可完成复位 每个机器周期为 12 个震荡周期 2 XTAL1 振荡器反相放大器及内部时钟发生器的输入端 3 XTAL2 振荡器反相放大器的输出端 3 33 3 某些指令的约束条件 某些指令的约束条件 AT89C2051 是经济型低价位的微控制器 它含有 2K 字节的 FLASH 闪速程序存储器 指令系统与 MCS 51 完全兼容 可使用 MCS 51 指令系统对其进行编程 但是在使用某些 有关指令进行编程时 程序员必须特别注意一些事项 例如 跳转或分支有关的指令有一 定的空间约束 使目的地址能安全落在 AT89C2051 的 2K 字节的物理程序存储器空间内 程序员必须注意这点 对于 2K 字节存储器的 AT89C2051 来说 LJMP 7E0H 使一条有效指 令 而 LJMP 900H 则为无效指令 3 3 1 分支指令 对于 LCALL LJMP ACALL AJMP SJMP JMP A DPTR 等指令 只要程序员记住这些 分指令的目的地址在程序存储器大小的物理范围内 AT89C20 程序地址空间为 000H 7FFH 单元 这些无条件分支指令就会正确执行 超过物理空间的限制会出现不可预知的 程序出错 CJNE DJNZ JB JNB JC JNC JBC JZ JNZ 等这些条件转 移指令的使用与上述原则一样 超出物理空间的限制也会引起不可预知的程序出错 至于 中断的使用 80C51 系列硬件结构中已保留标准中断服务子程序的地址 3 3 2 MOVX 有关地指令和数据存储器 AT89C2051 包含 128 字节内部数据存储器 这样 AT89C2051 的堆栈深度局限于内部 RAM 的 128 字节范围内 它既不支持外部数据存储器的访问 也不支持外部程序存储器的 执行 因此程序中不应有 MOVX 指令 一般的 89C2051 汇编器即使在违反上述指令约束而写入指令时仍对指令进行汇编 用 户应了解正在使用的 AT89C2051 微控制器的存储器物理空间和约束范围 适应地调整所使 用指令寻址范围以适应 AT89C2051 3 43 4 AT89C2051AT89C2051 的两种省电工作模式的两种省电工作模式 AT89C2051 有两种省电方式可供使用 即空闲模式 Idle Mode 和掉电方式 Power Down Mode 3 4 1 空闲模式 在空闲模式下 CPU 保持睡眠状态而所有片内的外设仍保持激活状态 这种方式由软 件产生 此时 片内 RAM 和所有特殊功能寄存器的内容保持不变 空闲模式可由任何允许 的中断请求或硬件复位终止 P1 0 和 P1 1 在不使用外部上拉电阻的情况下应设置为 0 或者在使用上拉电阻的 情况下设置为 1 应注意的是 在用硬件复位终止空闲模式时 AT89C2051 通常从程序停止一直到内部 复位获得控制之前的两个机器周期处恢复程序执行 在这种情况下片内硬件禁止对内部 RAM 的读写 但允许对端口的访问 要消除硬件复位终止空闲模式对端口意外写入的可能 原则上进入空闲密室指令的下一条指令不应对端口引脚或外部存储器进行访问 3 4 2 掉电模式 在掉电模式下 振荡器停止工作 进入掉电模式的指令是最后一条执行的指令 片内 RAM 和特殊功能寄存器的内容在终止掉电模式前被冻结 退出掉电模式的唯一方法是硬件 复位 复位后将重新定义全部特殊功能寄存器但不改变 RAM 中的内容 在 Vcc 恢复到正常 工作电平前 复位应无效 且必须保持一定时间以使振荡器重启动并稳定工作 P1 0 和 P1 1 在不使用外部上拉电阻的情况下应设置为 0 或者在使用外部上拉电阻时应设 为 1 3 53 5 EPROMEPROM 的编程和校验的编程和校验 要对 AT89C2051 进行编程和校验 推荐使用以下方法 1 上电次序 在 Vcc 和 GND 引脚之间加上电源 设置 RST 和 XTAL1 为 GND 电平 其他引脚置空 等待至少 10ms 以上 2 置 RST 引脚为高电平 置 P3 2 引脚为高电平 3 对引脚 P3 3 P3 4 P3 5 P3 7 按表 13 正确组合加上逻辑高 H 或低 L 电平 即可对 PEROM 进行编程操作 4 编程和校验方法如下 在 000H 地址单元对 P1 0 P1 7 输入数据代码字节 置 RST 端为 12V 激活编程 使 P3 2 跳变一次来编程 PEROM 阵列中的一字节或者加密位 写字节周期使自身 定时的 一般需要时间为 1 2ms 当校验已编程的数据 使 RST 从 12V 降到逻辑电平 H 置 P3 3 P3 7 引脚 到正确的电平即可从 P1 口读取数据 对下一地址单元编程字节 使 XTAL1 引脚正脉冲跳变一次使地址计数器加 1 在 P1 口输出新的数据字节 重复 2C 至 5 可对整个 2K 字节阵列全部编程 直到目标文件结束 5 下电次序 置 XTAL1 为低 L 电平 置 RST 为 L 电平 置空所有其他 I O 引脚 关闭 Vcc 电源 3 63 6 芯片擦除 芯片擦除 利用控制信号的正确组合并保持 P3 2 引脚 10ms 的低电平即可将 PEROM 阵列 2K 字 节 和两个加密位整片擦除 代码阵列在擦除操作中将任何非空单元写入 1 可被再编 程之前进行 Flash 闪速阵列中的每一代码字节进行写入且整个存储器可在控制信号的正确组合下 进行擦除 写操作周期使自身定时的 初始化后它将自动定时到操作完成 Flash 闪存编 程及校验时序如图 8 所示 图 8 AT89C2051 Flash 闪存编程及校验时序 123456 A B C D 654321 D C B A Title NumberRevisionSize B Date 10 Jun 2004Sheet of File D MyDesign2 MyDesign2 ddbDrawn By 12MHZ XTAL1 22pf 2 C2 22Pf 1 C1 10uf C3 8 2k R1 1k R2 1 SW5 P1 0 12 P1 1 13 P1 2 14 P1 3 15 P1 4 16 P1 5 17 P1 6 18 P1 7 19 RST 1 RXD P3 0 2 TXD P3 1 3 INTR0 P3 2 6 INTR1 P3 3 7 TIMER 0 P3 4 8 TIMER 1 P3 5 9 RD P3 7 11 XTAL2 4 XTAL1 5 VCC 20 VSS 10 AT89C2051 6 SW1 9 SW4 7 SW2 8 SW3 2 R3 3 R4 4 R5 5 R6 5 5 1 2 3 4 5 4 4 nRF401nRF401 模块的控制电路模块的控制电路 本文讨论的控制电路采用美国 ATMEL 公司生产的低电压 高性能 CMOS 8 位单片无微 机 AT89C2051 片内含 2K 字节 FLASH 闪速存储区 128 字节内部 RAM 15 个 I O 口线 两 个 16 位定时 计数器 一个 5 向量两级中断结构 一个全双工串行通讯口 内置一个精密 比较器 片内振荡器及时钟电路 同时 AT89C2051 可降至 0Hz 的静态逻辑操作 并支持 两种软件可选的节电工作模式 空闲方式停止 CPU 的工作 但允许 RAM 定时 计数器 串行通讯口及中断系统继续工作 掉电方式保存 RAM 中内容 但振荡器停止工作并禁止其 他所有部件工作到下一个硬件复位 器件采用 ATMEL 公司的高密度存储技术生产 兼容标 准 MCS 51 指令系统 片内置通用 8 位中央处理器和 FLASH 存储单元 功能非常强大 4 14 1 硬件部分硬件部分 5 Dout 4 Din 3 CS 2 PWR 1 TXEN 接 nRF401 模块 接 74HC164 数据输出线 移位时钟脉冲 图 9 控制电路图 4 1 1 控制电路 控制电路如图 9 所示 采用 51 系列芯片 AT89C2051 作为主控芯片 系统时钟采用 12MHz 的石英晶振 其中 2051 的 P1 4 P1 7 分配给 4 个按键功能 P1 3 和 P1 2 分别作 为 74HC164 的移位时钟脉冲和数据输出线 P3 0 P3 1 和 P3 4 P3 5 分别作为 nRF401 模 块的输入线 4 1 2 显示电路 在单片机应用系统中 显示器显示常用两种方法 静态显示和动态扫描显示 所谓静 态显示 就是每一个显示器都要占用单独的具有锁存功能的 I O 接口用于笔划段字形代码 这样单片机只要把要显示的字形代码发送到接口电路 就不用管它了 直到要显示新的数 据时 再发送新的字形码 因此 使用这种方法单片机中 CPU 的开销小 可以提供单独锁 存的 I O 接口电路很多 本文的控制电路选用常用的并行仿串行转换电路 选用 74HC164 芯片组成常用静态显示电路 电路如图 10 所示 AT89C2051 单片机串行口方式 0 为移位寄存器方式 外接 4 片 74HC164 作为 4 位 LED 显示 器的静态显示接口 把 AT89C2051 的 P1 2 作为数据输出线 P1 3 作为移位时钟脉冲 74HC164 为 TTL 单向 8 位移位寄存器 可实现串行输入 并行输出 其中 A B 第 1 2 脚 为串行数据输入端 2 个引脚按逻辑与运算规律输入信号 共一个输入信号时可并接 T 第 8 脚 为时钟输入端 可连接到串行口的 TXD 端 每一个时钟信号的上升沿加到 T 端时 移位寄存器移一位 8 个时钟脉冲过后 8 位二进制数全部移入 74LS164 中 R 第 9 脚 为 复位端 当 R 0 时 移位寄存器各位复 0 只有当 R 1 时 时钟脉冲才起作用 Q1 Q8 第 接 P1 2 接 P1 3 图 10 显示电路 3 6 和 10 13 引脚 并行输出端分别接 LED 显示器的 hg a 各段对应的引脚上 在给出 了 8 个脉冲后 最先进入 74HC164 的第一个数据到达了最高位 然后再来一个脉冲会有什 么发生呢 再来一个脉冲 第一个脉冲就会从最高位移出 搞清了这一点 下面让我们来 看电路 4 片 74HC164 首尾相串 而时钟端则接在一起 这样 当输入 8 个脉冲时 从单 片机 RXD 端输出的数据就进入到了第一片 74HC164 中了 而当第二个 8 个脉冲到来后 这 个数据就进入了第二片 74HC164 而新的数据则进入了第一片 74HC164 这样 当第六个 8 个脉冲完成后 首次送出的数据被送到了最左面的 164 中 其他数据依次出现在第一 二 三片 74HC164 中 4 24 2 软件部分软件部分 ORG 0000H AJMP MAIN ORG 0100H MAIN MOV SP 60H 初始化设置 MOV 30H 00H 数据缓冲区初始化 MOV 31H 00H MOV 32H 00H MOV 33H 00H MOV TMOD 20H 设置 T1 为方式 2 MOV TH1 0FEH 设置波特率为 1500B S MOV TL1 0FEH MOV SCON 50H 设置串行口为方式 1 MOV PCON 00H MOV DPTR SEGTAB SETB TR1 UP MOV R0 30H MOV R4 04H SETB P3 4 置 401 管脚 PWR UP 为高 CLR P3 5 置 401 管脚 TXEN 为低 SETB P3 3 置 401 管脚 CS 为高 ACALL L5MS 401 上电到接收的延时 RDS SETB REN 允许接收 JBC RI RDNEXT LJMP JP RDNEXT MOV A SBUF 接收程序 MOV R0 A INC R0 DJNZ R4 RDS MOV A R0 ACALL DISPLAY 调用显示程序 MOV R0 A LJMP UP JP SETB P1 7 键盘扫描程序 SETB P1 6 SETB P1 5 SETB P1 4 MOV A P1 JNB ACC 7 PIA JNB ACC 6 PIR JNB ACC 5 PIS JNB ACC 4 PIE LJMP RDS PIA ACALL L1MS 对各个键的去抖动程序 MOV A P1 JNB ACC 7 PIA LJMP PORTA PIR ACALL L1MS MOV A P1 JNB ACC 6 PIR LJMP PORTR PIS ACALL L1MS MOV A P1 JNB ACC 5 PIS LJMP PORTS PIE ACALL L1MS MOV A P1 JNB ACC 4 PIE LJMP PORTE PORTA INC R0 增加键的程序 MOV A R0 ACALL DISPLAY MOV R0 A CJNE R0 09H Y2 LJMP JP Y2 JNC Z3 LJMP JP Z3 MOV R0 00H LJMP JP PORTR PUSH A 减少键的程序 MOV A R0 JZ TT POP A AJMP SS TT MOV R0 10 LJMP JP SS DEC R0 MOV A R0 ACALL DISPLAY MOV R0 A LJMP JP PORTS INC R0 选择键的程序 CJNE R0 33H Y1 LJMP JP Y1 JNC Z2 LJMP JP Z2 MOV R0 30H LJMP JP PORTE SETB P3 5 发送键的程序 置 401 的 TXEN 为 高 ACALL L1MS 401 接收到发送的延时 MOV R0 30H SENDU MOV A R0 MOV SBUF A SENDWT JBC TI SENDNEXT AJMP SENDWT SENDNEXT INC R0 DJNZ R4 SENDU MOV A R0 ACALL DISPLAY MOV R0 A LJMP UP DISPLAY PUSH PSW 显示程序 PUSH A PUSH B MOV R0 30H MOV R3 04H K MOV R2 08H MOV A R0 MOVC A A DPTR CLR C M NOP NOP CLR P1 3 RRC A MOV P1 2 C NOP SETB P1 3 DJNZ R2 M INC R0 DJNZ R3 K POP B POP A POP PSW RET L1MS MOV R6 03H 延时 1MS 程序 MS12 MOV R7 0A4H MS11 DJNZ R7 MS11 DJNZ R6 MS12 RET L5MS MOV R6 0FH 延时 5MS 程序 MS52 MOV R7 0A4H MS51 DJNZ R7 MS51 DJNZ R6 MS52 RET SEGTAB 段码表 DB 0FCH 60H 0DAH 0F2H 66H 0B6H 0BEH 0E0H 0FEH 0F6H 0FCH END 结束 N Y Y 开始 定时器 串行口 堆盏地址 初始化 数据缓冲区清 0 设置 NRF401 处于接收状态 等待接收数据 有数据否 扫描键盘 有键按下否 加 增加 程序 显示数据 择位 接口电路 电气 信 息设备 MASTER 主 控制器 基站 nRF401 N Y N N N N Y Y N Y 图 11 收发程序流程图 5 5 nRF401nRF401 无线通讯模块在实际中的应用无线通讯模块在实际中的应用 在仪器仪表及测控系统的实际应用中 无线数据通讯因为其节省传输线 安装使用方 便等优点而被广泛关注 中短距离 小于 500 米 的无线通讯在自动测试系统 无线抄表 计算机遥测遥控系统 车辆监控系统 小区管理等实际运用中有广泛的市场 在蓝牙技术 由于种种原因还无法广泛推广的今天 使用一些集成的无线收发芯片不失为一种很好的选 择 5 15 1 无线收发模块在智能家庭网络中的应用无线收发模块在智能家庭网络中的应用 减 减少 程序 择位 程序 发送 发送 程序 手持遥控部分 图 12 系统原理结构图 信息技术的发展让因特网和移动通信无孔不入地渗透到我们的生活中来 各种无线通 信技术的日趋成熟给这个新的浪潮起到了推波助澜的作用 而家庭网络的出现和发展为信 息社会注入了新的生机和活力 逐渐勾勒出了在科幻小说里才有的智能家庭的轮廓 智能家庭网络是指将家庭内部所有的电气设备和信息设备连接起来而组成的网络 实 现智能控制 数据采集 信息通信等功能 如果采用传统的布线方式 不仅影响美观 难 以满足防火要求 还延长了网络的布置时间 所以 实现家庭网络最理想的技术是无线通 信技术 在目前的蓝牙技术和 802 11b 还无法突破价格瓶颈的情况下 可以采用较为廉价 的 NRF401 无线收发模块和 MCS 51 系列的 80C51 单片机 结合外围设备来实现家庭智能控 制网络的无线数据通信 5 1 1 系统的组成及工作原理 系统原理结构图如图 12 所示 无线通信电路由 89C51 单片机 NRF401 无线收发模块 及其他外围设备组成 构成了智能家庭网络的一部分 在主控制器的控制下 可以通过该 电路 图 12 中手持遥控部分 与网络基站 与手持遥控通信的模块部分 进行通信 通 过接口电路对连入网络的设备进行控制 在图 12 的手持遥控部分中 设置了液晶显示以实现人机对话 通过键盘的输入和网 络基站系统进行映射 以实现对设备的控制 此外 为了提高系统的可靠性 电路中还加 了 MAX813L 作为看门狗来监视 CPU 的工作 NRF401 DIN DOUT PWR UP CS TXEN 51 单片机 RXD TXD P1 1 P1 2 P1 3 人机对话 Watchdog 设置本机 IP 设置和确认密码 进入正常 工作状态 是否修改数据 输入和确认密码 IP 地址大包 输入接收机 IP 修改数据 是否发送数据 5 1 2 主电路程序流程 在家居网络中 各业主之间的信息干扰是一个不容忽视的问题 为了解决这个问题 可以引进广域网中的网络地址分配的概念 给每个智能小区分配一个高级网络地址 同一 小区中的各个业主分配不同的中级网络地址 业主的各个无线通信子系统分配低级网络地 址 因此 在 80C51 启动后 需要先设置通信小系统 的网络地址 同时 为了信息的保 密和防止信息被任意更改 程序中进行加密设计 设置了用户级别 设置正确后 进入正 常工作状态 如果需要进行信息修改和信息发送操作 首先需要输入并确认密码是否正确 正确后才能进行信息修改和发送等操作 如果需要发送信息 首先在主程序中发送一个数 据 然后进入 80C51 的中断程序进行其他数据的发送 主电路程序流程图如图 13 所示 5 1 3 通信编码以及串行中断流程 由于供电电源 噪声以及传输路径等因素的影响 传输的数据容易受到外界干扰 为 了正确 快速地发送和接收数据 需要一份简单且能够检错的通信协议 通过选用合适的 差错控制方法和检错编码方法可以实现这一点 本文采用检错重发法 的差错控制 方法 校验和加垂直水平奇偶校验的编码方式 Y N N Y 密码是否一致 发送第一个数据 允许接受 RI BITI TI BITI 接收数据 包发完 N Y 图 13 主电路程序流程 在无线通信协议中 必须有握手信号 通过实验测试发现 在 0FFH 后接 00H 在干扰 信号中很少出现 为了提高有效信号接收率 发送数据的握手信号为 0FFH 0FFH 00H 而接收端把接收到的 0FFH 0FFH 00H 0FFH H 00H H 0FFH 00H 作为握手信号 同时 为了增加信号的信息量 在协议包增加了命令单元 一个协议包有 6 个数据 因此 一个协议包中包含以下内容 0FFH 0FFH 00H 命令单元 数据 1 数据 2 数据 5 数据 6 校验和 垂直校验码 水平校验码 命令单元包含发送模块网络地址 接受模块 网络地址 数据类型 反馈信号等信息 在主程序中进行了相应的设置后 串行中断程序 流程图如图 14 所示 对于手持遥控部分 为了便于放置和携带 采用两节 5 号电池供电 由于手持系统的 工作电压为 5V 因此需要设计 DC DC 变换电路 本设计中选用了 MAXIM 公司的 MAX756 芯 片 该芯片设计电路简单 输入电压可以低至 0 7V 效率较高 而且可以进行电池监控 输出电压可以通过芯片管脚设置选择输入 3V 和 5V 两种电压 在本系统设计中 通过 3 级网络地址的设计克服了多机通信时的相互干扰问题 通过 加密设计 设计了用户级别 通过校验和加垂直水平奇偶校验的编码校验方式 提高了通 信的可靠性 整个系统的电路比较简单 便于投入实际应用 Y N N Y Y N N 握手信号 设置允许接收 本机数据 正确 屏蔽 存数 发反馈信号 返回 转接收状态 发送 数据 Y N Y Y N N Y 图 14 串行中断流程图 5 25 2 防数据碰撞的无线呼叫系统设计防数据碰撞的无线呼叫系统设计 在多点对单点无线通信领域中 为防止多个发射器同时向接收器发送数据而产生的相 互干扰 碰撞 提出一种具有反碰撞功能的无线呼叫系统模型 给出单片机与无线收发 模块的硬件接口设计 详细介绍所用的通信协议和呼叫接收器 以及收发双方的软件设计 为多点对单点的无线呼叫系统软硬件设计提供一种有效可靠的解决方案 随着科技的进步以及对生活质量要求的不断提高 人们要求在消费中得到的服务更加 快捷 方便 舒适 同时处于激烈竞争环境中的服务性企业也需要吸引顾客 提高企业自 身的服务档次和形象 无线呼叫系统能够为顾客创造良好的消费环境 使其得到方便及时 的服务 企业也能随时掌握顾客需要的服务 提高服务效率 它可以广泛应用于酒店 银 行 医院 娱乐场所等服务性行业中 因此 研究出一种简单可靠 高效率的无线呼叫系 统 对于提高我服务行业的服务水平 改进人们的生活方式 促进社会生活的信息化 具 有重要的理论 实用和商用价值 5 2 1 无线呼叫系统的结构与功能 给出由一台中央服务器 CSS Central Sever System 和多台终端呼叫器给出由一台 中 MTCU Multiple Terminal Call Unit 构成的多点对单点无线通信系统 中央服务器 CSS 与每一台呼叫器 CU Call Unit 之间以双向方式传递数据 传输数据量大 实时性 要求高 同传统的线呼叫系统相比 无线呼叫系统的使用更加灵活 无需在工作环境中铺 设有线物理网络 很大程度地降低了投资成本 系统工作在 ISM 频段 433MHz 附近 该频段无需申请许可证 呼叫器作为数据载体通 常由用户即服务的申请方来控制 每个呼叫器有一个唯一的识别码 当用户按下发射键后 识别码被发射出去 等待中央接收器的响应 中央服务器接收到服务申请后 根据识别码 鉴定出是由哪一台呼叫器发出的申请 并给出声音提示和显示呼叫器的识别号 在酒店 医院 娱乐业等经营场所中 中央服务器置于服务台或值班室中 呼叫器安 放在客户里 病床边或顾客身边 顾客随时可以发出服务申请 中央服务器接收到申请后 发出提示音和显示识别号码 通知服务员向提出服务申请的顾客提供服务 5 2 2 防碰撞问题的提出 在服务行业的营业场所中 顾客需要服务人员能够提供准确 及时的服务 因此要求 所设计的系统有很好的实时性和可靠性 一方面 顾客提出的申请能够很快地得到响应 使顾客感觉不到时间的浪费 另一方面 中央服务器不能由于接收到的是错误信息 使服 务员打扰并未提出服务申请的顾客 针对系统的要求 可以得出导致服务中出现错误的原因有二 一是由于无线信道的复 杂性 信息在无线信道的传输过程极易受到干扰而产生错误 接收端不能接收到正确的信 息 其二是由于多个呼叫器同时竞争通信信道向中央服务器发出呼叫 各个呼叫器发出的 数据相互干扰 使中央服务器不能正确地辨别是哪一台呼叫器发出的申请 这两种错误可 能使没有发出呼叫申请的顾客得到了不需要的服务 而有服务要求的顾客又得不到满足 反而降低了服务的效率和准确度 起不到服务行业中需要的无线呼叫系统的作用 对于前 一种情况可以采用适当的校纠错方式 降低中央服务器向服务员提供错误呼叫信息的概率 无需本文详细讨论 而对后一种情况 需要找到一种合适的反碰撞方法 这正是本文要解 决的问题 5 2 3 无线呼叫系统的防碰撞技术 数据的碰撞问题即无线通信中的多路存取问题 我们把多个通信通路竞争一个通信信 道的最大数据传输率以及供它使用的时间片确定的 故分配给每个用户的通路容量必须满 足 当有多个发射器同时把数据传输给同一个接收器时 不能出现互相干扰 碰撞 在 无线电技术中 多路存取问题的存在由来已久 因此 出现了许多方法 可以把不同的用 户信号分开 比较典型的方法有四种 空分多路法 频分多路法 时分多

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论