[发明专利]一种嵌入式实时操作系统的同步通信系统和方法在审
申请号: | 201911393142.8 | 申请日: | 2019-12-30 |
公开(公告)号: | CN111240828A | 公开(公告)日: | 2020-06-05 |
发明(设计)人: | 王宜怀;刘长勇;蔡闯华;许粲昊;罗喜召 | 申请(专利权)人: | 苏州大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/54 |
代理公司: | 苏州见山知识产权代理事务所(特殊普通合伙) 32421 | 代理人: | 袁丽花 |
地址: | 215000 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 实时 操作系统 同步 通信 系统 方法 | ||
本发明提供了一种嵌入式实时操作系统的同步通信系统和方法,涉及通信技术领域,该系统包括主控制模块和PC机,主控制模块包括:内存创建模块,用于创建内存池;分配模块,用于在发送消息前,从内存池中得到一块分配好的内存空间;释放模块,用于在从消息队列获取消息之后,将消息所占用的内存块还给内存池;消息队列模块,用于创建接收消息的消息队列;存放模块,从消息队列接收消息;获取模块,将消息放入消息队列;移除模块,用于在消息队列中的某个消息被获取之后,将该消息从消息队列中移除;通过本通信系统及通信方法,可以实现任务间的同步数据交换,哪怕偶尔产生消息堆积,也可以在消息队列中获得缓冲,解决消息的堆积问题。
技术领域
本发明涉及通信技术领域,尤其是涉及一种嵌入式实时操作系统的同步通信系统和方法。
背景技术
消息(Message)是一种任务间数据传送的单位,它可以是只包含文本的字符串或数字,也可以更复杂,如结构体类型等,所以相比使用事件时传递的少量数据(1位或1个字),消息则可以在任务间传递更多、更复杂的数据,但传输的数据只能为32位数据或指针。而任务间消息的传递,则是通过消息队列(Message Queue)来实现的,消息队列是在消息的传输过程中保存消息的容器,是将消息从它的源头发送到目的地的中转站。
但目前的通信系统在多个任务之间传递数据时,容易出现消息堆积的情况,导致数据不能够及时的同步交换,影响同步通信的效果。
发明内容
本发明的目的在于提供一种嵌入式实时操作系统的同步通信系统和方法,以解决现有技术中目前的通信系统在多个任务之间传递数据时,容易出现消息堆积的情况,导致数据不能够及时的同步交换,影响同步通信的效果的技术问题;本发明提供的诸多技术方案中的优选技术方案所能产生的诸多技术效果详见下文阐述。
为实现上述目的,本发明提供了以下技术方案:
本发明提供的一种嵌入式实时操作系统的同步通信系统,包括主控制模块和PC机,所述主控制模块包括:
内存创建模块,用于创建内存池,任务根据内存池ID从私有内存池中分配内存块;
分配模块,用于在发送消息前,从内存池中得到一块分配好的内存空间;
释放模块,用于在从消息队列获取消息之后,将消息所占用的内存块还给内存池;
消息队列模块,用于创建接收消息的消息队列;
存放模块,从消息队列接收消息,若消息队列非空,则将消息队列中首个消息出队,此消息变为该任务的资源;若消息队列为空,则任务阻塞,直到消息队列接收到消息或者等待时间超过中的规定;
获取模块,将消息放入消息队列,若消息阻塞队列中有等待消息的线程,则将消息直接给线程并不进入消息队列;否则给消息分配内存,并放入消息队列中;若无可分配内存,则返回等待超时或资源不可用;
移除模块,用于在消息队列中的某个消息被获取之后,将该消息从消息队列中移除。
可选地,内存池为消息信封的集合,任务需要发送消息时,从内存池中分配消息信封,填写好消息的内容及消息的源地址与目标地址,将填写好的消息发往消息队列。
可选地,消息信封是消息分配与传递的单位,多个消息信封组成消息队列。
可选地,消息队列是在消息的传输过程中保存消息的容器,不同的消息队列由消息队列号来区分。
可选地,主控制模块的内核为MCU芯片,包括串口、USB端口,所述串口作为默认通信设备与外界通信,USB端口接PC机的USB口。
可选的,还包括测试硬件和MUC评估板,所述串口与MUC评估板连接,所述测试硬件连接于MUC评估板并由主控制模块控制。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州大学,未经苏州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911393142.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电动摩托车用嵌入式软件内存分配算法
- 下一篇:一种手术室三方核查方法