[发明专利]通过单一硬件串口实现多进程控制的通讯方法无效
申请号: | 201110049514.2 | 申请日: | 2011-03-02 |
公开(公告)号: | CN102129395A | 公开(公告)日: | 2011-07-20 |
发明(设计)人: | 林野 | 申请(专利权)人: | 智比特信息技术(镇江)有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F13/42 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 柏尚春 |
地址: | 212003 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通过 单一 硬件 串口 实现 进程 控制 通讯 方法 | ||
技术领域
本发明涉及一种在硬件串口间实现进程控制的通讯方法,特别是一种通过单一硬件串口实现多进程控制的通讯方法。
背景技术
在目前三代无线通讯标准通讯协议中(3GPP 27.010标准),定义了一种很普及的用户设备与终端设备间的多路转换器通讯协议,在单一硬件串口上来,为设备间的通讯提供多路虚拟串口通道,实现多进程的通讯。然而,使用该协议实现进程传送的通讯方法过于复杂,而且该协议控制字节占具太多的数据包空间,造成数据效率低和耗费太多计算资源,在实际应用中,该甚至可消耗高达50%~75%的中心处理器的计算资源,应此无法在USB这类的高速串口上使用。
发明内容
发明目的:针对上述现有技术存在的问题和不足,本发明的目的是提供一种通过单一硬件串口实现多进程控制的通讯方法,该方法能节省产品上的硬件芯片引脚数,提高硬件串口的数据传送速度和效率,节省计算资源。
技术方案:一种通过单一硬件串口实现多进程控制的通讯方法,包括如下步骤:
(1)传送方数据包的形成,包括如下步骤:
(A)对应用程序分配虚拟串口通道号;
(B)数据包序列号初始化为0;
(C)收到步骤(A)中所述应用程序的负载数据本身,并发送至传送方的多进程控制协议层;
(D)在传送方的多进程控制协议层上,将按照虚拟串口通道号、数据包序列号、负载数据类型、负载数据长度、校验值的顺序形成的控制字节,再与步骤(C)中所述负载数据本身按顺序形成所述传送方数据包;
(2)步骤(1)所述传送方数据包通过单一硬件串口传送至接收方;
(3)接收方对步骤(2)传来的数据包解包、分析,包括如下步骤:
(E)将传来的数据包发送至接收方的多进程控制协议层;
(F)取数据包前3个字节,计算其校验值,若该校验值与传来的数据包第4字节值相等,则继续;若该校验值与传来的数据包第4字节值不等,则要求传送方重新发送步骤(1)所述传送方数据包;
(G)取数据包前4个字节,按照虚拟串口通道号、数据包序列号、负载数据类型、负载数据长度的顺序解析;
(H)根据解析出的数据包序列号、负载数据类型对数据包承载的应用程序的数据进行必要的组装;
(I)根据解析出的虚拟串口通道号,将由步骤(H)组装后的应用程序的数据发送给接送方使用该虚拟串口通道号的应用程序,即完成进程的通讯。
所述虚拟串口通道号的取值为0-15,占数据包第0字节的前4位;所述数据包序列号的取值为0-127,占数据包第0字节的后4位和第1字节的前3位;所述负载数据类型的取值为0-7,占数据包第1字节的第4-2位;所述负载数据长度的取值为0-1023,占数据包第1字节的后2位和第2字节的全部8位;所述校验值的取值为0-255,占数据包第3字节的全部8位;所述负载数据本身最长为1023字节。
通道号为0的虚拟串口通道为控制通道。
若传送方应用程序负载数据本身超过1023字节,则该应用程序的传送在步骤(D)后返回对数据包序列号的取值进行累加,从步骤(C)开始继续形成该应用程序的传送方数据包进行传送。
当某个虚拟串口通道的数据包传送发生堵塞时,发生堵塞的传送方的多进程控制协议层或接收方的多进程控制协议层利用控制通道,传送停止命令给对方的多进程控制协议层,直至缓冲内存区内的堵塞数据被消耗尽,然后再可以利用控制通道,传送开通命令给对方的多进程控制协议层,重新开始该虚拟串口通道的数据包传送。
有益效果:本发明实现了利用一个实质的硬件串口为应用程序提供多达16条虚拟串口通道的多进程控制的通讯方法,两边处理器上的多个不同的应用程序,可以独立使用各自的一条甚至多条虚拟串口通道,进行多进程的通讯,从而节省产品设计上日趋珍贵的硬件芯片引脚数,有利于芯片的微小化。
本发明通讯方法中应用程序数据包的控制字节只需要很短的4个字节,只占据非常小的数据包空间,使得数据包能够装载更多的应用程序的有效数据,大大提高了硬件串口上数据的传送速度和效率。
数据包采用简洁有效的形成模式,仅占用很少的内存和计算资源,很容易在软件上实现。应用程序数据包的形成和解包过程简单,特别是对数据包的完整性校验计算,只需要对数据包前3个控制字节进行,而且校验值字节置于负载数据本身之前,让数据包的每个控制区域都有一个固定的位置,提高计算速度,减少了计算量,特别适合于高速数据传输和便携式电子产品。
附图说明
图1为典型的微处理器间的硬件串口通讯系统连接图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于智比特信息技术(镇江)有限公司,未经智比特信息技术(镇江)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110049514.2/2.html,转载请声明来源钻瓜专利网。