数据通信帧格式设置
同步头包括前导序列和开始帧分隔符,在CC2420中前导序列长度和开始帧分隔符是能设置的,默认值4字节和1字节,是符合IEEE.80 2.15.4协议的;物理头位为1字节,帧控制和序列号分别为2字节和1字节:地址和源地址共6字节,待发数据段长度为帧长度减去地址和帧校验序列。当MODEMCTRL0.AUTOCRC控制位置位时,这个帧校验序列自动产生2字节,并由CC2420硬件自动插入。
软件设计
本设计中,无线传感器网络是一个多路的自组织无线网络,可以实现自动组网,自动路由查询,自动数据采集与传输,软件设计上必须能够实现多跳自组织的功能。另外,传感器节点必须要求较低的功耗,而低功耗除了硬件设计上的低功耗外,更重要的是软件设计的低功耗。
此无线传感器网络终端在开机后首先进行自检,如果自检失败了,则进行硬件故障提示,而且自动关机。在自检通过后,进一步判断工作模式。传感器节点在自检通过后进入接入状态,如果接入失败则进入等待状态。处于等待状态的节点关闭射频收发器以节省功耗,当等待定时器溢出时,节点再次回到接入状态进行新的介入尝试。如果节点接入成功便转入业务状态。处于业务状态的节点,完成数据的采集与传输,对近节点数据的中继转发,新节点入网的介入确认等操作。节点为了实现低功耗,必须在业务状态(活动状态)与休眠状态之间轮换。
软件开发以IAR Embedded Workbench V2.10为平台,采用C语言编写。节点的MSP430系列单片机支持C语言程序设计。适用于MSP430系列的C语言与标准C语言兼容程度高,大大提高了软件开发的工作效率,增强了程序代码的可靠性、可读性和可移植性。软件编程的基本思想是:先对SPI、CC2420控制端口初始化,使能SPI、UART端口,使能ADC,开机后,就可以运行任务程序,实现接收或发送数据及命令了。