首页> 中国专利> 一种易于实现的SOC内置高精度RC Oscillator的校准系统

一种易于实现的SOC内置高精度RC Oscillator的校准系统

摘要

本发明涉及集成电路领域,特别是涉及超大规模集成电路(VLSI)领域的设计方法。一种易于实现的SOC内置高精度RC Oscillator的校准系统,其特征在于:包括片外基准,以及通过复用IO连接的集成电路,所述的集成电路包括片内时钟校准逻辑,片内时钟校准逻辑与复用IO连接,所述的片内时钟校准逻辑与片内RC振荡电路连接,片内RC振荡电路连接有复用输出端,所述片内RC振荡电路和复用输出端之间反馈信号给片内时钟校准逻辑,所述的片内时钟校准逻辑还连接有片内FLASH。本发明提出一种易于实现的、高效的、低成本的、可靠的方法,实现高精度的Oscillator的校准。

著录项

  • 公开/公告号CN106066661A

    专利类型发明专利

  • 公开/公告日2016-11-02

    原文格式PDF

  • 申请/专利权人 中南大学;

    申请/专利号CN201610543567.2

  • 申请日2016-07-12

  • 分类号G06F1/08(20060101);

  • 代理机构贵阳派腾阳光知识产权代理事务所(普通合伙);

  • 代理人管宝伟

  • 地址 410083 湖南省长沙市麓山南路932号中南大学

  • 入库时间 2023-06-19 00:43:59

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-08

    授权

    授权

  • 2016-11-30

    实质审查的生效 IPC(主分类):G06F1/08 申请日:20160712

    实质审查的生效

  • 2016-11-02

    公开

    公开

说明书

技术领域

本发明涉及集成电路领域,特别是涉及超大规模集成电路(VLSI)领域的设计方法。

背景技术

近年来,集成电路行业受到国家政策支持力度加大和市场需求形势趋好的推动作用下,整体复苏态势强劲,产销增长加快,效益大幅提升,国内产业实力进一步增强,对提高我国电子信息产业核心竞争力发挥了积极作用,整体产业呈现一派欣欣向荣的气象。但是,我们仍然不能忽视集成电路产业是一个高风险、高投入的产业,传统设计方式具有如下劣势:工艺离散性强,不可控性高,开发周期长,一般需多次MPW shutle,效率低下,致使产品成本高。

发明内容

本发明的目的是针对SOC内置RC Oscillator的校准问题,针对当前形势提出一种易于实现的、高效的、低成本的、可靠的方法,实现高精度的Oscillator的校准。

本发明的技术方案如下:

一种易于实现的SOC内置高精度RC Oscillator的校准系统,其特征在于:包括片外基准,以及通过复用IO连接的集成电路,所述的集成电路包括片内时钟校准逻辑,片内时钟校准逻辑与复用IO连接,所述的片内时钟校准逻辑与片内RC振荡电路连接,片内RC振荡电路连接有复用输出端,所述片内RC振荡电路和复用输出端之间反馈信号给片内时钟校准逻辑,所述的片内时钟校准逻辑还连接有片内FLASH。

所述的片外基准为通用PC机;所述的复用IO为IC与外界通讯端口;所述的片内时钟校准逻辑,为纯数字电路;所述的片内RC振荡电路,主要为模拟电路,所述的片内FLASH一般为通用CMOS flash macro,进一步的,复用IO(Pin2、Pin3)采用复用的形式,因此,没有占用有限的IO资源;减少IO有利于控制芯片晶圆面积,从而降低成本;在外部设备兼容复用IO的电平模式前提下,能实现稳定通讯,并且具有合理的ESD保护电路。因此,复用到GPIO上,一定程度上能保障电气安全性和稳定性。

