基于AVR单片机的串口转FSK的通信模块-[db:标签3]

  • 时间:
  • 浏览:1
  • 来源:网赚学院官网
随着信息技术与网络技术的飞速发展,信息交互应用业务给人类生活带来更多的便利,信息终端表现出巨大的市场潜力。但是由于终端用户环境不同,用户信息交互方式可能不同,目前常用的有IP方式、FSK方式以及无线通信方式等。为了能够提高终端市场竞争力,减少系统开发成本投入,通信模块与终端程序独立设计是较为理想的解决方案。本文采用ATmega48芯片及CMX865芯片实现FSK通信模块,基于此模块,用户与业务平台之间进行FSK信息交互,相对于终端来说就是简单的串口通信。 1 ATmega48介绍 ATmega48是基于AVR增强型RISC(精简指令集)结构的高性能、低功耗的8位CMOS微控制器。微控制器具有可控制的上电复位和可编程的掉电检测电路、经过标定的片内RC振荡器、片内外18个中断源和5种休眠模式。由于其先进的指令集以及单时钟周期指令执行时间,ATmega48的数据吞吐率高达1 MIPS/MHz,运行速度比普通的单片机高出10倍,从而可以缓解系统在功耗和处理速度之间的矛盾。 其片内集成了4 KB的系统内可编程Flash、256字节的EEPROM、512字节的SRAM。其外设具有可编程的串行USART接口、可工作于主机/从机模式的SPI串行接口;存在2个具有独立预分频器和比较器功能的8位定时/计数器和1个具有预分频器、比较功能和捕捉功能的16位定时/计数器、具有独立片内振荡器的可编程看门狗定时器等。ATmega48/88/168芯片硬件电路可以完全兼容,完全可以根据软件实际需求灵活选择AVR芯片,极大地方便系统的开发与研制。 2 CMX865简介 CMX865是CML公司新出的一款DTMF编/解码器/FSK调制解调器复合IC芯片,它采用单个高速串行总线控制,与大多数串行接口兼容。CMX865的主要特征是: ◆ 供电电压2.7~5.5 V,低功耗操作模式; ◆ 支持V.23、Bell202 FSK 1200 bps编码/解码; ◆ 集成高可靠性DTMF编码器/解码器; ◆ 集成振铃检测功能,支持语音探测功能。 3 硬件设计 图1为串口转FSK通信模块电路。系统主要以AVR单片机ATmega48芯片和CMX865调制/解调芯片为硬件架构,ATmega48芯片利用CBUS总线对CMX865芯片进行控制操作,实现FSK通信。CMX865芯片的IRQN终端与CPU芯片的外部中断0(INT0)相连,确保软件可以采用中断方式接收/发送FSK数据。CMX865芯片的时钟信号、片选信号、响应应答数据信号、接收控制数据信号分别与ATmega48芯片的普通I/O接口引脚相连,CPU可以通过模拟口线方式对CMX865芯片进行控制。
图1 串口转FSK通信模块电路 图1还提供了基本的FSK接收/发送数据接口电路和振铃检测电路。在FSK发送电路中,CMX865芯片TXA(15引脚)处外接电阻的目的是匹配芯片接口对线路的交流阻抗。在FSK接收电路中,CMX865芯片RXAFB(9引脚)与RXAN(10引脚)之间的电容以及隔离变压器之间电容设计的目的是滤除高频噪声;通过调节接收电路中两个电阻R1、R2的阻值即可改变接收端提供给CMX865芯片信号的幅度。在振铃检测电路中,IC1是光电耦合器,不振铃时光电三极管截止,RING为高电平;振铃时,振铃信号经过电容耦合及稳压管稳压,振铃电压使IC1内发光二极管发光,照射到光电三极管的基极上导致光电三极管导通,RING为低电平,通过ATmega48引脚检测到低电平的振铃信号。 4 软件实现 ATmega48芯片具有4 KB内部Flash和512字节的片内SRAM,软件实现需考虑资源分配问题,特别是SRAM使用情况。由于程序涉及串口通信、DTMF通信和FSK通信3种情况,理论上需要开辟6个缓冲区。如果这样,每一个缓冲区的大小显然不能确保达到实际通信数据量的需求。结合FSK通信特点,DTMF数据传输与FSK数据传输不可能同时发生,因此FSK与DTMF可共用相同缓冲区。同样串口接收与FSK发送、串口发送与FSK接收都不会同时发生,这样通信只需要开辟两个缓冲区就可以确保模块正常通信,考虑实际业务平台数据量情况,软件设计中为FSK接收开辟255字节缓冲区复用;FSK发送开辟45字节缓冲区复用。 4.1 主程序实现流程
图2 主程序流程 通信模块主程序包括:CPU初始化、CMX865初始化、初始化建链、串口通信和FSK通信子程序等。主程序流程如图2所示。初始化建链环节是模块正常工作的基础,通过初始化建链操作,信息终端可以根据线路环境以及平台超时机制对通信模块参数进行设置,确保通信的稳定性。通信主流程循环执行3个子功能函数:线路状态处理函数、串口数据解析与处理函数、链路保持函数。线路状态处理函数设计了3种线路状态,即初始状态、空闲状态和摘机状态;正常工作时仅在空闲状态和摘机状态之间切换。其中在空闲状态检测振铃、根据状态位执行摘机、DTMF拨号等操作;在摘机状态根据状态位执行FSK收发、脱线检测、挂机控制等操作。串口数据解析与处理函数包含串口数据按命令集解析、对解析命令进行应答和状态置位处理部分。这样线路状态处理函数和串口数据解析与处理函数通过状态置位标志紧密连接起来。FSK数据采用中断方式直接接收,接收完毕后在摘机状态下直接通过串口发送给信息终端。由于串口发送应用相对单一,为简单处理串口发送采用即时应答处理方式,分散在通信主流程各子功能函数中实现,提高了通信效率。通过链路保持函数判断串口通信是否异常,通信模块周期性地向信息终端发送链路保持命令,如果3次重发均未收到终端应答命令,通信模块将自动锁闭线路,重新执行初始化建链操作,实现串口异常的处理。 次数用完

