微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > MCS-51单片机与无线调制器的综合应用

MCS-51单片机与无线调制器的综合应用

时间:11-20 来源:现代电子技术 作者:张振权 魏明等 点击:
GPS是目前技术上最成熟且已实用的一种定位系统,但是在GPS定位系统中,由于其是一个单向导航系统,他是把星历数据等传给地面接收机,可在许多具体应用时,例如在车辆调度系统中,一般都需要把利用GPS测得的信息数据传到调度中心,由于其系统由一个基准站和多个用户台组成,基准站与用户台之间的联系,即由基准站计算出的各种校正值发送到用户台,上边这一切都需要用到数据链来完成数据的传输。其中,数据链由调制解调器和电台组成。在无线数据传输系统中,调制解调器足一个关键部分,调制解调器(Modem)是将数据进行编码和调制,然后输入到电台发射出去,用户台将其接收下来,并将数据解调后,送入GPS接收机进行改正。本文介绍了单片机控制Modem的原理和方法。

1 系统组成

本系统主要由单片机和调制解调器组成,单片机选用P89C58,其作为控制电路的主要部分,对K224芯片进行控制,并完成各个芯片的初始化工作,同时还有对数据进行交织纠错编码的功能。单片机与K224接口的连接如图1所示。

整个系统分为两个部分,一部分为主呼结构,另一部分为应答结构。图1只给出了主呼部分。工作时,先上电复位,由P89C58对K224进行初始化设置,并对其自身的串行口进行初始化。

整个系统的工作过程为:从GPS接收机接收下来数据后,经过RS 232接口电路(即由MAX232构成的电平转换电路),变为TTL电平,送至P89C58的RXD端,P89C58对数据进行分组编码、交错编码后,送到P89C58的TXD端输出,此输出信号送到K224的TXD,经过调制后从K224的TXA端输出调制信号。当接收机从RXA处接收到调制信号后,经过K224处理,解调后由K224通过RXD端口送至P89C58的RXD接收端,由P89C58对数据进行反交织、解码处理,此后,数据从单片机的TXD端口处送出去,再一次经过ICL232的电平转换,以RS232电平送至计算机进行计算分析。

2 单片机的初始设置

在本系统中,由于要用到P89C58对各个芯片进行初始化设置,并且还要利用其完成数据的交织纠错功能,这就需要用到单片机的特殊功能寄存器进行设置,同时需要利用单片机内部RAM的可位寻址区来完成交织编码的功能。对于MCS-51系列的单片机来说,其特殊功能寄存器中对串行口进行控制的有SCON和PCON。PCON是电源控制寄存器,其中D7位SMOD为串行口波特率系数控制位,如SMOD=1,则波特率加倍。特殊功能寄存器SCON字节地址为98H,且可位寻址。SCON用来设定串行口的工作方式、接收发送控制以及设置状态标志。

在串行口的4种工作方式中,主要用于扩展并行输入输出口。考虑到上述参数,我们设置单片机工作于串行方式1,即一帧数据格式为:1个起始位、8个数据位、1个停止位、无奇偶校验。由于单片机串行口4种工作方式中,并无2个停止位的数据格式,我们没必要为了凑齐2个停止位而刻意采用方式3,用9位数据格式中的一位来代替停止位。另外,如节省下这1个停止位,由于GPS导航仪输出的数据格式为2个停止位,而单片机工作于方式1,当其接收到1个停止位时,就认为一帧数据已接收完毕,从而就有了1个停止位的时间进行别的处理。对于波特率为2 400 b/s的数据来说,码元宽度为1/2 400=0.42 ms,对于波特率为1 200 b/s的数据,码元宽度为1/1 200=0.83 ms。在本系统中,由于采用的是11.059 2 MHz晶振,其机器周期近似为1μs。比较后可以看出,节省下来的时间有一定的利用价值,从而有更多的时间去进行交织纠错的编码处理。由于系统工作时接收数据采用的是查询方式,也即上电复位后,即不停地循环检测有无数据输入,直到检测到有数据输人为止。这样,如有更多的时间进行数据处理,则不会因为处理数据而导致有些数据漏检从而丢失了数据。

本系统中接收数据的波特率设定为1 200 b/s,2 400 b/s,采用定时器T1作为波特率发生器,T1工作于自动装载方式的工作方式2,TL1作计数用,自动重装的值放在TH1中时,溢出率可由下式确定:

溢出率=计数速率/[256-(TH1)]

其波特率由下式确定:

波特率=(定时/计数器1溢出率)/(32/2SMOD)

其中SMOD为特殊功能寄存器PCON中的第8位特殊位。

3 交织纠错编码的设计

纠错编码是提高数字传输可靠性的一种技术,是正确传输差分GPS改正信号的重要手段。数据在传输过程中,由于传输信道内部噪声及其造成的符号间干扰,以及传输外界环境的干扰,常常有突发性的错误发生。为了提高抗干扰能力,我们采用交织纠错编码来将一连串错误分散到多个码字中去,然后再采用能够纠正较少错误的码字进行编码,这样就可能纠正有较长错误的码字。例如,给定一个(n,k)线性分组码,我们利用交织可以把长为bλ的单个突发错误分散到λ个(n,k)码字中去,从而使每个(n,k)码字中只有长度为b的突发错误,这就提高了系统抗干扰的能力,提高了系统的纠错能力。

MCS-51单片机内部数据存储器一般为256 B,分为128 B的内部数据存储器和128 B的特殊功能寄存器。对于P89C58来说,其可寻址的数据存储空问可扩展至上边的128 B。在内部数据存储器中,20H~2FH(16个单元)作为一般工作单元,既可以由CPU按字节寻址,也可以按位直接寻址,进行位操作。我们正是利用了其中的20H~27H来构成交错编码空间。

通过8×8个矩型数据单元,循环按行(列)放置数据,然后再循环按列(行)读出数据,从而达到数据行进列出,或者列进行出,这样完成交错纠错编码。在这一过程中,需要注意时间的配合问题,数据的处理时问和数据的发送时间要协调一致,否者会导致数据不能正常接收。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top