1、短距离多机无线通信系统设计摘要短距离无线通信系统是一种线缆替代技术,在当前的很多领域都得到了很广泛的应用。它的出现,解决了因环境和条件限制而不利于有线布线的问题,同时具有低成本、方便携带和低功耗等优点。本文主要介绍基于嵌入式系统的短距离无线通信设计,通过一个主机与多个从机组成一个主从通信系统。该系统可以通过更改从机的外围电路而应用于智能化家居、多节点报警系统、抄表系统等等。给繁忙的工作生活节约了很多的时间,让人们真正享受智能化带来的便捷快乐。随着短距离无线通信技术的进一步发展,必将给人们的工作和生活带来革命性的变化。关键字:短距离,无线通信,智能SHORT DISTANCE WIRELESS
2、COMMUNICATION SYSTEM DESIGNABSTRACTShort distance wireless communication system is a kind of cable alternative technology, in many areas of the current received a wide range of applications. Its emergence, solved due to the environment and the conditions conducive to the cable wiring problems, At th
3、e same time has the advantages of low cost, convenient to carry. This paper mainly introduces the short distance wireless communication based on embedded system design, By a host with multiple from unit into a master-slave communication system.The system can through the change from the peripheral ci
4、rcuit of machine applied in the intelligent family, multi-node alarm system, meter reading system, etc. Save a lot of time to a busy work life, convenient intelligent to make people really enjoy the happiness. With the further development of the short distance wireless communication technology, the
5、revolution will bring to peoples work and life line change. Key words: short;wireless communications;intelligent 目录1 绪论11.1 常用短距离无线通信的发展应用11.1.1 315MHZ、433MHZ和868MHZ等频段11.1.2 2.4GHz频段11.1.3 红外(IrDA)技术31.2 短距离无线通信在嵌入式系统中的发展研究意义31.3 本文主要研究内容32 硬件电路元器件选择32.1 下面介绍几种常见的无线芯片。42.1.1 CC1100无线收发芯片42.1.2 nRF9
6、05无线收发芯片42.1.3 nRF2401无线收发芯片42.2 单片机的选择42.3 无线收发芯片的选择83 无线通信的传输数据93.1 数据包装93.2 影响短距离通信的因素103.3 通信准确性104 短距离无线通信设计综述114.1 系统设计框图114.2 主从模块通用单片机部分114.2.1 复位电路124.2.2 时钟电路134.2.3 报警电路135 无线部分设计145.1 硬件电路145.2 软件配置156 通信系统硬件设计166.1 主机系统硬件设计166.1.1 按键部分166.1.2 数码管显示部分186.2 从机系统设计217 通信程序设计227.1 主机系统程序设计2
7、27.2 从机系统程序设计288 结论31参考文献32致谢33附录I34附录II351 绪论随着通信和信息技术的不断发展,短距离无线通信技术的应用步伐不断加快,正日益走向成熟。一般意义上,只要通信收发双方通过无线电波传输信息且传输距离限制在较短范围(几十米)以内,就可称为短距离无线通信。短距离无线传输具有抗干扰性能强、可靠性高、安全性好、受地理条件限制少、安装灵活等优点,在许多领域有着广泛的应用前景。1.1 常用短距离无线通信的发展应用1.1.1 315MHZ、433MHZ和868MHZ等频段这些频段的无线芯片,主要用于无线数据的收发。在无线数据采集以及无线监控中,这些频段是现存应用中使用最多
8、的。许多WSN无线传感器网络都是在这个频段上运行的。在这些频段上,数据的通信速率一般在1.220kbps之间,绝大部分制是提供一个频段。对于干扰和冲突,主要使用纠错、应答、重传等办法,不能使用跳频技术,在有持续干扰的存在时,没有好的解决办法。由于其频段较低,穿透障碍的能力较强,通信距离相对较远。1.1.2 2.4GHz频段使用这个频段的技术特别多,随着通信的发展和人们需求的提高,包括UWB、802.11、蓝牙和ZigBee等在内的短距离无线通信技术正走向成熟。各种无线通信技术将在自动化控制盒家庭信息话领域扮演越来越重要的角色。(1)UWB技术UWB技术是一种无线载波通信技术,利用纳秒至微妙的非
9、正弦波窄脉冲传输数据,在较宽的频谱上传送极低动率信号。UWB技术使用短的能量脉冲序列,并通过正交频分调制活直接排序将脉冲扩展到一个频率范围内。UWB使用的电波带宽为数GHz,频谱的功率密度极小。在与其它系统共存时,不仅难于产生干扰,而且还有抗其他干扰的优点。由于脉冲的时间极小,能把多路径分的更小,能实现汇集接收许多方向的电波,通信速率为数百Mps1Gps,与高速有线LAN不相上下。(2)Zigbee技术的特点与应用Zigbee技术主要用于无线个域网(WPAN),是基于IEEE802.15.4无线标准研制的。Zigbee联盟在IEEE802.15.4的基础上定义了网络层和应用层。Zigbee联盟
10、成立于2001年8月如今已经吸引了成百家芯片公司、无线设备公司和开发商加入,其目标是工业、家庭以及医学等需要低功耗、低成本、对数据速率和服务质量要求不高的无线通信应用场合。Zigbee具有低功耗、低成本、时延短、传输范围小、数据传输率低的特点。被广泛应用于家庭和建筑的自动化控制、消费性电子设备、PC外设、工业控制、医疗设备控制、交互式玩具等等方面。(3)Wireless USB技术Wireless USB技术的方案来自于Cypress公司。它主要是为向鼠标和键盘那样的PC外设而设计的,但对游戏,玩具,远程控制等也是有效的。它的优势在于充当一个HID,所以无线连接对于操作系统水平上的设计者来说是
11、完全简而易见的,不需要特别的驱动。它是一种全新的无线传输标准,可提供简单可靠的低成本无线解决方案,帮助用户实现无线功能。(4)蓝牙技术蓝牙技术由瑞典的爱立信公司在1994年开始启动。由诺基亚,爱立信,东芝,英特尔和IBM公司正式把蓝牙技术的理念推向全世界。企业将该技术取名蓝牙,寓意其将成为无线电技术的全球规范。蓝牙技术是一种无线数据与语音通信的开放性全球规范,是一种段距离无线通信技术,它可以支持移动设备之间的相互通信,进行数据和语音的传输。其实质内容是为固定设备或移动设备之间的通信环境监理通用的无线电空中接口,将与通信技术和计算机技术进一步结合起来,使各种3C设备在没有电线或电缆的相互连接情况
12、下,能在近距离范围内实现互通信或互操作。蓝牙技术具有跳频快,数据包短和低功率等特点,所以更加稳定,抗干扰能力更强,辐射更小。(5)WiFi技术WiFi全称为Wireless Fidelity,又称为802.11标准。它的最大的优点就是传输速率较高,可达11Mbps,另外其有效距离也是很长的,同时与现有的802.11dess设备兼容。无线电波的覆盖范围广,半径可达100m。最近,由Vivato公司推出的了一款新型交换机,该产品能够把目前100m的通信距离扩大到约5.6km。家庭和小型办公网络用户对移动连接的需求是无线局域网市场增长的动机。虽然到目前为止,美国和日本等发达国家仍然是WiFi用户最多
13、的地区,但是随着电子商务和移动办公的进一步普及,廉价的WiFi必将成为那些随时需要进行网络连接用户的必然之选。(6)射频识别(RFID)技术 射频识别技术(Radio Frequency Identification-RFID)是从20世纪80年代走向成熟的一项自动识别技术。它利用射频信号通过空间耦合(交变磁场或电磁场)实现无接触信息传递,并通过传递的信息达到识别目的的技术。RFID技术无须精确定位,就可以大批量地对数据进行实时采集,实时传递,实时核对、更新,避免人为操作中的错扫、漏扫、重扫等差错。RFID低频系统主要用于短距离、低成本的应用,如多数的门禁控制、校园卡、煤气表、水表等:高频系统
14、则用于需传送大量数据的应用系统;超高频系统应用于需要较长的读写距离和高读写速度的场合其天线波束方向较窄且价格较高,在火车监控、高速公路收费等系统中应用。1.1.3 红外(IrDA)技术 红外技术由IrDA一一Infrared Data Association提出并推行的一种无线协议,这种通信方式使用850nm的红外光来传输数据和语音。新制定的超高红外(VFIR)标准传输速率为16Mpbs,相比传统版本FIR的4Mbps快了4倍,接收角度也由原来的30度扩展到120度,并且其硬件及相应软件技术都已比较成熟。该技术的主要优点是无需专门申请特定频率的使用执照。这一点,在当前频率资源匾乏,频道使用费增
15、加的背景下是比较重要的。并且它还具有移动通信设备所必需的体积小,功率低的优点。IrDA的数据传输速率比较高,而且由于采用点到点的连接,数据传输所受到的干扰较少。1.2 短距离无线通信在嵌入式系统中的发展研究意义传统的短距离无线通信其硬件设计、接口方式、通信协议及软件堆栈复杂,需要专门的开发系统,开发成本高、周期长、最终产品成本也高。因此这些技术在嵌入式系统中并未得到广泛应用。普通RF产品不存在这些问题,且短距离无线数据传输技术成熟、功能简单、携带方便,使其在嵌入式短距离无线产品中得到了广泛的应用。本文主要研究的内容就是基于嵌入式的短距离多机无线通信系统,由一个主机及其多个从机组成。从机部分电路
16、主要负责信息的采集与处理并将数据信号发送给主机,主机用户就可以通过一个主控CPU来处理多个从机的传递来的信息。在实践工作中,用户可以更改不同的从机采集模块来达到对不同信息的采集,该系统可以被广泛应用到智能化家庭、自动化控制、医疗设备信号传递、以及无线抄表系统等。1.3 本文主要研究内容本文的主机部分和从机部分都是单片机作为CPU和无线部分组合在在一起,主要研究内容就是在如何在基于嵌入式的基础上来完成多机无线通信设计,研究内容如下:(1)单片机与无线模块之间的串行数据传递;(2)无线模块之间的无线数据传递;(3)影响无线通信的因素有多少,如何避免通信干扰;(4)确立系统总体设计方案、性能技术指标
17、和串行无线通信协议;2 硬件电路元器件选择在短距离无线通信开发过程中,芯片的选择有两种不同的方法:一种是直接使用无线单片机,另外一种是选择采用单片机和无线收发芯片组成短距离通信系统。本文主要采用单片机加无线收发芯片组成短距离无线通信。2.1 下面介绍几种常见的无线芯片。2.1.1 CC1100无线收发芯片CC1100是一种低成本真正的UHF收发器,是为低功耗无线应用而设计的。它的电路主要设定在315MHz、433MHz、868MHz和915MHz的ISM(工业和医学)和SRD(短距离设备)频率波段,但也可以设置为300MHz348Mhz、400MHz464MHz和800MHz928MHz的其它
18、频率。RF收发器集成了一个高度可配置的调制解调器。支持不同的调制格式,其数据传输速率可达到500kb/s。CC1100为数据包处理、数据缓冲、突发数据传输、清晰信道评估、连接质量指示和电磁波激发提供了广泛的硬件支持。2.1.2 nRF905无线收发芯片nRF905是挪威公司推出的单片射频收发器,工作电压为1.93.6V,QFN封装工作于433MHz、868MHz和915MHz的ISM(工业和医学)频道。nRF905由频率合成器、接受调节器、功率放大器、晶体振荡器和调制器组成。nRF905有两种工作模式:ShockBurstTM接收模式和ShockBurstTM,以及两种节能模式分别是关机和空闲
19、模式。2.1.3 nRF2401无线收发芯片nRF2401是单片射频收发芯片,工作于2.4GHz2.5GHz ISM频段,芯片内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置。nRF2401适用于多种无线通信的场合,支持多点间通信,最高传输速率超过1Mb/s,具有比蓝牙更高的传输速度。只需要少量外围元件便可以组成射频收发电路。有四种工作模式:收发模式、配置模式、空闲模式和关机模式。PCB设计对nRF2401的整体性能影响很大,必须考虑到各种电磁干扰,注意调整电阻、电容和电感位置,特别注意电容的位置。2.2 单片机的选择近30年来,世界各主要电子元器
20、件生产商纷纷推出自己的单片机产品。而80C51单片机一直扮演者重要的角色,但是由于它的运算速度慢、功耗大、内部资源少等缺点限制了它的适用范围。Cygnal公司推出的C8051F31x系列单片机既弥补了80C51系列的不足,又与MCS5指令集完全兼容。它在完全兼容8051的基础上速度又得到了提高,增加了很多功能。它是完全集成的混合信号片上系统型MCU芯片。下面列出了一些主要特性: (1)高速、流水线结构的8051兼容的CIP-51内核(可达25MIPS) (2)全速、非侵入式的在系统调试接口(片内) (3)带模拟多路器真正10位200 ksps的25通道单端/差分ADC; (4)高精度可编程的2
21、5MHz内部振荡器 (5)16KB(C8051F310/1)可在系统编程的FLASH存储 器 (6)1280字节片内RAM (7)硬件实现的SMBus/ I2C、增强型UART和增强型SPI串行接口 (8)4个通用的16位定时器 (9)具有5个捕捉/比较模块和看门狗定时器功能的可编程计数器/定时器阵列 (10)片内上电复位、VDD监视器和温度传感器 (11)片内电压比较器(2) (12) 9/25个端口I/O(容许5V输入) 具有片内上电复位、VDD监视器、看门狗定时器和时钟振荡器的C8051F31x是真正能独立工作的片上系统。FLASH存储器还具有在系统重新编程能力,可用于非易失性数据存储,
22、并允许现场更新8051固件。用户软件对所有外设具有完全的控制,可以关断任何一个或所有外设以节省功耗。 l 片内Silicon Labs二线(C2)开发接口允许使用安装在最终应用系统上的产品MCU进行非侵入式(不占用片内资源)、全速、在系统调试。调试逻辑支持观察和修改存储器和寄存器,支持断点、单步、运行和停机命令。在使用C2进行调试时,所有的模拟和数字外设都可全功能运行。两个C2接口引脚可以与用户功能共享,使在系统调试功能不占用封装引脚。 每种器件都可在工业温度范围(-45到+85)内用2.7V-3.6V的电压工作。端口I/O、/RST和JTAG引脚都容许5V的输入信号电压。C8051F31x有
23、32脚LQFP封装和28脚MLP封装。 数字交叉开关允许将内部数字系统资源映射到端口I/O引脚(见图1)。可通过设置交叉开关控制寄存器将片内的计数器/定时器、串行总线、硬件中断、比较器输出以及微控制器内部的其它数字信号配置为I/O引脚表1 C8051F310单片机引脚定义引脚名称引脚号引脚类型说明VDD 4 电源 GND 3 地/RSTC2CK 5 数字I/O 数字I/O 器件复位。内部上电复位或VDD监视器的漏极开路输出。一个外部源可以通过将该引脚驱动为低电平(至少10s)来启动一次系统复位。 C2开发接口的时钟信号。P3.0 C2D 6 数字I/O 数字I/O 端口3.0 C2开发接口的双
24、向数据信号。P0.0 VREF 2 数字I/O 模拟输入端口0.0 外部VREF输入 P0.1 1 数字I/O 端口0.1 P0.2 XTAL1 32 数字I/O模拟输入 端口0.2 外部时钟输入。对于晶体或陶瓷谐振器,该引脚是外部振荡器电路的反馈输入。P0.3 XTAL2 31 数字I/O 模拟输出或数字输入 端口0.3 外部时钟输出。该引脚是晶体或陶瓷谐振器的激励驱动器。对于CMOS时钟、电容或RC振荡器配置,该引脚是外部时钟输入。 P0.4 30 数字I/O 端口0.4 P0.5 29 数字I/O 端口0.5 P0.6 CNVSTR 28 数字I/O 数字I/O 端口0.6 ADC0外部
25、转换启动输入。P0.7 27 数字I/O 端口0.7 P1.0 26 数字I/O或模拟输入 端口1.0 P1.1 25 数字I/O或模拟输入 端口1.1 P1.2 24 数字I/O或模拟输入 端口1.2 P1.3 23 数字I/O或模拟输入 端口1.3 P1.4 22 数字I/O或模拟输入 端口1.4 P1.5 21 数字I/O或模拟输入 端口1.5 P1.6 20 数字I/O或模拟输入 端口1.6 P1.7 19 数字I/O或模拟输入 端口1.7 P2.0 18 数字I/O或模拟输入 端口2.0 P2.1 17 数字I/O或模拟输入 端口2.1 P2.2 16 数字I/O或模拟输入 端口2.
26、2 P2.3 15 数字I/O或模拟输入 端口2.3 P2.4 14 数字I/O或模拟输入 端口2.4 P2.5 13 数字I/O或模拟输入 端口2.5 P2.6 12 数字I/O或模拟输入 端口2.6 P2.7 11 数字I/O或模拟输入 端口2.7 P3.1 7 数字I/O或模拟输入 端口3.1 P3.2 8 数字I/O或模拟输入 端口3.2 P3.3 9 数字I/O或模拟输入 端口3.3 P3.4 10 数字I/O或模拟输入 端口3.4 图1 引脚和封装顶视图C8051F310/2/4有29个I/O引脚(3个8位口和一个5位口)。C8051F31x端口的工作情况与标准8051相似,但有一
27、些改进。每个端口引脚都可以被配置为模拟输入或数字I/O。被选择作为数字I/O的引脚还可以被配置为推挽或漏极开路输出。在标准8051中固定的“弱上拉”可以被总体禁止,这为低功耗应用提供了进一步节电的能力。 数字交叉开关允许将内部数字系统资源映射到端口I/O引脚。可通过设置交叉开关控制寄存器将片内的计数器/定时器、串行总线、硬件中断、比较器输出以及微控制器内部的其它数字信号配置为出现在端口I/O引脚。这一特性允许用户根据自己的特定应用选择通用端口I/O和所需数字资源的组合。 无线芯片的选择2.3 无线收发芯片的选择 CC1100是一种低成本单片的UHF收发器,为低功耗无线应用而设计。电路主要设定为
28、在315、433、868和915MHz的ISM(工业,科学和医学)和SRD(短距离设备)频率波段,也可以容易地设置为300-348 MHz、400-464 MHz和800-928 MHz的其他频率。 RF收发器集成了一个高度可配置的调制解调器。这个调制解调器支持不同的调制格式,其数据传输率可达500kbps。通过开启集成在调制解调器上的前向误差校正选项,能使性能得到提升。CC1100为数据包处理、数据缓冲、突发数据传输、清晰信道评估、连接质量指示和电磁波激发提供广泛的硬件支持。主要性能特性(1)体积小(QLP 44mm封装,20脚)(2)真正的单片UHF RF收发器(3)频率波段:300-34
29、8 MHz、400-464 MHz和800-928 MHz (4)高灵敏度(1.2kbps下-110dBm,1数据包误差率) (5)可编程控制的数据传输速率,可达500kbps(6)较低的电流消耗(RX中15.6mA,2.4kbps,433MHz)(7)可编程控制的输出功率,对所有的支持频率可达+10dBm 图2 引脚结构顶视图 表2 外接引脚介绍引脚编号 引脚名 引脚类型 描述 1 SCLK 数字输入 连续配置接口,时钟输入 2 SO(GD01)数字输出连续配置接口,数据输出 当CSn为高时为可选的一般输出脚3 GDO2 数字输出 一般用途的数字输出脚: 测试信号 FIFO状态信号时钟输出,
30、从XOSC向下分割连续输入TX数据4 DVDD 功率(数字) 数字I/O和数字中心电压调节器的1.8V-3.6V数字功率供给输出5 DCOUPL功率(数字) 对退耦的1.6V-2.0V数字功率供给输出注意:这个引脚只对CC2500使用。不能用来对其他设备提供供给电压6 GDO0 (ATEST) 数字I/O 一般用途的数字输出脚: 测试信号 FIFO状态信号时钟输出,从XOSC向下分割连续输入TX数据也用作原型/产品测试的模拟测试I/O 7 CSn 数字输入 连续配置接口,芯片选择 8 XOSC_Q1模拟I/O 晶体振荡器脚1,或外部时钟输入9 AVDD 功率(模拟) 1.8V-3.6V模拟功率
31、供给连接10 XOSC_Q2模拟I/O 晶体振荡器脚 3 无线通信的传输数据3.1 数据包装无线通信数据以数据包装的方式进行传输。数据包的格式是通信协议的重要部分,本文使用的CC1100无线通信模块的无线数据包格式如下: 表3 数据包PerambleADDRPAYLOADCRCPeramble是前导码,是由硬件自动加上去的;ADDR是要发送的3240位地址码;PAYLOAD是有效数据(最大为32个字节);CRC是CRC校验和,它可由内置CRC纠错硬件电路自动加上。当完成上面的发送寄存器配置后,决定了发送地址,有效数据长度。无线收发器在接收到实际数据和发送命令后接收与发送数据。3.2 影响短距离
32、通信的因素无线通信中有很多影响其通信速率、通信距离和通信质量的因素。首先无线电波在空间中传播,自身就会衰减,穿过障碍物时会衰减得更加严重,这种现象称为阻隔,而空气的阻隔还是最小的。当然,影响传输距离的还有周围电波的干扰问题。另外,环境因素对无线通信的影响也很大。对于一个无线通信系统本身来说,自身的参数也决定了通信的质量和效果。总结起来,影响无线通信的主要因素归纳如下:(1) 环境因素(2) 磁场因素(3) 天气因素(4) 输出功率(5) 接收灵敏度(6) 系统抗干扰能力(7) 软件纠错(8) 天线类型及其增益(9) 天线有效高度在实际应用中,应当尽量减小这些影响,因地制宜地使用无线通信技术。遵
33、循以上规则无线系统才能高效、准确的收发信息。3.3 通信准确性可靠性是通信的一个重要指标,它表明所传输的信息的准确性,如果经过传输的信息发生了改变或者是不能识别,那么通信就失去了意义。解决通信的准确性问题,可以用差错控制编码俩完成。差错编码技术可以分为两类:1. 前向纠错码技术:前向纠错编码(FEC)技术通过在传输码列中加入冗余纠错码,在一定条件下,通过解码可以自动纠正传输误码,降低接收信号的误码率(BER)。这种技术依赖于发送冗余信息的受控使用,以实现对含噪信道上传送信号过程中差错的检测和纠错。不管收到的码元的译码是否成功,都不会在接收机短做进一步的处理。因此,适合于FEC的信道编码技术只需
34、在发射机与接收机之间建立一条单向链路。发送端经信道编码后可以发出具有纠错能力的码子:接收端译码后不仅可以发现错误码还可以判断错误码的位置并予以自动纠正。2.检错重发方式:这种方式只对差错检测使用冗余信息。每当在发送码元过程中检测到一个差错时,接收机就要求发射端重传有问题的码元,所以必要使用返回路径。4 短距离无线通信设计综述4.1 系统设计框图本文采取单片机和射频芯片实现短距离无线通信。典型的无线通信结构包括一个无线发射器(包括数据源、调制器、RF源、RF功率放大器、天线、电源)和无线接收器(包括数据接收电路、RF解调器、译码器、RF低噪声放大器、天线、电源)发射器的数据通过无线发射器发射出去
35、,接收器天线接收后进行处理,得到经过校验的正确数据。整个短距离多机通信系统由两部分组成:主机部分和从机部分(1) 主机部分:由一个单片机作为CPU和射频芯片组成无线收发系统,单片机外围电路由数码管显示模块和按键控制模块组成完整主机模块。(2) 从机部分:由无线收发系统和信号采集系统构成。从机采集到信号之后,先将数据经过单片机处理再存入发送缓冲器,根据相应的协议标准,经过扩频和A/D变换后调制到需要的频段,并经放大后送到天线发射出去。系统设计框图如下图所示:数码显示单片机MCU从机1按键从机2从机N无线模块图3 系统设计框图4.2 主从模块通用单片机部分C8051F310单片机具有单片机具有一个
36、增强型的外设接口(SPIO),它具有访问一个一个全双工同步串行总线的能力。SPIO口可以作为主从器件工作,并可在同一总线上支持多个主从器件。SPIO主要使用3个信号(1) 主输出、从输入(MOSI)(2) 主输入、从输出(MISO)(3) 串行时钟信号(CLK)SPIO口的操作方式有主方式和从方式两种:(1) SPIO主方式操作只有SPIO主器件能够启动数据传输。在主方式下,向SPIO数据存储器写入一个字节时实际是写发送缓冲器。如果SPIO移位寄存器为空,发送缓冲器中的数据被送到移位寄存器,数据开始传输,同时在SCK上提供串行时钟。(2) SPIO从方式操作当SPIO口被允许而未配置为主器件时
37、,它将作为SPIO从器件工作。这时由主器件控制串行时钟,从MISO移入数据,从MOSI引脚移出数据。SPIO逻辑中的位计数器对SCK边沿计数。接收到的数据将被送到接收缓冲器并再次被读取。从器件不能启动数据传输。SPIO允许中断,将SPIE、WCOL、MODF和RXOVRN四个标志位在相应的情况下置1则可产生中断。SPIO接口主要完成两部分的工作:在SPIO编程下单片机通过SPIO 接口配置CC1100的工作参数,这主要是对配置寄存器进行设置。在发射模块下单片机按照SPIO接口时序要求将发送数据写入CC1100的发送寄存器中,接收模式下单片机将CC1100接受到的数据通过SPIO接口读入单片机的
38、接收缓冲区。4.2.1 复位电路图4 复位电路复位电路允许很容易地将控制器置于一个预定的默认状态。在C8051F310中进入复位状态时将发生以下过程:(1) CPI-51停止程序执行(2) 特殊功能寄存器SFR被初始化为所定义的复位值(3) 外部端口引脚被置于一个已知状态(4) 中断和定时器被禁止外部/RST引脚提供了使用外部电路强制MCU进入复位状态的手段。在/RST引脚上加一个低电平有效信号将导致MCU进入复位状态。尽管在内部有弱上拉,但最好能提供一个外部上拉和/或对/RST引脚去耦以防止强噪声引起复位。从外部复位状态退出后,PINRSF标志(RSTSRC.0)被置1。4.2.2 时钟电路
39、图5 时钟电路XTAL1和XTAL2分别为震荡电路的输入端和输出端。时钟可以由内部方式产生或外部方式产生。在XTAL1和XTAL2引脚上外接定时元件,内部震荡电路就产生自己震荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。外部方式的时钟电路,XTAL1接地,XTAL2接外部振荡器。一般要求输入方波信号的频率低于33Mhz。本文设计的系统采用的是内部方式的时钟电路。4.2.3 报警电路图6 报警电路蜂鸣器是广泛应用于各种电子产品的一种元器件,它用于提示、报警、音乐等许多应用场合。三极管8550作蜂鸣器的驱动,增加了蜂鸣器的驱动电流。蜂鸣器的正极性的一端接到三极管的集电极,另一端连接到地,三
40、极管的基极由单片机的P1.1管脚控制,底电平时蜂鸣器响,高电平时不响。另外,蜂鸣器的声音大小及音调可以通过调整P1.1管脚的置低时间及输出的波形进行控制。5 无线部分设计5.1 硬件电路下图就是无线部分的硬件原理图,主机部分和从机单片机就可以如图所示进行连接无线部分。图7 无线部分电路原理图由CC1100芯片和一些外围电路组成,C1, C3, L4和 L1形成一个平衡转换器,用以将CC1100上的微分RF端口转换成单端RF信号。同一个合适LC网络一起,平衡转换器元件也将阻抗转换以匹配50欧的天线。晶体振荡器在26MHz-28MHz频率范围的晶体必须连接在XOSC_Q1和XOSC_Q2脚之间。振
41、荡器为在晶体的平行模式操作而设计。另外,晶体负载电容(C8和C9)是必须的。负载电容值由总负载点容量CL决定,由晶体指定。在指定频率下,为使晶体振荡,晶体两端的总负载电容值应该等于CL。CC1100的平衡RF输入和输出共享2个公共引脚,应用于印制电路板上的简单、低价匹配和平衡转换器网络。CC1100前端的接收和发送转换用一个专用的芯片功能来控制,从而不需要外部RX/TX转换。少量的被动外部元件同内部RX/TX转换/终止电路一起,能保证RX和TX模式下的匹配。虽然CC1100有平衡RF输入/输出,但芯片也可以连在带少量外部低价电容和电感的 。CC1100的SPI口接到CPU的任意四个管脚,最好接
42、在硬件的SPI口上。引脚GDO0或GDO2也接在CPU的任意脚上。如果想要外部中断处理收发数据或是想做无线唤醒的话,这个引脚必须接在CPU的外部中断引脚上。5.2 软件配置在发射与接收数据时,首先要通过SPIO口对CC1100进行初始化,包括一些最基本的收发确认、频段、地址设置等等。在发射时,将CC1100设置在待机和SPIO编程状态,然后在进行射频寄存器的初始化设置后,当单片机有数据要发送时,按SPIO接口时序把要发送的数据写入CC1100。在初始化发射端地址,且应当与接收端的地址相互匹配,发射端发射数据的有效宽度应该与接收端设置一致。之后为单片机设置发送模式,完成数据打包,进行编码、调制、
43、和发送。发送完成后相应的引脚被置低,CC1100回到待机模式在接收时,初始化的设置同发射时的基本一致,然后CC1100被设置为接收模式,不断地检测载波,等待接收数据,当检测到同频段的载波并且地址也匹配时,CC1100进行数据包的接收,并完成校验等相关工作。接着将数据通过SPIO口传输到单片机中,接受完成后CC1100继续进入待机状态。(1)初始化CC1100void Init_CC1100(void) POWER_UP_RESET_CC1100();/对CC1100进行复位 halRFwriteRfSettings();/配置CC1100的寄存器 halSPiWriteBurstReg(CCx
44、x0_PATABLE,PaTable,8)/连续配置CC1100的寄存器 CC1100复位CC1100复位分为上电复位和软件复位void POWER_UP_CC1100(void)/上电复位 CS_CC1100=1; halwait(1); CS_CC1100=0; halwait(1); CS_CC1100=1; halwait(41); RESET_CC1100;void RESET_CC1100(void)/复位CC1100CS_CC1100=0;while(GD00);SpiReadWrite(CCxx0_SRES);while(GD00);CS_CC1100=1;(2)寄存器配置函数
45、名:void halfwriteRfSettings(RF_SETTINGS*pRFSetings)(3)模块功率配置unsigned char const Patable8=0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0/功率配置void halRfwriteBurstReg(unsigned char addr,unsigned char count)/功能描述:连续写配置寄存器。(4)CC1100发送数据程序void halRfSendPacket(unsigned char*txBuffer,unsigned char size)/功能描述:CC1100发送一组数据。(5)CC1100接收数据程序void halRfReceivePacket(unsigned char*rxBuffer,unsigned char length)/功能描述:CC1100接收一组数据,并放入缓冲区。6 通信系统硬件设计通信系统硬件电路主要有两部分构成:主机部分和从机部分。主机和从机的单片机基本电路部分和无线信号接受部分是通用的。6.1 主机系统硬件设计主机部分由单片机作为CPU连接无线模块、按键模块、数码管显示模块。通过按键模块可以输入不同的数据从而选择相应的从机号码,通过数码管显示模块可以看到与主机通信的从机号码以及从机传输来的数据信息