CN116185929A - 主从设备间通讯的通讯转换装置 - Google Patents
主从设备间通讯的通讯转换装置 Download PDFInfo
- Publication number
- CN116185929A CN116185929A CN202211627309.4A CN202211627309A CN116185929A CN 116185929 A CN116185929 A CN 116185929A CN 202211627309 A CN202211627309 A CN 202211627309A CN 116185929 A CN116185929 A CN 116185929A
- Authority
- CN
- China
- Prior art keywords
- signal
- slave
- slave device
- response
- operation request
- 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
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 116
- 238000004891 communication Methods 0.000 title claims abstract description 43
- 230000004044 response Effects 0.000 claims abstract description 98
- 238000012545 processing Methods 0.000 claims abstract description 97
- 238000013507 mapping Methods 0.000 claims description 75
- 230000011664 signaling Effects 0.000 claims 1
- 230000003993 interaction Effects 0.000 abstract description 4
- 238000000034 method Methods 0.000 description 28
- 230000008569 process Effects 0.000 description 21
- 230000006870 function Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种主从设备间通讯的通讯转换装置。该装置包括:连接至少一个主设备的主设备协议接口、连接从设备的从设备协议接口,还包括:转换控制器;转换控制器,用于对主设备的操作请求信号进行信号转换处理,形成从设备驱动信号发送至从设备;还用于对从设备反馈的应答信号进行应答驱动信号填充并反馈至主设备。通过转换控制器将主设备的操作请求信号转换为使从设备可以响应操作请求功能的从设备驱动信号,再根据从设备反馈的应答信号进行应答驱动信号填充并反馈至主设备。为主设备信号及从设备信号的自动转换及生成提供了支持,实现了通讯协议不同且数据位宽相同的主设备及从设备之间的数据交互。
Description
技术领域
本发明涉及通信协议转换技术领域,尤其涉及一种主从设备间通讯的通讯转换装置。
背景技术
TileLink是一种芯片级互连标准,可为多个主设备提供对内存和其他从设备的一致的(coherent)内存映射访问。Tilelink被设计用于片上装置(SoC),以连接通用多转换控制器、协转换控制器、加速器、DMA引擎以及简单或复杂的设备,它使用快速可扩展互连以提供低延迟和高吞吐量数据搬运;Tilelink总线协议包括三种子协议,从功能由少至多、结构由简至繁分别为Tilelink无缓存轻量级子协议(Tilelink-UL)、Tilelink无缓存重量级子协议(Tilelink-UH)和Tilelink缓存支持级协议(Tilelink-C)。Wishbone总线通过在IP核之间建立一个通用接口完成互连。可以用于在软核、固核以及硬核之间进行互联,其结构简单而紧凑,支持大端和小端的数据格式。
由于Wishbone总线逻辑清晰易懂、结构简单紧凑,因此在许多对于数据读写时序要求不严格的场景中仍有较多使用。而Tilelink总线由于其较为完备的功能、可靠的性能,在多种场合中已有愈来愈多的应用。但是,目前对于Tilelink总线与Wishbone总线的转接资料较少,技术领域存在一定空白,因此有必要提出一种泛用的Tilelink与Wishbone总线转换方法,以供实际应用中Tilelink接口设备与Wishbone接口设备的互连。
发明内容
本发明提供了一种主从设备间通讯的通讯转换装置,以实现同位宽、非簇发模式下主从设备间的通讯转换。
本发明的一方面,提供了连接至少一个主设备的主设备协议接口、连接从设备的从设备协议接口,还包括:转换控制器;
所述转换控制器,用于对主设备的操作请求信号进行信号转换处理,形成从设备驱动信号发送至从设备;还用于对所述从设备反馈的应答信号进行应答驱动信号填充并反馈至所述主设备。
本发明实施例的技术方案,装置包括:连接至少一个主设备的主设备协议接口、连接从设备的从设备协议接口,还包括:转换控制器;转换控制器,用于对主设备的操作请求信号进行信号转换处理,形成从设备驱动信号发送至从设备;还用于对从设备反馈的应答信号进行应答驱动信号填充并反馈至主设备。通过转换控制器将主设备的操作请求信号转换为使从设备可以响应操作请求功能的从设备驱动信号,再根据从设备反馈的应答信号进行应答驱动信号填充并反馈至主设备。为主设备信号及从设备信号的自动转换及生成提供了支持,实现了通讯协议不同且数据位宽相同的主设备及从设备之间的数据交互。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种主从设备间通讯的通讯转换装置的结构示意图;
图2是本发明实施例一提供的一种主从设备间通讯的通讯转换装置在读/写操作时的示例时序图;
图3为本发明实施例一提供的一种主从设备间通讯的通讯转换装置在原子操作时的示例时序图;
图4是本发明实施例一提供的一种主从设备间通讯的通讯转换装置在当前操作请求信号不满足从设备处理条件情况的示例时序图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供的一种主从设备间通讯的通讯转换装置的结构框图,该***可适用于同位宽、非簇发模式下主从设备间的通讯转换情况,如图1所示,该主从设备间通讯的通讯转换装置10包括:连接至少一个主设备的主设备协议接口11、连接从设备的从设备协议接口12,还包括:转换控制器13。其中,主设备协议可以为Tilelink-UH协议,从设备协议可以为Wishbone协议,主设备与从设备的数据位宽相同,并且均处于非簇发模式。其中,转换控制器13中包括:主设备输入信号缓冲区、对各输入的信号进行同数据位宽映射的同数据位宽区、主设备输出信号缓冲区、控制模块区、从设备输出信号缓冲区、从设备输入信号缓冲区、检错区(其中,检错区为非必须配置的),箭头表示各信号的传送。
需要知道的是,同位宽可以理解为主设备及从设备的数据位宽相同,主设备发送一次操作请求时,从设备可以通过一次处理来响应主设备发送的操作请求。如:主、从设备的数据位宽均以2m表示,其中,m为一个常数,非簇发模式中Tilelink协议中A通道的用于表示操作大小的对数的信号(a_size)小于等于m(即a_size≤m)。
其中,转换控制器13,用于对主设备的操作请求信号进行信号转换处理,形成从设备驱动信号发送至从设备;还用于对从设备反馈的应答信号进行应答驱动信号填充并反馈至主设备。
在本实施例中,主设备可以理解为有操作需求的设备。当前操作请求信号可以理解为主设备需要从设备进行操作而生成的请求,即通过A通道接收的信号。从设备驱动信号可以理解为对从设备进行驱动,使从设备可以完成相应功能的信号。从设备可以理解为完成操作请求对应功能的设备。应答信号可以理解为从设备用于告知已经处理完操作请求的信号。应答驱动信号可以理解为用于向主设备反馈处理结果的信号。
具体的,转换控制器13可以接收主设备的当前操作请求信号,并对主设备的操作请求信号进行信号转换处理,形成可以驱动从设备响应操作请求信号中对应的功能的从设备驱动信号,并将从设备驱动信号发送至从设备,以激活从设备进行响应。当接收到从设备处理完成时反馈的应答信号后,对从设备反馈的应答信号进行应答驱动信号填充并反馈至主设备。
本发明实施例的技术方案,装置包括:连接至少一个主设备的主设备协议接口、连接从设备的从设备协议接口,还包括:转换控制器;转换控制器,用于对主设备的操作请求信号进行信号转换处理,形成从设备驱动信号发送至从设备;还用于对从设备反馈的应答信号进行应答驱动信号填充并反馈至主设备。通过转换控制器将主设备的操作请求信号转换为使从设备可以响应操作请求功能的从设备驱动信号,再根据从设备反馈的应答信号进行应答驱动信号填充并反馈至主设备。为主设备信号及从设备信号的自动转换及生成提供了支持,实现了通讯协议不同且数据位宽相同的主设备及从设备之间的数据交互。
优选的,转换控制器13,包括:
主信号接收模块,用于在满足信号接收条件时,接收主设备输入信号缓冲区中输出的当前操作请求信号。
在本实施例中,信号接收条件可以理解为可以进行信号接收的条件,可以包括:主设备的握手信号置高且从设备处于空闲状态。主设备输入信号缓冲区可以理解为用于存储主设备的当前操作请求信号的区域。
需要知道的是,主设备使用Tilelink-UH协议,Tilelink-UH协议包括A、D通道,即主设备通过A、D通道进行信号发送及接收。主设备的当前操作请求信号通过A通道信号进行发送时,通常A通道接口信号中的握手信号置高(即a_valid=1)以表示有当前操作请求信号。
具体的,主信号接收模块可以在满足信号接收条件(即主设备A通道中的握手信号置高且从设备处于空闲状态)时,接收主设备输入信号缓冲区中输出的当前操作请求信号。为了避免当前操作请求信号的丢失,主信号接收模块还可以对当前操作请求信号进行存储处理。
示例性的,主设备的通讯协议Tilelink-UH的A通道接口信号可以包括:a_opcode(操作码)、a_param(参数码)、a_size(操作大小的对数)、a_source(主设备的ID)、a_address(地址)、a_mask(数据掩码)、a_data(数据)、a_corrupt(数据异常)、a_valid(通道握手信号)及a_ready(通道握手信号)。主设备的通讯协议Tilelink-UH的D通道接口信号可以包括:d_opcode(操作码)、d_param(参数码)、d_size(操作大小的对数)、d_source(主设备的ID)、d_sink(从设备的ID)、d_data(数据)、d_corrupt(数据异常)、d_denied(访问拒绝)、d_valid(通道握手信号)及d_ready(通道握手信号)。从设备的通讯协议Wishbone接口信号可以包括:cyc(总线周期信号)、stb(选通信号)、we(写使能信号)、sel(字节选择信号)、addr(地址)、data_wr(输出数据)、data_rd(读入数据)、ack(操作成功信号)及err(操作失败信号)。
主信号处理模块,用于在当前操作请求信号满足从设备处理条件时,根据预设的同数据位宽映射信息表,处理当前操作请求信号,获得相应的从设备驱动信号。
本实施例中,从设备处理条件可以理解为从设备当前不存在其他处理中的操作请求信号(即从设备处于空闲状态),且所接收当前操作请求信号的数据无误。同数据位宽映射信息表可以理解为用于主从设备同数据位宽时进行信号值确定的表。
具体的,主信号处理模块可以在当前操作请求信号满足从设备处理条件时,即当前不存在其他处理中的操作请求信号,且所接收当前操作请求信号的数据无误或者所接收当前操作请求信号支持从设备通讯协议时,可以从预设的同数据位宽映射信息表,确定出当前操作请求信号中包括的各信号对应的映射值,进而可以根据各映射值获得该当前操作请求信号对应的从设备驱动信号。
示例性的,可以给出同数据位宽映射信息表,如表1所示:
表1:同数据位宽映射信息表
PY22DX47818FNPE
其中,表1中的a_opcode=4对应为GET操作、a_opcode=0对应为PullFullData操作、a_opcode=1对应为PullPartialData操作、a_opcode=2对应为ArithmeticData操作、a_opcode=3对应为LogicalData操作,a_opcode=5对应为Intent操作。操作C(*)表示对信号*的自定义转化方式,这种转化方式与具体的应用场景有关。例如:在模块A中使用的地址空间编码为0x00~0xff,但在模块A所集成的芯片上为其分配的地址空间编码为0x1000~0x10ff,那么转化方式C可以为C(a_address)=a_address-0x1000。A||B表示信号A和信号B的逻辑或。err_detec(通讯转换装置中包含的检错模块)可以用于检验Tilelink的一拍应答数据是否出错,非必须模块。Fa(A,B)表示ArithmeticData操作,Fl(A,B)表示LogicalData操作。
示例性的,可以给出ArithmeticData中的计算操作(Fa(A,B))对应的操作表,如表2所示:
表2:ArithmeticData中的计算操作对照表
示例性的,可以给出LogicalData中的计算操作(Fl(A,B))对应的操作表,如表3所示:
表3:LogicalData中的计算操作对照表
Fa(A,B) | 描述 | |
d_param=0 | MIN(A,B) | 求A、B的有符号最小值 |
d_param=1 | MAX(A,B) | 求A、B的有符号最大值 |
d_param=2 | MINU(A,B) | 求A、B的无符号最小值 |
d_param=3 | MAXU(A,B) | 求A、B的无符号最大值 |
d_param=4 | A+B | 求A、B的和 |
Fl(A,B) | 描述 | |
d_param=0 | XOR(A,B) | 求A、B的按位异或值 |
d_param=1 | OR(A,B) | 求A、B的按位或值 |
d_param=2 | AND(A,B) | 求A、B的按位与值 |
d_param=3 | SWAP(A,B) | 交换A、B |
其中,表2及表3中A=a_data,a_address对应的从设备地址C(a_address)中保存的数据为B。对于Fl(A,B)=SWAP(A,B)进行示例性解释:主设备发送的操作请求信息中a_param=3,需要进行交换逻辑原子操作,a_data=A,C(a_address)中保存的数据为B;那么本次请求的结果为C(a_address)中保存的数据变为A,并且本次请求的应答数据d_data为B,相当于完成数据A,B的交换。
从信号发送模块,用于将从设备驱动信号存储至从设备输出信号缓冲区,并在满足从信号输出条件时,通过从设备协议接口12向从设备发送从设备驱动信号。
在本实施例中,从设备输出信号缓冲区可以理解为用于存储从设备驱动信号的区域。从信号输出条件可以理解为用于从设备驱动信号输出的条件,可以包括已经生成从设备驱动信号。
具体的,从信号发送模块可以将从设备驱动信号存储至从设备输出信号缓冲区,并判断当前是否满足从信号输出条件,在满足从信号输出条件时,通过从设备协议接口12向从设备发送从设备驱动信号。
从信号处理模块,用于接收从设备输入信号缓冲区输入的从设备应答信号,并根据同数据位宽映射信息表对从设备反馈的应答信号进行应答驱动信号填充。
具体的,从信号处理模块可以接收从设备输入信号缓冲区输入的从设备应答信号,可以按照同数据位宽映射信息表中每一项对应的规则对应答驱动信号进行填充。
主信号发送模块,用于将填充后的应答驱动信号存储至主设备输出信号缓冲区,并在满足主信号输出条件时,通过主设备协议接口11反馈至主设备。
在本实施例中,主信号输出条件可以理解为向主设备发送信号的条件。
具体的,主信号发送模块可以将填充后的应答驱动信号存储至主设备输出信号缓冲区,判断是否满足主信号输出条件,如主设备是否将握手信号置高,当在满足主信号输出条件时,通过主设备协议接口11将应答驱动信号反馈至主设备。
进一步的,主信号处理模块,包括:
类型确定单元,用于解析当前操作请求信号所属的操作类型,根据同数据位宽映射信息表及操作类型,确定当前操作请求信号对应的信号转换映射项,其中,操作类型包括:读/写操作以及原子操作。
在本实施例中,操作类型可以理解为主设备需要从设备进行操作的类型的分类,可以包括:读/写操作类型、原子操作类型。信号转换映射项可以理解为映射信息表中驱动从设备完成相应操作的信号项。
具体的,类型确定单元可以根据当前操作请求信号中包括的操作码的值(a_opcode)确定操作请求信号所属的操作类型,当a_opcode=4、0或1时,对应为读/写操作类型,当a_opcode=2或3时,对应为原子操作类型。根据同数据位宽映射信息表,确定出该操作类型下对应的需要进行修改才可使从设备进行响应的信号,确定出信号转换映射项。
第一转换单元,用于当当前操作请求信号的操作类型为读/写操作时,基于信号转换映射项,采用第一转换方式转换当前操作请求信号形成从设备驱动信号。
在本实施例中,第一转换方式可以理解为在读/写操作时操作请求信号形成驱动信号的方式。
具体的,第一转换单元可以根据同数据位宽映射信息表中操作类型为读/写操作项对应的映射规则,基于信号转换映射项对从设备驱动信号进行赋值,将当前操作请求信号形成从设备驱动信号。
第二转换单元,用于当当前操作请求信号的操作类型为原子操作时,基于信号转换映射项,采用第二转换方式转换当前操作请求信号形成从设备驱动信号。
在本实施例中,第二转换方式可以理解为在原子操作时操作请求信号形成驱动信号的方式。
具体的,第二转换单元可以根据同数据位宽映射信息表中操作类型为原子操作项对应的映射规则,基于信号转换映射项对从设备驱动信号进行赋值,将当前操作请求信号形成驱动信号。
其中,第一转换单元,具体用于:
a1、确定读/写操作类型下对应的第一待转换项。
在本实施例中,第一待转换项可以理解为读/写操作类型下需要进行变更的信号项。
具体的,当第一转换单元通过操作请求信号中的操作码确定本次操作请求对应为读/写操作类型时(即a_opcode=4、0或1时),第一转换单元可以通过查表的形式确定出读/写操作对应的第一转换项。
b1、从信号转换映射项中确定各第一待转换项对应的第一信号转换值。
在本实施例中,第一信号转换值可以理解为映射信息表中设定的第一待转换项对应的值。
具体的,第一转换单元可以从信号转换映射项中包括的值作为各第一待转换项对应的第一信号转换值。
示例性的,根据映射信息表可以确定出读/写操作类型下的信号转换映射项中第一待转换项可以为cyc和stb信号,对应的第一信号转换值均为1。
c1、将第一待转换项作为从设备的第一驱动项,形成包含各第一信号转换值的从设备驱动信号。
在本实施例中,第一驱动项可以理解为用于激活从设备完成操作请求的信号项。
具体的,第一转换单元可以将第一待转换项作为从设备的第一驱动项,将第一驱动项及对应的各第一信号转换值共同作为从设备驱动信号。
其中,第二转换单元,具体用于:
a2、确定原子操作类型下对应的第二待转换项,原子操作为读原子操作或写原子操作。
在本实施例中,第二待转换项可以理解为原子操作类型下需要进行变更的信号项。读原子操作可以理解为读取数据的操作。写原子操作可以理解为将计算后的结果数据写入的操作。
具体的,当第二转换单元通过操作请求信号中的操作码确定本次操作请求对应为原子操作类型时(即a_opcode=2或3时),第二转换单元可以通过查表的形式确定出原子操作对应的第二待转换项。
b2、从信号转换映射项中确定各第二待转换项对应的第二信号转换值。
在本实施例中,第二信号转换值可以理解为映射信息表中设定的第二待转换项对应的值。
具体的,第二转换单元可以从信号转换映射项中包括的值作为各第一待转换项对应的第一信号转换值。
示例性的,根据映射信息表可以确定出原子操作类型下的信号转换映射项中第二待转换项可以为cyc、stb及we信号,对应的第二信号转换值分别为1、1及0。
c2、将第二待转换项作为从设备的第二驱动项,形成包含各第二信号转换值的从设备驱动信号。
在本实施例中,第二驱动项可以理解为用于激活从设备完成操作请求的信号项。
具体的,第二转换单元可以将第二待转换项作为从设备的第二驱动项,将第二驱动项及对应的各第二信号转换值共同作为从设备驱动信号。
进一步的,从信号处理模块,包括:
读处理单元,用于如果发送至从设备的从设备驱动信号用于读处理,则接收从设备反馈的读处理应答信号,并根据同数据位宽映射信息表对读处理应答信号进行应答驱动信号填充,获得读处理应答填充信号。
在本实施例中,读处理应答填充信号可以理解为读取的数据对应的应答填充信号。
具体的,如果发送至从设备的从设备驱动信号用于读处理,读处理单元在接收到从设备响应完成后反馈的读处理应答信号后,可以对主设备协议接口端的D通道的输出信号进行驱动,按照映射信息表中每一项对应的规则对从设备读处理后的结果进行应答驱动信号的填充,获得读处理应答填充信号。
写处理单元,用于如果发送至从设备的从设备驱动信号用于写处理,则接收从设备反馈的写处理应答信号,并根据同数据位宽映射信息表对写处理应答信号进行应答驱动信号填充,获得写处理应答填充信号。
在本实施例中,写处理应答填充信号可以理解为向相应地址写入的数据对应的应答填充信号。
具体的,如果发送至从设备的从设备驱动信号用于写处理,写处理单元在接收到从设备响应完成后反馈的写处理应答信号后,可以对主设备协议接口端的D通道的输出信号进行驱动,按照映射信息表中每一项对应的规则确定从设备写处理后的结果进行应答驱动信号的填充。如对d_corrupt和d_denied进行填充。
进一步的,主信号发送模块,还用于:
当当前操作请求信号的操作类型为原子操作且原子操作为读原子操作时,在满足主信号输出条件后,忽略通过主设备协议接口反馈至主设备的操作。
需要知道的是,在进行原子操作时,首先可以驱动从设备进行读处理,将操作请求信号中包括的目标地址的数据进行读出,再与操作请求信号中的数据进行运算,可以驱动从设备进行写处理,将计算结果对目标地址中的内容进行替换。
具体的,当操作请求信号的操作类型为原子操作且原子操作为读原子操作时,后续还要进行写原子操作,则不能直接进行填充后应答驱动信号到主设备的反馈操作,主信号发送模块可以忽略填充后应答驱动信号到主设备的反馈信号,直到完成写原子操作,才可以继续执行填充后应答驱动信号到主设备的反馈操作。
进一步的,主信号处理模块,还用于:
a3、基于读处理应答填充信号中的数据及当前操作请求信号中的数据进行原子操作运算,获得原子运算结果。
本实施例中,原子操作运算可以理解为操作请求信号中包括的运算方式。原子运算结果可以理解为进行原子操作运算的计算结果。
具体的,主信号处理模块可以基于读处理应答填充信号中读出的目标地址下的数据以及操作请求信号中的数据,对操作请求信号中包括的用于指示原子操作运算类型的信号(d_param)进行解析,确定出对应的原子操作运算,其中,原子操作运算类型如表3及表2所示,转换控制器可以对读处理应答填充信号中的数据及操作请求信号中的数据进行原子操作运算,获得原子运算结果。
b3、基于原子运算结果构成写原子操作的当前操作请求信号,并发送至主信号接收模块。
具体的,主信号处理模块可以基于原子运算结果构成写原子操作的操作请求信号,该操作请求信号是用于将原子运算结果写回原目标地址,以使主设备可以通过原目标地址读取原子运算结果。并将当前操作请求信号发送至主信号接收模块,继续执行后续步骤。
可选的,转换控制器,还包括:
信号拒绝处理模块,用于在当前操作请求信号不满足从设备处理条件时,根据同数据位宽映射信息表中对应的执行策略,生成当前操作请求信号的拒绝应答驱动信号,并将拒绝应答驱动信号发送至主信号发送模块。
在本实施例中,执行策略可以理解为需要对相应信号进行处理的策略。拒绝应答驱动信号可以理解为用于告知主设备对操作请求信号进行拒绝的驱动信号。
具体的,当操作请求信号不满足从设备处理条件即所接收操作请求信号的数据有误、所接收操作请求信号不支持从设备通讯协议或操作请求信号为Intent时,信号拒绝处理模块可以根据同数据位宽映射信息表中与该当前操作请求信号对应的执行策略,确定出当前操作请求信号对应的主设备协议接口D通道中对应信号的值,从而生成操作请求信号的拒绝应答驱动信号,并将拒绝应答驱动信号发送至主信号发送模块。
进一步的,信号拒绝处理模块,具体用于:
a4、根据执行策略,确定当前操作请求信号对应的拒绝信号转换映射项。
在本实施例中,拒绝信号转换映射项可以理解为D通道中用于表示拒绝操作请求信号的项。
具体的,信号拒绝处理模块可以根据执行策略确定出D通道中用于表示拒绝操作请求信号的项,即确定出确定操作请求信号对应的拒绝信号转换映射项。
b4、基于拒绝信号转换映射项,转换当前操作请求信号形成拒绝应答驱动信号。
具体的,信号拒绝处理模块可以基于拒绝信号转换映射项以及映射信息表中表示拒绝时拒绝信号转换映射项的值,对拒绝信号转换映射项进行赋值,对操作请求信号进行转换,形成拒绝应答驱动信号。
c4、将拒绝应答驱动信号发送至主信号发送模块。
具体的,信号拒绝处理模块将将拒绝应答驱动信号发送至主信号发送模块。
本发明实施例的技术方案,通过主信号接收模块在满足信号接收条件时,接收主设备输入信号缓冲区中输出的当前操作请求信号,通过主信号处理模块中的类型确定单元确定操作请求信号所属的操作类型,针对不同操作类型按照不同的转换方式,确定出映射信息表中对应的信号转换映射项,从而得到由驱动项及相应信号转换值生成的从设备驱动信号,通过从信号发送模块将所述从设备驱动信号存储至从设备输出信号缓冲区,并在满足从信号输出条件时,通过从设备协议接口向从设备发送所述从设备驱动信号以对从设备进行激活。在从信号处理模块接收到从设备的应答信号后,按照同数据位宽映射信息表中设定的规则对相应的信号进行驱动,并对应答驱动信号进行填充,主信号发送模块通过所述主设备协议接口将填充后的应答驱动信号反馈至所述主设备。当操作类型为原子操作时,通过从信号处理模块对应答信号进行了读处理和写处理的划分,通过主信号发送模块将写处理应答信号填充的应答驱动信号反馈至主设备。在当前操作请求信号不满足从设备处理条件时,通过信号拒绝处理模块生成拒绝应答驱动信号,以使后续各模块可以完成拒绝的操作,对不同操作类型下信号的转换过程进行了补充。通过设定的映射信息表为主从设备间的信号转换提供了支持,实现了主设备信号及从设备信号的自动转换,实现了通讯协议不同的主设备及从设备之间的数据交互以及原子操作,满足了主设备多样化的需求的响应。
示例性的,沿用上述的示例性描述中的符号,在满足从设备处理条件时(a_corrupt=0),通过时序形式对主设备的当前操作请求信息类型为读/写操作情况下,本申请的实现过程进行示例性描述(d_param、d_sink可固定为一个定值,不参与驱动信号的确定过程),图2为本发明实施例一提供的一种主从设备间通讯的通讯转换装置在读/写操作时的示例时序图。
如图2所示,clock表示时钟信号,在主设备满足从设备处理条件时发送数据无错误(a_corrupt=0)的情况下,时序波形图如下。(其中,a_*表示除图2中所示的A通道信号中剩余的所有信号,d_*表示除图2中D通道剩余的所有信号,wb_*out表示除图2中从端(Wishbone端,后续简称WB端)剩余的所有输出信号,wb_*in表示除图4中WB端剩余的所有输入信号),双虚线表示等待主设备接收应答过程消耗的若干时钟周期(最小消耗可为0周期),其中,双虚线1表示转换控制器接收主设备请求后的处理过程;双虚线2表示从设备的处理过程;双虚线3表示转换控制器接收从设备应答后的处理过程;双虚线4表示转换控制器等待主设备接收应答。当收到主设备的操作请求信号(a_valid=1,即图中a_valid项为高时)且未进行其他请求处理时,按照同数据位宽映射信息表中对应的规则首先将可以对信号d_opcode、d_size、d_source、we、sel、addr和data_wr进行驱动,拉高a_ready表示请求已接收,第一驱动项及对应的第一信号转换值为cyc=1和stb=1,将cycy和stb拉高以激活从设备,待从设备应答(ack=1)时,按照映射信息表中的每项对应的映射规确定d_data、d_corrupt及d_denied,并拉低cyc和stb以关闭从设备。将确定后的D通道信号通过主设备协议接口反馈至主设备,将d_valid拉高表示对主设备请求的应答,待主设备接收应答(d_ready=1)时,表示请求完成。
示例性的,沿用上述的示例性描述中的符号,在主设备满足从设备处理条件时(a_corrupt=0),通过时序形式对主设备的操作请求信息类型为原子操作情况下,本申请的实现过程进行示例性描述(d_param、d_sink可固定为一个定值,不参与从设备驱动信号的获得过程),图3为本发明实施例一提供的一种主从设备间通讯的通讯转换***在原子操作时的示例时序图。
如图3所示,clock表示时钟信号,在主设备满足从设备处理条件时发送数据无错误(a_corrupt=0)的情况下,时序波形图如下。(其中,a_*表示除图3中所示的A通道信号中剩余的所有信号,d_*表示除图4中D通道剩余的所有信号,wb_*out表示除图3中从端(Wishbone端,后续简称WB端)剩余的所有输出信号,wb_*in表示除图3中WB端剩余的所有输入信号),双虚线表示等待主设备接收应答过程消耗的若干时钟周期(最小消耗可为0周期),其中,双虚线1表示转换控制器接收主设备请求后的处理过程;双虚线2表示从设备的读处理过程;双虚线3表示转换控制器13进行原子操作运算,获得原子运算结果的过程;双虚线4表示从设备的写处理过程;双虚线5表示转换控制器13接收从设备应答信号后的处理;双虚线6表示转换控制器13等待主设备接收应答。当收到主设备的操作请求信号(a_valid=1,即图中a_valid项为高时)且未进行其他请求处理时,按照给定映射信息表中对应的规则首先将可以对信号d_opcode、d_size、d_source、sel和addr进行驱动,拉高a_ready表示请求已接收,第二驱动项及对应的第二信号转换值为cyc=1、stb=1及we=0,将cyc和stb拉高以激活从设备,we置0以激活从设备读取目标地址的内容,待从设备应答(ack=1)时,按照映射信息表中的每项对应的映射规则对信号d_data和d_corrupt进行处理,并拉低cyc和stb以关闭从设备。基于读处理应答信号中的数据及操作请求信号中的数据进行原子操作运算,获得原子运算结果并按照同数据位宽映射信息表中包括的映射规则对信号data_wr进行驱动。将cyc和stb拉高以激活从设备,按照同数据位宽映射信息表中的每项对应的映射规将原子运算结果写回操作请求信号中相应的目标地址,待从设备应答(ack=1)时,并拉低cyc和stb以关闭从设备,按照同数据位宽映射信息表中的每项对应的映射规则对d_denied进行驱动。将确定后的D通道信号作为反馈信号通过主设备协议接口反馈至主设备,将d_valid拉高表示对主设备请求的应答,待主设备接收应答(d_ready=1)时,表示请求完成。
示例性的,沿用上述的示例性描述中的符号,通过时序形式对主设备发送数据有误(可以通过a_corrupt=1确定出数据有误)或者请求为Intent(即a_opcode=5)情况下,即操作请求信号不满足从设备处理条件时本申请的实现过程进行示例性描述(d_param、d_sink可固定为一个定值,不参与从设备驱动信号的获得过程),图4为本发明实施例一提供的一种主从设备间通讯的通讯转换装置在操作请求信号不满足从设备处理条件情况的示例时序图。
如图4所示,clock表示时钟信号,双虚线表示等待主设备接收应答过程消耗的若干时钟周期(最小消耗可为0周期),当收到主设备的操作请求信号(a_valid=1,即图中a_valid项为高时)且未进行其他请求处理时,根据同数据位宽映射信息表中对应的执行策略首先将可以对D通道信号d_opcode、d_size、d_source、d_data、d_corrupt和d_denied进行驱动(即d_opcode=2、d_size=a_size、d_source=a_source、d_data可以为任意且d_corrupt=0),拒绝信号转换映射项即为将d_denied、d_valid及a_ready赋值为1,拒绝应答驱动信号则为d_denied=1(表示拒绝访问),将d_denied拉高,并拉高a_ready表示请求已经接收,再将d_valid拉高(即图中d_valid=1)表示对主设备请求的应答,待主设备接收应答(即图中d_ready=1)时,表示请求的完成(拒绝)。
Claims (10)
1.一种主从设备间通讯的通讯转换装置,其特征在于,包括:连接至少一个主设备的主设备协议接口、连接从设备的从设备协议接口,还包括:转换控制器;
所述转换控制器,用于对主设备的操作请求信号进行信号转换处理,形成从设备驱动信号发送至从设备;还用于对所述从设备反馈的应答信号进行应答驱动信号填充并反馈至所述主设备。
2.根据权利要求1所述的装置,其特征在于,所述转换控制器,包括:
主信号接收模块,用于在满足信号接收条件时,接收主设备输入信号缓冲区中输出的当前操作请求信号;
主信号处理模块,用于在所述当前操作请求信号满足从设备处理条件时,根据预设的同数据位宽映射信息表,处理所述当前操作请求信号,获得相应的从设备驱动信号;
从信号发送模块,用于将所述从设备驱动信号存储至从设备输出信号缓冲区,并在满足从信号输出条件时,通过从设备协议接口向从设备发送所述从设备驱动信号;
从信号处理模块,用于接收从设备输入信号缓冲区输入的从设备应答信号,并根据所述同数据位宽映射信息表对所述从设备反馈的应答信号进行应答驱动信号填充;
主信号发送模块,用于将填充后的应答驱动信号存储至主设备输出信号缓冲区,并在满足主信号输出条件时,通过所述主设备协议接口反馈至所述主设备。
3.根据权利要求2所述的装置,其特征在于,所述主信号处理模块,包括:
类型确定单元,用于解析所述当前操作请求信号所属的操作类型,根据所述同数据位宽映射信息表及所述操作类型,确定所述当前操作请求信号对应的信号转换映射项,其中,所述操作类型包括:读/写操作以及原子操作;
第一转换单元,用于当所述当前操作请求信号的操作类型为读/写操作时,基于所述信号转换映射项,采用第一转换方式转换所述当前操作请求信号形成所述从设备驱动信号。
第二转换单元,用于当所述当前操作请求信号的操作类型为原子操作时,基于所述信号转换映射项,采用第二转换方式转换所述当前操作请求信号形成所述从设备驱动信号。
4.根据权利要求3所述的装置,其特征在于,所述第一转换单元,具体用于:
确定所述读/写操作类型下对应的第一待转换项;
从所述信号转换映射项中确定各所述第一待转换项对应的第一信号转换值;
将所述第一待转换项作为从设备的第一驱动项,形成包含各所述第一信号转换值的从设备驱动信号。
5.根据权利要求3所述的装置,其特征在于,所述第二转换单元,具体用于:
确定原子操作类型下对应的第二待转换项,所述原子操作为读原子操作或写原子操作;
从所述信号转换映射项中确定各所述第二待转换项对应的第二信号转换值;
将所述第二待转换项作为从设备的第二驱动项,形成包含各所述第二信号转换值的从设备驱动信号。
6.根据权利要求3所述的装置,其特征在于,所述从信号处理模块,包括:
读处理单元,用于如果发送至所述从设备的从设备驱动信号用于读处理,则接收所述从设备反馈的读处理应答信号,并根据所述同数据位宽映射信息表对所述读处理应答信号进行应答驱动信号填充,获得读处理应答填充信号;
写处理单元,用于如果发送至所述从设备的从设备驱动信号用于写处理,则接收所述从设备反馈的写处理应答信号,并根据所述同数据位宽映射信息表对所述写处理应答信号进行应答驱动信号填充,获得写处理应答填充信号。
7.根据权利要求6所述的装置,其特征在于,所述主信号发送模块,还用于:
当所述当前操作请求信号的操作类型为原子操作且原子操作为读原子操作时,所述在满足主信号输出条件后,忽略通过所述主设备协议接口反馈至所述主设备的操作。
8.根据权利要求6所述的装置,其特征在于,所述主信号处理模块,还用于:
基于所述读处理应答填充信号中的数据及所述当前操作请求信号中的数据进行原子操作运算,获得原子运算结果;
基于所述原子运算结果构成写原子操作的当前操作请求信号,并发送至所述主信号接收模块。
9.根据权利要求2所述的装置,其特征在于,所述转换控制器,还包括:
信号拒绝处理模块,用于在所述当前操作请求信号不满足从设备处理条件时,根据所述同数据位宽映射信息表中对应的执行策略,生成所述当前操作请求信号的拒绝应答驱动信号,并将所述拒绝应答驱动信号发送至所述主信号发送模块。
10.根据权利要求9所述的装置,其特征在于,所述信号拒绝处理模块,具体用于:
根据所述执行策略,确定所述当前操作请求信号对应的拒绝信号转换映射项;
基于所述拒绝信号转换映射项,转换所述当前操作请求信号形成所述拒绝应答驱动信号;
将所述拒绝应答驱动信号发送至所述主信号发送模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211627309.4A CN116185929B (zh) | 2022-12-16 | 2022-12-16 | 主从设备间通讯的通讯转换装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211627309.4A CN116185929B (zh) | 2022-12-16 | 2022-12-16 | 主从设备间通讯的通讯转换装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116185929A true CN116185929A (zh) | 2023-05-30 |
CN116185929B CN116185929B (zh) | 2024-07-12 |
Family
ID=86435519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211627309.4A Active CN116185929B (zh) | 2022-12-16 | 2022-12-16 | 主从设备间通讯的通讯转换装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116185929B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116800837A (zh) * | 2022-12-16 | 2023-09-22 | 无锡芯光互连技术研究院有限公司 | 主从设备间通讯的通讯转换方法、装置及介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5418925A (en) * | 1992-10-23 | 1995-05-23 | At&T Global Information Solutions Company | Fast write I/O handling in a disk array using spare drive for buffering |
US5596708A (en) * | 1994-04-04 | 1997-01-21 | At&T Global Information Solutions Company | Method and apparatus for the protection of write data in a disk array |
CN102193887A (zh) * | 2010-03-11 | 2011-09-21 | 炬力集成电路设计有限公司 | 多通道桥接器及总线*** |
CN106326056A (zh) * | 2016-08-26 | 2017-01-11 | 中国电子科技集团公司第三十八研究所 | 可重用wishbone总线协议验证平台及其验证方法 |
CN106482080A (zh) * | 2016-12-29 | 2017-03-08 | 广州视声智能股份有限公司 | 一种继电器主从架构*** |
CN108345231A (zh) * | 2018-03-26 | 2018-07-31 | 广州视源电子科技股份有限公司 | 一种功率设备联动控制方法、***及装置 |
CN108490279A (zh) * | 2018-01-26 | 2018-09-04 | 深圳市沃特玛电池有限公司 | 电池管理***的测试***及方法 |
CN109684246A (zh) * | 2018-12-19 | 2019-04-26 | 东莞博力威电池有限公司 | 不同接口协议的设备之间进行数据传输的方法及*** |
CN111817751A (zh) * | 2020-07-31 | 2020-10-23 | 优动能科技(深圳)有限公司 | 一种通信并联测试技术 |
CN112148321A (zh) * | 2019-06-26 | 2020-12-29 | 深圳市航顺芯片技术研发有限公司 | 一种汽车智能电子设备微控制器抗干扰升级***及方法 |
CN112543130A (zh) * | 2020-12-11 | 2021-03-23 | 柯提斯电气(杭州)有限公司 | 一种智能通讯检测***及其通讯方法 |
CN114860640A (zh) * | 2022-04-07 | 2022-08-05 | 湖南艾科诺维科技有限公司 | 用于FPGA与ARM通信的FlexSPI接口驱动方法及*** |
-
2022
- 2022-12-16 CN CN202211627309.4A patent/CN116185929B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5418925A (en) * | 1992-10-23 | 1995-05-23 | At&T Global Information Solutions Company | Fast write I/O handling in a disk array using spare drive for buffering |
US5596708A (en) * | 1994-04-04 | 1997-01-21 | At&T Global Information Solutions Company | Method and apparatus for the protection of write data in a disk array |
CN102193887A (zh) * | 2010-03-11 | 2011-09-21 | 炬力集成电路设计有限公司 | 多通道桥接器及总线*** |
CN106326056A (zh) * | 2016-08-26 | 2017-01-11 | 中国电子科技集团公司第三十八研究所 | 可重用wishbone总线协议验证平台及其验证方法 |
CN106482080A (zh) * | 2016-12-29 | 2017-03-08 | 广州视声智能股份有限公司 | 一种继电器主从架构*** |
CN108490279A (zh) * | 2018-01-26 | 2018-09-04 | 深圳市沃特玛电池有限公司 | 电池管理***的测试***及方法 |
CN108345231A (zh) * | 2018-03-26 | 2018-07-31 | 广州视源电子科技股份有限公司 | 一种功率设备联动控制方法、***及装置 |
CN109684246A (zh) * | 2018-12-19 | 2019-04-26 | 东莞博力威电池有限公司 | 不同接口协议的设备之间进行数据传输的方法及*** |
CN112148321A (zh) * | 2019-06-26 | 2020-12-29 | 深圳市航顺芯片技术研发有限公司 | 一种汽车智能电子设备微控制器抗干扰升级***及方法 |
CN111817751A (zh) * | 2020-07-31 | 2020-10-23 | 优动能科技(深圳)有限公司 | 一种通信并联测试技术 |
CN112543130A (zh) * | 2020-12-11 | 2021-03-23 | 柯提斯电气(杭州)有限公司 | 一种智能通讯检测***及其通讯方法 |
CN114860640A (zh) * | 2022-04-07 | 2022-08-05 | 湖南艾科诺维科技有限公司 | 用于FPGA与ARM通信的FlexSPI接口驱动方法及*** |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116800837A (zh) * | 2022-12-16 | 2023-09-22 | 无锡芯光互连技术研究院有限公司 | 主从设备间通讯的通讯转换方法、装置及介质 |
CN116800837B (zh) * | 2022-12-16 | 2024-07-12 | 无锡芯光互连技术研究院有限公司 | 主从设备间通讯的通讯转换方法、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116185929B (zh) | 2024-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6665810B1 (en) | Interface controller that controls the rate at which data is transfer based on the destination address of the data | |
US8799536B2 (en) | Data processing apparatus, data processing method and computer-readable medium | |
CN114564427B (zh) | 一种ahb总线到i2c总线的总线桥、***及方法 | |
US20200142854A1 (en) | Multilane heterogeneous serial bus | |
CN116185929B (zh) | 主从设备间通讯的通讯转换装置 | |
US20070073824A1 (en) | Apparatus and method for acquiring identification information when a bus reset occurs | |
CN110851388A (zh) | 针对risc-v处理器的调试***及调试信号传输方法 | |
US7430618B2 (en) | Data transfer control device and electronic equipment | |
CN115955518B (zh) | 主从设备间通讯的通讯转换方法、装置及存储介质 | |
CN115913816B (zh) | 一种主从设备间通讯的通讯转换装置及方法 | |
CN116226016A (zh) | 一种i2c接口电路及其控制方法 | |
CN116089343A (zh) | 一种基于axi的数据存储方法、装置、存储介质及设备 | |
CN109154925A (zh) | 通信设备、通信方法、程序和通信*** | |
US7822040B2 (en) | Method for increasing network transmission efficiency by increasing a data updating rate of a memory | |
US20050152386A1 (en) | Successful transactions | |
JP2005504393A (ja) | バス・システムおよびバス・インターフェース | |
CN116800837B (zh) | 主从设备间通讯的通讯转换方法、装置及介质 | |
CN102082798B (zh) | 基于sdio接口的多媒体信息协处理设备及其通信方法 | |
CN111159070A (zh) | 基于ahb总线的标记压缩***和片上*** | |
CN112948303B (zh) | 一种以u.2为传输接口适配服务器的音视频解码设备及方法 | |
CN115827284B (zh) | 片上***、电子组件、电子设备和传输处理方法 | |
CN117938574B (zh) | 一种用于星载设备间通信的SpaceWire总线节点控制器IP核 | |
CN117435534B (zh) | 基于***总线的数据传输电路、方法及处理器 | |
CN116185936B (zh) | 一种spi通信数据收发异常检测控制***及检测方法 | |
CN218632697U (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 |