引言
无线数据通信技术被越来越多地使用到嵌入式系统中,在简化布线的同时,也使数据交换变得更加便捷。本文介绍一种适用于远程计数无线传输的测试系统,该系统主要由德州仪器(ti)公司的cc1100射频收发器和飞利浦(philips)公司的微处理器p89lpc922构成。
1 硬件设计
(1)总体方案设计
本设计由1个主机和1~32台终端从机组成。从机通过内部传感器计数后将数据以无线方式传送给主机,主机负责整个系统的调度、显示、配置。
(2)微控制器p89lpc922
p89lpc922芯片具有8 kb flash程序存储器、1 kb可擦除扇区和64字节可擦除页,可擦除单个字节,指令执行时间只需2~4个时钟周期,指令执行速率6倍于标准80c51器件,有可配置的片内振荡器和 rc振荡器、增强型uart,具有波特率发生器及自动地址识别和通用的中断功能。
(3)射频芯片cc1100
cc1100的主要特点有:体积小(20引脚,qlp 4 mm×4 mm),工作频率为300~1000 mhz,接收灵敏度高(1.2 kb/s下110 dbm),数据传输率最大可达500 kb/s,功耗低(rx中15.6 ma,2.4 kb/s,433 mhz),在所有频段输出功率高达+10 dbm;spi接口,支持ask、ook、2-fsk、gf-sk和msk调制模式,具有无线唤醒(wor)功能等。
由于高频收发信号会对mcu部分产生干扰,所以无线通信部分应单独做1块pcb板,并外加屏蔽。p89lpc922和cc1100的连接如图1所示。
2 软件设计
(1)数据包格式
cc1100数据包格式包含以下几部分:前导、同步词汇、可控数据包长度、可选地址字节、有效载荷、可选的2字节crc。它支持恒定长度和可变长度数据包协议,其数据长度可达255字节,对于更长的数据包,必须使用无限长度数据包协议。本系统采用可变长度数据包格式。
(2)状态及寄存器设置
cc1100有一个内置的状态机,用来在不同的操作状态(模式)之间切换。状态的变化要么通过命令滤波,要么通过内部事件(如tx fifo下溢)改变。当前状态可从状态寄存器marcstate获得。cc1100的寄存器比较多,可根据需要配置,有一部分需由软件smartrf studio给出。
cc1100的3个数字输出引脚so(gdo1)、gdo0、gdo2也可以通过iocfgx寄存器配置成所需的功能接口。设计中,gdo0 iocfgo=ox06,引脚会在收发到同步词汇的时候置成高电平,当数据包传输结束时变成低电平。此外,当收发fifo溢出时也将变成低电平。 gdo2iocfg2=ox0b,引脚输出一连续时钟,可以用来检测cc1100是否工作。
(3)收发数据
cc1100上电后,需要依次对芯片进行复位、寄存器设置、功率设置等。收发数据可以通过gpo0引脚产生中断,然后依据不同的情况处理。程序如下:
3 通信协议
在大多数主从式结构通信中,一般主机和从机之间的通信都是采用查询方式进行,然而当从机数量较多时,效率并不高。因此,设计一种快速实用的通信模式就很有必要。时分多址(time division multiple access)是把时间分割成互不重叠的时段(帧),再将帧分割成互不重叠的时隙(信道),与用户具有一一对应关系;依据时隙区分来自不同地址的用户信号,从而完成多址连接。时分多址简称tdma。
根据上述定义,在设计中主机采用定时发送命令的方式,每个从机则分配1个时间段用于和主机通信。时间段的选择要根据从机的数量、同步的时间,以及通信速率来决定。具体约定如下:
主机定时向终端从机发送命令,命令中包含下次同步的时间以及其他所需信息,命令周期可以自行定义,这里命令周期为1 s。
从机接收到主机命令后首先同步自己的时钟,然后再做出相应的动作。
①对于无应答的命令,从机立刻进入休眠状态,只在下一个接收主机命令时刻到来之前,提前2 ms退出休眠。
②对于有应答的命令,从机则在接收到主机命令之后延时(n×30)ms应答主机,在没有应答之前,从机也先进入休眠,只是在应答时刻到来之前,提前2ms 醒来,准备应答。从机应答时间为1~25 ms,剩余的5 ms是为了把一个时间段和另一个时间段分开(即保护时间)。当应答结束后延时2 ms进入休眠。
③当从机未能和主机同步时,应开启cc1100电磁波激活功能,搜寻主机信息。
其中n为从机地址号,设置范围1~32,具体通信协议如图2所示。
结语
本文介绍的无线数据通信方案,适用于工业信号监控、无线仪器仪表测试、楼宇智能系统等,性价比高,所提出的通信协议具有较强的实时性、可靠性。现场工作表明,在计数测试系统中,距离100 m内未发生通信错误的情况,满足了测试要求。
全方面解读小型SUV福特翼搏底盘
沈阳现共享服装每月258元随便穿,搞事情啊!什么都要去蹭共享经济的热点?
河南省偃师区将建共享涂装项目或引入直线电机模组喷涂设备
ChatGPT能够猜你所想!OpenAI为Plus用户推出新测试功能
LED开关电源-LED防雨开关电源-LED电源变压器
基于CC1100和P89LPC922微控制器实现无线传输测试系统的设计
ESP8266泳池温度监控器MQTT的制作
捷德为长安汽车爆款SUV提供数字车钥匙解决方案
2020年我国5G建设是“飞速快跑”
目前LED显示屏市场变得越来越大,应用越来越广泛
中国新能源汽车发展已完成从0到1的蜕变
VGA视频接口转PAL制信号的电路图
魅族Note9和红米Note7Pro对比分析_颜值性能你青睐谁?
苹果正式公布iPhone 12系列售后保修费用,来看看详细价格吧
vivo蝉联两季销量冠军 面临战略机遇点
人们是否准备好迎接下一代AI技术革命
MIMXRT1021CAG4B GPIO口复位值详解
UltraSoC宣布提供业界首款RISC-V处理器跟踪IP产品
Linux编程可以给你的程序开后门
远心镜头和普通镜头谁更有优势?