DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 843|回复: 0
打印 上一主题 下一主题

[无线] 基于CMX469A的无线MODEM设计

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-4 23:13:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
基于CMX469A的无线MODEM设计

摘要:CMX469A是CML公司推出的FFSK/MSK全双工MODEM芯片,它内部集成了载波检测、RX时钟恢复电路和振荡电路,并具有很好的信噪比以及低电压、低功耗等特性,能够接收、发射FFSK/MSK信号,同时可提供收发时钟。文中给出了CMX469A的工作原理、应用电路和程序控制流程。    关键词:快速移频键控;CMX469A;调制解调器
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不占用串行口,因此,单片机可以利用串行口方便地与计算机或者其它设备进行串口通信,从而为整个系统的设计提供方便。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-6-1 08:57 , 耗时 0.097385 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表