新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于CMX469A的无线MODEM设计

基于CMX469A的无线MODEM设计

作者:时间:2004-12-07来源:网络收藏

摘要:是CML公司推出的FFSK/MSK全双工芯片,它内部集成了载波检测、RX时钟恢复电路和振荡电路,并具有很好的信噪比以及低电压、低功耗等特性,能够接收、发射FFSK/MSK信号,同时可提供收发时钟。文中给出了的工作原理、应用电路和程序控制流程。

关键词:快速移频键控;;调制解调器

1 CMX469A的主要特点

CMX469A是CML(公司新推出的全双工Modem芯片)它采用CMOS工艺制造,工作电压为2.7V~5.5V,当电源电压为3V时,它的典型工作电流为2mA,数据传输速率可设定为1200 bps、2400 bps和4800bps。在这三种波特率下,逻辑高、低电平的频率相应为1200/1800Hz,1200/2400Hz,2400/4800Hz。

CMX469A采用快速移频键控FFSK/MSK调制方式,可广泛应用于通讯系统中(例如水文检测系统、船载监控系统等)。CMX469A的主要特性如下:

●具有独立的发送、接收使能控制;

●可以接外部1.008MHz或4.032MHz晶振;

●可选择三种波特率:1200bps、2400bps、4800bps(4800bps传输时,需要外接4.032MHz晶振);

●具有载波检测、接收时钟故障恢复功能;

●低电压、低功耗(电源为3V时,典型工作电流为2mA;节能模式下,供电电流只有300μA);

●抗干扰性能优良,在信号条件比较差的情况下具有优良的灵敏度,同时可通过外部电容设置载波检测周期,以使器件在高噪音环境下具有更完善的性能。

2 CMX469A的引脚说明

CMX429A有22脚PDIP、20脚SOIC、24脚TSSOP三种封装,这三种封装的对应引脚不同。表1是20脚SOIC封装所对应的引脚功能介绍,其余两种封装只是引脚序号不相同。

表1 CMX469AD3的引脚说明

引 脚名 称类 型

功 能 描 述

1CLOCK/XTALI片内振荡器的输入端或外部时钟输入端
2XTALNO片内振荡器的输出端
3Tx SYNCO发送同步时钟输出
4TxSIGNALOFFSK/MSK信号输出
5TxDATAI发送数据串行输入端
6TxENABLENI发送使能
7BAND PASS RX带通滤波器输出
8RxENABLEI接收使能
9VBIASBI偏置电压输出
10VSSP
11UNCLK DATAO接收异步数据输出
12CLK DATAO接收同步数据输出
13CD OUTO载波检测输出
14RxSIGNALIFFSK/MSK信号输入
15RxSYNCO接收同步时钟输出
16BAUD SELECTI1200/2400波特率选择
17BAUD SELECTI4800波特率选择
18COLOCK RATEI4.032MHz/1.008MHz外晶振选择
19CD TIME CINSTANTBI载波检测响应时间调整端,影响抗干扰能力
20VDDP接电源2.7~5.5V

3 与单片机的硬件接口

CMX469A的调制解调器的硬件主要包括CMX469A与电台的接口电路以及与单片机的接口电路两部分。

CMX469A与电台的接口主要用于实现输入、输出模拟电路部分的放大。这部分电路非常简单,用运放LM358就可以实现,这里就不再多说,以下主要说明CMX469A与单片机的接口设计。硬件接口电路如图1所示。

CMX469A与单片机接口时,CMX469A内部产生的TxSYNC和RxSYNC同步时钟线可以同步单片机的发送和接收串行数据。由于发送数据时,从单片机输出的串行数据在TxSYNC的上升沿必须有效且稳定,因此,应该在时钟的下降沿输出单片机的串行数据。同样,在RxSYNC的下降沿读取单片机同步数据线(CLOCK DATA)上的串行数据,同时在RxSYNC的上升沿忽略同步数据线的状态。而在接收数据时,载波检测端口的输出状态可表明有效的FFSK数据是否进入CMX469A,并可通过载波检测来防止CMX469A接收虚假的数据。

