[发明专利]一种基于中断判断机制的多处理器数据通讯方法有效
申请号: | 201410088763.6 | 申请日: | 2014-03-12 |
公开(公告)号: | CN103853692B | 公开(公告)日: | 2017-03-15 |
发明(设计)人: | 李洪伟 | 申请(专利权)人: | 四川九洲空管科技有限责任公司 |
主分类号: | G06F15/163 | 分类号: | G06F15/163 |
代理公司: | 成都九鼎天元知识产权代理有限公司51214 | 代理人: | 詹永斌 |
地址: | 621000 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 中断 判断 机制 处理器 数据通讯 方法 | ||
技术领域
本发明涉及嵌入式应用和数据通信领域,尤其是涉及一种基于中断判断机制的多处理器数据通讯方法。
背景技术
在嵌入式系统的广泛应用的今天,随着系统集成度、复杂度和综合化程度的日益提高 ,经常需要设计多处理器协同完成信号处理和控制的复杂系统。多处理器系统设计技术的优点在于,可以通过计算能力的均匀分布,使系统具有较好的冗余能力,更快的处理速度,模块化的体系结构,并且简化编程难度。正因为多处理器系统的应用越来越广泛,如何解决好多处理器数据共享和交互问题也变得越来越重要。常见的不同处理器之间的通信方式包括借助通信寄存器通信方式,借助先进先出设备(FIFO)通信方式,借助双端口随机存储器通信方式,串行通信方式等等多种通信方式。如果需要在两个处理器之间进行大量数据传输的话,借助双端口随机存储器(DPRAM)则是最佳的选择方案。双端口随机存储器DPRAM与普通单口RAM不同,DPRAM芯片具有两组数据总线,两组地址总线,两组控制总线,只要不是同时访问同一存储单元,就允许两个端口对片内任何单元同时进行独立的读/写操作,而且互不干扰。
借助双端口随机存储器DPRAM实现数据通信,在具体实现时又分为查询和中断两种机制,前者为上位机(获取信息的一方)定时或周期性的读取DPRAM内容并进行处理,这种机制设计简单,缺点是实时性较差,适用于实时性要求不高的应用;后者基于中断机制,实时性较高,缺点是依赖中断产生和响应机制,在复杂应用条件下,偶发性的丢中断现象可造成数据包丢失。基于中断机制的通用流程为,数据发送方写数据,然后向数据接收方触发接收数据中断。数据接收方相应中断,并执行读书操作,之后简单的将“接收状态寄存器”置为一个常量,当发送方再次写数时对“接收状态寄存器”数据判断,并根据其结果进行延时等待或再次写入,然而以上流程的正常运行依赖于中断机制的正确响应。但是,以上情况仅仅是适用于简化条件下(包括:优化的电磁环境干扰,上位机无中断嵌套机制),数据收发双方可正常发送、响应中断并完成数据通信,则简化的通信机制可实现可靠通信。实际工程应用中的真实情况是,由于电磁干扰、中断嵌套、软件调度、资源竞争多种原因,客观存在发送方未能正确给中断或接收方不能正常响应中断,即“丢中断”现象,从而导致数据包丢失。
发明内容
本发明所要解决的技术问题是:针对多处理器嵌入式系统中,基于DPRAM和中断机制的通信方法中丢中断问题,提供一种基于中断判断机制的多处理器数据通讯方法,此中断响应判决和补发机制,为解决中断异常导致数据包丢失的问题,在基于n端口随机存储器(DPRAM)通信机制中引入“中断未响应”概念,可有效解决由于中断响应问题导致的通信异常,实现高实时性和高可靠的数据交互。
本发明采用的技术方案如下:
一种基于中断判断机制的多处理器数据通讯方法包括:n个处理器分别通过n端口随机存储器进行数据传输,其中任意一个处理器作为数据发送方,其余(n-1)个处理器作为(n-1)数据接收方,所述n端口随机存储器包括n个数据长度寄存器、n个接收状态寄存器以及n个中断触发寄存器,所述每个处理器分别对应一个数据长度寄存器、接收状态寄存器以及中断触发寄存器,其具体步骤为:
步骤1:数据发送方通过n端口随机存储器,向其余(n-1)个数据收方以中断方式发送数据;
步骤2:数据接收方根据n端口随机寄存器发送的中断信号,接收相应数据,同时修改n端口随机寄存器中接收状态寄存器的状态值;
步骤3:数据发送方在下次写操作前,读取接收状态寄存器的状态值,并将该数据与上次操作的历史值进行比较,判定其余(n-1)个数据接收方是否接收数据发送方发送的数据,进行延时等待或再次写入;
步骤4:重复步骤3,实现数据发送方与数据接收方数据的传输。
所述步骤1具体步骤包括:任意一个数据发送方发送数据给(n-1)个数据接收方时,n端口随机存储器对应的(n-1)个接收状态寄存器存储状态变量分别为Xi,n端口随机存储器对应的(n-1)个数据长度寄存器分别记录数据发送方发送数据的长度,同时n端口随机存储器中(n-1)个中断触发寄存器被写入中断信号值,然后n端口随机寄存器向其余(n-1)个数据接收方发送中断信号,Xi >1,所述Xi是个循环值。
所示步骤2具体步骤包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川九洲空管科技有限责任公司,未经四川九洲空管科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410088763.6/2.html,转载请声明来源钻瓜专利网。