一种低功耗模式下TTL串口无损接收突发数据的方法技术

技术编号:16365457 阅读:35 留言:0更新日期:2017-10-10 21:28
本发明专利技术涉及一种低功耗模式下TTL串口无损接收突发数据的方法,其解决了现有单片机在低功耗模式下无法有效接收主站的突发数据帧的技术问题。其包括TTL串口的Tx发送引脚、Rx接收引脚、Gnd地引脚以及与Rx接收引脚并联的IO引脚,串口模块在初始化时,与Rx接收引脚并联的IO引脚设置为中断输入引脚并启用下降沿中断,接收到突发数据时,第一个字节的起始位下降沿会触发IO引脚中断唤醒单片机,单片机立即启用Rx接收引脚的接收功能,完整接收主站突发的数据帧。本发明专利技术广泛用于串口数据通信技术领域。

Method for lossless receiving burst data of TTL serial port in low power mode

The invention relates to a method for lossless receiving data of a TTL serial port in a low power mode, which solves the technical problem that the existing single chip microcomputer can not effectively receive the burst data frame of the master station in the low power mode. The TTL serial Tx and Rx receive the transmit pin pin, Gnd pin and IO pin and Rx pin receiving parallel, serial port module in the initialization, and Rx parallel receiving pin IO pin is set to interrupt input pin and enable the falling edge interrupt, the received data burst, the first byte of the start bit down the IO pin will trigger the interrupt wake-up single-chip microcontroller immediately enable the receiving function Rx receive pins, complete receiving data frame of emergency station. The invention is widely used in the technical field of serial port data communication.

