【技术实现步骤摘要】
异步收发器的中断信号产生方法及装置
本专利技术涉及数据通信领域,特别涉及一种异步收发器的中断信号产生方法及装置。
技术介绍
通用异步收发器(UniversalAsynchronousReceiver/Transmitter,UART)是一种通用串行数据总线,用于异步通信。UART工作原理是将数据的二进制位一位一位的进行传输,在UART通讯协议中信号线上的状态位高电平代表1,低电平代表0,UART传输一个字节的数据帧包含起始位,数据位,校验位,停止位。现有技术中,UART在收到停止位后,就会发送中断信号到CPU,CPU收到UART中断信号后,读取UART的接收寄存器地址,获得一个字节的数据,而一个完整的数据块通常包括多个字节的数据,CPU在读取一个完整的数据块的过程中会接收到多个中断信号,并进行多次中断响应,一般来说,CPU响应一次中断需要1-2us,若传输10KB/s的数据,仅中断响应就需要2%的CPU,这样会导致CPU的负载较大,UART的数据传输效率较低。针对上述问题,目前尚未提出有效的解决方案。 ...
【技术保护点】
1.一种异步收发器的中断信号产生方法,其特征在于,包括:/n获得待传输的一个字节的数据帧;/n在收到该数据帧的停止位之后,根据该数据帧的起始位、数据位、校验位和停止位,确定等待时长;/n在等待时长内未收到下一个数据帧的起始位时,确定空闲位;/n根据所述空闲位,产生中断信号;/n将所述中断信号发送至中央处理器。/n
【技术特征摘要】
1.一种异步收发器的中断信号产生方法,其特征在于,包括:
获得待传输的一个字节的数据帧;
在收到该数据帧的停止位之后,根据该数据帧的起始位、数据位、校验位和停止位,确定等待时长;
在等待时长内未收到下一个数据帧的起始位时,确定空闲位;
根据所述空闲位,产生中断信号;
将所述中断信号发送至中央处理器。
2.如权利要求1所述的方法,其特征在于,还包括:
在等待时长内收到下一个数据帧的起始位时,循环执行如下步骤,直至在等待时长内未收到下一个数据帧的起始位:
将等待时长清零,在收到下一个数据帧的停止位之后,根据下一个数据帧的起始位、数据位、校验位和停止位,确定等待时长。
3.如权利要求1所述的方法,其特征在于,按照如下方法确定等待时长,包括:
等待时长=起始位时长+数据位时长+校验位时长+停止位时长。
4.如权利要求1所述的方法,其特征在于,在待传输的数据帧的帧长大于预设阈值时,所述方法还包括:
根据寄存器中未读取数据的信息,产生中断信号。
5.如权利要求4所述的方法,其特征在于,根据寄存器中未读取数据的信息,产生中断信号,包括:
在寄存器中未读取数据占用的存储空间大于或等于寄存器的总存储空间的一半时,产生中断信号。
6.一种异...
【专利技术属性】
技术研发人员:侯智雄,魏世斌,王昊,李颖,仲志凯,戴鹏,
申请(专利权)人:北京铁科英迈技术有限公司,中国铁道科学研究院集团有限公司基础设施检测研究所,中国铁道科学研究院集团有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。