CC2530能适应2。4GHz IEEE802。15。4,并且结合了RF收发器的良好性能。它具有四种不同的闪存版本,分别是CC2530F32、CC2530F64、CC2530F128和CC2530F256。它还拥有多种运行模式,能够很好地适应超低功能要求的系统。CC2530所需的外部连接元件极少,为开发提供了便利,并且CC2530的电路具有典型性。
3。2。2 CC2530芯片的最小系统
CC2530芯片的最小系统如图3-4 最小系统结构图所示。
3。2。3 CC2530芯片的引脚功能
CC2530芯片的引脚功能如图3-5 CC2530功能引脚图所示。
CC2530共有三组通用I/O口,分别是具有8个引脚的P0口、具有8个引脚的P1口和仅具有5个引脚的P2口。这些I/O端口都可以作为普通或对应的片上外设控制。控制端口处于某种模式,只需要配置PxSEL、PxDIR、PxINP这三种寄存器,其中 x分别对应0、1、2,从而来确定这些I/O口的模式。分别如表3-1 PxSEL寄存器、表3-2 PxDIR寄存器、表3-3 PxINP寄存器所示。
表3-1 PxSEL寄存器表
注意:其中P2组只有5个I/O口,但是P2_1 和P2_2是用于下载程序用的,所以这两个I/O不需要配置。
表3-2 PxDIR寄存器表
注意:其中因为P2组仅5个I/O口,所以从P2_0 到P2_4 这几位就不需要配置。
表3-3 PxINP寄存器表
注意:其中因为P2组仅5个I/O口,所以从P2_0 到 P2_4这几位不需要配置 。
3。3 按键模块文献综述
作为投票端的终端节点一共设有三个按键分别是S3、S4和S5,分别代表赞成票,反对票和弃权票。或者可以根据用户需要对每个按键重新赋予定义。作为控制端的协调器节点一共设有两个按键分别是S3和S4,分别代表允许投票和禁止投票。按键模块原理图如图3-6 按键模块实物图所示,按键模块实物图如图3-7 按键模块原理图所示。
3。4 Wi-Fi模块
本项目采用的是Wi-Fi模块C215,其主频为166MHz。该模块支持透明传输模式、AT指令模式及HTTPD Client模式的数据传输方式,具有多个优点,例如体积小和功耗低等。首先将手机连接对应的Wi-Fi,然后在浏览器输入网址10。10。100。254对该Wi-Fi进行相应的配置。本项目将其配置为AP+STA模式,能够提供灵活的组网方式。网络参数选择的是透传模式,SocketA选择的是TCP-Server协议,其余的设置都使用默认设置即可。该模块会自动将协调器节点接收到的信息传输给安卓客户端。在安卓客户端上,只需选择TCP Client服务,并且配置好对于的IP和端口地址即可。本项目的IP为10。10。100。254,目标端口为8899。这样,投票的信息就能够顺利的在安卓客户端上显示。Wi-Fi模块原理图如图3-8、图3-9、图3-10、图3-11所示,Wi-Fi模块实物图如图3-12所示。
4。 软件设计
4。1 软件架构
投票逻辑处理概述:
(1)投票活动负责人让协调器发送允许投票或者禁止投票指令给投票器。如果什么指令都不发出,那投票器默认工作在禁止投票的工作模式。
(2)投票器在收到协调器发出的指令后,若是禁止投票指令则不做任何变化,若是允许投票指令则修改投票器的全局通信变量communication=1(默认是0),这样投票器就可以进行投票活动。
(3)在利用投票器进行投票的时候,每进行一次投票,投票器便会发送一个数据包给协调器,协调器在解析这个数据包的时候,就会自动统计各种票数,并上报给Wi-Fi模块,最后各种票数统计结果便会在安卓手机上显示