一种SoC装置转让专利

申请号 : CN201611028064.8

文献号 : CN106445879B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张毓

申请人 : 南京火零信息科技有限公司

摘要 :

本发明公开了一种SoC装置,包括改进的8051核、flash核、模数转换器、实时钟、串口、SPI接口、通用IO口、通信收发器、数据存储器、I2C接口,所述模数转换器、实时钟、串口、SPI接口、通用IO口、I2C接口通过SFR总线或xmem总线与8051核电性连接,所述通信收发器通过SFR总线和xmem总线与8051核电性连接,所述数据存储器通过xmem总线与8051核电性连接,所述flash核通过flash信号线与flash存取控制电路电性连接,所述flash存取控制电路通过读写总线与8051核电性连接,所述flash存取控制电路支持程序烧录。本发明可以节省存储空间、提高速度,支持8051在flash中的bank操作,采用了改进的8051核,与标准8051指令集兼容,占用芯片面积小,减少了成本和风险,简化系统设计、减少功耗和成本。

权利要求 :

1.一种SoC装置,其特征在于:包括改进的8051核、flash核、模数转换器、实时钟、串口、SPI接口、通用IO口、通信收发器、数据存储器、I2C接口,所述模数转换器、实时钟、串口、SPI接口、通用IO口通过SFR总线与8051核电性连接,所述I2C接口通过xmem总线与8051核电性连接,所述通信收发器通过SFR总线和xmem总线与8051核电性连接,所述数据存储器通过xmem总线与8051核电性连接,所述flash核通过flash信号线与flash存取控制电路电性连接,所述flash存取控制电路通过读写总线与8051核电性连接,所述flash存取控制电路支持程序烧录。

2.根据权利要求1所述的一种SoC装置,其特征在于:所述通信收发器包括配置寄存器、数据缓冲器,所述配置寄存器通过SFR总线与8051核电性连接,所述数据缓冲器通过通过xmem总线与8051核电性连接。

3.根据权利要求1所述的一种SoC装置,其特征在于:所述flash存取控制电路包括flash下载电路、flash只读电路、flash读写电路,所述flash下载电路与下载控制相连用于接收上位机数据,按页写入全部原始程序,所述flash只读电路与8051核相连作为程序空间的ROM来使用,所述flash读写电路通过8051总线与8051核相连用于部分更改flash内容,所述flash核分别与flash下载电路、flash只读电路、flash读写电路电性连接,其中所述flash只读电路与flash读写电路并联后与所述flash下载电路并联。

4.根据权利要求3所述的一种SoC装置,其特征在于:所述flash下载电路包括下载控制状态机、串口收发、串口波特率生成,所述串口波特率生成的输出端与串口收发的输入端连接,所述下载控制状态机、串口收发双向连接,所述下载控制状态机与flash信号双向连接,所述串口收发与串口信号双向连接。

5.根据权利要求3所述的一种SoC装置,其特征在于:所述flash读写电路部分更改flash内容通过在8051核的数据存储器中包含一块两用RAM,平时作为8051的数据存储器使用;当需要对flash的一部分进行改写时,就搬移一部分程序到此RAM,然后程序跳转到此RAM中运行,并对flash进行写操作;写完后跳转回flash继续运行。

6.根据权利要求1所述的一种SoC装置,其特征在于:所述改进的8051核支持bank电路,包括指令执行状态机、8051专用寄存器堆、8051输入输出控制接口和bank选择电路,所述指令执行状态机包括跳转后控制信号,所述8051专用寄存器堆内包括bank序号用于配置下次要跳入的bank的序号,所述跳转后控制信号、bank序号的输出端与bank选择电路的输入端连接,所述8051输入输出控制接口的输入端与flash核的输出端连接,所述8051输入输出控制接口、bank选择电路的输出端均与组合逻辑电路的输入端连接,所述组合逻辑电路将加bank后的地址发送给flash核。

说明书 :

一种SoC装置

技术领域

[0001] 本发明涉及芯片架构技术领域,尤其涉及一种SoC装置。

背景技术

[0002] 现在很多商用芯片都在尽可能增加集成度,从而降低成本、提高可靠性。常常一个芯片就是一个小的片上系统(SoC)。其中的CPU核一般用于数据运算和/或事务处理。高性能的CPU核常常需要license费用,并且占的芯片面积也不小。而实际应用中,常常并不需要一味追求高性能——比如,有的应用没有过大的数据量,或者有额外的协处理器分担一部分运算。在保证一定性能的前提下,简单的CPU核,以及相应的系统架构,可以简化系统设计、减少功耗和成本。此外,丰富的应用是现在嵌入式终端面临的主要问题,这意味着大量的应用程序,即需要大的程序空间。而传统8051程序空间寻址仅为64k,在面对上述应用时捉襟见肘。

