CN107248867A - 基于srio的dsp上mhal的实现方法 - Google Patents
基于srio的dsp上mhal的实现方法 Download PDFInfo
- Publication number
- CN107248867A CN107248867A CN201710373377.5A CN201710373377A CN107248867A CN 107248867 A CN107248867 A CN 107248867A CN 201710373377 A CN201710373377 A CN 201710373377A CN 107248867 A CN107248867 A CN 107248867A
- Authority
- CN
- China
- Prior art keywords
- component
- srio
- mhal
- dsp
- interfaces
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/0003—Software-defined radio [SDR] systems, i.e. systems wherein components typically implemented in hardware, e.g. filters or modulators/demodulators, are implented using software, e.g. by involving an AD or DA conversion stage such that at least part of the signal processing is performed in the digital domain
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明公开了基于SRIO的DSP上MHAL的实现方法,包含MHAL初始化过程,所述初始化过程包含以下步骤:配置SRIO接口的DeviceID和通信速率;配置SRIO交换网络路由为DSP自环通信方式,发送自环测试数据对DSP的SRIO接口进行自环测试;比较SRIO接口的各端口收发的自环测试数据,如果相同,自环测试通过;创建目的组件LD与目的设备PD的映射表;创建本地组件LD注册表;创建本地组件LD与组件任务信号量的映射表。本发明使不同硬件设备的组件之间进行通信时,只需要知道欲通信组件的LD即可获取到目的设备PD,使用SRIO接口完成通信数据的交互,达到应用组件通信时屏蔽SRIO接口的目的。
Description
技术领域
本发明涉及SRIO(串行高速输入输出)总线架构下硬件平台的调制解调硬件抽象层设计方法,尤其涉及其中基于DSP(数字信号处理器)的调制解调硬件抽象层(以下简称MHAL)的实现方法。
背景技术
传统的无线电系统采用不同的工作频段、调制方式、通信协议和加密方式实现不同的通信模式和功能,这些差异给不同通信设备间的连通带来了不便。与传统的无线电系统相比,软件无线电系统的A/D(模/数),D/A(数/模)变换尽可能的靠近射频前端,对整个系统从中频甚至射频开始就进行数字化处理,使通信的各部分功能都由软件来实现和控制,系统硬件结构与功能相对独立,基于通用的硬件平台,不同的电台、不同的系统只要通过加载不同的软件即可实现功能的差异化,不需要更改硬件平台的结构。这是软件无线电的一个突出特点。软件无线电的硬件设计以开放式总线结构为基础,所以硬件和软件都采用开放式物理接口和电气接口规范,按标准的通用模块进行设计。
在无线电通信系统中,较常用的硬件平台有DSP、FPGA(现场可编辑门阵列) 和PowerPC(简称PPC)等,传统的设计方法是在不同硬件平台上开发不同的应用软件,使用不同的接口规范,且相同硬件平台也存在多样的型号、技术体制和原理,所以软件和接口规范也有差异。以这种方式在硬件平台上设计应用软件有如下弊端:
(1)移植性差。由于不同的系统有不同的接口,每次程序代码移植到新的系统中时,接口都需做相应改变。
(2)通用性差。在不同的硬件平台上各自采用不同的程序架构和接口,导致只能用于特定的硬件平台上,不能复用在其它硬件平台上。
SCA(软件通信体系结构)作为软件无线电的一种通用的体系规范,定义了调制解调硬件抽象层MHAL的概念。MHAL介于硬件平台和软件之间,它为了屏蔽硬件差异将硬件的实现抽象出来,负责处理软硬件差异,并完成相关接口功能。同时,软件无线电的硬件平台间通常通过高速总线连接。其中SRIO总线使用广泛,它是一种针对高性能嵌入式系统芯片间和板间互连而设计的总线技术,具有协议简单、软件开销小、延时小和打包效率高等优点,现今主流的DSP均提供了对外的SRIO接口。
基于SRIO总线的DSP调制解调硬件抽象层是一种分层软件设计结构,该方法将DSP底层硬件与上层软件应用分开,采用标准的架构来约束软件的开发和部署,以确保软件的可移植性、可重用性和可扩展性。MHAL技术的使用极大提高了系统的灵活性和互操作性,减少了新波形应用的开发周期。
发明内容
本发明的发明目的提供一种基于SRIO总线的DSP上MHAL的实现方法,当基于SRIO总线的软件无线电系统中的所有DSP硬件平台都使用该MHAL,用户或是应用组件(以下简称AC(Application Component))就可以通过使用MHAL提供的统一的接口来方便地进行系统内通信,并可以在不同型号和规格的DSP间任意移植程序,解决了基于SRIO总线的软件无线电系统中,DSP的应用软件移植性、通用性和灵活性差的问题。
本发明的发明目的通过以下技术方案实现:
基于SRIO的DSP上MHAL的实现方法,包含MHAL初始化过程,所述初始化过程包含以下步骤:
步骤1.1、配置SRIO接口的DeviceID和通信速率;
步骤1.2、使能SRIO接口中断;
步骤1.3、配置SRIO交换网络路由为DSP自环通信方式,发送自环测试数据对DSP的SRIO接口进行自环测试;
步骤1.4、比较SRIO接口的各端口收发的自环测试数据,如果相同,自环测试通过,执行步骤1.5,否则MHAL初始化失败;
步骤1.5、创建目的组件LD与目的设备PD的映射表;
步骤1.6、创建本地组件LD注册表;
步骤1.7、创建本地组件LD与组件任务信号量的映射表;
步骤1.8、检查步骤1.5-1.7的执行结果,若每步都成功执行,则MHAL初始化成功完成,否则MHAL初始化失败。
基于SRIO的DSP上MHAL的实现方法还包含消息发送过程,所述消息发送过程包含以下步骤:
步骤2.1、配置本地DSP和其他硬件平台的SRIO交换网络路由;
步骤2.2、从发送缓冲TX_Buffer中读取目的组件LD,根据目的组件LD从目的组件LD与目的器件PD的映射表查找目的器件PD;
步骤2.3、从发送缓冲TX_Buffer中读取数据,与目的器件的PD一起发送给DSP的SRIO接口;
步骤2.4、DSP的SRIO接口发送NWRITE事务,包含目的器件PD、数据长度,以及目的组件LD;
步骤2.5、SRIO接口发送MHAL消息,MHAL消息发送完成后发送一个DOORBELL 数据包给目的器件。
基于SRIO的DSP上MHAL的实现方法还包含消息接收过程,所述消息接收过程包含以下步骤:
步骤3.1、检测SRIO接口是否收到DOORBELL数据包,如果检测到,则触发 DOORBELL中断;
步骤3.2、从Rev_Ptr指针指向的缓存中读取本地组件LD,根据本地组件 LD从本地组件LD与组件任务信号量的映射表从查找组件任务信号量,并释放该组件任务信号量;
步骤3.3、对应的组件检测到组件任务信号量到达后,将Rev_Ptr指针指向的缓存中接收到的MHAL消息写入接收Rx_Buffer中。
附图说明:
图1是DSP MHAL通信系统框架示意图。
图2是DSP MHAL整体框架示意图。
图3是DSP MHAL初始化流程图。
图4是DSP MHAL发送数据流程图。
图5是DSP MHAL接收数据流程图。
图6是基于SRIO总线DSP MHAL实施方案系统框图。
具体实施方式:
下面给出实施例和附图对本发明作进一步的详细说明。
图6为实施例的系统组成框图。整个系统主要包括两片TI公司的 TMS320C6455的DSP芯片,通过两片IDT公司的CPS1848的SRIO交换芯片搭建的SRIO交换网络,进行互连。每个DSP中都加载MHAL程序。下面用这两块DSP 通过MHAL进行SRIO总线的相互通信,使用CCSv3.3软件进行调试,通过该软件的内存查看窗口来比较应用源组件的发数据和目的组件的收数据,验证DSP MHAL的功能。
图2为MHAL的整体设计框图。DSP调制解调硬件抽象层接口提供了7个函数,分别如下:
1)Srio_Init函数;
2)Local_LD_Attach函数;
3)DestLD_MapTo_DestPD函数;
4)LD_RouteTo_AC函数;
5)MHALWrite函数;
6)Srio_DoorBell_Int函数;
7)MHALRead函数;
DSP MHAL的各个函数功能如下:
1)Srio_Init函数
函数原型:Uint32Srio_Init(Uint16RapidIO_ADDR,Uint8SPEED)。
功能:实现DSP的SRIO接口的初始化、自环测试工作。在调制解调硬件抽象层API(应用接口)函数中,该函数必须首先被调用,配置本地器件的RapidIO 地址和通信速率,同时正确配置交换机路由,在函数内部配置了DSP自环通信的路由,否则无法通过自环检测。
参数:RapidIO_ADDR:本地器件的RapidIO地址(DeviceID),类型为Uint16。SPEED:3个有效值,1表示1.25Gbps、2表示2.5Gbps、3表示3.125Gbps。
返回值:返回值0或1,0表示初始化失败,1表示初始化成功。
2)Local_LD_Attach函数
函数原型:Uint32Local_LD_Attach(Uint16Local_LD)。
功能:该函数用于注册本地运行且需要接收MHAL消息的应用组件。在使用 LD_RouteTo_AC函数前必须调用该函数。
参数:Local_LD:本地组件的LD,类型为Uint16。
返回值:返回值0或1,0表示注册失败,1表示注册成功。
3)DestLD_MapTo_DestPD函数
函数原型:Uint32DestLD_MapTo_DestPD(Uint16DestLD,Uint16DestPD)
功能:该函数进行目的组件LD(逻辑地址)和目的器件PD(物理地址)之间的映射,以至于本地调制解调硬件抽象层能够根据目的组件LD找到对应的目的器件PD,将MHAL消息传送到对应目的器件上的调制解调硬件抽象层。在调用该函数前,需要对目的组件LD和目的器件PD进行统一分配。
参数:DestLD:本地组件欲通信的目的组件的LD,类型为Uint16。DestPD:目的组件运行的物理设备RapidIO地址,类型为Uint16。
返回值:返回值0或1,0表示映射失败,1表示映射成功。
4)LD_RouteTo_AC函数
函数原型:Uint32LD_RouteTo_AC(Uint16LOG_D,SEM_Handle new_SEM)。
功能:该函数进行本地组件LD和其对应组件任务信号量之间的映射。用户在调用该函数前,首先为每个本地组件定义一个组件任务信号量,当调制解调硬件抽象层收到给本地某个组件的MHAL消息,则释放其对应的组件任务信号量,从而触发该组件的接收处理任务。
参数:LOG_D:本地组件的LD,类型为Uint16。new_SEM:为目的组件LOG_D 定义的组件任务信号量,类型为SEM_Handle。
返回值:返回值0或1,0表示映射失败,1表示映射成功。
5)MHALWrite函数
函数原型:Uint32MHALWrite(unsigned char*Tx_Buffer)。
功能:当本地组件欲向其它组件进行通信时,调用该函数。首先去查找 Tx_Buffer指向的最低16位目的组件LD信息,根据DestLD_MapTo_DestPD函数所建立的目的组件LD与目的器件PD之间的映射表,找到目的器件PD,并根据下一组16位解析的数据长度,内部执行SRIO的NWRITE(SRIO总线的一种发包事件的类型)操作,向与目的设备协商好的内存(即指针Rev_Ptr指向的缓存) 写数据,数据发送完毕后,再发送一个DOORBELL包。
参数:Tx_Buffer:包含发送MHAL消息的缓存指针,类型为unsigned char*。
返回值:返回值0或1,0表示发送失败,1表示发送成功。
6)Srio_DoorBell_Int函数
函数原型:void Srio_DoorBell_Int(void)。
功能:该函数用于响应DOORBELL中断包,通知DSP消息接收完毕,从Rev_Ptr 低16位获取本地组件LD,并通过查找LD_RouteTo_AC函数建立的映射表,释放组件对应的组件任务信号量,当组件任务信号量到达该组件后,会触发AC调用 MHALRead函数,为应用层提供MHAL消息。
参数:无
返回值:无
7)MHALRead函数
函数原型:Uint32MHALRead(Uint16LOG_D,unsigned char*Rx_Buffer)。
功能:组件任务信号量到达后,说明本接收组件的数据到达,调用MHALRead 函数,从Rev_Ptr指针指向的缓存获得MHAL消息,写到Rx_Buffer指向的缓存,供应用组件使用,没有信号量到达则不能触发AC调用MHALRead函数。
参数:Local_LD:当前组件的LD,类型为Uint16。Rx_Buffer:存放接收MHAL消息的缓存指针,类型为unsigned char*。
返回值:返回值0,表示该组件没有向调制解调硬件抽象层注册它的LD,接收失败;返回值非0,表示MHAL消息的长度,接收成功。
调制解调硬件抽象层在使用前需先进行初始化,在main函数中调用 Srio_Init函数、Local_LD_Attach函数、DestLD_MapTo_DestPD函数和 LD_RouteTo_AC函数。之后在DSP/BIOS内将应用组件函数作为一个任务启动,执行对MHAL消息的收发操作。如图3、图4、图5所示,DSP的MHAL主要实现 MHAL初始化、消息发送和消息接收3个功能。下面分别进行详细的介绍。
1)MHAL初始化
MHAL初始化完成了DSP的SRIO接口初始化,主要包括本地器件ID的定义、 DSP通过SRIO网络进行自环通信测试等,确保DSP的SRIO接口和SRIO交换网络功能正常。同时MHAL初始化实现本地组件LD的注册、目的组件LD与目的器件PD的映射、本地组件LD与组件任务信号量的映射,这样不同硬件设备的组件之间进行通信时,组件只需要知道欲通信组件的LD即可,通过MHAL的地址映射关系,获取到目的设备PD,使用SRIO驱动接口完成通信数据的交互,达到应用组件通信时屏蔽SRIO底层驱动接口的目的。MHAL初始化具体的实现步骤如下:
步骤1.1、初始化DSP的SRIO接口的DeviceID和通信速率。例如:对CPS1848 进行初始化,设置为4x模式,Lane速率为3.125G。然后对DSP1的SRIO接口进行初始化,同样配置为4x模式,速率为3.125G,同时设置RapidIO器件地址 PD为0x51。
步骤1.2、使能SRIO中断。当数据接收完毕时,用来响应DOORBELL中断,进而能够处理Srio_DoorBell_Int中断服务函数。
步骤1.3、配置SRIO交换网络路由为DSP自环通信方式,发送自环测试数据对DSP的SRIO接口进行自环测试。例如,配置SRIO交换网络路由时,当PD 为0x51时,将CPS1848-1的port6路由到port11,CPS1848-2的port11路由到port7,CPS1848-1的port7路由到port6,使DSP1自环,发送自环测试数据,
步骤1.4、比较SRIO接口的各端口收发的自环测试数据,如果相同,自环测试通过,进行接下来的操作,否则MHAL初始化失败,步骤1.1-1.4均在 Srio_Init函数中执行,查看Srio_Init函数返回值,返回值为1,表示MHAL 初始化成功。
步骤1.5调用DestLD_MapTo_DestPD函数,创建目的组件LD与目的设备PD 的映射表。例如:为DSP1定义一个组件,LD为0xAA,DSP2同样定义一个组件, LD为0xBB,定义DSP2的PD为0x52。那么DSP1使用DestLD_MapTo_DestPD函数创建0xBB和0x52的映射表。
步骤1.6调用Local_LD_Attach函数,创建本地组件LD注册表。例如:DSP1 使用Local_LD_Attach函数将0xAA添加到本地组件LD注册表中。
步骤1.7调用LD_RouteTo_AC函数,创建本地组件LD与组件任务信号量的映射表。例如:DSP1使用LD_RouteTo_AC函数建立本地组件0xAA与组件任务信号量SEM1的映射表;
步骤1.8检查步骤1.5-1.7的返回值,若每步都成功执行,则MHAL初始化成功完成,否则MHAL初始化失败。
对DSP2进行MHAL初始化,重复上述步骤1.1-1.8,不同的是DSP2的器件地址配置为0x52,在交换网络上为0x52配置自环路由,建立0xAA和0x51的目的组件LD与目的器件PD映射表,将0xBB添加到本地组件LD注册表中,建立 DSP2本地组件0xBB与组件任务信号量SEM2的映射表。
2)消息发送
DSP1的AC使用MHAL需要对外发送数据时,将数据事先写到TX_Buffer这个缓存中。在调用MHALWrite函数发送数据时,首先取出TX_Buffer指向的最低16位,获得目的组件的LD,查找目的组件LD与目的设备PD的映射表,得到目的器件PD。接着读取TX_Buffer指向的下一组16位,判断要发送数据的长度。由于DSP的SRIO接口数据最大缓存为4K,且SRIO数据包最多携带256个字节的数据,所以若数据长度大于4K字节则每次取出4K个字节,每次分16个SRIO 数据包进行发送,直到全部取出,反之则一次全部取出,与目的器件地址PD一起传递给SRIO接口,采用NWRITE事务将数据发送出去。在完成MHAL初始化后,执行如下步骤:
步骤2.1、配置本地DSP和其他硬件平台的SRIO交换网络路由。
步骤2.2、应用组件(0xAA)调用MHALWrite函数发送数据。MHALWrite函数首先读取TX_Buffer指向的最低16位目的组件LD(0xBB),查找 DestLD_MapTo_DestPD函数所建立的目的组件LD与目的器件PD的映射表,获得目的器件PD。
步骤2.3、MHALWrite函数接着读取TX_Buffer指向的下一组16位的数据包头,通过数据包头判断数据长度,若数据长度大于4K字节则每次从TX_Buffer 中取出最大4K字节数据,分16包发送给DSP的SRIO接口,直至全部取出;若数据长度小于4K字节,则一次取出给SRIO接口。
步骤2.4、DSP的SRIO接口使用前面获得的目的器件PD、数据长度、 Tx_Buffer中的数据和目的组件LD等信息,发送NWRITE事务。
步骤2.5、SRIO接口将数据发送出去,通过SRIO交换网络到指定器件地址的器件上,MHAL消息发送完毕后,发送一个DOORBELL包,向目的器件指示数据发送完毕。
3)数据接收
当DSP2接收到DOORBELL包时,指示MHAL消息接收完毕,DOORBELL中断触发执行Srio_DoorBell_Int函数,到数据接收Rev_Ptr指针指向的缓存读取低 16位LD信息,查找LD与组件信号量映射表,释放该LD对应的信号量,当释放的信号量到达该组件时,组件调用MHALRead函数,将接收到的MHAL消息写入 Rx_Buffer中,供应用层组件使用。
具体实现步骤如下:
步骤3.1、DSP2检测SRIO接口是否收到DOORBELL数据包,如果检测到,则触发DOORBELL中断。
步骤3.2、执行Srio_DoorBell_Int中断服务函数,到MHAL接收内存,即Rev_Ptr指针指向的缓存读取低16位本地组件LD信息,查找LD_RouteTo_AC函数所建立的本地组件LD与组件任务信号量映射表,获得该组件任务的信号量,并释放该组件任务信号量。
步骤3.2组件任务信号量释放后,对应的组件就会检测到相关组件任务信号量到达,从而调用MHALRead函数,从Rev_Ptr指针指向的缓存中将接收到的 MHAL消息写入Rx_Buffer中,供该组件使用。
可以使用CCSv3.3软件观察DSP1的Tx_Buffer内存窗口和DSP2的 RX_Buffer内存窗口,判断接收到的数据以及数据长度是否与发送的数据以及数据长度相同,相同则证明收发数据功能正常。
以上所述,仅为本发明的一个具体实例,所涉及到芯片不仅局限于 TMS320C6455这一款,SRIO交换芯片也不局限于CPS1848这一款,任何具有SRIO 接口的DSP芯片都可应用于本发明中,所以本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明所述的技术范围内,所做的变化或替换,都应涵盖在本发明的保护范围内。因此,本发明的保护范围应以权利要求书的保护范围为准。
Claims (3)
1.基于SRIO的DSP上MHAL的实现方法,包含MHAL初始化过程,所述初始化过程包含以下步骤:
步骤1.1、配置SRIO接口的DeviceID和通信速率;
步骤1.2、使能SRIO接口中断;
步骤1.3、配置SRIO交换网络路由为DSP自环通信方式,发送自环测试数据对DSP的SRIO接口进行自环测试;
步骤1.4、比较SRIO接口的各端口收发的自环测试数据,如果相同,自环测试通过,执行步骤1.5,否则MHAL初始化失败;
步骤1.5、创建目的组件LD与目的设备PD的映射表;
步骤1.6、创建本地组件LD注册表;
步骤1.7、创建本地组件LD与组件任务信号量的映射表;
步骤1.8、检查步骤1.5-1.7的执行结果,若每步都成功执行,则MHAL初始化成功完成,否则MHAL初始化失败。
2.根据权利要求1所述的基于SRIO的DSP上MHAL的实现方法,其特征在于还包含消息发送过程,所述消息发送过程包含以下步骤:
步骤2.1、配置本地DSP和其他硬件平台的SRIO交换网络路由;
步骤2.2、从发送缓冲TX_Buffer中读取目的组件LD,根据目的组件LD从目的组件LD与目的器件PD的映射表查找目的器件PD;
步骤2.3、从发送缓冲TX_Buffer中读取数据,与目的器件的PD一起发送给DSP的SRIO接口;
步骤2.4、DSP的SRIO接口发送NWRITE事务,包含目的器件PD、数据长度,以及目的组件LD;
步骤2.5、SRIO接口发送MHAL消息,MHAL消息发送完成后发送一个DOORBELL数据包给目的器件。
3.根据权利要求1所述的基于SRIO的DSP上MHAL的实现方法,其特征在于还包含消息接收过程,所述消息接收过程包含以下步骤:
步骤3.1、检测SRIO接口是否收到DOORBELL数据包,如果检测到,则触发DOORBELL中断;
步骤3.2、从Rev_Ptr指针指向的缓存中读取本地组件LD,根据本地组件LD从本地组件LD与组件任务信号量的映射表从查找组件任务信号量,并释放该组件任务信号量;
步骤3.3、对应的组件检测到组件任务信号量到达后,将Rev_Ptr指针指向的缓存中接收到的MHAL消息写入接收Rx_Buffer中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710373377.5A CN107248867A (zh) | 2017-05-24 | 2017-05-24 | 基于srio的dsp上mhal的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710373377.5A CN107248867A (zh) | 2017-05-24 | 2017-05-24 | 基于srio的dsp上mhal的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107248867A true CN107248867A (zh) | 2017-10-13 |
Family
ID=60016606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710373377.5A Pending CN107248867A (zh) | 2017-05-24 | 2017-05-24 | 基于srio的dsp上mhal的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107248867A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984324A (zh) * | 2018-07-18 | 2018-12-11 | 湖南理工学院 | Fpga硬件抽象层 |
CN109408419A (zh) * | 2018-10-11 | 2019-03-01 | 湖南理工学院 | Dsp硬件抽象层和dsp处理器 |
CN109558367A (zh) * | 2019-01-10 | 2019-04-02 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 多总线处理器mhal路由方法 |
CN109587014A (zh) * | 2019-01-25 | 2019-04-05 | 上海创景信息科技有限公司 | Srio实时在线模拟仿真验证方法、系统及介质 |
CN110855552A (zh) * | 2019-11-01 | 2020-02-28 | 中国人民解放军国防科技大学 | 基于缓存静态分配的硬件抽象层消息转发方法 |
CN110908811A (zh) * | 2019-11-01 | 2020-03-24 | 中国人民解放军国防科技大学 | 基于缓存动态分配的硬件抽象层消息转发方法 |
CN111353235A (zh) * | 2020-03-13 | 2020-06-30 | 上海介方信息技术有限公司 | 一种基于模型驱动的组件端口建模方法及终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103885919A (zh) * | 2014-03-20 | 2014-06-25 | 北京航空航天大学 | 一种多dsp和fpga并行处理系统及实现方法 |
CN106648802A (zh) * | 2016-12-30 | 2017-05-10 | 上海浦东软件园汇智软件发展有限公司 | 一种组件更新的方法及设备 |
-
2017
- 2017-05-24 CN CN201710373377.5A patent/CN107248867A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103885919A (zh) * | 2014-03-20 | 2014-06-25 | 北京航空航天大学 | 一种多dsp和fpga并行处理系统及实现方法 |
CN106648802A (zh) * | 2016-12-30 | 2017-05-10 | 上海浦东软件园汇智软件发展有限公司 | 一种组件更新的方法及设备 |
Non-Patent Citations (2)
Title |
---|
无: "基于TMS320C6455的高速SRIO接口设计", 《电子工程世界网》 * |
无: "基于多处理器的高速RapidIO", 《百度文库》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984324A (zh) * | 2018-07-18 | 2018-12-11 | 湖南理工学院 | Fpga硬件抽象层 |
CN109408419A (zh) * | 2018-10-11 | 2019-03-01 | 湖南理工学院 | Dsp硬件抽象层和dsp处理器 |
CN109408419B (zh) * | 2018-10-11 | 2020-11-13 | 湖南理工学院 | Dsp硬件抽象层和dsp处理器 |
CN109558367A (zh) * | 2019-01-10 | 2019-04-02 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 多总线处理器mhal路由方法 |
CN109587014A (zh) * | 2019-01-25 | 2019-04-05 | 上海创景信息科技有限公司 | Srio实时在线模拟仿真验证方法、系统及介质 |
CN110855552A (zh) * | 2019-11-01 | 2020-02-28 | 中国人民解放军国防科技大学 | 基于缓存静态分配的硬件抽象层消息转发方法 |
CN110908811A (zh) * | 2019-11-01 | 2020-03-24 | 中国人民解放军国防科技大学 | 基于缓存动态分配的硬件抽象层消息转发方法 |
CN110855552B (zh) * | 2019-11-01 | 2021-09-03 | 中国人民解放军国防科技大学 | 基于缓存静态分配的硬件抽象层消息转发方法 |
CN111353235A (zh) * | 2020-03-13 | 2020-06-30 | 上海介方信息技术有限公司 | 一种基于模型驱动的组件端口建模方法及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107248867A (zh) | 基于srio的dsp上mhal的实现方法 | |
CN105207873B (zh) | 一种报文处理方法和装置 | |
US8019832B2 (en) | Network core access architecture | |
CN102035673B (zh) | 一种基于光纤通道的通用自动测试系统 | |
CN102972070B (zh) | 使用多网络地址来建立被测设备和控制测试的测试设备的同步的系统和方法 | |
CN108900327A (zh) | 一种基于dpdk的天文数据采集和实时处理方法 | |
JPH10240572A (ja) | 命令トレース供給方式 | |
JP2005516432A (ja) | リングアーキテクチャを使用した通信システム | |
CN104219003B (zh) | 通信装置、测试系统及其测试方法 | |
JPH10187477A (ja) | テストアクセスポート制御器及びそれを用いた有効な通信方法 | |
CN104331282A (zh) | 一种无线电产品可重构综合开发测试系统 | |
US6178525B1 (en) | Trigger sequencing controller | |
CN104133963B (zh) | 基于串行高速总线的fpga硬件抽象层及其实现方法 | |
CN101252535B (zh) | 集中式转发网络设备及方法 | |
CN110139369A (zh) | 一种数据传输方法、装置、终端及网络侧设备 | |
CN106569416A (zh) | 一种微控制器的串行接口与仿真调试接口复用方法及装置 | |
CN103617021B (zh) | 软件通信体系架构中通用处理器硬件抽象层通信系统与方法 | |
CN109150645B (zh) | 一种交换芯片的测试方法及系统 | |
CN101577638B (zh) | 一种基于电信网管系统探测以太网oam的方法和装置 | |
CN109217900A (zh) | 一种用于就地化元件保护双向冗余环网通信测试的损伤仪及其实现方法 | |
CN106059927B (zh) | 一种星型结构的有限级联自动重构网络路由设备及其网络 | |
CN208939953U (zh) | 一种双向冗余环网通信测试损伤仪 | |
CN109254758B (zh) | 用于麒麟系统的软件无线电系统及其开发方法 | |
CN105893321A (zh) | 片上网络中基于路径多样性的交叉开关细粒度容错模块及其方法 | |
CN101908923B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20171013 |
|
WD01 | Invention patent application deemed withdrawn after publication |