采用MCS-51单片机实现CPFSK调制
在遥测遥控系统中,数据的调制和解调是经常遇到的问题。一些自报测站不接收远方的遥控命令,只是定时采集参数或在参数变化时采集,并自动将采集的参数发往监控中心。这些遥测站不一定包含解调功能,但信号调制是遥测站的必要功能。
本文引用地址:http://www.amcfsurvey.com/article/173787.htm在水情自动测报系统中,数据传输大量采用超短波无线电台。用模拟电台传输数字信号时,调制方法多采用FSK。水情自动测报规范推荐的标准为CCITT V.21,即:数据串行速率为300波特率,数据电平“1”调制频率为980Hz,数据电平“0”调制频率为1180Hz。
调制解调的通常方法是采用专用的调制解调接口芯片,如MC145442、XR2211、XR2206等。采用专用调制解调接口芯片不仅增加了设备成本,而且芯片质量直接影响测控设备的性能。就一般而言,设备中的元器件越多,设备的可靠性越低。因此,在满足系统功能的前提下,应尽可能减少设备中元器件的品种和数量。遥测遥控设备的信号调制解调是非常重要的环节,如果能够减少或省去调制解调专用接口芯片,将对提高设备的稳定性和可靠性大有好处。
目前,几乎所有的遥测设备都使用单片机,其中MCS-51系列单片机又占了很大比例。本文将以MCS-51单片机为例,说明利用单片机的软件调制产生标准的FSK信号。
1 正弦波的调制
单片机的输出接口一般只能输出逻辑“0、1”,即0、Vcc两种电位。要想得到FSK信号,首先要得到正弦波信号,再根据串行数据的变化产生FSK信号。
从单片机获得正弦波,最简单的方法就是利用方波滤波得到正弦波。由于单片机的脉冲输出只有正电平,没有负电平,方波负半周,单片机无法产生负脉冲。因此产生的信号波形应该叠加一个直流正电平,使信号波形完全处在正电平一侧。如图1所示。
然而,方波是由基波和一系列高次谐波组成。如果图1可以用函数f(x)表示,将函数f(x)进行傅里叶级数展开可以得到:
从式(1)可以看出,接近基波的谐波成分比重较大。采用低通滤波器滤波时,接近基波的谐波成分难以滤去,为了减小波形的失真往往需要增大滤波的强度,这样在减小波形失真的同时,基波的损失也随之增大。
如果采用正弦波脉宽调制(PWM)可以得到比较满意的结果。PWM调制可以利用“0、1”变化的脉冲信号调制出模拟信号。
在计算机中,对连续曲线进行数字化处理时,通常将连续曲线用阶梯图形表示,当阶梯的步长足够小的时候,所表示的曲线被认为是精确的。图2的上图表示了不同时段内,电压的不同阶梯。
但是单片机输出接口不能产生变化的电平,即不能产生如图2所示的电压阶梯,所能做的只能是“0、1”电平的时间变化,即PWM调制。
所谓正弦波PWM调制就是调制出的波形尽可能接近正弦波,也就是傅里叶级数中的基波比重尽可能大,高次谐波的比重尽可能小。对于图2来说,在调制过程中使每个时段内下图的阴影面积与上图对应部分的阴影面积相等。在用PWM调制正弦波时,要求时段的分割是偶数,因为正弦波图形是一种对称图形。
评论