发明内容

[0003] 本发明的目的是为了解决现有技术中存在的缺点,而提出的一种SoC装置。
[0004] 为了实现上述目的,本发明采用了如下技术方案:
[0005] 一种SoC装置,包括改进的8051核、flash核、模数转换器、实时钟、串口、SPI接口、通用IO口、通信收发器、数据存储器、I2C接口,所述模数转换器、实时钟、串口、SPI接口、通用IO口、I2C接口通过SFR总线或xmem总线与8051核电性连接,所述通信收发器通过SFR总线和xmem总线与8051核电性连接,所述数据存储器通过xmem总线与8051核电性连接,所述flash核通过flash信号线与flash存取控制电路电性连接,所述flash存取控制电路通过读写总线与8051核电性连接,所述flash存取控制电路支持程序烧录。
[0006] 优选的,所述通信收发器包括配置寄存器、数据缓冲器,所述配置寄存器通过SFR总线与8051核电性连接,所述数据缓冲器通过通过xmem总线与8051核电性连接。
[0007] 优选的,所述flash存取控制电路包括flash下载电路、flash只读电路、flash读写电路,所述flash下载电路与下载控制相连用于接收上位机数据,按页写入全部原始程序,所述flash只读电路与8051核相连作为程序空间的ROM来使用,所述flash读写电路通过8051总线与8051核相连用于部分更改flash内容,所述flash核分别与flash下载电路、flash只读电路、flash读写电路电性连接,其中所述flash只读电路与flash读写电路并联后与所述flash下载电路并联。
[0008] 优选的,所述flash下载电路包括下载控制状态机、串口收发、串口波特率生成,所述串口波特率生成的输出端与串口收发的输入端连接,所述下载控制状态机、串口收发双向连接,所述下载控制状态机与flash信号双向连接,所述串口收发与串口信号双向连接。
[0009] 优选的,所述flash读写电路部分更改flash内容通过在8051核的数据存储器中包含一块两用RAM,平时作为8051的数据存储器使用;当需要对flash的一部分进行改写时,就搬移一部分程序到此RAM,然后程序跳转到此RAM中运行,并对flash进行写操作;写完后跳转回flash继续运行。
[0010] 优选的,所述改进的8051核支持bank电路,包括指令执行状态机、8051专用寄存器堆、8051输入输出控制接口和bank选择电路,所述指令执行状态机包括跳转后控制信号,所述8051专用寄存器堆内包括bank序号用于配置下次要跳入的bank的序号,所述跳转后控制信号、bank序号的输出端与bank选择电路的输入端连接,所述8051输入输出控制接口的输入端与flash核的输出端连接,所述8051输入输出控制接口、bank选择电路的输出端均与组合逻辑电路的输入端连接,所述组合逻辑电路将加bank后的地址发送给flash核。
[0011] 改进的8051核是一个免费的改进过的8051 IP核,它的绝大部分指令与标准8051兼容,同时将标准8051每个机器周期中的12个时钟周期缩减为4个,大大提高了执行速度。
[0012] 模数转换器、实时钟、串口、SPI接口、通用IO口、I2C接口可以灵活的连接在SFR总线和xmem总线上,以达到在芯片中可剪裁的采用各种常见接口的目的。
[0013] 随着工艺的进步,已经有很多成熟的flash IP core可以集成到芯片中,大大减少了板级设计的复杂度。另外,现在很多应用都要求能够在线更新应用程序,这需要硬件的支持。鉴于此,我们设计flash core的硬件控制电路,使之可以正常擦写、在线更新,而在系统正常运行时作为ROM使用——CPU直接从其中读取程序代码然后运行。
[0014] 丰富的应用是现在嵌入式终端面临的主要问题,这意味着大量的应用程序,即需要大的程序空间。而传统8051程序空间寻址仅为64k,在面对上述应用时捉襟见肘。Bank操作可以将程序空间寻址范围扩展数倍。这需要软硬件两方面的支持。硬件上,我们修改了8051核中部分跳转指令的运行,再配合编译器,可以支持4个bank共128k的寻址空间。
[0015] 本发明具有以下优点:
[0016] 1.节省存储空间、提高速度:本系统增加了对片内flash的支持,上电后程序直接在flash中运行,而一般的系统是代码预先存在片外单独一块flash中,上电后先加载到片内code memory中再运行——这需要额外的代码空间和较长的上电启动时间;
[0017] 2.支持8051在flash中的bank操作,从而支持更多的应用程序——可以支持到128k,256k甚至更大的存储空间,而传统的8051核心最大支持到64k字节的存储空间;
[0018] 3.采用了改进的8051核,指令执行速度是标准8051的3倍(同样时钟的情况下);
[0019] 4.与标准8051指令集兼容,这有利于软件的继承、开发和维护;
[0020] 5.占用芯片面积小,减少了成本和风险:本方案中8051核对应的逻辑门数仅相当于1k个FPGA LE(四输入查找表逻辑单元),远小于业内常见的ARM核、MIPS核等收费内核;
[0021] 6.8051使用的是复杂指令集,相比精简指令集的CPU核(如ARM,MIPS),更容易节省代码空间。

