CN109863729B - 与在多线接口上传送数据相关的方法和装置 - Google Patents
与在多线接口上传送数据相关的方法和装置 Download PDFInfo
- Publication number
- CN109863729B CN109863729B CN201780065348.0A CN201780065348A CN109863729B CN 109863729 B CN109863729 B CN 109863729B CN 201780065348 A CN201780065348 A CN 201780065348A CN 109863729 B CN109863729 B CN 109863729B
- Authority
- CN
- China
- Prior art keywords
- clock signal
- wire
- interface
- signaling state
- symbol
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
- H04L25/4917—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes
- H04L25/4923—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes using ternary codes
- H04L25/4925—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes using ternary codes using balanced bipolar ternary codes
-
- 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/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4072—Drivers or receivers
-
- 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/4265—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
- G06F13/4278—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using an embedded synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/0264—Arrangements for coupling to transmission lines
- H04L25/0272—Arrangements for coupling to multiple lines, e.g. for differential transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/0264—Arrangements for coupling to transmission lines
- H04L25/028—Arrangements specific to the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/14—Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/0033—Correction by delay
- H04L7/0037—Delay of clock signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/0033—Correction by delay
- H04L7/0041—Delay of data signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0091—Transmitter details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/033—Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
- H04L7/0334—Processing of samples having at least three levels, e.g. soft decisions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computer Hardware Design (AREA)
- Dc Digital Transmission (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
公开了用于多线接口上的传输中检错的装置、系统和方法。一种方法包括:提供多个启动时钟信号,该多个启动时钟信号包括具有不同相移的启动时钟信号;确定在两个连贯传送的码元之间的边界处将在3线接口的每条导线上发生的信令状态转变的类型;以及选择该多个启动时钟信号中要用于发起3相接口的每条导线上的信令状态转变的一个启动时钟信号。选择该多个启动时钟信号中的一个启动时钟信号可包括:当信令状态转变终止于未被驱动状态时,选择第一启动时钟信号;以及当信令状态转变开始于未被驱动状态时,选择第二启动时钟信号。第一启动时钟信号中的边沿可出现在第二启动时钟信号中的对应边沿之前。
Description
相关申请的交叉引用
本申请要求于2016年10月24日在美国专利商标局提交的非临时申请No.15/332,756的优先权和权益,其全部内容通过援引如同在下文全面阐述那样且出于所有适用目的纳入于此。
技术领域
本公开一般涉及高速数据通信接口,且尤其涉及减少多线、多相数据通信接口中的抖动。
背景技术
移动设备(诸如蜂窝电话)的制造商可从各种来源(包括不同制造商)获得移动设备的组件。例如,蜂窝电话中的应用处理器可从第一制造商获得,而蜂窝电话的显示器可从第二制造商获得。可使用基于标准的或专有物理接口来互连应用处理器和显示器或其他设备。例如,显示器可提供遵循由移动行业处理器接口联盟(MIPI)所规定的显示系统接口(DSI)标准的接口。
穿过信道的高速信号中的较高频率分量可因信道带宽限制而被显著衰减,并且衰减程度可与该信号的频率相关。高频分量的丢失可导致码元间干扰(ISI)并且可增大抖动。通常使用的补偿技术在发射机处采用预增强,这也可被称为前馈均衡(FEE)。可在单端和差分线驱动器中采用FFE,但是对其他类型的驱动器的影响有限。
在一个示例中,由MIPI定义的三线接口(C-PHY)使用三重导体而不是差分对来在各设备之间传送信息。在C-PHY接口上的码元传输期间,这三条导线中的每一者可以处于三个信令状态中的一个。时钟信息被编码在C-PHY链路上传送的码元序列中,并且接收机从连贯码元之间的转变生成时钟信号。在C-PHY接口中,通信链路的最大速度和时钟数据恢复(CDR)电路恢复时钟信息的能力可受与在该通信链路的不同导线上传送的信号的转变有关的最大时间变动所限制。
相应地,存在改进多线接口的信令能力的现行需求。
概述
本公开的某些方面涉及可使用多个时钟相位来启动码元以减少C-PHY接口中的发射机编码抖动的系统、装置、方法和技术。
根据本文所公开的某些方面,一种在多线接口上传送数据的方法包括:提供多个启动时钟信号,这些启动时钟信号中的某些启动时钟信号具有相对于被用于控制3线接口上的码元传输的码元时钟的不同相移;确定在两个连贯传送的码元之间的边界处将在该3线接口的每条导线上发生的信令状态转变的类型;以及选择该多个启动时钟信号中要用于发起该3相接口的每条导线上的该信令状态转变的一个启动时钟信号。选择该多个启动时钟信号中的一个启动时钟信号可包括:当信令状态转变终止于未被驱动状态时,选择第一启动时钟信号;以及当信令状态转变开始于未被驱动状态时,选择第二启动时钟信号。第一启动时钟信号中的边沿可出现在第二启动时钟信号中的对应边沿之前。在每一码元传输期间,3相信号可在3线接口的每条导线上被传送。每条导线上传送的3相信号可与3线接口的每条其他导线上传送的信号异相。
在一个方面,选择该多个启动时钟信号中的一个启动时钟信号包括:当少于3线接口的所有导线在两个连贯传送的码元之间的边界处转变时,选择共用启动时钟信号以用于3线接口的所有导线。
在一些方面,选择该多个启动时钟信号中的一个启动时钟信号包括:当信令状态转变开始和结束于不同的被驱动状态时,选择第三启动时钟信号。第三启动时钟信号中的边沿可出现在第一启动时钟信号中的对应边沿之后并且在第二启动时钟信号中的对应边沿之前。第一启动时钟信号、第二启动时钟信号和第三启动时钟信号可被选择成减少与两个连贯传送的码元之间的边界相关联的信令状态转变在耦合至3线接口的接收机处的抵达时间之间的差异。第三启动时钟可用作码元时钟。
在一个方面,在连贯传送的码元对之间的每个边界处在3线接口的至少一条导线上发生转变。
在一个示例中,3线接口遵循或兼容于由MIPI联盟所定义的C-PHY接口。
根据某些方面,一种适配成用于驱动三线接口的一条导线的线驱动器可包括时钟发生器、决策逻辑以及触发器集。该时钟发生器可被配置成提供多个启动时钟信号,每个启动时钟信号具有相对于被用于控制3线接口上的码元传输的码元时钟的不同相移。该决策逻辑可被配置成确定在两个连贯传送的码元之间的边界处将在每条导线上发生的信令状态转变的类型,以及选择该多个启动时钟信号中的一个启动时钟信号作为用于发起该信令状态转变的当前启动信号。该触发器集可被配置成接收当前启动信号以及控制3线接口上的3相信号的启动定时。在每一码元传输期间,3相信号可在3线接口的每条导线上被传送,每条导线上传送的3相信号与3线接口的每条其他导线上传送的信号异相。
在一个方面,该决策逻辑被配置成:当信令状态转变终止于未被驱动状态时,选择第一启动时钟信号;以及当信令状态转变开始于未被驱动状态时,选择第二启动时钟信号。在一个示例中,第一启动时钟信号的边沿出现在第二启动时钟信号的对应边沿之前。
在一个方面,该决策逻辑被配置成:当少于3线接口的所有导线在两个连贯传送的码元之间的边界处转变时,选择共用启动时钟信号以用于3线接口的所有导线。
在一些方面,该决策逻辑被配置成:当信令状态转变开始和结束于不同的被驱动状态时,选择第三启动时钟信号。例如,第三启动时钟信号中的边沿可出现在第一启动时钟信号中的对应边沿之后并且在第二启动时钟信号中的对应边沿之前。第一启动时钟信号、第二启动时钟信号和第三启动时钟信号可被选择成减少与两个连贯传送的码元之间的边界相关联的信令状态转变在耦合至3线接口的接收机处的抵达时间之间的差异。第三启动时钟可以是码元时钟。
在一个方面,在连贯传送的码元对之间的每个边界处在3线接口的至少一条导线上发生转变。3线接口遵循或兼容于由移动行业处理器接口联盟所定义的C-PHY接口。
根据某些方面,一种装备包括用于提供多个启动时钟信号的装置,每个启动时钟信号具有相对于被用于控制3线接口上的码元传输的码元时钟的不同相移。在每一码元传输期间,3相信号可在3线接口的每条导线上被传送,每条导线上传送的3相信号与3线接口的每条其他导线上传送的信号异相。该装备可包括用于确定在两个连贯传送的码元之间的边界处将在每条导线上发生的信令状态转变的类型的装置,以及用于使用该多个启动时钟信号中的一个启动时钟信号来发起该信令状态转变的装置。用于发起信令状态转变的装置可被配置成:当信令状态转变终止于未被驱动状态时,使用第一启动时钟信号来发起信令状态转变;以及当信令状态转变开始于未被驱动状态时,使用第二启动时钟信号来发起信令状态转变。第一启动时钟信号中的边沿可出现在第二启动时钟信号中的对应边沿之前。
在一个方面,用于发起信令状态转变的装置被配置成:当少于3线接口的所有导线在两个连贯传送的码元之间的边界处转变时,将共用启动时钟信号用于发起3线接口的所有导线上的信令状态转变。
在一个方面,用于发起信令状态转变的装置被配置成:当信令状态转变开始和结束于不同的被驱动状态时,选择第三启动时钟信号以发起信令状态转变。第三启动时钟信号中的边沿可出现在第一启动时钟信号中的对应边沿之后并且在第二启动时钟信号中的对应边沿之前。
在一个方面,第一启动时钟信号、第二启动时钟信号和第三启动时钟信号被选择成减少与两个连贯传送的码元之间的边界相关联的信令状态转变在耦合至3线接口的接收机处的抵达时间之间的差异。第三启动时钟可以是码元时钟。
根据某些方面,一种计算机可读存储介质上可存储有指令。该存储介质可包括瞬态或非瞬态存储介质。这些指令可由处理器执行以使得该处理器:提供多个启动时钟信号,每个启动时钟信号具有相对于被用于控制3线接口上的码元传输的码元时钟的不同相移;确定在两个连贯传送的码元之间的边界处将在该3线接口的每条导线上发生的信令状态转变的类型;以及选择该多个启动时钟信号中要用于发起该3相接口的每条导线上的该信令状态转变的一个启动时钟信号。该存储介质可具有用于以下操作的指令:当信令状态转变终止于未被驱动状态时,选择第一启动时钟信号;以及当信令状态转变开始于未被驱动状态时,选择第二启动时钟信号。第一启动时钟信号中的边沿可出现在第二启动时钟信号中的对应边沿之前。在每一码元传输期间,3相信号在3线接口的每条导线上被传送,每条导线上传送的3相信号与3线接口的每条其他导线上传送的信号异相。
在一个方面,该存储介质可具有用于以下操作的指令:当少于3线接口的所有导线在两个连贯传送的码元之间的边界处转变时,选择共用启动时钟信号以用于3线接口的所有导线。
在一些方面,该存储介质可具有用于以下操作的指令:当信令状态转变开始和结束于不同的被驱动状态时,选择第三启动时钟信号。第三启动时钟信号中的边沿可出现在第一启动时钟信号中的对应边沿之后并且在第二启动时钟信号中的对应边沿之前。第一启动时钟信号、第二启动时钟信号和第三启动时钟信号可被选择成减少与两个连贯传送的码元之间的边界相关联的信令状态转变在耦合至3线接口的接收机处的抵达时间之间的差异。第三启动时钟可用作码元时钟。
在一个方面,在连贯传送的码元对之间的每个边界处在3线接口的至少一条导线上发生转变。
在一个示例中,3线接口遵循或兼容于由MIPI联盟所定义的C-PHY接口。
附图简述
在结合附图理解下面阐述的详细描述时,各种特征、本质和优点会变得明显,在附图中,相像的附图标记贯穿始终作相应标识。
图1描绘了采用集成电路(IC)设备之间的数据链路的装置,该数据链路选择性地根据多个可用标准中的一个来操作。
图2解说了采用IC设备之间的数据链路的装置的系统架构。
图3解说了C-PHY接口中的发射机的示例。
图4解说了C-PHY接口的示例中的信令。
图5解说了C-PHY接口中的接收机的某些方面。
图6解说了根据本文中公开的某些方面的适配成用于码元和/或码元序列插入的C-PHY接口的示例。
图7解说了M线N相极性解码器中的转变检测。
图8解说了信号上升时间对M线N相极性解码器中的转变检测的某些影响。
图9是解说M线N相极性解码器中的潜在状态转变的状态图。
图10是解说M线N相极性解码器中的转变区和采样区的示图。
图11是解说根据本文中公开的某些方面的转变提前和延迟的某些方面的示图。
图12是解说根据本文中公开的某些方面的用于在C-PHY接口上传送的信号的提前/延迟电路的一个示例的示图。
图13解说了与C-PHY接口相关联的定时的示例。
图14解说了与根据本文中公开的某些方面提供的提前/延迟电路相关联的定时调整的示例。
图15解说了根据本文中公开的某些方面的被适配成减少C-PHY接口中的编码抖动的发射机中的线驱动器的示例。
图16是解说图15中所解说的线驱动器的操作的时序图。
图17是解说采用可根据本文中公开的某些方面来适配的处理系统的装置的示例的框图。
图18是根据本文中公开的某些方面的可在发射机处采用的数据通信方法的流程图。
图19是解说针对根据本文中公开的某些方面的在提供码元检错的接口中使用的装置的硬件实现的第一示例的示图。
详细描述
在以下描述中,给出了具体细节以提供对各实施例的透彻理解。然而,本领域普通技术人员将理解,没有这些具体细节也可实践这些实施例。例如,电路可能用框图示出以避免使这些实施例湮没在不必要的细节中。在其他实例中,公知的电路、结构和技术可能不被详细示出以免湮没这些实施例。
概览
某些数据传输接口(包括由MIPI联盟所定义的C-PHY 3相接口)采用转变编码。数据被编码在码元中,其中每个码元控制C-PHY 3相接口在码元区间中的信令状态。通过确保在每一码元边界处发生该接口的信令状态的改变来提供用于生成接收机处的接收时钟的信息。
C-PHY接口是在带宽有限的信道上提供高吞吐量的高速串行接口。C-PHY接口可被用来连接应用处理器和外围设备(包括显示器和相机)。C-PHY接口将数据编码在定义三重导线的信令状态的码元中。在每一码元区间中,三重导线中的每条导线携带与在其他两条导线上传送的信号异相120°的3相信号。可以达成每码元2.28比特的有效传输。
在三重导线内,这三重导线中的两条导线可被驱动至相反电平(例如,高电平和低电平),而第三条导线可被端接至中间电平(共模电平),并且驱动这些导线的电压的组合在每一码元处改变。由此,C-PHY 3相发射机需要驱动器能够将高、低或中间(共模)电压驱动到传送信道上。如本文描述的,一些转变中的信令方案是全摆幅的(例如,低到高、或者高到低),而一些转变是半摆幅的(例如,中间电平到低/高、以及低/高到中间电平)。这进而可导致所传送差分信号对中不同的转变时间和/或不同的零交叉,并且可创建“编码抖动”,这可能影响通信链路的信号完整性。
根据本文所公开的某些方面,可通过以下动作来在C-PHY接口中改善信号完整性:使用多个时钟相位来启动码元以减少发射机编码抖动。这一基于时间的解决方案可改善接收机处的采样定时。对于要传送的每个码元,基于在该码元被传送时将发生的信令状态改变的类型来为三重导线的每条导线选择发射机启动时钟。发射机启动时钟可以按具有不同相移的多个版本来提供。
包括C-PHY接口的设备的示例
图1描绘了可采用IC设备之间的通信链路的装置100。在一个示例中,装置100可包括通信设备,其通过射频(RF)通信收发机106与无线电接入网(RAN)、核心接入网、因特网和/或另一网络进行通信。通信收发机106可以可操作地耦合至处理电路102。处理电路102可包括一个或多个IC设备,诸如专用IC(ASIC 108)。ASIC 108可包括一个或多个处理设备、逻辑电路、等等。处理电路102可包括和/或耦合至处理器可读存储(诸如存储器设备112),该处理器可读存储可以存储和维护可由处理电路102执行或以其他方式使用的数据和指令。处理电路102可由操作系统和应用编程接口(API)110层中的一者或多者来控制,该API110层支持并使得能够执行驻留在存储介质(诸如该设备的存储器设备112)中的软件模块。存储器设备112可包括ROM或RAM、EEPROM、闪存卡、或可被用在处理系统和计算平台中的任何存储器设备。处理电路102可包括或访问本地数据库114,其可以维护用于配置和操作装置100的操作参数和其他信息。本地数据库114可使用数据库模块、闪存、磁介质、EEPROM、光学介质、磁带、软盘或硬盘等中的一者或多者来实现。处理电路也可以可操作地耦合至外部设备,诸如天线122、显示器124、操作者控件(诸如按钮128和按键板126)、以及其他组件。
图2是解说采用通信链路220来连接各种子组件、IC设备或电路的装置200(诸如移动设备)的某些方面的示意框图。在一个示例中,装置200包括通过通信链路220来交换数据和控制信息的多个IC设备202和230。通信链路220可被用来连接彼此紧邻地定位或者物理上位于装置200的不同部分中的IC设备202和230。在一个示例中,通信链路220可被设在携带IC设备202和230的芯片载体、基板或电路板上。在另一示例中,第一IC设备202可位于移动计算设备的按键板区段中,而第二IC设备230可位于移动计算设备的显示器区段中。在另一示例中,通信链路220的一部分可包括电缆或光学连接。
通信链路220可提供多个信道222、224和226。一个或多个信道226可以是双向的,并且可以在半双工和/或全双工模式中操作。一个或多个信道222和224可以是单向的。通信链路220可以是非对称的,从而在一个方向上提供较高带宽。在本文所描述的一个示例中,第一通信信道222可被称为前向信道222,而第二通信信道224可被称为反向信道224。第一IC设备202可以被指定为主机系统或发射机,而第二IC设备230可以被指定为客户端系统或接收机,即便IC设备202和230两者都被配置成在通信信道222上进行传送和接收。在一个示例中,前向信道222可在从第一IC设备202向第二IC设备230传达数据时以较高数据率操作,而反向信道224可在从第二IC设备230向第一IC设备202传达数据时以较低数据率操作。
IC设备202和230可各自具有处理器或者其他处理和/或计算电路或设备206、236。在一个示例中,第一IC设备202可执行装置200的核心功能,包括通过RF收发机204和天线214来维持通信,而第二IC设备230可支持管理或操作显示器控制器232的用户接口。在该示例中,第二IC设备230可被适配成使用相机控制器234来控制相机或视频输入设备的操作。IC设备202和230中的一者或多者所支持的其他特征可包括键盘、语音识别组件、以及其他输入或输出设备。显示器控制器232可包括支持显示器(诸如液晶显示器(LCD)面板、触摸屏显示器、指示器等)的电路和软件驱动器。存储介质208和238可包括瞬态和/或非瞬态存储设备,其被适配成维持由相应处理器206和236、和/或IC设备202和230的其他组件所使用的指令和数据。每个处理器206、236与其相应的存储介质208和238以及其他模块和电路之间的通信可分别由一条或多条总线212和242来促成。
反向信道224可以按与前向信道222相同的方式操作,并且前向信道222和反向信道224可以能够以相当的速度或以不同的速度进行传送,其中速度可被表达为数据传输速率和/或时钟定时速率。取决于应用,前向数据率和反向数据率可以基本上相同或相差几个数量级。在一些应用中,单个双向信道226可支持第一IC设备202与第二IC设备230之间的通信。当例如前向信道222和反向信道224共享相同的物理连接并以半双工方式操作时,前向信道222和/或反向信道224可以被配置成在双向模式中操作。在一个示例中,通信链路220可被操作以根据行业或其他标准来在第一IC设备202与第二IC设备230之间传达控制、命令以及其他信息。
在一些实例中,前向信道222和反向信道224可被配置成或适配成支持宽视频图形阵列(WVGA)、每秒80帧的LCD驱动器IC而不需要帧缓冲器,从而以810Mbps递送像素数据以供显示器刷新。在另一示例中,前向信道222和反向信道224可被配置成或适配成启用与动态随机存取存储器(DRAM)(诸如双倍数据率同步动态随机存取存储器(SDRAM))之间的通信。驱动器210、240可包括编码设备,其可被配置成每一时钟转变编码多个比特,并且多组导线可被用来传送和接收来自SDRAM的数据、控制信号、地址信号、以及其他信号。
前向信道222和反向信道224可遵循或兼容于专用工业标准。在一个示例中,MIPI联盟定义了应用处理器IC设备202与支持可设于移动设备中的相机和显示器的IC设备230之间的物理层接口。MIPI联盟定义了管控遵循移动设备的MIPI联盟规范的产品的可操作特性的规范。
MIPI联盟定义了可解决影响到移动设备中的所有操作方面(包括天线、外围设备、调制解调器和应用处理器)的通信的标准和规范。例如,MIPI联盟定义了用于相机串行接口(CSI)和显示器串行接口(DSI)的协议。MIPI联盟CSI-2定义了相机与应用处理器之间的有线接口,并且MIPI DSI或DSI-2定义了应用处理器与显示器之间的有线接口。在一个示例中,这些应用中的每一者中的低级物理层(PHY)接口可遵循或兼容于MIPI联盟C-PHY协议。
MIPI联盟C-PHY接口
根据本文中所公开的某些方面,系统和装置可采用用于在装置200内的IC设备202和230之间进行通信的多相数据编码和解码接口方法。多相编码器可驱动多个导体(即,M个导体)。该M个导体通常包括三个或更多个导体,并且每个导体可被称为导线,尽管该M个导体可包括电路板上或半导体IC设备的导电层内的导电迹线。在一个示例中,MIPI联盟定义的“C-PHY”物理层接口技术可被用来将相机和显示器设备230连接至应用处理器设备202。C-PHY接口采用三相码元编码以在3导线通道或“三重导线(trio)”(其中每个三重导线包括一嵌入式时钟)上传送数据码元。
在一些实现中,M个导体可被划分为多个传输群,每个群包括用于携带要传送的数据块的一部分的三重导线。C-PHY接口采用3相编码方案,其中数据比特被编码在三重导线上的相位转变和极性改变中。解码不依赖于独立的导体或导体对,并且可直接从该三重导线的相位和/或极性转变中导出定时信息。
在C-PHY接口中,用于三线系统的三相编码方案可定义三个相位状态和两个极性,从而提供6个状态以及从每个状态的5个可能转变。可检测并解码确定性电压和/或电流变化以从这三条导线中提取数据。
通信链路220可以用具有多条信号导线的有线总线来实现,该有线总线可被配置成在高速数字接口(诸如移动显示器数字接口(MDDI))中携带三相编码数据。信道222、224和226中的一者或多者可被配置成或适配成使用三相极性编码。物理层驱动器210和240可被适配成对在链路220上传送的三相极性编码数据进行编码和解码。3相极性编码的使用允许高速数据传输并且可消耗其他接口的功率的一半或更少,这是因为在任何时间在3相极性编码数据链路220中少于3个驱动器是活跃的。物理层驱动器210和/或240中的3相极性编码电路能对通信链路220上的每一转变编码多个比特。在一个示例中,三相编码和极性编码的组合可被用于支持宽视频图形阵列(WVGA)、每秒80帧的LCD驱动器IC而不需要帧缓冲器,从而以810Mbps在三条或更多条导线上递送像素数据以供显示器刷新。
图3是解说发射机300使用3相极性编码来实现图2中所描绘的通信链路220的某些方面的框图。所解说的示例可涉及三线链路或者具有三条以上导线的链路的一部分。在所描绘的示例发射机300中,M线、N相极性编码发射机被配置成用于M=3以及N=3。针对三线、三相编码器所公开的原理和技术可被应用在M线、N相极性编码器的其他配置中,并且可遵循或兼容于其他接口标准。
当使用3相极性编码时,连接器(诸如3线总线上的导线310a、310b和310c)可未被驱动、被驱动为正、或被驱动为负。未被驱动的导线310a、310b或310c可处于高阻抗状态。未被驱动的导线310a、310b或310c可被驱动到或拉到处于在被驱动的信号导线上提供的正和负电压电平之间的基本中间点的电压电平。未被驱动的导线310a、310b或310c可不具有流过它的电流。在示例发射机300中,使用驱动器308,每条导线310a、310b和310c可以处于三个状态(标记为+1、-1、或0)中的一个。在一个示例中,驱动器308可包括单位电平的电流模式驱动器。在另一示例中,驱动器308可在导线310a和310b上传送的两个信号上驱动相反极性的电压,而第三线310c处于高阻抗和/或被拉到接地。对于每个所传送的码元区间,至少一个信号处于未被驱动(0)状态,而被驱动为正(+1状态)的信号的数目等于被驱动为负(-1状态)的信号的数目,以使得流向接收机的电流之和总是为零。对于每个码元,至少一条导线310a、310b或310c的状态相对于之前传输区间中传送的码元有所改变。
映射器302可将16比特输入数据318映射到一组7个码元312,该组7个码元312用于在被顺序传送时控制导线310a、310b、310c的信令状态。3线、3相编码器306基于输入码元314以及导线310a、310b和310c的先前状态来选择导线310a、310b和310c的状态。在一个示例中,3相编码器306一次一个码元314地接收该组7个码元312,并且基于导线310a、310b、310c的紧接前一状态来针对每一码元区间计算每条导线310a、310b和310c的状态。在另一示例中,该组7个码元312可以使用并-串转换器304被串行化。
3线、3相编码的使用准许数个比特被编码在多个码元中,其中每码元的比特不是整数。对于3线、3相实现,有3种可用的其中2条导线被同时驱动并且一条导线未被驱动的组合。对于被同时驱动的导线对有两种可能的极性组合可用,从而产生6种可能状态。由于每一转变从当前状态发生,因此在每次转变时有该6种状态中的5种可用。在每次转变时,通常需要至少一条导线的状态改变。在有5种状态的情况下,每码元可编码个比特。相应地,映射器可接受16比特字并将其转换成7个码元,因为每码元携带2.32个比特的7个码元可以编码16.24个比特。换言之,编码五种状态的七码元组合具有57(78,125)种排列。相应地,该7个码元可被用于编码16个比特的216(65,536)种排列。
图4解说了采用基于循环状态转变图450的三相调制数据编码方案的信令400的示例。根据该数据编码方案,三相信号可以在两个方向上旋转并且可以在三条导线310a、310b和310c上被传送。三相信号的每个三相旋转版本在导线310a、310b、310c中的一者上被独立驱动。三相信号的该三个版本中的每个版本相对于三相信号的其他两个版本异相120度。在任何时间点,该三条导线310a、310b、310c处于不同的信令状态{+1,0,-1},以使得每条导线310a、310b、310c处于与其他两条导线310a、310b和310c不同的状态。所解说的编码方案还提供了将信息编码在被活跃地驱动到+1和-1状态的两条导线310a、310b和/或310c的极性中。在408指示了所描绘的状态序列的极性。
在C-PHY接口中的任何相位状态,导线310a、310b、310c中的恰好两条导线携带实际上是针对该相位状态的差分信号的信号,而第三线310a、310b或310c未被驱动。每条导线310a、310b、310c的相位状态可按导线310a、310b或310c与至少一条其他导线310a、310b和/或310c之间的电压差、或者按导线310a、310b或310c中的电流方向或电流缺失来确定。如状态转变图450中所示,定义了三个相位状态(S1、S2和S3)。信号可以顺时针地从相位状态S1流到相位状态S2、从相位状态S2流到相位状态S3、和/或从相位状态S3流到相位状态S1,且该信号可以逆时针地从相位状态S1流到相位状态S3、从相位状态S3流到相位状态S2、和/或从相位状态S2流到相位状态S1。对于其他N值,该N个状态之间的转变可以可任选地根据对应的状态图来定义,以获得状态转变之间的循环旋转。
在3相接口中,状态转变410处的顺时针旋转(S1到S2)、(S2到S3)、和/或(S3到S1)可被用于编码逻辑1,而状态转变410处的逆时针旋转(S1到S3)、(S3到S2)、和/或(S2到S1)可被用于编码逻辑0。相应地,可通过控制信号是顺时针还是逆时针“旋转”来在每一转变处编码比特。例如,逻辑1可在三条导线310a、310b、310c从相位状态S1转变到相位状态S2时被编码,而逻辑0可在三条导线310a、310b、310c从相位状态S1转变到相位状态S3时被编码。在所描绘的简单的三线示例中,旋转的方向可以容易地基于在转变前以及转变后三条导线310a、310b和310c中的哪一条导线未被驱动来确定。
信息还可以被编码在被驱动的导线310a、310b、310c的状态408的极性和/或极性改变中,或者被编码在两条导线310a、310b、310c之间的电流方向或电流方向改变中。信号402、404和406解说了在三线、三相链路中的每个相位状态处分别施加于导线310a、310b、310c的电压电平。在任何时间,第一导线310a、310b、310c耦合至较正的电压(例如,+V),第二导线310a、310b、310c耦合至较负的电压(例如,-V),而第三导线310a、310b、310c可为开路。如此,可按第一和第二导线310a、310b、310c之间的电流流动或者第一和第二导线310a、310b、310c的电压极性来确定一个极性编码状态。在一些实施例中,可在每一状态转变410处编码数据412的两个比特。解码器可确定信号相位旋转的方向以获得第一比特。可基于信号402、404和406中的两个信号之间的极性差来确定第二比特。在一些实例中,可以基于在一对导线310a、310b、310c上传送的差分信号的极性改变或极性改变缺失来确定第二比特。已确定了旋转方向的解码器可确定相位状态和施加在两条活跃导线310a、310b和/或310c之间的电压的极性,或者流过两条活跃导线310a、310b和/或310c的电流的方向。
在3相接口中,数据的1个比特可被编码在三线、三相链路的旋转、或相位改变中,而附加比特可被编码在两条被驱动的导线的极性或极性改变中。某些实施例通过允许从当前状态转变到任何可能状态来在三线、三相编码系统的每一转变中编码两个以上比特。给定三个旋转相位以及每个相位的两个极性,则定义了6个状态,使得从任何当前状态有5个状态可用。相应地,可以有每码元(转变)个比特,并且映射器可接受16比特字并将其转换成7个码元。换言之,三线、三相C-PHY链路可将16比特输入数据318映射到七个码元312。
图5解说了3线、3相PHY中的接收机500的示例。比较器502和解码器504被配置成提供三条传输线512a、512b和512c中的每一条传输线的状态以及这三条传输线的状态改变(与前一码元周期中传送的状态相比)的数字表示。串-并转换器506组装七个连贯状态以产生一组7个码元供解映射器508处理以获得16比特数据,该16比特数据可被缓冲在先入先出(FIFO)存储设备510中,FIFO存储设备510可使用例如寄存器来实现。
再次参照图2和3,通信链路220可包括高速数字接口,其可被配置成支持差分编码方案和3相极性编码两者。物理层驱动器210和240可包括3相极性编码器和解码器(它们能对接口上的每一转变编码多个比特)、以及用于驱动导线310a、310b和310c的线驱动器。线驱动器可被构造成具有放大器,该放大器产生可具有正或负电压的活跃输出或者高阻抗输出,藉此导线310a、310b或310c处于未定义状态或者由外部电组件所定义的状态。相应地,输出驱动器308可接收包括数据和输出控制(高阻抗模式控制)的信号对316,从而使得三态放大器能够用于3相极性编码。
C-PHY收发机的系统架构
图6是解说可耦合到C-PHY接口的发射机600和接收机620的示例的示图。
在发射机600处,16比特字602被接收作为至映射器604的输入。映射器604将16比特字602中的每一者转换成将要在3线链路612上顺序传送的码元集614中的七个码元。码元集614可被提供作为被组织为七个3比特码元的21比特群。码元集614可被提供给码元插入模块606,码元插入模块606可例如被配置为插入同步码元或其他控制码元,和/或被配置成通过选择性地将从映射器604接收的某些码元集614替代成替换码元集来限制游程。这一码元插入模块606将经选择性修改的比特群616提供给并-串转换器608,并-串转换器608产生至码元编码器610的3比特码元的时间序列618,码元编码器610定义3线链路612中的三条导线(标记为A、B和C)在码元传输区间序列634之中的每个码元传输区间中的状态。
在C-PHY接口中,至多达12,589个码元序列可以不被映射器604使用,并且这些未使用的码元序列可供码元插入模块606用于替代和插入。未使用的码元序列可用是因为映射器604将16比特字602的65,536个可能值映射成用于三条导线的78,125种可能的相位和极性序列排列中的65,536种。这些未使用的码元序列中的一些可被保留用于命令和控制目的、同步序列、以及其他目的。
在接收机620处,码元解码器622可包括一组差分接收机636和CDR 638,它们可协作以基于3线链路612中的三条导线在码元传输区间序列634期间的信令状态和信令状态转变来产生接收机时钟并且解码出七个原始3比特码元的序列640。接收机620可包括串-并转换器624,其将七个原始码元的序列640转换成被组织为七个3比特码元的21比特群642。码元提取模块626可被适配成或配置成接收21比特集642并且在反转可能已由发射机600中的码元插入模块606执行的码元替代之后产生经修改的21比特集644。码元提取模块626可被配置成标识12,589个码元序列中未被映射器604使用的码元序列,并且按需执行预定义的提取或替代。解映射器628可将经修改的21比特集644中的7个码元转换成16比特字630,其可被提供作为接收机620的输出。可以使用3比特原始码元值来表示由接收机620检测到的每个码元,其具有以下五个可能值之一:000、001、010、011和100。原始码元值的值由以下各项定义:{相同_相位,Δ_相位,Δ_极性}。三个比特中的每个比特表示从前一导线状态到当前导线状态的改变或没有改变。
码元插入模块606和码元提取模块626可分别被纳入映射器604和解映射器628中,和/或可作为不同的组件来提供。发射机600中的码元插入模块606可被用于使用过剩码元来执行各种替代或插入。
C-PHY接口中的信号转变
图7是解说3线、3相解码器中的转变编码和时钟生成的某些方面的示图700。差分接收机702a、702b和702c的集合将三条导线310a、310b和310c中的每一条导线的信令状态与三条导线310a、310b和310c中的其他导线的信令状态进行比较。在所描绘的示例中,第一差分接收机702a比较导线310a和310b的信令状态并产生A-B输出,第二差分接收机702b比较导线310b和310c的状态并产生B-C输出,并且第三差分接收机702c比较导线310a和310c的状态并产生C-A输出。如本文描述的,导线310a、310b和310c中的至少一条导线的信令状态在每一码元边界处改变。相应地,当差分接收机702a、702b和702c中的至少一个差分接收机的输出在每个码元区间结束处改变时,状态改变检测电路704可检测到信令状态改变的发生。
某些信令状态转变可以是可由单个差分接收机702a、702b或702c检测的,而其他信令状态转变可由差分接收机702a、702b和702c中的两个或更多个差分接收机来检测。在一个示例中,信令状态或两条导线的相对状态可以在码元转变之后不改变,并且对应的差分接收机702a、702b或702c的输出也可以在码元转变之后不改变。在另一示例中,导线对310a、310b和/或310c中的这两条导线可以在第一时间区间中处于相同的第一状态,并且这两条导线可以在第二时间区间中处于相同的第二状态,以使得对应的差分接收机702a、702b或702c的输出可以在相位转变之后不改变。相应地,时钟生成电路706可包括信令状态改变检测电路704,其监视所有差分接收机702a、702b和702c的输出以确定信令状态转变何时已发生。时钟生成电路可基于检测到的信令状态转变来生成接收时钟信号708。
不同导线310a、310b和/或310c上的信令状态改变可在不同时间发生或被检测到。信令状态改变的检测的定时可以根据已经发生的信令状态改变的类型而有所不同。这一可变性的结果在图7中所提供的时序图750中解说。仅为了解说清楚起见,表示信令状态改变检测电路704和/或差分接收机702a、702b和702c的输出的标记722、724和726被指派不同的高度。标记722、724和726的相对高度与用于时钟生成或数据解码的电压或电流电平、极性或者加权值没有特定关系。时序图750解说了与在三条导线310a、310b和310c上传送的码元相关联的转变定时的影响。在时序图750中,一些码元之间的转变可导致期间可以可靠地捕捉码元的可变捕捉窗口730a、730b、730c、730d、730e、730f和/或730g(统称为码元捕捉窗口730)。检测到的信令状态改变的数量及其相对定时可导致时钟信号708上的抖动。
码元窗口730的大小可变性和相关联的抖动可部分地由导线310a、310b和310c的电气特性引起,如在图8中所描绘的简单示例800中解说的。转变时间可能例如受信号上升或下降时间可变性和/或由制造工艺、电压和温度(PVT)变动所引起的与电压源和电流源的稳定性和不稳定性以及工作温度相关的检测电路可变性的影响。较大的转变时间可变性可归因于3相信令中存在不同的电压或电流电平。图8中描绘了“电压-电平”示例,其解说了单条导线310a、310b或310c中的转变时间。第一码元(Symn)802可在结束于时间822的码元区间中被传送,第二码元(Symn+1)可在结束于时间824的码元区间中被传送,并且第三码元(Symn+2)806可在结束于时间826的码元区间中被传送,第四码元(Symn+3)808的传输在时间826开始。可在可归因于导线310a、310b或310c中的电压达到阈值电压818和/或820所花费时间的第一延迟812之后检测从由第一码元802所确定的状态到对应于第二码元804的状态的转变。该阈值电压可被用于确定导线310a、310b或310c的状态。可在可归因于导线310a、310b或310c中的电压达到阈值电压818和/或820中的一者所花费时间的第二延迟814之后检测从由第二码元804所确定的状态到第三码元806的状态的转变。可在可归因于导线310a、310b或310c中的电压达到阈值电压818和/或820所花费时间的第三延迟816之后检测从由第三码元806所确定的状态到第四码元808的状态的转变。
如所描绘的,第三延迟816可短于第一延迟812,并且第二延迟814可为最长延迟。第二延迟814可为最长延迟是因为状态0是未被驱动状态且导线310a、310b或310c中的电压可缓慢地朝向阈值820漂移,而第一延迟812和第三延迟816与其中导线310a、310b或310c分别被活跃地拉到-1和+1状态的转变相关联。
图9是解说3线、3相通信链路的一个示例中的6种可能相位-极性状态和30种可能状态转变的状态图900。状态图900中的可能状态902、904、906、912、914和916包括图4的示图450中示出的状态。如示例状态元素920中所示,状态图900中的每种状态902、904、906、912、914和916包括示出(分别在导线310a、310b和310c上传送的)信号A、B和C的信令状态的字段922、以及示出由差分接收机(诸如图7中描绘的差分接收机702a、702b、702c)扣除导线电压之后的结果的字段924。例如,在状态902(+x)中,导线A=+1、导线B=-1并且导线C=0,从而产生差分接收机702a的输出(A-B)=+2、差分接收机702b的输出(B-C)=-1以及差分接收机702c的输出(C-A)=+1。如该状态图解说的,状态改变检测电路704所作出的转变决策基于由差分接收机702a、702b和702c所产生的5种可能电平,其包括-2、-1、0、+1和+2电压状态。
图10解说了可从多个码元区间1002的交叠中生成的眼图1000。信号转变区1004表示不定性时间段,其中可变的信号上升时间阻碍可靠的解码。可在“眼图开口”1006中确定状态信息,“眼图开口”1006表示其中码元稳定且能被可靠地接收和解码的时间段。在一个示例中,可确定眼图开口1006在信号转变区1004的结束1004(即,最后零交叉1012)处开始,并且在码元区间1002的边界1014处结束。在图10中所描绘的示例中,可确定眼图开口1006在标记信号转变区1004的结束的最后零交叉1012处开始,并且在眼图开口1006的闭合边沿1016处结束,此时导线310a、310b、310c的信令状态和/或三个差分接收机702a、702b和702c的输出已开始改变以反映下一码元。
被配置成用于N相编码的通信链路220的最大速度可能受信号转变区1004相比于收到信号眼图开口1006的历时所限制。码元区间1002的最小时段可能受与例如图5中解说的接收机500中或图7的时钟生成电路706中的CDR电路514相关联的紧缩设计余量所约束。不同信令状态转变可与对应于两条或更多条导线310a、310b和/或310c的信号转变时间的不同变化相关联,由此导致接收方设备中的差分接收机702a、702b和702c的输出以对于码元边界1008的不同时间和/或速率改变,其中至差分接收机702a、702b和702c的输入在码元边界1008处开始改变。接收方设备中的多个差分接收机702a、702b和702c的输出之间的收到信号转变时间的较大潜在差异通常需要在CDR电路514中实现延迟元件。该延迟元件可具有超过转变区1004的历时的最小延迟时段。在一个示例中,可在图7中示出的状态改变检测电路704和/或时钟生成电路706中的一者或多者中提供延迟元件。该延迟元件所提供的最大延迟时间可以不延长超过眼图开口1006的闭合边沿1016。在一些实例中,该延迟元件所提供的最大延迟时间可以不延长超过下一码元区间在码元边界1014处的开始。在以更快数据率的情况下,眼图开口1006可变得较小(与码元区间1002相比),并且码元转变可变性的影响可决定最大码元传输速率。
任何单个转变的历时不太可能跨越信号转变区(tΔJ)1004的全范围,因为在单个码元转变期间发生最小可能信号转变时间和最大可能转变时间是不太可能的。在一个示例中,针对所有可能码元转变,信号转变区1004可由在差分接收机702a、702b、或702c的输出处检测到的第一零交叉1010的时间和在差分接收机702a、702b、或702c的输出处检测到的最后零交叉1012的时间来界定。在差分接收机702a、702b和702c的输出处观察到的转变时间可对应于连接器和/或导线310a、310b或310c在至该连接器和/或导线310a、310b或310c的驱动器308的输入之后达到下一状态所花费的时间。可基于连接器和/或导线310a、310b或310c的特性以及所涉及的状态转变的类型来确定最长可能转变时间。在一个示例中,最长可能转变时间可由一个或多个信号的上升或下降时间来确定。上升和下降时间可由原始和/或最终状态的本质和电压电平来确定。通常,最长可能转变时间对应于被活跃驱动状态与未被驱动状态之间的转变。
转变区1004的高tΔJ值可导致与CDR电路514或时钟生成电路706相关联的增加的设计难度。例如,时钟生成电路706可采用由三个差分接收机702a、702b和702c的输出的第一零交叉触发的延迟元件或定时器。所有这三个差分接收机702a、702b和702c的输出状态直到所有差分接收机702a、702b和702c已达到其最终状态才可能被安全地采样,该最终状态可由眼图开口1006来定义。相应地,该定时器可以优选地在标记转变区1004的结束的最后零交叉1012之后不久期满,此时时钟生成电路706可输出被用于对这三个差分接收机702a、702b和702c的输出进行采样的时钟边沿。
在一些设备中,CDR电路514中的延迟元件可能受制造工艺、电路电源电压和管芯温度的变化(PVT变化)所困扰,并且可能生成显著变化的延迟。在此类系统中,CDR电路514的标称操作状况一般在设计上设置成在眼图开口1006的中间某处生成时钟边沿,以确保即使在最差情形的PVT效应下,时钟边沿仍在标记转变区1004的结束的最后零交叉1012之后且在下一码元的转变区的开始(即,眼图开口1006的闭合边沿1016)之前发生。保障时钟边沿在眼图开口1006内的CDR电路514的设计难度可能在转变区1004相比于眼图开口1006较大时出现。例如,典型的延迟元件可产生在所有PVT状况下改变2倍的延迟值,并且眼图开口1006必须大于转变区1004以使得不可调整的延迟值可被选取。
在一些实例中,可基于传送方电路的一个或多个驱动器308(参见图3)的输入改变与在接收机中的比较器502(参见图5)的输出处所观察到或预期的相应转变之间的最大定时来计算转变区1004的历时。在其他实例中,针对所有码元转变,可在比较器502的输出处将经修改的转变区确定为一个比较器502的输出处的第一转变的时间1018与在其他比较器502的输出处的最后转变处所测得或观察到的码元边界1014之间的最大差异。
C-PHY接口中的信号转变调整
根据本文所公开的某些方面,编码器可被适配成使由转变区1004占据的码元区间1002的比例最小化并且使由眼图开口1006占据的码元区间1002的比例最大化。在一个示例中,可针对某些码元转变在码元边界1008、1014发生时或发生前修改一条或多条导线310a、310b和/或310c(参见图3)上的信令状态转变的定时。在编码器(例如,参见图3中的编码器306)中,关于连贯码元中的具体N相码元状态902、904、906、912、914或916的先前知识(先验状态知识)可被用于预测是否应当在这些连贯码元之间的码元边界1008、1014处调整一个或多个N相驱动器输出的定时。还可以基于先验状态知识来确定调整方式。该调整可影响一个或多个驱动器308的输出,并且调整可在逐码元的基础上作出。该调整可包括提前或延迟某些驱动器输出信号转变。在一些实例中,该调整可包括基于关于哪种转变将发生的先前知识(先验转变知识)来在某些类型的码元转变处向某些驱动器输出选择性地添加预增强。结果,接收方设备中的差分接收机702a、702b和702c的边沿输出可相对于时间被更精确地对齐。
先验转变知识可包括表征连接器对状态转变的响应的信息。此类信息可从连接器和/或导线、驱动器和接收机的模型以及通过使用这些模型模拟通信链路对各种类型的转变的响应来获得。在一些实例中,先验转变知识可包括从在物理设备和通信链路上执行的测试获得的经验信息。先验转变知识可基于模拟和测量结果之间的差异来校准。先验转变知识可包括由接收机在系统操作期间提供的经验信息。
根据某些方面,导线310a、310b和310c上和/或差分接收机702a、702b和702c的输出处的转变时间之间的较小变化可在由转变区1004占据的码元区间1002的比例被最小化时提供显著较大的设计余量。在一个示例中,CDR电路514可获益于由CDR电路514中使用的一个或多个延迟元件所提供的较大定时容限。在另一示例中,当由转变区1004占据的码元区间1002的比例被最小化并且由眼图开口1006占据的码元区间1002的比例被最大化时,C-PHY接口的最大码元传输速率可显著增大。
根据本文所公开的某些方面,可通过个别地考虑每一码元转变以及通过选择性地延迟或提前一条或多条信号导线上的转变来在发射机处显著地减少转变区1004的变化。在一些实例中,发射机中的检测电路系统可被适配成确定与码元转变相关联的所预计或计算的转变时间。在一个示例中,发射机可确定转变区1004的历时是否超过预定的最大或阈值时段。如果转变区1004超过最大或阈值时段,则一个或多个信号可被提前或延迟以减小该码元转变在接收机处的转变区1004。最大或阈值时段可基于指定或期望的码元传输速率、CDR电路514的容限和/或针对发射机或接收机中的其他电路所定义的容限来确定。最大或阈值时段可被定义成获得眼图开口1006的指定或期望最小历时。最大或阈值时段可被定义成使从所传送信号推导出的接收时钟中的抖动最小化。当一个或多个信号可被提前或延迟时,转变区1004可被显著减小。
图11是解说根据本文所公开的某些方面的信号转变调整的示图1100。示图1100涉及在C-PHY接口上传送的信号,但是关于图11描述的概念等同地适用于其他多线通信接口(包括转变编码接口)。发射机可包括转变调整电路或模块1110,其可被配置成提前或延迟将要在C-PHY接口上传送的三个信号(IN-A输入信号1102、IN-B输入信号1104、IN-C输入信号1106)中的一者或多者。转变调整电路或模块1110产生用于传输的信号集(OUT-A输出信号1132、OUT-B输出信号1134和OUT-C输出信号1136),该信号集使如由接收方设备感知的转变区最小化。在一个示例中,转变调整电路或模块1110可提前或延迟一个或多个输入信号1102、1104和/或1106以导致C-PHY解码器中的各转变检测信号710在时间上对齐(参见图7)。当各信号710中的相应边沿发生在预定义的最大或阈值对齐时段内时,各信号710可在时间上对齐。最大或阈值对齐时段可基于指定或期望的码元传输速率、CDR电路514的容限和/或针对接收机中的其他电路所定义的容限来确定。最大或阈值对准时段可被定义成获得眼图开口1006的指定或期望最小历时。最大或阈值对准时段可被定义成使接收时钟516中的抖动最小化。
如输入时序图1120中所示,输入至转变调整电路或模块1110的输入信号1102、1104、1106输入包括两个码元区间1140和1142之间的转变1108。在第一码元区间1140中,输入信号1102、1104、1106对应于具有值{+1,-1,0}的“+x”状态902(参见图9)。在第二码元区间1142中,输入信号1102、1104、1106对应于具有值{-1,0,+1}的“+z”状态906。仅出于解说目的,可假定“0”信令状态与“+1”或“-1”信令状态之间的转变是最快转变,而至“0”信令状态的转变是最慢转变。在一些实例中,信令状态之间的转变的相对速度可以有所不同。
转变调整电路或模块1110可被配置成提前最慢转变信号和/或延迟最快转变信号以使得接收机在缩短的转变区间内生成转变。在该示例中,转变调整电路或模块1110可确定第三信号1106上的转变很可能在接收机处产生最快转变检测,第二输入信号1104上的转变很可能在接收机处产生最慢转变检测,而第一输入信号1102上的转变很可能不在接收机处产生最快或最慢转变检测。在一个示例中,转变调整电路或模块1110可提供作为三个输入信号1102、1104、1106的各个版本的输出信号1132、1134、1136,并且其中第二输出信号1134中的转变相对于码元转变1128被提前,而第三信号相对于码元转变1128被延迟。在一些实例中,第一输出信号1132中的转变可被延迟或提前以使得所有输出信号1132、1134、1136上的转变在接收机处产生与码元时钟的边沿紧密对齐的转变检测。在其他实例中,三个输出信号1132、1134和/或1136中的至少一者不被延迟或提前,并且应用于其他输出信号1132、1134、1136的提前或延迟被计算成获得转变检测的对齐而不考虑接收机所使用的码元时钟。也就是说,传送给接收机的输出信号1132、1134、1136中的一者或多者可相对于其他输出信号1132、1134、1136被提前和/或延迟以使得各边沿在由差分接收机702a、702b和702c接收时被更紧密地对齐。要提前或推迟某些输出的决策可基于原始码元值在码元转变之前和之后的状态。
使用多个启动时钟的信号转变调整
图12是解说电路1200的某些方面的框图,电路1200可使用多个时钟相位来启动码元并且减少C-PHY接口中的发射机编码抖动。电路1200可对应于图11中解说的转变调整电路或模块1110。电路1200可接收将要在下一码元传输区间中传送的3相输入信号1112、1114、1116。3相输入信号1112、1114、1116可在被时钟控制通过触发器1202、1204、1206时被传送,触发器1202、1204、1206提供3相输出信号1122、1124、1126。在该示例中,3相输入信号1112、1114、1116可由第一数据值表示,该第一数据值可被称为当前数据。触发器1202、1204、1206的输出可由第二数据值表示,该第二数据值可被称为先前数据或经延迟数据。每个触发器1202、1204、1206由决策逻辑1208所提供的不同启动信号1214、1216、1218进行时钟控制。启动信号1214、1216、1218中的每一者中的边沿可相对于其他启动信号1214、1216、1218被选择性地提前或延迟以使得3相输出信号1122、1124、1126中的边沿基本上对齐地抵达接收机,以减少如由该接收机感知的发射机编码抖动。
决策逻辑1208接收表示当前数据的3相输入信号1112、1114、1116和表示先前数据的3相输出信号1122、1124、1126。决策逻辑1208可被配置成:在当前数据被用于驱动C-PHY接口的各导线时,确定将在C-PHY接口上发生的信令状态转变的类型。决策逻辑1208可从被用于控制C-PHY接口上的码元传输的码元时钟1220的多个经相移版本中选择用于驱动每个触发器1202、1204、1206的时钟信号。在一个示例中,码元时钟1220的该多个经相移版本可以从由时钟发生器电路1210提供的基础时钟信号1222导出。基础时钟信号1222可被提供给多抽头延迟线1212,多抽头延迟线1212提供相对于基础时钟信号1222相移的经相移信号1224。这些经相移信号1224中的一者可用作码元时钟1220。决策逻辑1208可被配置成将一个或多个经相移信号1224用于提前某些3相信号转变的启动,以及将一个或多个其他经相移信号1224用于延迟某些其他3相信号转变的启动。
决策逻辑1208可被适配成通过增大接收机处的水平眼图开口(参见图10)来改善链路性能。在一个示例中,决策逻辑1208可在码元时钟1220的三个经相移版本之间进行选择,其中第一版本与码元时钟1220对齐,第二版本在时间上相对于第一版本被提前,并且第三版本在时间上相对于第一版本被延迟。启动信号1214、1216、1218可通过以下动作相对于彼此或相对于码元时钟1220被选择性地提前或延迟:选择码元时钟1220的三个经相移版本中的一个经相移版本来控制每个触发器1202、1204、1206。
在另一示例中,决策逻辑1208可接收在时间上相对于码元时钟1220被提前的码元时钟1220的多个不同版本、以及在时间上相对于码元时钟1220被延迟的码元时钟1220的多个不同版本。在该示例中,决策逻辑1208可以容适信号之间由在C-PHY接口上进行传输所引入的可变偏斜。
使用可选择的启动时钟,可以减少编码抖动并且可以达成更高的码元速率。使用不同的启动时钟可以在不更改发射机的源阻抗并且使用比预增强电路和其他电压模式技术更少的功率的情况下修改定时。本文所公开的技术可以基于数据率来在功率上缩放,并且可以结合电压模式技术来使用。
图13和14解说了在耦合到C-PHY接口中的三重导线的接收机处观察到的定时。图13解说了在没有启动定时控制的情况下信号的定时,图14解说了根据本文所公开的某些方面的在有启动定时控制的情况下信号的定时。图13和14包括从–z状态的每个可能转变(参见图9)的时序图。时序图1300、1400解说了从–z状态到–x状态的转变,时序图1302、1402解说了从–z状态到–y状态的转变,时序图1304、1404解说了从–z状态到+x状态的转变,时序图1306、1406解说了从–z状态到+y状态的转变,并且时序图1308、1408解说了从–z状态到+z状态的转变。
三个C-PHY信令状态可被表示为{-1,0,1}。在所解说的示例中,0状态可以是未被驱动状态,而从0状态到+1状态或-1状态的转变是最快转变,-1状态与+1状态之间的转变是下一最快转变,并且从+1状态或-1状态到0状态的转变是最慢转变。在其他实现中,转变的相对速度可以有所不同。例如,不同类型的驱动器或布线配置可影响转变定时的差异。在图13中,每个信号在相同时间1310或1312被启动。对于–z状态与–x状态或–y状态之间的转变,观察到三个不同的抵达时间1314。对于其他转变,可观察到两个抵达时间1326。
图14解说了一示例,其中图12的决策逻辑1208操作用于调整C-PHY接口中与至–x和–y状态的转变有关的定时。决策逻辑1208可采用一个或多个基于时间的算法来减少传送编码抖动。对于要传送的每个码元,基于在该码元被传送时将在导线上发生的信令状态改变的类型来选择用于启动三重导线的每条导线上的3相信号的启动时钟信号1418、1420、1422。启动时钟信号1418、1420、1422可以按具有不同相移的码元时钟的多个版本来提供。在一个示例中,提供三个时钟相位以启动三重导线的每条导线中的信号。三个时钟相位可包括:提早启动时钟信号1418(Td0)、经延迟的启动时钟信号1420(Td1)、以及更加延迟的时钟或迟到启动时钟信号1422(Td2)。这些启动时钟信号1418、1420、1422的相对抵达时间使得Td0在第一时间1412抵达,Td1在第二时间1414抵达,而Td2在第三时间1416抵达。基于正被启动的状态转变来选择三个启动时钟信号1418、1420、1422中要用于在相应导线上传送信号的一个启动时钟信号。在一个示例中,所使用的算法可如下定义:
如果[状态改变涉及从中拉电平的改变或至拉电平的改变]
则{
在[先前电平=中拉,当前电平=上拉/下拉]的情况下使用Td2,并且在[先前电平=上拉/下拉,当前电平=中拉]的情况下使用Td0}
否则{
使用Td1}。
在一些示例中,决策逻辑1208仅当C-PHY接口中的所有三条导线的信令状态在连贯传送的码元对之间的边界处发生改变时才选择经提前或经延迟的启动时钟信号。
在C-PHY线驱动器中,不同电路可被用于将导线上拉到1状态,将导线拉到中间(0)状态,以及将导线下拉到-1状态。三相输入信号1112、1114或1116可使用多个数据比特来表示。在一个示例中,3相信号可由控制上拉、下拉和中拉驱动器的激活的3比特来表示,其中针对每个码元传输区间设置仅一个比特。在另一示例中,3相信号可由2比特表示,其值指示相应导线在码元传输区间里的期望状态(上拉,下拉,或中拉、高阻抗)。
图15解说了可在被适配成使用多个时钟相位启动码元来减少编码抖动的C-PHY发射机中实现的线驱动器1500的一个示例。第一组触发器1508接收表示与要传送的码元相关联的导线的信令状态的数据。该数据可包括上拉比特(PU 1502)、中拉比特(PM 1504)和下拉比特(PD 1506)。第一组触发器1508提供当前数据1526,当前数据1526在后续码元区间中被第二组触发器1510捕获。第二组触发器1510的输出表示先前传送的码元并且可被称为先前数据1528。第一组触发器1508和第二组触发器1510可由被C-PHY发射机用于控制码元传输的码元时钟1532进行时钟控制。由第一组触发器1508和第二组触发器1510提供的当前数据1526和先前数据1528的某些比特被决策逻辑1516用于在启动时钟1534、1536和1538之间进行选择。决策逻辑1516使用时钟选择逻辑1520来在启动时钟1534、1536和1538之间进行选择。
在所解说的示例中,决策逻辑1516监视码元之间的PM 1504的改变。如果未观察到PM 1504的改变,则决策逻辑1516使时钟选择逻辑1520选择中间相位启动时钟1536来启动针对当前码元的信号。如果观察到PM 1504的改变,则决策逻辑1516使时钟选择逻辑1520基于由当前码元针对导线所定义的信令状态来选择较早相位启动时钟1534或较晚相位启动时钟1538。在一个示例中,在当前码元定义导线的中间(0)状态时,选择较早相位启动时钟1534。在另一示例中,在当前码元定义导线的被驱动状态(+1和-1)时,选择较晚相位启动时钟1538。
第二组触发器1510的输出被时钟控制通过第三组触发器1512以提供暂存数据1530,暂存数据1530由第四组触发器1524在启动时钟信号1540的控制下启动。第三组触发器1512将数据路径的定时与包括两组触发器1518和1522的时钟生成路径相匹配。
一些连贯传送的码元对在两条导线上产生基本上对称的转变,而该导线保持相同状态通过这些连贯传送的码元对之间的边界(例如,参见图13中的时序图1304、1306和1308)。当两条导线有效地轮转信令状态时,可以不需要信号启动的提前或推迟。在一些示例中,驱动“未被驱动”输出可以是在转变完成和/或导线上至接收机的往返时间已期满之后且在减少或完全禁用“未被驱动”信号驱动器之前用高驱动强度进行瞬时驱动以快速地达成必要的转变。在这些针对后者的示例中,从被驱动状态到未被驱动状态和从未被驱动状态到被驱动状态的转变时间可基本上相同,和/或转变时间差异可以是可忽略的。在一些实现中,决策逻辑1516可仅当C-PHY接口中的所有三条导线的信令状态在连贯传送的码元对之间的边界处发生改变时才选择经提前或经延迟的启动时钟。在此类实例中,在C-PHY接口中的三条导线中的每一者上传送的信号中的边沿是使用共用启动时钟或码元时钟1532来启动的。在其他实现中,对于从被驱动状态转变到未被驱动状态的信号,使用与用于从未被驱动状态转变到被驱动状态的信号的启动时钟不同的启动时钟可能是合乎期望的。
图16是解说图15的线驱动器1500的操作的时序图。码元时钟1532可被生成为多个经相移时钟之一。在一个示例中,码元时钟1532可具有与中间相位启动时钟1536相同的相移。在一个实例中,码元时钟1532可具有相对于中间相位启动时钟1536的相移。决策逻辑1516可在连贯码元对可用时得出决策1602。在该示例中,针对数据D0的时钟边沿1606的定时相对于码元时钟1532被延迟,并且针对数据D1的时钟边沿1608的定时相对于码元时钟1532被提前。
处理电路和方法的示例
图17是解说采用可被配置成执行本文所公开的一个或多个功能的处理电路1702的装置的硬件实现的示例的概念图1700。根据本公开的各个方面,如本文所公开的元素、或元素的任何部分、或者元素的任何组合可使用处理电路1702来实现。处理电路1702可包括一个或多个处理器1704,其由硬件和软件模块的某种组合来控制。处理器1704的示例包括:微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、状态机、定序器、门控逻辑、分立的硬件电路、以及配置成执行本公开通篇描述的各种功能性的其他合适硬件。一个或多个处理器1704可包括执行特定功能并且可由各软件模块1716之一来配置、增强或控制的专用处理器。一个或多个处理器1704可通过在初始化期间加载的软件模块1716的组合来配置,并且通过在操作期间加载或卸载一个或多个软件模块1716来进一步配置。
在所解说的示例中,处理电路1702可以用由总线1710一般化地表示的总线架构来实现。取决于处理电路1712的具体应用和总体设计约束,总线1700可包括任何数目的互连总线和桥接器。总线1710将包括一个或多个处理器1704和存储1706的各种电路链接在一起。存储1706可包括存储器设备和大容量存储设备,并且在本文中可被称为计算机可读介质和/或处理器可读介质。总线1710还可链接各种其他电路,诸如定时源、定时器、外围设备、稳压器、和功率管理电路。总线接口1708可提供总线1710与一个或多个收发机1712之间的接口。可针对处理电路所支持的每种联网技术来提供收发机1712。在一些实例中,多种联网技术可共享收发机1712中存在的电路系统或处理模块中的一些或全部。每个收发机1712提供用于通过传输介质与各种其它装置通信的手段。取决于该装置的本质,用户接口1718(例如,按键板、显示器、触摸接口、扬声器、话筒、操纵杆)也可被提供,并且可直接或通过总线接口1710通信地耦合至总线1708。
处理器1704可负责管理总线1710以及负责一般处理,包括对存储在计算机可读介质(其可包括存储1706)中的软件的执行。在这一方面,处理电路1702(包括处理器1704)可被用来实现本文中所公开的方法、功能和技术中的任一种。存储1706可被用于存储处理器1704在执行软件时操纵的数据,并且该软件可被配置成实现本文中所公开的方法中的任一种。
处理电路1702中的一个或多个处理器1704可以执行软件。软件应当被宽泛地解释成意为指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行件、执行的线程、规程、函数、算法等,无论其是用软件、固件、中间件、微代码、硬件描述语言、还是其他术语来述及皆是如此。软件可以计算机可读形式驻留在存储1706中或驻留在外部计算机可读介质中。外部计算机可读介质和/或存储1706可包括非瞬态计算机可读介质。作为示例,非瞬态计算机可读介质包括:磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩碟(CD)或数字多功能碟(DVD))、智能卡、闪存设备(例如,“闪存驱动器”、卡、棒、或钥匙驱动器)、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦式PROM(EPROM)、电可擦式PROM(EEPROM)、寄存器、可移动盘、以及任何其他用于存储可由计算机访问和读取的软件和/或指令的合适介质。作为示例,计算机可读介质和/或存储1706还可包括载波、传输线、以及可由计算机访问和读取的用于传送软件和/或指令的任何其他合适介质。计算机可读介质和/或存储1706可驻留在处理电路1702中、处理器1704中、在处理电路1702外部、或跨包括该处理电路1702在内的多个实体分布。计算机可读介质和/或存储1706可实施在计算机程序产品中。作为示例,计算机程序产品可包括封装材料中的计算机可读介质。本领域技术人员将认识到如何取决于具体应用和加诸于整体系统的总体设计约束来最佳地实现本公开通篇给出的所描述的功能性。
存储1706可以维护以可加载代码段、模块、应用、程序等来维护和/或组织的软件,其在本文中可被称为软件模块1716。每个软件模块1716可包括在安装或加载到处理电路1702上并由一个或多个处理器1704执行时对运行时映像1714做出贡献的指令和数据,该运行时映像1714控制一个或多个处理器1704的操作。在被执行时,某些指令可使得处理电路1702执行根据本文中所描述的某些方法、算法和过程的功能。
一些软件模块1716可在处理电路1702的初始化期间被加载,并且这些软件模块1716可配置处理电路1702以使得能够执行本文中所公开的各种功能。例如,一些软件模块1716可配置处理器1704的内部设备和/或逻辑电路1722,并且可管理对外部设备(诸如收发机1712、总线接口1708、用户接口1718、定时器、数学协处理器等)的访问。软件模块1716可包括控制程序和/或操作系统,其与中断处理程序和设备驱动器交互并且控制对由处理电路1702提供的各种资源的访问。这些资源可包括存储器、处理时间、对收发机1712的访问、用户接口1718等等。
处理电路1702的一个或多个处理器1704可以是多功能的,由此一些软件模块1716被加载和配置成执行不同功能或相同功能的不同实例。一个或多个处理器1704可以被附加地适配成管理响应于来自例如用户接口1718、收发机1712和设备驱动器的输入而发起的后台任务。为了支持多个功能的执行,一个或多个处理器1704可被配置成提供多任务环境,由此多个功能中的每个功能按需或按期望实现为由一个或多个处理器1704服务的任务集。在一个示例中,多任务环境可使用分时程序1720来实现,分时程序1720在不同任务之间传递对处理器1704的控制,由此每个任务在完成任何未决操作之际和/或响应于输入(诸如中断)而将对一个或多个处理器1704的控制返回给分时程序1720。当任务具有对一个或多个处理器1704的控制时,处理电路有效地专用于由与控制方任务相关联的功能所针对的目的。分时程序1720可包括操作系统、在循环基础上转移控制权的主循环、根据各功能的优先级化来分配对一个或多个处理器1704的控制权的功能、和/或通过将对一个或多个处理器1704的控制权提供给处置功能来对外部事件作出响应的中断驱动式主循环。
图18是解说用于在3线通信接口上进行数据通信的方法的流程图。该3线接口遵循或兼容于由MIPI联盟所定义的C-PHY接口。该方法可使用传送方电路来执行。
在框1802,传送方电路可提供多个启动时钟信号。这些启动时钟信号中的某些启动时钟信号具有相对于被用于控制3线接口上的码元传输的码元时钟的不同相移。在每一码元传输期间,3相信号可在3线接口的每条导线上被传送。每条导线上传送的3相信号可与3线接口的每条其他导线上传送的信号异相。
在框1804,传送方电路可确定在两个连贯传送的码元之间的边界处将在3线接口的每条导线上发生的信令状态转变的类型。
在框1802,传送方电路可选择该多个启动时钟信号中要用于发起3相接口的每条导线上的信令状态转变的一个启动时钟信号。当信令状态转变终止于未被驱动状态时,传送方电路可选择第一启动时钟信号。当信令状态转变开始于未被驱动状态时,传送方电路可选择第二启动时钟信号。在一个示例中,第一启动时钟信号中的边沿出现在第二启动时钟信号中的对应边沿之前。
在一些示例中,当少于3线接口的所有导线在两个连贯传送的码元之间的边界处转变时,传送方电路可选择共用启动时钟信号以用于3线接口的所有导线。
在一些实例中,当信令状态转变开始和结束于不同的被驱动状态时,传送方电路可选择第三启动时钟信号。在一个示例中,第三启动时钟信号中的边沿出现在第一启动时钟信号中的对应边沿之后并且在第二启动时钟信号中的对应边沿之前。第一启动时钟信号、第二启动时钟信号和第三启动时钟信号可被选择成减少与两个连贯传送的码元之间的边界相关联的信令状态转变在耦合至3线接口的接收机处的抵达时间之间的差异。第三启动时钟可以是码元时钟。第三启动时钟和码元时钟可具有相同的相移。
在一个示例中,在连贯传送的码元对之间的每个边界处在3线接口的至少一条导线上发生转变。
图19是解说采用处理电路1902的装置1900的硬件实现的示例的概念图。在该示例中,处理电路1902可被实现成具有由总线1920一般化地表示的总线架构。取决于处理电路1902的具体应用和总体设计约束,总线1920可包括任何数目的互连总线和桥接器。总线1920将包括一个或多个处理器(由处理器1916一般化地表示)和计算机可读介质(由处理器可读存储介质1918一般化地表示),模块或电路1904、1906、1908,时钟生成电路1910,与3线总线的连接器或导线1914耦合的线驱动器1912以及处理器可读存储介质1918的各种电路耦合在一起。总线1920还可链接各种其他电路,诸如定时源、定时器、外围设备、稳压器、和功率管理电路。一个或多个附加的时钟生成电路可以设在处理电路1902内或者由处理电路1902和/或一个或多个处理器1916控制。在一个示例中,时钟生成电路可包括一个或多个晶体振荡器、一个或多个锁相环设备和/或一个或多个可配置的时钟树。时钟生成电路1910可包括或耦合至多抽头延迟线。
处理器1916负责管理总线1920和一般处理,包括对存储在处理器可读存储介质1918上的软件的执行。该软件在由处理器1916执行时使得处理电路1902执行上文针对任何特定装置描述的各种功能。处理器可读存储介质1918可被用于存储由处理器1916在执行软件时操纵的数据。
在一个配置中,处理电路1902可包括被配置成提供多个启动时钟信号的一个或多个模块和/或电路1908、1910,每个启动时钟信号具有相对于被用于控制3线接口上的码元传输的码元时钟的不同相移。处理电路1902可包括被配置成确定在两个连贯传送的码元之间的边界处将在每条导线上发生的信令状态转变的类型的一个或多个模块和/或电路1906。处理电路1902可包括被配置成使用该多个启动时钟信号中的一个启动时钟信号来发起信令状态转变的一个或多个模块和/或电路1904、1912。例如,模块和/或电路1904、1912可被配置成:当信令状态转变终止于未被驱动状态时,使用第一启动时钟信号来发起信令状态转变;以及当信令状态转变开始于未被驱动状态时,使用第二启动时钟信号来发起信令状态转变。例如,第一启动时钟信号中的边沿可出现在第二启动时钟信号中的对应边沿之前。
本领域技术人员将领会,结合本文中公开的实施例描述的各种解说性逻辑块、模块、电路、和算法步骤可被实现为电子硬件、计算机软件或两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、块、模块、电路、以及步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。
本文中所描述的本发明的各种特征可实现在不同系统中而不会脱离本发明。应注意,前述实施例仅是示例,且不应被解释成限定本发明。对各实施例的描述旨在是解说性的,而非限定权利要求的范围。由此,本发明的教导可以现成地应用于其他类型的装置,并且许多替换、修改和变形对于本领域技术人员将是显而易见的。
Claims (20)
1.一种在多线接口上传送数据的方法,包括:
提供多个启动时钟信号,所述多个启动时钟信号中的每个启动时钟信号具有相对于被用于控制3线接口上的码元传输的码元时钟的不同相移,其中在每一码元传输期间,3相信号在所述3线接口的每条导线上被传送,每条导线上传送的所述3相信号与所述3线接口的每条其他导线上传送的信号异相;
确定在两个连贯传送的码元之间的边界处将在所述3线接口的每条导线上发生的信令状态转变的类型;
选择所述多个启动时钟信号中要用于发起所述3线接口的每条导线上的所述信令状态转变的启动时钟信号,
其中选择所述多个启动时钟信号中的启动时钟信号包括:
当所述信令状态转变终止于未被驱动状态时,选择第一启动时钟信号,
当所述信令状态转变开始于未被驱动状态时,选择第二启动时钟信号,
当所述信令状态转变开始和结束于不同的被驱动状态时,选择第三启动时钟信号,
其中所述第三启动时钟信号中的边沿出现在所述第一启动时钟信号中的对应边沿之后并且在所述第二启动时钟信号中的对应边沿之前,并且
当少于所述3线接口的所有导线在所述两个连贯传送的码元之间的所述边界处转变时,选择共用启动时钟信号以发起所述3线接口的所有导线上的所述信令状态转变;以及
使用所述多个启动时钟信号中所选择的启动时钟信号来控制触发器,所述触发器启动所述3线接口的每条导线上的所述信令状态转变,
其中所述第一启动时钟信号中的边沿出现在所述第二启动时钟信号中的对应边沿之前。
2.如权利要求1所述的方法,其中,所述第一启动时钟信号、所述第二启动时钟信号和所述第三启动时钟信号被选择成减少与所述两个连贯传送的码元之间的所述边界相关联的信令状态转变在耦合至所述3线接口的接收机处的抵达时间之间的差异。
3.如权利要求1所述的方法,其中,所述第三启动时钟信号是所述码元时钟。
4.如权利要求1所述的方法,其中,在连贯传送的码元对之间的每个边界处在所述3线接口的至少一条导线上发生转变。
5.如权利要求1所述的方法,其中,所述3线接口遵循或兼容于由移动行业处理器接口联盟所定义的C-PHY接口。
6.一种线驱动器电路,其耦合至3线接口的一条导线,所述线驱动器电路包括:
时钟发生器,其被配置成提供多个启动时钟信号,每个启动时钟信号具有相对于被用于控制所述3线接口上的码元传输的码元时钟的不同相移;
决策逻辑,其被配置成:
确定在两个连贯传送的码元之间的边界处将在所述3线接口的每条导线上发生的信令状态转变的类型,以及
选择所述多个启动时钟信号中的启动时钟信号作为用于发起所述信令状态转变的当前启动时钟信号;
其中所述决策逻辑在所述信令状态转变终止于未被驱动状态时选择第一启动时钟信号,在所述信令状态转变开始于未被驱动状态时选择第二启动时钟信号,在所述信令状态转变开始和结束于不同的被驱动状态时选择第三启动时钟信号,并且在少于所述3线接口的所有导线在所述两个连贯传送的码元之间的所述边界处转变时选择共用启动时钟信号以发起所述3线接口的所有导线上的所述信令状态转变,
其中所述第一启动时钟信号中的边沿出现在所述第二启动时钟信号中的对应边沿之前,并且
其中所述第三启动时钟信号中的边沿出现在所述第一启动时钟信号中的对应边沿之后并且在所述第二启动时钟信号中的对应边沿之前;以及
触发器集,其被配置成接收所述当前启动信号作为控制所述3线接口上的3相信号的启动定时的时钟信号,其中在每一码元传输期间,相应触发器输出的3相信号在所述3线接口的每条导线上被传送,每条导线上传送的所述3相信号与所述3线接口的每条其他导线上传送的信号异相。
7.如权利要求6所述的线驱动器电路,其中,所述第一启动时钟信号、所述第二启动时钟信号和所述第三启动时钟信号被选择成减少与所述两个连贯传送的码元之间的所述边界相关联的信令状态转变在耦合至所述3线接口的接收机处的抵达时间之间的差异。
8.如权利要求6所述的线驱动器电路,其中,所述第三启动时钟信号是所述码元时钟。
9.如权利要求6所述的线驱动器电路,其中,在连贯传送的码元对之间的每个边界处在所述3线接口的至少一条导线上发生转变。
10.如权利要求6所述的线驱动器电路,其中,所述3线接口遵循或兼容于由移动行业处理器接口联盟所定义的C-PHY接口。
11.一种装备,包括:
用于提供多个启动时钟信号的装置,每个启动时钟信号具有相对于被用于控制3线接口上的码元传输的码元时钟的不同相移,其中在每一码元传输期间,3相信号在所述3线接口的每条导线上被传送,每条导线上传送的所述3相信号与所述3线接口的每条其他导线上传送的信号异相;
用于确定在两个连贯传送的码元之间的边界处将在每条导线上发生的信令状态转变的类型的装置;以及
用于使用所述多个启动时钟信号中的启动时钟信号来发起所述信令状态转变的装置,
其中用于发起所述信令状态转变的装置被配置成:
当所述信令状态转变终止于未被驱动状态时,使用第一启动时钟信号来发起所述信令状态转变;
当所述信令状态转变开始于未被驱动状态时,使用第二启动时钟信号来发起所述信令状态转变;
当所述信令状态转变开始和结束于不同的被驱动状态时,使用第三启动时钟信号来发起所述信令状态转变,
其中所述第三启动时钟信号中的边沿出现在所述第一启动时钟信号中的对应边沿之后并且在所述第二启动时钟信号中的对应边沿之前;
当少于所述3线接口的所有导线在所述两个连贯传送的码元之间的所述边界处转变时,使用共用启动时钟信号来发起所述3线接口的所有导线上的所述信令状态转变;以及
使用所述多个启动时钟信号中的启动时钟信号来控制触发器,所述触发器启动所述3线接口的每条导线上的所述信令状态转变,
其中所述第一启动时钟信号中的边沿出现在所述第二启动时钟信号中的对应边沿之前。
12.如权利要求11所述的装备,其中,所述第一启动时钟信号、所述第二启动时钟信号和所述第三启动时钟信号被选择成减少与所述两个连贯传送的码元之间的所述边界相关联的信令状态转变在耦合至所述3线接口的接收机处的抵达时间之间的差异。
13.如权利要求11所述的装备,其中,所述第三启动时钟信号是所述码元时钟。
14.如权利要求11所述的装备,其中,在连贯传送的码元对之间的每个边界处在所述3线接口的至少一条导线上发生转变。
15.如权利要求11所述的装备,其中,所述3线接口遵循或兼容于由移动行业处理器接口联盟所定义的C-PHY接口。
16.一种非瞬态处理器可读存储介质,包括用于以下操作的代码:
提供多个启动时钟信号,每个启动时钟信号具有相对于被用于控制3线接口上的码元传输的码元时钟的不同相移,其中在每一码元传输期间,3相信号在所述3线接口的每条导线上被传送,每条导线上传送的所述3相信号与所述3线接口的每条其他导线上传送的信号异相;
确定在两个连贯传送的码元之间的边界处将在所述3线接口的每条导线上发生的信令状态转变的类型;
选择所述多个启动时钟信号中要用于发起所述3线接口的每条导线上的所述信令状态转变的启动时钟信号,
其中用于选择所述多个启动时钟信号中的启动时钟信号的代码包括用于以下操作的代码:
当所述信令状态转变终止于未被驱动状态时,选择第一启动时钟信号,
当所述信令状态转变开始于未被驱动状态时,选择第二启动时钟信号,
当所述信令状态转变开始和结束于不同的被驱动状态时,选择第三启动时钟信号,
其中所述第三启动时钟信号中的边沿出现在所述第一启动时钟信号中的对应边沿之后并且在所述第二启动时钟信号中的对应边沿之前,并且
当少于所述3线接口的所有导线在所述两个连贯传送的码元之间的所述边界处转变时,选择共用启动时钟信号以发起所述3线接口的所有导线上的所述信令状态转变;以及
使用所述多个启动时钟信号中所选择的启动时钟信号来控制触发器,所述触发器启动所述3线接口的每条导线上的所述信令状态转变,其中所述第一启动时钟信号中的边沿出现在所述第二启动时钟信号中的对应边沿之前。
17.如权利要求16所述的存储介质,其中,所述第一启动时钟信号、所述第二启动时钟信号和所述第三启动时钟信号被选择成减少与所述两个连贯传送的码元之间的所述边界相关联的信令状态转变在耦合至所述3线接口的接收机处的抵达时间之间的差异。
18.如权利要求16所述的存储介质,其中,所述第三启动时钟信号是所述码元时钟。
19.如权利要求16所述的存储介质,其中,在连贯传送的码元对之间的每个边界处在所述3线接口的至少一条导线上发生转变。
20.如权利要求16所述的存储介质,其中,所述3线接口遵循或兼容于由移动行业处理器接口联盟所定义的C-PHY接口。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/332,756 | 2016-10-24 | ||
US15/332,756 US10289600B2 (en) | 2013-08-08 | 2016-10-24 | Reducing transmitter encoding jitter in a C-PHY interface using multiple clock phases to launch symbols |
PCT/US2017/057900 WO2018081010A1 (en) | 2016-10-24 | 2017-10-23 | Reducing transmitter encoding jitter in a c-phy interface using multiple clock phases to launch symbols |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109863729A CN109863729A (zh) | 2019-06-07 |
CN109863729B true CN109863729B (zh) | 2021-10-22 |
Family
ID=60268486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780065348.0A Active CN109863729B (zh) | 2016-10-24 | 2017-10-23 | 与在多线接口上传送数据相关的方法和装置 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP3529956B1 (zh) |
KR (1) | KR20190068546A (zh) |
CN (1) | CN109863729B (zh) |
AU (1) | AU2017350752A1 (zh) |
BR (1) | BR112019007643A2 (zh) |
WO (1) | WO2018081010A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210034826A (ko) | 2019-09-23 | 2021-03-31 | 삼성전자주식회사 | 신호 수신 장치, 신호 수신 장치의 클럭 복원 방법 및 캘리브레이션 방법 |
US11240077B2 (en) * | 2019-10-29 | 2022-02-01 | Qualcomm Incorporated | C-PHY half-rate wire state encoder and decoder |
US11038666B1 (en) * | 2019-12-11 | 2021-06-15 | Qualcomm Incorporated | Open-loop, super fast, half-rate clock and data recovery for next generation C-PHY interfaces |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0504086A1 (en) * | 1991-03-12 | 1992-09-16 | International Business Machines Corporation | A three wire half duplex asynchronous communication architecture |
CN1386349A (zh) * | 2000-07-25 | 2002-12-18 | 皇家菲利浦电子有限公司 | 利用共模低灵敏度差动偏移比较器的五元接收机/ |
US9148198B1 (en) * | 2014-05-21 | 2015-09-29 | Qualcomm Incorporated | Programmable pre-emphasis circuit for MIPI C-PHY |
CN105302757A (zh) * | 2014-07-08 | 2016-02-03 | 英特尔公司 | 用于减小切换抖动的装置和方法 |
CN105453067A (zh) * | 2013-08-08 | 2016-03-30 | 高通股份有限公司 | N相信号转变对准 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9172426B2 (en) * | 2013-03-07 | 2015-10-27 | Qualcomm Incorporated | Voltage mode driver circuit for N-phase systems |
US9178690B2 (en) * | 2013-10-03 | 2015-11-03 | Qualcomm Incorporated | N factorial dual data rate clock and data recovery |
EP2816765B1 (en) * | 2013-06-17 | 2016-10-12 | ST-Ericsson SA | Three-wire three-level digital interface |
JP2017519427A (ja) * | 2014-05-21 | 2017-07-13 | クアルコム,インコーポレイテッド | 奇数比並列データバスのためのシリアライザおよびデシリアライザ |
US10015027B2 (en) * | 2014-10-22 | 2018-07-03 | Micron Technology, Inc. | Apparatuses and methods for adding offset delays to signal lines of multi-level communication architectures |
-
2017
- 2017-10-23 BR BR112019007643A patent/BR112019007643A2/pt not_active IP Right Cessation
- 2017-10-23 WO PCT/US2017/057900 patent/WO2018081010A1/en active Application Filing
- 2017-10-23 EP EP17794857.7A patent/EP3529956B1/en active Active
- 2017-10-23 CN CN201780065348.0A patent/CN109863729B/zh active Active
- 2017-10-23 KR KR1020197010843A patent/KR20190068546A/ko unknown
- 2017-10-23 AU AU2017350752A patent/AU2017350752A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0504086A1 (en) * | 1991-03-12 | 1992-09-16 | International Business Machines Corporation | A three wire half duplex asynchronous communication architecture |
CN1386349A (zh) * | 2000-07-25 | 2002-12-18 | 皇家菲利浦电子有限公司 | 利用共模低灵敏度差动偏移比较器的五元接收机/ |
CN105453067A (zh) * | 2013-08-08 | 2016-03-30 | 高通股份有限公司 | N相信号转变对准 |
US9148198B1 (en) * | 2014-05-21 | 2015-09-29 | Qualcomm Incorporated | Programmable pre-emphasis circuit for MIPI C-PHY |
CN105302757A (zh) * | 2014-07-08 | 2016-02-03 | 英特尔公司 | 用于减小切换抖动的装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
BR112019007643A2 (pt) | 2019-07-02 |
KR20190068546A (ko) | 2019-06-18 |
CN109863729A (zh) | 2019-06-07 |
EP3529956B1 (en) | 2021-07-21 |
WO2018081010A1 (en) | 2018-05-03 |
AU2017350752A1 (en) | 2019-03-28 |
EP3529956A1 (en) | 2019-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10289600B2 (en) | Reducing transmitter encoding jitter in a C-PHY interface using multiple clock phases to launch symbols | |
CN107852382B (zh) | 用于c-phy 3相发射机的基于时间的均衡 | |
JP6568247B2 (ja) | N相信号遷移アライメント | |
CN109644020B (zh) | 用于自适应均衡、自适应边沿跟踪以及延迟校准的c-phy训练码型 | |
KR102522742B1 (ko) | 3-페이즈 인터페이스에 대한 멀티페이즈 클록 데이터 복구 | |
KR102523235B1 (ko) | 다상 클록 데이터 복원 회로 캘리브레이션 | |
US10298381B1 (en) | Multiphase clock data recovery with adaptive tracking for a multi-wire, multi-phase interface | |
EP3114792B1 (en) | Clock recovery circuit for multiple wire data signals | |
CN109863729B (zh) | 与在多线接口上传送数据相关的方法和装置 | |
US11095425B2 (en) | Small loop delay clock and data recovery block for high-speed next generation C-PHY | |
US11327914B1 (en) | C-PHY data-triggered edge generation with intrinsic half-rate operation | |
TWI822732B (zh) | 獨立配對的3相眼圖取樣電路 | |
KR102420905B1 (ko) | 차세대 c-phy 인터페이스들을 위한 개방-루프, 초고속, 하프-레이트 클록 및 데이터 복구 | |
US11463233B2 (en) | Unit interval jitter improvement in a C-PHY 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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |