片上系统

阅读:576发布:2020-05-11

专利汇可以提供片上系统专利检索,专利查询,专利分析的服务。并且本实用新型提供一种片上系统,包括:微控制单元MCU,微控制单元MCU包括第一数目个 外围设备 接口 ;现场可编程 门 阵列FPGA, 现场可编程门阵列 FPGA包括多个输入输出端;第二数目个管脚PIN;第一数目个外围设备接口中的至少一个接口一对一地耦合到多个输入输出端中的第一部分个输入输出端,第二数目个管脚PIN中的至少一个管脚PIN一对一地耦合到多个输入输出端中的空闲的输入输出端中的第二部分个输入输出端;通过配置现场可编程门阵列FPGA,在第一数目个外围设备接口中的任一外围设备接口与第二数目个管脚PIN中的任一管脚之间建立一条通路。通过此系统,能够使MCU完全自定义地封装分配外设接口管脚,由此更好地解决管脚分配的冲突。,下面是片上系统专利的具体信息内容。

1.一种片上系统,包括:
微控制单元MCU,所述微控制单元MCU包括第一数目个外围设备接口
现场可编程阵列FPGA,所述现场可编程门阵列FPGA包括多个输入输出端;
第二数目个管脚PIN;
所述第一数目个外围设备接口中的至少一个接口一对一地耦合到所述多个输入输出端中的第一部分个输入输出端,所述第二数目个管脚PIN中的至少一个管脚PIN一对一地耦合到所述多个输入输出端中的空闲的输入输出端中的第二部分个输入输出端;
通过配置所述现场可编程门阵列FPGA,在所述第一数目个外围设备接口中的任一外围设备接口与所述第二数目个管脚PIN中的任一管脚之间建立一条通路。
2.如权利要求1所述的片上系统,其中,所述通路通过下述方式建立:所述现场可编程门阵列FPGA还包括多个路由交叉开关和多条总线,每个路由交叉开关在四个方向上通过与之相耦合的总线耦合至最近的邻居路由交叉开关或所述输入输出端。
3.如权利要求2所述的片上系统,其中,所述通路是所述外围设备接口与所述管脚之间建立的最短通路。
4.如权利要求3所述的片上系统,其中,所述最短通路为二叉树的最小深度。
5.如权利要求1-4中任一项所述的片上系统,其中,所述多个输入输出端的数目大于或等于所述第一数目与所述第二数目之和。
6.如权利要求1-4中任一项所述的片上系统,其中,所述外围设备接口选自下述中的一种或多种:内存接口、闪存接口、计数器接口、模/数转换接口、通用异步收发传输器接口和串行外设接口。
7.如权利要求5所述的片上系统,其中,所述外围设备接口选自下述中的一种或多种:
内存接口、闪存接口、计数器接口、模/数转换接口、通用异步收发传输器接口和串行外设接口。

说明书全文

片上系统

技术领域

[0001] 本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种片上系统。

背景技术