CMX469A与单片机的接口电路设计主要分为两部分:发送接口电路设计和接收接口电路设计。发送接口电路由发送允许(TxEN)、发送时钟线(TxSYNC)、发送数据线(TxDATA)三部分构成。此时的FFSK数据输出线(TxSIGNAL)用于输出经过调制的FFSK信号。接收接口则由接收允许(RXEN)、接收时钟线(RxSYNC)、载波检测(Carrier Detect)、时钟同步接收数据线(CLOCK DATA)等四部分构成。此时,FFSK数据输入线RxSIGNAL为需要解调的FFSK/MSK信号的输入端口。

TXEN为发送使能控制端口,当低电平发送使能后,在时钟信号TxSYNC的同步下,TXDATA数据线上的信号将依次被采样,同时经过调制即可在TxSIGNAL引脚输出调制后的FFSK信号。在1200bps下,该系统可将高电平“1”转换为1200Hz的正弦波,而将低电平“0”转换为1800Hz的正弦波,并由TxSIGNAL端口输出。其发送时序如图2所示,Tx-DATA引脚信号将在时钟信号TXSYNC的上升沿被采样,因此,TXSYNC的上升沿必须有效并且保持稳定。设计程序时,应该在时钟信号的下降沿依次串行输出要发送的数据。拉高TxEN将使发送电路进入节能状态,这时TXSYNC将输出逻辑高电平,TxSIGNAL进入高阻态。TxEN由内部上拉为VCC。

RxEN为接收使能引脚。RxEN为高时,使能接收电路,为低时则使接收电路进入节能状态。此时,RxSYNC和接收数据端将输出固定电平。接收使能时,输入RxSIGNAL的 FFSK信号经过内部滤波器后可被恢复为串行数据输出。同时,从接收的数据中还可恢复出同步时钟,单片机通过采样此同步时钟来同步接收数据。接收时序如图3所示。设计该程序时,应该在同步时钟RxSYNC的下降沿采样CLOCK DATA引脚的数据。

4 软件设计

该MODEM的软件设计主要包括FFSK发送程序和FFSK接收程序,其程序流程图如图4所示。发送FFSK数据时,首先需要拉低发送使能端口TxEN,接着检测时钟线(TxSYNC)?并在每一个时钟下降沿移位输出一位数据,一直到数据全部发送完成,然后拉高发送使能端口。至此,FFSK发送数据结束。

接收FFSK数据时,由于接收时钟线RxSYNC被接在单片机的中断引脚上,因此,只要有FFSK数据到达,接收时钟线就会输出经过恢复的时钟信号,并引起单片机中断。为了防止误操作,进入中断子程序以后,应该首先判断载波检测端口是否有效。如果无效,表明是误操作,此时应退出接收子程序;如果有效,则继续接收FFSK数据。在每一个RxSYNC时钟的下降沿,都要锁存接收数据线(CLOCKED DA-TA)的状态,一直到接收数据结束。同时,在接收数据时,为了防止单片机由于等待数据而死机,必须加上码间隔判断,如果超过一定的时间没有收到预期的数据,则将以前接收的数据废弃,并进行数据接收初始化,以重新进行接收。

发送、接收FFSK数据内容可以按照自定义协议来完成,具体为:第一字节为数据长度,然后为若干个字节的数据内容,最后为和校验码以及异或校验码。经笔者实践证明,这种协议可以比较有效地实现数据的发送和接收,同时检测传输误码的效果也比较好。

5 结束语

利用CMX469A实现的无线MODEM具有抗干扰能力强、电路简单、程序设计方便等优点,对于只有一个串行口的51系列单片机来说,由于CMX469A不占用串行口,因此,单片机可以利用串行口方便地与计算机或者其它设备进行串口通信,从而为整个系统的设计提供方便。



评论


相关推荐

技术专区

关闭