一种在局部总线上实现多路通信的系统及方法

文档序号:7768206阅读:244来源:国知局
专利名称:一种在局部总线上实现多路通信的系统及方法
技术领域
本发明涉及一种在局部总线上实现多路通信的系统及方法。
背景技术
在进行一个系统的两个子系统之间需要进行数据交互时,通常会在子系统之间设计一个局部总线进行连接,如SPIGerial Peripheral hterface 串行外围设备 ^ Π ) > UART (Universal Asynchronous Receiver/Transmitter M ^ ^C R ^ ), SPORT (Synchronic Serial Port :同步串行接口)等。复杂的系统在设计时,通常会将一个复杂的任务分解成多个子任务来协作完成复杂的任务,多个任务都需要通过局部总线进行数据通信时,需要设计一套通信机制将一个单一的局部总线虚拟成多个逻辑上的通道, 使它们的通信互不干扰。在通用的系统设计中,TCP/IP能够较好的满足上述需求,但整个 TCP/IP协议栈要求系统具有较强的处理能力,并且复杂程度较高,实施具有较高的难度。

发明内容
为了解决现有技术实现多个任务都需要通过局部总线进行数据通信时,需要设计一套通信机制将一个单一的局部总线虚拟成多个逻辑上的通道,使它们的通信互不干扰, 而又不需要系统拥有过高的处理能力、设计的复杂程度又不至于太高、实施部署难度又不至于太大。鉴于此,本发明提供了一种在局部总线上实现多路通信的系统及方法本发明解决现有技术存在的技术问题所才有的技术方案是提供一种在局部总线上实现多路通信的系统及方法。所述一种在局部总线上实现多路通信的系统包括需要进行多路通信的子系统1和子系统2 ;所述子系统1和子系统2分别包含用于完成各种功能的任务单元;所述子系统1和子系统2分别包含用于进行报文封装和解析的多路器单元;所述子系统1和子系统2分别包含用于将报文组织成发送队列和接收队列的总线驱动单元。 所述子系统1和子系统2通过物理总线连接;所述子系统1中的总线驱动单元和子系统2 中的总线驱动单元通过物理总线连接;所述子系统中的多路器单元分别与任务单元和总线驱动单元连接。根据本发明所述在局部总线上实现多路通信的系统及方法包括以下步骤第一步,子系统之一中的任务单元提出通信请求,多路器单元封装报文,总线驱动单元组织数据发送队列;第二步,将子系统之一准备的数据通过物理总线发送给子系统之二 ;第三步,子系统之二接受到数据之后,总线驱动单元组织数据接收队列,多路器对接受队列中的数据进行报文解析,复制报文内容到相应任务通道的缓存,并唤醒任务。采用上述系统和方法时,实现了一套通信机制将一个单一的局部总线虚拟成多个逻辑上的通道,使它们的通信互不干扰,并提供了一种轻量级的传输机制,使之能够适应于局部总线上实现多路数据传输,并具备高效通信、低资源占用、易于实施的优点。