进一步的说,所述的片内RC振荡电路设置有与可微调电阻连接的第一接口,我们不必过多的顾虑集成电路的工艺离散性;从而缩短了设计周期,规避了风险,提高了效率;同时,采用所述的校准系统后,所述的片内RC振荡电路不必过度的追求一致性和频率精准;因此,电路结构简单,面积较小。

进一步的说,所述的片内RC振荡电路输出的信号作为片内时钟校准逻辑的时钟信号;所述的片内RC振荡电路的输出信号clk_out,既作为被校准信号,也作为片内时钟校准逻辑工作的时钟信号,因此片内无需其他辅助时钟。

用于权利要求1的校准系统的校准方法,其特征在于:包括以下步骤:

s01:片内时钟校准逻辑从片内FLASH中导出校准信息到片内时钟校准逻辑。

s02:判断导出的数据,如果为FFH,表明导出的信息无效;因为擦除后的CMOS flash macro,所有空间都为FFH,读出FFH表明此空间没有存储过信息,校准字节也不允许为FFH;如果判断数据为FFH则转入s03,否则转入s12,将此数据导入到adj_byte;

s03:已经进入校准阶段,IC内部等待外部基准信号的到来;

s04:等待人工指令启动外部基准;如果没有指令则返回s03,否则到s05;

s05:IC内部计数器启动,用clk_out来计数低电平的宽度;片外基准PC以固定的波特率发送00H字节,因此,应该收到9bit宽度的低电平;

s06:通过比较即时计数值与目标值,来判断自校准是否完成;如果完成则以同样的波特率反馈成功字节AAH;如果没有完成则到s10,S10先判断是否已经到达扫描边界;如果没有到达边界,则到S11,S11反馈失败字节55H后,进入到s05,循环校准;如果到达边界,则直接到达s07反馈成功字节AAH。外部基准PC在判断接收的数据的时候应该注意:接收的失败字节55H,由于时钟没有校准,因此波特率不同,可能不是55H;

s07反馈成功字节AAH的时候,如果外部基准PC收到不是AAH,也说明没有成功。总之:外部基准PC没有收到AAH视为没有校准完、或者没校准成功;

s08:此处,校准已经成功完成,进入记录校准字节的阶段,我们将此时adj_byte信息写入FLASH中;

s09:写入完成,退出操作,校准结束。

用于权利要求1的校准系统的片内时钟校准逻辑的校准方法:复用IO传递给片内时钟校准逻辑的信号通道为RX,称为片内RX,片内时钟校准逻辑向复用IO传递信号的通道为TX,称为片内TX;

其特征在于:包括以下步骤:

s01:片内时钟校准逻辑从片内FLASH中导出校准信息到片内时钟校准逻辑;

s02:判断导出的数据,如果为FFH,表明导出的信息无效。因为擦除后的CMOS flash macro,所有空间都为FFH,读出FFH表明此空间没有存储过信息,校准字节也不允许为FFH;如果判断数据为FFH则转入s03,否则转入s28;

s03:将adj_byte设置为中间值80H,并进入standby模式,等待基准信号。

s04:判断片内RX是否有下降沿到来。Uart的空闲状态下是高电平,一旦有下降沿到来,表示有信息进入IC;

s05:启动计数器,用clk_out计数低电平信号的宽度。片外基准PC以固定的波特率发送00H字节,因此,应该收到9bit宽度的低电平;

s06:判断片内RX是否有上升沿到来。上升沿到来表示一个字节传递结束。记录此时计数器的值,与目标值进行对比如果小于目标值表明内部频率偏小,则到s07,,否则到s15;

s07:将adj_byte设置为最小值00H;即clk_out此时输出最大频率;

s08:通过片内TX,返回错误字节55H;

s09:讲计数器清零,并进入standby模式,等待片内RX下一次下降沿到来;

s10:启动计数器,用更新后的clk_out重新计数低电平信号的宽度;

s11:判断clk_out是否调整为最大频率。如果不是则到s12,否则到s13;

