CN109857382A - 一种SoC芯片软件定义无线电解耦设计方法 - Google Patents
一种SoC芯片软件定义无线电解耦设计方法 Download PDFInfo
- Publication number
- CN109857382A CN109857382A CN201910180598.XA CN201910180598A CN109857382A CN 109857382 A CN109857382 A CN 109857382A CN 201910180598 A CN201910180598 A CN 201910180598A CN 109857382 A CN109857382 A CN 109857382A
- Authority
- CN
- China
- Prior art keywords
- instruction
- behavior
- software
- instructions
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种SoC芯片软件定义无线电解耦设计方法,属于通信技术领域。本发明通过软件行为分解、序列化操作、元素指令操作管理等方法,实现了基于SoC芯片的软件定义无线电设计,具有芯片资源共享、软件分层开发、功能模块解耦等特点,特别适合在SoC平台上由多个设计师或设计团队协同开发软件定义无线电通信产品。
Description
技术领域
本发明涉及通信技术领域,特别是指一种SoC芯片软件定义无线电解耦设计方法。
背景技术
随着芯片制造工艺和处理器技术的迅速发展,小型化低功耗通信设备处理平台已经逐渐由板级系统(SoB)向片上系统(SoC)过渡。基于ARM、DSP、ASIC等不同系列多种核心构建的SoC平台因其集成度高、总线吞吐量高的优点逐渐成为小体积低功耗类设备的首选架构,在移动通信领域得到了广泛应用。
应用于移动通信的SoC芯片发展至今,受制于移动终端苛刻的功耗要求,多数公网SoC芯片选择了高定制度的硬件架构。这种架构在获得了最优的性能功耗比的同时,也在一定程度上限制了终端的基带处理芯片的波形适应性,对公网之外的其它波形扩展能力存在不足。基于软件定义无线电(SDR)弥补了这一弱点,它用软件的方式实现通信波形的处理功能,具有研制速度快、调试方便、易升级扩展等优点。
然而,随着通信SoC平台的处理能力不断增强、功能不断丰富,其开发团队越来越大、软件结构越来越复杂,资源冲突问题越来越严重,缺乏高效灵活的资源共享机制。同时,传统的软件编程方法在基于共享硬件上实现并行工作的多个软件功能,往往需要统一时序、资源规划设计,难以拆分成工作包实现并行开发,导致研发效率低下。
发明内容
本发明的目的是为了克服上述背景技术中不足之处,提供一种SoC芯片软件定义无线电解耦设计方法,其具有软件分层开发、功能模块解耦、芯片资源共享的特点。
本发明的目的是这样实现的:
一种SoC芯片软件定义无线电解耦设计方法,其包括以下步骤:
①根据通信波形软件实现架构,将SoC芯片中的软件功能模块分解为多个行为,每一个行为分解为多个元素指令;
②高层协议栈按照通信波形体制和软件定义无线电设计流程按需调用软件功能模块,软件功能模块根据被高层协议栈调用时携带的参数配置并执行本功能包含的行为,各行为共享SoC芯片中的硬件资源;
③每个行为执行时,例化其包含的元素指令,配置每个元素指令在本次执行时的启动时刻和必要参数;
④每个行为在每一个例化后的元素指令中写入一个独特码信息,所述独特码信息包含调用该元素指令的功能名称、功能执行序号、行为名称、行为执行序号和元素指令执行序号;
⑤每个行为将例化后的元素指令写入元素指令池,元素指令池以链表的方式存储元素指令;接收到每一个元素指令时,根据该指令的执行时刻,在链表中进行排序存储;
⑥元素指令池根据定时基准依次执行池中存储的元素指令,每一条元素指令执行之前在元素指令池链表中检查其执行指令周期内是否与其他指令存在冲突,若存在冲突则启动异常处理;
⑦当功能或行为被取消执行、中止执行或修改执行时,采用独特码信息匹配的方式对该功能或行为进行删除,高层协议栈或控制任务将删除指令发送给元素指令池,元素指令池根据删除指令在链表中删除与独特码信息匹配的元素指令;
⑧元素指令池管理任务在每个帧周期开始前,将元素指令序列中在本帧内执行的元素指令写入SoC芯片的定时器事件表中;在不同通信系统中,根据指令响应的实时性要求不同,元素指令的写入周期为单个或多个时隙、超帧、子帧的周期;
⑨定时器初始化后一直运转,由定时器事件表机制触发相应时刻的元素指令,完成每一个元素指令操作,从而完成每一个行为和软件功能;
⑩定时器中的元素指令执行完毕后,元素指令池删除该元素指令;
完成 SoC芯片软件定义无线电的解耦设计。
采用上述技术方案的有益效果在于:
1、本发明采用基于SoC芯片的通信处理平台实现软件定义无线电通信产品,将SoC芯片内部软件划分为功能、行为、元素指令三个层次,实现了分层开发。
2、本发明提出元素指令统一管理的方法以实现多任务并行工作,能够实现各软件功能、行为的解耦,可方便地进行多人并行开发,便于增加、裁剪软件模块。
总之,本发明通过软件行为分解、序列化操作、元素指令操作管理等方法,实现了基于SoC芯片的软件定义无线电的设计,具有芯片资源共享、软件分层开发、功能模块解耦等特点,特别适用于多个设计师或设计团队协同开发基于SoC芯片的软件定义无线电通信产品。
附图说明
图1是本发明实施例中设计方法的原理示意图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的说明。
如图1所示,一种SoC芯片软件定义无线电解耦设计方法,该方法用于设计基于SoC芯片实现的软件定义无线电通信产品,具体包括以下步骤:
①根据通信波形软件实现架构,将SoC芯片中的软件功能模块分解为多个行为,每一个行为分解为多个元素指令,元素指令是指带有各种属性、不可再次分解的指令集,每一个元素指令中包含一条不可再次分解的指令,以及该指令的执行时刻、执行时间、操作内容、硬件资源、回调函数等可配置参数。假设某种波形需要两种功能模块,分别是包含两个行为的功能模块F1和包含三个行为的功能模块F2,其中每个行为包含多个元素指令,则架构如图1所示。
软件功能模块是指组成通信波形软件的各类功能模块,根据其在SoC芯片中实现的方式不同,分为高层协议栈类功能和物理层功能两类。高层协议栈类功能包括无线资源控制功能、媒体接入控制功能、无线链路控制功能、广播/多播控制功能、分组数据汇聚协议功能;物理层类功能包括发射接收功能、调制解调功能、编译码功能、自动功率控制功能(APC)、自动频率控制功能(AFC)、定时同步功能、睡眠唤醒功能等,软件功能模块组合在一起完成软件定义无线电通信的全部功能。
行为是指为了完成某项功能进行执行的一个软件步骤,包括各类协议交互、各种链路参数计算、各种数据信息处理、发送各种突发/连续/单载波信号、接收各种突发/连续信号、各种调制处理、各种解调处理、各种状态采集、各种接口传输等。
元素指令是指带有各种属性、不可再次分解的指令集,各种运算库或运算函数、包括各种IO控制、各种加速器控制、各种DMA传输控制、各种定时器控制、各种寄存器控制、各种任务控制、各种芯片控制、各种外设控制等。每一个元素指令中包含属性包括:执行时刻、执行周期、操作内容、硬件资源、回调函数等参数。
②高层协议栈按照通信波形体制和软件定义无线电设计流程按需调用软件功能模块,软件功能模块根据被高层协议栈调用时携带的参数配置并执行其包含的行为,各行为共享SoC芯片中的硬件资源。如图1所示,功能层将包含F1和F2两个功能模块,其中功能模块F1包含F1_B1和F1_B2两个行为,功能模块F2包含F2_B1、F2_B2和F2_B3三个行为。
高层协议栈是指除物理层(层1)以外的高层通信协议栈,包括数据链路层(层2)和网络层(层3),高层协议栈可以在SoC芯片中的通用处理器中(如ARM等)实现,主要完成通信管理、流程控制和与流程控制相关的运算,高层协议栈的运行需要处理器芯片配合操作系统软件支持多任务处理能力,并确保芯片具备足够的运算资源。
SoC芯片中的硬件资源包括各类运算资源、各类存储资源、各类加速器资源、各类接口资源、各类射频资源、定时器资源、直接内存存取(DMA)处理器资源、事件表资源等。其中各类运算资源包括CPU处理内核、DSP处理内核、矢量DSP内核、音频处理器内核、人工智能处理内核等;各类加速器资源包括信道编解码加速器、快速傅里叶变换加速器、滤波加速区、加密引擎等;各类接口资源包括USB接口、SPI接口、I2C接口、PCM接口、SDIO接口、HPI接口、串口、网口等;各类射频资源指与SoC芯片连接的射频信号处理芯片或处理模块,可被SoC芯片控制实现射频信号处理功能;定时器资源指芯片内部通用定时器和支持事件表执行的专用定时器等;DMA资源是指集成在SoC内部,可自动完成数据搬移功能的协处理器;事件表资源是指在SoC芯片内部可按照定时器触发时刻执行的一系列协处理器。
SoC芯片采用支持多任务并行工作的操作系统,占用运算资源的软件功能可在多个任务中以抢占处理器的方式并行处理,其包含的各个行为也可在多个任务中并行处理;
SoC芯片的各个硬件资源是可以并行工作的,但单个硬件资源在同一时刻仅能执行一个指令。
③每个行为执行时例化其包含的元素指令,配置每个元素指令在本次执行时的启动时刻和必要参数。如图1所示,将行为F1_B1分解为T1时刻执行的元素指令A、T4时刻执行的元素指令B、T5时刻执行的元素指令C,将行为F1_B2分解为T2时刻执行的元素指令A、T6时刻执行的元素指令B,将行为F2_B1分解为T3时刻执行的元素指令A、T7时刻执行的元素指令B、T8时刻执行的元素指令C。
例化是指把元素指令中的参数配置为当前行为所需要的值,例化后的元素指令中包含了该指令执行所必需的全部参数,当元素指令被分配到相应的硬件资源中执行时,这些参数会在执行中被调用,实现元素指令的正确运行结果。
④每个行为在每一个例化后的元素指令中写入一个独特码信息,独特码信息应包含调用该元素指令的功能名称、功能执行序号、行为名称、行为执行序号、元素指令执行序号信息等内容;
功能名称是功能模块的名称代号,每个功能都具备唯一的名称代号,行为名称是行为的名称代号,每个行为都具备唯一的名称代号;为了提高搜索效率,功能名称和行为名称可采用数字代号,以宏定义的方式提高可读性。
功能执行序号在每次执行该功能时循环累加,通信波形多任务运行过程中,须确保每一个执行中的相同名称功能序号不重复。行为执行序号指在某功能中第几次执行该行为,元素指令执行序号是指在某行为中第几次执行该元素指令。
⑤每个行为将例化后的元素指令写入元素指令池,元素指令池以链表的方式存储元素指令,接收到每一个元素指令时,根据该指令的执行时刻,在链表中进行排序存储。如图1所示,各行为相应的元素指令A、B、C均在元素指令池中。
元素指令池中存储的元素指令根据执行时刻排序,链表头为最早执行的指令,所有行为可以共享一个元素指令池,不同行为产生的元素指令可以交错存储。
⑥元素指令池根据定时基准依次执行池中存储的元素指令,每一条元素指令执行之前在元素指令池链表中检查其执行指令周期内是否与其他指令存在冲突,若存在冲突则启动异常处理。如图1所示,在执行层中,元素指令按照T1~T8的顺序将元素指令排序。
检查元素指令是否冲突的是指检查在其指令周期内的未执行指令是否会与其同时占用同一不可共享硬件资源、调用同一个不可重入的函数等会导致该元素指令无法正常执行的条件。异常处理可以采用报警、取消执行等方法。
⑦当功能、行为被取消执行、中止执行、修改执行时,可以采用独特码匹配的方式进行删除,高层协议栈或控制任务将删除指令发送给元素指令池,元素指令池根据删除指令在链表中删除与独特字匹配的元素指令,被删除的指令将不会被执行。
删除指令可分为删除功能、删除行为、删除元素指令三类,通过指定功能名称、功能执行序号、行为名称、行为执行序号、元素指令名称、元素指令执行序号来删除指定的功能、行为和元素指令。
在功能、行为被频繁取消、中止、修改的系统中,元素指令池可根据链表中的独特字建立索引,通过索引的方式查找删除指令可以大幅提高删除操作的执行效率。
⑧元素指令池管理任务在每个帧周期开始前,将元素指令序列中在本帧内执行的元素指令写入SoC芯片的定时器事件表中;在不同通信系统中,根据指令响应的实时性要求不同,元素指令的写入周期也可以为单个或多个时隙、超帧、子帧的周期。
定时器事件表中存储着可由定时器时间触发的元素指令,定时器事件表可存储的指令数量是有限的;元素指令写入周期越长、指令密度越大,需要的定时器事件表存储空间越大。元素指令的写入周期除了影响事件表大小外,还影响指令执行的最大延迟。
帧是指串行通信中数据流的一种数据结构,帧周期是指通信过程中每一帧传输占用的时长,超帧通常指多个帧的组合,子帧通常指在帧内划分的多个数据结构,时隙通常指帧的基本时间单元。
⑨定时器初始化后一直运转,由定时器事件表机制触发相应时刻的元素指令,完成每一个元素指令操作,从而完成每一个行为和软件功能。定时器事件表在每周期执行完毕后会自动清除事件表中的元素指令;为了确保定时器事件表执行时可以写入下一周期的元素指令,定时器事件表通常支持多缓冲区模式。
⑩定时器中的元素指令执行完毕后,元素指令池删除该元素指令。
删除元素指令可以采用时间触发和回调函数触发两种方式,时间触发方式下,元素指令池运行过程中周期计算链表头的元素指令执行时刻和周期之和,若结果晚于当前时间,则删除当前链表头指向的元素指令。回调函数触发方式下,由硬件资源通过中断触发回调函数,以消息的方式通知元素指令池执行删除操作,该方式适合对支持执行结束后产生中断的硬件资源处理的元素指令。
至此,完成SoC芯片软件定义无线电的解耦设计。
本发明方法将SoC芯片内部软件划分为功能、行为、元素指令三个层次,实现了分层开发。
总之,本发明提出了一种元素指令统一管理的方法,能够实现多任务并行工作,实现各软件功能、行为的解耦,可方便地进行多人并行开发,便于增加、裁剪软件模块。
Claims (1)
1.一种SoC芯片软件定义无线电解耦设计方法,其特征在于,包括以下步骤:
根据通信波形软件实现架构,将SoC芯片中的软件功能模块分解为多个行为,每一个行为分解为多个元素指令;
高层协议栈按照通信波形体制和软件定义无线电设计流程按需调用软件功能模块,软件功能模块根据被高层协议栈调用时携带的参数配置并执行本功能包含的行为,各行为共享SoC芯片中的硬件资源;
每个行为执行时,例化其包含的元素指令,配置每个元素指令在本次执行时的启动时刻和必要参数;
每个行为在每一个例化后的元素指令中写入一个独特码信息,所述独特码信息包含调用该元素指令的功能名称、功能执行序号、行为名称、行为执行序号和元素指令执行序号;
每个行为将例化后的元素指令写入元素指令池,元素指令池以链表的方式存储元素指令;接收到每一个元素指令时,根据该指令的执行时刻,在链表中进行排序存储;
元素指令池根据定时基准依次执行池中存储的元素指令,每一条元素指令执行之前在元素指令池链表中检查其执行指令周期内是否与其他指令存在冲突,若存在冲突则启动异常处理;
当功能或行为被取消执行、中止执行或修改执行时,采用独特码信息匹配的方式对该功能或行为进行删除,高层协议栈或控制任务将删除指令发送给元素指令池,元素指令池根据删除指令在链表中删除与独特码信息匹配的元素指令;
元素指令池管理任务在每个帧周期开始前,将元素指令序列中在本帧内执行的元素指令写入SoC芯片的定时器事件表中;在不同通信系统中,根据指令响应的实时性要求不同,元素指令的写入周期为单个或多个时隙、超帧、子帧的周期;
定时器初始化后一直运转,由定时器事件表机制触发相应时刻的元素指令,完成每一个元素指令操作,从而完成每一个行为和软件功能;
定时器中的元素指令执行完毕后,元素指令池删除该元素指令;
完成 SoC芯片软件定义无线电的解耦设计。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910180598.XA CN109857382B (zh) | 2019-03-11 | 2019-03-11 | 一种SoC芯片软件定义无线电解耦设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910180598.XA CN109857382B (zh) | 2019-03-11 | 2019-03-11 | 一种SoC芯片软件定义无线电解耦设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109857382A true CN109857382A (zh) | 2019-06-07 |
CN109857382B CN109857382B (zh) | 2022-02-18 |
Family
ID=66900391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910180598.XA Active CN109857382B (zh) | 2019-03-11 | 2019-03-11 | 一种SoC芯片软件定义无线电解耦设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857382B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111832047A (zh) * | 2020-07-09 | 2020-10-27 | 郑州信大捷安信息技术股份有限公司 | 一种spi数据传输方法及系统 |
CN112562767A (zh) * | 2020-12-29 | 2021-03-26 | 国家数字交换系统工程技术研究中心 | 一种晶上软件定义互连网络装置与方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106209121A (zh) * | 2016-07-15 | 2016-12-07 | 中国科学院微电子研究所 | 一种多模多核的通信基带SoC芯片 |
CN106707313A (zh) * | 2016-11-23 | 2017-05-24 | 广州海格通信集团股份有限公司 | 一种跨平台的卫星导航接收机软件系统 |
CN107167773A (zh) * | 2017-05-10 | 2017-09-15 | 湖北航天技术研究院总体设计所 | 基于vpx平台的雷达信号处理系统及应用软件设计方法 |
CN109144853A (zh) * | 2018-07-26 | 2019-01-04 | 中国电子科技集团公司第五十四研究所 | 一种软件定义无线电SoC芯片调试系统 |
-
2019
- 2019-03-11 CN CN201910180598.XA patent/CN109857382B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106209121A (zh) * | 2016-07-15 | 2016-12-07 | 中国科学院微电子研究所 | 一种多模多核的通信基带SoC芯片 |
CN106707313A (zh) * | 2016-11-23 | 2017-05-24 | 广州海格通信集团股份有限公司 | 一种跨平台的卫星导航接收机软件系统 |
CN107167773A (zh) * | 2017-05-10 | 2017-09-15 | 湖北航天技术研究院总体设计所 | 基于vpx平台的雷达信号处理系统及应用软件设计方法 |
CN109144853A (zh) * | 2018-07-26 | 2019-01-04 | 中国电子科技集团公司第五十四研究所 | 一种软件定义无线电SoC芯片调试系统 |
Non-Patent Citations (1)
Title |
---|
WUJIANGGUIZHEN: "《SoC--片上系统概念定义》", 《HTTPS://BLOG.CSDN.NET/WUJIANGGUIZHEN/ARTICLE/DETAILS/14055033?-》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111832047A (zh) * | 2020-07-09 | 2020-10-27 | 郑州信大捷安信息技术股份有限公司 | 一种spi数据传输方法及系统 |
CN111832047B (zh) * | 2020-07-09 | 2022-03-15 | 郑州信大捷安信息技术股份有限公司 | 一种spi数据传输方法及系统 |
CN112562767A (zh) * | 2020-12-29 | 2021-03-26 | 国家数字交换系统工程技术研究中心 | 一种晶上软件定义互连网络装置与方法 |
CN112562767B (zh) * | 2020-12-29 | 2021-09-28 | 国家数字交换系统工程技术研究中心 | 一种晶上软件定义互连网络装置与方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109857382B (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7733771B2 (en) | NoC semi-automatic communication architecture for “data flows” applications | |
US20040216125A1 (en) | Wireless device operating system (OS) application programmer's interface (API) | |
TW201238295A (en) | A method and system for improved multi-cell support on a single modem board | |
JP2014501003A (ja) | 遠隔通信ネットワーク・アプリケーションのための、ロックレスでゼロ・コピーのメッセージング・スキーム | |
CN108632309B (zh) | 一种升级窄带物联网终端的方法及装置 | |
CN109857382A (zh) | 一种SoC芯片软件定义无线电解耦设计方法 | |
WO2024183093A1 (zh) | 测试系统 | |
CN109831394B (zh) | 数据处理方法、终端以及计算机存储介质 | |
CN107977232B (zh) | 一种数据处理方法、数据处理电路和网络设备 | |
CN112153114A (zh) | 一种分时访问共享器件的方法、系统、设备及介质 | |
Kuhn et al. | ns+ SDL–the network simulator for SDL systems | |
CN109254758B (zh) | 用于麒麟系统的软件无线电系统及其开发方法 | |
CN102681970B (zh) | 信号处理器的配置方法及信号处理器 | |
CN108738035B (zh) | 一种多制式基带芯片的数据处理方法及装置、处理设备 | |
CN117650793B (zh) | 一种异构分布式嵌入式软件定义无线电系统及其波形部署方法 | |
CN117674863B (zh) | 一种多核异构SoC软件定义无线电波形组件通信方法 | |
CN111767999A (zh) | 数据处理方法、装置及相关产品 | |
CN113572652B (zh) | 一种有线Mesh网络测试方法 | |
Scavongelli et al. | A systemC Bluetooth network simulator | |
WO2023159433A1 (zh) | 一种时间敏感网络中门控列表的切换方法及装置 | |
CN114416395A (zh) | 一种跨交换芯片acl管理方法及其系统 | |
CN116737420A (zh) | 基于操作系统的1553b总线通信方法 | |
CN115686637A (zh) | 一种包含片上调度器的fpga异构处理架构 | |
CN115755974A (zh) | 一种开放式无人航行器航控软件架构实现方法 | |
CN116089024A (zh) | 数据访问对象的装饰方法、装置、存储介质以及处理器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |