在工业、科学研究以及医疗设备中,目前出现了大量需要进行通信的设备,这些设备通信距离较近、数据量较小、不适合布线。比如自动抄表系统、酒店点菜系统以及现场数据采集系统等,其中有很多设备是可移动的,而且要求何种小便于携带。因此,要求其通过设备具有体积小、功耗低、成本低、使用方便等特点。基于这些需求,本文给出了一款超低功耗的无线数字传输模块的设备及实现方法。
该模块采用Chipcon公司的超低功耗FSK调制解调芯片CC1000和Microchip公司的低功耗单片机PIC16F73,从而保证了系统的超低功耗。同时,为了适应电池供电系统的应用,该模块支持查询方式的无线通信,可以使系统的平均工作电流低至10μA。该模块具有8组信道,可以实现点对点、点对多点的半双工通信,并且提供标准串行数据接口,支持TTL、RS232和RS485通信接口,可以方便地与其它控制器或计算机连接。
1 模块硬件设计
模块结构框图如图1所示。
作为工作在物理层和数据链路层的底层通信设备,该系统完成数据的调制解调、假数据过滤、数据组合、解码数据帧、数据校验等功能。在接收过程中完成数据由电信号向位流、由位流数据向字节,由字节向数据帧的变换,而在发送过程中则完成接收到的逆向过程。数据发送过程中数据流的变化如图2所示。
调制解调由CC1000完成。系统采用频移键控调制(FSK),载波频率为434MHz,带宽为64kHz,数据采用差分曼彻斯特编码发送,空中发送数据速率可以根据需要设置,最高FSK数据速率为76.8kpbs。CC1000采用三线命令接口和两线数据接口,可编程配置载波频率和数据速率等内容。有关CC1000的详细内容见参考文献。
模块控制器在发送时从用户接口接数据和命令,并将用户数据转换成数据帧传送给CC1000,控制CC1000进行数据发送。在接收时,控制器接收从CC1000传送过来的数据,分析数据,过滤噪声,将数据由位流转换为字节,进行校验并将用户数据通过串行口传送给用户,使用户可以实现所发即所收。
模块是为低功耗系统而设计的,除了具有SLP引脚可以直接休眠模块外,还有一些专门设计的命令来支持使用查询方式的通信。PCMD、RX、TX三线组成模块的三线接口,配置命令时PCMD必须为高电平。配置命令工作时序如图3所示。
发送数据时PCMD应置为低电平,通过串行口发送数据即可。模块使用时间间隔区分数据帧,如果有传输半个字节的时间没有接收到数据,则认为此前接收到的为一帧数据,系统将编码该帧数据并通过CC1000进行调制和发送。因此,如果用户数据是以数据帧的格式发送的,用户应当连续发送数据,以避免模块将一帧数据分割为两帧数据发送,从而降低发送效率。模块只能进行半双工通信,没有数据发送时模块处于接收状态;有休眠信号时模块进入体眠状态,此时模块无法接收和发送数据,只有将模块唤醒后,才能发送和接收数据。READY信号是模块工作状态指示信号。当READY长时间处于低电平状态时,可以使用RST将模块复位,重新设置模块的工作状态,以避免模块处于错误工作状态。
2 软件设计
系统软件采用专门为PIC单片机进行了优化,能够为PIC系列单片机产生优质高效的代码,具体内容参考文献。系统控制器软件设计是本系统的核心内容,由于控制器要完成与用户和CC1000双方的通信及数据封装,因此系统软件借用Windows系统的消息循环机制设计,采用消息循环的体系结构。这种结构使得程序结构清晰、可扩展性强、可移植性强。经过长时间的初中,证明这种结构非常适合单片机系统软件的开发。
3 模块性能
3.1 模块功能
作为一款专门为低功耗系统而设计的无线数字传输模块,该模块具有低电平供电、低功耗的特点。供电电压范围为3V~12V。当供电电压为3V时,在接收状态下,模块电流为9.6mA;在发送状态下,模块电流为25.6mA;在休眠状态下,模块电流为2μA。通信系统使用查询方式工作时,处于接收的工作电流计算公式如下,即若休眠时间为dsl,检测信号时间为tdt,那么平均工作电流为(单位为μA
):
Ip=(tsl×2+tdt×9600)/(tsl+tdt)
因此,如果一个系统的休眠时间为8s,检测时间为13μA。这样,5400mAh的锂电流可以使用47年!当然,实际使用中应该计算模块处于接收状态时的电流,此时模块的功耗就取决于模块工作的情况和传输数据量的大小,但是其极低的待机功耗对于移动设备来说是十分重要的。
3.2 通信可靠性
通信误码率可以使用如下近似公式计算:
Pe≈Ne/N
式中,N为传输的二进制码元总线;Ne为被传输错的码元数,理论上应有N→∞。
在实际使用中,N足够大时,才能够把Pe近似为误码率。经过对模块的测试,在数据速率为2400bps、通信距离为100m(平原条件)时,通信误码率为10-3~10-5。在数据速率提高时,通信误码率会增加,但是通信模块可采用多项技术来提高通信可靠性。在物理层,模块采用差分曼彻斯特编码技术发送数据,从而保证通信中的同步问题;而在数据链路层,使用CRC(循环冗余编码)进行数据帧校验,用以保证数据到达用户应用层以后的可靠性。当然,用户在应用层还可以采取多种通信协议来进一步提高通信的可靠性。
3.3 通信距离
在无线通信中,通信距离与发射机发送信号的强度和接收机接收灵敏度有着直接关系。本模块的发送功率为10dBm,而在数据速率为2400bps、带宽为64kHz、通信二进制误码率为10-3条件下,模块的接收灵敏度为-110dBm。在天线高于地面3m的可视条件下,可告通信距离(误码率小于10-3)大于300m。在市区环境中,可靠通信距离在10m左右。
图5
4 模块应用
无线智能IC卡水表由负责显示和读写IC卡的上位机和负责阀门控制的下位机组成,上位机和下位机之间的通信使用无线数字传输模块完成,系统结构如图6所示。上位机负责人机接口,包括显示下位机状态、显示剩余水量、读取IC卡以及与下位机通信等功能,下位机完成水脉冲计数并接收上位机的指令控制阀门开关状态。由于本系统采用电池供电,所以要求系统的功耗必须非常低。水表的上位机和下位机均采用Microchip公司的低功耗单片机PIC16F73,下位机工作在查询状态。
无线智能IC卡水表的通信方式如下:通信由上位机发起,当需要通信时(按键被按下或插入IC卡时),上位机首先发送10s的同步头,然后发送地址,其后等待下位机应答。而下位机使用查询的方式与上位机进行通信,即下位机每9s唤醒一次无线通信椟以检测是否有同步头信息,检测时间为10ms。如果没有同不头信息,并进行解密和地址判断。如果接收到的地十为本机地址,则分析指令并进行响应,否则转入休眠。因为上位机发送同步头的时间大于下位机休眠的时间,所以保证了通信的可靠性。这种通信方式虽然速度较慢,但是却使得下位机的功耗大大降低,延长了下位机电池的寿命。在该系统中,由于数据量较小,所以通信速度不是关键问题,而低功耗才是系统最重要的问题。
上一篇:温湿度分时段控制研究
下一篇:PIC16C5X的复位电路
推荐阅读最新更新时间:2024-03-16 13:38