CN107710183A - 针对50纳秒尖峰滤波器的测试 - Google Patents
针对50纳秒尖峰滤波器的测试 Download PDFInfo
- Publication number
- CN107710183A CN107710183A CN201680034080.XA CN201680034080A CN107710183A CN 107710183 A CN107710183 A CN 107710183A CN 201680034080 A CN201680034080 A CN 201680034080A CN 107710183 A CN107710183 A CN 107710183A
- Authority
- CN
- China
- Prior art keywords
- slave unit
- order
- universal serial
- serial bus
- pulse train
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2289—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/404—Coupling between buses using bus bridges with address mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
Abstract
描述了提供集成电路间(I2C)总线的改进性能的系统、方法和装置。一种测试旧式I2C设备中的尖峰滤波器的方法包括:根据I2C协议生成要在串行总线上传送的命令,其中该命令包括对应于旧式从设备的地址;将该命令与脉冲序列合并以获得测试信号;在该串行总线上传送该测试信号;以及基于该旧式从设备是否确收该测试信号来确定第一从设备中的尖峰滤波器的功效。该脉冲序列中的每个脉冲具有小于50ns的历时。该尖峰滤波器预期抑制具有小于50ns的历时的脉冲。
Description
相关申请的交叉引用
本申请要求于2015年6月15日在美国专利局提交的临时申请No.62/175,723、以及于2016年6月10在美国专利商标局提交的非临时申请No.15/179,470的权益,这些申请的全部内容纳入于此。
背景
领域
本公开一般涉及处理器与外围设备之间的接口,并且尤其涉及改进串行总线的数据通信能力。
背景技术
集成电路间串行总线(也可被称为I2C总线或I2C总线)是旨在用于将低速外围设备连接至处理器的串行单端计算机总线。I2C总线是多主控总线,其中每个设备可以针对I2C总线上传送的不同消息充当主设备和从设备。I2C总线可以仅使用两个双向开漏(open-drain)连接器(包括串行数据线(SDA)和串行时钟线(SCL))来传送数据。这些连接器通常包括由上拉电阻器终接的信号导线。I2C的原始实现在标准模式(Sm)操作中支持最高达100千比特每秒(100kbps)的数据信令速率,其中较新近的标准在快速模式(Fm)操作中支持400kbps的速度,并且在快速模式+(Fm+)操作中支持1兆比特每秒(Mbps)的速度。
然而,在一些系统和装置中,需要更高带宽来支持某些类型的设备之间的通信。例如,移动通信设备(诸如蜂窝电话)可以采用消耗显著带宽的多个设备(包括相机、显示器和各种通信接口)。当要使用混合信令(包括根据常规I2C协议的信令)以维持与旧式设备的兼容性时,可能难以获得较高带宽。例如,可能难以确定I2C设备是否能共存在由增强型设备用来以比这些I2C所能处置的比特率更高的比特率传送数据和命令的串行总线上。因此,一直存在着在被配置为连接移动设备内的主控组件和从动组件的总线的串行接口上提供优化通信的需要。
概述
本文所公开的实施例提供了可确定旧式I2C设备是否能与增强型设备在共用串行总线上共存的系统、方法和装置。在一个示例中,尖峰滤波器(spikefilter)被测试以确定该尖峰滤波器是否能抑制具有小于50纳秒(50ns)的历时的脉冲序列。
在本公开的各方面,一种数据通信方法可由主设备执行。该方法包括:根据I2C协议生成要在串行总线上传送的命令,其中该命令包括对应于第一从设备的地址;将该命令与脉冲序列合并以获得测试信号;在该串行总线上传送该测试信号;以及基于第一从设备是否确收该命令来确定第一从设备中的尖峰滤波器的功效或有效性。该脉冲序列中的每个脉冲具有小于50ns的历时。该尖峰滤波器预期抑制具有小于50ns的历时的脉冲。
在一个方面,第一从设备可通过确收该命令来正确地响应该命令。主设备可接收来自从设备的响应于该命令的确收。确收可以是关于第一从设备中的尖峰滤波器在有效地操作的指示。
在一个方面,确定尖峰滤波器的功效包括使第一值被写入第一从设备的寄存器、以及从第一从设备中的该寄存器读取第二值。主设备可在第一值等于第二值时确定该尖峰滤波器有效。
在一些方面,主设备可通过在没有该脉冲序列的情况下按一个或多个时钟频率传送该命令来确定第一从设备的存在。第一从设备可被配置成在第一设备存在于串行总线上并且被适配成用于使用该一个或多个时钟频率中的至少一者来通信时确收该命令。测试信号可按与该一个或多个时钟频率中的最低频率相对应的时钟频率来传送。
在一个方面,主设备可通过将脉冲序列合并到在串行总线上传送的时钟信号处于低状态时的多个区间中的每一者来将该命令与该脉冲序列合并。
在另一方面,主设备可通过将脉冲序列合并到在串行总线上传送的时钟信号处于高状态时的多个区间中的每一者来将该命令与该脉冲序列合并。
在各方面,每个脉冲包括期间该脉冲处于高状态的40纳秒时间段。该脉冲序列在串行总线的串行时钟线或串行总线的串行数据线上被传送。
在本公开的各方面,一种耦合至串行总线的装备包括:用于根据I2C协议生成要在串行总线上传送的命令的装置,其中该命令包括对应于第一从设备的地址;用于将该命令与脉冲序列合并以获得测试信号的装置;用于在串行总线上传送测试信号的装置;以及用于基于第一从设备是否确收该命令来确定第一从设备中的尖峰滤波器的功效或有效性的装置。该脉冲序列中的每个脉冲具有小于50ns的历时。该尖峰滤波器预期抑制具有小于50ns的历时的脉冲。
在本公开的各方面,一种检测耦合至串行总线的设备的能力的装置包括处理系统,其被配置成:根据I2C协议生成要在串行总线上传送的命令,其中该命令包括对应于第一从设备的地址;将该命令与脉冲序列合并以获得测试信号,其中该脉冲序列中的每个脉冲具有小于50纳秒的历时;在串行总线上传送该测试信号;以及基于第一从设备是否正确地响应该命令来确定第一从设备中的尖峰滤波器的功效或有效性。该尖峰滤波器可预期抑制具有小于50ns的历时的脉冲。
在本公开的各个方面,公开了一种处理器可读存储介质。该存储介质可以是非瞬态存储介质并且可存储能由一个或多个处理器执行的代码。在各种示例中,该处理器可读存储介质具有用于以下操作的代码:根据集成电路间(I2C)协议生成要在串行总线上传送的命令,其中该命令包括对应于第一从设备的地址;将该命令与脉冲序列合并以获得测试信号,其中该脉冲序列中的每个脉冲具有小于50纳秒的历时;在串行总线上传送该测试信号;以及基于第一从设备是否正确地响应该命令来确定第一从设备中的尖峰滤波器的功效或有效性。该尖峰滤波器可预期抑制具有小于50ns的历时的脉冲。
附图简要说明
图1描绘了在各集成电路(IC)设备之间采用数据链路的装置,该数据链路选择性地根据多个可用标准之一来操作。
图2解说了连接至I2C通信总线的装置的某些方面。
图3解说了连接至共用串行总线的I2C的配置。
图4解说了常规I2C总线上的SDA导线和SCL导线之间的定时关系的某些方面。
图5是解说与在I2C总线上传送的多个帧相关联的定时的时序图。
图6解说了与根据I2C协议向从设备发送命令字有关的定时。
图7解说了可被I2C设备滤波的脉冲的定时。
图8解说了与旧式I2C设备中的尖峰滤波器的操作相关联的某些方面。
图9解说了根据本文所公开的某些方面的测试传输的第一示例。
图10解说了根据本文所公开的某些方面的测试传输的第二示例。
图11解说了根据本文所公开的某些方面的用于测试旧式I2C设备中的尖峰滤波器的过程。
图12解说了根据本文所公开的一个或多个方面的通过I2C总线进行通信的接收装置的硬件实现的示例。
图13是根据本文所公开的一个或多个方面的用于检测耦合至串行总线的设备的能力的方法的流程图。
图14解说了采用根据本文所公开的某些方面适配的处理电路的装置的硬件实现的示例。
详细描述
现在参照附图描述各个方面。在以下描述中,出于解释目的阐述了众多具体细节以提供对一个或多个方面的透彻理解。但是显然的是,没有这些具体细节也可实践此(诸)方面。
如本申请中所使用的,术语“组件”、“模块”、“系统”及类似术语旨在包括计算机相关实体,诸如但并不限于硬件、固件、硬件与软件的组合、软件、或执行中的软件。例如,组件可以是但不限于是,在处理器上运行的进程、处理器、对象、可执行件、执行的线程、程序和/或计算机。作为解说,在计算设备上运行的应用和该计算设备两者都可以是组件。一个或多个组件可驻留在进程和/或执行的线程内,且组件可以本地化在一台计算机上和/或分布在两台或更多台计算机之间。另外,这些组件能从其上存储有各种数据结构的各种计算机可读介质来执行。这些组件可借助于本地和/或远程进程来通信,诸如根据具有一个或多个数据分组的信号来通信,这样的数据分组诸如是来自藉由该信号与本地系统、分布式系统中另一组件交互的、和/或跨诸如因特网之类的网络与其他系统交互的一个组件的数据。
此外,术语“或”旨在表示包含性“或”而非排他性“或”。即,除非另外指明或从上下文能清楚地看出,否则短语“X采用A或B”旨在表示任何自然的可兼排列。即,短语“X采用A或B”得到以下任何实例的满足:X采用A;X采用B;或X采用A和B两者。另外,本申请和所附权利要求书中所使用的冠词“一”和“某”一般应当被解释成表示“一个或多个”,除非另外声明或者可从上下文中清楚看出是指单数形式。
本发明的某些方面可适用于被部署在作为移动装置的子组件的电子设备之间的通信链路,该移动装置诸如是蜂窝电话、智能电话、会话发起协议(SIP)电话、膝上型设备、笔记本、上网本、智能本、个人数字助理(PDA)、卫星无线电、全球定位系统(GPS)设备、智能家用设备、智能照明设备、多媒体设备、视频设备、数字音频播放器(例如,MP3播放器)、相机、游戏控制台、娱乐设备、车载组件、可穿戴计算设备(例如,智能手表、健康或健身跟踪器、眼镜等)、电器、传感器、安全设备、自动售货机、智能电表、遥控飞机、多旋翼直升机、或任何其他类似的功能设备。
图1解说了可采用IC设备之间的通信链路的装置100。在一个示例中,装置100可作为通信设备来操作,其使用射频(RF)无线电和/或收发机106来与无线电接入网(RAN)、核心接入网、因特网和/或另一网络进行通信。收发机106可实施在处理电路102中,或者可操作地耦合至处理电路102。处理电路102可包括一个或多个IC设备,诸如专用IC(ASIC)108。ASIC 108可包括一个或多个处理设备110、逻辑电路112、等等。处理电路102可包括和/或耦合至处理器可读存储介质114(诸如存储器设备),该处理器可读存储介质114可以储存和维护供处理电路102执行或另作他用的数据和指令。处理电路102可由操作系统控制,并且可提供应用编程接口(API)层以支持并使得能够执行驻留在存储介质114中的软件模块。存储介质114可包括ROM或RAM、EEPROM、闪存卡、和/或可被用在处理系统和计算平台中的任何存储器设备。处理电路102可包括或访问本地数据库,该本地数据库可维护用于配置和操作该装置100的操作参数和其他信息。本地数据库可使用数据库模块、闪存、磁介质、EEPROM、光学介质、磁带、软盘或硬盘等中的一者或多者来实现。处理电路也可以可操作地耦合至其他设备,诸如天线122、显示器124、操作者控件(诸如按钮128和按键板126)、以及其他组件。
图2是解说包括连接至共享总线(诸如串行总线230)的多个设备202、220和222a-222n的装置200的某些方面的示意性框图。装置200可以实施在例如移动处理/通信设备中。装置200包括使用串行总线230来通信的设备202、220和222a-222n。在一些实现中,串行总线230支持一种或多种协议(其可包括I2C协议)。在一些示例中,耦合至串行总线230的从设备202、222a-222n包括或耦合至传感器。在另一示例中,从设备202包括传感器控制功能204,其管理传感器或与之通信。传感器可以是环境传感器、位置定位传感器、运动传感器、或类似传感器。在另一示例中,从设备202可以是包括成像传感器的成像设备。从设备202可包括配置寄存器206、控制逻辑212、收发机210以及线驱动器/接收机214a和214b。控制逻辑212可包括处理器,诸如状态机、定序器、信号处理器或通用处理器。收发机210可包括接收机210a、发射机210c和共用电路210b(包括定时、逻辑和存储电路和/或设备)。在一个示例中,发射机210c基于由时钟生成电路208提供的定时来编码并传送数据。
设备202、220和/或222a-222n中的两者或更多者可根据本文所公开的某些方面和特征来适配以扩展由根据常规I2C协议来操作的共享总线提供的带宽和其他能力。在一个示例中,设备202、220和/或222a-222n可被适配成支持I2C协议的衍生协议或不同于I2C协议的协议。在另一示例中,设备202、220和/或222a-222n可被适配成支持比在常规I2C协议被用于管理串行总线230上的通信时通常可达成的比特率更高的比特率。I2C协议可遵循实际的I2C标准,并且除了数据格式和I2C总线控制和定时之外还可包括定义I2C信号的电气和定时方面的规范。
图3解说了连接至串行总线302的设备304、306、308、310、312、314和316的配置,由此三个增强型设备304、314和316被适配或配置成在串行总线302上获得较高的数据传输速率。增强型设备304、314和306可与常规地配置的I2C设备306、308、310和312共存。增强型设备304、314和316可以替换地或附加地按期望或按需要使用常规I2C协议来通信。
当增强型主设备304作为控制串行总线302的总线主控来操作时,串行总线302能够以较高的数据传输速率来操作。在所描绘的示例中,单个主设备304可以在I2C模式和增强模式中用作总线主控,该增强模式支持超过在根据常规I2C协议来操作串行总线302时达成的数据传输速率的数据传输速率。用于较高数据率话务的信令可以利用I2C协议的某些特征以使得能够在串行总线302上携带较高数据率话务,而无需损害耦合至串行总线302的旧式I2C设备306、308、310和312的功能性。
图4包括解说常规I2C总线上的SDA导线402和SCL导线404之间的关系的时序图400和420。第一时序图400解说在常规配置的I2C总线上传输数据时SDA导线402与SCL导线404之间的定时关系。SCL导线404提供可被用于对SDA导线402中的数据进行采样的一系列脉冲。这些脉冲(包括例如脉冲412)可被定义为期间在接收机处确定SCL导线404处于高逻辑状态的时间。当SCL导线404在数据传输期间处于高逻辑状态时,要求SDA导线402上的数据是稳定且有效的;在SCL导线404处于高逻辑状态时,SDA导线402的状态不允许改变。
常规I2C协议实现的规范(其可被称为“I2C规范”)定义了SCL导线404上的脉冲412的高时段的最小历时410(t高)。I2C规范还定义了脉冲412发生前的建立时间406(tSU)的最小历时、以及脉冲412终止后的保持时间408(t保持)的最小历时。SDA导线402的信令状态预期在建立时间406和保持时间408期间保持稳定。建立时间406定义了在SDA导线402上的信令状态之间的转变416之后、直至SCL导线404上的脉冲412的上升沿抵达为止的最大时间段。保持时间408定义了在SCL导线404上的脉冲412的下降沿之后、直至SDA导线402上的信令状态之间的下一转变418为止的最小时间段。I2C规范还定义了SCL导线404的低时段(t低)的最小历时414。SDA导线402上的数据通常是稳定的和/或可在SCL导线404在脉冲412的前沿之后处于高逻辑状态时的历时410(t高)里被捕捉。
图4的第二时序图420解说了在常规I2C总线上的数据传输之间SDA导线402和SCL导线404上的信令状态。I2C协议提供了8比特数据(字节)和7比特地址的传输。接收机可通过将SDA导线402驱动为低逻辑状态达一个时钟周期来确收传输。低信令状态表示指示成功接收的确收(ACK),而高信令状态表示指示接收失败或接收错误的否定确收(NACK)。
开始状况422被定义为准许当前总线主控发信号通知数据将被传送。开始状况422在SDA导线402从高转变为低而同时SCL导线404为高时发生。I2C总线主控最初传送开始状况422(其还可被称为开始比特),其后跟随该I2C总线主控希望与其交换数据的I2C从设备的7比特地址。在该地址之后跟随着指示要进行读操作还是写操作的单个比特。被寻址的I2C从设备(若可用)用ACK比特来响应。如果没有I2C从设备作出响应,则I2C总线主控可将SDA导线402的高逻辑状态解读为NACK。主设备和从设备随后可在帧中交换信息字节,其中这些字节被串行化,以使得首先传送最高有效位(MSB)。当I2C主设备传送停止状况424时,字节传输完成。停止状况424在SDA导线402从低转变为高而同时SCL导线404为高时发生。I2C规范要求SDA导线402的所有转变在SCL导线404为低时发生,并且例外可被当作开始状况422或停止状况424。
图5包括解说与I2C总线上的数据传输相关联的定时的示图500和520。如第一示图500中所解说的,空闲时段514可发生在停止状况508与连贯开始状况510之间。该空闲时段514可被延长,并且可在常规I2C总线在停止状况508与连贯开始状况510之间保持空闲时导致数据吞吐量减少。在操作中,繁忙时段512在I2C总线主控传送第一开始状况506继之以数据时开始。繁忙时段512在I2C总线主控传送停止状况508时结束并且空闲时段514跟着发生。空闲时段514在第二开始状况510被传送时结束。
第二时序图520解说了可藉以减少空闲时段514的发生数目的方法。在所解说的示例中,数据在第一繁忙时段532结束之前可用于传输。I2C总线主设备可传送重复的开始状况528(Sr)而非停止状况。重复的开始状况528终止先前的数据传输并且同时指示下一数据传输的开始。SDA导线522上与重复的开始状况528相对应的状态转变等同于SDA导线522上对应于发生在空闲时段530之后的开始状况526的状态转变。对于开始状况526和重复的开始状况528两者,SDA导线522从高转变为低而同时SCL导线524为高。当在数据传输之间使用重复的开始状况528时,第二繁忙时段534紧跟在第一繁忙时段532之后。
图6是解说与根据I2C协议向从设备发送命令字相关联的定时的示例的示图600。在该示例中,主设备用开始状况606发起该事务,由此SDA导线602被从高驱动为低而同时SCL导线保持为高。主设备随后在SCL导线604上传送时钟信号。从设备的7比特地址610随后在SDA导线602上被传送。7比特地址610之后是写/读命令比特612,其在为低时指示“写”并且在为高时指示“读”。从设备可在下一时钟区间614中通过将SDA导线602驱动为低来用确收(ACK)进行响应。如果从设备未作出响应,则SDA导线602被拉高且主设备将缺乏响应当作NACK。主设备可通过将SDA导线602从低驱动为高而同时SCL导线604为高来用停止状况608终止该事务。此事务可用于确定耦合至I2C总线的具有所传送地址的从设备是否处于活跃状态。
继续参照图3,某些方面涉及其中在增强型设备304、314、316之间提供较高数据率的实现,该较高数据率高于I2C协议所支持的数据率。例如,用于耦合至串行总线302的增强型设备304、314、316之间的通信的增大数据率可通过提高串行总线302上的时钟速率来达成。旧式I2C设备306、308、310、312可能无法处置增大的时钟频率和/或可能误判增强型设备304、314、316之间所传送的信令。根据某些方面,用于增强型设备304、314、316之间的通信的增大数据率可使用缩短的时钟信号脉冲宽度来达成。由于旧式I2C设备306、308、310、312的接收机中存在尖峰滤波器,因此具有缩短的脉冲宽度的脉冲可被旧式I2C设备306、308、310、312忽略。
图7是解说可被旧式I2C设备306、308、310、312滤波的脉冲的定时的时序图700。SCL导线704可携带遵循或符合I2C协议的一个或多个脉冲706。即,脉冲706具有超过由I2C协议指定的最小脉冲历时的历时的高时段708。该脉冲之前的低时段718和该脉冲之后的低时段720具有超过由I2C协议指定的最小低历时的历时。在时序图700中,较短的正转变脉冲710和712可被旧式I2C设备306、308、310、312的接收机中所提供的尖峰滤波器滤除。尖峰滤波器还可以滤除较短的负转变脉冲714。
I2C规范定义了在某些操作模式中常规I2C接收机的输入滤波器必须抑制的尖峰脉冲宽度(tSP)。在一个示例中,tSP=50ns,那么具有小于50ns的历时的脉冲预期被I2C兼容尖峰滤波器拦截。将该示例应用于图7,脉冲710、712、714中短于50ns的任何脉冲预期被常规I2C接收机滤除和忽略。增强型设备304、314、316可通过在SDA导线702和/或SCL导线704上传送具有小于tSP脉冲宽度的历时(tSEC)的脉冲来通信,其中tSP由I2C规范指定。
还参照图4,在I2C规范中为某些操作模式定义了SDA导线402和SCL导线404的高和低逻辑状态的历时410、414的最小历时。在Fm操作的示例中,每个逻辑高时段的历时410必须大于0.6μs,并且每个逻辑低时段(t低)的历时414必须大于1.3μs,其中没有指定最大值。
图8解说了与旧式I2C设备306、308、310、312中的尖峰滤波器812的操作相关联的某些方面。第一示图800解说了提供给尖峰滤波器812的输入信号802、以及结果所得的输出信号804的示例。输入信号802包括具有小于tSP脉冲宽度的历时616的短脉冲806。尖峰滤波器812操作用于防止短脉冲806出现在输出信号804中。在一些实例中,尖峰滤波器812被实现为电阻器-电容器电路(RC电路),并且输出信号804可包括短脉冲806的残留分量808。残留分量808可以达到低于检测阈值电压810的电压电平,并因此不会被旧式I2C设备306、308、310、312的接收机检测到。残留分量808可包括期间输出信号804的电压增大的时间段继以输出信号804的电压减小或衰退回到0V的时间段。最大电压和延迟时间的组合可能导致旧式I2C设备306、308、310、312的问题。
在通过时序图820解说的示例中,输出信号824上的残留分量828可通过始于时间826的与第一短脉冲834的前沿相对应的上升电压、时间830处的与第一短脉冲834的下降沿相对应的峰值电压电平、以及朝向0V的缓慢衰退来表征。如时序图820中所解说的,输出信号824的电压可能在第二短脉冲836的前沿抵达的时间832之前不会到达0V。
时序图840解说了当短脉冲紧密间隔时来自先前短脉冲的残留电压的累积效果。在此示例中,一系列脉冲842被间隔以使得输出信号824在相继脉冲之间未返回到0V。对于初始脉冲之后的每个脉冲,输出信号824的电压从高于0V的电压起增大,并且在若干脉冲之后输出信号824的电压在时间844可以达到超过检测阈值电压810的最大电压。在这些情况中,旧式I2C设备306、308、310、312可确定已发生转变,这具有不可确定的后果。
根据本文所公开的某些方面,具有增强能力的I2C主设备304可被配置成测试旧式I2C设备306、308、310、312的尖峰滤波器,以确保这些尖峰滤波器能够处置用于在增强型设备304、314、316之间进行通信的信令速率。在一个示例中,主设备304可根据I2C协议传送命令,同时短脉冲在总线的SCL导线上被传送。这些短脉冲可按最小间隔来传送以使得性能不佳的尖峰滤波器812可能无法防止转变被旧式I2C设备306、308、310、312检测到。
图9是解说由主设备304发送以确定通过串行总线302耦合至主设备304的一个或多个旧式I2C设备306、308、310、312中的尖峰滤波器的能力、功效和/或有效性的测试传输的第一示例的时序图900。在此示例中,图6中所解说的命令字由主设备304传送,并且时序图900中解说了该命令字的一部分。在主设备304已传送开始状况906之后,在SDA导线902上传送地址比特926、928、930,并且可在SCL导线904处于低逻辑状态时在一个或多个时机传送短脉冲系列908a、908b、908c。例如,如放大视图918中所解说的,这些短脉冲各自可具有40ns的历时并且可由40ns低时段分隔开,从而产生80ns的时钟周期920。
可准许SCL导线904在短脉冲系列908a、908b、908c被传送之前稳定下来。例如,在从高逻辑状态的I2C转变922之后,SCL导线904可在短脉冲系列908c被传送之前保持在低逻辑状态达第一时间段914。第一时间段914的历时可由I2C规范确定,并且可被定义为例如200ns。短脉冲系列908c可在从低逻辑状态至高逻辑状态的下一I2C转变924之前被终止。SCL导线904在下一I2C转变924发生之前保持在低逻辑状态达第二时间段916。第二时间段916的历时可由I2C规范确定,并且在一个示例中可被定义为200ns。
耦合至SCL导线904的起作用的尖峰滤波器抑制每一短脉冲系列908a、908b、908c,于是该尖峰滤波器的输出仅包括I2C转变(例如,转变922、924)。在图9中所解说的示例中,耦合至SCL导线904的有效尖峰滤波器的输出大致为具有10μs的周期的方波。
图10是解说由主设备304发送以确定通过串行总线302耦合至主设备304的一个或多个旧式I2C设备306、308、310、312中的尖峰滤波器的能力、功效和/或有效性的测试传输的第二示例的时序图1000。在此示例中,图6中所解说的命令字由主设备304传送,并且时序图1000中解说了该命令字的一部分。在主设备304已传送开始状况1006之后,在SDA导线1002上传送地址比特1028、1030、1032,并且可在SCL导线1004处于高逻辑状态时在一个或多个时机传送短脉冲系列1008a、1008b、1008c。例如,如放大视图1020中所解说的,这些短脉冲各自可具有40ns的历时并且可由40ns低时段分隔开,从而产生80ns的时钟周期1026。
可准许SCL导线1004在短脉冲系列1008a、1008b、1008c被传送之前稳定下来。例如,在从低逻辑状态的I2C转变1022之后,SCL导线1004可在短脉冲系列1008b被传送之前保持在高逻辑状态达第一时间段1016第一时间段1016的历时可由I2C规范确定,并且可被定义为例如200ns。短脉冲系列1008b可在从高逻辑状态至低逻辑状态的下一I2C转变1024之前被终止。SCL导线1004在下一I2C转变1024发生之前保持在高逻辑状态达第二时间段1018。第二时间段1018的历时可由I2C规范确定,并且在一个示例中可被定义为200ns。
耦合至SCL导线1004的起作用的尖峰滤波器抑制每一短脉冲系列1008a、1008b、1008c,于是该尖峰滤波器的输出仅包括I2C转变(例如,转变1022、1024)。在图10中所解说的示例中,耦合至SCL导线1004的有效尖峰滤波器的输出大致为具有10μs的周期的方波。
信令的其他配置可被用作测试传输以测试旧式I2C设备306、308、310、312中的尖峰滤波器的功效。测试传输通常会将扰乱合并到根据I2C协议所传送的命令或数据字上。这些扰乱可包括具有小于50ns的历时的脉冲和/或尖峰。在一些实例中,测试传输可包括影响通过串行总线传送的信号的高状态和低状态两者的扰乱。例如,I2C命令或数据字可能与图9中所解说的短脉冲系列908a、908b、908c中的一个或多个系列以及图10中所解说的短脉冲系列1008a、1008b、1008c中的一个或多个系列合并。
扰乱脉冲(诸如短脉冲系列908a、908b、908c、1008a、1008b、1008c中所提供的脉冲)可被适配成具有任何期望占空比。当占空比被修改成尖峰滤波器在各脉冲之间无法充分地恢复的点时,一些尖峰滤波器可能会变得不起作用。改变占空比可以提供可用于确定共享总线的增强操作的最大时钟速率的附加信息。短脉冲系列908a、908b、908c、1008a、1008b、1008c中的扰乱脉冲的位置可被适配或改变成提供与尖峰滤波器的操作有关的附加信息。例如,改变扰乱脉冲的定位可以提供可用于确定共享总线的增强操作的最大时钟速率抵达的附加信息。
在尖峰滤波器测试期间,在SDA导线902、1002上传送消息。该消息可选自要求遵循或兼容I2C的从设备作出响应的任何可用命令字或其他消息。当扰乱脉冲在SCL导线904、1004上被传送时从设备中的尖峰滤波器的有效性可基于该从设备是否对该消息正确地作出响应来确定。
可在测试传输中包括I2C命令以使旧式I2C设备306、308、310、312在该旧式I2C设备306、308、310、312根据I2C协议识别出该命令或数据字时作出响应。响应可包括例如确收传输、和/或读取或写入寄存器。当要求旧式I2C设备306、308、310、312对任何命令或消息作出响应时,此类命令或消息可被用作测试传输的基础。此类命令或消息、或其一部分在本文中可被称为“命令字”。
图9和10解说了将从设备地址呼叫用作命令字(同样参见图6)。根据I2C规范,要求旧式I2C设备306、308、310、312对从设备地址呼叫作出响应。然而,要求旧式I2C设备306、308、310、312进行响应的传输的任何组合可被用作测试传输的基础。例如,扰乱可能与跟随在从设备地址之后的命令合并、和/或合并到跟随在要写入旧式I2C设备306、308、310、312内的某个寄存器的命令之后的数据字中。可以采用其他事务来测试尖峰滤波器的功效或有效性。
在一个示例中,主设备304可传送将要写入旧式I2C设备306、308、310、312的内部寄存器的字节。主设备304可在同一事务中从该内部寄存器读回该字节。主设备304可使用经修改的信令来重复该事务以向同一内部寄存器写入和读取不同字节。经修改的信令可能具有插入或合并到串行总线的一条或两条导线上的扰乱。如果读回(read-back)返回不正确的字节,则尖峰滤波器可被认为是无效的和/或无法产生滤除尖峰或短脉冲的期望结果。如果读回返回正确的字节,则尖峰滤波器可被认为是有效的并且主设备304可确定目标旧式I2C设备306、308、310、312能够与增强型设备314、316共存。
在一些实例中,后一个示例可被修改以使得主设备304将字节写入内部寄存器而不会将短脉冲合并到信令中。主设备304随后可传送合并了短脉冲的信令以从该内部寄存器读回该字节。相应地,存在可被用于测试尖峰滤波器的I2C事务的许多变型和组合,由此例如短脉冲形式的扰乱可在这些I2C事务中的任何点被插入或合并。
图11是解说用于测试旧式I2C设备306、308、310、312中的尖峰滤波器的过程的流程图。主设备可通过在不同时钟状况下向从设备发送一系列命令同时在SCL导线904、1004上传送的时钟信号中引入脉冲或其他扰乱来测试该从设备中的尖峰滤波器的有效性。每个命令之前可以是开始状况或重复状况继以7比特地址和写命令比特。如果主设备在已传送写比特之后在SDA导线902、9004上检测到ACK,则从设备中的尖峰滤波器可被认为对于当前时钟状况是有效的。该过程可采用例如图9和10中所解说的信令。
在框1102,主设备304可确定总线上是否存在旧式I2C设备306、308、310、312。主设备304可通过按适合于从设备306、308、310、312的时钟速率传送从设备地址来确定旧式从设备306、308、310、312的存在。例如,主设备304最初可按1MHz的时钟速率(I2C Fm+)传送从设备地址,并且可确定是否已接收到来自从设备306、308、310、312的确收。确收指示从设备306、308、310、312的存在。如果未接收到确收,则主设备304可按一个或多个较低的时钟速率传送从设备地址,直至接收到确收。较低时钟速率可对应于由I2C协议指定的时钟速率,并且可包括例如400kHz(I2C Fm)和100kHz(I2C Sm)时钟速率。
在一个示例中,主设备304按从设备306、308、310、312能够操作的最高频率发动尖峰滤波器测试。例如,最高频率可以是1MHz。在另一示例中,最高频率可以是400kHz。如果从设备306、308、310、312在其最大指定频率未能进行响应,则主设备304在SDA导线902、1002上检测到NACK并确定从设备306、308、310、312有缺陷。如与图9和10有关的示例中所描述的,使用100kHz频率提供了高和低信令状态的更长历时,其中扰乱被插入或合并。在一些实例中,主设备304可将短脉冲与按高于100kHz的频率传送的信令合并。
在框1104,可确定是否在框1102接收到确收。如果主设备304在按较低时钟速率进行传输之后在SDA导线902、1002上检测到NACK,则主设备304可确定已发生错误并且控制权可被传递到框1114以进行错误处置规程。否则,该规程在框1106继续。
在框1106,主设备304可选择100kHz时钟速率(其通常可由旧式从设备306、308、310、312支持)。主设备304随后可按所选时钟速率传送从设备地址,其中SCL导线904的低逻辑状态中插入了短脉冲,如图9所解说的。从设备306、308、310、312的尖峰滤波器预期抑制这些短脉冲。当这些短脉冲被抑制时,旧式从设备306、308、310、312识别出从设备地址,并向主设备304传送某种确收。如果旧式从设备306、308、310、312中的尖峰滤波器无法抑制这些短脉冲,则旧式从设备306、308、310、312可在SCL导线904上检测到附加转变,和/或SCL导线904可被卡在高状态。在任一情形中,旧式从设备306、308、310、312不正确地解码该地址,并且不提供对该命令的确收。
在框1108,主设备304确定是否已接收到来自旧式从设备306、308、310、312的确收。如果尚未接收到确收,则主设备304在SDA导线902、1002上检测到NACK并确定已发生错误,并且控制权可被传递到框1114以进行错误处置规程。否则该规程在框1110继续。
在框1110,主设备304可选择100kHz时钟速率(其通常可由旧式从设备306、308、310、312支持)。主设备304随后可按所选时钟速率传送从设备地址,其中SCL导线1004的高逻辑状态中插入了短脉冲,如图10所解说的。从设备306、308、310、312的尖峰滤波器预期抑制这些短脉冲。当这些短脉冲被抑制时,旧式从设备306、308、310、312识别出从设备地址,并向主设备304传送某种确收。如果旧式从设备306、308、310、312中的尖峰滤波器无法抑制这些短脉冲,则旧式从设备306、308、310、312可在SCL导线1004上检测到附加转变,和/或SCL导线1004可被卡在高状态。在任一情形中,旧式从设备306、308、310、312不正确地解码该地址,并且不提供对该命令的确收。
在框1112,主设备304确定是否已接收到来自旧式从设备306、308、310、312的确收。如果尚未接收到确收,则主设备304在SDA导线902、1002上检测到NACK并确定已发生错误,并且控制权可被传递到框1114以进行错误处置规程。否则,可以推断旧式从设备306、308、310、312具有恰适设计的50ns尖峰抑制滤波器的置信度提高。
在一些实例中,出于测试目的,主设备304可配置一个或多个延迟。这些延迟可被实现成控制在SCL导线904、1004上发起或终止短脉冲系列908a、908b、908c、1008a、1008b、1008c以及转变922、924、1022、1024之间的时间段914、916、1016、1018的历时。例如,主设备304可在按100kHz速度操作时提供200ns时间段914、916、1016、1018。时间段914、916、1016、1018的历时可根据SCL导线904、1004上传送的时钟的频率或出于其他原因来配置。
其他测试规程和信令组合可被用来测试旧式从设备306、308、310、312中的尖峰抑制滤波器。例如,短脉冲可被添加至SCL导线904、1004上的低逻辑状态和高逻辑状态两者。在另一示例中,可根据预定义模式来更改和/或提供这些短脉冲的间隔和历时。
图12是解说采用可被配置成执行本文所公开的一个或多个功能的处理电路1202的装置1200的硬件实现的简化示例的概念图。根据本公开的各种方面,本文所公开的元素、或元素的任何部分、或者元素的任何组合可使用处理电路1202来实现。处理电路1202可包括一个或多个处理器1204,其由硬件和软件模块的某种组合来控制。处理器1204的示例包括:微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、状态机、定序器、门控逻辑、分立的硬件电路、以及其他配置成执行本公开中通篇描述的各种功能性的合适硬件。该一个或多个处理器1204可包括执行特定功能并且可由软件模块1216之一来配置、增强或控制的专用处理器。该一个或多个处理器1204可通过在初始化期间加载的软件模块1216的组合来配置,并且通过在操作期间加载或卸载一个或多个软件模块1216来进一步配置。
在所解说的示例中,处理电路1202可使用由总线1210一般化地表示的总线架构来实现。取决于处理电路1202的具体应用和整体设计约束,总线1210可包括任何数目的互连总线和桥接器。总线1210将各种电路链接在一起,包括一个或多个处理器1204、和存储1206。存储1206可包括存储器设备和大容量存储设备,并且在本文可被称为计算机可读介质和/或处理器可读介质。总线1210还可链接各种其他电路,诸如定时源、定时器、外围设备、稳压器、和功率管理电路。总线接口1208可提供总线1210与一个或多个收发机1212之间的接口。可针对处理电路所支持的每种联网技术来提供收发机1212。在一些实例中,多种联网技术可共享收发机1212中找到的电路系统或处理模块中的一些或全部。每个收发机1212提供用于通过传输介质与各种其它装置通信的手段。取决于该装置的本质,也可提供用户接口1218(例如,按键板、显示器、扬声器、话筒、操纵杆),并且该用户接口1218可直接或通过总线接口1208通信地耦合至总线1210。
处理器1204可负责管理总线1210和一般处理,包括对存储在计算机可读介质(其可包括存储1206)中的软件的执行。在这一方面,处理电路1202(包括处理器1204)可被用来实现本文所公开的方法、功能和技术中的任一种。存储1206可被用于存储处理器1204在执行软件时操纵的数据,并且该软件可被配置成实现本文所公开的方法中的任一种。
处理电路1202中的一个或多个处理器1204可执行软件。软件应当被宽泛地解释成意为指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行件、执行的线程、规程、函数、算法等,无论其是用软件、固件、中间件、微代码、硬件描述语言、还是其他术语来述及皆是如此。软件可按计算机可读形式驻留在存储1206中或驻留在外部计算机可读介质中。外部计算机可读介质和/或存储1206可包括非瞬态计算机可读介质。作为示例,非瞬态计算机可读介质包括:磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩碟(CD)或数字多功能碟(DVD))、智能卡、闪存设备(例如,“闪存驱动器”、卡、棒、或钥匙驱动器)、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦式PROM(EPROM)、电可擦式PROM(EEPROM)、寄存器、可移动盘、以及任何其他用于存储可由计算机访问和读取的软件和/或指令的合适介质。作为示例,计算机可读介质和/或存储1206还可包括载波、传输线、和任何其它用于传送可由计算机访问和读取的软件和/或指令的合适介质。计算机可读介质和/或存储1206可驻留在处理电路1202中、处理器1204中、在处理电路1202外部、或跨包括该处理电路1202在内的多个实体分布。计算机可读介质和/或存储1206可实施在计算机程序产品中。作为示例,计算机程序产品可包括封装材料中的计算机可读介质。本领域技术人员将认识到如何取决于具体应用和加诸于整体系统上的总体设计约束来最佳地实现贯穿本公开给出的所描述的功能性。
存储1206可维持以可加载代码段、模块、应用、程序等来维持和/或组织的软件,其在本文中可被称为软件模块1216。软件模块1216中的每一者可包括在安装或加载到处理电路1202上并由一个或多个处理器1204执行时有助于运行时映像1214的指令和数据,运行时映像1214控制一个或多个处理器1204的操作。在被执行时,某些指令可使得处理电路1202执行根据本文所描述的某些方法、算法和过程的功能。
软件模块1216中的一些可在处理电路1202初始化期间被加载,并且这些软件模块1216可配置处理电路1202以实现本文所公开的各种功能的执行。例如,一些软件模块1216可配置处理器1204的内部设备和/或逻辑电路1222,并且可管理对外部设备(诸如,收发机1212、总线接口1208、用户接口1218、定时器、数学协处理器等)的访问。软件模块1216可包括控制程序和/或操作系统,其与中断处理程序和设备驱动器交互并且控制对由处理电路1202提供的各种资源的访问。这些资源可包括存储器、处理时间、对收发机1212的访问、用户接口1218等。
处理电路1202的一个或多个处理器1204可以是多功能的,由此软件模块1216中的一些被加载和配置成执行不同功能或相同功能的不同实例。这一个或多个处理器1204可附加地被适配成管理响应于来自例如用户接口1218、收发机1212和设备驱动器的输入而发起的后台任务。为了支持多个功能的执行,这一个或多个处理器1204可被配置成提供多任务环境,由此多个功能中的每个功能按需或按期望实现为由一个或多个处理器1204服务的任务集。在一个示例中,多任务环境可使用分时程序1220来实现,分时程序1220在不同任务之间传递对处理器1204的控制权,由此每个任务在完成任何未决操作之际和/或响应于输入(诸如中断)而将对一个或多个处理器1204的控制权返回给分时程序1220。当任务具有对一个或多个处理器1204的控制权时,处理电路有效地专用于由与控制方任务相关联的功能所针对的目的。分时程序1220可包括操作系统、在循环基础上转移控制权的主循环、根据各功能的优先级化来分配对一个或多个处理器1204的控制权的功能、和/或通过将对一个或多个处理器1204的控制权提供给处置功能来对外部事件作出响应的中断驱动式主循环。
图13包括流程图1300,其解说用于检测耦合至串行总线的设备的能力的方法。该方法各种步骤可由耦合至串行总线的主设备304来执行。
在框1302,主设备304可根据I2C协议生成要在串行总线上传送的命令。该命令可包括对应于第一从设备的地址。
在框1304,主设备304可将该命令与脉冲序列合并以获得测试信号。该脉冲序列中的每个脉冲可具有小于50ns的历时。在一个示例中,该脉冲序列可被合并到在串行总线上传送的时钟信号处于低状态时的多个区间中的每一者中。在另一示例中,该脉冲序列可被合并到在串行总线上传送的时钟信号处于高状态时的多个区间中的每一者中。在另一示例中,该脉冲序列可被合并到在串行总线上传送的时钟信号处于低状态时的多个区间中的每一者中,并且可被合并到在串行总线上传送的时钟信号处于高状态时的多个区间中的每一者中。在各种示例中,该脉冲序列中的每个脉冲可具有40ns历时的高状态。
在框1306,主设备304可在串行总线上传送测试信号。
在框1308,主设备304可基于第一从设备是否正确地响应该命令来确定第一从设备中的尖峰滤波器的功效。尖峰滤波器预期抑制具有小于50ns的历时的脉冲。第一从设备可通过确收该命令来正确地响应该命令。主设备304可通过以下操作来确定尖峰滤波器的功效:使第一值被写入第一从设备的寄存器,从第一从设备中的该寄存器读取第二值,以及在第一值等于第二值时确定尖峰滤波器有效。
在一些示例中,主设备304可通过以下操作来确定第一设备存在:按一个或多个时钟频率传送命令而不嵌入该脉冲序列。第一设备可被配置成在第一设备存在于串行总线上并且被适配成用于使用该一个或多个时钟频率中的至少一者来通信时确收该命令。例如,主设备304可按400kHz传送命令以确定所寻址的从设备是否在正常起作用。如果没有接收到或确定响应,则主设备304可认为所寻址的从设备不存在、有缺陷、或以其他方式发生故障。如果所寻址的从设备正确地响应,则主设备304可通过在按与该一个或多个时钟频率中的最低频率相对应的时钟频率传送的命令字中嵌入短脉冲来测试尖峰滤波器。
在一些示例中,在串行总线的SCL导线上传送脉冲序列。在一些示例中,在串行总线的SDA导线上传送脉冲序列。在一些示例中,在串行总线的SCL导线上传送第一脉冲序列,并且在串行总线的SDA导线上传送第二脉冲序列。
图14是解说采用处理电路1402的装置1400的硬件实现的简化示例的示图。该处理电路通常具有处理器1416,该处理器可包括微处理器、微控制器、数字信号处理器、定序器和状态机中的一者或多者。处理电路1402可以用由总线1420一般化地表示的总线架构来实现。取决于处理电路1402的具体应用和整体设计约束,总线1420可包括任何数目的互连总线和桥接器。总线1420将包括一个或多个处理器和/或硬件模块(由处理器1416、模块或电路1404、1406和1408、能配置成通过包括多个连接器或导线的串行总线1414通信的线接口电路1412、以及计算机可读存储介质1418表示)的各种电路链接在一起。总线1420还可链接各种其他电路(诸如定时源、外围设备、稳压器和功率管理电路),这些电路在本领域中是众所周知的,并且因此将不再进一步描述。
处理器1416负责一般性处理,包括执行存储在计算机可读存储介质1418上的软件。该软件在由处理器1416执行时使处理电路1402执行上文针对任何特定装置描述的各种功能。计算机可读存储介质1418还可被用于存储由处理器1416在执行软件时操纵的数据,包括从在串行总线1414上传送的码元中解码的数据。处理电路1402进一步包括模块1404、1406和1408中的至少一个模块。模块1404、1406和1408可以是在处理器1416中运行的软件模块、驻留/存储在计算机可读存储介质1418中、是耦合至处理器1416的一个或多个硬件模块、或是其某个组合。模块1404、1406和1408可包括微控制器指令、状态机配置参数、或其某种组合。
在一个配置中,装置1400包括被配置成生成要在串行总线1414上传送的命令的模块和/或电路1410、被配置成将该命令与脉冲序列合并以获得测试信号的模块和/或电路1406、被配置成在串行总线1414上传送测试信号的模块和/或电路1408、以及被配置成基于第一从设备是否确收该测试信号来确定第一从设备中的尖峰滤波器的功效的模块和/或电路1404、1408、1416。
应理解,所公开的过程中各步骤的具体次序或层次是示例性办法的解说。应理解,基于设计偏好,可以重新编排这些过程中各步骤的具体次序或层次。所附方法权利要求以示例次序呈现各种步骤的要素,且并不意味着被限定于所给出的具体次序或层次。
提供先前描述是为了使本领域任何技术人员均能够实践本文中所述的各个方面。对这些方面的各种修改将容易为本领域技术人员所明白,并且在本文中所定义的普适原理可被应用于其他方面。因此,权利要求并非旨在被限定于本文中所示的方面,而是应被授予与语言上的权利要求相一致的全部范围,其中对要素的单数形式的引述除非特别声明,否则并非旨在表示“有且仅有一个”,而是“一个或多个”。除非特别另外声明,否则术语“一些”指的是“一个或多个”。本公开通篇描述的各个方面的要素为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案通过引述被明确纳入于此,且旨在被权利要求所涵盖。此外,本文中所公开的任何内容都并非旨在贡献给公众,无论这样的公开是否在权利要求书中被显式地叙述。没有任何权利要求元素应被解释为装置加功能,除非该元素是使用短语“用于……的装置”来明确叙述的。
Claims (30)
1.一种用于检测耦合至串行总线的设备的能力的方法,包括:
根据集成电路间(I2C)协议生成要在所述串行总线上传送的命令,其中所述命令包括对应于第一从设备的地址;
将所述命令与脉冲序列合并以获得测试信号,其中所述脉冲序列中的每个脉冲具有小于50纳秒的历时;
在所述串行总线上传送所述测试信号;以及
基于所述第一从设备是否正确地响应所述命令来确定所述第一从设备中的尖峰滤波器的功效,
其中所述尖峰滤波器预期抑制具有小于50纳秒的历时的脉冲。
2.如权利要求1所述的方法,其特征在于,进一步包括:
从所述第一从设备接收响应于所述命令的确收,其中所述确收指示所述第一从设备中的所述尖峰滤波器在有效地操作。
3.如权利要求1所述的方法,其特征在于,确定所述尖峰滤波器的功效包括:
使第一值被写入所述第一从设备的寄存器;
从所述第一从设备中的所述寄存器读取第二值;以及
在所述第一值等于所述第二值时确定所述尖峰滤波器有效。
4.如权利要求1所述的方法,其特征在于,进一步包括:
通过在没有所述脉冲序列的情况下按一个或多个时钟频率传送所述命令来确定所述第一从设备的存在,其中所述第一从设备被配置成在所述第一设备存在于所述串行总线上并且被适配成用于使用所述一个或多个时钟频率中的至少一者来通信时确收所述命令。
5.如权利要求4所述的方法,其特征在于,所述测试信号是按与所述一个或多个时钟频率中的最低频率相对应的时钟频率来传送的。
6.如权利要求1所述的方法,其特征在于,将所述命令与所述脉冲序列合并包括:
将所述脉冲序列合并到在所述串行总线上传送的时钟信号处于低状态时的多个区间中的每一者中。
7.如权利要求1所述的方法,其特征在于,将所述命令与所述脉冲序列合并包括:
将所述脉冲序列合并到在所述串行总线上传送的时钟信号处于高状态时的多个区间中的每一者中。
8.如权利要求1所述的方法,其特征在于,每个脉冲包括期间所述每个脉冲处于高状态的40纳秒时间段。
9.如权利要求1所述的方法,其特征在于,所述脉冲序列是在所述串行总线的串行时钟线(SCL)上被传送的。
10.如权利要求1所述的方法,其特征在于,所述脉冲序列是在所述串行总线的串行数据线(SDA)上被传送的。
11.一种耦合至串行总线的装备,包括:
用于根据集成电路间(I2C)协议生成要在所述串行总线上传送的命令的装置,其中所述命令包括对应于第一从设备的地址;
用于将所述命令与脉冲序列合并以获得测试信号的装置,其中所述脉冲序列中的每个脉冲具有小于50纳秒的历时;
用于在所述串行总线上传送所述测试信号的装置;以及
用于基于所述第一从设备是否正确地响应所述命令来确定所述第一从设备中的尖峰滤波器的功效的装置,
其中所述尖峰滤波器预期抑制具有小于50纳秒的历时的脉冲。
12.如权利要求11所述的装备,其特征在于,所述用于确定功效的装置被配置成:
从所述第一从设备接收响应于所述命令的确收;以及
基于接收到所述确收来确定所述第一从设备中的所述尖峰滤波器在有效地操作。
13.如权利要求11所述的装备,其特征在于,所述用于确定所述尖峰滤波器的功效的装置被配置成:
使第一值被写入所述第一从设备的寄存器;
从所述第一从设备中的所述寄存器读取第二值;以及
在所述第一值等于所述第二值时确定所述尖峰滤波器有效。
14.如权利要求11所述的装备,其特征在于,进一步包括:
用于通过在没有所述脉冲序列的情况下按一个或多个时钟频率传送所述命令来确定所述第一从设备的存在的装置,其中所述第一从设备被配置成在所述第一从设备存在于所述串行总线上且所述第一从设备被适配成用于使用所述一个或多个时钟频率中的至少一者来通信时确收所述命令。
15.如权利要求14所述的装备,其特征在于,所述测试信号是按与所述一个或多个时钟频率中的最低频率相对应的时钟频率来传送的。
16.如权利要求11所述的装备,其特征在于,所述用于将所述命令与所述脉冲序列合并的装置被配置成:
将所述脉冲序列合并到在所述串行总线上传送的时钟信号处于低状态时的多个区间中的每一者中。
17.如权利要求11所述的装备,其特征在于,所述用于将所述命令与所述脉冲序列合并的装置被配置成:
将所述脉冲序列合并到在所述串行总线上传送的时钟信号处于高状态时的多个区间中的每一者中。
18.如权利要求11所述的装备,其特征在于,每个脉冲包括期间所述每个脉冲处于高状态的40纳秒时间段。
19.如权利要求11所述的装备,其特征在于,所述脉冲序列是在所述串行总线的串行时钟线(SCL)上被传送的。
20.如权利要求11所述的装备,其特征在于,所述脉冲序列是在所述串行总线的串行数据线(SDA)上被传送的。
21.一种用于检测耦合至串行总线的设备的能力的装置,包括:
处理系统,其被配置成:
根据集成电路间(I2C)协议生成要在所述串行总线上传送的命令,
其中所述命令包括对应于第一从设备的地址;
将所述命令与脉冲序列合并以获得测试信号,其中所述脉冲序列中的每个脉冲具有小于50纳秒的历时;
在所述串行总线上传送所述测试信号;以及
基于所述第一从设备是否正确地响应所述命令来确定所述第一从设备中的尖峰滤波器的功效,
其中所述尖峰滤波器预期抑制具有小于50纳秒的历时的脉冲。
22.如权利要求21所述的装置,其特征在于,所述第一从设备通过确收所述命令来正确地响应所述命令。
23.如权利要求21所述的装置,其特征在于,所述处理系统被配置成:
使第一值被写入所述第一从设备的寄存器;
从所述第一从设备中的所述寄存器读取第二值;以及
在所述第一值等于所述第二值时确定所述尖峰滤波器有效。
24.如权利要求21所述的装置,其特征在于,所述处理系统被配置成:
将所述脉冲序列合并到在所述串行总线上传送的时钟信号处于低状态时的多个区间中的每一者中。
25.如权利要求21所述的装置,其特征在于,所述处理系统被配置成:
将所述脉冲序列合并到在所述串行总线上传送的时钟信号处于高状态时的多个区间中的每一者中。
26.一种处理器可读存储介质,包括用于以下操作的代码:
根据集成电路间(I2C)协议生成要在串行总线上传送的命令,其中所述命令包括对应于第一从设备的地址;
将所述命令与脉冲序列合并以获得测试信号,其中所述脉冲序列中的每个脉冲具有小于50纳秒的历时;
在所述串行总线上传送所述测试信号;以及
基于所述第一从设备是否正确地响应所述命令来确定所述第一从设备中的尖峰滤波器的功效,
其中所述尖峰滤波器预期抑制具有小于50纳秒的历时的脉冲。
27.如权利要求26所述的处理器可读存储介质,其特征在于,所述第一从设备通过确收所述命令来正确地响应所述命令。
28.如权利要求26所述的处理器可读存储介质,其特征在于,进一步包括用于以下操作的代码:
使第一值被写入所述第一从设备的寄存器;
从所述第一从设备中的所述寄存器读取第二值;以及
在所述第一值等于所述第二值时确定所述尖峰滤波器有效。
29.如权利要求26所述的处理器可读存储介质,其特征在于,进一步包括用于以下操作的代码:
将所述脉冲序列合并到在所述串行总线上传送的时钟信号处于低状态时的多个区间中的每一者中。
30.如权利要求26所述的处理器可读存储介质,其特征在于,进一步包括用于以下操作的代码:
将所述脉冲序列合并到在所述串行总线上传送的时钟信号处于高状态时的多个区间中的每一者中。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562175723P | 2015-06-15 | 2015-06-15 | |
US62/175,723 | 2015-06-15 | ||
US15/179,470 | 2016-06-10 | ||
US15/179,470 US10108511B2 (en) | 2015-06-15 | 2016-06-10 | Test for 50 nanosecond spike filter |
PCT/US2016/037282 WO2016205142A1 (en) | 2015-06-15 | 2016-06-13 | Test for 50 nanosecond spike filter |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107710183A true CN107710183A (zh) | 2018-02-16 |
Family
ID=57517150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680034080.XA Pending CN107710183A (zh) | 2015-06-15 | 2016-06-13 | 针对50纳秒尖峰滤波器的测试 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10108511B2 (zh) |
EP (1) | EP3308284A1 (zh) |
JP (1) | JP2018517987A (zh) |
KR (1) | KR20180017035A (zh) |
CN (1) | CN107710183A (zh) |
WO (1) | WO2016205142A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110362524A (zh) * | 2018-04-11 | 2019-10-22 | 杭州海康威视数字技术股份有限公司 | 时序信号生成方法、装置、逻辑电路板及存储介质 |
CN112639756A (zh) * | 2018-09-07 | 2021-04-09 | 高通股份有限公司 | 混合模式射频前端接口 |
CN114375446A (zh) * | 2019-09-12 | 2022-04-19 | 高通股份有限公司 | 基于序列的执行来控制射频前端触发的应用时间 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9710423B2 (en) * | 2014-04-02 | 2017-07-18 | Qualcomm Incorporated | Methods to send extra information in-band on inter-integrated circuit (I2C) bus |
US10938782B1 (en) * | 2016-12-27 | 2021-03-02 | Amazon Technologies, Inc. | Secure hardware signal filtering |
US10423551B2 (en) | 2017-09-07 | 2019-09-24 | Qualcomm Incorporated | Ultra-short RFFE datagrams for latency sensitive radio frequency front-end |
US10693674B2 (en) * | 2018-01-29 | 2020-06-23 | Qualcomm Incorporated | In-datagram critical-signaling using pulse-count-modulation for I3C bus |
CN109101380B (zh) * | 2018-07-27 | 2022-05-13 | 广东浪潮大数据研究有限公司 | 一种i2c信号质量的检测方法及设备 |
EP3687815B1 (en) | 2018-12-03 | 2021-11-10 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
KR20210087982A (ko) | 2018-12-03 | 2021-07-13 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 로직 회로 |
US10894423B2 (en) | 2018-12-03 | 2021-01-19 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
WO2021080607A1 (en) | 2019-10-25 | 2021-04-29 | Hewlett-Packard Development Company, L.P. | Logic circuitry package |
WO2020117197A1 (en) | 2018-12-03 | 2020-06-11 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
CN113168457A (zh) | 2018-12-03 | 2021-07-23 | 惠普发展公司,有限责任合伙企业 | 逻辑电路系统封装 |
KR20210087980A (ko) | 2018-12-03 | 2021-07-13 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 로직 회로 |
EP3681723B1 (en) | 2018-12-03 | 2021-07-28 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
WO2020117196A1 (en) | 2018-12-03 | 2020-06-11 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
US11338586B2 (en) | 2018-12-03 | 2022-05-24 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
ES2955564T3 (es) * | 2018-12-03 | 2023-12-04 | Hewlett Packard Development Co | Sistema de circuitos lógicos |
CN113168454A (zh) | 2018-12-03 | 2021-07-23 | 惠普发展公司,有限责任合伙企业 | 逻辑电路系统封装 |
CN113312217A (zh) * | 2020-02-26 | 2021-08-27 | 瑞昱半导体股份有限公司 | 内部集成电路总线的从属装置的测试方法 |
WO2023039070A2 (en) * | 2021-09-08 | 2023-03-16 | PassiveLogic, Inc. | External activation of quiescent device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5469476A (en) * | 1994-03-21 | 1995-11-21 | Motorola, Inc. | Circuit and method for filtering voltage spikes |
CN101163977A (zh) * | 2005-03-18 | 2008-04-16 | 英沛科技公司 | 集成电路测试模块 |
US7606955B1 (en) * | 2003-09-15 | 2009-10-20 | National Semiconductor Corporation | Single wire bus for connecting devices and methods of operating the same |
CN102033837A (zh) * | 2009-10-06 | 2011-04-27 | 马克西姆综合产品公司 | I2c/smbus阶梯以及阶梯使能的ic |
US20140149616A1 (en) * | 2012-11-27 | 2014-05-29 | Hon Hai Precision Industry Co., Ltd. | I2c bus structure and address management method |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5956372A (en) * | 1994-03-17 | 1999-09-21 | Digital Compression Technology, L.P. | Coding system for digital transmission compression |
US7394260B2 (en) * | 2006-05-24 | 2008-07-01 | Sun Microsystems, Inc. | Tuning a test trace configured for capacitive coupling to signal traces |
EP3557762A1 (en) * | 2013-07-29 | 2019-10-23 | Wispry, Inc. | Adaptive filter response systems |
-
2016
- 2016-06-10 US US15/179,470 patent/US10108511B2/en not_active Expired - Fee Related
- 2016-06-13 WO PCT/US2016/037282 patent/WO2016205142A1/en active Application Filing
- 2016-06-13 KR KR1020177035693A patent/KR20180017035A/ko unknown
- 2016-06-13 EP EP16731478.0A patent/EP3308284A1/en not_active Withdrawn
- 2016-06-13 CN CN201680034080.XA patent/CN107710183A/zh active Pending
- 2016-06-13 JP JP2017564614A patent/JP2018517987A/ja not_active Ceased
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5469476A (en) * | 1994-03-21 | 1995-11-21 | Motorola, Inc. | Circuit and method for filtering voltage spikes |
US7606955B1 (en) * | 2003-09-15 | 2009-10-20 | National Semiconductor Corporation | Single wire bus for connecting devices and methods of operating the same |
CN101163977A (zh) * | 2005-03-18 | 2008-04-16 | 英沛科技公司 | 集成电路测试模块 |
CN102033837A (zh) * | 2009-10-06 | 2011-04-27 | 马克西姆综合产品公司 | I2c/smbus阶梯以及阶梯使能的ic |
US20140149616A1 (en) * | 2012-11-27 | 2014-05-29 | Hon Hai Precision Industry Co., Ltd. | I2c bus structure and address management method |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110362524A (zh) * | 2018-04-11 | 2019-10-22 | 杭州海康威视数字技术股份有限公司 | 时序信号生成方法、装置、逻辑电路板及存储介质 |
CN110362524B (zh) * | 2018-04-11 | 2021-04-09 | 杭州海康威视数字技术股份有限公司 | 时序信号生成方法、装置、逻辑电路板及存储介质 |
CN112639756A (zh) * | 2018-09-07 | 2021-04-09 | 高通股份有限公司 | 混合模式射频前端接口 |
CN112639756B (zh) * | 2018-09-07 | 2024-02-09 | 高通股份有限公司 | 混合模式射频前端接口 |
CN114375446A (zh) * | 2019-09-12 | 2022-04-19 | 高通股份有限公司 | 基于序列的执行来控制射频前端触发的应用时间 |
Also Published As
Publication number | Publication date |
---|---|
US20160364305A1 (en) | 2016-12-15 |
EP3308284A1 (en) | 2018-04-18 |
US10108511B2 (en) | 2018-10-23 |
WO2016205142A1 (en) | 2016-12-22 |
JP2018517987A (ja) | 2018-07-05 |
KR20180017035A (ko) | 2018-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107710183A (zh) | 针对50纳秒尖峰滤波器的测试 | |
CN108885602A (zh) | 多协议i3c共用命令码 | |
CN105283862B (zh) | 用于数据通信的方法和装置 | |
CN106255964B (zh) | 传感器全局总线 | |
US10169282B2 (en) | Bus serialization for devices without multi-device support | |
JP6517243B2 (ja) | リンクレイヤ/物理レイヤ(phy)シリアルインターフェース | |
CN103270497B (zh) | 实时错误恢复的方法和系统 | |
CN106462516A (zh) | 由多协议设备共享的可动态地调节的多线总线 | |
CN105637495B (zh) | 低功率相机控制接口总线和设备 | |
CN106415518A (zh) | 具有带内中断的相机控制接口扩展 | |
EP3284229B1 (en) | Clock and data recovery for pulse based multi-wire link | |
US20170104607A1 (en) | Methods to avoid i2c void message in i3c | |
WO2019135909A1 (en) | FAST INVALIDATION IN PERIPHERAL COMPONENT INTERCONNECT (PCI) EXPRESS (PCIe) ADDRESS TRANSLATION SERVICES (ATS) | |
CN104350720A (zh) | 提供用于双向串行互连的串行协议 | |
US9880895B2 (en) | Serial interface with bit-level acknowledgement and error correction | |
US20200083875A1 (en) | Master read from slave over pulse-width modulated half-duplex 1-wire bus | |
US20080005408A1 (en) | Method and Apparatus for Increasing Transmission Efficiency of an Electronic Device using a Serial Peripheral Interface | |
CN109416678A (zh) | 加速型i3c主设备停止 | |
US20210173808A1 (en) | Early parity error detection on an i3c bus | |
CN106649187B (zh) | 一种芯片自动化外设协议选择的方法 | |
TW201904236A (zh) | 串列匯流排中止之際的糾錯計算 | |
US10572439B1 (en) | I3C read from long latency devices | |
EP4162367A1 (en) | Providing acknowledgements for system power management interface | |
US11023408B2 (en) | I3C single data rate write flow control | |
US11360916B2 (en) | Group slave identifier time-multiplexed acknowledgment for system power management interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20201030 |
|
AD01 | Patent right deemed abandoned |