【技术实现步骤摘要】
一种低功耗模式下TTL串口无损接收突发数据的方法
本专利技术涉及一种串口数据通信
,具体而言,涉及一种低功耗模式下TTL串口无损接收突发数据的方法。
技术介绍
智能热量表、水表等计量仪表,是靠电池供电的设备,具有长达5至10年的使用寿命。为了减少电量消耗,设备中的单片机会周期性的进入低功耗模式。在低功耗模式下,单片机的主时钟通常处于停止状态,此时大部分外设电路也处于休眠状态,必须在单片机唤醒后才能开始正常工作。对于在单片机中广泛使用的TTL电平串口电路,如何能够在低功耗模式下完整无损的接收主站的突发数据帧一直是单片机应用的技术难点。目前单片机的TTL串口数据接收一般有如下几种方案:1、通讯双方增加一个IO引脚用于主站唤醒。这种方式简单可靠,但并不是针对突发的情况,IO引脚在通讯前提前进行了唤醒。在很多应用场景例如远程RS485转TTL串口读表中只有两条线,是无法增加额外线路的,这与标准的串口不兼容,所以应用受到限制。2、增加前导数据、专门的唤醒帧或者特定地址。增加前导数据实际上是利用丢失的前导数据保证后续数据的完整性,专门的唤醒帧或者特定地址主要是各个硬件芯片自定义的功能。很多应用场景的数据内容是不可控的,用户有可能自定义发送任何数据值,所以这不是通用的解决方案。3、部分单片机设计有专门的低功耗串口。但是一旦启用这种串口,功耗还是会有所增加,对于功耗要求非常严苛的场合不能满足要求。
技术实现思路
本专利技术就是为了解决现有上述技术问题,提供了一种无需增加双方的通讯线路或者增加额外的数据帧,不丢失任何数据字节的低功耗模式下TTL串口无损接收突发数据的方法。本专利技术提供一种低功耗模式下TTL串口无损接收突发数据的方法,包括单片机和主站,单片机设有TTL串口模块和IO引脚,TTL串口模块的Tx发送引脚与主站的Rx引脚连接,TTL串口模块的Rx接收引脚与主站的Tx引脚连接,TTL串口模块的Gnd引脚与主站的Gnd引脚连接,TTL串口模块的Rx接收引脚与IO引脚并联;TTL串口模块无损接收突发数据的方法包括:步骤1,TTL串口模块初始化;步骤2,设置单片机的IO引脚为输入,并使能IO引脚的下降沿中断;步骤3,单片机进入低功耗模式,TTL串口模块的Rx接收引脚为高电平,单片机的IO引脚为高电平;步骤4,主站发送突发数据帧,突发数据帧的第一个字节的起始位产生一个位宽的低电平给单片机的IO引脚,单片机的IO引脚从高电平到低电平的下降沿跳变中,触发IO引脚中断,唤醒单片机,进入中断处理程序;步骤5,在中断处理程序中,单片机使能TTL串口模块接收功能,开始接收完整的突发数据帧。本专利技术还提供一种低功耗模式下TTL串口无损接收突发数据的方法,包括单片机和主站,单片机设有TTL串口模块,TTL串口模块的Tx发送引脚与主站的Rx引脚连接,TTL串口模块的Rx接收引脚与主站的Tx引脚连接,TTL串口模块的Gnd引脚与主站的Gnd引脚连接;TTL串口模块无损接收突发数据的方法包括:步骤1,TTL串口模块初始化,其中Rx引脚设置为IO输入功能;步骤2,使能Rx引脚的下降沿中断;步骤3,单片机进入低功耗模式,TTL串口模块的Rx接收引脚为高电平;步骤4,主站发送突发数据帧,突发数据帧的第一个字节的起始位产生一个位宽的低电平给TTL串口模块的Rx引脚,TTL串口模块的Rx引脚从高电平到低电平的下降沿跳变中,触发Rx引脚中断,唤醒单片机,进入中断处理程序;步骤5,在中断处理程序中,单片机关闭Rx引脚的IO中断功能,使能TTL串口模块接收功能,开始接收完整的突发数据帧。优选地技术方案是,对于串口通讯波特率大于2400bps的情况,若中断引脚唤醒单片机到启用串口接收的时间超过Rx接收引脚起始位的判断,则接收脚按照波特率的位宽度模拟接收完第一个完整字节,从第二个字节开始启用串口接收功能,接收完整的突发数据帧。本专利技术的有益效果是,无需增加通讯双方的通讯线路或者增加额外的数据帧,应对突发数据实时性强,不丢失任何数据字节,兼容标准的串口设备,适用于各种低功耗单片机。本专利技术进一步的特征,将在以下具体实施方式的描述中,得以清楚地记载。附图说明图1是单片机的TTL串口模块和IO引脚与外部主站之间通讯原理图;图2是单片机使用IO引脚的TTL串口模块接收突发数据的方法流程图;图3是单片机不使用IO引脚的TTL串口模块接收突发数据的方法流程图;图4是2400bps通讯波特率16进制数0x55的突发数据帧示意图。图中符号说明:10.单片机,20.主站;图4中的突发数据帧包括1起始位、8数据位、1偶校验位、1停止位。具体实施方式以下参照附图,以具体实施例对本专利技术作进一步详细说明。实施例1如图1所示,单片机10设有TTL串口模块和IO引脚,TTL串口模块的Tx发送引脚与主站20的Rx引脚连接,TTL串口模块的Rx接收引脚与主站20的Tx引脚连接,TTL串口模块的Gnd引脚与主站20的Gnd引脚连接,TTL串口模块的Rx接收引脚与IO引脚并联。如图2所示,单片机低功耗模式下,TTL串口模块接收突发数据的方法包括:步骤S201:单片机上电初始化。步骤S202:TTL串口模块初始化,分别启用Tx发送引脚和Rx接收引脚的串口发送和串口接收功能。步骤S203:设置单片机的IO引脚为输入,并使能IO引脚下降沿中断。Rx接收引脚与IO引脚互不干扰。步骤S204:单片机正常工作,进入低功耗模式,无数据通讯时,TTL串口模块的Rx接收引脚为高电平,单片机的IO引脚为高电平。步骤S205:主站20发送突发数据帧,如图4所示的突发数据帧的第一个字节的起始位产生一个位宽的低电平给单片机的IO引脚,单片机的IO引脚从高电平到低电平的下降沿跳变中,触发IO引脚中断,唤醒单片机,进入中断处理程序。步骤S206:在中断处理程序中,单片机立即使能TTL串口模块接收功能,接收完整的突发数据帧。串口通讯波特率是2400bps时,起始位宽度为417us。IO引脚唤醒单片机到启用串口接收通常在20us左右,不影响Rx接收脚的起始位判断。对于串口通讯波特率较高,超过2400bps的情况,若IO引脚唤醒单片机到启用串口接收的时间超过Rx接收引脚起始位判断的时间,IO引脚按照波特率的位宽度模拟接收完第一个字节,从第二个字节开始启用串口接收功能。实施例2如图1所示,单片机10设有TTL串口模块和IO引脚,TTL串口模块的Tx发送引脚与主站20的Rx引脚连接,TTL串口模块的Rx接收引脚与主站20的Tx引脚连接,TTL串口模块的Gnd引脚与主站20的Gnd引脚连接。TTL串口模块的Rx接收引脚与IO引脚不连接。如图3所示,单片机低功耗模式下,TTL串口模块接收突发数据的方法包括:步骤S301:单片机上电初始化。步骤S302:TTL串口模块初始化,启用Tx发送引脚的串口发送功能,Rx接收引脚设置为IO输入。步骤S303:使能Rx引脚的下降沿中断。步骤S304:单片机正常工作,进入低功耗模式,无数据通讯时,TTL串口模块的Rx接收引脚为高电平。步骤S305:主站20发送突发数据帧,如图4所示的突发数据帧的第一个字节的起始位产生一个位宽的低电平给TTL串口模块的Rx引脚,TTL串口模块的Rx引脚从高电平到低电平的下降沿跳本文档来自技高网...
一种低功耗模式下TTL串口无损接收突发数据的方法

