《软件通信体系架构中通用处理器硬件抽象层通信系统与方法.pdf》由会员分享,可在线阅读,更多相关《软件通信体系架构中通用处理器硬件抽象层通信系统与方法.pdf(14页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103617021 A (43)申请公布日 2014.03.05 CN 103617021 A (21)申请号 201310643521.4 (22)申请日 2013.12.03 G06F 9/30(2006.01) (71)申请人 中国航空无线电电子研究所 地址 200233 上海市徐汇区桂平路 432 号 (72)发明人 胡晨浩 许生 常坤 黄干明 李裕 (74)专利代理机构 上海和跃知识产权代理事务 所 ( 普通合伙 ) 31239 代理人 杜林雪 (54) 发明名称 软件通信体系架构中通用处理器硬件抽象层 通信系统与方法 (57) 摘要 本发明揭示了一种软件通。
2、信体系架构中通用 处理器硬件抽象层通信系统, 包括硬件抽象层公 共信箱, 该硬件抽象层公共信箱包括信箱管理器 与循环队列存储器, 该硬件抽象层公共信箱与应 用组件及物理总线连接, 信箱管理器用以接收数 据, 并将待发送或待接收数据存入循环队列存储 器, 通知应用组件接收数据或将数据包发出, 本发 明通过设置硬件抽象层公共信箱, 从而可以采用 一个逻辑地址便可以完成通用处理器上所有应用 组件数据的收发, 解决了通用处理器逻辑地址需 求数量大的问题。 (51)Int.Cl. 权利要求书 2 页 说明书 6 页 附图 5 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页。
3、 说明书6页 附图5页 (10)申请公布号 CN 103617021 A CN 103617021 A 1/2 页 2 1. 一种软件通信体系架构中通用处理器硬件抽象层通信系统, 包括硬件抽象层公共信 箱, 该硬件抽象层公共信箱包括信箱管理器与循环队列存储器, 该硬件抽象层公共信箱与 应用组件及物理总线连接, 信箱管理器用以接收数据, 并将待发送或待接收数据存入循环 队列存储器, 通知应用组件接收数据或将数据包发出。 2. 如权利要求 1 所述的软件通信体系架构中通用处理器硬件抽象层通信系统, 其特征 在于 : 该硬件抽象层公共信箱包括收件箱与发件箱, 收件箱与发件箱均包括信箱管理器与 循环队。
4、列存储器。 3. 如权利要求 2 所述的软件通信体系架构中通用处理器硬件抽象层通信系统, 其特征 在于 : 该硬件抽象层公共信箱设置在运行 SCA 环境的通用处理器上, 每个通用处理器的物 理数据端口映射一个独立的逻辑地址, 通用处理器上所有应用组件各自拥有一个独立的信 箱号, 通过逻辑地址加信箱号的形式唯一表征每个应用组件, 向通用处理器发送的数据都 会被缓存到硬件抽象层公共信箱的收件箱中, 收件箱将接收到的数据按序放入循环队列存 储器中, 同时根据消息中的信箱号, 通知具体应用组件接收数据。 4. 如权利要求 3 所述的软件通信体系架构中通用处理器硬件抽象层通信系统, 其特征 在于 : 如。
5、果循环队列存储器的接收数据队列已满, 则由收件箱向数据发送端返回一个错误 值, 由数据发送端决定是否重新发送。 5. 如权利要求 2 所述的软件通信体系架构中通用处理器硬件抽象层通信系统, 其特征 在于 : 硬件抽象层公共信箱的发件箱将各应用组件待发送的数据按序放入循环队列存储器 中, 并给硬件抽象层公共信箱的发件箱的信箱管理器提供一个中断信号, 信箱管理器在接 收到中断信号后, 将信箱中待发送的数据按序打包成硬件抽象层帧格式, 并通过统一的逻 辑端口发送出去。 6. 如权利要求 5 所述的软件通信体系架构中通用处理器硬件抽象层通信系统, 其特征 在于 : 如果发件箱的循环队列存储器的发送数据。
6、队列已满, 则发件箱向应用组件返回一个 错误值, 由应用组件决定是否需要重发。 7. 一种软件通信体系架构中通用处理器硬件抽象层接收信息的方法, 该通用处理器中 设有一收件箱, 收件箱设有信箱管理器与循环队列存储器, 每个通用处理器的物理数据端 口映射一个独立的逻辑地址, 通用处理器上所有应用组件各自拥有一个独立的信箱号, 通 过逻辑地址加信箱号的形式唯一表征每个应用组件, 该方法包括如下步骤 : 步骤 a : 通用处理器的硬件抽象层收件箱接收数据 ; 步骤 b : 信箱管理器判断当前通用处理器循环队列存储器的接收循环队列是否同时满 足以下 2 个条件 : 1. 头指针等于尾指针 ; 2. 头。
7、指针地址中的数据不为空 ; 满足上述条件转 到步骤 c, 不满足上述条件转到步骤 e ; 步骤 c : 通用处理器本地存储器接收队列已满, 硬件抽象层公共信箱等待一时间片后, 通知数据源重传数据, 再次做步骤 b 中的 2 个判断 ; 满足步骤 b 条件的转到步骤 d, 不满足 步骤 b 条件的转到步骤 e ; 步骤 d : 信箱管理器丢弃当前头指针所指向的地址中的数据包, 并将尾指针 +1 操作 ; 步骤 e : 通用处理器本地存储器接收队列未满, 信箱管理器将从物理总线接收到的数 据放入接收队列头指针所在地址, 并将接收队列的头指针 +1 操作 ; 步骤 f : 信箱管理器根据接收数据中的。
8、信箱号, 通知相应的应用组件从接收队列接收 权 利 要 求 书 CN 103617021 A 2 2/2 页 3 数据, 并将该数据在接收队列中的地址传递给应用组件 ; 步骤 g : 应用组件从接收队列中接收数据, 数据接收完毕后将返回值通知信箱管理器 ; 步骤 h : 信箱管理器重置该信箱地址。 8. 一种软件通信体系架构中通用处理器硬件抽象层发送信息的方法, 该通用处理器中 设有一发件箱, 发件箱设有信箱管理器与循环队列存储器, 该方法包括如下步骤 : 步骤 a : 应用组件向发件箱发送数据 ; 步骤 b : 信箱管理器判断当前发件箱循环队列存储器发送循环队列是否同时满足以下 2 个条件 。
9、: 1. 头指针等于尾指针, 2. 头指针地址中的数据不为空 ; 满足此条件则转到步骤 c, 不满足则转到步骤 d ; 步骤 c : 发件箱循环队列存储器发送队列已满, 发件箱向应用组件返回错误值, 由应用 组件决定是否重新发送 ; 步骤 d : 发件箱循环队列存储器发送队列未满, 信箱管理器将来自应用组件的待发送 数据放入发送队列头指针所在地址, 并将发送队列的头指针 +1 操作 ; 步骤 e : 信箱管理器判断当前发件箱循环队列存储器发送循环队列是否同时满足以下 2个条件 : 1.头指针等于尾指针, 2.头指针地址中的数据为空 ; 不满足步骤e的条件转到步 骤 f, 满足步骤 e 的条件转。
10、到步骤 g ; 步骤 f : 发件箱从发送队列的尾指针地址处发送数据, 并将尾指针 +1 操作, 跳转到 e ; 步骤 g : 发件箱循环队列存储器发送队列已空, 等待应用组件发送新数据。 权 利 要 求 书 CN 103617021 A 3 1/6 页 4 软件通信体系架构中通用处理器硬件抽象层通信系统与方 法 【技术领域】 0001 本发明涉及软件通信体系架构中通用处理器硬件抽象层通信系统与方法。 【背景技术】 0002 SCA(以下简称 SCA) 是美军在联合战术无线电系统 (JTRS) 联合规划执行办公室 (JPEO) 中制定的软件通信架构标准, 是 JTRS 的主干。SCA 通过面向。
11、对象方法划分软件 硬件结构, 建立了开放的系统标准, 提供了与具体实现无关的软件无线电开发框架, 保证了 软、 硬件的可移植、 可重构及设备的互操作性。 0003 为了在系统设计过程中尽可能减少硬件平台对软件设计的影响, 提高软件组件的 可移植性, SCA 规范中建议使用硬件抽象层 (以下简称 MHAL) 技术。MHAL 对具体硬件实现进 行抽象, 位于底层硬件和上层软件之间, 它屏蔽底层硬件复杂的接口规范, 并为上层软件提 供统一、 简单的接口, 使上层软件很好地独立于硬件, 实现了上层软件与硬件平台相分离, 尽可能减小底层硬件的具体结构对上层软件的影响, 从而有效地提高软件的可移植性。 0。
12、004 MHAL 通过对硬件接口的抽象, 定义一系列标准的应用程序接口 (API) 供上层软件 使用, 以实现上层软件的通信功能, 为软件设计和维护带来很大的便利, 图 1 为传统的应用 组件和数据缓存工作系统的组成框架示意图。 0005 然而SCA的代理机制给运行核心框架 (以下简称CF) 的通用处理器 (以下简称GPP) 带来沉重的负荷。由于对计算类、 时钟类、 射频模拟类等硬件资源均建议在 SCA 框架内构 建相应的逻辑设备, 而每一个逻辑设备都需要一个唯一的逻辑地址来表征, 这种方式给 GPP 上的 MHAL 通信带来以下弊端 : 0006 (1)逻辑地址需求大。 大量的逻辑地址对系统。
13、实现构成威胁, 尤其是对大规模的软 件无线电 (SDR) 系统, 由中间件实现的逻辑端口调用将增加 GPP 处理时延。 0007 (2)数据缓存需求大。 每个逻辑地址都需要一个缓存来存储接收到的数据, 大量的 逻辑地址需要大量的缓存作为映射, 降低了 GPP 的性能。 0008 (3)管理难度大。 当GPP上的多个逻辑端口同时发送数据时, 由于多个逻辑端口共 享相同的物理端口, 因此会出现竞争发送权限的问题。 【发明内容】 0009 本发明的目的在于提供一种软件通信体系架构中通用处理器硬件抽象层通信系 统与方法, 用以解决现有的软件通信体系架构中通用处理器硬件抽象层通信方法逻辑地址 与数据缓存。
14、需求大及管理难度大的问题。 0010 为实现上述目的, 实施本发明的软件通信体系架构中通用处理器硬件抽象层通信 系统包括硬件抽象层公共信箱, 该硬件抽象层公共信箱包括信箱管理器与循环队列存储 器, 该硬件抽象层公共信箱与应用组件及物理总线连接, 信箱管理器用以接收数据, 并将待 发送或待接收数据存入循环队列存储器, 通知应用组件接收数据或将数据包发出。 说 明 书 CN 103617021 A 4 2/6 页 5 0011 依据上述主要特征, 该硬件抽象层公共信箱包括收件箱与发件箱, 收件箱与发件 箱均包括信箱管理器与循环队列存储器。 0012 依据上述主要特征, 该硬件抽象层公共信箱设置在运。
15、行 SCA 环境的 GPP 上, 每个 GPP 的物理数据端口映射一个独立的逻辑地址, GPP 上所有应用组件各自拥有一个独立的 信箱号, 通过逻辑地址加信箱号的形式唯一表征每个应用组件, 向 GPP 发送的数据都被缓 存到 MHAL 公共信箱的收件箱中, 收件箱将接收到的数据按序放入循环队列存储器中, 同时 根据消息中的信箱号, 通知具体某个应用组件接收数据。 0013 依据上述主要特征, 如果循环队列存储器的接收数据队列已满, 则由收件箱向数 据发送端返回一个错误值, 由数据发送端决定是否重新发送。 0014 依据上述主要特征, MHAL 公共信箱的发件箱将各应用组件待发送的数据按序放入 。
16、循环队列存储器中, 并给 MHAL 公共信箱的发件箱的信箱管理器提供一个中断信号, 信箱管 理器在接收到中断信号后, 将信箱中待发送的数据按序打包成 MHAL 帧格式, 并通过统一的 逻辑端口发送出去。 0015 依据上述主要特征, 如果发件箱的循环队列存储器的发送数据队列已满, 则发件 箱向应用组件返回一个错误值, 由应用组件决定是否需要重发。 0016 为实现上述目的, 本发明提供一种软件通信体系架构中通用处理器硬件抽象层接 收信息的方法, 该通用处理器中设有一收件箱, 收件箱设有信箱管理器与循环队列存储器, 每个通用处理器的物理数据端口映射一个独立的逻辑地址, 通用处理器上所有应用组件各。
17、 自拥有一个独立的信箱号, 通过逻辑地址加信箱号的形式唯一表征每个应用组件, 该方法 包括如下步骤 : 0017 步骤 a : 通用处理器的硬件抽象层收件箱接收数据 ; 0018 步骤 b : 信箱管理器判断当前通用处理器循环队列存储器的接收循环队列是否同 时满足以下 2 个条件 : 1. 头指针等于尾指针 ; 2. 头指针地址中的数据不为空 ; 满足上述条 件转到步骤 c, 不满足上述条件转到步骤 e ; 0019 步骤 c : 通用处理器本地存储器接收队列已满, 硬件抽象层公共信箱等待一时间 片后, 通知数据源重传数据, 再次做步骤 b 中的 2 个判断 ; 满足步骤 b 条件的转到步骤 。
18、d, 不 满足步骤 b 条件的转到步骤 e ; 0020 步骤 d : 信箱管理器丢弃当前头指针所指向的地址中的数据包, 并将尾指针 +1 操 作 ; 0021 步骤 e : 通用处理器本地存储器接收队列未满, 信箱管理器将从物理总线接收到 的数据放入接收队列头指针所在地址, 并将接收队列的头指针 +1 操作 ; 0022 步骤 f : 信箱管理器根据接收数据中的信箱号, 通知相应的应用组件从接收队列 接收数据, 并将该数据在接收队列中的地址传递给应用组件 ; 0023 步骤 g : 应用组件从接收队列中接收数据, 数据接收完毕后将返回值通知信箱管 理器 ; 0024 步骤 h : 信箱管理器。
19、重置该信箱地址。 0025 为实现上述目的, 本发明提供一种软件通信体系架构中通用处理器硬件抽象层发 送信息的方法, 该通用处理器中设有一发件箱, 发件箱设有信箱管理器与循环队列存储器, 该方法包括如下步骤 : 说 明 书 CN 103617021 A 5 3/6 页 6 0026 步骤 a : 应用组件向发件箱发送数据 ; 0027 步骤 b : 信箱管理器判断当前发件箱循环队列存储器发送循环队列是否同时满足 以下 2 个条件 : 1. 头指针等于尾指针, 2. 头指针地址中的数据不为空 ; 满足此条件则转到 步骤 c, 不满足则转到步骤 d ; 0028 步骤 c : 发件箱循环队列存储器。
20、发送队列已满, 发件箱向应用组件返回错误值, 由 应用组件决定是否重新发送 ; 0029 步骤 d : 发件箱循环队列存储器发送队列未满, 信箱管理器将来自应用组件的待 发送数据放入发送队列头指针所在地址, 并将发送队列的头指针 +1 操作 ; 0030 步骤 e : 信箱管理器判断当前发件箱循环队列存储器发送循环队列是否同时满足 以下2个条件 : 1.头指针等于尾指针, 2.头指针地址中的数据为空 ; 不满足步骤e的条件转 到步骤 f, 满足步骤 e 的条件转到步骤 g ; 0031 步骤 f : 发件箱从发送队列的尾指针地址处发送数据, 并将尾指针 +1 操作, 跳转到 e ; 0032 。
21、步骤 g : 发件箱循环队列存储器发送队列已空, 等待应用组件发送新数据。 0033 与现有技术相比较, 本发明通过设置硬件抽象层公共信箱, 从而可以采用一个逻 辑地址便可以完成通用处理器上所有应用组件数据的收发, 解决了通用处理器逻辑地址需 求数量大的问题。同时, 本发明采用循环队列缓存的方式, 根据系统实际需求, 分别为硬件 抽象层收件箱和发件箱配置固定的内存空间作为数据收发缓存, 循环使用, 很好地控制并 节省了对通用处理器缓存的需求。系统中应用组件数量越多, 这种方法的收益越大。再者, 本发明提出了按照数据到达顺序进行数据的接收和发送调度, 对管理大规模 SDR 系统中大 量的软硬件资。
22、源带来了极大的便利, 将竞争转移到组件的实现中, 简化了系统管理。 【附图说明】 0034 图 1 为传统的应用组件和数据缓存工作系统的组成框架示意图。 0035 图 2 是 MHAL 公共信箱收件箱的示意图。 0036 图 3 是 MHAL 公共信箱接收信息的流程图。 0037 图 4 是 MHAL 公共信箱的发件箱的示意图。 0038 图 5 是 MHAL 公共信箱发送信息的流程图。 0039 图 6 是一套完整的 MHAL 公共信箱实施方案的系统框图。 【具体实施方式】 0040 本发明主要的核心方案是在运行 SCA 环境的 GPP 上创建 MHAL 公共信箱, 该公共信 箱在 GPP 。
23、本地存储器中创建循环队列, 用以存放待接收和待发送的 MHAL 消息。 0041 图6为一套完整的MHAL公共信箱实施方案的系统框图, 实施本发明的软件通信体 系架构中通用处理器硬件抽象层通信系统包括硬件抽象层公共信箱, 该硬件抽象层公共信 箱分为收件箱与发件箱两个部分, 收件箱与发件箱均包括信箱管理器与循环队列存储器, 该硬件抽象层公共信箱与应用组件及物理总线连接, 信箱管理器用以接收数据, 并将待发 送或待接收数据存入循环队列存储器, 通知应用组件接收数据或将数据包转换成 MHAL 帧 格式发出。 说 明 书 CN 103617021 A 6 4/6 页 7 0042 请参阅图 2 所示,。
24、 为 MHAL 公共信箱的收件箱的示意图。其中每个 GPP 的物理数据 端口映射一个独立的逻辑地址, GPP 上所有应用组件各自拥有一个独立的信箱号, 这样可以 使用逻辑地址加信箱号的形式唯一表征每个应用组件。 0043 GPP 的 MHAL 公共信箱作为与外部进行数据交互的端口, 其物理地址为对应的物理 总线端口地址, 逻辑地址为与该物理端口相映射的唯一的逻辑地址。任何通过该物理端口 向 GPP 发送的数据都会被缓存到 MHAL 公共信箱中。MHAL 公共信箱会在 GPP 本地存储器中 创建一组接收循环队列, 将接收到的数据按序放入该队列中, 同时根据消息中的信箱号, 通 知具体某个应用组件。
25、来接收数据。如果此时接收数据队列已满, 则由公共信箱向数据发送 端返回一个错误值, 由数据发送端决定是否重新发送。 0044 从外部看来, GPP 只有一个逻辑端口负责接收数据, GPP 上的所有应用组件共享一 个逻辑端口。从内部看来, 每个应用组件都拥有一个独立的信箱号, GPP 在接收到数据后, 根据该信箱号将数据转发给具体相应的应用组件。 0045 请参阅图 3 所示, MHAL 公共信箱接收信息的流程图, 其具体步骤如下 : 0046 (a) GPP 的 MHAL 公共信箱接收数据。 0047 (b) 信箱管理器判断当前 GPP 本地存储器接收循环队列是否同时满足以下 2 个条 件 :。
26、 1. 头指针等于尾指针。2. 头指针地址中的数据不为空。满足上述条件转到 c。不满足 上述条件转到 e。 0048 (c) GPP 本地存储器接收队列已满, MHAL 公共信箱等待时间片 x 后, 通知数据源重 传数据, 再次做步骤 b 中的 2 个判断。满足步骤 b 条件的转到 d。不满足步骤 b 条件的转到 e。 0049 (d) 信箱管理器丢弃当前头指针所指向的地址中的数据包, 并将尾指针 +1 操作。 0050 (e) GPP 本地存储器接收队列未满, 信箱管理器将从物理总线接收到的数据放入接 收队列头指针所在地址, 并将接收队列的头指针 +1 操作。 0051 (f) 信箱管理器根。
27、据接收数据中的信箱号, 通知相应的应用组件从接收队列接收 数据, 并将该数据在接收队列中的地址传递给应用组件。 0052 (g) 应用组件从接收队列中接收数据, 数据接收完毕后将返回值通知信箱管理器。 0053 (h) 信箱管理器重置该信箱地址。 0054 请参阅图 4 所示, 为 MHAL 公共信箱的发件箱的示意图。 0055 GPP 的 MHAL 公共信箱作为真正与外部进行数据交互的端口, 其物理地址为对应的 物理总线端口地址, 逻辑地址为与该物理端口相映射的唯一的逻辑地址。任何从该物理端 口发送的数据都会被缓存到 MHAL 公共信箱中。MHAL 公共信箱会在 GPP 本地存储器中创建 一。
28、组发送循环队列, 将各应用组件待发送的数据按序放入该队列中, 并给 MHAL 公共信箱的 信箱管理器提供一个中断信号, 信箱管理器在接收到中断信号后, 将信箱中待发送的数据 按序打包成 MHAL 帧格式, 并通过统一的逻辑端口发送出去。如果此时发送数据队列已满, 则公共信箱的发送函数向应用组件返回一个错误值, 由应用组件决定是否需要重发。 0056 从外部看来, GPP 只有一个逻辑端口负责发送数据, GPP 上的所有应用组件共享一 个逻辑端口。 从内部看来, 每个应用组件都拥有一个独立的信箱号, 任何一个应用组件要向 外发送数据时都先将数据发送至 MHAL 公共信箱所维护的发送队列, 由 M。
29、HAL 公共信箱统一 将数据进行转发。 说 明 书 CN 103617021 A 7 5/6 页 8 0057 请参阅图 5 所示, 为 MHAL 公共信箱发送信息的流程图发送流程图, 具体步骤如 下 : 0058 (a) 应用组件向 MHAL 公共信箱发送数据。 0059 (b) 信箱管理器判断当前 GPP 本地存储器发送循环队列是否同时满足以下 2 个条 件 : 1. 头指针等于尾指针。2. 头指针地址中的数据不为空。 0060 满足 b 的条件转到 c, 不满足 b 的条件转到 d。 0061 (c) GPP 本地存储器发送队列已满, MHAL 公共信箱向应用组件返回错误值, 由应用 组。
30、件决定是否重新发送。 0062 (d) GPP 本地存储器发送队列未满, 信箱管理器将来自应用组件的待发送数据放入 发送队列头指针所在地址, 并将发送队列的头指针 +1 操作。 0063 (e) 信箱管理器判断当前 GPP 本地存储器发送循环队列是否同时满足以下 2 个条 件 : 1. 头指针等于尾指针。2. 头指针地址中的数据为空。 0064 不满足 e 的条件转到 f, 满足 e 的条件转到 g。 0065 (f) MHAL 公共信箱从发送队列的尾指针地址处发送数据, 并将尾指针 +1 操作, 跳 转到 e。 0066 (g) GPP 本地存储器发送队列已空, 等待应用组件发送新数据。 0。
31、067 请参阅图 6 所示, 为一套完整的 MHAL 公共信箱实施方案的系统框图, 以 PowerPC MPC8548CPU 芯片为例, 本实施方案的 GPP 中的 MHAL 公共信箱由以下几个模块构成 : 0068 1.MHAL 收件箱信箱管理器 ; 0069 2.MHAL 发件箱信箱管理器 ; 0070 3.MHAL 信箱收件箱循环队列存储器。 0071 4.MHAL 信箱发件箱循环队列存储器。 0072 5. 应用组件若干。 0073 为对实施本发明的软件通信体系架构中通用处理器硬件抽象层通信系统与方法 更清楚的了解, 以下以一具体的事例对其工作步骤进行详细说明 : 0074 第一步、 。
32、初始化处理 : 0075 1. 系统上电之后, 在 GPP 中创建 MHAL 公共收件箱信箱管理器、 MHAL 发件箱信箱管 理器、 MHAL 公共信箱收件箱循环队列存储器、 MHAL 公共信箱发件箱循环队列存储器, 并加 载 10 个应用组件。 0076 2. 为 MHAL 公共信箱分配逻辑地址 0x20。 0077 3. 为 MHAL 公共收件箱信箱管理器与 MHAL 发件箱信箱管理器提供监听线程。 0078 4.为MHAL公共信箱收件箱循环队列存储器及MHAL公共信箱发件箱循环队列存储 器各分配 8 千字节 (8KB) 的存储空间, 清除存储器中的数据, 规定头、 尾指针的步进为 1k,。
33、 并 将头、 尾指针指向队列中任意相同的有效地址。 0079 5. 为每个应用组件分别分配信箱号 0x01-0x0A。 0080 第二步、 接收数据处理 : 0081 1. 由对端测试组件依次向 GPP 的 10 个应用组件各发送 2 组总共 20 组数据。 0082 2.MHAL 公共收件箱信箱管理器接收数据, 将数据存入接收循环队列, 并通知应用 组件 0x0y 从接收队列接收数据。MHAL 公共收件箱依然保持监听接收数据的状态。 说 明 书 CN 103617021 A 8 6/6 页 9 0083 3.MHAL 公共收件箱在接收到第 n 组数据时, 发现当前接收循环队列的尾指针与头 指。
34、针地址相同, 且头指针地址所指向的内容不为空, 表明当前收件箱已满, 无法继续接收数 据, 在等待时间片 x 后向测试组件返回错误值。 0084 4. 信箱管理器按照接收序列依次调用各个应用组件的接收函数, 将收到的数据转 送至相应的应用组件。如果应用组件 0x0y 无法及时接收相应数据, 造成延迟从收件箱接收 数据时, 信箱管理器在等待时间片 x 后, 再次检查 0x0y 数据是否被接收。如果仍未接收, 信 箱管理器丢弃 0x0y 数据包。 0085 重复步骤 2 4 进行, 直到 20 组数据全部接收完成。 0086 第三步、 发送数据处理 : 0087 1. 由 GPP 的 10 个应用。
35、组件依次向测试组件各发送 2 组总共 20 组数据。 0088 2.MHAL 公共发件箱信箱管理器接收来自应用组件的待发送数据, 将数据存入发送 循环队列, 并按照待发送包到达的顺序依次将数据包转换成 MHAL 帧格式发出。 0089 3.MHAL 公共发件箱在接收到第 n 组待发送数据时, 发现当前发送循环队列的尾指 针与头指针地址相同, 且头指针地址所指向的内容不为空, 表明当前发件箱已满, 无法继续 发送数据, 便向未成功发送数据的应用组件返回错误值, 由应用组件决定是否重新发送。 0090 重复步骤 2-3 进行, 直到 20 组数据全部发送完成。 0091 与现有技术相比较, 本发明。
36、通过设置 MHAL 公共信箱, 从而可以采用一个逻辑地址 便可以完成 GPP 上所有应用组件数据的收发, 解决了 GPP 逻辑地址需求数量大的问题。同 时, 本发明采用循环队列缓存的方式, 根据系统实际需求, 分别为 MHAL 收件箱和发件箱配 置固定的内存空间作为数据收发缓存, 循环使用, 很好地控制并节省了对 GPP 缓存的需求。 系统中应用组件数量越多, 这种方法的收益越大。再者, 本发明提出了按照数据到达顺序 进行数据的接收和发送调度, 对管理大规模 SDR 系统中大量的软硬件资源带来了极大的便 利, 将竞争转移到组件的实现中, 简化了系统管理。 0092 可以理解的是, 对本领域普通。
37、技术人员来说, 可以根据本发明的技术方案及其发 明构思加以等同替换或改变, 而所有这些改变或替换都应属于本发明所附的权利要求的保 护范围。 说 明 书 CN 103617021 A 9 1/5 页 10 图 1 图 2 说 明 书 附 图 CN 103617021 A 10 2/5 页 11 图 3 说 明 书 附 图 CN 103617021 A 11 3/5 页 12 图 4 说 明 书 附 图 CN 103617021 A 12 4/5 页 13 图 5 说 明 书 附 图 CN 103617021 A 13 5/5 页 14 图 6 说 明 书 附 图 CN 103617021 A 14 。