基于CC1000的多路无线温度采集系统设计
无线通信,本设计所采用的协议具有代表性。由于在发射端与接收端进行无线通信时,极易被外界噪声干扰而产生错误数据或数据丢失,因此本设计将要发送的数据进行打包再发送,数据的组织格式如图6所示。
数据包格式OxAA OxAA 0xAA 0xAA 0x330xCC地址 数据…数据 检验和,其中4个0xAA是同步头0×33 0xCC是特殊标识,由于噪声中OxAA后面紧跟0×33 0xCC的机率极小所以发送4个OxAA后发送0×33 0xCC作为标识头,每次只接收以4个OxAA 0×33 0xCC作为标识头的数据,然后发送地址,每个从机都有唯一的地址,从机接收时只接收和自己地址相同的包,最后采用校验和的方式来保证数据的可靠性。
3.2 主程序的设计流程
通信由上位机发起,当需要通信时,上位机首先发送同步头,然后发送地址其后等待下位机应答。而下位机使用中断的方式与上位机进行通信,即下位机每收到一个数据包检侧是否有同步头信息,如果没有同步头信息,无线通信模块转入休眠状态;反之,下位机接收上位机信息:如果接收到的地址为本机地址,则对数据进行分析处理,否则转人休眠。这种通信方式虽然速度较慢,但是却使得下位机的功耗大大降低,延长了下位机电池的寿命。程序流程图见图7所示。
CC1000对硬件和软件的要求都很高,要获得良好无线通信效果需注意以下几点:
(1)电源滤波要好,单片机C8051F020和CC1000用两路电源供电,电源芯片用LDO的TPS7133Q芯片以防串扰和确保输出电压的稳定性。
(2)PCB布局时将将射频和低频元件分开布,与CC1000相关的电容和电感紧密地布在CC1000的周围,以增加CC1000的接地面积和通信可靠性。
(3)模式转换的延时一定要足够。
4.结束语
本方案采用C8051F020单片机和无线收发芯片CC1000实现了8路温度数据的采集与无线传输,从实验结果可看出该系统很好的满足了无线测温系统的要求,并有效的降低了系统的功耗和体积。
- 基于单片机设设计的智能无线网络汽车测试系统(12-02)
- 基于C8051f020吴伟镖动画LCD控制显示(11-30)
- 基于C8051F020的示波器监控程序的设计(11-30)
- 基于C8051F020 单片机的浊度仪研制(11-28)
- C8051F020的SPI0(11-24)
- C8051F020的端口配置(11-24)