欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 调节控制> 用于选择时钟的系统和方法独创技术22395字

用于选择时钟的系统和方法

2020-12-03 20:21:44

用于选择时钟的系统和方法

  相关申请的交叉引用

  本申请要求于2019年2月28日提交的意大利专利申请号102019000002967的优先权,在此该申请通过引用并入本文。

  技术领域

  本描述一般地涉及处理系统和对应的装置和方法,并且更具体地,涉及用于选择时钟的系统和方法。

  背景技术

  各种新兴的应用场景,诸如物联网(IoT)或汽车领域,已经促进增强了人们对具有射频能力的基于微控制器应用的兴趣。

  微控制器和射频电路之间一定程度的集成度,特别是用于射频收发的第三方知识产权核心,因此也是采用微控制器的通用产品所期望的以确保正确处理这些方面,诸如消费产品(例如诸如电视、冰箱、洗衣机等家用电器)。因此,更加关注这种RF电路之间,特别是射频知识产权核心和通用微控制器或片上系统(SoC)之间的共享功能。

  在通用应用的处理单元中,诸如微控制器或片上系统(SOC)(如STM32微控制器),晶体振荡器设置在微控制器芯片的内部或外部,用于稳定和精确的频率生成。当晶体振荡器在外部时,特别是被嵌入在第三方IP中(诸如射频收发电路)时,需要共享耦合到RF收发电路的晶体振荡器。然而,在故障的情况下或在并存使用RF收发器电路和微控制器之间的资源的情况下,将来自RF收发器的振荡器信号耦合到微控制器以用作外部振荡器时钟信号在微控制器安全和稳定执行方面可能存在问题,导致了应该被避免的竞态。

  发明内容

  根据一个实施例,一种系统包括:配备振荡器的电路,配备振荡器的电路包括被配置为与外部振荡器耦合的振荡器控制电路,振荡器控制电路被配置为使外部振荡器向配备振荡器的电路提供外部振荡器时钟信号;处理单元,包括时钟控制器,时钟控制器被配置为管理时钟信号以选择用于处理单元的系统时钟。时钟控制器耦合至振荡器控制电路以接收外部振荡器时钟信号,并且被配置为可选择地提供外部振荡器时钟信号作为系统时钟,并且时钟控制器包括:接口电路,接口电路被配置为与振荡器控制电路交换握手信号以使得外部振荡器时钟信号能够向时钟控制器传送;安全电路,被配置为接收外部振荡器时钟信号,并且被配置为选择外部振荡器时钟信号作为系统时钟;检测块,被配置为检测外部振荡器时钟信号中的故障,并且在检测到故障之后,发出指示故障的故障信号,其中在故障信号发出之后,安全电路被配置为选择不同的时钟信号作为系统时钟并且使接口电路中断外部振荡器时钟信号向时钟控制器的传送。

  根据另一实施例,一种方法包括从配置振荡器的电路接收外部振荡器时钟信号,并且可选择地提供外部振荡器时钟信号作为系统时钟;在时钟控制器和配备振荡器的电路之间交换握手信号以使得外部振荡器时钟信号能够向时钟控制器传送;接收外部振荡器时钟信号;检测在接收到的外部振荡器时钟信号中的故障;响应于检测到故障,发出故障信号;以及在故障信号发出之后,选择不同的时钟信号作为系统时钟,并且对握手信号进行操作以中断外部振荡器时钟信号向时钟控制器的传送。

  根据又一实施例,一种系统包括:具有时钟输入的时钟检测电路,时钟输入耦合至外部时钟源,时钟检测电路被配置为确定外部时钟信号在时钟输入处的存在以及当外部时钟信号存在时断言外部时钟存在信号;具有时钟就绪输入的时钟接口电路,时钟就绪输入被配置为与外部时钟源的时钟就绪输出耦合,时钟接口电路包括:就绪滤波器,就绪滤波器被配置为当外部时钟信号激活并且外部时钟就绪信号在时钟就绪输入处被断言达第一预定时段时,断言就绪使能信号;中断生成电路,被配置为当外部时钟存在信号被解除断言时,生成外部时钟故障中断信号;时钟选择电路,被配置为当外部时钟存在信号和外部时钟就绪信号都被断言时,向系统时钟输出提供外部时钟信号,并且被配置为当外部时钟存在信号被解除断言时,向系统时钟输出提供不同的时钟信号。

  根据又一实施例,一种方法包括:检测外部时钟信号和检测外部时钟就绪信号的存在,外部时钟就绪信号指示来自外部时钟生成器的外部时钟信号的可用性;当外部时钟就绪信号和外部时钟信号都存在达第一预定时段时,断言就绪使能信号;在断言就绪使能信号之后,将外部时钟信号路由到系统时钟输出;当外部时钟信号的存在不再被检测时,断言外部时钟故障信号;以及当外部时钟故障信号被断言时,将不同的时钟信号路由到系统时钟输出并且断言外部时钟故障中断信号。

  附图说明

  现在将仅以示例的方式,参考附图描述一个或多个实施例,其中:

  图1是例示了包括处理单元和耦合到晶体振荡器的另一电路的系统的框图;

  图2例示了一个或多个实施例中的安全系统电路实现;

  图3例示了一个或多个实施例中的控制接口电路实现;以及

  图4例示了图3中所示信号的时序图。

  具体实施方式

  在随后的描述中,对一个或多个具体细节进行说明,目的是提供对本描述示例实施例的深入理解。实施例可以在没有一个或多个具体细节的情况下被获得,或者通过其他方法、组件、材料等被获得。在其他情况下,已知结构、材料或操作未被详细说明或描述,使得实施例的某些方面将不被模糊。

  在本描述的框架中提及“一实施例”或“一个实施例”意在指示与被包括在至少一个实施例中的该实施例有关的特定配置、结构或特性。因此,诸如“在一实施例中”或“在一个实施例中”的短语可能出现在本描述的一个或多个点中,并不一定指代同一个实施例。而且,特定配置、结构或特性可以在一个或多个实施例中被以任何适当的方式组合。

  本文使用的附图标记仅出于方便而被提供,并且因此不限定保护范围或实施例的范围。

  实施例涉及处理系统和对应的装置和方法。系统可以包括处理单元,以及包括振荡器控制电路的另一电路,振荡器控制电路耦合到外部振荡器。振荡器控制电路被配置为控制外部振荡器以向该另一电路提供外部振荡器时钟信号,并且处理单元包括时钟控制器,该时钟控制器被配置为管理时钟信号以选择用于该处理单元的系统时钟。

  一个或多个实施例可以被应用于包括微控制器或片上系统(SoC)装置的系统,以用于与射频收发器相关联操作的通用应用,特别是用于远程(LoRa)应用。

  一个或多个实施例可以涉及对应的装置(例如,消费产品,诸如基于微控制器的消费产品,诸如家用电器)和对应的方法。一些实施例有利地提供了安全和稳定的执行,并且避免在并存使用共享时钟信号的情况下出现问题。一个或多个实施例提供改进的系统稳健性,同时维持应用在执行中的性能。一个或多个实施例提供了最大化的资源共享,并且避免了控制逻辑的重复,诸如延时(temporization)计数器。

  图1图示了用于在处理单元和配备振荡器的电路之间共享振荡器时钟信号的系统10。系统10包括耦合至晶体振荡器50的电路12,在此其被定义为配备振荡器的电路。晶体振荡器50优选在电路12的外部。在此处的示例中,电路12是用于LoRa应用的RF收发器(诸如Semtech的SX1262)。系统10包括处理单元11,特别是通用应用微控制器11,此处借助于被包括在微控制器11中的时钟控制器13仅部分地示出通用应用微控制器11,时钟控制器用于选择待被传送到微控制器11的核心(例如中央处理单元30)的系统时钟system_clk。这种通用应用微控制器111可以由STM32通用微控制器实现。一般而言,配备振荡器的电路12可以是相对于通用微控制器11的IP为第三方的知识产权。

  优选地,配备振荡器的电路12和通用应用微控制器11可以被布置在电路的相同支撑上,特别是同一PCB(印刷电路板)上,因此系统10被布置在该PCB上。

  配备振荡器的电路12包括外部晶体振荡器控制器121,其耦合到外部晶体振荡器50。配备振荡器的电路12,包括RF发射器/接收器122,其被配置为向外部晶体振荡器控制器121发出外部振荡器使能信号rf_xosc_en,以使得外部晶体振荡器50能够用作配备振荡器的电路12的时钟信号。

  时钟控制器13被配置为与晶体振荡器源(即外部晶体振荡器控制器121)交互,时钟控制器13通过实现握手控制接口131的安全激活块131来控制振荡器50。安全激活块131向外部晶体振荡器控制器121供应使能信号xosc_en,并且又从延时部分121a接收就绪信号xosc_ready,延时部分121a可以包括延时计数器。

  外部晶体振荡器控制器121耦合到晶体振荡器50以生成外部振荡器时钟信号xosc_clk。信号xosc_clk是经过延时时间后来自晶体振荡器的输出。时钟控制器13然后包括安全系统电路132,安全系统电路132接收外部振荡器时钟信号xosc_clk以及外部振荡器就绪信号xosc_ready,并且被配置为选择这种信号作为系统时钟sys_clk。

  安全系统电路132还从时钟控制器13的编程接口133接收安全使能信号css_on,以激活这种安全系统电路132,编程接口133包括编程寄存器并且在CPU 30发出的命令的控制下操作。

  安全系统电路132被配置为发出故障信号clk_fail,如果外部振荡器时钟信号xosc_clk中存在故障,则发信号。这样的故障信号xosc_clk被发给安全激活块131和编程接口133,编程接口133将对应的中断xosc_fail_it转发给CPU 30。

  编程接口133被配置为生成时钟激活信号clk_on,用于安全激活块131向该电路发信号以使得通过握手控制信号xosc_en、xosc_rd能够使用外部晶体振荡器50。

  所述系统10的部分被示意性地表示在图2中,详述了与安全系统电路131相关的块和电路。

  在各种实施例中,安全激活块131操作为用于握手控制信号的控制接口以使能外部晶体振荡器50的操作,在CPU 30的控制下,从编程接口131接收时钟激活信号clk_on,以激活振荡器50,以及接收检测到的故障信号clk_fail以去激活振荡器50。

  安全系统电路132包括时钟有限状态机1321,时钟有限状态机1321是时钟控制器13的控制逻辑,在由编程接口133发出的命令的控制下操作,而编程接口133又在CPU 30的控制下操作。安全系统电路132包括选择块1322,特别是多路复用器,选择块1322在一个输入处接收外部振荡器时钟信号xosc_ck并且在它的其他输入处从时钟源60接收其他时钟信号src_clks,时钟源一般而言是在微控制器11的内部的振荡器,虽然振荡器可以不被特定地放置在安全系统电路132的内部,但安全系统电路132可以简单地与它们耦合。时钟有限状态机1321向选择块1322发出选择信号clk_sel以便在包括振荡器时钟信号xosc_clk和其他时钟信号src_clks的输入时钟信号中选择系统时钟信号sys_clk。被供应给时钟有限状态机1321的源就绪信号src_ready指示其他时钟信号中的哪个时钟信号是稳定的并且就绪用于使用。特别地,每个时钟源都存在源就绪信号,以便通知时钟控制器可选择源的可用性。

  安全系统电路132接着包括检测块1323,该检测块1323被配置为检测外部振荡器时钟信号xosc_ck中的故障并且向时钟有限状态机1321和编程接口133发出故障信号clk_fail。

  检测块1323被安全激活信号css_on和外部振荡器就绪信号xosc_ready使能,两个信号应该都为真(逻辑AND被示出)以使能检测块1323的操作,只有在外部振荡器50在使用中并且安全功能被CPU 30所请求时,检测块1323才然后进行操作。

  在由检测块1323进行故障检测的情况下,发给时钟有限状态机1321的故障信号clk_fail确定时钟有限状态机1321通过选择信号sel_clk将系统时钟sys_clk切换为其他时钟信号src_clks中的稳定时钟源。然后安全系统电路132被配置为在接收经由检测块1323的故障信号clk_fail之后,关闭外部振荡器时钟信号xosc_ck。编程接口133还被配置为在从检测块1323接收故障信号clk_fail之后引发中断xosc_fail_it。

  在图3中表示了所述系统10,详述了与由安全激活块131实现的信号Xosc_ready的时间滤波功能相关的块和电路。如前所述,安全激活块131是握手接口,其允许控制外部振荡器时钟在电路11和电路12之间的共享。安全激活块还包括时间滤波功能的实现,以避免因由电路11和12对时钟信号的竞争而生成的毛刺(glitch)。因此,时钟控制器13通过块131在Xosc就绪控制信号上实现可配置的/可编程的滤波机制,以应对配备振荡器的电路12内部的使能控制时延,使能控制时延可能导致就绪信号上的杂散毛刺。

  安全激活块131因此包括接口使能控制电路1311,如上所述,其接收外部振荡器使能信号hse_en,该使能信号hse_en可以对应于图1的信号clk_on,并且向配备振荡器的电路12发出外部振荡器使能信号xosc_en以用于握手协议,以及向就绪滤波器1312发出外部振荡器使能信号xosc_en,就绪滤波器1312还接收外部振荡器就绪信号xosc_ready和外部振荡器时钟信号xosc_clk。就绪滤波器1312被配置为基于握手信号的值以及外部振荡器时钟信号xosc_clk来发出就绪使能信号rdy_en。

  因此就绪使能信号rdy_en作为就绪滤波器1312的输出发出,就绪滤波器1312在时间窗口经过后改变状态,例如,变为高逻辑电平,并且就绪滤波器1312被用于执行对外部振荡器就绪信号xosc_rdy的选通,特别是通过将两个信号作为输入送给AND门1313,产生微控制器选通的就绪信号hse_rdy。接着,时钟信号Xosc_clk转而利用微控制器选通的就绪信号hse_rdy被选通,特别是被另一AND门1314选通,使得微控制器外部振荡器时钟信号hse_clk被获得,这考虑了配备振荡器的电路12内部的信号xosc_en的时序时延,并且可以免于由竞态生成的杂散毛刺或其他影响。

  图3中所示信号的时序图被表示在图4中。例如,hse-clock_n表示外部振荡器时钟信号hse_clock的未滤波版本;P1表示信号xosc_clock被电路12使能的时刻;P2表示信号xosc_clock被微控制器11使能的时刻;P3表示当信号xosc_en为高电平时,信号xosc_ready下降的时刻;P4表示当信号xosc_en为高电平时,信号hse_clock丢失的时刻;P5表示在过渡窗口期间,信号hse_clock,即滤波后的hse时钟信号保持低电平的时刻;以及P6表示在滤波到期后信号hse_clock被传送的时刻。

  DT指示由RF IP 12的Xosc控制器121接通xosc_clock所需的延迟时间,这是由其内部的延时计数器121a所计算的时间。RW指示其中存在控制竞态风险的竞态窗口,并且FT指示rdy_en信号的滤波时间间隔,其中这种rdy_en信号保持在低逻辑状态。

  从图4可以看出,在试图从电路12和微控制器11两者控制外部振荡器50的情况下,存在潜在的竞态风险,块131被配置为确保外部振荡器时钟信号xosc_ck仅在时间滤波窗口,例如给定的时间间隔之后,作为微控制器外部时钟hse_clk被传送到微控制器11的核心。

  就绪滤波器1312被配置或被编程为具有延迟时间DT,该延迟时间的大小被定为仅覆盖可能发生时钟丢失或毛刺的风险的时间窗口,例如,窗口RW。在比延迟时间DT小得多的该时间经过之后,就绪滤波器1312生成就绪使能rdy_en信号,该信号允许外部振荡器就绪信号xosc_rdy可以通过AND门1313被传送到微控制器时钟就绪信号hse_rdy。如果外部振荡器就绪信号xosc_rdy y被断言(xosc_clk打开),则在超过时间窗口RW之后,外部振荡器时钟信号xosc_ck通过AND门1314被传送到微控制器外部时钟hse_clk;如果外部振荡器就绪信号xosc_rdy为低电平(xosc_clk已被电路12的外部振荡器的控制器121关闭,这是时序图所描述的情况),则在延迟时间DT之后,外部振荡器时钟信号xosc_ck被传送到微控制器11的微控制器外部时钟hse_clk,延迟时间DT为由于来自微控制器12的请求xosc_en,再次接通外部振荡器时钟信号xosc_ck所需的并且通过振荡器控制器12的相应的延时块121a进行计数的时间。

  因此,就绪滤波器1312在滤波时间FT之后断言rdy_en信号,其允许来自配备振荡器的电路12的就绪信号xosc_rdy的传送。

  应当理解,实施例不限于微控制器(例如,STM32微控制器)应用的上下文中的应用,这些应用利用用于LoRa应用的IoT(例如,SW1262 Semtech)的嵌入式RF IP,例如,用于基于多用途微处理器的消费者应用,诸如家用电器等。

  因此,一个或多个实施例可以提供一种系统,包括:处理单元(例如,通用微控制器,诸如STM 32或片上系统或其子系统)、电路(例如,RF收发器电路12),该电路包括耦合到外部振荡器的振荡器控制电路,这种振荡器控制电路被配置为控制外部振荡器以向耦合到振荡器的电路提供外部振荡器时钟信号,处理单元包括被配置为管理时钟信号的时钟控制器(例如可以在外部或内部生成时钟信号),以选择用于处理单元的系统时钟,例如STM32微控制器的HSE时钟信号,其中:这种时钟控制器耦合到振荡器控制电路以接收外部振荡器时钟信号,并且被配置为可选择地提供这种外部振荡器时钟信号作为系统时钟,例如上述的HSE时钟信号,时钟控制器包括接口电路和安全电路,接口电路被配置为交换握手信号(例如,使能信号xosc_en和就绪信号xosc_ready),利用振荡器控制电路,特别是利用RF电路的延时计数器,来使外部振荡器时钟信号能够向时钟控制器传送;安全电路包括接收外部振荡器时钟信号,并且被配置为在检测块(例如块1313)的控制下选择这种信号作为系统时钟,该检测块被配置为检测外部振荡器时钟信号中的故障,并且在检测到故障后发出显示该故障的故障信号。这种安全电路在发出故障信号后,被配置为选择不同的时钟信号作为系统时钟,例如在信号src_clks中进行选择,并且对接口电路进行操作以中断外部振荡器时钟信号向时钟控制器的传送。

  在一个或多个实施例中,当从检测块发出故障信号后,时钟控制器可以被配置为引发中断xosc_fail_it至处理单元核心,例如,CPU 30。

  在一个或多个实施例中,接口块可以包括选通电路装置,例如电路1311、1312、1313、1314,被配置为利用时间滤波窗口对握手信号的就绪信号执行选通,以使得外部振荡器时钟信号能够作为系统时钟进行传送。

  在一个或多个实施例中,耦合到振荡器的电路可以包括射频收发器。

  在一个或多个实施例中,安全电路包括控制逻辑,特别是有限状态机(例如可以是已经提供在微控制器中以选择系统时钟信号的时钟控制器的控制逻辑),逻辑控制在处理单元的中央处理单元的控制下操作,其被配置为基于故障信号来选择这种信号作为系统时钟,并且在故障信号发出后,选择不同的时钟信号作为系统时钟并且对接口电路进行操作以中断外部振荡器时钟信号向时钟控制器的传送。

  在各个实施例中,可以使用本领域中已知的逻辑电路来实现本文所描述的电路。

  在一个或多个实施例中,装置(例如,基于微控制器的电器)可以包括处理器电路,例如,CPU 30,借助于根据一个或多个实施例的系统来接收外部时钟外部振荡器时钟信号。

  根据一个或多个实施例的系统的操作方法可以包括:从配备振荡器的电路接收外部振荡器时钟信号,以及可选择地提供外部振荡器时钟信号作为系统时钟,在时钟控制器和振荡器控制电路之间交换握手信号以使外部振荡器时钟信号能够向时钟控制器传送,并且接收外部振荡器时钟信号,并且在外部振荡器时钟信号中故障检测操作的控制下选择外部振荡器时钟信号作为系统时钟,在检测到故障后,发出显示故障的故障信号,在故障信号发出后选择不同的时钟信号作为系统时钟,并且对握手信号进行操作以中断外部振荡器时钟信号向时钟控制器的传送。

  在一个或多个实施例中,方法可以包括在发出故障信号后向处理电路核心引发中断。

  在一个或多个实施例中,方法可以包括利用时间滤波窗口对握手信号的就绪信号执行选通,以使得外部振荡器时钟信号能够作为系统时钟进行传送。

  在不损害基本原理的情况下,细节和实施例可以相对于已描述的内容(仅作为示例)进行变化,甚至显著地变化,而不脱离保护的范围。

《用于选择时钟的系统和方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)