CN109933553A - 一种控制系统及其设计方法、一组控制系统、电子装置 - Google Patents
一种控制系统及其设计方法、一组控制系统、电子装置 Download PDFInfo
- Publication number
- CN109933553A CN109933553A CN201910152017.1A CN201910152017A CN109933553A CN 109933553 A CN109933553 A CN 109933553A CN 201910152017 A CN201910152017 A CN 201910152017A CN 109933553 A CN109933553 A CN 109933553A
- Authority
- CN
- China
- Prior art keywords
- control system
- unit
- dma
- direct memory
- linear array
- 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
Abstract
本发明属于控制系统的技术领域,为了解决现有迭代产品开发过程中,不能加快控制系统开发周期的技术问题,本发明提供一种控制系统及其设计方法、一组控制系统、电子装置,所述控制系统中:与第一通用直接存储器存取单元连接的第一总线阵列还连接有转接单元;转接单元的主设备端连接至第一总线阵列,转接单元的一个从设备端连接有一个能够与专用直接存储器存取单元连接的第一外设连接端口,并且与转接单元从设备端连接的第一外设连接端口对应的访问地址,可以使用第一外设连接端口连接有专用直接存储器存取单元时分配的访问地址。因此,通过对专用DMA单元所使用的小型BUS Matrix组件构造关系进行改进,减小了产品的迭代周期。
Description
技术领域
本发明涉及控制系统的技术领域,尤其涉及基于ARM架构处理器的控制系统,具体地,涉及一种控制系统及其设计方法、一组控制系统、电子装置。
背景技术
片上系统(英文全称System on Chip,简称SoC)的构成可以是系统级芯片控制逻辑模块、微处理器/微控制器CPU内核模块、数字信号处理器DSP模块、嵌入的存储器模块、和外部进行通讯的接口模块、含有ADC/DAC的模拟前端模块、电源提供和功耗管理模块,对于一个无线SoC还有射频前端模块、用户定义逻辑(它可以由FPGA或ASIC实现)以及微电子机械模块,更重要的是一个SoC芯片内嵌有基本软件(RDOS或COS以及其他应用软件)模块或可载入的用户软件等。其凭借着低耗电量、体积减少、系统功能多等优势,在物联网、便携式装置等技术领域得到了广泛的应用。
常用的SoC很多都是中普遍采用基于ARM(全称为Advanced RISC Machine,一种RISC微处理器)架构CPU(全称为Central Processing Unit,中文名叫中央处理器),而目前基于ARM架构CPU普遍采用单路通用DMA(全称为Direct Memory Access,中文名叫直接内存存取)单元加多路专用DMA单元的方式降低CPU占用率并提高系统性能。
发明人在实现本发明的过程中发现:当芯片性能定位需要调整或者成本需要压缩时,在已经开发好带有专用DMA单元的设计方案基础上,删减专用DMA单元,已经成为普遍采用的办法。被删减掉的专用DMA单元访问地址空间,需要通过扩大通用DMA单元访问地址空间来覆盖,因此前端设计普遍采用重新生成BUS Matrix(总线阵列),或者重新设计架构的方式实现。这些方式几乎都需要进行整芯片验证,耗时漫长且需要做大量不必要的重复工作。
发明内容
为了解决现有技术中通过删除专用DMA单元、重新生成BUS Matrix的开发方案,并不能加快控制系统开发周期的技术问题,本发明提供一种控制系统及其设计方法、一组控制系统、电子装置,通过对专用DMA单元所使用的小型BUS Matrix组件构造关系进行改进,减少控制系统开发过程中设计的工作量,提高了工作效率,减小了产品的迭代周期。
为了实现上述目的,本发明提供的技术方案包括:
本发明第一方面提供一种控制系统,其特征在于,包括:
第一控制器内核、第一存储器、以及位于所述第一控制器内核和所述第一存储器之间的第一总线阵列,所述第一总线阵列被设置成在所述第一控制器内核和所述第一存储器之间进行总线交联和仲裁;
第一大容量存储器控制单元、第一通用直接存储器存取单元,所述第一总线阵列还被设置成在所述第一大容量存储器控制单元和所述第一通用直接存储器存取单元之间进行总线交联和仲裁;
其中,与所述第一通用直接存储器存取单元连接的所述第一总线阵列还连接有转接单元;所述转接单元的主设备端连接至所述第一总线阵列,所述转接单元的一个从设备端连接有一个能够与专用直接存储器存取单元连接的第一外设连接端口,并且与所述转接单元从设备端连接的所述第一外设连接端口对应的访问地址,可以使用所述第一外设连接端口连接有专用直接存储器存取单元时分配的访问地址。
本发明实施例优选的实施方式中,所述转接单元还设置有多个从设备端口,所述多个从设备端口中至少一个可以直接连接至其他不需要专用直接存储器存取单元的第一外设连接端口,或者连接至位于所述第一控制器内核和所述第一存储器之间的所述第一总线阵列。
本发明实施例优选的实施方式中,所述转接单元还设置有多个从设备端口,所述多个从设备端口中至少两个从设备端口分别用于连接一个能够与专用直接存储器存取单元连接的第一外设连接端口;并且所述至少两个从设备端连接的所述第一外设连接端口对应的访问地址,分别可以使用所述第一外设连接端口连接有专用直接存储器存取单元时分配的访问地址。
本发明实施例优选的实施方式中,所述相应的访问地址为相同的访问地址或者通过预定算法直接计算得到的访问地址。
本发明实施例优选的实施方式中,所述转接单元包括接口转接器和总线转换器,所述接口转接器包括单个输入接口、多个输出接口,所述总线转换器将输入的第一类型总线协议的数据转换为第二类型总线协议的数据
本发明第二方面还提供一组控制系统,其特征在于,包括:
第一控制系统,所述第一控制系统为如第一方面提供的任意一种所述的控制系统;和
第二控制系统,所述第二控制系统包括:
第二控制器内核、第二存储器、以及位于所述第二控制器内核和所述第二存储器之间的第二总线阵列,所述第二总线阵列被设置成在所述第二控制器内核和所述第二存储器之间进行总线交联和仲裁;
第二大容量存储器控制单元、第二通用直接存储器存取单元,所述第二总线阵列还被设置成在所述第二大容量存储器控制单元和所述第二通用直接存储器存取单元之间进行总线交联和仲裁;以及
直接连接有第二外设连接端口的专用直接存储器存取单元;
其中,所述第一控制系统中与所述第一通用直接存储器存取单元通过所述转接单元连接的所述第一外设连接端口被分配的访问地址,和所述第二控制系统中与所述专用直接存储器存取单元连接的所述第二外设连接端口被分配的访问地址相对应。
本发明实施例优选的实施方式中,当所述第一控制系统中与所述第一总线阵列连接的所述第一存储器或其他外设,与所述第二控制系统中与所述第二总线阵列连接的所述第二存储器或其他外设相同时,所述第一控制系统中与所述第一总线阵列连接的所述第一存储器或其他外设的访问地址,也分别被分配与所述第二控制系统中与所述第二总线阵列连接的所述第二存储器或其他外设相应的访问地址。
本发明第三方面还提供一种控制系统的设计方法,其特征在于,所述控制系统包括:第一控制器内核、第一存储器、以及位于所述第一控制器内核和所述第一存储器之间的第一总线阵列,所述第一总线阵列被设置成在所述第一控制器内核和所述第一存储器之间进行总线交联和仲裁;第一大容量存储器控制单元、第一通用直接存储器存取单元,所述第一总线阵列还被设置成在所述第一大容量存储器控制单元和所述第一通用直接存储器存取单元之间进行总线交联和仲裁;所述设计方法包括:
在与所述第一通用直接存储器存取单元连接的所述第一总线阵列上设置转接单元;所述转接单元的主设备端连接至所述第一总线阵列,所述转接单元的一个从设备端连接有一个能够与专用直接存储器存取单元连接的第一外设连接端口;
与所述转接单元从设备端连接的所述第一外设连接端口对应的访问地址,可以使用所述第一外设连接端口连接有专用直接存储器存取单元时分配的访问地址。
本发明实施例优选的实施方式中,当所述转接单元还设置有多个从设备端口,所述多个从设备端口中至少两个从设备端口分别用于连接一个能够与专用直接存储器存取单元连接的第一外设连接端口时,所述至少两个从设备端连接的所述第一外设连接端口对应的访问地址,分别可以使用与所述第一外设连接端口连接有专用直接存储器存取单元时分配的访问地址。
本发明实施例优选的实施方式中,上述方法还包括:在设计所述第一控制系统之前,已经完成第二控制系统中第一外设连接端口和存储器的访问地址设计,并且所述第二控制系统设置有与所述第一控制系统相同的所述第一控制器内核、所述第一存储器、所述第一总线阵列、所述第一大容量存储器控制单元、所述第一通用直接存储器存取单元,所述第二控制系统还包括与所述第一外设连接端口对应的专用直接存储器存取单元;所述第二控制系统中的第一外设连接端口已经被分配指定的访问地址。
本发明第三方面还提供一种电子装置,其特征在于,包括:如第一方面提供的任意一种所述的第一控制系统,以及与所述第一控制系统连接的外围器件。
本发明第四方面还提供一组电子装置,其特征在于,包括:第一电子装置和第二电子装置,其中,所述第一电子装置包括如第二方面提供任一所述一组控制系统中的第一控制系统、以及与所述第一控制系统连接的第一外围器件;所述第二电子装置包括如第二方面提供任一所述一组控制系统中的第二控制系统、以及与所述第二控制系统连接的第二外围器件。
由于第一控制系统中与第一通用直接存储器存取单元通过转接单元连接的第一外设连接端口被分配的访问地址,与专用直接存储器存取单元连接的第二外设连接端口被分配的访问地址相对应(或者第一外设连接端口连接有专用直接存储器存取单元时分配的访问地址);这样如果前面有可以借鉴的控制系统设计信息可参考时,能够直接基于专用直接存储器存取单元与外设连接时分配的访问地址,快速修改成让直接存储器存取单元控制第一外设连接端口时,需要的访问地址设计;因此,减少了设计工作量,提高了工作效率。而且控制系统中的硬件结构变化也较小,减小了产品的迭代周期。
发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书变得显而易见,或者通过实施本发明的技术方案而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构和/或流程来实现和获得。
附图说明
图1为本发明实施例一提供一种第二控制系统的内部结构示意图。
图2为本发明实施例一提供一种第二控制系统的内部数据访问示意图一。
图3为本发明实施例一提供一种第二控制系统的内部数据访问示意图二。
图4为本发明实施例一提供一种第二控制系统的内部数据访问示意图三。
图5为本发明实施例一提供一种第一控制系统的内部结构示意图。
图6为本发明实施例一提供一种第二控制系统的内部数据访问示意图。
图7为本发明实施例二提供一种第一控制系统的内部结构示意图。
图8为本发明实施例三提供一组控制系统的内部结构示意图。
图9为本发明实施例四提供一种控制系统的设计方法的流程图。
图10为本发明实施例五提供一种电子装置的内部结构示意图。
图11为本发明实施例六提供一组电子装置的内部结构示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,这些具体的说明只是让本领域普通技术人员更加容易、清晰理解本发明,而非对本发明的限定性解释;并且只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
另外,在附图的流程图示出的步骤可以在诸如一组控制器可执行指令的控制系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
下面通过附图和具体实施例,对本发明的技术方案进行详细描述:
本实施例提供一种第二控制系统200,其中,本实施例中提及的控制系统200可以是涉及到需要使用通用DMA(Direct Memory Access,直接内存存取)单元和专用DMA单元的集成电路系统,例如,片上系统(英文全称System on Chip,简称SoC)、或者现场可编程门阵列(英文全称Field-Programmable Gate Array,简称FPGA),只要涉及到通用DMA、专用DMA以及分配访问地址的设计,都可以采用本实施例提供的技术方案,为了便于表述,下文具体以SoC作为第二控制系统200进行解释,其他类型的控制系统也可以参照相同或相似的技术手段进行处理。
本实施例还提供一种第一控制系统100,其中,本实施例中提及的控制系统100可以是只需要使用通用DMA单元的集成电路系统,或者相对于第二控制系统200需要删除部分专用DMA单元的集成电路系统;也可以是参照有专用DMA单元、通用DMA单元的集成电路系统的设计方案基础上,设计不需要专用DMA单元的集成电路系统、或者删除部分DMA单元的集成电路系统。只要是能够以有专用DMA单元、通用DMA单元的集成电路系统作为设计基础,进一步设计本实施例提供的第一控制系统100,都属于本申请提供技术方案的保护范围。而第一控制系统100的具体实现形式也可以包括但不限于片上系统(英文全称System on Chip,简称SoC)、或者现场可编程门阵列(英文全称Field-Programmable Gate Array,简称FPGA)。为了便于表述,下文具体以SoC作为第一控制系统100进行解释,其他类型的控制系统也可以参照相同或相似的技术手段进行处理。
本实施例提供的第一控制系统100、第二控制系统200均采用ARM架构的CPU,包含一个或多个指令及运算单元(简称内核或CORE),一个及多个专用DMA单元和通用DMA单元,一个或多个RAM,多个外设以及至少一个大容量存储控制器;这些单元均通过BUS Matrix(总线阵列)连接在一起实现交联和仲裁并实现数据的运算和搬移;BUS Matrix是一种多主多从的总线交联和仲裁器,它允许多个主设备并行访问多个从设备,它能有效提高总线带宽,并增加系统的灵活性。其中,一般在基于ARM机构的片上系统(System on Chip,,简称SoC)设计中普遍采用内核、通用DMA单元及专用DMA单元作为主设备,外设和RAM作为从设备,大容量存储器控制器也作为从设备。通用DMA单元一般用于搬送存储器和常见通用外设(或者一般项目都具有的外设)之间的数据传输,在设计过程中也成Global DMA单元,专用DMA单元一般用于搬送有些专用功能的外设和存储器之间的数据传输;其中,专用DMA单元一般用于优化并行且多设备同时工作时的CPU占用率;例如视频播放、音频播放、视频采集、音频采集及通讯模组同时工作时,仅有通用DMA单元会造成CPU占用率过高而卡顿;而通过专用DMA单元配合工作数据各行其道不容易出现卡顿情况。
其中,本实施例中第一控制系统100、第二控制系统200中具体的单元模块也可以采用相同类型的元件组成,本实施例仅仅为了便于描述,才将第一控制系统100中内部单元增加了“第一”、第二控制系统200中内部单元增加了“第二”,但是这些并非对单元构造本身的限制。
具体地,本实施例提供的第二控制系统200包括:
第二控制器内核,该第一控制系内核的数量可以是一个,也可以如图1所示有多个内核(第一内核201、第二内核203、……第M内核205);
第二存储器(例如,图1中的RAM213),以及位于第二控制器内核和第二存储器之间的第二总线阵列220,第二总线阵列220被设置成在第二控制器内核和第二存储器之间进行总线交联和仲裁;
第二大容量存储器控制单元230、第二通用直接存储器存取单元240,第二总线阵列220还被设置成在第二大容量存储器控制单元230和第二通用直接存储器存取单元240之间进行总线交联和仲裁;以及
直接连接有第二外设连接端口的专用直接存储器存取单元250;第二外设连接端口能够连接至需要专用DMA的外设260,而需要专用DMA的外设260也可以称第二外设,包括但不限于与SoC连接的麦克风、待驱动的马达等。
当然第二控制器内核也可以通过第二总线阵列220直接访问一部分外设,例如外设211,但是这样就会消耗一部分内核资源,所以在使用过程中,外设需要增加DMA来处理数据交换。
需要说明的是,本实施例提供的第二总线阵列220可以是一个整体的单元,也可以根据连接的单元不同,划分成多个独立的单元;而第二总线阵列220与第二控制器内核(内核201、内核203、内核205)、通用DMA240、专用DMA250之间采用AXI(全称AdvancedeXtensible Interface,一种总线协议)总线协议通信,第二总线阵列220与外设之间采用AHB(全称Advanced High performance Bus)或APB(Advanced Peripheral Bus)总线协议通信;专用DMA单元250连接有一个转接器221,该转接器221可以根据需要访问外设的数据设置从设备端口数量,转接器221主设备端通过AXI总线连接至专用DMA250,从设备端通过AHB总线连接至ICM单元261,ICM单元261可以直接连接到需要专用DMA的外设260;以AHBICM(全称DesignWare AHB Multi-layer Interconnection Matrix,AHB多层连接阵列)为例,它是一种AHB总线的多转一单元,可以使两个或更多的AHB主机访问同一个AHB设备。
图1中的每一个外设、RAM、大容量存储器控制器和DMA单元本身都可以被至少一个指令及运算单元(Core)访问、配置及搬运数据,同时需要专用DMA单元搬移数据的外设、RAM和大容量存储器都可以被专用DMA单元或通用DMA单元搬运数据。按照一般设计,通用DMA单元主要负责在RAM和大容量存储器控制器之间或者在大容量存储器内部搬移数据,专用DMA单元主要负责从有专用DMA需求的外设到大容量存储设器控制器进行数据搬移。
如图2所示,指令及运算单元(内核)的数据访问路径分别为:
L1:内核单元对大容量存储设备的数据通道,
L2:内核单元对一般外设的数据通道,
L3:内核单元对RAM的数据通道,
L4:内核单元对需专用DMA外设的数据通道。
如图3所示,专用DMA单元的数据访问路径分别为:
L5:专用DMA单元对RAM的数据通道,
L6:专用DMA单元对需专用DMA外设的数据通道,
L7:专用DMA单元对大容量存储器的数据通道。
如图4所示,通用DMA单元的数据访问路径分别为:
L8:通用DMA单元对RAM的数据通道,
L9:通用DMA单元对大容量存储器的数据通道。
在首次设计CPU架构时(例如上述第二控制系统200的架构),BUS Matrix做为总线互连的重要器件被配置并实现,根据CPU各功能模块的要求被准确配置主从端口、对应地址译码范围等并逐一连接。而在成本敏感的后续产品(例如下文中提及的第一控制系统100)迭代中经常需要做一些ROM/RAM删减、外设删减、专用DMA单元删减、内核删减之类的工作,同时对产品的迭代周期和产品鲁棒性有很高要求;删减ROM、RAM、外设和内核基本上不会对原架构产生巨大改动。但删减专用DMA单元时由于原数据路径被改动,通常需要对BUSMatrix进行重新配置、实现并重新连接。重新生成BUS Matrix的修改方法会产生大量的设计工作量;同时原先验证过的数据路径及IP也因为BUS Matrix的变化而需要全部重新验证一遍,大幅度延长了迭代周期。
所以第一控制系统100假设采用通常设计:需要对BUS Matrix进行重新配置、实现并重新连接的设计方式中,删减专用DMA而重新生成BUS Matrix(总线阵列)的方法会产生大量设计工作量,由于设计人员的更迭和软件版本的迭代,第一控制系统100设计人员往往需要重新学习各IP的性能要求和特性,从而造成设计工作量往往和重新设计一款芯片相差无几。而且被重新生成的BUS Matrix(总线阵列)并没有经过前仿真、后仿真、FPGA(全称Field-Programmable Gate Array,现场可编程门阵列)验证以及硅验证等一系列芯片设计所必须要做的验证流程;为了验证删减单元的一小部分数据路径,而需要对所有的IP连接、数据传输、稳定性和交互传输进行全方位验证往往需要花费大量时间,验证工作量往往也和新设计一款芯片差不多,由于迭代产品往往不会做MPW(多项目晶圆,低成本硅验证的一种)验证而直接量产,因此产品的安全性和鲁棒性也往往会低于首次量产产品(经过MPW验证后的量产芯片)。
而在芯片的产品迭代中对于专用DMA单元删减通常会改动数据通路,例如在图1基础上删减专用DMA后,与通用DMA单元连接的BUS Matrix并没有多余的端口用来实现通用DMA对需专用DMA的外设的访问;通常情况下,这个BUS Matrix需要按照新的端口要求重新生成来实现;另一种解决方式是:原来需专用DMA单元的外设此时只能依靠内核进行外设到RAM或大容量存储器逐字节的搬运,但是又会出现速度慢且CPU占用率高。
为了解决上述删除DMA单元设计过程中可能出现的问题,本实施例提供一种技术方案,可以使BUS Matrix不必重新生成,达到建立通用DMA到需专用DMA外设的数据通道。
具体地,第一控制系统100中与第一通用直接存储器存取单元140通过转接单元连接的第一外设(需要专用DMA单元的外设160)连接端口被分配的访问地址,和第二控制系统200中与专用直接存储器存取单元250连接的第二外设(需要专用DMA单元的外设260)连接端口被分配的访问地址相对应。
本实施例优选的实施方式中,相应的访问地址为相同的访问地址或者通过预定算法(例如用偏移函数,将某个某块整体偏移预定基数的地址,或者按照其他常用算法能快速输出满足要求的访问地址即可)直接计算得到的访问地址。
如图5所示,本实施例提供一种第一控制系统100,该第一控制系统100包括:
第一控制器内核(内核101、内核103……内核105)、第一存储器113、以及位于第一控制器内核和第一存储器113之间的第一总线阵列120,第一总线阵列120被设置成在第一控制器内核和第一存储113器之间进行总线交联和仲裁;
第一大容量存储器控制单元130、第一通用直接存储器存取单元140,第一总线阵列120还被设置成在第一大容量存储器控制单元130和第一通用直接存储器存取单元140之间进行总线交联和仲裁;
关于控制器内核、第一存储器113、第一总线阵列120、第一大容量存储器控制单元130、第一通用直接存储器存取单元140具体的连接方式,可以参照上述图1对第二控制系统200的介绍,在此不再赘述。
其中,与第一通用直接存储器存取单元140连接的第一总线阵列120还连接有转接单元121。优选地,转接单元包括接口转接器(例如图5中的转换器121)和总线转换器(例如,图5中的AXI转AHB转换器162),接口转接器包括单个输入接口(图5)、多个输出接口(例如图7),总线转换器将输入的第一类型总线协议的数据转换为第二类型总线协议的数据,例如图5中将AXI转AHB。
转接单元121的主设备端连接至第一总线阵列120,转接单元121的一个从设备端连接有一个能够与专用直接存储器存取单元连接的第一外设连接端口。本实施例提及的第一外设连接端口可以是直接设置在如图5中的AXI转AHB转换器162,也可以是单独的独立接口模块,本实施例不对其进行限制。而且本实施例中提及的外设160可以是直接集成在控制系统110内部,也可以是与控制系统110独立的单元。并且与转接单元从设备端连接的第一外设连接端口对应的访问地址,可以使用第一外设连接端口连接有专用直接存储器存取单元时分配的访问地址;例如图1中第二外设260连接端口连接到专用直接存储器存取单元250时分配的访问地址;当然第一外设的类型和第二外设的类型也需要相同或相似才能继续使用该访问地址。
如图5所示,本实施例优选的实施方式中,转接单元中的转接器121还设置有多个从设备端口,多个从设备端口中至少一个可以直接连接至其他不需要专用直接存储器存取单元的第一外设连接端口,或者连接至位于第一控制器内核和第一存储器113之间的第一总线阵列120。
具体地,如图5所示,通用DMA单元140通过第一总线阵列120后通往RAM的主设备端数据路径上增加一个转接器121(也叫AXI 1→2组件,一种门数比较小的AXI 1分2),第一总线阵列120对于此从设备端的地址译码需要由RAM的地址范围扩大为RAM+,需专用DMA外设的地址范围;即只修改地址译码部分不需要重新生成第一总线阵列120。例如,第二控制系统200的设计方案中,通用DMA单元240通过第一总线阵列220可以访问大容量存储器130,在第二控制系统200基础上,欲修改成第一控制系统100;其中,第一控制系统100内与第二控制系统200的元件为相同的含义,不同的附图标记仅仅是为了本领域技术人员更容易理解本实施例中的两个控制系统而已,并非对其进行限制。修改后,在第二控制系统200的主设备端数据路径上增加一个AXI一转二的组件,此组件有一个主机端口和两个设备端口,每个设备端口分别译码;第二个设备端口继续译码并且连接大容量存储器控制器130;第一个设备端口译码并通过ICM161连接到原需要专用专用DMA外设160上。即转接器121的一个从设备端连接到内核的第一总线阵列120的原主设备端上,通用DMA单元140通过此数据路径读写RAM113。转接器121的另一个从设备端连接一个AXI to AHB组件162(一个总线转换组件,主设备端为AXI,从设备端为AHB),并最终连接到需专用DMA外设的原AHB ICM一个主设备端上,最终形成通用DMA单元对需专用DMA外设的数据通路,如图6中的L10。
第一控制系统100在验证时只需验证通用DMA对RAM和已修改的需专用DMA外设的数据通路L10即可。因此,只需要扩大DMA对应总线阵列的地址译码范围,并且生成AXI 1to2单元和AXI to AHB单元;修改数据通路后使用的逻辑单元门数较少。
由于第一控制系统100中与第一通用直接存储器存取单元140通过转接单元连接的第一外设连接端口被分配的访问地址,与专用直接存储器存取单元连接的第二外设连接端口被分配的访问地址相对应(或者第一外设连接端口连接有专用直接存储器存取单元时分配的访问地址);这样如果前面有可以借鉴的控制系统设计信息可参考时,能够直接基于专用直接存储器存取单元与外设连接时分配的访问地址,快速修改成让直接存储器存取单元控制第一外设连接端口时,需要的访问地址设计;因此,设计的设计工作量,提高了工作效率。而且控制系统中的硬件结构变化也较小,减小了产品的迭代周期。
实施例二
实施例一中图5、图6,是以删除一个专用DMA单元后的数据通路连接方式,本实施例优选的实施方式中,转接单元还设置有多个从设备端口,多个从设备端口中至少两个从设备端口分别用于连接一个能够与专用直接存储器存取单元连接的第一外设连接端口;并且至少两个从设备端连接的第一外设连接端口对应的访问地址,分别可以使用第一外设连接端口连接有专用直接存储器存取单元时分配的访问地址。
如图7所示,当设计需要删除多个专用DMA单元时,只需要把转换器121换成AXI1to n的单元,并单独指定每个通道的访问地址范围,并分别连接AXI to AHB单元162,最终连接到各需专用DMA外设的AHB ICM161上即可;通用DMA的总线阵列地址译码需要覆盖所有需专用DMA外设的地址。
实施例三
如图8所示,本实施例提供一组控制系统,包括:
第一控制系统100,第一控制系统100为如实施例一或实施例二提供的任意一种的第一控制系统;和
第二控制系统200,第二控制系统200为如图1-图4中提及的第二控制系统;
其中,第一控制系统100中与第一通用直接存储器存取单元140通过转接单元连接的第一外设连接端口被分配的访问地址,和第二控制系统200中与专用直接存储器存取单元连接的第二外设连接端口被分配的访问地址相对应。关于访问地址相对应的解释,也可以直接参照实施例一的解释,在此不再赘述。
实施例四
如图9所示,本实施例还提供一种控制系统的设计方法,该控制系统包括:第一控制器内核、第一存储器、以及位于第一控制器内核和第一存储器之间的第一总线阵列,第一总线阵列被设置成在第一控制器内核和第一存储器之间进行总线交联和仲裁;第一大容量存储器控制单元、第一通用直接存储器存取单元,第一总线阵列还被设置成在第一大容量存储器控制单元和第一通用直接存储器存取单元之间进行总线交联和仲裁;具体地,该控制系统可以参照图5、图6和实施例一中提及的第一控制系统100。该控制系统的设计方法包括:
S110、在与第一通用直接存储器存取单元连接的第一总线阵列上设置转接单元;转接单元的主设备端连接至第一总线阵列,转接单元的一个从设备端连接有一个能够与专用直接存储器存取单元连接的第一外设连接端口;
S120、与转接单元从设备端连接的第一外设连接端口对应的访问地址,可以使用第一外设连接端口连接有专用直接存储器存取单元时分配的访问地址。
关于转接单元、第一外设连接端口、对应的访问地址等技术特征可以参照如实施例一中的描述,在此不再赘述。
本实施例优选的实施方式中,当转接单元还设置有多个从设备端口,多个从设备端口中至少两个从设备端口分别用于连接一个能够与专用直接存储器存取单元连接的第一外设连接端口时,至少两个从设备端连接的第一外设连接端口对应的访问地址,分别可以使用与第一外设连接端口连接有专用直接存储器存取单元时分配的访问地址。
本实施例优选的实施方式中,上述设计方法还包括:在设计第一控制系统之前,已经完成第二控制系统中第一外设连接端口和存储器的访问地址设计,并且第二控制系统设置有与第一控制系统相同的第一控制器内核、第一存储器、第一总线阵列、第一大容量存储器控制单元、第一通用直接存储器存取单元,第二控制系统还包括与第一外设连接端口对应的专用直接存储器存取单元;第二控制系统中的第一外设连接端口已经被分配指定的访问地址。
实施例五
本实施例提供一种电子装置300,该电子装置300包括:如实施例一提供的第一控制系统100,以及与第一控制系统100连接的外围器件110。
外围器件110可以根据电子装置300的具体应用场景来确认,例如,当电子装置300需要输出语音或图像信息时,外围器件110对应执行语音输入、语音输出或图像处理操作、传感器开关、显示器是否点亮、马达等。更具体地,电子装置300可以是POS机,这样对应的外围器件可以是显示器、输入键盘、语音播报模块、人脸识别传感器等;电子装置300还可以是二维码扫描装置,这样对应的外围器件110可以是扫描摄像头;电子装置300还可以是家用监控设备,这样对应的外围器件110可以是摄像头、网络模块等。
实施例六
如图11所示,本实施例还提供一组电子装置,包括:第一电子装置300和第二电子装置400,其中,第一电子装置300包括如上述实施例中的第一控制系统100、以及与第一控制系统连接的第一外围器件110;第二电子装置400包括如上述实施例中的第二控制系统200、以及与第二控制系统200连接的第二外围器件210。
而第二电子装置400的应用场景和与第二控制系统200连接的第二外围器件210具体实现方式,也可以参照第一电子装置300。
本领域普通技术人员可以理解:上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC、FPGA或SoC)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的处理方法。此外,当通用计算机访问用于实现在此示出的处理的代码时,代码的执行将通用计算机转换为用于执行在此示出的处理的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
最后需要说明的是,上述说明仅是本发明的最佳实施例而已,并非对本发明做任何形式上的限制。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围内,都可利用上述揭示的做法和技术内容对本发明技术方案做出许多可能的变动和简单的替换等,这些都属于本发明技术方案保护的范围。
Claims (12)
1.一种控制系统,其特征在于,包括:
第一控制器内核、第一存储器、以及位于所述第一控制器内核和所述第一存储器之间的第一总线阵列,所述第一总线阵列被设置成在所述第一控制器内核和所述第一存储器之间进行总线交联和仲裁;
第一大容量存储器控制单元、第一通用直接存储器存取单元,所述第一总线阵列还被设置成在所述第一大容量存储器控制单元和所述第一通用直接存储器存取单元之间进行总线交联和仲裁;
其中,与所述第一通用直接存储器存取单元连接的所述第一总线阵列还连接有转接单元;所述转接单元的主设备端连接至所述第一总线阵列,所述转接单元的一个从设备端连接有一个能够与专用直接存储器存取单元连接的第一外设连接端口,并且与所述转接单元从设备端连接的所述第一外设连接端口对应的访问地址,可以使用所述第一外设连接端口连接有专用直接存储器存取单元时分配的访问地址。
2.根据权利要求1所述的控制系统,其特征在于,所述转接单元还设置有多个从设备端口,所述多个从设备端口中至少一个可以直接连接至其他不需要专用直接存储器存取单元的第一外设连接端口,或者连接至位于所述第一控制器内核和所述第一存储器之间的所述第一总线阵列。
3.根据权利要求1所述的控制系统,其特征在于,所述转接单元还设置有多个从设备端口,所述多个从设备端口中至少两个从设备端口分别用于连接一个能够与专用直接存储器存取单元连接的第一外设连接端口;并且所述至少两个从设备端连接的所述第一外设连接端口对应的访问地址,分别可以使用所述第一外设连接端口连接有专用直接存储器存取单元时分配的访问地址。
4.根据权利要求1-3中任意一种所述的控制系统,其特征在于,所述相应的访问地址为相同的访问地址或者通过预定算法直接计算得到的访问地址。
5.根据权利要求1-3中任意一种所述的控制系统,其特征在于,所述转接单元包括接口转接器和总线转换器,所述接口转接器包括单个输入接口、多个输出接口,所述总线转换器将输入的第一类型总线协议的数据转换为第二类型总线协议的数据。
6.一组控制系统,其特征在于,包括:
第一控制系统,所述第一控制系统为如权利要求1-5中任意一种所述的控制系统;和
第二控制系统,所述第二控制系统包括:
第二控制器内核、第二存储器、以及位于所述第二控制器内核和所述第二存储器之间的第二总线阵列,所述第二总线阵列被设置成在所述第二控制器内核和所述第二存储器之间进行总线交联和仲裁;
第二大容量存储器控制单元、第二通用直接存储器存取单元,所述第二总线阵列还被设置成在所述第二大容量存储器控制单元和所述第二通用直接存储器存取单元之间进行总线交联和仲裁;以及
直接连接有第二外设连接端口的专用直接存储器存取单元;
其中,所述第一控制系统中与所述第一通用直接存储器存取单元通过所述转接单元连接的所述第一外设连接端口被分配的访问地址,和所述第二控制系统中与所述专用直接存储器存取单元连接的所述第二外设连接端口被分配的访问地址相对应。
7.根据权利要求6所述的一组控制系统,其特征在于,当所述第一控制系统中与所述第一总线阵列连接的所述第一存储器或其他外设,与所述第二控制系统中与所述第二总线阵列连接的所述第二存储器或其他外设相同时,所述第一控制系统中与所述第一总线阵列连接的所述第一存储器或其他外设的访问地址,也分别被分配与所述第二控制系统中与所述第二总线阵列连接的所述第二存储器或其他外设相应的访问地址。
8.一种控制系统的设计方法,其特征在于,所述控制系统包括:第一控制器内核、第一存储器、以及位于所述第一控制器内核和所述第一存储器之间的第一总线阵列,所述第一总线阵列被设置成在所述第一控制器内核和所述第一存储器之间进行总线交联和仲裁;第一大容量存储器控制单元、第一通用直接存储器存取单元,所述第一总线阵列还被设置成在所述第一大容量存储器控制单元和所述第一通用直接存储器存取单元之间进行总线交联和仲裁;所述设计方法包括:
在与所述第一通用直接存储器存取单元连接的所述第一总线阵列上设置转接单元;所述转接单元的主设备端连接至所述第一总线阵列,所述转接单元的一个从设备端连接有一个能够与专用直接存储器存取单元连接的第一外设连接端口;
与所述转接单元从设备端连接的所述第一外设连接端口对应的访问地址,可以使用所述第一外设连接端口连接有专用直接存储器存取单元时分配的访问地址。
9.根据权利要求8所述的方法,其特征在于,当所述转接单元还设置有多个从设备端口,所述多个从设备端口中至少两个从设备端口分别用于连接一个能够与专用直接存储器存取单元连接的第一外设连接端口时,所述至少两个从设备端连接的所述第一外设连接端口对应的访问地址,分别可以使用与所述第一外设连接端口连接有专用直接存储器存取单元时分配的访问地址。
10.根据权利要求8或9所述的方法,其特征在于,还包括:在设计所述第一控制系统之前,已经完成第二控制系统中第一外设连接端口和存储器的访问地址设计,并且所述第二控制系统设置有与所述第一控制系统相同的所述第一控制器内核、所述第一存储器、所述第一总线阵列、所述第一大容量存储器控制单元、所述第一通用直接存储器存取单元,所述第二控制系统还包括与所述第一外设连接端口对应的专用直接存储器存取单元;所述第二控制系统中的第一外设连接端口已经被分配指定的访问地址。
11.一种电子装置,其特征在于,包括:如权利要求1-5中任意一种所述的第一控制系统,以及与所述第一控制系统连接的外围器件。
12.一组电子装置,其特征在于,包括:第一电子装置和第二电子装置,其中,所述第一电子装置包括如权利要求6或7所述一组控制系统中的第一控制系统、以及与所述第一控制系统连接的第一外围器件;所述第二电子装置包括如权利要求6或7所述一组控制系统中的第二控制系统、以及与所述第二控制系统连接的第二外围器件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910152017.1A CN109933553B (zh) | 2019-02-28 | 2019-02-28 | 一种控制系统及其设计方法、一组控制系统、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910152017.1A CN109933553B (zh) | 2019-02-28 | 2019-02-28 | 一种控制系统及其设计方法、一组控制系统、电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109933553A true CN109933553A (zh) | 2019-06-25 |
CN109933553B CN109933553B (zh) | 2020-09-29 |
Family
ID=66986243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910152017.1A Active CN109933553B (zh) | 2019-02-28 | 2019-02-28 | 一种控制系统及其设计方法、一组控制系统、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109933553B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506437A (zh) * | 2020-12-10 | 2021-03-16 | 上海阵量智能科技有限公司 | 芯片、数据搬移方法和电子设备 |
CN113485957A (zh) * | 2021-06-25 | 2021-10-08 | 厦门码灵半导体技术有限公司 | 适用于工业级应用场景的用于物理层的多协议系统控制装置和多协议系统控制方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1365058A (zh) * | 2001-01-09 | 2002-08-21 | 深圳市中兴集成电路设计有限责任公司 | 一种通用异步串口控制器 |
CN1436333A (zh) * | 2000-06-09 | 2003-08-13 | 摩托罗拉公司 | 支持无线手持多媒体设备的集成处理器平台 |
CN1570896A (zh) * | 2003-03-20 | 2005-01-26 | 松下电器产业株式会社 | 直接存储器存取控制器 |
CN101027653A (zh) * | 2004-09-30 | 2007-08-29 | 英特尔公司 | 利用覆盖较大地址空间的转换表的地址转换性能增强 |
CN101027652A (zh) * | 2004-09-30 | 2007-08-29 | 英特尔公司 | 对于直接存储器存取地址转换的高速缓存支持 |
US20090210578A1 (en) * | 2008-02-20 | 2009-08-20 | Pusan National University Industry-University Cooperation Foundation | Apparatus of TCP/IP offload engine and method for transferring packet using the same |
CN102110072A (zh) * | 2009-12-29 | 2011-06-29 | 中兴通讯股份有限公司 | 一种多处理器完全互访的方法及系统 |
US20130019032A1 (en) * | 2011-07-11 | 2013-01-17 | Samsung Electronics Co. Ltd. | Apparatus and method for generating interrupt signal that supports multi-processor |
CN104769569A (zh) * | 2012-11-08 | 2015-07-08 | 高通股份有限公司 | 智能双倍数据速率(ddr)存储器控制器 |
CN106874224A (zh) * | 2017-02-17 | 2017-06-20 | 杭州朔天科技有限公司 | 自动搬运且适应器件的多线SPI‑Flash控制器 |
-
2019
- 2019-02-28 CN CN201910152017.1A patent/CN109933553B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1436333A (zh) * | 2000-06-09 | 2003-08-13 | 摩托罗拉公司 | 支持无线手持多媒体设备的集成处理器平台 |
CN1365058A (zh) * | 2001-01-09 | 2002-08-21 | 深圳市中兴集成电路设计有限责任公司 | 一种通用异步串口控制器 |
CN1570896A (zh) * | 2003-03-20 | 2005-01-26 | 松下电器产业株式会社 | 直接存储器存取控制器 |
CN101027653A (zh) * | 2004-09-30 | 2007-08-29 | 英特尔公司 | 利用覆盖较大地址空间的转换表的地址转换性能增强 |
CN101027652A (zh) * | 2004-09-30 | 2007-08-29 | 英特尔公司 | 对于直接存储器存取地址转换的高速缓存支持 |
US20090210578A1 (en) * | 2008-02-20 | 2009-08-20 | Pusan National University Industry-University Cooperation Foundation | Apparatus of TCP/IP offload engine and method for transferring packet using the same |
CN102110072A (zh) * | 2009-12-29 | 2011-06-29 | 中兴通讯股份有限公司 | 一种多处理器完全互访的方法及系统 |
US20130019032A1 (en) * | 2011-07-11 | 2013-01-17 | Samsung Electronics Co. Ltd. | Apparatus and method for generating interrupt signal that supports multi-processor |
CN104769569A (zh) * | 2012-11-08 | 2015-07-08 | 高通股份有限公司 | 智能双倍数据速率(ddr)存储器控制器 |
CN106874224A (zh) * | 2017-02-17 | 2017-06-20 | 杭州朔天科技有限公司 | 自动搬运且适应器件的多线SPI‑Flash控制器 |
Non-Patent Citations (2)
Title |
---|
张敏: ""基于NIOS的GSM短信报警平台的设计"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
郑挺: ""YHFT-Matrix高性能DSP软核中DMA控制器的设计与验证"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506437A (zh) * | 2020-12-10 | 2021-03-16 | 上海阵量智能科技有限公司 | 芯片、数据搬移方法和电子设备 |
CN113485957A (zh) * | 2021-06-25 | 2021-10-08 | 厦门码灵半导体技术有限公司 | 适用于工业级应用场景的用于物理层的多协议系统控制装置和多协议系统控制方法 |
CN113485957B (zh) * | 2021-06-25 | 2023-05-30 | 厦门码灵半导体技术有限公司 | 适用于工业级应用场景的用于物理层的多协议系统控制装置和多协议系统控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109933553B (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110362512B (zh) | 一种面向sca和sdr的快速系统重构方法 | |
US20030110463A1 (en) | Field programmable network processor and method for customizing a network processor | |
US20050165995A1 (en) | System of distributed microprocessor interfaces toward macro-cell based designs implemented as ASIC or FPGA bread boarding and relative COMMON BUS protocol | |
Vipin et al. | DyRACT: A partial reconfiguration enabled accelerator and test platform | |
US7360068B2 (en) | Reconfigurable signal processing IC with an embedded flash memory device | |
US7325221B1 (en) | Logic system with configurable interface | |
CN103092810B (zh) | 处理器、对处理器编程的方法以及电子设备 | |
CN102262604B (zh) | 一种并发访问方法、系统及接口装置 | |
US7165229B1 (en) | Generating optimized and secure IP cores | |
CN1313957C (zh) | 使用综合用于有效数据加载和下载的基于分组的协议的逻辑的硬件辅助的设计验证系统 | |
WO2021247614A1 (en) | Anti-congestion flow control for reconfigurable processors | |
US20040141518A1 (en) | Flexible multimode chip design for storage and networking | |
CN109933553A (zh) | 一种控制系统及其设计方法、一组控制系统、电子装置 | |
US7574679B1 (en) | Generating cores using secure scripts | |
Chang et al. | Analysis of shared-link AXI | |
CN109902044A (zh) | 一种控制系统、一组控制系统及其设计方法、电子装置 | |
Wingard | Socket-based design using decoupled interconnects | |
CN1707403A (zh) | 输入输出接口控制器 | |
Qiu et al. | A high-performance and scalable NVMe controller featuring hardware acceleration | |
CN106326172A (zh) | 一种APB总线slave接口扩展电路及其使用方法 | |
Hall | Short-Read DNA Sequence Alignment with Custom Designed FPGA-based Hardware | |
CN210038775U (zh) | 片上系统 | |
US8510478B2 (en) | Circuit comprising a microprogrammed machine for processing the inputs or the outputs of a processor so as to enable them to enter or leave the circuit according to any communication protocol | |
Mroczek | SoPC-based DMA for PCI Express DAQ cards | |
US9442788B2 (en) | Bus protocol checker, system on chip including the same, bus protocol checking method |
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 |