[0002] 随着计算机技术的发展,微控制单元(Microcontroller Unit,MCU)得到了迅猛的发展。MCU又称单片微型计算机(Single Chip Microcomputer)或者单片机,是把中央处理器(Central Process Unit,CPU)的频率与规格做适当缩减,并将内存(Memory)、闪存(NAND)、计数器(Timer)、通用串行总线(Universal Serial Bus;USB)、模/数(A/D)转换、通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)、串行外设接口(Serial Peripheral Interface,SPI)等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。
[0003] 现有市场上绝大部分的MCU产品,很多外设接口是复用到芯片封装固定的管脚上,这限制了用户在印制电路板(Printed Circuit Board,PCB)上相关器件的放置,也导致用户的应用可能会出现管脚分配的冲突,想要用的外设接口在某些封装上无法满足需求,而不得不选用成本更高管脚更多的封装。有时,在产品即将投入市场时,用户突然发现需要对此产品进行改动以添加某些外设接口或重新分配管脚,但是面对这种基于固定的MCU管脚的产品,用户有可能不得不重新设计PCB。PCB的重新设计使得产品上市的时间大大延长。虽然市场上也有个别MCU产品可以部分地有限度地分配外设接口的管脚,但也不能完全自定义地封装分配管脚。
[0004] 因此,希望能有改进的方案,提供一种片上系统使MCU完全自定义地封装分配外设接口管脚,更好地解决管脚分配的冲突。发明内容
[0005] 本说明书一个或多个实施例描述了一种片上系统,能够使MCU完全自定义地封装分配外设接口管脚,由此更好地解决管脚分配的冲突。
[0006] 根据第一方面,提供一种片上系统,包括:
[0007] 微控制单元MCU,所述微控制单元MCU包括第一数目个外围设备接口;
[0008] 现场可编程阵列FPGA,所述现场可编程门阵列FPGA包括多个输入输出端;
[0009] 第二数目个管脚PIN;
[0010] 所述第一数目个外围设备接口中的至少一个接口一对一地耦合到所述多个输入输出端中的第一部分个输入输出端,所述第二数目个管脚PIN中的至少一个管脚PIN一对一地耦合到所述多个输入输出端中的空闲的输入输出端中的第二部分个输入输出端;
[0011] 通过配置所述现场可编程门阵列FPGA,在所述第一数目个外围设备接口中的任一外围设备接口与所述第二数目个管脚PIN中的任一管脚之间建立一条通路。
[0012] 可选地,所述通路通过下述方式建立:所述现场可编程门阵列FPGA还包括多个路由交叉开关和多条总线,每个路由交叉开关在四个方向上通过与之相耦合的总线耦合至最近的邻居路由交叉开关或所述输入输出端。
[0013] 可选地,所述通路是所述外围设备接口与所述管脚之间建立的最短通路。
[0014] 可选地,所述最短通路为二叉树的最小深度。
[0015] 可选地,所述多个输入输出端的数目大于或等于所述第一数目与所述第二数目之和。
[0016] 可选地,所述外围设备接口选自下述中的一种或多种:内存接口、闪存接口、计数器接口、模/数转换接口、通用异步收发传输器接口和串行外设接口。附图说明
[0017] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,相同的部件用相同的附图标记表示。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0018] 图1示出了根据一个实施例的片上系统SOC 10的示意性框图
[0019] 图2示出了FPGA 15的一部分示意图;
[0020] 图3示出了根据一个实施例的片上系统SOC 30管脚分配示意图;
[0021] 图4示出了根据一个实施例的片上系统SOC 40管脚分配示意图。

具体实施方式

