短距离无线数据收发系统设计课程设计(编辑修改稿)内容摘要:

以利用电脑的 USB 电源,方便调试,缺点是芯片只能用仿真芯片;第三种是 USB 供电电源接法如图 24 所示,此种方法是综合上述两种方法的优点,便于在电脑旁调试。 图 24 USB 供电电路 电源部分对射频电路的抗干扰设计 射频电路对于电源噪声相当敏感,尤其是对毛刺电压和其他高频谐波。 MCU 和其它耗电量大的芯片会在每个内部时钟周期内,短时间突然吸入大部分电流,如果不在 CC1101 的电源供电端采取合适的电源去耦,必将引起电源线上的电压毛刺,在靠近电源输入端加入去耦和旁路电容,如图 25所示。 在 CC1100H模块 的电源供电端加入了 两个 220μ F的去耦电容和 1个旁路电容,去耦电容能够有效的去除电路之间的耦合效应,旁路电容能够去除高频噪声。 在 MCU和其它芯片的电源供电端也分别加入去耦和旁路电容,以减少电源噪声带来的影响。 图 25 电源滤波电路 模块电源解决方案 采用 5V 电 压 ,通过 将其稳压到。 这种方案的优点是线性稳压芯片的价格便宜,输出电压纹波小。 电路接法如图 26 所示 陕西理工学院 图 26 串口的制作 串口通信 (Serial Communication),是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式。 这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。 主要工作集中在模块化程序的调试,在具体调试过程中需要借助于串行口调试助手来模拟无线遥控开关的工 作流程。 串口电路 如图 27 所示 ,通过数据总线与主控电路相连,该电路由单片机、 RS232驱动芯片、复位电路、 RS232 串口构成。 直接将 RS23串口接收来的信号转换成微控制器能够识别和处理的信号,或者将微控制器发送的信号通过串口进行通讯,串行信号通过数据总线 、 输入,经单片机转换为 TTL电平 RS232 信号,经 232 接口驱动芯片及 5 个电容组成的转换电路将 TTL 电平 RS232 信号转换成标准的 RS232 信号。 图 27 串口电路 单片机与 CC1100H 模块 的 SPI 接口 本 课设 用单 片机 的 P1口与 CC1100H模块相连。 相连方式如 图 28所 示 陕西理工学院 图 28 MCU 与模块接口图 3 无线通信模块的程序设计与实现 无线数据通信最重要的是如何保证系统通信的可靠性 ,减少通信冲突和降低误码率等问题,这也正是本文开发无线反馈系统的关键。 CC1100H 模块的配置方式 CC1101 具有 14 个命令寄存器( Command Strobe Registers),访问这些寄存器将会发起内部状态或模式的改变;有 47 个普通 8 位配置寄存器( Configuration Registers),配置这些寄存器可以完成系统参数的选择;还有 12 个状态寄存器( Status Registers),读取这些寄存器可以获得 CC1101 的状态信息。 CC1101 通过 4 线 SPI 兼容接口( SI,SO,SCLK 和 CSn)配置,这个接口同时用作写和读缓存数据。 SPI 接口是一种同步串行通信接口, CSn 是芯片选择管脚,当该管脚为低电平时, SPI 接口可以通信,反之不能通信。 SI 和 SO 为数字传输管脚, SI 用于数据输入, SO 用于数据输出,SCLK 为同步时钟,在时钟的上升沿数据被写入或读出 , PAC 为发送和接收使能端。 CC1101 的 SPI 接口的读、写操作工作方式如图 31所示。 图 31 CC1101 读写操作时序图 在读或是写寄存器时,首先要在 SI 管脚写入寄存器地址字节。 地址字节有 8 位,最高位为读写位,后七位为地址位。 当执行写寄存器操作时,读写位为 0;当执行读操作时,读写位为 1。 无论是读操作还是写操作,在地址字节被写入时, SO 脚上输出一 陕西理工学院 个芯片状态字节,状态字节包含关键状态信号。 CC1101 的 TX FIFO(发射先进先出堆栈)和 RX FIFO(接收先进先出堆栈)也可 以用同样的读写方式进行访问,只是使用与配置寄存器不同的地址段加以区别。 另外, CC1101 的内部指令也是通过 SPI 接口传输的,这些指令用来关闭晶体振荡器,开启传输模式,状态转换和电磁波激活等,通过 SI 写入特定的字节使 CC1101 执行不同的命令。 由于 CC1101 的寄存器比较多,为了提高程序的执行效率,编写了相应的函数来进行寄存器配置 表 31 无线通信模块函数和功能 函数名称 函数功能 halSpiWriteReg(INT8U addr, INT8U value) SPI写寄存器操作 halSpiReadReg(INT8U addr) SPI读寄存器 halSpiWriteBurstReg(INT8U addr, INT8U *buffer, INT8U count) SPI连续写配置寄存器 halSpiStrobe(INT8U strobe) SPI写命令 halSpiReadBurstReg(INT8U addr, INT8U *buffer, INT8U count) SPI连续读配置寄存器 halSpiReadStatus(INT8U addr) SPI读状态寄存器 halRfWriteRfSettings(void) 配置 CC1101的寄存器 halRfSendPacket(INT8U *txBuffer, INT8U size) CC1101发送一组数据 halRfReceivePacket(arrRx,amp。 leng) CC1101接收一组数据 CC1100H 模块 SPI 接口介绍 SPI( Serial Peripheral Interface)是一种串行同步通讯协议,由一个主设备和一个或多个从设备组成,主设备启动一个与从设备的同步通讯,从而完成数据的交换。 SPI 接口由 MOSI(串行数据输入), MISO(串行数据输出), SCK(串行移位时钟), CSn(从使能信号)四种信号构成, CSn 决定了唯一的与主设备通信的从设备,如没有 CSn 信号,则只能存在一个从设备,主设备通过产生移位时钟来发起通讯。 通讯时,数据由 SO 输出, SI 输入,数据在时钟的上升或下降沿由 SO 输出,在紧接着的下降或上升沿由SI 读入,这样经过 8/16 次时钟的改变,完成 8/16 位数据的传输。 本 课设 单片机用 P1 口与 CC1100H 模块相连。 在地址和数据转换期间, CSn脚(芯片选择,低电平有效) 必须保持为低电平。 如果在过程中 CSn变为高电平,则转换取消。 当 CSn 变低,在开始转换头字节之前, MCU 必须等待,直到 SO 脚变低。 这表明电压调制器已经稳定,晶体正在运作中。 除非芯片处在 SLEEP 或 XOFF 状态, SO脚在 CSn变低之后总会立即变低。 SPI接口定时要求如表 32所示。 表 32 SPI。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。