CN102210125A - 通过i2c总线接口协调多个具有独立振荡器的设备的振荡器预分频校准 - Google Patents
通过i2c总线接口协调多个具有独立振荡器的设备的振荡器预分频校准 Download PDFInfo
- Publication number
- CN102210125A CN102210125A CN2009801448718A CN200980144871A CN102210125A CN 102210125 A CN102210125 A CN 102210125A CN 2009801448718 A CN2009801448718 A CN 2009801448718A CN 200980144871 A CN200980144871 A CN 200980144871A CN 102210125 A CN102210125 A CN 102210125A
- Authority
- CN
- China
- Prior art keywords
- bus
- oscillator
- frequency division
- slave unit
- frequency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40019—Details regarding a bus master
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
Abstract
一种用于同步为I 2C总线从设备所私有的独立振荡器的系统和方法。I2C总线主设备能够发布两个通用调用命令MEASURE PULSE和RESET PRESCALE。所述I2C总线从设备通过返回在I2C总线上的信号脉冲期间涉及其本地私有振荡器周期的滴答声数量的数字计数来响应MEASURE PULSE命令。所有这种I2C总线从设备都测量在I2C总线上的相同的信号脉冲,因此在MEASURE PULSE命令期间返回的数字测量中的差异与其各个振荡器频率成比例。各种返回的数字测量用于计算合适的振荡器预分频因子,所述振荡器预分频因子将协调在所述系统中所有I2C总线从设备上的所有本地振荡器的最终产品频率。
Description
技术领域
本发明通常涉及用于协调工业标准内置集成电路(I2C)总线应用中的从设备上的独立振荡器的方法和设备,并且更具体地是使用I 2C总线命令和信号来确定单独设备的振荡器频率,以便计算合适的振荡器预分频因子,并且将新的预分频因子写回所述设备中。
背景技术
目前LED设备被广泛地用于取代车辆转弯指示灯和尾灯、广告标志、手机等中的传统灯。有时许多单独的LED设备用于取代需要闪烁、变暗或者通-断操作的应用中的单个白炽灯。这项工作往往落在由I2C总线上的信号控制的LED驱动器上。常规设备的一个示例是NXP PCA963x系列闪光信号灯(blinkers)。
在常规的LED闪烁应用中,让所有LED在同一瞬间一起变暗或者闪烁的通-断一直是棘手的。许多I2C设备包括它们自己的振荡器,其后有用于计时功能的固定预分频器和可编程分频器。板载振荡器可以通过消除从主设备到从设备需要明确地命令每一个通-断操作来减少I2C总线上的通信量。典型的现有技术设备具有具有±30%的频率变化的25MHz振荡器,其后有默认为1024分频(divide-by-1024)的可编程预分频器以及固定的二分频和固定的512分频的分频器。在1024的默认预分频因子下,闪烁频率因而是23.84Hz。所述输出用于控制何时将LED实际闪烁接通或关断。
然而,因为典型的板载振荡器是低成本、低功率和未校准的,所以它们可以达到±40%的宽器件到器件(device-to-device)频率变化。所述器件到器件频率变化难于控制,因为它们源自工艺、工作电压和温度差。因此,在相同I2C设备的并行应用中,可能对于第一设备具有运行在25.00MHz的振荡器,第二设备在32.50MHz,而第三设备在17.50MHz。因此,向多个LED发送相同I2C命令去1024预分频每一个设备可能导致闪烁频率分别为23.84Hz、31.00Hz和16.69Hz。这些差异可能会发生问题,这对于正在观看受控LED的用户是非常明显的。常规I2C设备不允许作为结果的输出频率被读回、校验或者校准。
在典型应用中,对于示例中的闪烁速率的方程可以是(N+1)/BlinkFrequency,其中N是编程到控制计时器的闪烁速率寄存器中的因子。如果用户想要3个LED在1.00Hz的速率下一起闪烁,则理想的闪烁频率可能是24.00Hz,而在预分频之前的理想振荡器频率可能是25.16582MHz(24Hz×512×2×1024)。因此,N需要为“23”,并且使用I 2C命令应该能够将该因子正常地加载到闪烁速率寄存器中。但是由于板载振荡器频率中的变化,对于示例中3个设备的实际闪烁速率可能是(23+1)/23.84Hz=1.0067秒,(23+1)/31.00Hz=0.7742秒和(23+1)/16.69Hz=1.4380秒。这样的差异对于人眼应该是非常明显大的。
一种解决方案可能是消除独立的板载振荡器并且用一个外部系统时钟对所有I2C设备进行计时,但是可能需要在每一个设备上设置额外的引脚。给设备增加引脚需要更大更复杂的封装,并且会使每一个设备生产更昂贵。所需要的是无需给标准设备增加更多引脚的解决方案。
发明内容
在一个实施例中,标准I2C命令和信号用于设定单独I2C设备的振荡器频率,以便计算新的预分频因子并且将必要的预分频因子写回所述设备中。
描述了用于通过I2C总线对多个具有独立振荡器的设备的请求式预分频校准的系统、设备、协议和方法。新的I2C通用调用命令MEASURE PULSE和RESET PRESCALE意欲能够从多个从设备的振荡器中获得测量,并且对于主设备计算和加载用在相对应从设备的振荡器预分频器中的合适的预分频因子。在一个实施例中,从设备独立地控制需要一致闪烁或者变暗的单独LED。还描述了所述系统和方法的其他实施例。
从下面的结合附图的以示例的形式阐述本发明原理的以下详细描述可以理解本发明的其他方面和优势。
附图说明
图1阐述了I2C系统的一个实施例,其中主设备和许多从设备能够发布(issue)和响应新的I2C通用调用命令MEASURE PULSE和RESET PRESCALE。
图2阐释了对于MEASURE PULSE的通用调用命令实施例的串行比特结构。
图3阐释了在可以测量相应的板载振荡器频率的从设备实施例中的电路实现。
图4阐释了用于图3中所示的测量状态机的状态机逻辑。
图5阐释了对于RESET PRESCALE通用调用命令实施例的串行比特结构。
图6阐释了在可以接受相应的板载振荡器的预分频因子的从设备实施例中的可编程预分频电路实现。
图7阐释了主设备实施例,该设备可以发布MEASURE PULSE和RESET PRESCALE命令,并且为从设备组计算合适的预分频因子。
图8阐释了从设备实施例,该设备可以响应MEASURE PULSE和RESET PRESCALE命令,并且能够接受为其特别计算的合适的预分频因子。
图9阐释了一种方法实施例的流程图,该方法可以分布MEASURE PULSE和RESET PRESCALE命令,并且为从设备组计算合适的预分频因子。
图10阐释了一种方法实施例的流程图,该方法可以响应MEASURE PULSE和RESET PRESCALE命令,并且能够接受为特定的从设备计算的合适的预分频因子。
在整个描述中,类似的参考数字用于识别类似的元件。
具体实施方式
在以下描述中,提供了各种实施例的具体细节。然而,利用少于全部这些具体细节可以实践某些实施例。在其他情况下,例如为了简洁和清楚起见,描述某些方法、程序、部件、结构和/或功能不必需要使能本发明各种实施例的那样详细。
尽管在此描述了特定的实施例,然而毫无疑问在数字硬件和计算机软件中的许多方式能够实现相同的目的。在所有实施例中,所述方法和电路包括读取在I2C总线上的所有从设备和主设备可观察的标准脉冲宽度期间由从设备的板载振荡器产生的频率滴答声(frequency tick)数量中的测试计数。然后计算和加载用在各个板载振荡器中每一个上的合适的预分频因子,所述预分频因子将协调和调整它们。一些实施例使用I2C通用调用命令来实施测量、计算和加载。其他实施例可能使用不同的命令方法。还有一些实施例可能需要协调和调整其板载本地振荡器频率来一致地闪烁或者变暗LED,并且替代实施例用于与LED无关的应用的目的。
I2C总线使用双向串行时钟(SCL)和串行数据(SDA)线以半双工方式在两条配线和地上进行通信。四种传输速率是可能的:标准的100kbps(比特/秒);较快的400kbps;高速、快速加的1Mbps和3.4Mbps。所述I2C总线接口使用8比特长字节,并且每一个设备都有唯一的地址。任何设备可以是发射机或者接收机,也可以是主设备或者从设备。因此,当调用特定设备时,从设备或者主设备仅仅是暂时的标签,有助于更好地描述在任一瞬间哪个设备正在控制其他设备。
数据和时钟发自总线主设备,并且当时钟线为高时所述数据是有效的。所述链接可以在总线上具有多个主设备和从设备,但是任何一次都只允许一个主设备控制I2C总线。从设备可以从主设备接收或者向主设备传输数据。对于每一个设备工作电源电压VDD可以是不同的,并且所有设备在对I2C总线的开-漏极输出上使用上拉电阻器。
在I 2C总线上进行任何业务之前,必须发布START条件。设备发布START条件拉低了SDA数据线(数据)线,然后拉低了SCL时钟线(时钟)线。所述START条件用作对每个设备的信号,表示将要在总线上传输一些东西。已连接的所有设备听从总线,以便确定它们是否涉及即将到来的业务。
在消息已经完成之后,发出STOP条件,其中总线主设备释放SCL时钟线,然后释放SDA数据线。对于总线上的所有设备这是表示总线可用于新的主设备的信号。在最后的业务期间接收数据的任何设备可以开始处理数据。
一旦已经发出START条件,可以通过主设备向从设备传输字节。在START条件之后的第一字节将通过其地址识别I2C总线上的从设备,并且将选择工作模式。其后字节的含义依赖于从设备。许多地址出于特殊目的被保留。已保留地址的其中之一用于切换到10比特扩展寻址模式。如果不能辨析扩展寻址的标准从设备接收到该地址,它将不会做任何事情(因为不是它的地址)。如果I 2C总线上有从设备可以在扩展的10比特寻址模式下工作,那么它们将响应由主设备发布的确认(ACK)周期。将引入并且依据其地址评价由主设备传输的第二字节。
当地址或者数据字节已经被传输到I2C总线上时,它们必须被从设备确认(ACKNOWLEDGED)。只有地址匹配时,从设备可以基于ACK响应所述地址。当将数据字节传输到已寻址从设备时,该从设备将是基于ACK进行响应的一个。所述ACK由在接收已传输的第八比特之后立即拉低SDA数据线构成。或者,在地址字节的情况下,在评价其地址之后立即拉低。一旦主设备拉低SCL时钟线来完成所述比特的传输,SDA数据线就被从设备拉低。然后主设备在SCL时钟线上分布时钟脉冲。所述从设备在时钟脉冲的末端释放SDA数据线。然后所述总线可用于主设备继续发送数据或者生成停止。
在通用调用(GENERAL CALL)中,总线上的所有设备都被寻址。如果设备不需要已提供的信息,它简单地发布不确认。在通用调用中的第二字节包括专用命令。常规命令如I2C总线规范中所述,例如由NXP Semiconductors在2007年6月出版的第03版。
在一个实施例中,在设备的可编程预分频寄存器中默认使用的1024分频使得可以利用合适的因子进行编程,所述因子被计算用于补偿其振荡器的实际频率。因此目标设备的振荡器时钟频率必须是可读取的,例如通过I2C总线,例如利用I2C总线命令。一旦所述原始时钟频率被采样,I2C主设备可以计算合适的预分频因子来校正它,并且将预分频因子加载到目标从设备的预分频寄存器中。
图1阐述了系统100,其中有三个需要表面上彼此同步闪烁的LED101-103。I 2C总线104包括SDA数据线106和SCL时钟线108。主设备110控制I2C总线并且能够向从设备111-113发布命令。实施例能够发布通用调用命令,所述通用调令指令命令从设备对其各个振荡器进行频率测量,然后将测量结果返回给所述主设备110。所述主设备110计算对于每一个从设备111-113的预分频因子,并且命令所述从设备接受这些预分频因子。
因此实施例包括两个新的I2C总线通用调用命令GENERAL CALL。图2阐释了第一个命令,例如MEASURE PULSE命令200,并且以比特串行I 2C数据流格式表示。在命令中标记为n的两个比特定义了在下一个数据字节中进行采样的1的个数。其基于I2C总线SCL时钟线频率来设置。开始比特标记为S,确认比特为A,停止比特为P。
图3阐释了电路300,该电路用于板载每一个从设备111-113来测量其私有的(private)振荡器频率。电路300利用从板载振荡器得出的时基(pwm_clk)直接进行测量,以便测量在SDA数据线和SCL时钟线106和108上可观察的I2C总线命令数据脉冲的宽度。这种命令数据脉冲对所有并联的I2C设备都是可见的,因为它们都与相同的SDA数据线和SCL时钟线相连,并且这样用作用于测量的公共基准。任何板载测量差可以因此100%归于每一个从设备的振荡器频率中的唯一的个体差异。
第一触发器302具有与SDA数据线304相连的D输入并且由SCL时钟线306触发。所述第一触发器产生与第二触发器310的D输入相连的“cSDA”信号308。来自板载振荡器I2C设备的“pwm_clk”信号312用于触发所有其他设备。由于在SDA数据线304和SCL时钟线上所观察到的命令数据脉冲对于特定I2C总线上的所有设备将是一样的,它就是pwm_clk信号312的频率,该频率实际上已经通过电路300进行了测量。触发器310和314用于将cSDA信号308数据同步到pwm_clk域中,以便达到用于测量状态机318的“sSDA”信号316。8比特的计数器320用于产生对于I2C移位寄存器的数字测量322,所述数字测量可被I2C总线主设备读取。如果计数达到255(FF,十六进制),这是溢出条件,计数将在计数器320中停止。
图4阐释了可以包括在图3中所示的测量状态机318中的状态机400的逻辑。
图5阐释了包括在实施例中的第二个新的I2C总线命令,例如RESET PRESCALE命令500。通用调用命令的第一字节全部是0,例如00000000,表示随后是写入字节。下一个字节是8位的预分频因子以便加载到从设备的预分频寄存器中。
图6阐释了包括在从设备111-113中的预分频器600。RESET PRESCALE命令601的接收将重新启动预分频器计数器602。串入并出移位寄存器604在由主设备110发送的来自I2C总线的12比特预分频因子中计时。预分频寄存器606加载在并联的12比特预分频因子中并且保留所述预分频因子作为N分频操作期间的基准。然后计数器602在其12比特并联输出处用来自本地板载振荡器的每一个滴答声pwm_clk进行向上计数。12比特数字比较器610等待来自计数器602的计数,以便匹配来自寄存器606的预分频因子。当它们相匹配时,输出脉冲612,所述脉冲触发二分频触发器614并且通过“或”门616引起了计数器602的重新启动。最终的N分频操作在输出618上出现。
表I、表II和表III示出了一些可应用于例如图1中所示的系统100的脉冲测量示例。
表I
表II
表III
在表III中可以看出,在从设备112中存在溢出,所以100-KHz的SCL时钟选择将不会工作。最小SCL时钟频率是254/32.5MHz=7.82μS或者128-KHz(注意,因为“255”表示溢出条件,上述方程中使用了“254”。)如果是比要求的SCL时钟频率更低的SCL时钟频率,那么测量计数器的比特宽度必须大于8比特。所述I2C总线104是8比特总线,因此增加计数器的宽度将需要额外的读取序列以便取回更多的描述完整计数的字节。
然后I2C总线主设备110可以使用标准I2C总线协议读取在每一个从设备111-113中的测量寄存器。可以计算所述每一个设备的振荡器频率,如表IV和表V所示,例如使用“设备振荡器频率=(SCL时钟频率/n)×测量读取”,其中n是脉冲宽度计数。没有计算处于标准模式的I2C总线。
表IV
表V
如果I 2C总线主设备110知道实际的SCL时钟频率,它可以在其计算中使用这个频率。理想地,主设备测量在SDA数据线上实际脉冲为高的时间。如果不需要所述频率的绝对测量,如在闪烁速率是不关键的但是同步一起闪烁是关键的应用中,那么可以假定虚拟频率并且所述测量和校正将都具有相同的相对偏差。
计算合适的设备预分频因子。标称的预分频划分为1024,由于预分频在示例中如何实现的方式,1023将用在下面的方程中。
所述预分频因子等于已计算的设备频率除以标称振荡器频率,乘以1023,并且取整,例如(已计算的设备频率/标称振荡器频率)×1023。
使用在一个示例中的25.00-MHz的标称振荡器频率,表VI和表VII示出了所述计算。
表VI
表VII
所述I2C总线主设备使用标准I2C协议将已计算的预分频因子写入预分频寄存器。在表VIII中总结了对于SCL时钟为1.00MHz而言的结果,并且在表IX中总结了对于SCL时钟为400KHz而言的结果。
表VIII
表IX
闪烁速率不是精确的,因此I2C总线主设备110应该周期性地发送RESET PRESCALE通用调用命令来重新启动从设备111-113中的所有预分频计数器为0。这将同时重新同步并且重新启动所有预分频计数器。
随着时间的过去,从设备111-113中各个振荡器将例如由于温度差和其他因素在频率中独立地漂移。可以在任何时候使用校准方法来重新校准和复位起始时间,因此它们都退回到步骤中。
图7阐释了一个用于I2C总线上的实施例中的主设备700,并且相当于图1中的主设备110。主设备700具有能够在I2C总线上发布MEASURE PULSE和RESET PRESCALE这对通用调用命令的控制器702。所述MEASURE PULSE命令要求相对应的从设备返回有关其本地振荡器的测量因子,否则返回私有振荡器的。所述RESET PRESCALE命令告诉相对应的从设备来接受预分频因子,所述预分频因子已经为其专门计算以便用预分频校正归一化其本地私有振荡器。计算器704计算所述已收集的测量706并且对于许多从设备中的每一个计算合适的预分频因子708,所述预分频因子将协调它们的集体操作。初始校准触发器710为所有从设备提供第一推动,以便使其振荡器归一化到相同的频率,或者如数字粒度所允许的几乎相同的频率。周期性校准触发器712用于保持受控独立从设备振荡器的长期漂移,当其各个数字粒度已经造成将要加载不甚理想的除法商数作为预分频因子时,所述触发器还可以用于使开始点归零。
图8阐释了一个用于I2C总线上的实施例中的从设备800,并且相当于图1中的从设备111-113中的任一个。从设备800具有能够响应来自标准I2C总线的MEASURE PULSE和RESET PRESCALE这对通用调用命令的控制器802。本地板载振荡器804产生原始频率输出806,所述原始频率输出是自由运行的并且由于部件和温度变化可以从从设备到从设备变化。可编程预分频器808允许这个原始频率被预分频到已校正的频率输出810中。所述可编程预分频808类似于图6中所示的预分频600。
理想地,在相同I2C总线上的一组从设备800可以通过适当的预分频集体地校正其振荡器,以便其各个已校正的频率输出810都彼此匹配。可编程除法器812允许应用程序控制最终输出814的频率、脉冲宽度或者单冲时间(one-shot time)。测量电路816类似于图3中所示的电路300。根据由I2C总线SDA数据线信号818和SCL时钟线信号820控制的测量窗口获取所述原始频率输出806的采样。当接收到MEASURE PULSE命令时,测量822由所述从设备控制器802输出并且转发至主设备。
图9阐释了方法900的主设备实施例,所述方法用于发布MEASURE PULSE命令来从多个从设备收集振荡器测量,计算合适的预分频因子,以及发布RESET PRESCALE命令来将已计算的预分频因子写入I2C总线上的各个从设备中。所述位结构可以分别类似于图2和图5所示的位结构。步骤902是初始校准触发器,使循环开始第一次,例如在上电复位之后。步骤904向I2C总线发布通用调用命令MEASURE PULSE。责任从设备将用确认和其自己原始振荡器频率的测量来响应。所述测量结果在步骤906中被接收并且用于步骤908中合适的预分频因子的计算。一旦已计算的预分频因子就绪,步骤910就向I2C总线发布通用调用命令RESET PRESCALE。在步骤912中发送的下一个或者两个字节是具有例如10比特宽的预分频因子的数据。对所有需要协调其振荡器的从设备重复所述过程,并且可以使用除在此特别描述的方法之外的不同的广播和收集方法。周期性校准触发器914时常重复所述过程来保持组成振荡器漂移处于控制之下。
图10阐释了方法1000的从设备实施例,所述方法用于响应来自主设备的MEASURE PULSE命令,所述主设备想要从多个从设备收集振荡器测量。当接收到I2C总线上的RESET PRESCALE命令时,方法1000还用于接受合适的预分频因子。所述比特结构可以分别类似于图2和图5所示的比特结构。步骤1002接收I2C总线上的通用调用命令MEASURE PULSE。所述从设备将在步骤1002中通过例如使用图3所示的电路收集测量来响应。所述测量结果在步骤1006中被发出并且由主设备用在合适的预分频因子的计算中。一旦已计算预分频因子就绪,步骤1008就从I2C总线接收通用调用命令RESET PRESCALE。下一个或者两个字节时具有例如10比特宽的预分频因子的数据。步骤1010复位所述预分频除法器,并且步骤1012例如使用图6所示的电路加载可编程预分频除法器。现在所述从设备使其振荡器与所述系统中其他从设备上的其他振荡器协调。
在替代实施例中,所述单独从设备可能由主设备触发,以便复位和引起其自己的预分频校正因子的重新计算。这样可能类似于广播组复位。在此描述的从设备都具有按照在它们共享的I2C总线的SDA数据线和SCL时钟线上共同看到的信号返回其自己的振荡器测量的能力。如果它们都具有在预分频除法器的输出处需要争取的共同的标称目标频率,那么所述从设备可能它们自己需要的计算合适的预分频因子,无需将任何通信量放在I2C总线上。
总之,方法、协议、设备和系统实施例用于协调共享特定的I2C总线的多个I2C总线从设备的振荡器频率。根据由包括在特定I2C总线中的SDA数据线和SCL时钟线提供的测量窗口期测量与每一个I2C总线从设备有关的振荡器的原始工作频率。基于已获得的测量结果计算预分频因子。所述预分频因子被加载到与提供原始工作频率的振荡器有关的可编程预分频除法器中。对特定I2C总线上的多个从设备执行所述测量、计算和加载,以便协调每一个可编程预分频除法器的各个输出频率。
尽管已经描述和阐释了本发明的具体实施例,但是本发明不限于已经在此描述和阐释的具体形式或者部件的设置。本发明只由权利要求限制。
Claims (20)
1.一种用于协调多个I 2C总线从设备的预分频后的振荡器频率的方法,包括:
根据由包括在特定I2C总线中的串行数据线和串行时钟线提供的测量窗口期测量I2C总线从设备上的每一个振荡器的原始工作频率;
基于在测量步骤获得的测量结果计算预分频因子;以及
将所述预分频因子加载到与提供所述原始工作频率的振荡器相关联的相应可编程预分频除法器中;
其中,当对所述特定I2C总线上的多个从设备执行所述测量、计算和加载时,导致了各个可编程预分频除法器的各个输出频率的协调。
2.根据权利要求1所述的方法,还包括:
通过所述I2C总线从主设备向每一个所述从设备发送MEASURE PULSE通用调用命令来触发测量步骤。
3.根据权利要求1所述的方法,还包括:
通过所述I2C总线接收所述测量结果到执行计算步骤的主设备中。
4.根据权利要求1所述的方法,还包括:
通过所述I 2C总线从主设备向每一个所述从设备发送RESET PRESCALE通用调用命令来开始加载步骤。
5.根据权利要求1所述的方法,还包括:
通过所述I 2C总线从主设备向每一个所述从设备发送MEASURE PULSE通用调用命令来触发测量步骤;
通过所述I2C总线接收所述测量结果到执行计算步骤的主设备中;
通过所述I2C总线从主设备向每一个所述从设备发送RESET PRESCALE通用调用命令来开始加载步骤。
6.一种I2C总线设备,包括:
主设备控制器,用于在I2C总线上发布两个通用调用命令MEASURE PULSE和RESET PRESCALE;
计算机,用于根据响应于所述MEASURE PULSE命令而获得的脉冲测量结果为从设备计算新的振荡器预分频因子;以及
发射机,用于使用所述RESET PRESCALE命令将所述新的振荡器预分频因子发送给所述从设备。
7.根据权利要求6所述的I2C总线设备,还包括:
初始校准触发器,用于提供所述MEASURE PULSE命令和RESET PRESCALE命令的第一次发布。
8.根据权利要求6所述的I2C总线设备,还包括:
周期性校准触发器,用于提供所述MEASURE PULSE命令和RESET PRESCALE命令的周期性发布。
9.根据权利要求6所述的I2C总线设备,还包括:
从设备控制器,用于通过所述I2C总线来响应两个所述通用调用命令MEASURE PULSE和RESET PRESCALE;
测量电路,用于针对所述I2C总线的串行数据线和串行时钟线,进行对从设备所私有的振荡器工作频率的测量;以及
可编程预分频器,用于接受所述新的振荡器预分频因子并且将其加载到预分频寄存器中;
其中,当向所述I2C总线上驻留的从设备组中的每一个从设备提供合适的振荡器预分频因子时,所述振荡器预分频因子将协调组内从设备上的所有本地振荡器的预分频之后的频率。
10.根据权利要求9所述的I2C总线设备,还包括:
计算装置,用于根据响应于所述MEASURE PULSE命令而获得的脉冲测量结果,为所述特定的从设备计算新的振荡器预分频因子。
11.根据权利要求9所述的I2C总线设备,还包括:
为从设备所私有的振荡器,具有可被测量电路采样的原始频率输出,并且用于馈送给可编程预分频器。
12.根据权利要求11所述的I2C总线设备,还包括:
可编程除法器,具有连接用于从可编程预分频器接收归一化频率的输入,并且具有其频率或者脉冲宽度可由应用程序编程的输出信号。
13.一种用于I2C总线的协议,包括:
MEASURE PULSE命令,用于激发I2C总线从设备采样其板载振荡器的原始频率输出,并且通过I2C总线返回测量结果。
14.根据权利要求13所述的协议,还包括:
用于为所述从设备计算合适的振荡器预分频因子的过程。
15.根据权利要求13所述的协议,还包括:
RESET PRESCALE命令,用于重新启动用于板载振荡器的可编程预分频器,并且用于将合适的预分频因子加载到所述可编程预分频器的寄存器中;
其中,当向所述I 2C总线上驻留的从设备组中的每一个从设备提供合适的振荡器预分频因子时,所述预分频因子将协调组内从设备上的所有本地振荡器的预分频之后的频率。
16.根据权利要求15所述的协议,还包括:
周期性校准触发器,用于提供所述MEASURE PULSE命令和RESET PRESCALE命令的周期性发布,以便重新启动所述可编程预分频器。
17.一种I2C总线系统,包括:
MEASURE PULSE命令,用于激发I2C总线从设备对其板载振荡器的原始频率输出进行采样,并且通过I2C总线返回测量结果,以及包括为所述从设备计算合适的振荡器预分频因子的过程;
RESET PRESCALE命令,用于重新启动用于所述板载振荡器的可编程预分频器,并且用于将合适的预分频因子加载到所述可编程预分频器的寄存器中;
主设备控制器,用于在I2C总线上发布两个通用调用命令MEASURE PULSE和RESET PRESCALE,以及包括用于基于响应于所述MEASURE PULSE命令获得的脉冲测量结果为从设备计算新的振荡器预分频因子的计算机,以及包括用于使用所述RESET PRESCALE命令将振荡器预分频因子发送给所述从设备的发射机;以及
从设备控制器,用于通过所述I2C总线来响应两个所述通用调用命令MEASURE PULSE和RESET PRESCALE,以及包括用于针对所述I2C总线的串行数据线和串行时钟线,对所述板载振荡器的工作频率进行测量的测量电路,以及包括用于保持所述新的振荡器预分频因子并且将其加载到预分频寄存器中的可编程预分频器。
18.根据权利要求17所述的系统,其中合适的振荡器预分频因子可被提供给每一个I 2C总线从设备,以便协调在所述系统中相应的所述从设备上的所有板载振荡器的最终输出频率。
19.根据权利要求17所述的系统,还包括:
多个LED,所述LED由所述从设备中的特定从设备单独地并且独立地驱动,并且可被统一控制为通-断或者变暗。
20.根据权利要求17所述的系统,还包括:
周期性校准触发器,用于提供所述MEASURE PULSE命令和RESET PRESCALE命令的周期性发布,以便重新启动所述可编程预分频器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/269,018 | 2008-11-11 | ||
US12/269,018 US7930127B2 (en) | 2008-11-11 | 2008-11-11 | Oscillator prescale calibration for harmonizing multiple devices with independent oscillators over an I2C bus interface |
PCT/IB2009/054950 WO2010055448A2 (en) | 2008-11-11 | 2009-11-06 | Oscillator prescale calibration for harmonizing multiple devices with independent oscillators over an i2c bus interface |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102210125A true CN102210125A (zh) | 2011-10-05 |
Family
ID=42076977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801448718A Pending CN102210125A (zh) | 2008-11-11 | 2009-11-06 | 通过i2c总线接口协调多个具有独立振荡器的设备的振荡器预分频校准 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7930127B2 (zh) |
EP (1) | EP2377275B1 (zh) |
CN (1) | CN102210125A (zh) |
WO (1) | WO2010055448A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573875A (zh) * | 2015-12-10 | 2016-05-11 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于i2c总线的系统及测试方法 |
CN113127394A (zh) * | 2021-03-19 | 2021-07-16 | 深圳震有科技股份有限公司 | 一种数据分时发送方法、系统及存储介质 |
CN114270327A (zh) * | 2019-08-20 | 2022-04-01 | 康蒂-特米克微电子有限公司 | 对总线用户进行位置识别的方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8224602B2 (en) * | 2008-11-11 | 2012-07-17 | Nxp B.V. | Automatic on-demand prescale calibration across multiple devices with independent oscillators over an I2C Bus interface |
US8959380B2 (en) | 2012-05-09 | 2015-02-17 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Dynamically optimizing bus frequency of an inter-integrated circuit (‘I2C’) bus |
CN102946247B (zh) * | 2012-11-08 | 2015-03-18 | 东南大学 | I2s接口时钟电路的分频电路 |
CN103052211A (zh) * | 2012-11-29 | 2013-04-17 | 安徽冠宇光电科技有限公司 | 一种i2c总线控制的led灯及控制方法 |
US8989328B2 (en) * | 2013-03-14 | 2015-03-24 | Qualcomm Incorporated | Systems and methods for serial communication |
US9322538B2 (en) * | 2013-10-28 | 2016-04-26 | Yau-Chin Peng | Structure of LED light set |
GB2538245B (en) * | 2015-05-11 | 2017-06-14 | Cirrus Logic Int Semiconductor Ltd | Digital accessory interface |
CN107436596B (zh) * | 2016-05-26 | 2020-04-07 | 上海拿森汽车电子有限公司 | 电动助力转向系统的主辅mcu冗余监控方法 |
CN113312217A (zh) * | 2020-02-26 | 2021-08-27 | 瑞昱半导体股份有限公司 | 内部集成电路总线的从属装置的测试方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6282673B1 (en) * | 1997-05-13 | 2001-08-28 | Micron Technology, Inc. | Method of recording information system events |
US6404770B1 (en) * | 1997-12-02 | 2002-06-11 | Yamaha Corporation | Data communication interface with adjustable-size buffer |
US6704770B1 (en) | 2000-03-28 | 2004-03-09 | Intel Corporation | Method and apparatus for cut, copy, and paste between computer systems across a wireless network |
US7149838B2 (en) * | 2001-05-29 | 2006-12-12 | Sun Microsystems, Inc. | Method and apparatus for configuring multiple segment wired-AND bus systems |
US6799233B1 (en) * | 2001-06-29 | 2004-09-28 | Koninklijke Philips Electronics N.V. | Generalized I2C slave transmitter/receiver state machine |
ATE427521T1 (de) | 2001-07-26 | 2009-04-15 | Freescale Semiconductor Inc | Uhrensynchronisation in einem verteilten system |
WO2003013051A2 (en) | 2001-08-02 | 2003-02-13 | Massana Research Limited | Timing recovery in data communication circuits |
GB2409383B (en) | 2003-12-17 | 2006-06-21 | Wolfson Ltd | Clock synchroniser |
WO2006029511A1 (en) | 2004-09-13 | 2006-03-23 | Nortel Networks Limited | Method and apparatus for synchronizing internal state of frequency generators on a communications network |
WO2006117747A1 (en) * | 2005-04-29 | 2006-11-09 | Koninklijke Philips Electronics, N.V. | 12c slave device with programmable write-transaction cycles |
US7502953B2 (en) | 2006-01-05 | 2009-03-10 | International Business Machines Corporation | Dynamically adding additional masters onto multi-mastered IIC buses with tunable performance |
WO2008031234A1 (de) * | 2006-09-12 | 2008-03-20 | Elektrobit Wireless Communications Ltd. | Vorrichtung und verfahren zur frequenzsynchronisation einer anzahl rfid schreib-/lesestationen |
-
2008
- 2008-11-11 US US12/269,018 patent/US7930127B2/en active Active
-
2009
- 2009-11-06 CN CN2009801448718A patent/CN102210125A/zh active Pending
- 2009-11-06 WO PCT/IB2009/054950 patent/WO2010055448A2/en active Application Filing
- 2009-11-06 EP EP09802210A patent/EP2377275B1/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573875A (zh) * | 2015-12-10 | 2016-05-11 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于i2c总线的系统及测试方法 |
CN114270327A (zh) * | 2019-08-20 | 2022-04-01 | 康蒂-特米克微电子有限公司 | 对总线用户进行位置识别的方法 |
CN113127394A (zh) * | 2021-03-19 | 2021-07-16 | 深圳震有科技股份有限公司 | 一种数据分时发送方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US7930127B2 (en) | 2011-04-19 |
EP2377275A2 (en) | 2011-10-19 |
US20100117691A1 (en) | 2010-05-13 |
EP2377275B1 (en) | 2012-07-11 |
WO2010055448A3 (en) | 2010-07-08 |
WO2010055448A2 (en) | 2010-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102210125A (zh) | 通过i2c总线接口协调多个具有独立振荡器的设备的振荡器预分频校准 | |
US8224602B2 (en) | Automatic on-demand prescale calibration across multiple devices with independent oscillators over an I2C Bus interface | |
CN102265237A (zh) | 同步和计时方法及设备 | |
CN104320240B (zh) | 一种提供系统内全局时钟的方法和装置 | |
CN109067394B (zh) | 片上时钟校准装置及校准方法 | |
CN101103277A (zh) | 自动测试设备中具有用于同步的接口的仪器 | |
CN101103278A (zh) | 具有同步仪器的自动测试系统 | |
CN106027193A (zh) | 用于网络授时系统的时钟同步方法、模块、设备及系统 | |
CN112162591B (zh) | 具有多个处理器的电子装置及其同步方法 | |
CN111082887B (zh) | 一种信号传输延时补偿的系统、方法、装置、设备及介质 | |
CN109117410A (zh) | 一种基于通用异步串行通信接口的高精度对时方法 | |
CN102638339B (zh) | 一种用于实现精确时间同步的方法和装置 | |
CN107483136A (zh) | 一种固定通信设备间的时钟同步方法 | |
KR100225717B1 (ko) | 시리얼 데이터 전송 장치 | |
US7096295B2 (en) | Method and device for generating program interruptions in users of a bus system, and bus system | |
CN102857315A (zh) | 主时钟服务从时钟的方法及系统 | |
CN105743758A (zh) | 通讯方法 | |
CN209805837U (zh) | 一种vr时间同步器 | |
CN110895125B (zh) | 一种电子雷管芯片内部时钟校准方法 | |
CN105701055B (zh) | 电子装置及其数据传输方法 | |
JP6476725B2 (ja) | 伝送装置及び時刻同期方法 | |
US20200145486A1 (en) | Computer network with a first and a second synchronizing signal transmitter | |
CN105530656B (zh) | 一种无线传感器网络时间同步性能评估方法及系统 | |
KR20200070972A (ko) | 시간정보 기반 직렬통신 제어 방법 및 장치 | |
CN111193509B (zh) | 源同步数据采样点自动校准方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20111005 |