4
图1为本发明专利实施例在局部总线上实现多路通信系统的结构框架示意2为本发明专利实施例在局部总线上实现多路通信方法的流程示意3为本发明专利实施例在局部总线上实现多路通信方法中的接收端多路器处理的流程示意图
具体实施例方式下面结合附图与实例对本发明进行详细说明。本发明实现了一套通信机制将一个单一的局部总线虚拟成多个逻辑上的通道,使它们的通信互不干扰,并提供了一种轻量级的传输机制,使之能够适应于局部总线上实现多路数据传输,并具备高效通信、低资源占用、易于实施的优点。参照图1,图1为本发明专利实施例在局部总线上实现多路通信系统的结构框架示意图。本实施例中,所述在局部总线上实现多路通信的系统包括需要进行多路通信的子系统1(101)和子系统2 (102);所述子系统1和子系统2中分别包含用于完成各种功能的任务单元(103和104);所述子系统1和子系统2中分别包含用于进行报文封装和解析的多路器单元(105和106);所述子系统1和子系统2中分别包含用于将报文组织成发送队列和接收队列的总线驱动单元(107和108)。所述子系统1和子系统2通过物理总线连接; 所述子系统1中的总线驱动单元(107)和子系统2中的总线驱动单元(108)通过物理总线连接;所述子系统中的多路器单元(105和106)分别与任务单元(103和104)和总线驱动单元(107和108)连接。子系统之一(101)中的任务(103)和子系统之二(102)中的任务通过多路复用的物理总线,建立了虚拟专用通道,对于不同系统中的各个任务之间提供了透明传输机制,任务之间就好像有一条真正的物理线路一样。参照图2,图2为本发明专利实施例在局部总线上实现多路通信方法的流程示意图。所述在局部总线上实现多路通信的方法包括以下步骤第一步.子系统之一中的任务单元提出通信请求001),多路器单元封装报文002),总线驱动单元组织数据发送队列(203);第二步.子系统之一准备的数据通过物理总线发送给子系统之二 O04);第三步.子系统之二接收到数据之后,总线驱动单元组织数据接收队列005),多路器对接受队列中的数据进行报文解析(206),复制报文内容到相应子系统之二的任务通道的缓存,并唤醒子系统之二的任务007)。所述第一步具体为如果任务单元处于报文发送端,任务的通信请求以报文内容的形式提出;如果多路器单元处于报文发送端,多路器对报文内容进行封装,添加报文头和报文尾,报文头信息主要包括用于检测传输同步的固定值信息、报文长度信息、报文发送端任务通道编号信息、报文接收端任务通道编号信息、系统保留空间等,报文尾主要是 CRC(循环冗余校验码)信息;如果总线驱动单元处于报文发送端,总线驱动单元组织数据发送队列,总线驱动单元依次将队列中的报文通过物理总线发出,如果队列空,则终止发送过程。所述多路器对报文内容封装后的报文格式进一步包括
权利要求
1.一种在局部总线上实现多路通信的系统及方法,其特征在于所述在局部总线上实现多路通信的系统包括需要进行多路通信的子系统1(101)和子系统2 (102);所述子系统 1和子系统2中分别包含用于完成各种功能的任务单元(103和104);所述子系统1和子系统2中分别包含用于进行报文封装和解析的多路器单元(105和106);所述子系统1和子系统2中分别包含用于将报文组织成发送队列和接收队列的总线驱动单元(107和108)。所述子系统1和子系统2通过物理总线连接;所述子系统1中的总线驱动单元和子系统2中的总线驱动单元通过物理总线连接;所述子系统中的多路器单元分别与任务单元和总线驱动单元连接。子系统之一中的任务和子系统之二中的任务通过多路复用的物理总线,建立了虚拟专用通道,对于不同系统中的各个任务之间提供了透明传输机制,任务之间就好像有一条真正的物理线路一样。
2.一种在局部总线上实现多路通信的系统及方法,其特征在于所述在局部总线上实现多路通信的方法包括以下步骤a.子系统之一中的任务单元提出通信请求001),多路器单元封装报文002),总线驱动单元组织数据发送队列(203);b.子系统之一准备的数据通过物理总线发送给子系统之二O04);c.子系统之二接收到数据之后,总线驱动单元组织数据接收队列005),多路器对接受队列中的数据进行报文解析(206),复制报文内容到相应子系统之二的任务通道的缓存, 并唤醒子系统之二的任务007)。
3.根据权利要求2所述在局部总线上实现多路通信的系统及方法,其特征在于所述步骤a进一步包括以下步骤a.如果任务单元处于报文发送端,任务的通信请求以报文内容的形式提出;b.如果多路器单元处于报文发送端,多路器对报文内容进行封装,添加报文头和报文尾。报文头信息主要包括用于检测传输同步的固定值信息、报文长度信息、报文发送端任务通道编号信息、报文接收端任务通道编号信息、系统保留空间等。报文尾主要是CRC(循环冗余校验码)信息。c.如果总线驱动单元处于报文发送端,总线驱动单元组织数据发送队列;总线驱动单元依次将队列中的报文通过物理总线发出,如果队列空,则终止发送过程。
4.根据权利要求2所述在局部总线上实现多路通信的系统及方法,其特征在于所述步骤c进一步包括以下步骤a.如果总线驱动单元处于报文接收端,总线驱动单元组织数据接收队列;总线驱动单元依次将队列中的报文通过物理总线接收,对方终止发送过程,则相应停止接收过程。b.如果多路器单元处于报文接收端,多路器对报文内容进行解析。c.如果任务单元处于报文接收端,执行报文内容。
5.根据权利要求4所述在局部总线上实现多路通信的系统及方法,其特征在于所述步骤b进一步包括以下步骤a.接收端多路器从总线驱动单元读取数据(301)b.根据报文封装方法解析出完整报文(302);c.将报文头信息与多路器维护的通道列表信息进行比对(303)。通道列表信息包括 通道编号、任务编号、通道状态(0 空闲;1 已分配;2 正在等待接受数据)、等待接收的缓存地址、缓存大小等等;d.根据报文头查找报文接收端任务通道编号信息(304),如果找到与报文相符的通道编号,则将复制报文内容到相应通道的缓存,并唤醒任务(305);如果没有找到与报文相符的通道编号,则将报文丢弃(306)。
全文摘要
本发明涉及一种在局部总线上实现多路通信的系统及方法,所述系统包括进行多路通信的子系统1和子系统2;所述子系统包含任务单元,多路器单元,总线驱动单元,其中多路器单元分别与任务单元和总线驱动单元连接;所述子系统1和子系统2的总线驱动单元通过物理总线连接。任务间通过物理总线建立虚拟专用通道,子系统的任务之间实现了透明传输机制,就好像有一条真正的物理线路一样。该系统运行多个任务来协同完成一个复杂的任务,多个任务都通过局部总线与另一系统或子系统进行通信,使它们之间的通信相互独立。本发明所介绍的方法针对应用的特定要求进行设计,具有运行效率高,占用资源少,易于部署和实施等优点。
文档编号H04L12/40GK102368723SQ20101057985
公开日2012年3月7日 申请日期2010年12月8日 优先权日2010年12月8日
发明者任家爱, 唐成, 王瑞, 许华山 申请人:深圳市亚特尔科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1