CN115481078A - 主从式通讯系统及方法 - Google Patents
主从式通讯系统及方法 Download PDFInfo
- Publication number
- CN115481078A CN115481078A CN202110604972.1A CN202110604972A CN115481078A CN 115481078 A CN115481078 A CN 115481078A CN 202110604972 A CN202110604972 A CN 202110604972A CN 115481078 A CN115481078 A CN 115481078A
- Authority
- CN
- China
- Prior art keywords
- chip
- writing
- reading
- master
- data
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- 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/40—Bus structure
- G06F13/4063—Device-to-bus coupling
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Communication Control (AREA)
Abstract
本发明公开一种主从式通讯系统及方法,所述主从式通讯系统包括:主芯片、从芯片及总线,所述从芯片包括寄存器、片上存储、组帧模块以及解析帧模块,所述组帧模块通过所述总线接收所述主芯片发送的总线数据,并将所述总线数据转换为设定的帧格式的数据帧,所述解析帧模块对所述数据帧进行解析,以执行对所述寄存器和/或所述片上存储的读写操作。本发明可灵活选取不同的总线,无需改变从芯片的内部架构。
Description
技术领域
本发明涉及通讯技术领域,具体涉及一种主从式通讯系统及方法。
背景技术
主从式通讯系统通常包括主芯片、从芯片及总线,主芯片及从芯片通过总线进行数据传输,具体地,从芯片一般包括总线接口模块,总线接口模块根据总线协议,例如,I2C总线协议,完成配置寄存器和访问存储空间的,也就是对寄存器及存储空间的读写操作,其中,总线协议完全决定了总线接口的操作,总线协议的选取与从芯片内部的设计绑定,不够灵活,当通讯带宽不满足要求时,一般需要选择另一种总线,对应的,总线协议发生改变,从而导致从芯片的内部设计需要全部调整。
发明内容
本发明的目的是提供一种主从式通讯系统及方法,可灵活选取不同的总线,无需改变从芯片的内部架构。
本发明实施例提供了以下方案:
第一方面,本发明实施例提供一种主从式通讯系统,所述主从式通讯系统包括:主芯片、从芯片及总线,所述从芯片包括寄存器、片上存储、组帧模块以及解析帧模块,所述组帧模块通过所述总线接收所述主芯片发送的总线数据,并将所述总线数据转换为设定的帧格式的数据帧,所述解析帧模块对所述数据帧进行解析,以执行对所述寄存器和/或所述片上存储的读写操作。
在一些可能的实施例中,所述数据帧包括控制命令字符段、地址字符段及长度字符段三个字符段、以及占位字符段、数据字符段以及校验字符段中三个字符段中一个或者多个。
在一些可能的实施例中,所述对所述寄存器读写操作包括写单个寄存器及读单个寄存器,所述读和/或写所述片上存储包括顺序写片上存储及顺序读片上存储。
在一些可能的实施例中,所述对所述寄存器读写操作还包括顺序写多个寄存器、顺序读多个寄存器、乱序写多个寄存器及乱序读多个寄存器。
在一些可能的实施例中,所述对所述片上存储的读写操作还包括写单个片上存储、读单个片上存储、乱序读多个单个片上存储及乱序写多个片上存储。
在一些可能的实施例中,当所述解析帧模块执行对所述寄存器和/或所述片上存储的读操作时,所述解析帧模块向所述组帧模块发送对应的读数据,所述组帧模块将所述读数据加入至所述数据帧后,通过所述总线传送至所述主芯片。
第二方面,本发明实施例提供一种主从式通讯方法,用于实现主芯片与从芯片之间的通讯,所述方法包括:
通过总线接收所述主芯片发送的总线数据;
将所述总线数据转换为设定的帧格式的数据帧;
所述解析帧模块对所述数据帧进行解析,并执行对所述从芯片的寄存器和/或片上存储的读写操作。
在一些可能的实施例中,所述数据帧包括控制命令字符段、地址字符段及长度字符段三个字符段、以及占位字符段、数据字符段以及校验字符段中三个字符段中一个或者多个。
在一些可能的实施例中,所述对所述寄存器和/或所述片上存储的读写操作包括写单个寄存器及读单个寄存器,所述读和/或写所述片上存储包括顺序写片上存储及顺序读片上存储。
在一些可能的实施例中,所述对所述寄存器读写操作还包括顺序写多个寄存器、顺序读多个寄存器、乱序写多个寄存器及乱序读多个寄存器,所述对所述片上存储的读写操作还包括写单个片上存储、读单个片上存储、乱序读多个单个片上存储及乱序写多个片上存储。
本发明与现有技术相比,具有如下的优点和有益效果:
本发明实施例提供的主从式通讯系统及方法通过设定帧格式的数据帧定义了一组统一的帧格式进行主从芯片间通讯,所述帧格式独立于总线协议,使得从芯片设计时,外设接口,也就是组帧模块与内部架构,例如,解析模块、寄存器及片上存储的设计彼此独立,因此,可根据通讯速率要求,灵活选取各种片外总线,而不改变内部架构设计。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的一种主从式通讯系统的功能模块图。
图2是本发明第一实施例提供的数据帧的结构示意图。
图3是本发明第二实施例提供的一种主从式通讯系统的功能模块图。
图4是本发明第三实施例提供的一种主从式通讯系统的功能模块图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明实施例保护的范围。
请参阅图1,图1为本发明第一实施例提供的一种主从式通讯系统100的电路图。通讯系统100包括主芯片10、从芯片20及总线30。主芯片10与从芯片20之间通过总线30进行通讯。
通讯系统100可为低成本的、性能较低嵌入式系统,主芯片10为MCU,从芯片20为外围设备,例如,专用计算的加速芯片,总线30为低速总线,例如,I2C总线、QSPI总线、JTAG总线等。可以理解,通讯系统100也可为高成本、性能较高服务器的系统,主芯片10为CPU,从芯片20为加速卡,通过PCIE通讯。
从芯片20包括寄存器21、片上存储22、组帧模块23以及解析帧模块24。寄存器21与从芯片20的功能相关,用于存储控制类数据,为小段离散的存储空间,存储容量较小,且响应速度较快。片上存储22用于普通数据,为大段连续的存储空间,存储容量较大,且响应速度较慢。
所述组帧模块23通过所述总线30接收所述主芯片10发送的总线数据,并将所述总线数据转换为设定的帧格式的数据帧,所述解析帧模块对所述数据帧进行解析,并执行与所述数据帧对应的对所述寄存器21和/或所述片上存储22的读写操作,从而完成对寄存器21和/或片上存储22的配置及访问。对所述寄存器21和/或所述片上存储22的读写操作至少包括对所述寄存器21的读写操作、对所述片上存储22的读写操作以及对所述寄存器21和所述片上存储22的读写操作。
请一并参阅图2,所述数据帧包括控制命令字符段、地址字符段及长度字符段三个字符段、以及占位字符段、数据字符段以及校验字符段中三个字符段中一个或者多个。
在一个实施例中,一个通用数据帧的结构包括控制命令(CMD)字符段、地址(ADDR)字符段及长度(LEN)字符段占位(DUMMY)字符段、数据(DATA0、DATAN)字符段以及校验字符段,其中,CMD字符段使用1字节,ADDR字符段使用4字节,LEN字符段使用1字节,每一个DATA字符段使用4字节,DUMMY字符段使用任意可配字节数。对于特定的数据帧,包括上述字符段的一部分或者全部,但是至少包括控制命令字符段、地址字符段及长度字符段三个字符段。
具体地,控制命令包括写单个寄存器命令(WrRegSin)、读个寄存器命令(RdRegSin)、顺序写多个寄存器(WrRegSeq)、顺序读多个寄存器(RdRegSeq、乱序写多个寄存器(WrRegRan)、顺序写片上存储(WrRam)、以及顺序读片上存储命令,其中,顺序读片上存储命令包括发送读指令(RdRam)及接收读数据命令(RdRamSeq)。
在一个实施例中,所述对所述寄存器21读写操作包括写单个寄存器及读单个寄存器,其中,写单个寄存器对应的数据帧包括WrRegSin、ADDR、DATA0及校验,读单个寄存器对应的数据帧包括RdRegSin、ADDR、DUMMY及DATA0。所述读和/或写所述片上存储22包括顺序写片上存储及顺序读片上存储,其中,顺序写片上存储对应的数据帧包括WrRam、ADDR、LEN、DATA0、DATAN、及校验,顺序读片上存储对应的数据帧包括发送读指令以及接收读数据,其中,发送读指令对应的数据帧包括RdRam、ADDR、LEN,接收读数据对应的数据帧包括RdRamSeq、ADDR、LEN、DUMMY、DATA0及DATAN。
这里需要说明的是,对寄存器进行读操作时,因寄存器21的响应速度较快,一次命令立刻响应,无需等待,而对片上存储22进行读操作时,因片上存储的响应速度较慢,命令之间需要等待的时间,因此,顺序读片上存储对应的数据帧需包括发送读指令以及接收读数据两个分开的部分,分成两次进行,前半部分发送读指令,后半部分接收读数据,而对寄存器21及片上存储22进行写操作时,为内部数据缓存,也不需要等待,在一个数据帧内即可完成。
所述对所述寄存器21读写操作还包括写顺序写多个寄存器、顺序读多个寄存器、乱序写多个寄存器,其中,顺序写多个寄存器对应的数据帧包括WrRegSeq、ADDR、LEN、DATA0、DATAN、及校验,顺序读多个寄存器对应的数据帧包括RdRegSeq、ADDR、LEN、DUMMY、DATA0及DATAN,乱序写多个寄存器对应的数据帧包括WrRegRan、LEN、ADDR0、DATA0、ADDRN、DATAN、及校验。
当所述解析帧模块24执行对所述寄存器21和/或所述片上存储22的读操作时,所述解析帧模块24向所述组帧模块23发送对应的读数据,所述组帧模块23将所述读数据加入至所述数据帧后,通过所述总线30传送至所述主芯片10。
也就是说,读单个寄存器对应的数据帧中数据(DATA0)字符段、顺序读多个寄存器对应的数据帧中数据(DATA0、DATAN)字符段、以及顺序读片上存储对应的数据帧中的数据(DATA0、DATAN)字符段,是由解析帧模块24发送给组帧模块23的读数据。
另外,上述写单个寄存器、读单个寄存器、顺序写多个寄存器、顺序读多个寄存器、乱序写多个寄存器、顺序写片上存储及顺序读片上存储对应的数据帧的格式均为通用数据帧的所有格式组合中的子集。
可以理解,所述对所述片上存储的读写操作还可以包括乱序读多个寄存器、写单个片上存储、读单个片上存储、乱序读多个单个片上存储及乱序写多个片上存储,对应的数据帧的格式同样为通用数据帧的所有格式组合中的子集,故,在此不再赘述。
另外,考虑到实际读写数据的效率需求以及寄存器21和片上存储22的存储特点,所述对所述寄存器21和/或片上存储22读写操作包括写单个寄存器、读单个寄存器、顺序写多个寄存器、顺序读多个寄存器、乱序写多个寄存器、顺序写片上存储及顺序读片上存储。
请参阅图3,图3为本发明第二实施例提供的一种主从式通讯系统200的电路图。主从式通讯系统200的结构及工作原理与主从式通讯系统100大致相同,包括主芯片10a、从芯片20a及总线30a,其不同之处仅在于,主芯片10a为MCU,从芯片20a为专用硬件加速芯片,总线30a为QSPI总线,对应的,主芯片10a包括QSPI主机接口11a,从芯片20a包括QSPI组帧模块23a。
请参阅图4,图4为本发明第三实施例提供的一种主从式通讯系统300的电路图。主从式通讯系统300的结构及工作原理与主从式通讯系统100大致相同,包括主芯片10b、从芯片20b及总线30b,其不同之处仅在于,主芯片10b为第一FPGA芯片,从芯片20a为第二FPGA芯片,总线30b为JTAG总线,对应的,主芯片10b包括FPGA主机接口11b,从芯片20b包括FPGA组帧模块23b。
基于与前述实施例中同样的发明构思,本发明实施例还提供一种主从式通讯方法,用于实现主芯片10与从芯片20之间的通讯,所述方法包括以下步骤:
步骤S1,通过总线30接收所述主芯片10发送的总线数据。
步骤S2,将所述总线数据转换为设定的帧格式的数据帧。
步骤S3,所述解析帧模块对所述数据帧进行解析,并执行对所述从芯片10的寄存器21和/或片上存储22的读写操作。
所述数据帧包括控制命令字符段、地址字符段及长度字符段三个字符段、以及占位字符段、数据字符段以及校验字符段中三个字符段中一个或者多个。
所述对所述寄存器21和/或所述片上存储22的读写操作包括写单个寄存器及读单个寄存器,所述读和/或写所述片上存储包括顺序写片上存储及顺序读片上存储。
所述对所述寄存器21读写操作还包括顺序写多个寄存器、顺序读多个寄存器、乱序写多个寄存器及乱序读多个寄存器,所述对所述片上存储22的读写操作还包括写单个片上存储、读单个片上存储、乱序读多个单个片上存储及乱序写多个片上存储。
本发明与现有技术相比,具有如下的优点和有益效果:
本发明实施例提供的主从式通讯系统100及方法通过设定帧格式的数据帧定义了一组统一的帧格式进行主从芯片间通讯,所述帧格式独立于总线协议,使得从芯片设计时,外设接口,也就是组帧模块23与内部架构,例如,解析模块24、寄存器21及片上存储22的设计彼此独立,因此,可根据通讯速率要求,灵活选取各种片外总线,而无需改变内部架构设计。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (10)
1.一种主从式通讯系统,所述主从式通讯系统包括:主芯片、从芯片及总线,所述从芯片包括寄存器、片上存储、组帧模块以及解析帧模块,所述组帧模块通过所述总线接收所述主芯片发送的总线数据,并将所述总线数据转换为设定的帧格式的数据帧,所述解析帧模块对所述数据帧进行解析,以执行对所述寄存器和/或所述片上存储的读写操作。
2.根据权利要求1所述的主从式通讯系统,其特征在于,所述数据帧包括控制命令字符段、地址字符段及长度字符段三个字符段、以及占位字符段、数据字符段以及校验字符段中三个字符段中一个或者多个。
3.根据权利要求1所述的主从式通讯系统,其特征在于,所述对所述寄存器读写操作包括写单个寄存器及读单个寄存器,所述读和/或写所述片上存储包括顺序写片上存储及顺序读片上存储。
4.根据权利要求3所述的主从式通讯系统,其特征在于,所述对所述寄存器读写操作还包括顺序写多个寄存器、顺序读多个寄存器、乱序写多个寄存器及乱序读多个寄存器。
5.根据权利要求3所述的主从式通讯系统,其特征在于,所述对所述片上存储的读写操作还包括写单个片上存储、读单个片上存储、乱序读多个单个片上存储及乱序写多个片上存储。
6.根据权利要求5所述的主从式通讯系统,其特征在于,当所述解析帧模块执行对所述寄存器和/或所述片上存储的读操作时,所述解析帧模块向所述组帧模块发送对应的读数据,所述组帧模块将所述读数据加入至所述数据帧后,通过所述总线传送至所述主芯片。
7.一种主从式通讯方法,用于实现主芯片与从芯片之间的通讯,其特征在于,所述方法包括:
通过总线接收所述主芯片发送的总线数据;
将所述总线数据转换为设定的帧格式的数据帧;
所述解析帧模块对所述数据帧进行解析,并执行对所述从芯片的寄存器和/或片上存储的读写操作。
8.根据权利要求7所述的主从式通讯方法,其特征在于,所述数据帧包括控制命令字符段、地址字符段及长度字符段三个字符段、以及占位字符段、数据字符段以及校验字符段中三个字符段中一个或者多个。
9.根据权利要求7所述的主从式通讯方法,其特征在于,所述对所述寄存器和/或所述片上存储的读写操作包括写单个寄存器及读单个寄存器,所述读和/或写所述片上存储包括顺序写片上存储及顺序读片上存储。
10.根据权利要求9所述的主从式通讯方法,其特征在于,所述对所述寄存器读写操作还包括顺序写多个寄存器、顺序读多个寄存器、乱序写多个寄存器及乱序读多个寄存器,所述对所述片上存储的读写操作还包括写单个片上存储、读单个片上存储、乱序读多个单个片上存储及乱序写多个片上存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110604972.1A CN115481078A (zh) | 2021-05-31 | 2021-05-31 | 主从式通讯系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110604972.1A CN115481078A (zh) | 2021-05-31 | 2021-05-31 | 主从式通讯系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115481078A true CN115481078A (zh) | 2022-12-16 |
Family
ID=84418834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110604972.1A Pending CN115481078A (zh) | 2021-05-31 | 2021-05-31 | 主从式通讯系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115481078A (zh) |
-
2021
- 2021-05-31 CN CN202110604972.1A patent/CN115481078A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2767908A1 (en) | Method and system for improving serial port memory communication latency and reliability | |
CN104731746A (zh) | 设备控制器装置 | |
US10990293B2 (en) | Extensible storage system and method | |
CN105786736A (zh) | 一种多芯片级联的方法、芯片和装置 | |
CN116450552B (zh) | 基于i2c总线异步批量读写寄存器的方法及系统 | |
CN111314641B (zh) | 一种高帧频图像的采集存储显示系统及方法 | |
CN116225992A (zh) | 一种支持虚拟化仿真设备的NVMe验证平台及方法 | |
CN204390227U (zh) | 计算设备扩展装置、以及可扩展的计算系统 | |
CN111124985A (zh) | 一种移动终端只读控制方法及装置 | |
CN115481078A (zh) | 主从式通讯系统及方法 | |
CN218068843U (zh) | 一种axi主端口转apb从端口的桥接电路结构及一种soc系统 | |
CN216352286U (zh) | 一种i2c总线的检测装置 | |
CN104572515B (zh) | 跟踪模块、方法、系统和片上系统芯片 | |
CN112835834B (zh) | 数据传输系统 | |
CN110780189B (zh) | 一种基于fpga的sdio接口测试设备与方法 | |
CN107870885A (zh) | 通信系统、装置及方法 | |
CN101847045B (zh) | 一种仪器系统的标准接口方法 | |
US20020174290A1 (en) | Memory accelerator, acceleration method and associated interface card and motherboard | |
CN105739919A (zh) | 资料存取系统及方法 | |
CN112732176B (zh) | 基于fpga的ssd访问方法及装置、存储系统及存储介质 | |
CN113946524B (zh) | 一种基于fpga的读写双口ram系统和方法 | |
CN220137680U (zh) | 一种支持异步通信接口的仿真器 | |
CN114528235B (zh) | 一种基于spi的通信方法、从设备及系统 | |
CN115202257B (zh) | 一种lpc总线协议转换及设备并行控制装置及方法 | |
CN111831226B (zh) | 一种自主输出nvme协议命令加速处理方法 |
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 |