附图说明

[0022] 图1为传统以8051为核心的SoC架构示意图;
[0023] 图2为本发明提出的一种SoC装置的架构示意图;
[0024] 图3为flash存取控制电路框图;
[0025] 图4为flash三种操作模式的切换示意图;
[0026] 图5为接口时序示意图;
[0027] 图6为flash下载电路的框图;
[0028] 图7为下载控制状态机模块的状态转换图;
[0029] 图8为8051在flash中和在PD_ram中运行两种模式下的地址映射图;
[0030] 图9为bank电路与地址映射示意图;
[0031] 图10为bank_sel更新的时序示意图;
[0032] 图11为bank切换举例示意图

具体实施方式

[0033] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
[0034] 参照图2,一种SoC装置,包括改进的8051核、flash核、模数转换器、实时钟、串口、SPI接口、通用IO口、通信收发器、数据存储器、I2C接口,8051核是一个免费的改进过的8051 IP核,其绝大部分指令与标准8051兼容,同时将标准8051每个机器周期中的12个时钟周期缩减为4个,大大提高了执行速度,所述模数转换器、实时钟、串口、SPI接口、通用IO口、I2C接口通过SFR总线或xmem总线与8051核电性连接,所述通信收发器通过SFR总线和xmem总线与8051核电性连接,所述数据存储器通过xmem总线与8051核电性连接,flash核通过flash信号线与flash存取控制电路电性连接,flash存取控制电路通过读写总线与8051核电性连接,flash存取控制电路支持程序烧录。通信收发器包括配置寄存器、数据缓冲器,所述配置寄存器通过SFR总线与8051核电性连接,所述数据缓冲器通过通过xmem总线与8051核电性连接。
[0035] 参照图1,相比传统8051系统架构上的改进共4点,如下:
[0036] (1)改进的8051核;
[0037] (2)可剪裁的各种接口;
[0038] (3)对flash存储器的支持;
[0039] (4)对bank操作的支持;
[0040] 本实施例中对flash的操作有三种需求:
[0041] (1)出厂时,要能烧写整个程序,即支持本地刷新(通过特定串口);
[0042] (2)系统运行中,要能更新一部分应用程序或数据,结合相应软件可以支持远程下载、更新;
[0043] (3)除了上述情况之外的系统正常运行过程中,要能作为程序空间被CPU读取指令。
[0044] 针对这三种需求,flash要有三种互斥的操作模式,或者说是三种操作状态。由芯片的配置管脚和8051配置寄存器来实施切换。具体列表如下:
[0045] 表1  flash操作模式
[0046]
[0047] 参照图3,为flash存取控制电路框图,flash存取控制电路包括flash下载电路、flash只读电路、flash读写电路,flash下载电路与下载控制相连用于接收上位机数据,按页写入全部原始程序,flash只读电路与8051核相连作为程序空间的ROM来使用,flash读写电路通过8051总线与8051核相连用于部分更改flash内容,flash核分别与flash下载电路、flash只读电路、flash读写电路电性连接,其中flash只读电路与flash读写电路并联后与flash下载电路并联。
[0048] 参照图4,为flash三种操作模式的切换示意图,每种操作中,接口电路都要完成两件事情:一是生成符合flash时序要求的接口信号,二是完成该操作的流程控制。
[0049] 1. 接口时序的控制,本实施例中采用128kB的NOR Flash硬IP核,接口信号分类如下表所示:
[0050] 表2 接口信号分类
[0051]
[0052] flash下载和读写模式都是主动发起对flash的操作,接口时序主要受控于接口电路本身,故而比较容易设计;而正常模式(flash作为程序空间只读)对flash的操作还取决于8051,这样就需要接口电路同时满足flash和8051的时序。因此,本实施例中以正常模式为代表介绍接口控制时序,图5为接口时序示意图,8051要求给出读使能和读地址后,flash能够在c3结束之前将数据放到DOUT上。如图5所示,在芯片系统时钟为20MHz时,这样的时序可以满足。
[0053] 参照图6为flash下载电路的框图,flash下载电路包括下载控制状态机、串口收发、串口波特率生成,串口波特率生成的输出端与串口收发的输入端连接,下载控制状态机、串口收发双向连接,下载控制状态机与flash信号双向连接,串口收发与串口信号双向连接。下载模式用于flash的烧写,即通过专用串口将8051程序固化到flash中。这些程序在芯片切换到正常模式后将由8051读取并运行。
[0054] 参照图7,串口每接收一个字节,就交由“下载控制状态机”去写入(同时串口接收下一个字节),在下一个字节接收到之前,当前的字节一定可以写入完毕。这样可以达到流水操作的效果,以提高效率;相对于“flash下载”模式中的全部擦写,部分擦写通常只会更改flash中的一小部分内容,大致有两种:一是远程下载的需要更新的部分程序,或者需要增加的新的应用程序,统称为程序的在线更新;二是运行中部分需要永久保存或半永久保存的数据,也可以存入。
[0055] 由于该flash在擦写的同时,无法从其中读取内容,所以这时8051不能把flash当成rom来读取。解决的办法是先把一小部分程序搬移到一块ram(PD_ram)中,并让程序在其中运行,这样才可以对flash进行改写。
[0056] 如图8所示,flash读写电路部分更改flash内容通过在8051核的数据存储器中包含一块两用RAM,平时作为8051的数据存储器使用;当需要对flash的一部分进行改写时,就搬移一部分程序到此RAM,然后程序跳转到此RAM中运行,并对flash进行写操作;写完后跳转回flash继续运行,8051在flash中和在PD_ram中运行,对应不同的地址映射。
[0057] 其中,D_ram一直用作数据空间,而另有一小块PD_ram在正常模式下用作数据空间,在flash读写模式下用作程序空间。此时,PD_ram中的程序是在进入flash读写模式之前从flash中搬移过来的,主要完成flash的擦写功能。
[0058] 要打断正常运行来进行flash擦写,需要如下步骤:
[0059] (1)将必要的程序段从flash中搬移到PD_ram中;
[0060] (2)搬完后会有一个跳转指令,此时硬件自动完成地址映射;
[0061] (3)将需要改动的flash页映射到8051数据空间的一段(固定地址窗口);
[0062] (4)将选定的flash页的内容拷贝到D_ram中,擦除选定的flash页;
[0063] (5)对D_ram中的拷贝做必要的改写,写回到flash中;
[0064] (6)写完后会有一个跳转指令,跳回flash中运行。
[0065] 对于低数据率的嵌入式终端,常见的情况是数据存储需求小,而程序存储空间要求大,这种128kB的NOR Flash硬IP核就是针对这种情况的。传统8051程序空间的寻址为64k。为了扩展寻址空间,采用划分bank的方式,就可以扩展至128k,256k,乃至更多。这需要软硬件的支持:修改8051硬件,使相关的跳转指令能支持bank跳转;采用中继函数配合编译器实现bank跳转。
[0066] 参照图9,改进的8051核支持bank电路,包括指令执行状态机、8051专用寄存器堆、8051输入输出控制接口和bank选择电路,指令执行状态机包括跳转后控制信号,8051专用寄存器堆内包括bank序号用于配置下次要跳入的bank的序号,跳转后控制信号、bank序号的输出端与bank选择电路的输入端连接,8051输入输出控制接口的输入端与flash核的输出端连接,8051输入输出控制接口、bank选择电路的输出端均与组合逻辑电路的输入端连接,组合逻辑电路将加bank后的地址发送给flash核。
[0067] 时序如图10所示,本实施例中bank中代码的最小颗粒度是函数,并且在编译时必须经过中继函数,那么目前仅在函数返回指令(ret)运行时更新bank_sel信号即可。
[0068] 参照图11,中继函数与编译器,Bank1中的函数func X要调用bank2中的函数func Y,在调用和返回过程中分别要经过中继函数B_disp和B_ret。这两个函数都位于bank0即root_bank中。中继函数完成两个功能:一是操作栈顶,选择跳往目标函数;二是通过寄存器“bank序号”保存原bank、设置新bank,该设置在跳转指令执行时实施bank切换。
[0069] 以上,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。