s12:在最大频率大于目标频率的前提下,进入顺序微调频率的过程。在顺序调整过程中,必然有adj_byte等于00H的条件下记录宽度大于目标值,因此,顺序增加adj_byte就能使clk_out逐渐逼近目标。监测片内RX上升沿到来时,记录计数器的值,一旦出现记录值小于目标值,则跳出到s23(意味着内部频率达到目标);否则转到s14,经过s14的微调后,再返回s08;

s13:在adj_byte等于00H的条件下,判断内部最大频率是否大于目标。如果大于则具备调整的条件,从而进入s14来顺序微调,否则不具备调整的条件,应该直接跳出到s23;

s14:逐次递增微调的过程;

s15:将adj_byte设置为最小值FFH;即clk_out此时输出最小频率;

s16:通过片内TX,返回错误字节55H;

s17:讲计数器清零,并进入standby模式,等待片内RX下一次下降沿到来;

s18:启动计数器,用更新后的clk_out重新计数低电平信号的宽度;

s19:判断clk_out是否调整为最小频率。如果不是则到s20,否则到s21;

s20:在最小频率小于目标频率的前提下,进入顺序微调频率的过程。在顺序调整过程中,必然有adj_byte等于FFH的条件下记录宽度小于目标值,因此,顺序减小adj_byte就能使clk_out逐渐逼近目标。监测片内RX上升沿到来时,记录计数器的值,一旦出现记录值大于目标值,则跳出到s23(意味着内部频率达到目标);否则转到s22,经过s22的微调后,再返回s16;

s21:在adj_byte等于FFH的条件下,判断内部最小频率是否小于目标。如果小于则具备调整的条件,从而进入s22来顺序微调,否则不具备调整的条件,应该直接跳出到s23;

s22:逐次递减微调的过程;

s23:校准成功,立即返回AAH。因为时钟已经达到目标,上位机可以收到此信息。注意:不具备调整空间的情况也转到此步骤,需要一定的时间,才能使外部基准意识到内部发生了越界的情况;

s24:接收新命令;

s25:判断是否为写命令;

s26内部收到异常命令,则直接将命令返回。一般情况,说明校准发生了错误,或者内部内部发生了越界,不具备校准的条件;

s27:校准成功,结束;

s28:正常情况下,将导出的有效校准信息加载到adj_byte。

综上所述,采用上述方法后,本发明的有益效果是:

1、从很大程度上解决了集成电路设计过程中,由于工艺离散,导致设计风险高的问题,并且没有特定的工艺要求,具有普遍性;

2、校准系统简单,辅助设备随处可见,因此,应用广泛,易于实现;

3、引入两分法作为校准算法,协议简单,且分时操作,高效可靠;

4、被校准信号clk_out的阶段性输出方式(Pin1),简洁巧妙,技术可控性高;

5、通讯端口复用,逻辑结构高效,片内RC振荡器电路结构简单,从而节省了片内资源,控制了晶圆面积,从最根本上降低了成本。

附图说明

图1绘示为RC Oscillator的校准系统的框图;

图2绘示为图1中所示方法的流程图;

图3绘示为图1中所示方法的IO复用电路图;

图4绘示为图1中所示方法的外部基准PC的操作流程;

图5绘示为图1中所示方法的片内时钟校准逻辑的流程图;

图6绘示为图1中通讯数据格式和时序图;

具体实施方式

下面结合附图和具体实施例对本发明进一步说明。

如图1所示的一种易于实现的SOC内置高精度RC Oscillator的校准系统,其特征在于:包括片外基准,以及通过复用IO连接的集成电路,所述的集成电路包括片内时钟校准逻辑,片内时钟校准逻辑与复用IO连接,所述的片内时钟校准逻辑与片内RC振荡电路连接,片内RC振荡电路连接有复用输出端,所述片内RC振荡电路和复用输出端之间反馈信号给片内时钟校准逻辑,所述的片内时钟校准逻辑还连接有片内FLASH。

