新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于ATmega48单片机的串口转FSK通信模块设计

基于ATmega48单片机的串口转FSK通信模块设计

作者:时间:2013-06-27来源:网络收藏

4.3 实现

AVR往往采用SPI方式,通信通信采用UART0控制/状态寄存器和数据寄存器实现。串口通信子程序主要由串口发送/接收中断子程序、串口接收命令解析子程序和串口组包发送子程序3部分组成。其中串口中断接收程序为:

具体执行串口数据发送时,需要提供发送数据长度、发送起始地址、置UCSROB寄存器值(UCSR0B |=0x28)。串口接收命令解析子程序按照对外串口通信协议解析串口命令,并根据命令描述调用子程序代码执行相应子功能操作。为了通信容错处理,通信需对接收串口数据进行校验,如果解析的串口命令格式正确,则向终端发送肯定应答;否则发送否定应答,等待终端重传命令数据。串口组包发送子程序对接收的数据以及线路状态等信息数据,按照串口通信协议组包发送给信息终端。

4.4 通信实现

通信子程序主要由CMX865芯片寄存器操作、FSK收/发、DTMF收/发以及线路状态检测等子程序组成。芯片采用模拟口线的方式对CMX865寄存器进行读/写操作,其中对CMX865芯片寄存器读操作程序为:

FSK收/发、DTMF收/发子程序均以CMX865寄存器读/写操作函数为基础,通过设置CMX865寄存器的值,确定其工作模式。FSK数据发送、接收都可以通过CMX865芯片的IRQ中断口线引起芯片中断,因此FSK数据收/发都通过中断实现。芯片程序采用10 ms定时器循环检测线路状态。

结语

本文利用芯片和CMX865芯片为硬件架构了串口转FSK通信。由于ATmega48芯片与ATmega88芯片除了Flash、EEPROM、SR AM容量差异外,性能完全相同。通信模块可以不更改硬件电路,仅配置相应AVR芯片,对软件稍作调整,能够满足通信业务对通信数据量增加的需求,节约模块二次开发的成本。目前本通信模块已在一款新型的电子交易终端上使用,并与中兴、精伦等电子交易平台进行信息交互,运行效果良好。

数字通信相关文章:数字通信原理


通信相关文章:通信原理


分频器相关文章:分频器原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