一种时钟自校准的电路及方法技术

技术编号:26891324 阅读:29 留言:0更新日期:2020-12-29 16:09
按照I2C规范规定的通讯速率有100kbps、400kbps、1Mbps等几种速率,I2C主设备负责产生通讯时钟,但随着主设备工作环境、时钟晶振、供电电压等变化,可能会造成通讯时钟不准的情况,从而对通讯产生影响。本设计目的在于通过I2C主设备中搭建一个时钟自校准电路,实现对通讯时钟的快速自校准功能。本设计特点在于不占用多于芯片端口资源,可以最大程度复用模块自有资源实现自校准功能。

【技术实现步骤摘要】
一种时钟自校准的电路及方法
本专利技术属于集成电路芯片的设计领域,具体涉及I2C主器件通讯时钟自校准的设计及电路。
技术介绍
作为I2C主器件用于产生通讯时钟SCL的信号方式基本上会采用芯片主时钟进行分频的方式进行。一般I2C主器件在芯片调试或者测试阶段会对产生的SCL时钟进行校准,并将校准值保持在芯片内部非易失区域,这样芯片在下次上电后会直接读取该校准值用于产生SCL时钟。但在实际时钟过程中,随着芯片使用时间变长,芯片自身及周围环境的变化会导致内部主时钟发生偏移,从而影响I2C主器件产生的通讯时钟的频率发生变化,该变化短时间内可能对通讯不会产生影响,但长时间的积累会存在影响I2C通讯成功率的可能性。
技术实现思路
本专利技术的目的,在于提供一种简单高效的I2C主器件通讯时钟校准电路,本专利技术不额外占用芯片管脚资源,可通过系统总线接口由软件控制操作整个校准过程。本专利技术通过外部校准信号源提供基准时钟,对I2C主器件产生的SCL时钟信号进行校准,详细的技术方案描述如下:本专利技术的电路系统主要包括:一个系统总线接口单元100、一个信号校准单元200、时钟产生单元300、IO选通单元400。其中信号校准单元200包含一个计数电路500和一个评估电路600。其中时钟产生单元300包含一个时钟计数调整电路700和一个时钟产生电路800。其中IO选通单元400包含一个IO控制电路900。所述信号校准单元200中的计数电路500,以外部基准信号源作为采样时钟,以内部环回的SCL时钟作为被采样信号,对SCL两个连续的上升沿间隔进行计数,得出的计数值记为C。评估电路600则将计数值C与预期值N进行比较,并输出“up”、“down”两个信号值。所述时钟产生单元300中的时钟产生电路800是以芯片内部时钟进行计数,按照时钟计数调整电路700产生的计数阈值进行SCL时钟信号的产生,当开启通讯时钟自校准功能后,时钟产生电路800会产生100kHz未经校准的SCL时钟,同时随着时钟计数调整电路700产生的计数阈值发生变化,时钟产生电路800生成的SCL时钟频率也会发送变化。时钟计数调整电路700内部的计数阈值在未开启通讯时钟自校准功能时,会按照预先存储的计数阈值提供给时钟产生电路800。所述IO选通单元400中的IO控制电路900在通讯时钟自校准功能开启后,将SDA信号的IO状态切换成输入,从而使外部基准时钟可通过此管脚输入;同时将时钟产生单元300产生的SCL信号进行内部环回,输出给信号校准单元200。而在关闭通讯时钟自校准功能后,IO控制电路恢复SDA接口IO的三态模式,同时切断SCL的内部环回通路。具体实施方式本专利技术设计思路和方法的核心是采用内部自校准功能,对I2C主器件芯片产生的SCL时钟信号进行校准,从而改善I2C通讯成功率。以下结合说明书附图对本专利技术的具体实施方式进行详细说明。图1实现原理图主要包括:一个系统总线接口单元100、一个信号校准单元200、时钟产生单元300、IO选通单元400。其中信号校准单元200包含一个计数电路500和一个评估电路600。其中时钟产生单元300包含一个时钟计数调整电路700和一个时钟产生电路800。其中IO选通单元400包含一个IO控制电路900。图1所述信号校准单元200中的计数电路500,以外部基准信号源作为采样时钟,以内部环回的SCL时钟作为被采样信号,对SCL两个连续的上升沿间隔进行计数,得出的计数值记为C。评估电路600则将计数值C与预期值N进行比较,并输出“up”、“down”两个信号值,此两信号默认为0。当计数值C大于预期值N时,则认为当前SCL时钟偏慢,需要将SCL时钟频率调高,因此“up”信号置为1,“down”信号保持为0;当计数值C小于预期值N时,则认为当前SCL时钟偏快,需要将SCL时钟频率调低,因此“down”信号置为1,“up”信号保持为0;当计数值C等于预期值N时,则认为当前SCL时钟正常,无需调整SCL时钟,因此“up”信号保持为0,“down”信号保持为0,同时向系统总线接口单元100上报校准完成信号。图1所述时钟产生单元300中的时钟产生电路800是以芯片内部时钟进行计数,按照时钟计数调整电路700产生的计数阈值进行SCL时钟信号的产生,当开启通讯时钟自校准功能后,时钟产生电路800会产生100kHz未经校准的SCL时钟,同时随着时钟计数调整电路700产生的计数阈值发生变化,时钟产生电路800生成的SCL时钟频率也会发送变化。时钟计数调整电路700内部的计数阈值在未开启通讯时钟自校准功能时,会按照预先存储的计数阈值提供给时钟产生电路800,但当通讯时钟自校准功能开启后,该计数阈值会按照信号校准单元200输出的“up”、“down”信号进行阈值调整,“up”信号为1时,说明SCL频率需要调高,计数阈值因此需要下降,“down”信号为1时,说明SCL频率需要降低,计数阈值因此需要上升。图1所述IO选通单元400中的IO控制电路900在通讯时钟自校准功能开启后,将SDA信号的IO状态切换成输入,从而使外部基准时钟可通过此管脚输入;同时将时钟产生单元300产生的SCL信号进行内部环回,输出给信号校准单元200。而在关闭通讯时钟自校准功能后,IO控制电路恢复SDA接口IO的三态模式,同时切断SCL的内部环回通路。本专利技术是应用在I2C器件作为主模块时产生SCL时钟的一种自校准方法,本专利技术的核心思想就是当I2C主器件在外部环境或内部电路发生变化时带来的SCL时钟偏移后,提供一种简单高效且不占用额外多余资源的SCL时钟自校准方案,从而纠正SCL时钟频率,改善I2C通讯质量。本文档来自技高网...