片内RC振荡电路为一种简单的电路形式。此电路的输出时钟clk_out频率Fclk_out近似等于2.2RC。其中C为图中所示的电容,R为所示电阻。在R下方有R1……RX网络,起到补偿的作用,用于微调R的值,可以通过数字接口adj_byte来实现微调。片内时钟校准逻辑是核心部件,需要做到高效、可靠。片内时钟校准逻辑基于clk_out工作,解析RX的信息,依据其调整adj_byte的值,并通过TX反馈信息至片外。最终校准后的信息被保留在图中所示的片内FLASH当中。这种CMOS flash macro具有极佳的反复操作性,因此,使用所述方法来校准的RC振荡电路,具备反复校准的功能。这样可以解决温度漂移、电压变化等因素所引起的输出频率变化问题。

所述的片外基准为通用PC机;可以通过RS232端口或者USB端口跟被测IC建立物理连接。这种连接线市场上比比皆是,具有广泛的技术基础。大大减轻了校准系统搭建过程中的工作量。

所述的复用IO为IC与外界通讯端口;如图3所示,这是复用IO的复用电路。GPIO一般都用到图示的双向IO PAD,作为兼容内外电平的Level shift问题。图中普通数据输出(GPIO数据输出)和RC校准数据输出(片内TX)采用二选一的结构,选择端为RC校准方向输出,此电路保障RC校准数据输出的优先级高于普通数据输出。RC校准方向输出和普通方向输出(GPIO方向输出)进行或运算,或门输出端控制IO PAD的输出使能端。输入端分别数据引入到普通数据输入(GPIO数据输入)和RC校准数据输人(片内RX)。

所述的片内时钟校准逻辑,为纯数字电路;所述的片内RC振荡电路,主要为模拟电路,所述的片内FLASH一般为通用CMOS flash macro,进一步的,复用IO(Pin2、Pin3)采用复用的形式,因此,没有占用有限的IO资源;减少IO有利于控制芯片晶圆面积,从而降低成本;在外部设备兼容复用IO的电平模式前提下,能实现稳定通讯,并且具有合理的ESD保护电路。因此,复用到GPIO上,一定程度上能保障电气安全性和稳定性。

进一步的说,所述的片内RC振荡电路设置有与可微调电阻连接的第一接口,我们不必过多的顾虑集成电路的工艺离散性;从而缩短了设计周期,规避了风险,提高了效率;同时,采用所述的校准系统后,所述的片内RC振荡电路不必过度的追求一致性和频率精准;因此,电路结构简单,面积较小。

进一步的说,所述的片内RC振荡电路输出的信号作为片内时钟校准逻辑的时钟信号;所述的片内RC振荡电路的输出信号clk_out,既作为被校准信号,也作为片内时钟校准逻辑工作的时钟信号,因此片内无需其他辅助时钟。

如图2所示,用于权利要求1的校准系统的校准方法,图中描述了adj-_byte为8bit的情况。8bit的校准字节,在一般的CMOS工艺下(例如CMOS180nm、110nm)可以保障clk_out的误差范围控制在1%以内,图中描述了上电之后的每个步骤的状态,包括以下步骤:

s01:片内时钟校准逻辑从片内FLASH中导出校准信息到片内时钟校准逻辑。

s02:判断导出的数据,如果为FFH,表明导出的信息无效;因为擦除后的CMOS flash macro,所有空间都为FFH,读出FFH表明此空间没有存储过信息,校准字节也不允许为FFH;如果判断数据为FFH则转入s03,否则转入s12,将此数据导入到adj_byte;

s03:已经进入校准阶段,IC内部等待外部基准信号的到来;

s04:等待人工指令启动外部基准;如果没有指令则返回s03,否则到s05;

s05:IC内部计数器启动,用clk_out来计数低电平的宽度;片外基准PC以固定的波特率发送00H字节,因此,应该收到9bit宽度的低电平;

