[发明专利]一种通用异步收发报机的控制方法及其装置有效
申请号: | 200910163691.6 | 申请日: | 2009-08-13 |
公开(公告)号: | CN101631012A | 公开(公告)日: | 2010-01-20 |
发明(设计)人: | 朱伟;贾冉 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L1/22 | 分类号: | H04L1/22;H04L12/24 |
代理公司: | 北京市浩天知识产权代理事务所 | 代理人: | 刘云贵 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通用 异步 收发报机 控制 方法 及其 装置 | ||
技术领域
本发明涉及通信领域,尤其涉及一种通用异步收发报机(Universal Asynchronous Receiver Transmitter,简称UART)的控制方法及其装置。
背景技术
UART应用广泛,已成为低速率串行通讯的标准设备,许多通讯处理器 在片内集成有UART模块。但UART应用在半双工通讯、总线式全双工通 讯场景中有一个缺陷,即它不提供真正意义上的数据发送完成中断,具体如 下:
数据发送时,UART仅提供发送存储寄存器空中断(transmitter holding register empty interrupt),该中断对应发送存储寄存器(transmitter holding register)的内容移入移位发送寄存器(shift transmitter register)事件。该中 断发生时,刚移入移位发送寄存器的数据此时处于待发状态,尚未发出。而 移位发送寄存器的内容发完时UART并不产生中断。
而在半双工、总线式全双工通讯场景中,一个设备在发送完数据后,一 般需要立即释放数据发送权,并且从发送完成到总线释放之间的时间间隔尽 可能短,使其他设备可以在该设备发送完成后立刻获得并使用数据发送权而 不产生总线冲突。在这类应用场景中,由于UART不提供数据发送完成中 断这一控制机制,需要UART在数据发送完成时刻的相关控制只能通过引 入额外机制才能准确实现。
当前主要通过以下4种方案来解决该问题,包括:
A.在UART产生的发送存储寄存器空中断中启动一个软件延时,计时 长度等于UART发送完移位寄存器里的数据所需的时间,之后执行发送完 成对应的控制操作。
B.将方法A中的延时改成循环读取UART发送完成标志,首次读到标 志为真时执行发送完成对应的控制操作。
C.UART的发送存储寄存器空中断发生后,暂时不清除中断标志,让 中断持续发生,并在中断里读取UART发送完成标志。首次读到发送完成 标志为真时执行发送完成对应的控制操作,然后清除该中断标志。
D.分别给UART的每一个通道配备一个硬件定时器,当UART产生发 送存储寄存器空中断且发送缓冲区为空时,启动这个硬件定时器进行单次定 时,定时长度为最后一个数据发送完所需时间。定时器中断发生时,执行发 送完成对应的控制操作并关闭该定时器。
但上述4种方案均有一定缺陷:
方案A、B简单但控制准确性差,因为多任务处理环境下A、B这类基 于软件延时、软件查询的方式会因其所在软件任务被抢占而错过控制时机; 此外方案A、B存在严重的CPU处理能力浪费问题,原因是方案A、B在 延时期间CPU在做无用功。CPU浪费与UART速率成反比,即UART传输 速度越低CPU浪费越大,以2400bps传输场景为例,假设每个字节传输对 应10bit,则每次至少浪费4ms的CPU处理时间。
方案C简单、控制准确性好,但和方法A、B一样,也存在严重的CPU 处理能力浪费问题。
方案D相对较好,动作准确、CPU开销小,但每个UART通道需要一 个额外硬件定时器资源来支持,并且实现起来也比较复杂。
因此,当前需要一种技术方案来解决上述当前方案存在的问题。
发明内容
本发明所要解决的技术问题是提供一种通用异步收发报机的控制方法 及其装置,解决了当前技术方案在UART发送完成时刻控制上存在的动作 准确性问题、软硬件资源开销问题以及实现复杂度问题。
为了解决上述问题,本发明提供了一种通用异步收发报机的控制方法, 包括:
通信主控方的CPU在写入通用异步收发报机UART的待发数据序列末 尾增加一冗余数据,并将所加所述冗余数据写入该UART;
当所述CPU将所加所述冗余数据写入所述UART产生发送存储寄存器 空中断时,所述CPU通过该发送存储寄存器空中断对所述UART进行控制。
本发明还提供了一种通用异步收发报机的控制装置,包括:CPU,用于 在写入所述通用异步收发报机UART的待发数据序列末尾增加一冗余数据, 并将所加所述冗余数据写入该UART;当将所加所述冗余数据写入所述 UART产生发送存储寄存器空中断时,通过该发送存储寄存器空中断对所述 UART进行控制。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910163691.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种平板电视的图像显示方法
- 下一篇:一种单点登录方法、设备及系统