猜你喜欢

这部比《精绝古城》评分还高的盗墓剧,居然没几个人看过?

近年来盗墓剧的崛起让喜欢盗墓题材的朋友大饱眼福,而盗墓领域的饭碗也几乎被《鬼吹灯》和《盗墓笔记》两座大山瓜分殆尽,很少有其他同类型改编的影视剧能与之抗衡,近日小编在看了《黄金瞳

2019-07-19

《大侦探皮卡丘》成为票房最高的游戏改编电影_动画资讯_海峡网

《精灵宝可梦》衍生真人电影《大侦探皮卡丘》在全世界公映后,票房收入相当高。截至7月14日,《大侦探皮卡丘》电影在北美累计票房已达到1.43亿美元,而全球累计票房达到4.36亿美

2019-07-19

Netflix轻松熊定格动画,花两年拍摄22万个镜头_影视新闻资讯网_影视趣闻图_中国影视产业发展现状前景【文创】

Netflix的定格动画《轻松熊和小薰》,是轻松熊的首部动画。Netflix近日公开了制作特辑,虽然第一季只有13集,每集约12分钟,但原来定格动画公司Dwarf的制作团队花了

2019-07-19

ChinaJoy携手剑网3再次召集“江湖英雄令”_动漫新闻_动漫论坛_动漫美图_幻之羁绊动漫网

ChinaJoy携手剑网3再次召集“江湖英雄令”2019-03-2809:40来源:官方供稿|作者:官方供稿编辑:桐乃热度:ChinaJoy超级联赛+剑网3再次携手回归2019

2019-07-19

加删减片段“重映”?《复联4》的目的很明确……_影视新闻资讯网_影视趣闻图_中国影视产业发展现状前景【文创】

《复仇者联盟4:终局之战》(下称《复联4》)要“重映”的消息昨日引起很多网友关注。上月24日,《复联4》在内地下映,票房42.40亿元人民币,而在北美以

2019-07-19