s06:通过比较即时计数值与目标值,来判断自校准是否完成;如果完成则以同样的波特率反馈成功字节AAH;如果没有完成则到s10,S10先判断是否已经到达扫描边界;如果没有到达边界,则到S11,S11反馈失败字节55H后,进入到s05,循环校准;如果到达边界,则直接到达s07反馈成功字节AAH。外部基准PC在判断接收的数据的时候应该注意:接收的失败字节55H,由于时钟没有校准,因此波特率不同,可能不是55H;

s07反馈成功字节AAH的时候,如果外部基准PC收到不是AAH,也说明没有成功。总之:外部基准PC没有收到AAH视为没有校准完、或者没校准成功;

s08:此处,校准已经成功完成,进入记录校准字节的阶段,我们将此时adj_byte信息写入FLASH中;

s09:写入完成,退出操作,校准结束。

如图5所示,这是片内时钟校准逻辑的流程图。这是本发明的重点,如何简洁、高效的衔接好内外数据,并管理好数据的存储、导出,图中描述了adj_byte为8bit的情况。8bit的校准字节,在一般的CMOS工艺下(例如CMOS180nm、110nm)可以保障clk_out的误差范围控制在1%以内。如果要求更高(例如0.1%),可以扩展adj_byte的位宽(例如12bit)。图中举例adj_byte值减小,clk_out频率将增大。

用于权利要求1的校准系统的片内时钟校准逻辑的校准方法:复用IO传递给片内时钟校准逻辑的信号通道为RX,称为片内RX,片内时钟校准逻辑向复用IO传递信号的通道为TX,称为片内TX;

其特征在于:包括以下步骤:

s01:片内时钟校准逻辑从片内FLASH中导出校准信息到片内时钟校准逻辑;

s02:判断导出的数据,如果为FFH,表明导出的信息无效。因为擦除后的CMOS flash macro,所有空间都为FFH,读出FFH表明此空间没有存储过信息,校准字节也不允许为FFH;如果判断数据为FFH则转入s03,否则转入s28;

s03:将adj_byte设置为中间值80H,并进入standby模式,等待基准信号。

s04:判断片内RX是否有下降沿到来。Uart的空闲状态下是高电平,一旦有下降沿到来,表示有信息进入IC;

s05:启动计数器,用clk_out计数低电平信号的宽度。片外基准PC以固定的波特率发送00H字节,因此,应该收到9bit宽度的低电平;

s06:判断片内RX是否有上升沿到来。上升沿到来表示一个字节传递结束。记录此时计数器的值,与目标值进行对比如果小于目标值表明内部频率偏小,则到s07,,否则到s15;

s07:将adj_byte设置为最小值00H;即clk_out此时输出最大频率;

s08:通过片内TX,返回错误字节55H;

s09:讲计数器清零,并进入standby模式,等待片内RX下一次下降沿到来;

s10:启动计数器,用更新后的clk_out重新计数低电平信号的宽度;

s11:判断clk_out是否调整为最大频率。如果不是则到s12,否则到s13;

s12:在最大频率大于目标频率的前提下,进入顺序微调频率的过程。在顺序调整过程中,必然有adj_byte等于00H的条件下记录宽度大于目标值,因此,顺序增加adj_byte就能使clk_out逐渐逼近目标。监测片内RX上升沿到来时,记录计数器的值,一旦出现记录值小于目标值,则跳出到s23;否则转到s14,经过s14的微调后,再返回s08;

s13:在adj_byte等于00H的条件下,判断内部最大频率是否大于目标。如果大于则具备调整的条件,从而进入s14来顺序微调,否则不具备调整的条件,应该直接跳出到s23;

s14:逐次递增微调的过程;

s15:将adj_byte设置为最小值FFH;即clk_out此时输出最小频率;

s16:通过片内TX,返回错误字节55H;

