[发明专利]一种串口通信方法与装置有效
申请号: | 201210031090.1 | 申请日: | 2012-02-13 |
公开(公告)号: | CN102629240A | 公开(公告)日: | 2012-08-08 |
发明(设计)人: | 钱红燕;张力 | 申请(专利权)人: | 上海创远仪器技术股份有限公司 |
主分类号: | G06F13/38 | 分类号: | G06F13/38 |
代理公司: | 北京鑫媛睿博知识产权代理有限公司 11297 | 代理人: | 龚家骅 |
地址: | 200233 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 串口 通信 方法 装置 | ||
技术领域
本发明涉及通信技术领域,尤其涉及一种串口通信方法与装置。
背景技术
串口通信作为一种方便,简单的数据交换手段,在嵌入式通信和调试中得到广泛的应用。由于以往串口一般用在速度要求不是很高的场合,因此,在现有的串口通信实现中,并没有过多的考虑串口通信的效率。
参见图1,在现有的串口通信实现方式中,采用了多层次的结构。其中,串口设备作为一个tty设备来实现,对应用程序来说,串口是一个tty设备,应用程序可以像操作一个普通文件一样来操作串口,保留了串口简单易用的优势。但是,现有的串口通信实现方式无法满足高速通信的要求。
发明内容
本发明的目的在于提供一种串口通信方法与装置,以简化串口通信装置的结构了,提高串口通信的速度,为此,本发明采用如下技术方案:
一种串口通信装置,包括:应用程序模块、串口芯片驱动模块以及串口通信控制模块,其中:
串口芯片驱动模块,用于提供发送接口,当所述发送接口被应用程序模块调用时,将用户缓冲区中的数据拷贝到发送硬件缓冲区;接收来自串口通信控制模块发送的中断信号,并当接收到中断信号时,将接收硬件缓冲区中的数据拷贝到用户缓冲区;
串口通信控制模块,用于接收数据,将接收到的数据存储在接收硬件缓冲区中,并向所述串口芯片驱动模块发送中断信号;将发送硬件缓冲区的数据发送出去。
本发明实施例还提供一种利用上述的串口通信装置实现的串口通信方法,该方法包括:
应用程序模块通过调用所述串口芯片驱动模块的发送接口,由所述串口芯片驱动模块将用户缓冲区中的用户数据拷贝到发送硬件缓冲区,并由所述串口通信控制模块发送所述发送硬件缓冲区中的用户数据;
当所述串口通信装置接收数据时,串口通信控制模块将接收到的数据存储到接收硬件缓冲区,并向所述串口芯片驱动模块发送中断信号,由所述串口芯片驱动模块将接收硬件缓冲区中的数据拷贝到用户缓冲区。
本发明的上述实施例,串口通信装置包括应用程序模块、串口芯片驱动模块以及串口通信控制模块;在数据发送方向,应用程序模块通过调用所述串口芯片驱动模块的发送接口,由所述串口芯片驱动模块将用户缓冲区中的用户数据拷贝到发送硬件缓冲区,并由所述串口通信控制模块发送所述发送硬件缓冲区中的用户数据;在数据接收方向,串口通信控制模块将接收到的数据存储到接收硬件缓冲区,并向所述串口芯片驱动模块发送中断信号,由所述串口芯片驱动模块将接收硬件缓冲区中的数据拷贝到用户缓冲区,简化了串口通信装置的结构,提高了串口通信的速度。
附图说明
图1为现有串口通信实现方式中的软件层次结构示意图;
图2为本发明实施例提供的串口通信装置的结构示意图;
图3为现有技术中的串口通信数据传输流程示意图;
图4A为本发明实施例提供的串口通信数据发送流程示意图;
图4B为本发明实施例提供的串口通信数据接收流程示意图;
图5为本发明实施例提供缓冲区设置方式的示意图;
图6为本发明实施例提供的数据接收过程中缓冲区数组指针指向示意图;
图7为本发明实施例提供的一种数据帧的结构示意图;
图8为本发明实施例提供的数据帧在缓冲区中的分布情况示意图;
图9为本发明实施例提供的数据帧接收流程示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图2,为本发明实施例提供的一种串口通信装置的结构示意图,包括:应用程序模块1、串口芯片驱动模块2以及串口通信控制模块3。其中:
串口芯片驱动模块2,用于提供发送接口,当发送接口被应用程序模块1调用时,将用户缓冲区中的数据拷贝到发送硬件缓冲区;此外,串口芯片驱动模块2还可以用于接收来自串口通信控制模块发送的中断信号,并当接收到中断信号时,将接收硬件缓冲区中的数据拷贝到用户缓冲区;
串口通信控制模块3,用于接收数据,将接收到的数据存储在接收硬件缓冲区中,并向所述串口芯片驱动模块发送中断信号;此外,串口通信控制模块3还可以用于将发送硬件缓冲区的数据发送出去。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海创远仪器技术股份有限公司,未经上海创远仪器技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210031090.1/2.html,转载请声明来源钻瓜专利网。