[0022] 下面结合附图,对本说明书提供的方案进行描述。
[0023] 首先,介绍一下现场可编程门阵列(Field-Programmable Gate Array,FPGA)。现场可编程门阵列FPGA是在可编程阵列逻辑(Programmable Array Logic,PAL)、通用阵列逻辑(Generic Array Logic,GAL)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(Application Specific Integrated Circuits,ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA有着规整的内部逻辑阵列和丰富的连线资源,其可编程性和高绕通性,能够非常灵活且方便地帮助用户分配外设管脚,最大程度地适应不同用户的不同的应用场景。
[0024] 图1示出了根据一个实施例的片上系统SOC 10的示意性框图。如图1所示,片上系统SOC 10包括一个MCU 13,一个FPGA 15和若干个管脚(PIN)170。MCU 13包括若干个外围设备接口132。FPGA 15包括多个输入输出端152。外围设备接口132一对一地耦合到输入输出端152。输入输出端152的空闲的输入输出端的一部分一对一地耦合到PIN 170。
[0025] 尽管图1中示出了在MCU的右侧布置了5个外围设备接口132,但是本领域技术人员可以理解的是,任意数目的外围设备接口132可以布置在MCU的任何合适的地方。例如,外围设备接口132的数目可以是1,2,3,4,5,6,7,8,9,10,任何合适的数目。在一个例子中,外围设备接口132布置在MCU 13的上部、下部和左侧。在一个例子中,外围设备接口132布置在MCU 13的上部。在一个例子中,外围设备接口132布置在MCU 13的下部。在一个例子中,外围设备接口132布置在MCU 13的左侧。
[0026] 图1中仅示出了MCU 13右侧的外围设备接口132与FPGA 15左侧的输入输出端152一对一耦合。但是本领域技术人员可以理解的是,布置于MCU 13其他合适位置处的外围设备接口132可以与布置于FPGA 15任意合适位置处的输入输出端152一对一耦合。例如,布置于MCU 13上部的外围设备接口132与布置于FPGA 15右侧的输入输出端152一对一耦合。例如,布置于MCU 13左侧的外围设备接口132与布置于FPGA 15下部的输入输出端152一对一耦合。显然,本领域技术人员可以理解的是,外围设备接口132与输入输出端152一对一耦合不受双方具体位置的限制。图1示出了MCU 13右侧的4个外围设备接口均一对一耦合到了输入输出端,但是可以理解的是,一对一耦合到输入输出端的外围设备接口并不必须是全部4个,也可以少于4个,例如3个,2个,1个,任何大于或等于1且小于或等于全部个数的数目都是可以的。
[0027] 在图1中,示出了SOC 10包括7个PIN 170。但是本领域技术人员可以理解的是,任意数目的PIN 170可以布置在SOC 10的任何合适的地方。例如,PIN 170的数目可以是1,2,3,4,5,6,7,8,9,10,任何合适的数目。图中仅示出了PIN 170布置在SOC 10的右侧,但本领域技术人员可以理解的是,PIN 170还可以布置在SOC 10的上部、左部或下部,四周任何合适的位置。图1中,布置于FPGA 15右侧的空闲的输入输出端152与布置于SOC 10右侧的PIN 
170一对一耦合。但是本领域技术人员可以理解的是,布置于FPGA 15其他合适位置处的空闲的输入输出端152可以与布置于SOC 10的任意合适位置处的PIN 170一对一耦合。例如,布置于FPGA 15上部的空闲的输入输出端152与布置于SOC 10左侧的PIN 170一对一耦合。
例如,布置于FPGA 15下部的空闲的输入输出端152与布置于SOC 10下部的PIN 170一对一耦合。显然,本领域技术人员可以理解的是,输入输出端152与PIN 170一对一耦合不受双方具体位置的限制。
[0028] 图1示出了SOC 10的7个PIN均一对一耦合到了输入输出端,但是可以理解的是,一对一耦合到输入输出端的PIN并不必须是全部7个,也可以少于7个,例如6个,5个,4个,3个,2个,1个,任何大于或等于1且小于或等于全部个数的数目都是可以的。
[0029] 图1中示出了FPGA 15包括19个输入输出端152,但是本领域技术人员可以理解的是,任意数目的输入输出端152可以布置在FPGA 15的任何合适的地方。例如,输入输出端152的数目可以是2,3,4,5,6,7,8,9,10,11,任何大于或等于外围设备接口132与PIN 170数目之和的数目都是可以的。
[0030] 尽管图1中所示的输入输出端152与外围设备接口132直接通过总线耦合,但是可以理解的是,输入输出端152与外围设备接口132之间也可以通过其他方式耦合,例如,输入输出端152与外围设备接口132之间还可以有其他元器件,例如,电容、电阻等。同理,输入输出端152与管脚PIN 170之间除了通过总线直接耦合外,也可以通过其他方式耦合,例如,输入输出端152与管脚PIN 170之间可以有其他元器件,例如,电容、电阻等。
[0031] 图2示出了FPGA 15的一部分示意图。如图2所示,FPGA 15包括多个输入输出端,多个可配置的通用逻辑和多个路由交叉开关(Crossbar)。在一个例子中,诸如逻辑块230之类的每个逻辑块可以包括多个四输入查找表(LUT)和多个可配置的一位序向单元,每一个序向单元可以配置为触发器或存器。路由交叉开关形成二维路由网络,该二维路由网络在逻辑块和输入输出端之间提供可配置的耦合,每个路由交叉开关在四个方向耦合至最近的邻居路由交叉开关并耦合至逻辑块或输入输出端。例如,路由交叉开关210通过总线270和路由交叉开关213耦合,通过总线279和输入输出端152耦合。例如,路由交叉开关215通过总线271、277,273和275耦合至最近的邻居路由交叉开关213、217、219和220。诸如逻辑块230之类的每个逻辑块耦合至诸如路由交叉开关210之类的一个路由交叉开关。
[0032] 图3示出了根据一个实施例的片上系统SOC 30管脚分配示意图。如图3所示,SOC 30包括MCU 33,FPGA 35和若干个PIN(370至381)。在一个例子中,外部设备A(未示出)通过PIN 374往MCU 33上的内存(未示出)写入数据。PIN 374通过总线耦合到FPGA 35的输入输出端354,输入输出端354通过总线耦合到路由交叉开关313,路由交叉开关313通过总线路由到路由交叉开关317,路由交叉开关317通过总线路由到路由交叉开关316,路由交叉开关
316通过总线路由到路由交叉开关315,路由交叉开关315通过总线路由到路由交叉开关
314,路由交叉开关314通过总线耦合到输入输出端383,输入输出端383通过总线耦合到外围设备接口333,外围设备接口333耦合到内存。通过配置FPGA 35,建立了一条从PIN 374到内存的通路,外围设备A将数据写入内存。
[0033] 在一个例子中,外部设备B(未示出)通过PIN 374从MCU 33上的内存读出数据。首先,内存通过外围设备接口333经过总线耦合到输入输出端383,输入输出端383通过总线耦合到路由交叉开关314,路由交叉开关314通过总线路由到路由交叉开关310,路由交叉开关310通过总线路由到路由交叉开关311,路由交叉开关311通过总线路由到路由交叉开关
312,路由交叉开关312通过总线路由到路由交叉开关313,路由交叉开关313通过总线耦合到输入输出端354,输入输出端354通过总线耦合到PIN 374。通过配置FPGA 35,从内存到PIN 374建立了一条通路,外围设备B从内存读出数据。
[0034] 尽管在上述例子中,通过配置FPGA 35,在外围设备接口333到PIN 374之间建立了两条不同的通路。但本领域技术人员可以理解的是,在外围设备接口333到PIN 374之间,通过配置FPGA 35可以建立多条通路。基于时效考虑,建立通路时,首先建立最短的通路,如果最短通路已被占用,则选择次短通路,依此类推。在一个例子中,最短通路通过计算二叉树的最小深度得出。显然,本领域技术人员可以理解的是,任何适合用来计算最短通路的算法都是可以的。
[0035] 图4示出了根据一个实施例的片上系统SOC 40管脚分配示意图。如图4所示,SOC 40包括MCU 43,FPGA 45和若干个PIN(470至481)。在一个例子中,外部设备C(未示出)正通过PIN474经过外围设备接口433从MCU 43上的内存(未示出)读取数据,如图虚线框中所示,PIN 474通过输入输出端454、路由交叉开关413、路由交叉开关417、路由交叉开关416、路由交叉开关415、路由交叉开关414、输入输出端483以及相关总线与外围设备接口433建立了一条通路。此时,外围设备D(未示出)需要从MCU 43上的闪存(未示出)读取数据,闪存与外围设备接口435相耦合。管脚PIN 474已被占用,外围设备D可以从空闲的管脚PIN中任选一个PIN耦合,例如,外围设备D耦合到PIN 481。PIN 481通过总线耦合到输入输出端461,输入输出端461通过总线耦合到路由交叉开关425,路由交叉开关425通过总线路由到路由交叉开关424,路由交叉开关424通过总线路由到路由交叉开关420,路由交叉开关420通过总线路由到路由交叉开关419,路由交叉开关419通过总线路由到路由交叉开关418,路由交叉开关418通过总线耦合到输入输出端484,输入输出端484通过总线耦合到外围设备接口435,外围设备接口435耦合闪存。通过配置FPGA 45,在PIN 481与MCU 43上的闪存之间建立了一条通路,外部设备D从闪存中读取数据。
[0036] 显然,当外部设备需要与MCU 43建立耦合时,可以从空闲的管脚PIN中选择任意一个管脚,通过配置FPGA 45在管脚PIN与外围设备接口之间建立一条通路。尽管图中仅示出了4﹡4的路由交叉开关阵列,但是本领域技术人员可以理解的是,任何合适数目的路由交叉开关阵列都是可以的。
[0037] 通过以上系统,能够使MCU完全自定义地封装分配外设接口管脚,由此更好地解决管脚分配的冲突。
[0038] 以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