s17:讲计数器清零,并进入standby模式,等待片内RX下一次下降沿到来;

s18:启动计数器,用更新后的clk_out重新计数低电平信号的宽度;

s19:判断clk_out是否调整为最小频率。如果不是则到s20,否则到s21;

s20:在最小频率小于目标频率的前提下,进入顺序微调频率的过程。在顺序调整过程中,必然有adj_byte等于FFH的条件下记录宽度小于目标值,因此,顺序减小adj_byte就能使clk_out逐渐逼近目标。监测片内RX上升沿到来时,记录计数器的值,一旦出现记录值大于目标值,则跳出到s23(意味着内部频率达到目标);否则转到s22,经过s22的微调后,再返回s16;

s21:在adj_byte等于FFH的条件下,判断内部最小频率是否小于目标。如果小于则具备调整的条件,从而进入s22来顺序微调,否则不具备调整的条件,应该直接跳出到s23;

s22:逐次递减微调的过程;

s23:校准成功,立即返回AAH。因为时钟已经达到目标,上位机可以收到此信息。注意:不具备调整空间的情况也转到此步骤,需要一定的时间,才能使外部基准意识到内部发生了越界的情况;

s24:接收新命令;

s25:判断是否为写命令;

s26内部收到异常命令,则直接将命令返回。一般情况,说明校准发生了错误,或者内部内部发生了越界,不具备校准的条件;

s27:校准成功,结束;

s28:正常情况下,将导出的有效校准信息加载到adj_byte。

如图4所示,这是外部基准PC的操作流程。图中列出所有步骤,以下详细说明:

s01:外部基准PC启动校准界面,完成初始化,根据用户设置的目标始终来初始化波特率,配置串口模式为:1位起始位(0)+8位数据+1位停止位(1)的模式。

s02:等待用户发出校准指令,一般方式为点击某个按键。

s03:以设定好的波特率发送00H,则会产生9bit宽度的低电平信号。

s04:发送完成后立刻进入收数据模式,收完一字节数据后判断时候为AAH,为AAH则表明校准完成,则进入s08;否则表明没有完成,则进入s05。

s05:计算是否到达扫描边界,如果到达边界,则进入s06,如果没有到达边界,则返回s03,重新发送基准,重复校准。

s06:一般进入此环节,表明片内时钟频率无法达到用户设定的目标,校准已经到达边界。达到上边界应该提示用户将目标频率调低,否则,调高。调整后重新进入s04,再次校准。

s08:表明内部已经达到目标频率,等待确认,并发送写入命令。此处写入是指将此时记录的adj_byte写入片内FLASH当中。在MPW shuttle以及full mask初期需要加入等待确认,full mask后期此处为顺序执行,即校准完成后自动将adj_byte写入到片内FLASH当中。发送了写命令后,IC内部自动将此命令翻译为擦除+写操作,以支持重复写操作。

s09:等待写入完成。写入片内FLASH需要一定时间。

如图6所示,上半部分列出了Uart串口通讯的完整数据帧格式。解释了发送00H时,9bit低电平的由来。下半部分为Uart串口通讯半双工时序图。图中,紫色并标注“1”的区域是IC内部的特殊处理,为了兼顾普通PC收发衔接过长的问题;紫色并标注“write”为写FLASH的区域。

综上所述,采用上述方法后,本发明的有益效果是:

1、从很大程度上解决了集成电路设计过程中,由于工艺离散,导致设计风险高的问题,并且没有特定的工艺要求,具有普遍性;

2、校准系统简单,辅助设备随处可见,因此,应用广泛,易于实现;

3、引入两分法作为校准算法,协议简单,且分时操作,高效可靠;

4、被校准信号clk_out的阶段性输出方式(Pin1),简洁巧妙,技术可控性高;

5、通讯端口复用,逻辑结构高效,片内RC振荡器电路结构简单,从而节省了片内资源,控制了晶圆面积,从最根本上降低了成本。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号