【技术保护点】
一种低功耗模式下TTL串口无损接收突发数据的方法,其特征在于:包括单片机和主站,所述单片机设有TTL串口模块和IO引脚,所述TTL串口模块的Tx发送引脚与主站的Rx引脚连接,TTL串口模块的Rx接收引脚与主站的Tx引脚连接,TTL串口模块的Gnd引脚与主站的Gnd引脚连接,TTL串口模块的Rx接收引脚与IO引脚并联;所述TTL串口模块无损接收突发数据的方法包括:步骤1,TTL串口模块初始化;步骤2,设置单片机的IO引脚为输入,并使能IO引脚的下降沿中断;步骤3,所述单片机进入低功耗模式,TTL串口模块的Rx接收引脚为高电平,单片机的IO引脚为高电平;步骤4,所述主站发送突发数据帧,突发数据帧的第一个字节的起始位产生一个位宽的低电平给单片机的IO引脚,单片机的IO引脚从高电平到低电平的下降沿跳变中,触发IO引脚中断,唤醒单片机,进入中断处理程序;步骤5,在中断处理程序中,单片机使能TTL串口模块接收功能,开始接收完整的突发数据帧。

【技术特征摘要】
1.一种低功耗模式下TTL串口无损接收突发数据的方法,其特征在于:包括单片机和主站,所述单片机设有TTL串口模块和IO引脚,所述TTL串口模块的Tx发送引脚与主站的Rx引脚连接,TTL串口模块的Rx接收引脚与主站的Tx引脚连接,TTL串口模块的Gnd引脚与主站的Gnd引脚连接,TTL串口模块的Rx接收引脚与IO引脚并联;所述TTL串口模块无损接收突发数据的方法包括:步骤1,TTL串口模块初始化;步骤2,设置单片机的IO引脚为输入,并使能IO引脚的下降沿中断;步骤3,所述单片机进入低功耗模式,TTL串口模块的Rx接收引脚为高电平,单片机的IO引脚为高电平;步骤4,所述主站发送突发数据帧,突发数据帧的第一个字节的起始位产生一个位宽的低电平给单片机的IO引脚,单片机的IO引脚从高电平到低电平的下降沿跳变中,触发IO引脚中断,唤醒单片机,进入中断处理程序;步骤5,在中断处理程序中,单片机使能TTL串口模块接收功能,开始接收完整的突发数据帧。2.一种低功耗模式下TTL串口无损接收突发数据的方法,其特征在于:包括单片机和主站,所述单片机设有TTL串口模块,所述TTL串口模块的T...

【专利技术属性】
技术研发人员:付涛王晓春邢燕燕
申请(专利权)人:威海市天罡仪表股份有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1