【技术保护点】
1.一种时钟自校准的电路,其特征在于,包含系统总线接口单元(100)、信号校准单元(200)、时钟产生单元(300)、IO选通单元(400),其中,系统总线接口单元(100)用于I2C模块同主控模块进行总线信息交换,开启通讯时钟校准功能、校准时钟源的频率选择以及采集通讯时钟校准完毕信号的交互;信号校准单元(200)用于根据外部输入的基准时钟对I2C模块生成的SCL时钟信号进行计数和评估,从而得出通讯时钟是否需要调整、调整的方向以及校准完成信号生成,时钟产生单元(300)用于产生I2C主通讯时钟SCL信号,在启动通讯时钟校准功能后,只产生频率为100kHz的SCL时钟用于校准,同时用于产生SCL时钟的内部计数阈值可调整,从而实现对SCL进行校准的目的;IO选通单元(400)用于控制I2C模块IO状态,当启动通讯时钟校准功能后,配置SDA管脚为输入状态,可以接收外部校准时钟源信号从而达到复用现有资源目的,同时控制内部产生的SCL信号进行内部环回至信号校准单元(200)。/n

【技术特征摘要】
1.一种时钟自校准的电路,其特征在于,包含系统总线接口单元(100)、信号校准单元(200)、时钟产生单元(300)、IO选通单元(400),其中,系统总线接口单元(100)用于I2C模块同主控模块进行总线信息交换,开启通讯时钟校准功能、校准时钟源的频率选择以及采集通讯时钟校准完毕信号的交互;信号校准单元(200)用于根据外部输入的基准时钟对I2C模块生成的SCL时钟信号进行计数和评估,从而得出通讯时钟是否需要调整、调整的方向以及校准完成信号生成,时钟产生单元(300)用于产生I2C主通讯时钟SCL信号,在启动通讯时钟校准功能后,只产生频率为100kHz的SCL时钟用于校准,同时用于产生SCL时钟的内部计数阈值可调整,从而实现对SCL进行校准的目的;IO选通单元(400)用于控制I2C模块IO状态,当启动通讯时钟校准功能后,配置SDA管脚为输入状态,可以接收外部校准时钟源信号从而达到复用现有资源目的,同时控制内部产生的SCL信号进行内部环回至信号校准单元(200)。


2.如权利要求1所述的电路,其特征在于:所述信号校准单元(200)包含所述计数电路(500)和所述评估电路(600),所述信号校准单元(200)可以通过其内部设计的计数电路(500)以输入的校准时钟作为基准时钟源对输入的SCL时钟进行计数,同时通过评估电路(600)对计数值进行评估,得出SCL时钟是否需要调整以及调整方向。


3.如权利要求1所述的电路,其特征在于:所述时钟产生单元(300)包含所述时钟计数调整电路(700)和时钟产生电路(800),所述时钟产生单元(300)可以根据信号校准单元(200)产生时钟调整方向信号通过其内部的时钟计数调整电路(700)对时钟计数值进行调整,从而调整其内部时钟产生电路(800)生成的SCL信号频率。


4.如权利要求1所述的电路,其特征在于:所述IO选通单元(400)包含所述IO控制电路(900),所述IO选通单元(400)可以在开启通讯时钟校准功能后,通过其内部的IO控制电路(900)将SDA管脚设置为输入状态用于接收外部校准时钟源信号,同时将SCL信...

【专利技术属性】
技术研发人员:王玮王延斌
申请(专利权)人:北京中电华大电子设计有限责任公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1