现代通信技术的迅速发展使得许多应用领域都采用无线的通信方式进行数据传输。编解码芯片PT2262、PT2272组成的电路,由于具有体积小、功耗低、功能强、成本低等特点,广泛应用于各类的无线遥控器、无线报警器以及玩具等其他小型电器装置。但是,这种电路极少用在多个字节数据的通信方面,具有一定的局限性。
本文主要介绍利用433 MHz高频发射模块和接收模块来制作多机无线ASCII码格式的短信通信。该通信方式是在433MHz高频发射模块和接收模块的基础上自己定义无线传输协议,实现任意两机之间的多个字节数据通信。
1 硬件系统设计
本系统主要由PICl6F877A单片机构成控制系统,周围4个模块分别是:按键输入模块、显示输出模块、接收模块和发射模块。系统整体结构框图如图1所示。
1.1 主机电路的设计
由于系统涉及的程序量比较大,所以要求Flash程序存储器的存储量不能太小;对发射和接收的短信进行存储,要用到EEPROM数据存储器模块,EEPROM数据存储器存储的内容掉电时不会丢失;接收解码需要脉宽的捕捉和比较功能,要用到捕捉/比较/脉宽调制CCP模块;发射、接收以及时钟均要用到独立的定时器,所要求的定时器的个数不少于3个。基于设计需要,采用Microchip公司的PICl6F877A芯片作为系统的主控制器。该电路主要由主控芯片、晶体振荡电路和在线仿真接口组成,如图2所示。设计中使用MCLR、RB6、RB7三个接口作为在线仿真接口。
1.2 发射和接收电路的设计
采用433 MHz高频发射和接收模块。433 MHz的高频发射电路在控制脚为高电平时起振并发射等幅高频信号,当控制脚为低电平时停止振荡。因此,可以用控制脚对高频电路完成幅度键控(ASK调制),相当于调制度为100%的调幅。当接收模块接收到433 MHz的等幅高频信号时,信号脚就输出高电平,否则输出低电平。所以接收信号脚的高低电平变化会与发射控制脚的高低电平变化相对应。多个接收模块可以同时接收到同一个发射模块发射的信号,可以实现一机发送,多机同时接收。图3所示电路是高频433 MHz载波的发射和接收模块。433 MHz的高频发射电路在控制脚B5为高平时,三级管T1导通,T2射级接地起振并发射等幅高频433 MHz的信号;当控制脚B5为低电平时,就停止振荡。因此,可以用控制脚B5对高频电路完成幅度键控(ASK调制),相当于调制度为100%的调幅。当接收模块接收到433 MHz的等幅高频信号时,信号脚就输出高电平到C2口,若未收到433 MHz的等幅高频信号则输出低电平。所以接收信号脚的高低电平变化会与发射控制脚的高低电平变化相对应。例如给B5引脚输入图4所示的波形,那么在接收模块的C2引脚上也将出现同样的波形。注意,B5和C2的控制信号分别由主控芯片PICl6F877A的RB5和RC2发出。
1.3 液晶外围控制电路的设计
采用诺基亚3310 LCD显示模块。该LCD为84×48点阵的液晶屏,一屏可显示4×7个(12×12点阵)汉字,或6×14个(6×8点阵)英文、数字、标点符号等字符。该液晶显示器轻薄短小、低功耗电量,常用于手机显示。液晶外围电路如图5所示。
本设计中,诺基亚33lO LCD用3 V的电压供电。其中,1引脚是电源脚,6引脚接地线,2引脚为SCLK,3引脚为SDIN.4引脚为数据/地址选择端,分别给4引脚高低电平,可以控制单片机对诺基亚3310 LCD写数据或者写命令。5引脚为使能端,低电平有效。8引脚为复位端,低电平有效。11引脚接背光灯电源的正级,12引脚接背光灯电源的控制级。9、10引脚为诺基亚3310 LCD自带的喇叭,此喇叭用单片机来控制的声音效果并不理想,所以改用直流自带振荡蜂鸣器。为了避免蜂鸣器和背灯光工作时对液晶电源造成影响,蜂鸣器和背灯光由5 V的电源来供电,与液晶电源分开。
2 软件系统设计
本系统在主程序中运用模块化结构,使得各个模块之间关系清晰明了。复位分为两个部分,以区分上电复位与非上电复位,上电复位执行上电复位初始化程序;运用散转结构,再根据重要数据3比2表决,实现无扰动重入;所有控制量(开关量)和接收数据集中处理,提高了处理效率;特殊功能寄存器冗余重置,使整个系统更稳定地工作。主程序总流程如图6所示。
3 通信模块功能及算法
本无线通信协议模仿OSI分层模型分为以下3层,各层之间相互独立,灵活性好,适应性强。
(1)物理层
物理层处于层,其任务是传送和接收比特流。物理层关心的问题是:如何表示“1”和“O”;如何排除干扰;传输是否在两个方向上同时进行等。本设计中使用433 MHz高频发射模块和接收模块作为无线通信桥梁,固定的频率限制了数据传输在同一时刻只能在一个方向上进行,所以两个方向上的数据传输要在交替发生的情况下才能完成。
(2)数据链路层
数据链路层使用由物理层提供的服务,并通过添加错误处理机制将简单的数据链路改造成可靠的数据链路,再提供给应用层。数据链路层以码字为单位传输数据,每一码字包括数据和必要的校验信息。在此自定义为无线传输协议(Wireless Transmission Protocol,WTP)。