基于CMX469A的无线MODEM设计

基于CMX469A的无线MODEM设计,第1张

 

  摘要:CMX469A是CML公司推出的FFSK/MSK全双工MODEM芯片,它内部集成了载波检测、RX时钟恢复电路和振荡电路,并具有很好的信噪比以及低电压、低功耗等特性,能够接收、发射FFSK/MSK信号,同时可提供收发时钟。文中给出了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的主要特性如下:

  

基于CMX469A的无线MODEM设计,第2张

 

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

  ●可以接外部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封装所对应的引脚功能介绍,其余两种封装只是引脚序号不相同。

  3 与单片机的硬件接口设计

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

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

  

基于CMX469A的无线MODEM设计,第3张

 

  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。

  

基于CMX469A的无线MODEM设计,第4张

 

  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)的状态,一直到接收数据结束。同时,在接收数据时,为了防止单片机由于等待数据而死机,必须加上码间隔判断,如果超过一定的时间没有收到预期的数据,则将以前接收的数据废弃,并进行数据接收初始化,以重新进行接收。

  

基于CMX469A的无线MODEM设计,第5张

 

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

  5 结束语

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2419329.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-01
下一篇 2022-08-01

发表评论

登录后才能评论

评论列表(0条)

保存