4.1RF模块实现
在整个系统中,RF模块是通信传输的桥梁,双边都须进行协议相同的RF软件模块设计。其发送模式和接收模式的数据包主要通FIFO来进行处理,一帧的格式如图6所示:
前导码
同步字
可选长度位
可选地址位
数据段
可选CRC字
在设计时采用固定帧长度模式。通过对寄存器PKTLEN(=<FIFO size)的设定。
TxBuffer[0] = PACKET_LEN;
TxBuffer[1] = host_address;
TxBuffer[2] =slave_address;
TxBuffer[3] = mode;
TxBuffer[4] = pwm_data;
TxBuffer[5] = TxBuffer[0]+TxBuffer[1]+TxBuffer[2]+TxBuffer[3]+TxBuffer[4];
在发送时,在TX FIFO中的数据段包括数据长度,主机地址,从机地址,控制模式,控制PWM参数,数据段CRC校验。其中,主机地址标识了控制端的地址;从机地址包括两种地址:广播地址与独立地址,主要是用于集中控制与多点操作。控制模式提供了可选的模式选择,控制PWM参数用于LED亮度调节。
在接收时,RF的解调器和数据包处理器将寻找一个有效的前导和同步字。当找到后,解调器将获得前导位和字同步,然后对接收的地址信息进行比照,首先判断数据包是否来自控制端,然后响应含有广播地址或者本机地址信息的数据。其发射/接收的流程图如图7。
在对射频寄存器的配置过程中,主要通过SmartRFstudio来进行设置,输出RFRegSettng.c作为射频的配置文件。
4.2触摸滑条的软件设计
触摸滑条是由多个触摸按键组合而成,通过为每个触摸按键分配多个位置,可以实现简单的触摸滑条功能。在设计通过4~5个按键构成一个触摸滑条,如在每个触摸按键上创建8/16个位置,则可提供32/64个单独步阶检测。其识别的步阶数是对电容变化量的反映,电容变化幅度越大,测量的Delta值越大。通过设置一个系统能够达到最大响应的上限值,用该最大的Delta值除以每个按键所需的步阶数,再由每个按键经过加权计算后将产生1至32/64步阶的线性结果,如图:
4.2控制端/接收端软件设计
控制端/接收端软件的流程图如图9所示,
其中虚线上方为控制端CC430F6137的软件设计,在Stand By模式时保持MSP430的低功耗模式,以满足控制端遥控器对能耗的要求。通过对模式选择的操作实现集中控制和多点操作,而触摸滑条的处理通过将Position转换为PWM由RF发送至接收端CC430F5137。接收端则处理来自控制端的数据包,对LED照明进行亮度调节,或自动调节。本设计的软件采用C语言编写,整个程序包括的子模块有:模式选择模块,触摸滑条检测模块,数据发送/接收模块,PWM转换模块,传感器检测模块等几个部分。
总结
本文主要描述了以CC430为控制核心的无线LED照明系统的设计。整个系统经过软/硬件设计与调试使得功能基本得到实现,系统实际硬件电路如图10所示。实测过程中能够有效地进行集中控制和多点单独控制,定时控制,自动调光等预设功能,满足当前市场对此类解决方案的功能要求。
Soccer Wang:
可以转到无线去分享