书签 分享 收藏 举报 版权申诉 / 14

软件通信体系架构中通用处理器硬件抽象层通信系统与方法.pdf

  • 上传人:a1
  • 文档编号:6173053
  • 上传时间:2019-05-16
  • 格式:PDF
  • 页数:14
  • 大小:1.58MB
  • 摘要
    申请专利号:

    CN201310643521.4

    申请日:

    2013.12.03

    公开号:

    CN103617021A

    公开日:

    2014.03.05

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 9/30申请日:20131203|||公开

    IPC分类号:

    G06F9/30

    主分类号:

    G06F9/30

    申请人:

    中国航空无线电电子研究所

    发明人:

    胡晨浩; 许生; 常坤; 黄干明; 李裕

    地址:

    200233 上海市徐汇区桂平路432号

    优先权:

    专利代理机构:

    上海和跃知识产权代理事务所(普通合伙) 31239

    代理人:

    杜林雪

    PDF完整版下载: PDF下载
    内容摘要

    本发明揭示了一种软件通信体系架构中通用处理器硬件抽象层通信系统,包括硬件抽象层公共信箱,该硬件抽象层公共信箱包括信箱管理器与循环队列存储器,该硬件抽象层公共信箱与应用组件及物理总线连接,信箱管理器用以接收数据,并将待发送或待接收数据存入循环队列存储器,通知应用组件接收数据或将数据包发出,本发明通过设置硬件抽象层公共信箱,从而可以采用一个逻辑地址便可以完成通用处理器上所有应用组件数据的收发,解决了通用处理器逻辑地址需求数量大的问题。

    权利要求书

    权利要求书
    1.  一种软件通信体系架构中通用处理器硬件抽象层通信系统,包括硬件抽象层公共信箱,该硬件抽象层公共信箱包括信箱管理器与循环队列存储器,该硬件抽象层公共信箱与应用组件及物理总线连接,信箱管理器用以接收数据,并将待发送或待接收数据存入循环队列存储器,通知应用组件接收数据或将数据包发出。

    2.  如权利要求1所述的软件通信体系架构中通用处理器硬件抽象层通信系统,其特征在于:该硬件抽象层公共信箱包括收件箱与发件箱,收件箱与发件箱均包括信箱管理器与循环队列存储器。

    3.  如权利要求2所述的软件通信体系架构中通用处理器硬件抽象层通信系统,其特征在于:该硬件抽象层公共信箱设置在运行SCA环境的通用处理器上,每个通用处理器的物理数据端口映射一个独立的逻辑地址,通用处理器上所有应用组件各自拥有一个独立的信箱号,通过逻辑地址加信箱号的形式唯一表征每个应用组件,向通用处理器发送的数据都会被缓存到硬件抽象层公共信箱的收件箱中,收件箱将接收到的数据按序放入循环队列存储器中,同时根据消息中的信箱号,通知具体应用组件接收数据。

    4.  如权利要求3所述的软件通信体系架构中通用处理器硬件抽象层通信系统,其特征在于:如果循环队列存储器的接收数据队列已满,则由收件箱向数据发送端返回一个错误值,由数据发送端决定是否重新发送。

    5.  如权利要求2所述的软件通信体系架构中通用处理器硬件抽象层通信 系统,其特征在于:硬件抽象层公共信箱的发件箱将各应用组件待发送的数据按序放入循环队列存储器中,并给硬件抽象层公共信箱的发件箱的信箱管理器提供一个中断信号,信箱管理器在接收到中断信号后,将信箱中待发送的数据按序打包成硬件抽象层帧格式,并通过统一的逻辑端口发送出去。

    6.  如权利要求5所述的软件通信体系架构中通用处理器硬件抽象层通信系统,其特征在于:如果发件箱的循环队列存储器的发送数据队列已满,则发件箱向应用组件返回一个错误值,由应用组件决定是否需要重发。

    7.  一种软件通信体系架构中通用处理器硬件抽象层接收信息的方法,该通用处理器中设有一收件箱,收件箱设有信箱管理器与循环队列存储器,每个通用处理器的物理数据端口映射一个独立的逻辑地址,通用处理器上所有应用组件各自拥有一个独立的信箱号,通过逻辑地址加信箱号的形式唯一表征每个应用组件,该方法包括如下步骤:
    步骤a:通用处理器的硬件抽象层收件箱接收数据;
    步骤b:信箱管理器判断当前通用处理器循环队列存储器的接收循环队列是否同时满足以下2个条件:1.头指针等于尾指针;2.头指针地址中的数据不为空;满足上述条件转到步骤c,不满足上述条件转到步骤e;
    步骤c:通用处理器本地存储器接收队列已满,硬件抽象层公共信箱等待一时间片后,通知数据源重传数据,再次做步骤b中的2个判断;满足步骤b条件的转到步骤d,不满足步骤b条件的转到步骤e;
    步骤d:信箱管理器丢弃当前头指针所指向的地址中的数据包,并将尾指 针+1操作;
    步骤e:通用处理器本地存储器接收队列未满,信箱管理器将从物理总线接收到的数据放入接收队列头指针所在地址,并将接收队列的头指针+1操作;
    步骤f:信箱管理器根据接收数据中的信箱号,通知相应的应用组件从接收队列接收数据,并将该数据在接收队列中的地址传递给应用组件;
    步骤g:应用组件从接收队列中接收数据,数据接收完毕后将返回值通知信箱管理器;
    步骤h:信箱管理器重置该信箱地址。

    8.  一种软件通信体系架构中通用处理器硬件抽象层发送信息的方法,该通用处理器中设有一发件箱,发件箱设有信箱管理器与循环队列存储器,该方法包括如下步骤:
    步骤a:应用组件向发件箱发送数据;
    步骤b:信箱管理器判断当前发件箱循环队列存储器发送循环队列是否同时满足以下2个条件:1.头指针等于尾指针,2.头指针地址中的数据不为空;满足此条件则转到步骤c,不满足则转到步骤d;
    步骤c:发件箱循环队列存储器发送队列已满,发件箱向应用组件返回错误值,由应用组件决定是否重新发送;
    步骤d:发件箱循环队列存储器发送队列未满,信箱管理器将来自应用组件的待发送数据放入发送队列头指针所在地址,并将发送队列的头指针+1操 作;
    步骤e:信箱管理器判断当前发件箱循环队列存储器发送循环队列是否同时满足以下2个条件:1.头指针等于尾指针,2.头指针地址中的数据为空;不满足步骤e的条件转到步骤f,满足步骤e的条件转到步骤g;
    步骤f:发件箱从发送队列的尾指针地址处发送数据,并将尾指针+1操作,跳转到e;
    步骤g:发件箱循环队列存储器发送队列已空,等待应用组件发送新数据。

    说明书

    说明书软件通信体系架构中通用处理器硬件抽象层通信系统与方法
    【技术领域】
    本发明涉及软件通信体系架构中通用处理器硬件抽象层通信系统与方法。
    【背景技术】
    SCA(以下简称SCA)是美军在联合战术无线电系统(JTRS)联合规划执行办公室(JPEO)中制定的软件通信架构标准,是JTRS的主干。SCA通过面向对象方法划分软件/硬件结构,建立了开放的系统标准,提供了与具体实现无关的软件无线电开发框架,保证了软、硬件的可移植、可重构及设备的互操作性。
    为了在系统设计过程中尽可能减少硬件平台对软件设计的影响,提高软件组件的可移植性,SCA规范中建议使用硬件抽象层(以下简称MHAL)技术。MHAL对具体硬件实现进行抽象,位于底层硬件和上层软件之间,它屏蔽底层硬件复杂的接口规范,并为上层软件提供统一、简单的接口,使上层软件很好地独立于硬件,实现了上层软件与硬件平台相分离,尽可能减小底层硬件的具体结构对上层软件的影响,从而有效地提高软件的可移植性。
    MHAL通过对硬件接口的抽象,定义一系列标准的应用程序接口(API)供上层软件使用,以实现上层软件的通信功能,为软件设计和维护带来很大的便利,图1为传统的应用组件和数据缓存工作系统的组成框架示意图。
    然而SCA的代理机制给运行核心框架(以下简称CF)的通用处理器(以下简称GPP)带来沉重的负荷。由于对计算类、时钟类、射频模拟类等硬件资源均建议在SCA框架内构建相应的逻辑设备,而每一个逻辑设备都需要一个唯一的逻辑地址来表征,这种方式给GPP上的MHAL通信带来以下弊端:
    (1)逻辑地址需求大。大量的逻辑地址对系统实现构成威胁,尤其是对大规模的软件无线电(SDR)系统,由中间件实现的逻辑端口调用将增加GPP处理时延。
    (2)数据缓存需求大。每个逻辑地址都需要一个缓存来存储接收到的数据,大量的逻辑地址需要大量的缓存作为映射,降低了GPP的性能。
    (3)管理难度大。当GPP上的多个逻辑端口同时发送数据时,由于多个逻辑端口共享相同的物理端口,因此会出现竞争发送权限的问题。
    【发明内容】
    本发明的目的在于提供一种软件通信体系架构中通用处理器硬件抽象层通信系统与方法,用以解决现有的软件通信体系架构中通用处理器硬件抽象层通信方法逻辑地址与数据缓存需求大及管理难度大的问题。
    为实现上述目的,实施本发明的软件通信体系架构中通用处理器硬件抽象层通信系统包括硬件抽象层公共信箱,该硬件抽象层公共信箱包括信箱管理器与循环队列存储器,该硬件抽象层公共信箱与应用组件及物理总线连接,信箱管理器用以接收数据,并将待发送或待接收数据存入循环队列存储器,通知应用组件接收数据或将数据包发出。
    依据上述主要特征,该硬件抽象层公共信箱包括收件箱与发件箱,收件箱与发件箱均包括信箱管理器与循环队列存储器。
    依据上述主要特征,该硬件抽象层公共信箱设置在运行SCA环境的GPP上,每个GPP的物理数据端口映射一个独立的逻辑地址,GPP上所有应用组件各自拥有一个独立的信箱号,通过逻辑地址加信箱号的形式唯一表征每个应用组件,向GPP发送的数据都被缓存到MHAL公共信箱的收件箱中,收件箱将接收到的数据按序放入循环队列存储器中,同时根据消息中的信箱号,通知具体某个应用组件接收数据。
    依据上述主要特征,如果循环队列存储器的接收数据队列已满,则由收件箱向数据发送端返回一个错误值,由数据发送端决定是否重新发送。
    依据上述主要特征,MHAL公共信箱的发件箱将各应用组件待发送的数据按序放入循环队列存储器中,并给MHAL公共信箱的发件箱的信箱管理器提供一个中断信号,信箱管理器在接收到中断信号后,将信箱中待发送的数据按序打包成MHAL帧格式,并通过统一的逻辑端口发送出去。
    依据上述主要特征,如果发件箱的循环队列存储器的发送数据队列已满,则发件箱向应用组件返回一个错误值,由应用组件决定是否需要重发。
    为实现上述目的,本发明提供一种软件通信体系架构中通用处理器硬件抽象层接收信息的方法,该通用处理器中设有一收件箱,收件箱设有信箱管理器与循环队列存储器,每个通用处理器的物理数据端口映射一个独立的逻辑地址,通用处理器上所有应用组件各自拥有一个独立的信箱号,通过逻辑 地址加信箱号的形式唯一表征每个应用组件,该方法包括如下步骤:
    步骤a:通用处理器的硬件抽象层收件箱接收数据;
    步骤b:信箱管理器判断当前通用处理器循环队列存储器的接收循环队列是否同时满足以下2个条件:1.头指针等于尾指针;2.头指针地址中的数据不为空;满足上述条件转到步骤c,不满足上述条件转到步骤e;
    步骤c:通用处理器本地存储器接收队列已满,硬件抽象层公共信箱等待一时间片后,通知数据源重传数据,再次做步骤b中的2个判断;满足步骤b条件的转到步骤d,不满足步骤b条件的转到步骤e;
    步骤d:信箱管理器丢弃当前头指针所指向的地址中的数据包,并将尾指针+1操作;
    步骤e:通用处理器本地存储器接收队列未满,信箱管理器将从物理总线接收到的数据放入接收队列头指针所在地址,并将接收队列的头指针+1操作;
    步骤f:信箱管理器根据接收数据中的信箱号,通知相应的应用组件从接收队列接收数据,并将该数据在接收队列中的地址传递给应用组件;
    步骤g:应用组件从接收队列中接收数据,数据接收完毕后将返回值通知信箱管理器;
    步骤h:信箱管理器重置该信箱地址。
    为实现上述目的,本发明提供一种软件通信体系架构中通用处理器硬件抽象层发送信息的方法,该通用处理器中设有一发件箱,发件箱设有信箱管 理器与循环队列存储器,该方法包括如下步骤:
    步骤a:应用组件向发件箱发送数据;
    步骤b:信箱管理器判断当前发件箱循环队列存储器发送循环队列是否同时满足以下2个条件:1.头指针等于尾指针,2.头指针地址中的数据不为空;满足此条件则转到步骤c,不满足则转到步骤d;
    步骤c:发件箱循环队列存储器发送队列已满,发件箱向应用组件返回错误值,由应用组件决定是否重新发送;
    步骤d:发件箱循环队列存储器发送队列未满,信箱管理器将来自应用组件的待发送数据放入发送队列头指针所在地址,并将发送队列的头指针+1操作;
    步骤e:信箱管理器判断当前发件箱循环队列存储器发送循环队列是否同时满足以下2个条件:1.头指针等于尾指针,2.头指针地址中的数据为空;不满足步骤e的条件转到步骤f,满足步骤e的条件转到步骤g;
    步骤f:发件箱从发送队列的尾指针地址处发送数据,并将尾指针+1操作,跳转到e;
    步骤g:发件箱循环队列存储器发送队列已空,等待应用组件发送新数据。
    与现有技术相比较,本发明通过设置硬件抽象层公共信箱,从而可以采用一个逻辑地址便可以完成通用处理器上所有应用组件数据的收发,解决了通用处理器逻辑地址需求数量大的问题。同时,本发明采用循环队列缓存的 方式,根据系统实际需求,分别为硬件抽象层收件箱和发件箱配置固定的内存空间作为数据收发缓存,循环使用,很好地控制并节省了对通用处理器缓存的需求。系统中应用组件数量越多,这种方法的收益越大。再者,本发明提出了按照数据到达顺序进行数据的接收和发送调度,对管理大规模SDR系统中大量的软硬件资源带来了极大的便利,将竞争转移到组件的实现中,简化了系统管理。
    【附图说明】
    图1为传统的应用组件和数据缓存工作系统的组成框架示意图。
    图2是MHAL公共信箱收件箱的示意图。
    图3是MHAL公共信箱接收信息的流程图。
    图4是MHAL公共信箱的发件箱的示意图。
    图5是MHAL公共信箱发送信息的流程图。
    图6是一套完整的MHAL公共信箱实施方案的系统框图。
    【具体实施方式】
    本发明主要的核心方案是在运行SCA环境的GPP上创建MHAL公共信箱,该公共信箱在GPP本地存储器中创建循环队列,用以存放待接收和待发送的MHAL消息。
    图6为一套完整的MHAL公共信箱实施方案的系统框图,实施本发明的软件通信体系架构中通用处理器硬件抽象层通信系统包括硬件抽象层公共信箱,该硬件抽象层公共信箱分为收件箱与发件箱两个部分,收件箱与发件箱 均包括信箱管理器与循环队列存储器,该硬件抽象层公共信箱与应用组件及物理总线连接,信箱管理器用以接收数据,并将待发送或待接收数据存入循环队列存储器,通知应用组件接收数据或将数据包转换成MHAL帧格式发出。
    请参阅图2所示,为MHAL公共信箱的收件箱的示意图。其中每个GPP的物理数据端口映射一个独立的逻辑地址,GPP上所有应用组件各自拥有一个独立的信箱号,这样可以使用逻辑地址加信箱号的形式唯一表征每个应用组件。
    GPP的MHAL公共信箱作为与外部进行数据交互的端口,其物理地址为对应的物理总线端口地址,逻辑地址为与该物理端口相映射的唯一的逻辑地址。任何通过该物理端口向GPP发送的数据都会被缓存到MHAL公共信箱中。MHAL公共信箱会在GPP本地存储器中创建一组接收循环队列,将接收到的数据按序放入该队列中,同时根据消息中的信箱号,通知具体某个应用组件来接收数据。如果此时接收数据队列已满,则由公共信箱向数据发送端返回一个错误值,由数据发送端决定是否重新发送。
    从外部看来,GPP只有一个逻辑端口负责接收数据,GPP上的所有应用组件共享一个逻辑端口。从内部看来,每个应用组件都拥有一个独立的信箱号,GPP在接收到数据后,根据该信箱号将数据转发给具体相应的应用组件。
    请参阅图3所示,MHAL公共信箱接收信息的流程图,其具体步骤如下:
    (a)GPP的MHAL公共信箱接收数据。
    (b)信箱管理器判断当前GPP本地存储器接收循环队列是否同时满足 以下2个条件:1.头指针等于尾指针。2.头指针地址中的数据不为空。满足上述条件转到c。不满足上述条件转到e。
    (c)GPP本地存储器接收队列已满,MHAL公共信箱等待时间片x后,通知数据源重传数据,再次做步骤b中的2个判断。满足步骤b条件的转到d。不满足步骤b条件的转到e。
    (d)信箱管理器丢弃当前头指针所指向的地址中的数据包,并将尾指针+1操作。
    (e)GPP本地存储器接收队列未满,信箱管理器将从物理总线接收到的数据放入接收队列头指针所在地址,并将接收队列的头指针+1操作。
    (f)信箱管理器根据接收数据中的信箱号,通知相应的应用组件从接收队列接收数据,并将该数据在接收队列中的地址传递给应用组件。
    (g)应用组件从接收队列中接收数据,数据接收完毕后将返回值通知信箱管理器。
    (h)信箱管理器重置该信箱地址。
    请参阅图4所示,为MHAL公共信箱的发件箱的示意图。
    GPP的MHAL公共信箱作为真正与外部进行数据交互的端口,其物理地址为对应的物理总线端口地址,逻辑地址为与该物理端口相映射的唯一的逻辑地址。任何从该物理端口发送的数据都会被缓存到MHAL公共信箱中。MHAL公共信箱会在GPP本地存储器中创建一组发送循环队列,将各应用组件待发送的数据按序放入该队列中,并给MHAL公共信箱的信箱管理器提供 一个中断信号,信箱管理器在接收到中断信号后,将信箱中待发送的数据按序打包成MHAL帧格式,并通过统一的逻辑端口发送出去。如果此时发送数据队列已满,则公共信箱的发送函数向应用组件返回一个错误值,由应用组件决定是否需要重发。
    从外部看来,GPP只有一个逻辑端口负责发送数据,GPP上的所有应用组件共享一个逻辑端口。从内部看来,每个应用组件都拥有一个独立的信箱号,任何一个应用组件要向外发送数据时都先将数据发送至MHAL公共信箱所维护的发送队列,由MHAL公共信箱统一将数据进行转发。
    请参阅图5所示,为MHAL公共信箱发送信息的流程图发送流程图,具体步骤如下:
    (a)应用组件向MHAL公共信箱发送数据。
    (b)信箱管理器判断当前GPP本地存储器发送循环队列是否同时满足以下2个条件:1.头指针等于尾指针。2.头指针地址中的数据不为空。
    满足b的条件转到c,不满足b的条件转到d。
    (c)GPP本地存储器发送队列已满,MHAL公共信箱向应用组件返回错误值,由应用组件决定是否重新发送。
    (d)GPP本地存储器发送队列未满,信箱管理器将来自应用组件的待发送数据放入发送队列头指针所在地址,并将发送队列的头指针+1操作。
    (e)信箱管理器判断当前GPP本地存储器发送循环队列是否同时满足以下2个条件:1.头指针等于尾指针。2.头指针地址中的数据为空。
    不满足e的条件转到f,满足e的条件转到g。
    (f)MHAL公共信箱从发送队列的尾指针地址处发送数据,并将尾指针+1操作,跳转到e。
    (g)GPP本地存储器发送队列已空,等待应用组件发送新数据。
    请参阅图6所示,为一套完整的MHAL公共信箱实施方案的系统框图,以PowerPC MPC8548CPU芯片为例,本实施方案的GPP中的MHAL公共信箱由以下几个模块构成:
    1.MHAL收件箱信箱管理器;
    2.MHAL发件箱信箱管理器;
    3.MHAL信箱收件箱循环队列存储器。
    4.MHAL信箱发件箱循环队列存储器。
    5.应用组件若干。
    为对实施本发明的软件通信体系架构中通用处理器硬件抽象层通信系统与方法更清楚的了解,以下以一具体的事例对其工作步骤进行详细说明:
    第一步、初始化处理:
    1.系统上电之后,在GPP中创建MHAL公共收件箱信箱管理器、MHAL发件箱信箱管理器、MHAL公共信箱收件箱循环队列存储器、MHAL公共信箱发件箱循环队列存储器,并加载10个应用组件。
    2.为MHAL公共信箱分配逻辑地址0x20。
    3.为MHAL公共收件箱信箱管理器与MHAL发件箱信箱管理器提供监听 线程。
    4.为MHAL公共信箱收件箱循环队列存储器及MHAL公共信箱发件箱循环队列存储器各分配8千字节(8KB)的存储空间,清除存储器中的数据,规定头、尾指针的步进为1k,并将头、尾指针指向队列中任意相同的有效地址。
    5.为每个应用组件分别分配信箱号0x01-0x0A。
    第二步、接收数据处理:
    1.由对端测试组件依次向GPP的10个应用组件各发送2组总共20组数据。
    2.MHAL公共收件箱信箱管理器接收数据,将数据存入接收循环队列,并通知应用组件0x0y从接收队列接收数据。MHAL公共收件箱依然保持监听接收数据的状态。
    3.MHAL公共收件箱在接收到第n组数据时,发现当前接收循环队列的尾指针与头指针地址相同,且头指针地址所指向的内容不为空,表明当前收件箱已满,无法继续接收数据,在等待时间片x后向测试组件返回错误值。
    4.信箱管理器按照接收序列依次调用各个应用组件的接收函数,将收到的数据转送至相应的应用组件。如果应用组件0x0y无法及时接收相应数据,造成延迟从收件箱接收数据时,信箱管理器在等待时间片x后,再次检查0x0y数据是否被接收。如果仍未接收,信箱管理器丢弃0x0y数据包。
    重复步骤2~4进行,直到20组数据全部接收完成。
    第三步、发送数据处理:
    1.由GPP的10个应用组件依次向测试组件各发送2组总共20组数据。
    2.MHAL公共发件箱信箱管理器接收来自应用组件的待发送数据,将数据存入发送循环队列,并按照待发送包到达的顺序依次将数据包转换成MHAL帧格式发出。
    3.MHAL公共发件箱在接收到第n组待发送数据时,发现当前发送循环队列的尾指针与头指针地址相同,且头指针地址所指向的内容不为空,表明当前发件箱已满,无法继续发送数据,便向未成功发送数据的应用组件返回错误值,由应用组件决定是否重新发送。
    重复步骤2-3进行,直到20组数据全部发送完成。
    与现有技术相比较,本发明通过设置MHAL公共信箱,从而可以采用一个逻辑地址便可以完成GPP上所有应用组件数据的收发,解决了GPP逻辑地址需求数量大的问题。同时,本发明采用循环队列缓存的方式,根据系统实际需求,分别为MHAL收件箱和发件箱配置固定的内存空间作为数据收发缓存,循环使用,很好地控制并节省了对GPP缓存的需求。系统中应用组件数量越多,这种方法的收益越大。再者,本发明提出了按照数据到达顺序进行数据的接收和发送调度,对管理大规模SDR系统中大量的软硬件资源带来了极大的便利,将竞争转移到组件的实现中,简化了系统管理。
    可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

    关 键  词:
    软件 通信 体系 架构 通用 处理器 硬件 抽象 系统 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:软件通信体系架构中通用处理器硬件抽象层通信系统与方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6173053.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1