CN112540952B - 具有片内并行接口的片上*** - Google Patents

具有片内并行接口的片上*** Download PDF

Info

Publication number
CN112540952B
CN112540952B CN202011506026.5A CN202011506026A CN112540952B CN 112540952 B CN112540952 B CN 112540952B CN 202011506026 A CN202011506026 A CN 202011506026A CN 112540952 B CN112540952 B CN 112540952B
Authority
CN
China
Prior art keywords
parallel
interface
chip
data
parallel interface
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.)
Active
Application number
CN202011506026.5A
Other languages
English (en)
Other versions
CN112540952A (zh
Inventor
刘锴
宋宁
崔明章
李秦飞
杜金凤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gowin Semiconductor Corp
Original Assignee
Gowin Semiconductor Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Gowin Semiconductor Corp filed Critical Gowin Semiconductor Corp
Priority to CN202011506026.5A priority Critical patent/CN112540952B/zh
Publication of CN112540952A publication Critical patent/CN112540952A/zh
Application granted granted Critical
Publication of CN112540952B publication Critical patent/CN112540952B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Logic Circuits (AREA)
  • Microcomputers (AREA)

Abstract

本发明涉及一种具有片内并行接口的片上***,所述片上***包括通过***总线交互的MCU内核和FPGA模块,其中,利用所述FPGA模块的可编程逻辑资源在片内构建出至少一个并行接口,每个所述并行接口均包括两个以上的并行通道,所述并行通道的数量和每个所述并行通道的数据宽度通过所述MCU内核进行动态配置。所述片上***采用片内设置的并行接口进行数据传输,有望获得较高的传输速率,提高了片上***的应用灵活性,而且所述并行接口的并行通道数量及每个所述并行通道的数据宽度可以根据需要进行动态配置,方便用户使用,便于满足多样化的数据传输需求。

Description

具有片内并行接口的片上***
技术领域
本发明涉及FPGA开发领域,尤其涉及一种具有片内并行接口的片上***。
背景技术
传统FPGA(Field Programmable Gate Array,现场可编程门阵列)和CPU(中央处理器)分立器件的功能和性能越来越难以满足日益庞大、多样化的数据处理需求。为了满足性能、可扩展以及集成的要求,业界提出了综合FPGA和CPU优势的基于FPGA和MCU(Micro-controller Unit,微控制器)实现的片上***(SoC)架构,通过将MCU、存储器、外部设备等与FPGA内核连接起来,能根据不同应用场景自由扩展外部设备,具有良好的扩展性,满足不同应用领域的需求,现已成为一个技术热点。
MCU与外部设备之间的通讯接口包括串行接口和并行接口两种,串行接口采用串行通信方式,通信线路简单,但是数据只能一位一位地传送,传送速度较慢。并行接口采用并行通信方式,在多条数据线上,以字节或者字传输信息,数据同时进行传送,相比同时钟频率下的串行接口,数据的传输更快,而且相比串行数据接口规定的格式,并行数据基本不要求固定的格式,这使得数据传输更加简单,基于该些优点,并行接口在一些需要短距离进行高速度数据传输的场合以及需要操作速度较快的设备时常被采用,可以获得较高的传输速率。
为了优化基于MCU和FPGA实现的片上***设计,提升片上***的数据传输性能,提升片上***的应用灵活性,本发明提出了一种具有片内并行接口的片上***。
发明内容
本发明提供一种具有片内并行接口的片上***,所述片上***基于MCU和FPGA的资源实现,利用片内构建的并行接口,所述片上***可实现较高的传输速率,具有较高的应用灵活性。
本发明提供的具有片内并行接口的片上***,所述片上***包括通过***总线交互的MCU内核和FPGA模块,其中,利用所述FPGA模块的可编程逻辑资源在片内构建出至少一个并行接口,每个所述并行接口均包括两个以上的并行通道,所述并行通道的数量和每个所述并行通道的数据宽度通过所述MCU内核进行动态配置。
可选的,所述并行接口包括与所述***总线连接的总线接口单元,所述总线接口单元通过所述***总线获取所述MCU内核发送的有关所述并行通道的配置信息,并通过所述FPGA模块的可编程逻辑资源配置出各个所述并行通道。
可选的,所述并行接口包括与所述总线接口单元连接的并行接口控制器单元,所述并行接口控制器单元包括多个寄存器,每个所述寄存器的地址均被映射至所述MCU内核的地址存储空间,所述总线接口单元获取的有关所述并行通道的配置信息被映射至相应的寄存器存储。
可选的,所述并行接口包括与各个所述并行通道对应设置的并行通道接口,各个所述并行通道接口按照并行接口协议与所述MCU内核的外部设备通信,所述并行接口控制器单元将存储于各个所述寄存器的信息映射为针对各个所述并行通道接口的配置信息。
可选的,所述并行接口控制器单元包括寄存器读写时序逻辑,所述寄存器读写时序逻辑接收所述总线接口单元输出的寄存器的地址信息以选择相应的寄存器,所述寄存器读写时序逻辑还接收有关所述并行通道的配置信息并映射至对应地址的寄存器。
可选的,所述并行接口控制器单元包括与所述并行接口内的每个所述并行通道对应的并口配置寄存器,所述并口配置寄存器用来存储所述MCU内核分配给对应的并行通道的数据宽度的信息;并且,与同一个所述并行接口对应的并口配置寄存器的数量为所述并行接口中并行通道的数量。
可选的,所述并行接口控制器单元还包括与所述并行接口内的每个所述并行通道对应的并口控制寄存器、并口状态寄存器、并口输入寄存器和并口输出寄存器,所述并口控制寄存器用于在通过对应的并行通道接口进行读数据或写数据时存储控制信息,所述并口状态寄存器用来存储对应的并行通道接口的状态信息,所述并口输入寄存器用来存储从对应的并行通道接口读出的数据,所述并口输出寄存器用来存储要写入对应的并行通道接口的数据。
可选的,所述并行接口控制器单元还包括与所述并行接口内的每个所述并行通道对应的时钟分频寄存器,所述时钟分频寄存器与所述MCU内核的时钟信号连接,且用来存储针对对应的并行通道接口的时钟分频系数。
可选的,所述并行接口包括与所述并行接口控制器单元连接的时钟发生器单元,所述时钟发生器单元用于获取所述并行接口控制器单元输出的时钟分频系数以及所述MCU内核的时钟信号,并生成分频时钟。
可选的,所述并行接口包括与所述并行接口控制器单元连接的数据接收发送器单元,所述数据接收发送器单元用于在所述MCU内核的控制下,从所述并行接口控制器单元获取数据并处理为与各个所述并行通道的数据宽度以及所述分频时钟匹配的数据。
本发明提供的具有片内并行接口的片上***,采用片内设置的并行接口进行数据传输,有望获得较高的传输速率,提高了片上***的应用灵活性,而且,所述并行接口的并行通道数量及每个所述并行通道的数据宽度可以根据需要进行动态配置,方便用户使用,便于满足多样化的数据传输需求。
附图说明
图1是本发明一实施例的具有片内并行接口的片上***的结构示意图。
图2是本发明一实施例中的总线接口单元的结构示意图。
图3是本发明一实施例中的并行接口控制器单元的结构示意图。
图4是本发明一实施例中的时钟发生器单元的结构示意图。
图5是本发明一实施例中的数据接收发送器单元的结构示意图。
图6是本发明实施例的具有片内并行接口的片上***配置并行接口的流程示意图。
附图标记说明:
10-片上***;100-MCU内核;200-FPGA模块;110-***总线;210-总线接口单元;211-总线数据逻辑分析部分;212-逻辑缓冲部分;220-并行接口控制器单元;230-时钟发生器单元;240-数据接收发送器单元。
具体实施方式
以下结合附图和具体实施例对本发明的具有片内并行接口的片上***作进一步详细说明。根据下面的说明,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
本发明实施例涉及一种具有片内并行接口的片上***,所述片上***利用了并行接口相比同时钟频率下的串行接口数据的传输速率要更快的优点,在基于MCU和FPGA实现的片上***中构建了并行接口,目的是使所述片上***既具有MCU和FPGA的优点,又可实现较高的传输速率,从而具备较高的应用灵活性。以下进行具体说明。
本发明实施例的具有片内并行接口的片上***包括通过***总线交互的MCU内核和FPGA模块,其中,利用所述FPGA模块的可编程逻辑资源在片内构建出至少一个并行接口,每个所述并行接口均包括两个以上的并行通道,且所述并行通道的数量和每个所述并行通道的数据宽度通过所述MCU内核进行动态配置。所述片上***充分利用了FPGA可编程的特点,基于FPGA逻辑资源实现具有多个并行通道的并行接口,所述并行通道可以作为MCU内核与外部设备(指MCU内核的外设,具体可以是片内外设或片外外设)进行数据传输的通道,并且,通过FPGA可编程的特点,使每个并行通道中,并行通道的数量和每个所述并行通道的数据宽度均通过MCU内核进行动态配置,这样,用户就可以从MCU内核的软件层面调整具体的每个并行接口的通道数量及每个通道的数据宽度,相比于固定通道数及固定通道数据宽度的并行接口,采用本发明实施例的片上***可以根据数据传输的需要以及***功耗、尺寸等内容选择最适合当前数据传输方式的并行接口设计,具有极大的灵活性。
图1是本发明一实施例的具有片内并行接口的片上***的结构示意图。参见图1,一实施例中,所述片上***10包括MCU内核100和FPGA模块200,二者之间通过***总线110交互。
具体的,所述MCU内核100可以和FPGA模块200集成在同一芯片中。该芯片上形成有FPGA形式的可编程逻辑资源,作为FPGA模块200与所述MCU内核100连接,所述MCU内核100可以是软核或者硬核。所述FPGA模块200的可编程逻辑资源主要包括可编程的LCB(LogicalControl Block,逻辑控制区块,如查找表、加法器、寄存器、多路选择器等)、时钟网络资源、时钟处理单元、块随机存储器(Block RAM)、DSP(数字信号处理)核和接口资源等。可以理解的是,根据本申请实施例描述的片上***的功能结构,本领域技术人员可以利用本领域公开的方法利用硬件描述语言(如Verilog HDL)编写功能模块,并进行仿真、综合等步骤,将本发明实施例采用FPGA资源实现的并行接口转换为FPGA电路,该过程是熟悉本领域的技术人员所知晓的,本实施例对此不再作详细描述。另外,用来使所述MCU内核100和FPGA模块200能够交互的***总线可以采用先进高性能总线(Advanced High Performance Bus,AHB)、wishbone总线(简称WB总线)以及Avalon总线等本领域公开的总线类型。
参照图1,一实施例中,利用所述FPGA模块200的可编程逻辑资源在片内构建出的并行接口可包括与所述***总线110连接的总线接口单元210、与所述总线接口单元210连接的并行接口控制器单元220、与所述并行接口控制器单元220连接的时钟发生器单元230和数据接收发送器单元240,并且,所述并行接口包括与其中的各个并行通道对应设置的并行通道接口(如图1中的并行通道接口1、并行通道接口2、并行通道接口3、......、并行通道接口n,n为大于等于2的整数)。
具体的,所述并行接口中,所述总线接口单元210用来通过***总线210获取所述MCU内核100发送的有关所述并行接口的并行通道的配置信息,并通过所述FPGA模块200的可编程逻辑资源配置出各个并行通道。所述并行接口控制器单元220包括多个寄存器,每个所述寄存器的地址均被映射至所述MCU内核100的地址存储空间,所述总线接口单元210获取的有关各个并行接口的并行通道的配置信息能够被映射至相应的寄存器存储。所述并行接口中,各个并行通道接口按照并行接口协议与所述MCU内核100的外部设备通信,所述并行接口控制器单元220将存储于其内部寄存器的信息映射为针对各个并行通道接口的配置信息,以实现并行通道的配置。以下结合图2至图6对本发明实施例的片上***作进一步说明。
图2是本发明一实施例中的总线接口单元的结构示意图。参见图2,所述总线接口单元210能够在接收到MCU内核100的操作命令后,根据总线协议分析***总线110上发来的信息,获取所述***总线110上的信息并发送给并行接口控制器单元210。具体的,所述总线接口单元210可以通过译码***总线110上的地址信号,计算要配置或者进行数据传输的某一个并行接口的访问地址。获取并行接口的访问地址后,再解析***总线110的控制信号,根据解析获取的控制信息,配置该访问地址对应的并行接口的并行通道的数量和每个并行通道的数据宽度,以完成并行接口的配置。
作为示例,所述总线接口单元210可以解析的来自MCU内核100的***总线110发送的指令包括关于配置并行通道数量的指令和关于配置各个并行通道的数据宽度的指令。在对并行接口的并行通道数量和各个并行通道的数据宽度配置完成后,接下来即可利用该配置完成的并行接口进行传输数据的操作,如读数据或者写数据(即读写操作)。在进行读写操作时,所述总线接口单元210可以解析的***总线110上的指令包括针对各个并行通道的读数据指令或者针对各个并行通道的写数据指令等。
参见图2,一实施例中,所述总线接口单元210包括总线数据逻辑分析部分211和逻辑缓冲部分212,所述总线数据逻辑分析部分211直接与***总线110连接,用于根据总线协议分析***总线110上的数据(或指令)并提取操作信息,所述逻辑缓冲部分212包括多个缓冲逻辑,用于保存来自所述总线数据逻辑分析部分211发来的信息并通过相应的缓冲逻辑进行缓冲后发送给后一级的单元(此处为并行接口控制器单元220)。在读数据操作中,并行接口控制器单元220的数据也可以在MCU内核100的控制下通过相应的缓冲逻辑进行缓冲后发送给所述总线数据逻辑分析部分211,进而通过***总线110发送给MCU内核100。
所述***总线110上发来的数据的形式可包括地址、数据及控制,每种类型的数据可通过相应的逻辑缓冲部分进行缓冲并输出至并行接口控制器单元220。所述逻辑缓冲部分212中设置的缓冲逻辑可包括地址逻辑缓冲、数据逻辑缓冲和控制逻辑缓冲。所述地址逻辑缓冲用于对地址信息进行缓冲处理,具体可包括要配置的并行接口在并行接口控制器单元220对应的寄存器的地址信息,各个寄存器的地址被映射到MCU内核100可访问到的存储地址空间,从而可以通过对一组与要配置的并行接口对应的寄存器进行配置,进而传递针对并行接口的配置信息、读写控制信息及数据。通过地址逻辑缓冲,并行接口控制器单元220中相应寄存器的地址信息被保存,地址信息可在MCU内核100的控制下向并行接口控制器单元220发送。所述数据逻辑缓冲用于对数据信息进行缓冲处理,例如在写数据操作时,所述总线接口单元210将来自***总线110上的要通过并行接口传输的数据发送给数据逻辑缓冲保存,在MCU内核100的控制下数据进一步发送给并行接口控制器单元220,后续通过并行通道接口发送给外部设备。在读数据操作时,所述数据逻辑缓冲可以保存来自并行接口控制器单元220控制的要发送给MCU内核100的数据,在MCU内核100的控制下通过总线数据逻辑分析部分211上传至***总线。所述控制逻辑缓冲用于对***总线110上发送的控制信息进行缓冲处理,可以保存总线数据逻辑分析部分211发送的控制信息并经过缓冲后,发送至并行接口控制器单元220。所述控制信息用来对通过并行接口执行的读操作或写操作进行控制。
图3是本发明一实施例中的并行接口控制器单元的结构示意图。参见图3,一实施例中,上述片上***10中,利用所述FPGA模块200的可编程逻辑资源在片内构建出的并行接口包括与所述总线接口单元210连接的并行接口控制器单元220,所述并行接口控制器单元220包括多个寄存器,每个所述寄存器的地址均被映射至所述MCU内核100的地址存储空间,所述总线接口单元210获取的有关所述并行接口的并行通道的配置信息被映射至相应的寄存器存储。因而,上述并行接口控制器单元220可以将针对每个并行接口的数据读写、通道数量配置、通道数据宽度配置等功能,映射到相应的寄存器,如图3中的并口控制寄存器、并口状态寄存器、并口配置寄存器、并口输入寄存器(存储从外设读取的数据)和并口输出寄存器(存储写入外设的数据)及时钟分频寄存器。通过总线接口单元210,每个并行接口对应的寄存器被映射到MCU内核100的地址存储空间,则可以在MCU内核100的控制下执行对并行接口的读、写、通道数量配置、通道数据宽度配置、状态控制以及时钟分频的控制等。
具体的,上述并行接口控制器单元220包括寄存器读写时序逻辑,所述寄存器读写时序逻辑接收所述总线接口单元210输出的寄存器的地址信息而选择相应的寄存器,所述寄存器读写时序逻辑还接收关于并行通道接口的配置信息并映射至对应地址的寄存器。所述寄存器读写时序逻辑可以通过连接MCU内核100的复位信号进行复位。
所述并行接口控制器单元220包括并口配置寄存器(如图3中的并口配置寄存器(1~n)),所述并口配置寄存器与并行接口内的每个并行通道对应,用来存储所述MCU内核100分配给对应的并行通道的数据宽度的信息。对于所述片上***10的每个并行接口的各个并行通道,在所述并行接口控制器单元220均对应有并口配置寄存器。对于同一个并行接口,所配置的并口配置寄存器的数量即为并行通道的数量,即与同一个所述并行接口对应的并口配置寄存器的数量为该并行接口中并行通道的数量。在一实施例中,并行接口控制器单元220还包括专用的寄存器来存储并行接口中并行通道的配置数量。本实施例中,如果MCU内核100通过***总线110发送了配置并行接口的并行通道数量的指令,则通过通道数量配置相应数量的并口配置寄存器,并为每个并口配置寄存器发送数据宽度的信息。
所述并行接口控制器单元220还包括对应于每个所述并行通道接口(即如图1所示的并行通道接口1,并行通道接口2,......,并行通道接口n,n为大于等于2的整数)而设置的并口控制寄存器、并口状态寄存器、并口输入寄存器和并口输出寄存器,所述并口控制寄存器用于在通过对应的并行通道接口进行读数据或写数据时存储控制信息,所述并口状态寄存器用来存储对应的并行通道接口的状态信息,所述并口输出寄存器用来存储要写入对应的并行通道接口的数据,所述并口输入寄存器用来存储要从对应的并行通道接口读出的数据。在读数据操作中,所述总线接口单元210可以将存储于并行接口控制器单元220的并口输入寄存器的数据映射到***总线110上,在写数据操作中,所述总线接口模块单元210可将***总线110的数据映射到并行接口控制器单元220的并口输出寄存器。具体的,若MCU内核100通过***总线110发送的是读数据指令,则通过各个并口输入寄存器,分别读取并行接口的各个并行通道接口传来的数据。如果MCU内核100通过***总线110发送的是写数据指令,则通过各个并口输出寄存器,分别向并行接口的各个并行通道接口发送相应的数据。上述并行接口控制器单元220通过接收总线接口单元210传输过来的指令及数据,通过内部的寄存器读写时序逻辑把总线的数据映射在相应的寄存器中,其中不同的寄存器有不同的功能,通过寄存器的操作不仅可以控制并行接口的个数、具体每个并行接口中并行通道的数量,而且还可以控制并行接口一次传输的数据位宽。
为了配合并行数据的传输,参见图3,所述并行接口控制器单元220内部还具有时钟分频寄存器(如图3中的时钟分频寄存器(1~n)),所述时钟分频寄存器根据设置的并行接口传输的数据速率控制时钟分频器(图4)的分频系数(或称分频比例),在MCU内核100的控制下输出时钟分频系数提供给后一级单元(本实施例为时钟发生器单元230)以产生分频时钟。所述时钟分频寄存器可对应于每个所述并行通道接口设置,所述时钟分频寄存器与所述MCU内核100的时钟信号连接。
图4是本发明一实施例中的时钟发生器单元的结构示意图。参见图4,一实施例中,片上***10中,利用所述FPGA模块200的可编程逻辑资源在片内构建出的并行接口包括与所述并行接口控制器单元220连接的时钟发生器单元230,所述时钟发生器单元230用于获取所述并行接口控制器单元220输出的时钟分频系数以及所述MCU内核100的时钟信号,生成分频时钟。具体的,所述时钟发生器单元230连接MCU内核100的时钟信号及复位信号,还获取所述并行接口控制器单元220中的时钟分频寄存器生成的时钟分频系数,通过时钟分频器生成相应的分频时钟,所述并行接口的各个所述并行通道接口按照所述分频时钟与所述MCU内核100的外部设备进行数据通信。通过将MCU内核100提供的总线时钟分频成并口传输数据所需要的频率并发送给相应的并行接口的各个并行通道接口,分频之后的时钟输出至各个并行通道接口(并行通道接口可通过FPGA模块200内部的逻辑连线连接至FPGA芯片上的输入输出接口(I/O),在该I/O端口连接MCU内核100的并行外设),利用该分频时钟可以驱动并行接口连接的外部设备的时钟,在分频时钟下进行相关的数据交换。
图5是本发明一实施例中的数据接收发送器单元的结构示意图。参见图5,上述片上***10中,利用所述FPGA模块200的可编程逻辑资源在片内构建出的并行接口包括与所述并行接口控制器单元220连接的数据接收发送器单元240,所述数据接收发送器单元240用于在所述MCU内核100的控制下,将所述并行接口控制器单元220输出的数据处理为与各个并行通道的数据宽度以及所述分频时钟匹配的数据,即,将并行接口控制器单元220传输过来的数据进行转换,转换成并行接口可以接收的数据,如根据并行接口位宽而配置的不同宽度的数据。所述数据接收发送器单元240包括寄存器数据收发转并口收发功能部分,所述寄存器数据收发转并口收发功能部分连接MCU复位信号以便于复位处理,并且连接所述分频时钟以按照所述分频时钟配置数据。所述寄存器数据收发转并口收发功能部分可以对从各个并行通道接口接收的数据进行处理,转换为并口接收值发送给并行接口控制器单元220中相应的并口输入寄存器。所述寄存器数据收发转并口收发功能部分可以对从并行接口控制器单元220中各个并口输入寄存器发送的数据(并口发送值)进行处理,转换为同一并行接口中各个并行通道接口能够处理的数据。
所述数据接收发送器单元240也可以对并行接口控制器单元220发送的数据进行相应的缓冲,以满足并行接口外设的速率匹配要求。数据接收发送器单元240连接到对应的并行接口的各个并行通道接口,数据接收发送器单元240通过将数据设置为与时钟发生器单元230输出的分频时钟匹配的格式,通过并行通道接口将数据在分频时钟下发送出去。
图6是本发明实施例的具有片内并行接口的片上***配置并行接口的流程示意图。参见图1至图6,作为示例,利用本实施例的具有片内并行接口的片上***配置并行接口可包括如下过程:
步骤一,扫描MCU内核100的***总线110,判断***总线110是否使能(可理解为MCU内核100是否发送了针对片内并行接口的任务),如果***总线110没有使能,则继续执行扫描***总线110的步骤,直到***总线100使能,如果***总线110使能,则执行步骤二;
步骤二,判断对片内并行接口的并行通道的初始化是否完成,如果未完成,则继续执行扫描***总线110的步骤,以获得MCU内核100关于并行接口的并行通道的具体配置命令(例如包括并行通道的数量、每个并行通道的数据宽度以及该配置用到的寄存器的地址信息),在获得相应的配置命令后,后续按照该配置命令利用FPGA可编程逻辑资源动态配置出并行接口的并行通道;
在步骤二中,如果并行通道的数量及数据宽度已经配置完成,可以进一步判断针对该并行通道配置下的并行接口,对应的时钟分频初始化是否完成,如果时钟分频初始化未完成,则执行扫描***总线110的步骤,以获得MCU内核100针对各个并行通道的时钟分频系数的配置指令(例如包括不同并行通道对应的时钟分配系数以及该配置用到的寄存器的地址信息),后续按照该配置指令利用FPGA可编程逻辑资源设置并行通道的时钟分频系数以及分频时钟,步骤一和步骤二可以由总线接口单元210在MCU内核100的控制下执行,另外,在所述片上***的应用过程中,如果要对片内并行接口的并行通道设计进行动态调整,则需要再次执行步骤一和步骤二;
步骤三,根据要执行的操作类型(如并口配置、时钟分频配置、读写数据配置等)进行寄存器操作(可在MCU内核100的控制下由并行接口控制器单元220执行)。
在步骤三后,后续可利用FPGA可编程逻辑资源,将MCU内核100针对所述并行接口的配置命令及数据信息(即寄存器存储的信息)映射为对相应的并行通道接口的配置,在利用该并行接口进行通信时,通过生成分频时钟以及相应的同步数据处理(通过时钟发生器单元230和数据接收发送器单元240执行),从各个并行通道接口向外部设备发送相应的数据和时钟,从而采用上述方法动态配置的片内并行接口,可以实现片上***10的MCU内核100与外部设备通信的功能。
本发明提供的具有片内并行接口的片上***,采用片内设置的并行接口进行数据传输,有望获得较高的传输速率,提高了片上***的应用灵活性,而且,所述并行接口的并行通道数量及每个所述并行通道的数据宽度可以根据需要进行动态配置,方便用户使用,便于满足多样化的数据传输需求。
上述描述仅是对本发明较佳实施例的描述,并非对本发明权利范围的任何限定,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。

Claims (9)

1.一种具有片内并行接口的片上***,其特征在于,所述片上***包括通过***总线交互的MCU内核和FPGA模块,其中,利用所述FPGA模块的可编程逻辑资源在片内构建出至少一个并行接口,每个所述并行接口均包括两个以上的并行通道,所述并行通道的数量和每个所述并行通道的数据宽度通过所述MCU内核进行动态配置;所述并行接口包括并行接口控制器单元,所述并行接口控制器单元包括与每个所述并行通道对应且用来存储所述MCU内核分配给对应的并行通道的数据宽度的信息的并口配置寄存器,与同一个所述并行接口对应的并口配置寄存器的数量为所述并行接口中并行通道的数量。
2.如权利要求1所述的片上***,其特征在于,所述并行接口包括与所述***总线连接的总线接口单元,所述总线接口单元通过所述***总线获取所述MCU内核发送的有关所述并行通道的配置信息,并通过所述FPGA模块的可编程逻辑资源配置出各个所述并行通道。
3.如权利要求2所述的片上***,其特征在于,所述并行接口控制器单元与所述总线接口单元连接,所述并行接口控制器单元包括多个寄存器,每个所述寄存器的地址均被映射至所述MCU内核的地址存储空间,所述总线接口单元获取的有关所述并行通道的配置信息被映射至相应的寄存器存储。
4.如权利要求3所述的片上***,其特征在于,所述并行接口包括与各个所述并行通道对应设置的并行通道接口,各个所述并行通道接口按照并行接口协议与所述MCU内核的外部设备通信,所述并行接口控制器单元将存储于各个所述寄存器的信息映射为针对各个所述并行通道接口的配置信息。
5.如权利要求4所述的片上***,其特征在于,所述并行接口控制器单元包括寄存器读写时序逻辑,所述寄存器读写时序逻辑接收所述总线接口单元输出的寄存器的地址信息以选择相应的寄存器,所述寄存器读写时序逻辑还接收有关所述并行通道的配置信息并映射至对应地址的寄存器。
6.如权利要求4所述的片上***,其特征在于,所述并行接口控制器单元还包括与所述并行接口内的每个所述并行通道对应的并口控制寄存器、并口状态寄存器、并口输入寄存器和并口输出寄存器,所述并口控制寄存器用于在通过对应的并行通道接口进行读数据或写数据时存储控制信息,所述并口状态寄存器用来存储对应的并行通道接口的状态信息,所述并口输入寄存器用来存储从对应的并行通道接口读出的数据,所述并口输出寄存器用来存储要写入对应的并行通道接口的数据。
7.如权利要求4所述的片上***,其特征在于,所述并行接口控制器单元还包括与所述并行接口内的每个所述并行通道对应的时钟分频寄存器,所述时钟分频寄存器与所述MCU内核的时钟信号连接,且用来存储针对对应的并行通道接口的时钟分频系数。
8.如权利要求7所述的片上***,其特征在于,所述并行接口包括与所述并行接口控制器单元连接的时钟发生器单元,所述时钟发生器单元用于获取所述并行接口控制器单元输出的时钟分频系数以及所述MCU内核的时钟信号,并生成分频时钟。
9.如权利要求8所述的片上***,其特征在于,所述并行接口包括与所述并行接口控制器单元连接的数据接收发送器单元,所述数据接收发送器单元用于在所述MCU内核的控制下,从所述并行接口控制器单元获取数据并处理为与各个所述并行通道的数据宽度以及所述分频时钟匹配的数据。
CN202011506026.5A 2020-12-18 2020-12-18 具有片内并行接口的片上*** Active CN112540952B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011506026.5A CN112540952B (zh) 2020-12-18 2020-12-18 具有片内并行接口的片上***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011506026.5A CN112540952B (zh) 2020-12-18 2020-12-18 具有片内并行接口的片上***

Publications (2)

Publication Number Publication Date
CN112540952A CN112540952A (zh) 2021-03-23
CN112540952B true CN112540952B (zh) 2021-09-17

Family

ID=75019164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011506026.5A Active CN112540952B (zh) 2020-12-18 2020-12-18 具有片内并行接口的片上***

Country Status (1)

Country Link
CN (1) CN112540952B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113400314B (zh) * 2021-07-06 2023-05-16 深圳市人工智能与机器人研究院 一种机器人控制***及机器人控制方法
CN113703843B (zh) * 2021-09-24 2024-04-12 中国人民解放军军事科学院军事医学研究院 一种寄存器数据处理方法、装置及存储器
CN114036096B (zh) * 2021-11-04 2024-05-03 珠海一微半导体股份有限公司 一种基于总线接口的读控制器
CN114721987A (zh) * 2022-02-21 2022-07-08 西安智多晶微电子有限公司 一种基于MCU和FPGA SoC架构的多路接口电路

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3292864B2 (ja) * 1995-02-07 2002-06-17 株式会社日立製作所 データ処理装置
CN101127023B (zh) * 2006-08-17 2010-05-26 四川维肯电子有限公司 一种多总线接口的通用异步串口扩展芯片
CN102023954B (zh) * 2009-09-17 2012-08-22 研祥智能科技股份有限公司 具有多路i2c总线的装置、处理器、***主板及工控计算机
CN101951313B (zh) * 2010-09-08 2013-04-10 烽火通信科技股份有限公司 一种基于fpga的sfi4.1装置
CN106933772A (zh) * 2017-02-17 2017-07-07 西安航空制动科技有限公司 基于uart ip核的sci通讯方法
CN109446132A (zh) * 2018-12-04 2019-03-08 青岛方寸微电子科技有限公司 一种接口总线装置及数据通信协议
CN110781117B (zh) * 2019-09-12 2020-11-20 广东高云半导体科技股份有限公司 一种基于fpga的spi扩展总线接口以及片上***
CN110781119B (zh) * 2019-10-22 2023-07-04 广东高云半导体科技股份有限公司 一种i2c总线扩展接口及其控制方法、片上***
CN111858415B (zh) * 2020-07-30 2024-03-15 超越科技股份有限公司 一种用于数据接收与存储的多通道、多协议硬件加速方法

Also Published As

Publication number Publication date
CN112540952A (zh) 2021-03-23

Similar Documents

Publication Publication Date Title
CN112540952B (zh) 具有片内并行接口的片上***
Forencich et al. Corundum: An open-source 100-gbps nic
CN106951388B (zh) 一种基于PCIe的DMA数据传输方法及***
CN110781119B (zh) 一种i2c总线扩展接口及其控制方法、片上***
CN112559399A (zh) 一种多axi接口的ddr控制器及其控制方法
WO2016000339A1 (zh) 一种芯片互连的方法、芯片及装置
CN108683536B (zh) 异步片上网络的可配置双模式融合通信方法及其接口
CN108337286A (zh) 一种切包方法及装置
WO2016169032A1 (zh) 数据格式转换装置、缓冲芯片及方法
CN111931442A (zh) Fpga内嵌flash控制器及电子装置
CN110795382A (zh) 一种基于fpga的通用异步收发传输器以及片上***
CN113270137A (zh) 一种基于fpga嵌入式软核的ddr2测试方法
CN112398877B (zh) 控制信号转换电路、知识产权核以及***级芯片
CN115632903B (zh) 一种虚拟外设通信总线控制方法、装置及计算机设备
CN110765066B (zh) 一种片上***
CN112256426A (zh) 具有总线仲裁器的主从通信***及通信方法
CN107426118B (zh) 一种基于mdc/mdio接口的千兆以太网交换电路访问装置
CN112328523A (zh) 传输双倍速率信号的方法、装置及***
CN116954192A (zh) 总线控制器的功能测试方法、***、装置及可读存储介质
CN116450554A (zh) 中断处理方法、根复合体设备及电子设备
CN113971022B (zh) 一种应用全可编程片上***的无线信号处理方法
CN112835834B (zh) 数据传输***
CN115470163A (zh) Dma传输的控制方法、控制装置、控制设备及存储介质
CN114722001A (zh) 一种软件定义模数混合SoC芯片架构
Reddy et al. Novel Framework for Enabling Hardware Acceleration in GNU Radio

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