Mipi C-PHY Specification v1-0
Mipi C-PHY Specification v1-0
Mipi C-PHY Specification v1-0
SM
C-PHY
* NOTE TO IMPLEMENTERS *
This document is a Specification. MIPI member companies’ rights and obligations apply to this Specification as defined
in the MIPI Membership Agreement and MIPI Bylaws.
Version 1.0
05 August 2014
MIPI Board Adopted 07 October 2014
Further technical changes to this document are expected as work continues in the C-PHY Subgroup of
the PHY Working Group.
NOTICE OF DISCLAIMER
The material contained herein is not a license, either expressly or impliedly, to any IPR owned or controlled
by any of the authors or developers of this material or MIPI®. The material contained herein is provided on
an “AS IS” basis and to the maximum extent permitted by applicable law, this material is provided AS IS
AND WITH ALL FAULTS, and the authors and developers of this material and MIPI hereby disclaim all
other warranties and conditions, either express, implied or statutory, including, but not limited to, any (if any)
implied warranties, duties or conditions of merchantability, of fitness for a particular purpose, of accuracy or
completeness of responses, of results, of workmanlike effort, of lack of viruses, and of lack of negligence.
All materials contained herein are protected by copyright laws, and may not be reproduced, republished,
distributed, transmitted, displayed, broadcast or otherwise exploited in any manner without the express prior
written permission of MIPI Alliance. MIPI, MIPI Alliance and the dotted rainbow arch and all related
trademarks, tradenames, and other intellectual property are the exclusive property of MIPI Alliance and
cannot be used without its express prior written permission.
ALSO, THERE IS NO WARRANTY OF CONDITION OF TITLE, QUIET ENJOYMENT, QUIET
POSSESSION, CORRESPONDENCE TO DESCRIPTION OR NON-INFRINGEMENT WITH REGARD
TO THIS MATERIAL OR THE CONTENTS OF THIS DOCUMENT. IN NO EVENT WILL ANY
AUTHOR OR DEVELOPER OF THIS MATERIAL OR THE CONTENTS OF THIS DOCUMENT OR
MIPI BE LIABLE TO ANY OTHER PARTY FOR THE COST OF PROCURING SUBSTITUTE GOODS
OR SERVICES, LOST PROFITS, LOSS OF USE, LOSS OF DATA, OR ANY INCIDENTAL,
CONSEQUENTIAL, DIRECT, INDIRECT, OR SPECIAL DAMAGES WHETHER UNDER CONTRACT,
TORT, WARRANTY, OR OTHERWISE, ARISING IN ANY WAY OUT OF THIS OR ANY OTHER
AGREEMENT, SPECIFICATION OR DOCUMENT RELATING TO THIS MATERIAL, WHETHER OR
NOT SUCH PARTY HAD ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.
Without limiting the generality of this Disclaimer stated above, the user of the contents of this Document is
further notified that MIPI: (a) does not evaluate, test or verify the accuracy, soundness or credibility of the
contents of this Document; (b) does not monitor or enforce compliance with the contents of this Document;
and (c) does not certify, test, or in any manner investigate products or services or any claims of compliance
with the contents of this Document. The use or implementation of the contents of this Document may involve
or require the use of intellectual property rights (“IPR”) including (but not limited to) patents, patent
applications, or copyrights owned by one or more parties, whether or not Members of MIPI. MIPI does not
make any search or investigation for IPR, nor does MIPI require or request the disclosure of any IPR or
claims of IPR as respects the contents of this Document or otherwise.
Questions pertaining to this document, or the terms or conditions of its provision, should be addressed to:
MIPI Alliance, Inc.
c/o IEEE-ISTO
445 Hoes Lane
Piscataway, NJ 08854
Attn: Board Secretary
Contents
1 Introduction .................................................................................................................1
1.1 Scope ............................................................................................................................... 1
1.2 Purpose ............................................................................................................................ 2
2 Terminology .................................................................................................................3
2.1 Use of Special Terms ....................................................................................................... 3
2.2 Definitions ....................................................................................................................... 3
2.3 Abbreviations................................................................................................................... 4
2.4 Acronyms ......................................................................................................................... 4
3 References ....................................................................................................................6
4 C-PHY Overview .........................................................................................................7
4.1 Summary of PHY Functionality ...................................................................................... 7
4.1.1 Summary of Lane Signaling States .............................................................................. 7
4.1.2 Representation of Symbols in High-Speed Mode ........................................................ 9
4.1.3 Representation of High-Speed Signaling States ......................................................... 10
4.2 Mandatory Functionality ............................................................................................... 10
5 Architecture ............................................................................................................... 11
5.1 Lane Modules ................................................................................................................ 11
5.2 Master and Slave............................................................................................................ 12
5.3 High Frequency Clock Generation ................................................................................ 12
5.4 Lanes and the PHY-Protocol Interface........................................................................... 12
5.5 Selectable Lane Options ................................................................................................ 13
5.6 Lane Module Types ....................................................................................................... 15
5.6.1 Unidirectional Lane .................................................................................................... 16
5.6.2 Bi-directional Lanes ................................................................................................... 16
5.7 Configurations ............................................................................................................... 16
5.7.1 Unidirectional Configurations .................................................................................... 17
5.7.2 Bi-Directional Half-Duplex Configurations ............................................................... 19
6 Global Operation .......................................................................................................21
6.1 Transmission Data Structure .......................................................................................... 21
6.1.1 Data Units ................................................................................................................... 21
6.1.2 Bit order, Serialization, and De-Serialization ............................................................. 21
6.1.3 Encoding, Decoding, Mapping and De-Mapping ....................................................... 21
6.1.4 Data Buffering ............................................................................................................ 32
6.2 Lane States and Line Levels .......................................................................................... 33
6.3 Operating Modes: Control, High-Speed, and Escape .................................................... 34
6.4 High-Speed Data Transmission ..................................................................................... 34
6.4.1 Burst Payload Data ..................................................................................................... 34
6.4.2 Start-of-Transmission ................................................................................................. 34
6.4.3 End-of-Transmission .................................................................................................. 35
6.4.4 HS Data Transmission Burst....................................................................................... 35
6.5 Bi-directional Lane Turnaround..................................................................................... 41
6.6 Escape Mode.................................................................................................................. 43
6.6.1 Remote Triggers ......................................................................................................... 44
6.6.2 Low-Power Data Transmission .................................................................................. 45
Figures
Figure 1 Six Physical Layer Wire States of C-PHY Encoding, Nominal Values Shown ................. 8
Figure 2 State Diagram Showing All Six Wire States, and All Possible Transitions ....................... 9
Figure 3 End-to-End Transmission of Data, 16-bit Word Conversion to Channel States .............. 10
Figure 4 Universal Lane Module Functions ................................................................................... 11
Figure 5 Three Lane PHY Configuration ....................................................................................... 13
Figure 6 Option Selection Flow Graph .......................................................................................... 14
Figure 7 Universal Lane Module Architecture ............................................................................... 15
Figure 8 Lane Symbol Macros and Symbols Legend..................................................................... 17
Figure 9 All Possible Lane Types ................................................................................................... 17
Figure 10 Unidirectional Single Lane Configuration ..................................................................... 18
Figure 11 Unidirectional Multiple Lane Configuration without LPDT ......................................... 18
Figure 12 Two Directions Using Two Independent Unidirectional PHYs without LPDT ............. 19
Figure 13 Bidirectional Single Lane Configuration ....................................................................... 19
Figure 14 Bi-directional Multiple Lane Configuration .................................................................. 20
Figure 15 Encoder and Transmitter Example ................................................................................. 23
Figure 16 Receiver and Symbol Decoder Example........................................................................ 25
Figure 17 Data Mapping Between Seven Symbols and a 16-Bit Word.......................................... 26
Figure 18 Example, Mapping Circuit Converts 16-bit Word to Seven Symbols............................ 27
Figure 19 Example, Detailed Logic Diagram of 16-bit word to 7-Symbol Mapping Circuit ........ 28
Figure 20 Example, De-Mapping Circuit Converts Seven Symbols to a 16-Bit Word .................. 30
Figure 21 Detailed Logic Diagram Example of a 7-Symbol to 16-bit Word De-Mapper .............. 31
Figure 22 Line Levels..................................................................................................................... 33
Figure 23 High-Speed Data Transmission in Burst ........................................................................ 37
Figure 24 TX and RX State Machines for High-Speed Data Transmission ................................... 38
Figure 25 Link Error and Sync Word Detection Examples ............................................................ 40
Figure 26 Turnaround Procedure .................................................................................................... 41
Figure 27 Turnaround State Machine ............................................................................................. 42
Figure 28 Trigger-Reset Command in Escape Mode ..................................................................... 44
Figure 29 Two Data Byte Low-Power Data Transmission Example .............................................. 45
Figure 30 Escape Mode State Machine .......................................................................................... 46
Figure 31 Lane Module State Diagram .......................................................................................... 50
Figure 65 Tx Lane PRBS Register Function and Seed Value Initialization ................................... 90
Figure 66 Receive (Slave) Lane Block Diagram with Test Circuitry ............................................. 91
Figure 67 Rx Lane PRBS Register Function and Seed Value Initialization ................................... 94
Figure 68 Example Showing Cause/Effect of TGR burst enable/disable ....................................... 98
Figure 69 Preamble Programmable Sequence, Showing Bit Order, and Enabled/Disabled......... 101
Figure 70 Example High-Speed Transmission from the Master Side .......................................... 109
Figure 71 Example High-Speed Receive at the Slave Side .......................................................... 110
Figure 72 Low-Power Data Transmission .................................................................................... 111
Figure 73 Example Low-Power Data Reception .......................................................................... 111
Figure 74 Example Turn-around Actions Transmit-to-Receive and Back to Transmit ................ 112
Figure 75 Radio Interference from Serial Interface Connections................................................. 113
Tables
Table 1 Signal Voltage and Differential Voltage for the Six C-PHY Wire States ............................. 9
Table 2 Lane Type Descriptors ....................................................................................................... 16
Table 3 Definition of Wire States ................................................................................................... 22
Table 4 Five possible transitions from previous state to present state ............................................ 23
Table 5 Transmit Pre-Driver Control Logic ................................................................................... 23
Table 6 Receive Transition Mapping .............................................................................................. 24
Table 7 Truth Table of the “Tx Mux Control Logic” in Figure 19 ................................................. 29
Table 8 Truth Table of the “Rx Mux Control Logic” in Figure 21 ................................................. 32
Table 9 Lane State Descriptions ..................................................................................................... 33
Table 10 Start-of-Transmission Sequence ...................................................................................... 34
Table 11 End-of-Transmission Sequence ....................................................................................... 35
Table 12 High-Speed Data Transmission State Machine Description ............................................ 38
Table 13 High-Speed Data Reception State Machine Description ................................................. 39
Table 14 Link Turnaround Sequence .............................................................................................. 41
Table 15 Turnaround State Machine Description ........................................................................... 42
Table 16 Escape Entry Codes ......................................................................................................... 44
Table 17 Escape Mode State Machine Description ........................................................................ 46
Table 18 Global Operation Timing Parameters .............................................................................. 48
Table 19 Initialization States .......................................................................................................... 49
Table 20 C-PHY High-Speed Wire States ...................................................................................... 62
Table 21 Strong Zero and Strong One State for Each Wire Pair .................................................... 63
Table 22 HS Transmitter DC Specifications................................................................................... 65
Table 23 HS Transmitter AC Specifications ................................................................................... 66
Table 24 LP Transmitter DC Specifications ................................................................................... 68
Table 25 LP Transmitter AC Specifications ................................................................................... 69
Table 26 HS Receiver DC Specifications ....................................................................................... 72
Table 27 HS Receiver AC Specifications ....................................................................................... 72
Table 28 LP Receiver DC specifications ........................................................................................ 73
Table 29 LP Receiver AC Specifications........................................................................................ 73
Table 30 Contention Detector (LP-CD) DC Specifications ........................................................... 74
Table 31 Pin Characteristic Specifications ..................................................................................... 75
Release History
Date Version Description
1 Introduction
2 This document describes a high-speed serial interface called C-PHY, which provides high throughput
3 performance over bandwidth limited channels for connecting to peripherals, including displays and cameras.
4 (This includes display Chip-on-Glass receiver channels and image sensor transmitters that exhibit bandwidth
5 limitations.)
6 The C-PHY is based on 3-Phase symbol encoding technology delivering 2.28 bits per symbol over three-wire
7 trios, and is targeting 2.5Gsymbols/s. C-PHY has many characteristics in-common with D-PHY [MIPI01];
8 many parts of C-PHY were adapted from D-PHY. C-PHY was designed to be able to coexist on the same IC
9 pins as D-PHY so that dual-mode devices can be developed.
1.1 Scope
10 The scope of this document is to describe the lowest layers of the high-speed interfaces to be applied by MIPI
11 Alliance application or protocol level specifications. This includes the physical interface, electrical interface,
12 low-level timing and the PHY-level protocol. The goal has been to define a C-PHY high-speed interface that
13 can coexist on the same pins as the MIPI D-PHY interface. These functional areas taken together are known
14 as C-PHY.
15 The C-PHY specification shall always be used in combination with a higher layer MIPI specification that
16 references this specification. Any other use of the C-PHY specification is strictly prohibited, unless approved
17 in advance by the MIPI Board of Directors.
18 The following topics are outside the scope of this document:
19 • Explicit specification of signals of the clock generator unit. The C-PHY specification does
20 implicitly require a minimum performance of the internal clock signals in order to meet the
21 defined specifications of the external signals. Intentionally, only the behavior on the interface pins
22 is constrained. Therefore, the clock generation unit is excluded from this specification, and will be
23 a separate functional unit that provides the required clock signals to the C-PHY in order to meet
24 the specification. This allows many implementation trade-offs as long as these do not violate this
25 specification.
26 • Procedure to resolve contention situations. The C-PHY contains several mechanisms to detect
27 Link contention. However, certain contention situations can only be detected at higher levels and
28 are therefore not included in this specification.
29 • Ensure proper operation of a connection between different Lane Module types. There are
30 several different Lane Module types to optimally support the different functional requirements of
31 several applications. This means that next to some base-functionality there are optional features
32 which can be included or excluded. This specification only ensures correct operation for a
33 connection between matched Lane Modules types, which means: Modules that support the same
34 features and have complementary functionality. In case the two sides of the Lane are not the same
35 type, and these are supposed to work correctly, it shall be ensured by the manufacturer(s) of the
36 Lane Module(s) that the provided additional functionality does not corrupt operation. This can be
37 most easily accomplished if the additional functionality can be disabled by other means
38 independent of the MIPI C-PHY interface, such that the Lane Modules behave as if they were the
39 same type.
40 • ESD protection level of the IO. The required level of ESD protection will depend on a particular
41 application environment and product type.
42 • Exact symbol error rate value. The actual value of the achieved symbol error rate depends on the
43 total system integration and the hostility of the environment. Therefore, it is impossible to specify
44 a symbol error rate for individual parts of the Link. This specification allows for implementations
45 with a symbol error rate less than 10-12.
1.2 Purpose
68 The C-PHY specification is used by manufacturers to design products that adhere to MIPI Alliance interface
69 specifications for mobile devices such as, but not limited to, camera, display and unified protocol interfaces.
70 Implementing this specification reduces the time-to-market and design cost of mobile devices by
71 standardizing the interface between products from different manufacturers. In addition, richer feature sets
72 requiring high data rates can be realized by implementing this specification. Finally, adding new features to
73 mobile devices is simplified due to the extensible nature of the MIPI Alliance Specifications.
2 Terminology
76 The word shall is used to indicate mandatory requirements strictly to be followed in order
77 to conform to the Specification and from which no deviation is permitted (shall equals is
78 required to).
79 The use of the word must is deprecated and shall not be used when stating mandatory
80 requirements; must is used only to describe unavoidable situations.
81 The use of the word will is deprecated and shall not be used when stating mandatory
82 requirements; will is only used in statements of fact.
83 The word should is used to indicate that among several possibilities one is recommended
84 as particularly suitable, without mentioning or excluding others; or that a certain course of
85 action is preferred but not necessarily required; or that (in the negative form) a certain
86 course of action is deprecated but not prohibited (should equals is recommended that).
87 The word may is used to indicate a course of action permissible within the limits of the
88 Specification (may equals is permitted to).
89 The word can is used for statements of possibility and capability, whether material,
90 physical, or causal (can equals is able to).
91 All sections are normative, unless they are explicitly indicated to be informative.
2.2 Definitions
92 Bi-directional: A single Lane that supports communication in both the forward and reverse directions.
93 C-PHY: The PHY defined in this document. C-PHYs may be used in channel-limited applications, hence the
94 use of the character “C.”
95 Escape Mode: An optional mode of operation for lanes that allows low bit-rate commands and data to be
96 transferred at very low power.
97 Forward Direction: The signal direction is defined relative to the direction of the high-speed data. The main
98 direction of data communication, from source to sink, is denoted as the forward direction.
99 Lane: Consists of two complementary lane modules communicating via three-line, point-to-point lane
100 Interconnects. The term “lane” is often used to denote interconnect only.
101 Lane Interconnect: Three-line, point-to-point interconnect used for both differential high-speed signaling
102 and low-power, single-ended signaling.
103 Lane Module: Module at each side of the lane for driving and/or receiving signals on the lane.
104 Line: An interconnect wire used to connect a driver to a receiver. Three lines are required to create a lane
105 interconnect.
106 Link: A connection between two devices containing at least one lane. A link consists of at least two PHYs
107 and one lane interconnect.
108 Master: The master side of a link is defined as the side that transmits the high-speed data. The master side
109 transmits data in the forward direction.
110 PHY: A functional block that implements the features necessary to communicate over the lane interconnect.
111 A PHY consists of one or more lane modules and a PHY adapter layer.
112 PHY Adapter: A protocol layer that converts symbols from an APPI to the signals used by a specific PHY
113 PPI.
114 PHY Configuration: A set of lanes that represent a possible link. A PHY configuration consists of a one or
115 more lanes.
116 Reverse Direction: Reverse direction is the opposite of the forward direction. See the description for forward
117 direction.
118 Slave: The slave side of a link is defined as the side that receives high-speed data from the master. The slave
119 side may transmit data in low-power mode in the reverse direction.
120 Turnaround: Reversing the direction of communication on a lane.
121 Unidirectional: A single lane that supports communication in the forward direction only.
122 Wire State: the combination of signal levels driven on the three lines of a lane.
2.3 Abbreviations
123 e.g. For example (Latin: exempli gratia)
124 i.e. That is (Latin: id est)
2.4 Acronyms
125 APPI Abstracted PHY-Protocol Interface
126 BER Bit Error Rate
127 CIL Control and Interface Logic
128 DDR Double Data Rate
129 EMI Electro Magnetic Interference
130 EoT End of Transmission
131 HS High-Speed; identifier for operation mode
132 HS-RX High-Speed Receiver (Low-Swing Differential)
133 HS-TX High-Speed Transmitter (Low-Swing Differential)
134 IEEE Institute of Electrical and Electronics Engineers
135 IO Input-Output
136 ISTO Industry Standards and Technology Organization
137 LP Low-Power: identifier for operation mode
138 LP-CD Low-Power Contention Detector
139 LPDT Low-Power Data Transmission
140 LP-RX Low-Power Receiver (Large-Swing Single-Ended)
141 LP-TX Low-Power Transmitter (Large-Swing Single-Ended)
142 LPS Low-Power State(s)
143 LSB Least Significant Bit
144 Mbps Megabits per second
145 MSB Most Significant Bit
3 References
161 [MIPI01] MIPI Alliance Specification for D-PHY, version 1.2, MIPI Alliance, Inc., 10 September 2014.
162 [PET01] Peterson, W. Wesley; Weldon, E. J. Jr., Error-Correcting Codes, Second Edition, Massachusetts
163 Institute of Technology, 1972.
4 C-PHY Overview
164 C-PHY describes a high-speed, rate-efficient PHY, especially suited for mobile applications where channel
165 rate limitations are a factor. The needs of rate limited channels are accomplished through the use of 3-Phase
166 symbol encoding technology delivering approximately 2.28 bits per symbol over a three-wire group of
167 conductors. This C-PHY specification has been written primarily for the connection of cameras and displays
168 to a host processor. Nevertheless, it can be applied to many other applications.
169 C-PHY has re-used many parts of the D-PHY standard. C-PHY was designed to coexist on the same IC pins
170 as D-PHY so that dual-mode devices can be developed. C-PHY high-speed data coding differs substantially
171 from the D-PHY clock-forwarding system, although the high-speed signal levels and terminations bear some
172 similarity. The low-power mode of D-PHY is reused almost completely, and the transitions to and from the
173 high-speed and low-power modes is very similar to the D-PHY standard.
174 Key characteristics of C-PHY coding are:
175 • Uses a group of three conductors rather than conventional pairs. The group of three wires is called
176 a lane, and the individual lines of the lane are called: A, B and C. C-PHY does not have a separate
177 clock lane.
178 • Within a three-wire lane, two of the three wires are driven to opposite levels; the third wire is
179 terminated to a mid-level (at either one end or both ends), and the voltages at which the wires are
180 driven changes at every symbol.
181 • Multiple bits are encoded into each symbol epoch, the data rate is ~2.28x the symbol rate. There is
182 no additional overhead for line coding, such as 8b10b, which is not needed.
183 • Clock timing is encoded into each symbol. This is accomplished by requiring that the combination
184 of voltages driven onto the wires must change at every symbol boundary. This simplifies clock
185 recovery.
186 • The signal is received using a group of three differential receivers.
187 • The C-PHY interface can co-exist on the same pins/pads as the D-PHY interface signals.
207 wire link. Figure 1 shows the positive-polarity wire states on the left and negative-polarity wire states on the
208 right. The three rotation states (x, y and z) are shown from top to bottom. The six driven states (called wire
209 states) on a C-PHY lane are called: +x, -x, +y, -y, +z, and -z. The positive polarity wire states have the same
210 wires driven as the corresponding negative polarity states, but the polarity is opposite on the driven pair of
211 wires. For example: the +x wire state is defined as A being driven high and B driven low, while the -x wire
212 state is B driven high and A driven low. The “undriven” conductor can be undriven when operating at lower
213 symbol rates, or is actually driven by a termination at a voltage half way between the highest and lowest
214 driven levels if operating at higher symbol rates.
Master side “B” to “C” (+y state) Master side “C” to “B” (-y state)
+V Slave side +V Slave side
PU_TA 100 “A” Z0=50 ZID/2=50 PU_TA 100 “A” Z0=50 ZID/2=50
+ +
PD_TA 100 Rx_AB PD_TA 100 Rx_AB
-V/4 “0” +V/4 “1”
+V - +V -
PU_B 50 “B” Z0=50 ZID/2=50 PU_B 50 “B” Z0=50 ZID/2=50
+ +
PD_B 50 Rx_BC PD_B 50 Rx_BC
+V/2 “1” -V/2 “0”
+V - +V -
PU_C 50 “C” Z0=50 ZID/2=50 PU_C 50 “C” Z0=50 ZID/2=50
+ +
PD_C 50 Rx_CA PD_C 50 Rx_CA
-V/4 “0” +V/4 “1”
- -
Master side “C” to “A” (+z state) Master side “A” to “C” (-z state)
+V Slave side +V Slave side
PU_A 50 “A” Z0=50 ZID/2=50 PU_A 50 “A” Z0=50 ZID/2=50
+ +
PD_A 50 Rx_AB PD_A 50 Rx_AB
-V/4 “0” +V/4 “1”
+V - +V -
PU_TB 100“B” Z0=50 ZID/2=50 PU_TB 100“B” Z0=50 ZID/2=50
+ +
PD_TB 100 Rx_BC PD_TB 100 Rx_BC
-V/4 “0” +V/4 “1”
+V - +V -
PU_C 50 “C” Z0=50 ZID/2=50 PU_C 50 “C” Z0=50 ZID/2=50
+ +
PD_C 50 Rx_CA PD_C 50 Rx_CA
+V/2 “1” -V/2 “0”
- -
215
Figure 1 Six Physical Layer Wire States of C-PHY Encoding, Nominal Values Shown
216 Table 1 Signal Voltage and Differential Voltage for the Six C-PHY Wire States
Wire Wire Amplitude Receiver diff input voltage Receiver digital output
State A B C A–B B–C C–A Rx_AB Rx_BC Rx_CA
+x ¾V ¼V ½V +½ V -¼ V -¼ V 1 0 0
-x ¼V ¾V ½V -½ V +¼ V +¼ V 0 1 1
+y ½V ¾V ¼V -¼ V +½ V -¼ V 0 1 0
-y ½V ¼V ¾V +¼ V -½ V +¼ V 1 0 1
+z ¼V ½V ¾V -¼ V -¼ V +½ V 0 0 1
-z ¾V ½V ¼V +¼ V +¼ V -½ V 1 1 0
-y
C to B
W
CW
CC
+y
B to C
Positive
Polarity
+x +z
A to B C to A
-x -z
A to C
B to A
Negative Polarity
226
Figure 2 State Diagram Showing All Six Wire States, and All Possible Transitions
Parallel-to-Serial
Serial-to-Parallel
Symbol A A 3-Wire 7-symbol
16-bit to
(16) 7-symbol (21) (3)
Encoder, B t0 t1 t2 t3 t4 t5 t6 B Receiver,
(3) (21)
to 16-bit
(16)
3-Wire C ws0 ws1 ws2 ws3 ws4 ws5 ws6 C Symbol De-
Mapper
Driver Decoder Mapper
Each Wire State has
6 possible states.
21 = 7 symbols,
Tx_Flip, The change on ABC from one Unit Interval Rx_Flip,
3 bits each.
Tx_Rotation, to the next defines the symbol value. Rx_Rotation,
3 bits define one
Tx_Polarity Symboln = f(wsn, wsn-1) Rx_Polarity
237 of 5 state transitions
238
Figure 3 End-to-End Transmission of Data, 16-bit Word Conversion to Channel States
5 Architecture
241 This section describes the internal structure of the PHY including its functions at the behavioral level.
242 Furthermore, several possible PHY configurations are given. Each configuration can be considered as a
243 suitable combination from a set of basic modules.
PPI
(appendix) LP-TX
A
B
TX C
HS-TX
Clock
Lane
Control
Data HS-RX RT
and
Interface
RX
Ctrl
Logic LP-RX
LP-CD
Protocol
Side CD Line Side
246
Figure 4 Universal Lane Module Functions
247 Each lane module consists of one or more high-speed functions utilizing three interconnect wires
248 simultaneously, one or more single-ended low-power functions operating on each of the interconnect wires
249 individually, and control & interface logic. An overview of all functions is shown in Figure 4. High-speed
250 signals have a low voltage swing, e.g. 250 mV, while low-power signals have a large swing, e.g. 1.2V. High-
251 speed functions are used for high-speed data transmission. The low-power functions are mainly used for
252 control, but have other, optional, use cases. The I/O functions are controlled by a Lane Control and Interface
253 Logic block. This block interfaces with the higher layer protocol unit and determines the global operation of
254 the lane module.
255 High-speed functions include a differential transmitter (HS-TX) and a differential receiver (HS-RX).
256 A lane module may contain either a HS-TX or a HS-RX, but not both. An enabled high-speed function shall
257 terminate the lane on its side of the lane interconnect as defined in Section 9.1.1 and Section 9.2.1. If a high-
258 speed function in the lane module is not enabled then the function shall be put into a high impedance state.
259 Low-power functions include single-ended transmitters (LP-TX), receivers (LP-RX) and low-power
260 Contention-Detectors (LP-CD). Low-power functions are always associated with a lane as these are single-
261 ended functions operating on all three of the interconnect wires individually.
262 Presence of high-speed and low-power functions is correlated. That is, if a lane module contains a HS-TX it
263 shall also contain a LP-TX. A similar constraint holds for HS-RX and LP-RX.
264 If a lane module containing a LP-RX is powered, that LP-RX shall always be active and continuously monitor
265 line levels. A LP-TX shall be enabled only when driving low-power states. The LP-CD function is required
266 only for bi-directional operation. If present, the LP-CD function is enabled to detect contention situations
267 while the LP-TX is driving low-power states. The LP-CD checks for contention before driving a new state
268 on the line except in ULPS.
269 The activities of LP-TX, HS-TX, and HS-RX in a single lane module are mutually exclusive, except for some
270 short crossover periods. For detailed specification of the line-side signals, and the HS-TX, HS-RX, LP-TX,
271 LP-RX and LP-CD functions, refer to Chapter 9 and Chapter 10.
272 For proper operation, the set of functions in the lane modules on both sides of the lane interconnect has to be
273 matched. This means for each HS and LP transmit or receive function on one side of the lane interconnect, a
274 complementary HS or LP receive or transmit function must be present on the other side. In addition, a
275 contention detector is needed in any lane module that combines TX and RX functions.
Clock
Multiplier
Unit APPI = Abstracted PHY-Protocol Interface (complete PHY, all Lanes
Ref Clk PPI = PHY Protocol Interface (per Lane, some signals can be shared with multiple Lanes)
Controls
PHY
PPI C-PHY C-PHY PPI
PHY
Adapter Adapter
Layer Master Lane Module Slave Lane Module Layer
PHY PHY
292 Master Side Slave Side
Figure 5 Three Lane PHY Configuration
START
Iterate
For all
Lanes
Is half-
duplex operation Yes
required?
Max required
No momentary reverse
No Yes
direction lane bandwidth
>10Mb/s
If traffic can
be scheduled properly
No
using reverse Esc LPDT
use LPDT?
No
Yes
Functionality
decided for all
Lanes?
Yes
PHY Configuration PHY Configuration
known not known
312
Figure 6 Option Selection Flow Graph
PPI
(appendix)
LP-TX
TX Ctrl Logic
A
Data In Data Esc Encoder B
IF TX C
Data Out logic Mapper HS-Serialize
Encoder HS-TX
Sequences
RX
LP-RX
Esc Decoder
Ctrl Decoder
Data In Ctrl
IF
Data Out logic State Machine
(incl Enables, Selects LP-CD
and System ctrl)
321 Of course, stripped-down versions of the universal lane module that just support the required functionality
322 for a particular lane type are possible. These stripped-down versions are identified by the acronyms in Table
323 2. For simplification reasons, any of the four identification characters can be replaced by an X, which means
324 that this can be any of the available options. For example, a CIL-MFEN is therefore a stripped-down CIL
325 function for the master side of a unidirectional lane with escape mode functionality only in the forward
326 direction. Note that a CIL-XFXN implies a unidirectional link, while either a CIL-XFXE or CIL-XFAA block
327 implies a bidirectional link.
5.7 Configurations
343 This section outlines several common PHY configurations but should not be considered an exhaustive list of
344 all possible arrangements. Any other configuration that does not violate the requirements of this document is
345 also allowed.
346 In order to create an abstraction level, the lane modules are represented in this section by lane module
347 Symbols. Figure 8 shows the syntax and meaning of symbols.
348
Figure 8 Lane Symbol Macros and Symbols Legend
349 For multiple lanes a large variety of configurations is possible. Figure 9 shows an overview of symbolic
350 representations for different lane types. The acronyms mentioned for each lane type represent the
351 functionality of each module in a short way. This also sets the requirements for the CIL function inside each
352 Module.
Master Slave
C-PHY C-PHY
PPI PPI
Lane Module Lane Module
361
Figure 10 Unidirectional Single Lane Configuration
Master Slave
C-PHY C-PHY
PPI PPI
Lane Module Lane Module
C-PHY C-PHY
PPI PPI
Lane Module Lane Module
C-PHY C-PHY
PPI PPI
Lane Module Lane Module
367
Figure 11 Unidirectional Multiple Lane Configuration without LPDT
Master Slave
C-PHY C-PHY
PHY-1 PPI PPI
Lane Module Lane Module
Slave Master
C-PHY C-PHY
PHY-2 PPI PPI
Lane Module Lane Module
375
Figure 12 Two Directions Using Two Independent Unidirectional PHYs without LPDT
Master Slave
C-PHY C-PHY
PPI PPI
Lane Module Lane Module
386
Figure 13 Bidirectional Single Lane Configuration
Master Slave
C-PHY C-PHY
PPI PPI
Lane Module Lane Module
C-PHY C-PHY
PPI PPI
Lane Module Lane Module
393
Figure 14 Bi-directional Multiple Lane Configuration
6 Global Operation
394 This section specifies operation of C-PHY including signaling types, communication mechanisms, operating
395 modes and coding schemes. Detailed specifications of the required electrical functions can be found in
396 Section 9.
431 The six wire states shall be called +x, -x, +y, -y, +z and –z are defined as described in Table 3. Examples of
432 the wire states are shown in Figure 1 and Table 1.
433 The wire states defined as having a positive polarity are: +x, +y and +z. The wire states defined as having a
434 negative polarity are: -x, -y and -z.
6.1.3.2.1 Encoding
457 The symbol encoding shall be performed as described in Table 4, which defines the symbol encoding
458 algorithm. The translation defined in Table 4 converts one 3-bit symbol value into a wire state to be sent over
459 the lane based on the present 3-bit symbol value and the wire state that was transmitted in the previous UI.
460 Every transition in the state diagram of Figure 2 is represented in Table 4. The present wire state is determined
461 by the previous wire state and the symbol input value. For example: if the 3-bit symbol value is 011 (no flip,
462 CW rotation, opposite polarity) and the previous wire state is +y, then the next wire state is -z.
463 Table 4 Five possible transitions from previous state to present state
Symbol Previous Wire State, interval N-1 What Happens
Input
+x -x +y -y +z -z
Value
000 +z -z +x -x +y -y Rotate CCW, polarity is Same
001 -z +z -x +x -y +y Rotate CCW, polarity is Opposite
010 +y -y +z -z +x -x Rotate CW, polarity is Same
011 -y +y -z +z -x +x Rotate CW, polarity is Opposite
1xx -x +x -y +y -z +z Same phase, polarity is Opposite
Note:
1. Symbol Input value is: [Tx_Flip, Tx_Rotation, Tx_Polarity]
2. Values in the table show the Present Wire State transmitted during interval N, as a function of the
Previous Wire State transmitted during interval N-1, and 3-bit Symbol Value.
464 An example Transmit Encoder and driver circuit is shown in Figure 15. The 3-bit binary values that represent
465 the previous and present wire state in Figure 15 exist only to make the example easier to follow. This is to
466 break the process in the example into two steps: Transmit Symbol Encoding Logic and Transmit Pre-driver
467 Control Logic. The wire state binary values are internal to the Symbol Encoder and Transmitter circuit, so
468 the values that describe the wire states within these blocks are an implementation choice. For example: the
469 actual logic circuit could use the decoded 6-bit pre-driver value [PU_A, PD_A, PU_B, PD_B, PU_C, PD_C]
470 to define the present wire state value (using only 6 of the 64 possible values) instead of using the intermediate
471 3-bit wire state value.
Prev_St[2] Pres_St[2] D2 Q2
Prev_St[1] Pres_St[1] D1 Q1 +V
Prev_St[0] Pres_St[0] D0 Q0
“C”
472 Tx_symclk
Figure 15 Encoder and Transmitter Example
Table 5 Transmit Pre-Driver Control Logic
Wire Driver Driver Driver Driver Driver Driver
VA VB VC
State PU_A PD_A PU_B PD_B PU_C PD_C
+x ¾V ¼V ½V 1 0 0 1 0 0
-x ¼V ¾V ½V 0 1 1 0 0 0
+y ½V ¾V ¼V 0 0 1 0 0 1
-y ½V ¼V ¾V 0 0 0 1 1 0
+z ¼V ½V ¾V 0 1 0 0 1 0
-z ¾V ½V ¼V 1 0 0 0 0 1
473 Note that the Transmit Pre-Driver Control Logic table is shown only to illustrate the logic function of the
474 translation of wire state to driver control signals. The actual implementation may require carefully designed
475 routing and signal gating to precisely control the skew between the A, B and C wires of the lane.
6.1.3.2.2 Decoding
476 The symbol decoding function shall be performed as described in Table 6. Every transition in the state
477 diagram of Figure 2 is represented in Table 6. Note that there are no transitions to the same state (because
478 there is always a wire state transition at each symbol boundary) so the table shows “n/a” to indicate that these
479 transitions are not applicable. The symbol value shall be determined based on the transition from the previous
480 wire state (interval N-1) to the present wire state (interval N). For example: if the previous wire state is +y
481 which results in “010” at the output of the receivers (prev_Rx_AB=0, prev_Rx_BC=1, prev_Rx_CA=0) and
482 the present wire state is -z which results in “110” at the output of the receivers (Rx_AB=1, Rx_BC=1,
483 Rx_CA=0), then the symbol value is 011 which represents: no flip, a CW rotation and polarity change. This
484 symbol value of 011 is located in Table 6 where the “+y” column and the “-z state” row intersect. (“y” toward
485 “z” is CW rotation and “+” to “-“ is a polarity change.)
487 An example receiver circuit with symbol decoding is shown below in Figure 16.
A +
Rx_AB prev_Rx_AB Rx_Flip
D2 Q2 D2 Q2 prev_Rx_AB
Rx_BC prev_Rx_BC
- D1 Q1 D1 Q1 prev_Rx_BC Rx_Rotation
Rx_CA prev_Rx_CA
D0 Q0 D0 Q0 prev_Rx_CA
Rx_Polarity
B +
Receive
-
Symbol
Decoding
C +
Logic
3ph_Term_
Enable -
Rx_AB
Rx_BC
Rx_CA
Clock
symclk
Recovery
Circuit
Clock
Clk_in Gating Clk_out
Clean Clock
t3-SETTLE_expired Enable Cell
Window Gen.
488
Figure 16 Receiver and Symbol Decoder Example
[data15, data14, data13, data12, data11, data10, data9, data8, data7, data6, data5, data4, data3, data2, data1, data0]
Composition of 16-bit value, Tx_Data[15:0] or Rx_Data[15:0]
(1024) 6, 4 0xfc00 to 0xffff Flip[6:0]==0x50==[1,0,1,0,0,0,0] [1,1,1,1,1,1, ro5, po5, ro3, po3, ro2, po2, ro1, po1, ro0, po0]
(1024) 5, 4 0xf800 to 0xfbff Flip[6:0]==0x30==[0,1,1,0,0,0,0] [1,1,1,1,1,0, ro6, po6, ro3, po3, ro2, po2, ro1, po1, ro0, po0]
(1024) 6, 3 0xf400 to 0xf7ff Flip[6:0]==0x48==[1,0,0,1,0,0,0] [1,1,1,1,0,1, ro5, po5, ro4, po4, ro2, po2, ro1, po1, ro0, po0]
(1024) 5, 3 0xf000 to 0xf3ff Flip[6:0]==0x28==[0,1,0,1,0,0,0] [1,1,1,1,0,0, ro6, po6, ro4, po4, ro2, po2, ro1, po1, ro0, po0]
(1024) 4, 3 0xec00 to 0xefff Flip[6:0]==0x18==[0,0,1,1,0,0,0] [1,1,1,0,1,1, ro6, po6, ro5, po5, ro2, po2, ro1, po1, ro0, po0]
(1024) 6, 2 0xe800 to 0xebff Flip[6:0]==0x44==[1,0,0,0,1,0,0] [1,1,1,0,1,0, ro5, po5, ro4, po4, ro3, po3, ro1, po1, ro0, po0]
(1024) 5, 2 0xe400 to 0xe7ff Flip[6:0]==0x24==[0,1,0,0,1,0,0] [1,1,1,0,0,1, ro6, po6, ro4, po4, ro3, po3, ro1, po1, ro0, po0]
(1024) 4, 2 0xe000 to 0xe3ff Flip[6:0]==0x14==[0,0,1,0,1,0,0] [1,1,1,0,0,0, ro6, po6, ro5, po5, ro3, po3, ro1, po1, ro0, po0]
(1024) 3, 2 0xdc00 to 0xdfff Flip[6:0]==0x0c==[0,0,0,1,1,0,0] [1,1,0,1,1,1, ro6, po6, ro5, po5, ro4, po4, ro1, po1, ro0, po0]
(1024) 6, 1 0xd800 to 0xdbff Flip[6:0]==0x42==[1,0,0,0,0,1,0] [1,1,0,1,1,0, ro5, po5, ro4, po4, ro3, po3, ro2, po2, ro0, po0]
(1024) 5, 1 0xd400 to 0xd7ff Flip[6:0]==0x22==[0,1,0,0,0,1,0] [1,1,0,1,0,1, ro6, po6, ro4, po4, ro3, po3, ro2, po2, ro0, po0]
(1024) 4, 1 0xd000 to 0xd3ff Flip[6:0]==0x12==[0,0,1,0,0,1,0] [1,1,0,1,0,0, ro6, po6, ro5, po5, ro3, po3, ro2, po2, ro0, po0]
(1024) 3, 1 0xcc00 to 0xcfff Flip[6:0]==0x0a==[0,0,0,1,0,1,0] [1,1,0,0,1,1, ro6, po6, ro5, po5, ro4, po4, ro2, po2, ro0, po0]
(1024) 2, 1 0xc800 to 0xcbff Flip[6:0]==0x06==[0,0,0,0,1,1,0] [1,1,0,0,1,0, ro6, po6, ro5, po5, ro4, po4, ro3, po3, ro0, po0]
(1024) 6, 0 0xc400 to 0xc7ff Flip[6:0]==0x41==[1,0,0,0,0,0,1] [1,1,0,0,0,1, ro5, po5, ro4, po4, ro3, po3, ro2, po2, ro1, po1]
(1024) 5, 0 0xc000 to 0xc3ff Flip[6:0]==0x21==[0,1,0,0,0,0,1] [1,1,0,0,0,0, ro6, po6, ro4, po4, ro3, po3, ro2, po2, ro1, po1]
(1024) 4, 0 0xbc00 to 0xbfff Flip[6:0]==0x11==[0,0,1,0,0,0,1] [1,0,1,1,1,1, ro6, po6, ro5, po5, ro3, po3, ro2, po2, ro1, po1]
(1024) 3, 0 0xb800 to 0xbbff Flip[6:0]==0x09==[0,0,0,1,0,0,1] [1,0,1,1,1,0, ro6, po6, ro5, po5, ro4, po4, ro2, po2, ro1, po1]
(1024) 2, 0 0xb400 to 0xb7ff Flip[6:0]==0x05==[0,0,0,0,1,0,1] [1,0,1,1,0,1, ro6, po6, ro5, po5, ro4, po4, ro3, po3, ro1, po1]
(1024) 1, 0 0xb000 to 0xb3ff Flip[6:0]==0x03==[0,0,0,0,0,1,1] [1,0,1,1,0,0, ro6, po6, ro5, po5, ro4, po4, ro3, po3, ro2, po2]
0xafff
Flip[6:0]==0x40==[1,0,0,0,0,0,0]
(4096) 6 [1,0,1,0, ro5, po5, ro4, po4, ro3, po3, ro2, po2, ro1, po1, ro0, po0]
0xa000
0x9fff
Flip[6:0]==0x20==[0,1,0,0,0,0,0]
(4096) 5 [1,0,0,1, ro6, po6, ro4, po4, ro3, po3, ro2, po2, ro1, po1, ro0, po0]
0x9000
0x8fff
Flip[6:0]==0x10==[0,0,1,0,0,0,0]
(4096) 4 [1,0,0,0, ro6, po6, ro5, po5, ro3, po3, ro2, po2, ro1, po1, ro0, po0]
0x8000
0x7fff
Flip[6:0]==0x08==[0,0,0,1,0,0,0]
(4096) 3 [0,1,1,1, ro6, po6, ro5, po5, ro4, po4, ro2, po2, ro1, po1, ro0, po0]
0x7000
0x6fff
Flip[6:0]==0x04==[0,0,0,0,1,0,0]
(4096) 2 [0,1,1,0, ro6, po6, ro5, po5, ro4, po4, ro3, po3, ro1, po1, ro0, po0]
0x6000
0x5fff
Flip[6:0]==0x02==[0,0,0,0,0,1,0]
(4096) 1 [0,1,0,1, ro6, po6, ro5, po5, ro4, po4, ro3, po3, ro2, po2, ro0, po0]
0x5000
0x4fff
Flip[6:0]==0x01==[0,0,0,0,0,0,1]
(4096) 0 [0,1,0,0, ro6, po6, ro5, po5, ro4, po4, ro3, po3, ro2, po2, ro1, po1]
0x4000
0x3fff
Flip[6:0]==0x00==[0,0,0,0,0,0,0]
[0,0, ro6, po6, ro5, po5, ro4, po4, ro3, po3, ro2, po2, ro1, po1, ro0, po0]
511 Figure 17 specifies the mapping of 16-bit words to groups of seven symbols. The value of the 16-bit word is
512 shown on the left, ranging from 0x0000 at the bottom to 0xffff at the top. The vectors enclosed in square
513 brackets to the right show the correspondence of Rotation and Polarity values to specific bits in the 16-bit
514 word. The seven Flip bits of the seven symbols define one of 28 different regions within the 16-bit range.
515 One region contains 16,384 values, 7 regions contain 4,096 values each, and 20 regions contain 1,024 values
516 each. The use of these varying sized regions simplifies the mapping function.
Tx_Rotation[0]
Tx_Data[0] Tx_Polarity[0]
Tx_Data[1] Tx_Rotation[1]
Tx_Data[2] Tx_Polarity[1]
Tx_Data[3]
Tx_Rotation[2]
Tx_Data[4] Mux Encoder Tx_Polarity[2]
Tx_Data[5] converts
Tx_Data[6] Tx_Rotation[3]
12 of the data bits to
Tx_Data[7] Tx_Polarity[3]
7 Rotation and
Tx_Data[8] Polarity outputs Tx_Rotation[4]
Tx_Data[9] Tx_Polarity[4]
Tx_Data[10] Tx_Rotation[5]
Tx_Data[11] Tx_Polarity[5]
Tx_Data[12]
Tx_Rotation[6]
Tx_Data[13]
Tx_Polarity[6]
Tx_Flip[0]
Mux Control Tx_Flip[1]
Logic Function Tx_Flip[2]
& generates Tx_Flip[3]
Tx_Data[14] Same Rotation Tx_Flip[4]
Tx_Data[15] outputs Tx_Flip[5]
Tx_Flip[6]
521
Figure 18 Example, Mapping Circuit Converts 16-bit Word to Seven Symbols
mux0
sB
Tx_Data[0] in0[0] out[0] Tx_Polarity[0]
Tx_Data[1] in0[1] out[1] Tx_Rotation[0]
“0” in1[0]
“0” in1[1]
muxa1
muxb1
sB sA out[0] Tx_Polarity[1]
in0[0]
in0[1] out[1] Tx_Rotation[1]
Tx_Data[2] in1[0]
Tx_Data[3] in1[1]
“0” in2[0]
“0” in2[1]
muxa2
muxb2
sB sA
in0[0] out[0] Tx_Polarity[2]
in0[1] out[1] Tx_Rotation[2]
in1[0]
in1[1]
Tx_Data[4] in2[0]
Tx_Data[5] in2[1]
“0” in3[0]
“0” in3[1]
muxa3
muxb3
sB sA
in0[0] out[0] Tx_Polarity[3]
in0[1] out[1] Tx_Rotation[3]
in1[0]
in1[1]
Tx_Data[6] in2[0]
Tx_Data[7] in2[1]
“0” in3[0]
“0” in3[1]
muxa4
muxb4
sB sA
in0[0] out[0] Tx_Polarity[4]
in0[1] out[1] Tx_Rotation[4]
in1[0]
in1[1]
in2[0]
in2[1]
“0” in3[0]
“0” in3[1]
muxa5
muxb5
sB sA
in0[0] out[0] Tx_Polarity[5]
in0[1] out[1] Tx_Rotation[5]
Tx_Data[8] in1[0]
Tx_Data[9] in1[1]
Tx_Data[10] in2[0]
Tx_Data[11] in2[1]
Tx_Data[12] “0” in3[0]
Tx_Data[13] “0” in3[1]
muxa6
Tx Mux mux0 muxb6
muxa1
Control muxb1 in0[0]
sB sA
out[0] Tx_Polarity[6]
Logic muxa2 in0[1] out[1] Tx_Rotation[6]
muxb2 in1[0]
muxa3 in1[1]
Tx_Data[10] muxb3
Tx_Data[11] muxa4 in2[0]
Tx_Data[12] muxb4 in2[1]
Tx_Data[13] muxa5 “0” in3[0]
Tx_Data[14] Tx_Data[14] muxb5 “0” in3[1]
Tx_Data[15] Tx_Data[15] muxa6
muxb6
Tx_Flip[0] Tx_Flip[0]
Tx_Flip[1] Tx_Flip[1]
Tx_Flip[2] Tx_Flip[2]
Tx_Flip[3] Tx_Flip[3]
Tx_Flip[4] Tx_Flip[4]
Tx_Flip[5] Tx_Flip[5]
Tx_Flip[6] Tx_Flip[6]
522
Figure 19 Example, Detailed Logic Diagram of 16-bit word to 7-Symbol Mapping Circuit
523 Figure 19 shows the low-level circuit of the 16-to-7 Mapper example in the block diagram of Figure 18 that
524 performs the conversion of a 16-bit data word to be transmitted into seven consecutive symbols. The logic
525 function of the “Tx Mux Control Logic” in the Figure 19 example appears below in Table 7.
526 Table 7 Truth Table of the “Tx Mux Control Logic” in Figure 19
Flip[6:0]
Tx_Data
[15:10]
muxb6
muxb5
muxb4
muxb3
muxb2
muxb1
muxa6
muxa5
muxa4
muxa3
muxa2
muxa1
mux0
0x00 – 0x0f 1 0 1 0 1 0 1 0 1 0 0 1 0 0x00
0x10 – 0x13 0 1 0 1 0 1 0 1 0 1 0 0 1 0x01
0x14 – 0x17 0 1 0 1 0 1 0 1 0 1 1 0 0 0x02
0x18 – 0x1b 0 1 0 1 0 1 0 1 1 1 0 1 0 0x04
0x1c – 0x1f 0 1 0 1 0 1 1 1 1 0 0 1 0 0x08
0x20 – 0x23 0 1 0 1 1 1 1 0 1 0 0 1 0 0x10
0x24 – 0x27 0 1 1 1 1 0 1 0 1 0 0 1 0 0x20
0x28 – 0x2b 1 1 1 0 1 0 1 0 1 0 0 1 0 0x40
0x2c 0 0 0 0 0 0 0 0 0 0 1 0 1 0x03
0x2d 0 0 0 0 0 0 0 0 1 1 0 0 1 0x05
0x2e 0 0 0 0 0 0 1 1 0 1 0 0 1 0x09
0x2f 0 0 0 0 1 1 0 1 0 1 0 0 1 0x11
0x30 0 0 1 1 0 1 0 1 0 1 0 0 1 0x21
0x31 1 1 0 1 0 1 0 1 0 1 0 0 1 0x41
0x32 0 0 0 0 0 0 0 0 1 1 1 0 0 0x06
0x33 0 0 0 0 0 0 1 1 0 1 1 0 0 0x0a
0x34 0 0 0 0 1 1 0 1 0 1 1 0 0 0x12
0x35 0 0 1 1 0 1 0 1 0 1 1 0 0 0x22
0x36 1 1 0 1 0 1 0 1 0 1 1 0 0 0x42
0x37 0 0 0 0 0 0 1 1 1 1 0 1 0 0x0c
0x38 0 0 0 0 1 1 0 1 1 1 0 1 0 0x14
0x39 0 0 1 1 0 1 0 1 1 1 0 1 0 0x24
0x3a 1 1 0 1 0 1 0 1 1 1 0 1 0 0x44
0x3b 0 0 0 0 1 1 1 1 1 0 0 1 0 0x18
0x3c 0 0 1 1 0 1 1 1 1 0 0 1 0 0x28
0x3d 1 1 0 1 0 1 1 1 1 0 0 1 0 0x48
0x3e 0 0 1 1 1 1 1 0 1 0 0 1 0 0x30
0x3f 1 1 0 1 1 1 1 0 1 0 0 1 0 0x50
529 A high-level diagram of an example of a 7-to-16 De-Mapping circuit is shown in Figure 20, and a detailed
530 low-level implementation of the De-Mapper example is shown in Figure 21.
Rx_Rotation[0]
Rx_Polarity[0]
Rx_Rotation[1]
Rx_Polarity[1]
Rx_Rotation[2]
Rx_Polarity[2]
Mux Decoder converts
Rx_Rotation[3]
seven 2-bit inputs to Rx_Data[13:0]
Rx_Polarity[3]
one 14-bit output
Rx_Rotation[4]
Rx_Polarity[4]
Rx_Rotation[5]
Rx_Polarity[5]
Rx_Rotation[6]
Rx_Polarity[6]
Rx_Flip[0]
Rx_Flip[1]
Rx_Flip[2]
Mux Control
Rx_Flip[3] Rx_Data[15:14]
Logic function
Rx_Flip[4]
Rx_Flip[5]
Rx_Flip[6]
531
Figure 20 Example, De-Mapping Circuit Converts Seven Symbols to a 16-Bit Word
muxa0
muxb0
sB sA
Rx_Polarity[0] in0[0]
Rx_Rotation[0] in0[1]
sB sA
Rx_Polarity[1] in0[0]
Rx_Rotation[1] in0[1]
sB sA
Rx_Polarity[2] in0[0]
Rx_Rotation[2] in0[1]
sB sA
Rx_Polarity[3] in0[0]
Rx_Rotation[3] in0[1]
sB sA
Rx_Polarity[4] in0[0]
Rx_Rotation[4] in0[1]
sB sA
Rx Mux muxa0 in0[0]
muxb0 in0[1]
Control muxa1
Logic muxb1 in1[0] out[0] Rx_Data[10]
muxa2 in1[1] out[1] Rx_Data[11]
muxb2
Rx_Flip[0] Flip[0] muxa3 in2[0]
Rx_Flip[1] Flip[1] muxb3 in2[1]
Rx_Flip[2] Flip[2] muxa4
Rx_Flip[3] Flip[3] muxb4
Rx_Flip[4] Flip[4] muxa5 mux6
Rx_Flip[5] Flip[5] muxb5 S
Rx_Flip[6] Flip[6] mux6 in0[0]
in0[1]
table[10]
out[0] Rx_Data[12]
table[11] in1[0]
out[1] Rx_Data[13]
table[12] in1[1]
table[13]
table[14] Rx_Data[14]
table[15] Rx_Data[15]
532
Figure 21 Detailed Logic Diagram Example of a 7-Symbol to 16-bit Word De-Mapper
533 The logic function of the “Rx Mux Control Logic” in Figure 21 is shown below in Table 8.
534 Table 8 Truth Table of the “Rx Mux Control Logic” in Figure 21
Rx_Flip[6:0]
table[15:14]
table[13:12]
table[11:10]
muxb5
muxb4
muxb3
muxb2
muxb1
muxb0
muxa6
muxa5
muxa4
muxa3
muxa2
muxa1
muxa0
0x00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x x
0x01 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 x
0x02 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 x
0x04 1 0 1 0 1 0 1 0 1 0 0 0 0 1 2 x
0x08 1 0 1 0 1 0 1 0 0 0 0 0 0 1 3 x
0x10 1 0 1 0 1 0 0 0 0 0 0 0 0 2 0 x
0x20 1 0 1 0 0 0 0 0 0 0 0 0 0 2 1 x
0x40 1 0 0 0 0 0 0 0 0 0 0 0 0 2 2 x
0x03 1 1 0 1 0 1 0 1 0 1 0 1 0 2 3 0
0x05 1 1 0 1 0 1 0 1 0 1 0 0 1 2 3 1
0x09 1 1 0 1 0 1 0 1 0 0 1 0 1 2 3 2
0x11 1 1 0 1 0 1 0 0 1 0 1 0 1 2 3 3
0x21 1 1 0 1 0 0 1 0 1 0 1 0 1 3 0 0
0x41 1 1 0 0 1 0 1 0 1 0 1 0 1 3 0 1
0x06 1 1 0 1 0 1 0 1 0 1 0 0 0 3 0 2
0x0a 1 1 0 1 0 1 0 1 0 0 1 0 0 3 0 3
0x12 1 1 0 1 0 1 0 0 1 0 1 0 0 3 1 0
0x22 1 1 0 1 0 0 1 0 1 0 1 0 0 3 1 1
0x42 1 1 0 0 1 0 1 0 1 0 1 0 0 3 1 2
0x0c 1 1 0 1 0 1 0 1 0 0 0 0 0 3 1 3
0x14 1 1 0 1 0 1 0 0 1 0 0 0 0 3 2 0
0x24 1 1 0 1 0 0 1 0 1 0 0 0 0 3 2 1
0x44 1 1 0 0 1 0 1 0 1 0 0 0 0 3 2 2
0x18 1 1 0 1 0 1 0 0 0 0 0 0 0 3 2 3
0x28 1 1 0 1 0 0 1 0 0 0 0 0 0 3 3 0
0x48 1 1 0 0 1 0 1 0 0 0 0 0 0 3 3 1
0x30 1 1 0 1 0 0 0 0 0 0 0 0 0 3 3 2
0x50 1 1 0 0 1 0 0 0 0 0 0 0 0 3 3 3
548 The Stop state has a very exclusive and central function. If the line levels show a Stop state for the minimum
549 required time, the PHY state machine shall return to the Stop state regardless of the previous state. This can
550 be in RX or TX mode depending on the most recent operating direction. Table 9 lists all the states that can
551 appear on a lane during normal operation. Detailed specifications of electrical levels can be found in section
552 9.
553 All LP state periods shall be at least tLPX in duration. State transitions shall be smooth and exclude glitch
554 effects. A clock signal can be reconstructed by exclusive-ORing the A and C lines. Ideally, the reconstructed
555 clock duration is at least 2 tLPX, but may have a duty cycle other than 50% due to signal slope and trip levels
556 effects.
6.4.2 Start-of-Transmission
583 After a Transmit request, a lane leaves the Stop state and prepares for high-speed mode by means of a Start-
584 of-Transmission (SoT) procedure. Table 10 describes the sequence of events on TX and RX side.
6.4.3 End-of-Transmission
586 At the end of a Data Burst, a lane leaves high-speed Transmission mode and enters the Stop state by means
587 of an End-of-Transmission (EoT) procedure. Table 11 shows a possible sequence of events during the EoT
588 procedure. EoT processing may be performed by the protocol layer or by the C-PHY.
618 The end of Packet Data is identified by a unique sequence of “4” symbols in t3-POST. The receiver identifies
619 the end of Packet Data when it detects a sequence of seven consecutive “4” symbols. The Post field may
620 often consist of multiple groups of seven “4” symbols to provide a sufficient number of clocks to the upper
621 layer protocol to clear out any pipeline stages that may contain received data. The length of the Post field is
622 a programmable value set in the master, for example: the post length field of the register described in section
623 12.5.4.
624 At the end of t3-POST the high-speed drivers are disabled and the low-power drivers are enabled simultaneously,
625 and all three signals of the lane are driven high together to LP-111, the Stop state.
A/B/C t3-PREAMBLE
tLPX t3-PREPARE
t3-PREBEGIN t3-PROGSEQ t3-PREEND t3-SYNC
VIH(min)
VIL(max)
VTERM-EN(max) 3 3 3 3 3 3 S0 S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 3 3 3 3 3 3 3 3 4 4 4 4 4 3 4 4 4 4 4 4 4 4
tREOT
t3-TERM-EN Packet t3-POST tHS-EXIT
Preamble Sync Word
t3-SETTLE Data Post LP-111
LP-111 LP-001 LP-000 Preamble is composed of: 3,3,3,3,3,… Sync Word: Post is composed of
with mid-section consisting of a programmable sequence. 3,4,4,4,4,4,3 multiple of unused code
Reset initializes all to 3,3,3,3,3... (Least Significant word: 4,4,4,4,4,4,4
Symbol first)
A/B/C t3-PREAMBLE
tLPX t3-PREPARE
t3-PREBEGIN t3-PREEND t3-SYNC
VIH(min)
VIL(max)
VTERM-EN(max) 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 4 4 4 4 4 4 4 4
tREOT
t3-TERM-EN Packet t3-POST tHS-EXIT
Preamble Sync Word
t3-SETTLE Data Post LP-111
LP-111 LP-001 LP-000 Preamble is composed Sync Word: Post is composed of multiple
of: 3,3,3,3,3,… 3,4,4,4,4,4,3 of unused code word:
Prog. sequence in (Least Significant 4,4,4,4,4,4,4
626 mid-section is disabled. Symbol first)
TX-Stop RX-Stop
TX-HS-Request RX-HS-Request
TX-HS-Prepare RX-HS-Prepare
TX-HS-Run RX-HS-Run
Sub-state Machine Sub-state Machine
TX-HS-Preamble RX-HS-Settle
TX-HS-Prog-Seq RX-HS-Preamble
TX-HS-Pre-End
TX-HS-Sync-Word RX-HS-Sync-Search
TX-HS-Send-Data RX-HS-Receive-Data
TX-HS-Post RX-HS-Post
627
Figure 24 TX and RX State Machines for High-Speed Data Transmission
647 The C-PHY receiver detects the Sync Word directly at the output of the symbol decoder, prior to the symbol
648 de-mapping block. Any 16-bit word generated by the symbol de-mapping block in response to the Sync Word
649 shall be ignored and not passed to the receiver protocol layer.
650 Upon detecting the Sync Word, the C-PHY receiver resets 7-symbol word alignment to start with the first
651 symbol immediately following Sync Word detection (i.e. the first symbol immediately following the {3}
652 symbol). Word realignment points are shown in the Sync Word detection examples of Figure 25.
653 All C-PHY receivers shall support Sync Word detection and realignment. While this specification itself does
654 not require a C-PHY transmitter to support Sync Word insertion, it may instead be required by the protocol
655 layer specification used in conjunction with the transmitter.
s0 s1 s2 s3 s4 s5 s6
Transmitted Symbols 1 3 0 3 4 1 4 3 4 4 4 4 4 3 0 3 1
s0 s1 s2 s3 s4 s5 s6
Transmitted Symbols 4 3 1 2 0 1 1 3 4 4 4 4 4 3 0 2 4
665 The low-power clock timing for both sides of the link does not have to be the same, but may differ. However,
666 the ratio between the low-power state periods, tLPX, is constrained to ensure proper turnaround behavior. See
667 Table 18 for the ratio of tLPX(MASTER) to tLPX(SLAVE).
668 The turnaround procedure can be interrupted if the lane is not yet driven into TX-LP-Yield by means of
669 driving a Stop state. Driving the Stop state shall abort the turnaround procedure and return the lane to the
670 Stop state. The PHY shall ensure against interruption of the procedure after the end of TX-TA-Rqst, RX-TA-
671 Rqst, or TX-TA-GO. Once the PHY drives TX-LP-Yield, it shall not abort the turnaround procedure. The
672 protocol layer may take appropriate action if it determines an error has occurred because the turnaround
673 procedure did not complete within a certain time. See Section 7.3.5 for more details. Figure 27 shows the
674 turnaround state machine that is described in Table 15.
TX-Stop RX-Stop
TX-LP-Rqst RX-LP-Rqst
TX-LP-Yield RX-LP-Yield
TX-TA-Rqst RX-TA-Rqst
TX-TA-Go RX-TA-Wait
TX-TA-Get
RX-TA-Look
RX-TA-Ack TX-TA-Ack
RX-Stop TX-Stop
LP-111à100à000à001à000à001à000à100à000à...
0 1 1 0 0 0 1 0
LP CLK = EXOR(A, C)
695
Figure 28 Trigger-Reset Command in Escape Mode
696 Spaced-one-hot coding means that each mark state is interleaved with a space state. Each symbol consists
697 therefore of two parts: a one-hot phase (Mark-0 or Mark-1) and a space phase. The TX shall send Mark-0
698 followed by a space to transmit a ‘zero-bit’ and it shall send a Mark-1 followed by a space to transmit a ‘one-
699 bit’. A mark that is not followed by a space does not represent a bit. The last phase before exiting escape
700 mode with a Stop state shall be a Mark-1 state that is not part of the communicated bits, as it is not followed
701 by a space state. The Clock can be derived from the two line signals, A and C, by means of an exclusive-OR
702 function. The length of each individual LP state period shall be at least tLPX,MIN.
713 Note that Trigger signaling including Reset-Trigger is a generic messaging system. The Trigger commands
714 do not impact the behavior of the PHY itself. Therefore, Triggers can be used for any purpose by the protocol
715 layer.
Escape LPDT First Data Byte Pause: Second Data Byte Exit
Mode Entry Command 01110101 Asynchronous 11010000 Escape
no transition
LP CLK = EXOR(A, C)
725
Figure 29 Two Data Byte Low-Power Data Transmission Example
726 Using LPDT, a low-power (bit) clock signal (fMOMENTARY < 20MHz) provided to the transmit side is used to
727 transmit data. Data reception is self-timed by the bit encoding. Therefore, a variable clock rate can be allowed.
728 At the end of LPDT the lane shall return to the Stop state.
TX-Stop RX-Stop
TX-LP-Rqst RX-LP-Rqst
TX-LP-Yield RX-LP-Yield
TX-Esc-Rqst RX-Esc-Rqst
TX-Esc-Go RX-Esc-Go
TX-Esc-Cmd RX-Esc-Cmd
TX-Triggers
TX-Mark RX-Wait
TX-ULPS RX-ULPS
TX-LPDT RX-LPDT
747 Also note that while corresponding receiver tolerances are not defined for every transmitter-specific
748 parameter, receivers shall also support reception of all allowed conformant values for all transmitter specific
749 timing parameters in Table 18 for all HS UI values up to, and including, the maximum supported HS symbol
750 rate specified in the receiver’s datasheet.
6.11 Initialization
762 After power-up, the slave side PHY shall be initialized when the master PHY drives a Stop state (LP-111) for
763 a period longer than tINIT. The first Stop state longer than the specified tINIT is called the initialization period.
764 The master PHY itself shall be initialized by a system or protocol layer input signal (PPI). The master side
765 shall ensure that a Stop state longer than tINIT does not occur on the lines before the master is initialized. The
766 slave side shall ignore all line states during an interval of unspecified length prior to the initialization period.
767 In multi-lane configurations, all lanes shall be initialized simultaneously.
768 Note that tINIT is considered a protocol-dependent parameter, and thus the exact requirements for tINIT,MASTER
769 and tINIT,SLAVE (transmitter and receiver initialization Stop state lengths, respectively,) are defined by the
770 protocol layer specification and are outside the scope of this document. However, the C-PHY specification
771 does place a minimum bound on the lengths of tINIT,MASTER and tINIT,SLAVE, which each shall be no less than
772 100 μs. A protocol layer specification using the C-PHY specification may specify any values greater than this
773 limit, for example, tINIT,MASTER ≥ 1 ms and tINIT,SLAVE = 500 to 800 μs.
6.12 Calibration
775 There is no explicit calibration required by the C-PHY specification. Any detail regarding calibration is
776 outside the scope of this specification.
TX Trigger Escape
Init ULP Mode
Mode
Master LPDT
HS-Prpr
HS HS
HS-Rqst Stop LP-Rqst
LP-000
LP-00 LP
-01
LP-001 LP-111
LP-11 LP-100
SoT
SoT HST EoT Turnaround
LP-000à100à000à100
RX Trigger Escape
Escape
ULP Mode
Mode
Init
Init Wait
Slave
Slave LPDT
HS-Prpr
HS
- HS-Rqst
HS Stop
Stop LP-Rqst
LP
LP-000
LP-00 LP-001
LP-01 LP-111
LP-11 LP-100
LP-10
780
Figure 31 Lane Module State Diagram
6.14.4 Parameters Containing Only Time Values That Are Not Data Rate Dependent
806 The remaining parameters in Table 18 shall be complied with even when the high-speed clock is off. These
807 parameters include low-power and initialization state durations and LP signaling intervals. Though these
808 parameters are not HS data rate dependent, some implementations of D-PHY may need to adjust these values
809 when the data rate is changed.
7 Fault Detection
810 There are three different mechanisms to detect malfunctioning of the link. Bus contention and error detection
811 functions are contained within the C-PHY. These functions should detect many typical faults. However, some
812 faults cannot be detected within the C-PHY and require a protocol-level solution. Therefore, the third
813 detection mechanism is a set of application specific watchdog timers.
7.3.1 HS RX Timeout
866 In HS RX mode if no EoT is received within a certain period the protocol layer should time-out. The timeout
867 period can be protocol specific.
7.3.2 HS TX Timeout
868 The maximum transmission length in HS TX is bounded. The timeout period is protocol specific.
887
Figure 32 Point-to-point Interconnect
8.3 Definitions
906 The frequency ‘fh’ is the highest fundamental frequency for data transmission and is equal to 1/(2*UIINST,MIN).
907 Implementers should specify a value UIINST,MIN that represents the minimum instantaneous UI possible within
908 a high-speed data transfer for a given implementation.
909 The frequency ‘fhMAX’ is a device specification and indicates the maximum supported fh for a particular
910 device.
911 The frequency ‘fLP,MAX’ is the maximum toggle frequency for low-power mode.
912 RF interference frequencies are denoted by ‘fINT’, where fINT,MIN defines the lower bound for the band of
913 relevant RF interferers. The frequency fMAX is defined by
3 1
914 𝑓𝑓𝑀𝑀𝑀𝑀𝑀𝑀 = ∙
4 𝑈𝑈𝑈𝑈𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼,𝑀𝑀𝑀𝑀𝑀𝑀
Z0 = 50Ω
Vc1 + Vd1/2 RX/TX
Z0 = 50Ω Z0 = 50Ω
Vc1 + Vd1/2 TLIS Vc1 + Vd1/2
Vc1 - Vd1/2
Vc1 - Vd1/2
Measurement Measurement
Equipment Vc1 Equipment
Vc1
931
Figure 33 Set-up for S-parameter Characterization of RX, TX and TLIS
-2.25dB+/-0.25dB
-3.15dB+/-0.25dB
Sddij -5.25dB+/-0.25dB
[dB]
0 0.75G fh 2fh
0.75G fh 2fh
937 Sddij, dB -2.25 +/-0.25dB -3.15+/-0.25dB -5.25 +/-0.25dB
Figure 34 Template for Differential Insertion Losses
938 The differential reflection for both ports of the TLIS is specified by Sdd11 and Sdd22, and should be less
939 than -12dB from 0 to 2fh. Not meeting the differential reflection coefficients might impact interoperability
940 and operation.
log f
0 fLP,MAX fh fMAX
0
-3 dB
-5 dB
SddRX
-18 dB
[dB]
Frequency
0 fLP,MAX fh fMAX
966 SddRX, dB -18 -18 -5 -3
Figure 35 Differential Reflection Template for Lane Module Receivers
967 The differential reflection of a lane module in high-speed TX mode should conform to the limits specified
968 by the template shown in Figure 36.
log f
0 fLP,MAX fh fMAX
0
-3 dB
-5 dB
SddTX
-18 dB
[dB]
Frequency
fLP,MAX fh fMAX
969 SddTX, dB -18 -5 -3
Figure 36 Differential Reflection Template for Lane Module Transmitters
log f
9 Electrical Characteristics
979 A PHY may contain the following electrical functions: a high-speed Transmitter (HS-TX), a high-speed
980 Receiver (HS-RX), a low-power transmitter (LP-TX), a low-power receiver (LP-RX), and a low-power
981 contention detector (LP-CD). A PHY does not need to contain all electrical functions, only the functions that
982 are required for a particular PHY configuration. The required functions for each configuration are specified
983 in Section 5. All electrical functions included in any PHY shall meet the specifications in this section. Figure
984 38 shows the complete set of electrical functions required for a fully featured PHY transceiver.
LP-TX
A
B
TX C
HS-TX
HS-RX RT
RX
LP-RX
LP-CD
CD Line Side
985
Figure 38 Electrical Functions of a Fully Featured C-PHY Transceiver
986 The HS transmitter and HS receiver are used for the transmission of the HS data signals. The HS transmitter
987 and receiver utilize low-voltage C-PHY signaling for signal transmission. The HS receiver contains a
988 switchable star termination.
989 The LP transmitter and LP receiver serve as a low power signaling mechanism. The LP transmitter is a push-
990 pull driver and the LP receiver is an un-terminated, single-ended receiver.
991 The signal levels are different for high-speed mode compared to single-ended low-power mode. Figure 39
992 shows both the high-speed and low-power signal levels on the left and right sides, respectively. The high-
993 speed signaling levels are below the low-power low-level input threshold such that low-power receiver
994 always detects logic low level when high-speed signals are present.
995 All absolute voltage levels are relative to the ground voltage at the transmit side.
VOH,MAX
LP VOH
LP VIH VOH,MIN
VIH
LP Threshold
Region
VIL
VOHHS
Max VOD
HS VOUT VCPTX,MAX
HS VCP LP VIL
Range
Range
VCPTX,MIN
Min VOD VGNDSH,MAX
VOLHS
LP VOL GND
996 VGNDSH,MIN
Figure 39 C-PHY Signaling Levels
997 A lane switches between low-power and high-speed mode during normal operation. Bidirectional lanes can
998 also switch communication direction. The change of operating mode or direction requires enabling and
999 disabling of certain electrical functions. These enable and disable events shall not cause glitches on the lines
1000 that would result in a detection of an incorrect signal level. Therefore, all mode and direction changes shall
1001 be smooth to always ensure a proper detection of the line signals.
1008
Figure 40 Example High-Speed Transmitter
1009 The single-ended output voltages are defined VA, VB and VC at the A, B and C pins, respectively. The
1010 differential output voltages VOD_AB, VOD_BC and VOD_CA are defined as the difference of the voltages: VA
1011 minus VB, VB minus VC, and VC minus VA, respectively.
1012 𝑉𝑉𝑂𝑂𝑂𝑂_𝐴𝐴𝐴𝐴 = 𝑉𝑉𝐴𝐴 − 𝑉𝑉𝐵𝐵 ; 𝑉𝑉𝑂𝑂𝑂𝑂_𝐵𝐵𝐵𝐵 = 𝑉𝑉𝐵𝐵 − 𝑉𝑉𝐶𝐶 ; 𝑉𝑉𝑂𝑂𝑂𝑂_𝐶𝐶𝐶𝐶 = 𝑉𝑉𝐶𝐶 − 𝑉𝑉𝐴𝐴 ;
1013 The output voltages VA, VB and VC at the A, B and C pins shall not exceed the high-speed output high voltage
1014 VOHHS. VOLHS is the high-speed output, low voltage on A, B and C, and is determined by VOD_AB, VOD_BC,
1015 VOD_CA and VCPTX. The high-speed VOUT is bounded by the minimum value of VOLHS and the maximum value
1016 of VOHHS.
1017 The common-point voltage VCPTX is defined as the arithmetic mean value of the voltages at the A, B and C
1018 pins:
1020 VOD_AB, VOD_BC and VOD_CA and VCPTX are shown graphically in Figure 41 for ideal high-speed signals. Figure
1021 42 shows single-ended high-speed signals with the possible kinds of distortion of the differential output and
1022 common-point voltages. The strong one and zero levels of VOD_AB, VOD_BC and VOD_CA, and VCPTX may be
1023 slightly different for driving any of the six possible wire states on the lane. The strong one and strong zero
1024 states for a given wire pair occur only in certain states, and it is the strong levels that are considered to
1025 determine ∆VOD. Table 21 shows which high-speed states produce the strong levels for each wire pair.
1026 Table 21 Strong Zero and Strong One State for Each Wire Pair
Wire Pair Strong Zero Strong One State Weak Zero Weak One States
State States
AB HS_-X HS_+X HS_+Y, HS_+Z HS_-Y, HS_-Z
BC HS_-Y HS_+Y HS_+X, HS_+Z HS_-X, HS_-Z
CA HS_-Z HS_+Z HS_+X, HS_+Y HS_-X, HS_-Y
1027 The output differential voltage mismatch, ∆VOD, is defined as the difference of the maximum and minimum
1028 of: the absolute values of the differential strong one and strong zero output voltages of the three possible wire
1029 pairs. This is expressed by the following equations that consider the VOD for a particular wire pair in a specific
1030 state as described in Table 21:
1034 If VCPTX(HS_+X), VCPTX(HS_-X), VCPTX(HS_+Y), VCPTX(HS_-Y), VCPTX(HS_+Z), and VCPTX(HS_-Z) are the common-point
1035 voltages for static HS_+X, HS_-X, HS_+Y, HS_-Y, HS_+Z and HS_-Z states, respectively, then the common-
1036 point reference voltage is defined as:
1037 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉,𝑅𝑅𝑅𝑅𝑅𝑅 =
1041 The static common-point voltage mismatch between the six high-speed states is defined as:
𝑉𝑉𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 − 𝑉𝑉𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀
1044 ∆𝑉𝑉𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝐻𝐻𝐻𝐻) =
2
1045 The transmitter shall send data such that the high frequency and low frequency common-point voltage
1046 variations do not exceed ΔVCPTX(HF) and ΔVCPTX(LF), respectively. An example test circuit for the measurement
1047 of VOD and VCPTX is shown in Figure 43.
+x -y -z +z +y -x
V
VOHHS A
V
VCPTX C
VB
VOLHS
Strong 1
VA - V B Weak 1
zero
VB - V C crossing
VC - V A Weak 0
Strong 0
1048
Figure 41 Ideal Single-ended and Resulting Differential High Speed Signals
∆VOD/2
VOHHS
VA
V
VCPTX C
V
VB
OLHS
1049
Figure 42 Possible VCPTX and ΔVOD Distortions of the Single-ended HS Signals
A RL
TX
VOD
_AB
B RL
VOD
_BC
C RL
1050
Figure 43 Example Circuit for VOD and VCPTX Measurements
1051 The single-ended output impedance of the transmitter at the A, B and C pins is denoted by ZOS. ΔZOS is the
1052 mismatch of the single ended output impedances at the A, B and C pins, denoted by ZOS_A, ZOS_B and ZOS_C,
1053 respectively. This mismatch is defined as the ratio of the difference between the largest and smallest value of
1054 ZOS_A, ZOS_B and ZOS_C and the average of those impedances:
1056 The output impedance ZOS and the output impedance mismatch ΔZOS shall be compliant with Table 22 for all
1057 six possible high-speed wire states and for all allowed loading conditions. It is recommended that
1058 implementations keep the output impedance during state transitions as close as possible to the steady state
1059 value. The output impedance ZOS can be determined by injecting an AC current into the A, B and C pins and
1060 measuring the peak-to-peak voltage amplitude.
1061 The driver shall meet the tR and tF specifications as specified in Table 23. The specifications for TX common-
1062 mode return loss and the TX differential mode return loss can be found in Section 8.
1063 It is recommended that a high-speed transmitter that is directly terminated at its pins should not generate any
1064 overshoot in order to minimize EMI.
1.2V
Pre-driver
1071
Figure 44 Example LP Transmitter
1072 VOL is the Thevenin output, low-level voltage in the LP transmit mode. This is the voltage at an unloaded pad
1073 pin in the low-level state. VOH is the Thevenin output, high-level voltage in the high-level state, when the pad
1074 pin is not loaded. The LP transmitter shall not drive the pad pin potential statically beyond the maximum
1075 value of VOH. The pull-up and pull-down output impedances of LP transmitters shall be as described in Figure
1076 45 and Figure 46, respectively. The circuit for measuring VOL and VOH is shown in Figure 47.
I
VDD
110 ohm
~110 ohm
VDD – V2
110 ohm
V2 = 850mV V
1077
Figure 45 V-I Characteristic for LP Transmitter Driving Logic High
350mV V
-3.2mA
~110 ohm
-11.8mA
-I
1078
Figure 46 V-I Characteristic for LP Transmitter Driving Logic Low
force input
“0” or “1” I
sweep
= V = output
voltage
1079
Figure 47 LP Transmitter V-I Characteristic Measurement Setup
𝑉𝑉𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 − 𝑉𝑉𝑃𝑃𝑃𝑃𝑃𝑃
1081 𝑍𝑍𝑂𝑂𝑂𝑂𝑂𝑂 = � �
𝐼𝐼𝑂𝑂𝑂𝑂𝑂𝑂
1082 The times tRLP and tFLP are the 15%-85% rise and fall times, respectively, of the output signal voltage, when
1083 the LP transmitter is driving a capacitive load CLOAD. The 15%-85% levels are relative to the fully settled
1084 VOH and VOL voltages. The slew rate δV/δtSR is the derivative of the LP transmitter output signal voltage over
1085 time. The LP transmitter output signal transitions shall meet the maximum and minimum slew rate
1086 specifications as shown in Table 25, Figure 48 and Figure 49. The intention of specifying a maximum slew
1087 rate value is to limit EMI.
500
CLOAD, pF
0 5 20 70
400
δV/δtSR,MIN, mV/ns
δV/δtSR, mV/ns
25 25 25 25
δV/δtSR,MAX, mV/ns 500 300 250 150
300
200
0
0 10 20 30 40 50 60 70
1096
CLOAD, pF
Figure 48 Slew Rate vs. CLOAD (Falling Edge)
CLOAD, pF
500
0 5 20 70
δV/δtSR,MIN, mV/ns
(400 mV to 550 mV)
25 25 25 25
400 δV/δtSR,MIN, mV/ns
δV/δtSR, mV/ns
200
0
0 10 20 30 40 50 60 70
1097 CLOAD, pF
Figure 49 Slew Rate vs. CLOAD (Rising Edge)
Rx Common Point
A +
Rx_AB
ZID/2
-
B +
Rx_BC
ZID/2
-
C +
Rx_CA
ZID/2
-
Termination
Enable CCP
1101
Figure 50 HS Receiver Implementation Example
1102 The differential input high and low threshold voltages of the high-speed receiver are denoted by VIDTH and
1103 VIDTL, respectively. VILHS and VIHHS are the single-ended, input low and input high voltages, respectively.
1104 VCPRX(DC) is the differential input common-point voltage. The high-speed receiver shall be able to detect
1105 differential signals at its A, B and C input signal pins when all three signal voltages, VA, VB and VC, are
1106 within the common-point voltage range and if the voltage differences between VA, VB and VC exceed either
1107 VIDTH or VIDTL. The high-speed receiver shall receive high-speed data correctly while rejecting common-
1108 point interference ΔVCPRX(HF) and ΔVCPRX(LF).
1109 During operation of the high-speed receiver, the three termination impedances ZID/2 are required between the
1110 A, B and C pins of the high-speed receiver. The three ZID/2 terminations shall be disabled when the module
1111 is not in the high-speed receive mode. When transitioning from low-power mode to high-speed receive mode
1112 the termination impedances shall not be enabled until the single-ended input voltages on all of A, B and C
1113 fall below VTERM-EN. To meet this requirement, a receiver does not need to sense the A, B and C lines to
1114 determine when to enable the line termination, rather the LP to HS transition timing can allow the line
1115 voltages to fall to the appropriate level before the line termination is enabled.
1116 The differential input impedances of the receiver for A-B, B-C and C-A pairs are denoted by ZID_AB, ZID_BC,
1117 and ZID_CA, respectively. ΔZID is the mismatch of the differential input impedances. This mismatch is defined
1118 as the ratio of the difference between the largest and smallest value of ZID_AB, ZID_BC and ZID_CA, and the
1119 average of those impedances:
1121 The differential input impedances ZID and the differential input impedance mismatch ΔZID shall be compliant
1122 with Table 26 for all six possible high-speed wire states and for all allowed loading conditions. It is
1123 recommended that implementations keep the input impedance during state transitions as close as possible to
1124 the steady state value.
1125 The RX common-mode return loss and the RX differential mode return loss are specified in Chapter 8. CCP
1126 is the common-mode AC termination, which ensures a proper termination of the receiver at higher
1127 frequencies. For higher data rates, CCP is needed at the termination center tap in order to meet the common-
1128 mode reflection requirements.
1129 The differential input voltage signal VDIF_RX(t) is defined as the voltage difference of the receiver inputs for
1130 the A-B, B-C and C-A pairs, defined as:
1131 VDIF_RX_AB(t) = VA(t) - VB(t); VDIF_RX_BC(t) = VB(t) - VC(t); VDIF_RX_CA(t) = VC(t) - VA(t);
2*tLPX 2*tLPX
eSPIKE
VIH
Input
VIL
eSPIKE
tMIN-RX tMIN-RX
Output
1151
Figure 51 Input Glitch Rejection of Low-Power Receivers
2. An impulse less than this will not change the receiver state.
3. In addition to the required glitch rejection, implementers shall ensure rejection of known RF-
interferers.
4. An input pulse greater than this shall toggle the output.
VOH,MAX VOH,MAX
LP-TX
Output High LP-RX
VOH,MIN
Input High
VIH,MIN VIH,MIN
LP-CD
Input High LP-RX
Threshold
Region
VIL,MAX VIL,MAX
VIHHS
VIHCD,MIN
LP-CD HS-RX
LP-RX VCPRXDC,MAX
Threshold HS-RX Common
Region Input Low
Input Mode
VILCD,MAX
LP-CD Range Input
Range VCPRXDC,MIN
VOL,MAX Input Low
LP-TX
GND GND
Output Low VILHS
VOL,MIN
1173 interoperability of any PHY in the LP mode by restricting the maximum load current of an LP transmitter.
1174 An example test circuit for leakage current measurement is shown in Figure 53.
1175 The ground supply voltages shifts between a master and a slave shall be less than VGNDSH.
A
Disable
B
LP_Rx_A C-PHY
LP_Rx_B C
LP_Rx_C
VA VB VC
1176
Figure 53 Pin Leakage Measurement Example Circuit
Symbols Received
Decoder Symbols
Encoder Interconnect
Reference & Clock
Recovered
Clock Recovery
Clock
Driver
Receiver
Master IC Slave IC
+x +z +y +z -z +x -z
VA ¾V
VB ½V
VC ¼V
UIINST UIINST UIINST UIINST UIINST
Strong 1
VA - VB Weak 1
zero
VB - V C crossing
VC - V A Weak 0
Strong 0
1193
Figure 55 Example of Wire State Transitions at Symbol (UI) Boundaries
1194 Slave circuitry that recovers clock and samples data should respond immediately to transitions in the received
1195 data stream. Therefore, implementations may use frequency spreading modulation on the clock to reduce
1196 EMI.
Strong 1
¾V A +V/2
+x to -x
+
A ½¼ VV −
Rx_AB
+V/4
AB
BC, CA Weak 1
1→0
¾V B + VRx_AB from +V/2 to -V/2, ∆ = -V Triple
B ½¼ VV −
Rx_BC 0
VRx_BC from -V/4 to +V/4, ∆ = +½V Transition
0→1 Weak 0
¾V -V/4
C + TRIGGER VRx_CA from -V/4 to +V/4, ∆ = +½V
C ½¼ VV −
Rx_CA -V/2 Strong 0
+x -x 0→1 t∆J
Strong 1
¾V A +V/2
+x to +y
+ AB BC
A ½¼ VV −
Rx_AB
+V/4 Weak 1
1→0
¾V B + VRx_AB from +V/2 to -V/4, ∆ = -¾V Double
B ½¼ VV −
Rx_BC 0
VRx_BC from -V/4 to +V/2, ∆ = +¾V Transition
0→1 CA Weak 0
¾V -V/4
C + TRIGGER VRx_CA from -V/4 to -V/4, ∆ = 0
C ½¼ VV −
Rx_CA -V/2 Strong 0
+x +y 0→0 t∆J
Strong 1
¾V A +V/2
+x to -y
+ AB
A ½¼ VV −
Rx_AB
+V/4 Weak 1
1→1
¾V CA VRx_AB from +V/2 to +V/4, ∆ = -¼V Single
B +
B ½¼ VV −
Rx_BC 0
TRIGGER VRx_BC from -V/4 to -V/2, ∆ = -¼V Transition
0→0 Weak 0
¾V -V/4
C + BC VRx_CA from -V/4 to +V/4, ∆ = +½V
C ½¼ VV −
Rx_CA -V/2 Strong 0
+x -y 0→1 Zero jitter! Only one zero crossing.
Strong 1
¾V A +V/2
+x to +z
+ AB CA
A ½¼ VV −
Rx_AB
+V/4 Weak 1
1→0
¾V B + VRx_AB from +V/2 to -V/4, ∆ = -¾V Double
B ½¼ VV −
Rx_BC 0
VRx_BC from -V/4 to -V/4, ∆ = 0 Transition
0→0 BC Weak 0
¾V -V/4
C + TRIGGER VRx_CA from -V/4 to +V/2, ∆ = +¾V
C ½¼ VV −
Rx_CA -V/2 Strong 0
+x +z 0→1 t∆J
Strong 1
¾V A +V/2
+x to -z
+ AB
A ½¼ VV −
Rx_AB
+V/4 Weak 1
1→1 BC
¾V B + VRx_AB from +V/2 to +V/4, ∆ = -¼V Single
B ½¼ VV −
Rx_BC 0
TRIGGER VRx_BC from -V/4 to +V/4, ∆ = +½V Transition
0→1 Weak 0
¾V -V/4
C + CA VRx_CA from -V/4 to -V/2, ∆ = -¼V
C ½¼ VV −
Rx_CA -V/2 Strong 0
0→0 Zero jitter! Only one zero crossing.
1214 +x -z
1215 The eye pattern shown in Figure 57 has four received signal levels that are the result of three transmitted
1216 single-ended levels (¼ V, ½ V, ¾ V) of the driver circuit in the C-PHY master. Combinations of the three
1217 single-ended levels from the drivers on the three signals of a lane cause a strong and weak 1 and 0 to appear
1218 across the three differential receiver inputs in the C-PHY slave (3 ways to receive 2 signals at a time out of a
1219 total of 3 signals). Only the center of the eye between the weak 0 and weak 1 are considered by the receivers
1220 in the C-PHY slave. The eye pattern shall be drawn by overlapping the three waveforms of all three pairs of
1221 signals, which are: A minus B, B minus C, and C minus A. The eye pattern is drawn in this manner because
1222 all three pairs of signals are used simultaneously when the clock is recovered and data is captured at the C-
1223 PHY slave.
“strong 1”
“weak 1”
Eye
Zero Crossing Opening
“weak 0”
“strong 0”
tphase_offset
1224 Trigger, every n*UI - tphase_offset
Figure 57 Eye Pattern Example, “Conventional” Trigger
1225 As mentioned previously in section 10.1, the slave recovers the clock for data sampling by using the
1226 guaranteed transitions at each UI boundary. Since the receiver can make use of this characteristic, it is
1227 important to know the events at the inputs of the differential receivers leading up to the transitions that occur
1228 at the UI boundary. Events leading up to the first transition are obscured when the eye is viewed in the
1229 conventional manner as shown in Figure 57. The C-PHY eye pattern in Figure 58 is a triggered eye, meaning
1230 that the right side of the eye is aligned at a trigger point. The trigger is the first zero crossing of any of the
1231 three differential waveforms (A minus B, B minus C, and C minus A) that occur at each UI boundary. This
1232 trigger point is also shown in the individual waveforms shown in Figure 56 for each of the of the transition
1233 types. For UI boundaries that have more than one transition of the differential waveforms, the subsequent
1234 transitions in the triggered eye are drawn at their proper position relative to the first transition. (For example:
1235 compare the relative position of the solid orange transition with the dashed orange transition in Figure 58,
1236 and note how these two transitions are consistent with the same orange transitions in Figure 56.) All of the
1237 first zero crossings at each UI boundary are aligned at the trigger point. Similarly, the transitions that occurred
1238 during the prior UI boundary are drawn at their proper position relative to the trigger point. The eye mask of
1239 the triggered eye diagram represents the worst case that will be observed at a C-PHY receiver that responds
1240 to the first zero crossing.
“strong 1”
“weak 1”
Zero Crossing Eye Mask
“weak 0”
“strong 0”
1242 The right-most point of the eye mask is aligned with the first zero crossing trigger point so it is consistent
1243 with sampling the received data just prior to the trigger point.
1244 As mentioned above, the first zero crossing at each UI boundary (the trigger point) is associated with the
1245 sampling of the wire state transmitted prior to that UI boundary. Figure 56 shows that this first transition is
1246 caused by the following types of wire state transitions: weak-to-weak, weak-to-strong, and possibly a strong-
1247 to-strong (in the triple transition case, +x to -x in Figure 56). The difference of the first transition arrival time
1248 at one UI boundary relative to the first transition at the previous UI boundary affects the time period between
1249 sampling of two successive wire states (receiver outputs). The peak-to-peak deviation of this zero-crossing
1250 time (the trigger point) is illustrated by the two pink dashed lines that span across all five waveforms in Figure
1251 56. Sampling clock jitter is also affected by cycle-to-cycle transmit clock jitter, receiver input offset voltage,
1252 and receiver duty-cycle distortion. The jitter caused by the relative difference in zero-crossing time due to
1253 the signal slew rate for each transition type is what is illustrated by the pink dashed lines in Figure 56.
|VDIF_RX|
Maximum
|VIDTH,MAX|
0V 0V
|VIDTL,MIN|
Shaded areas |VDIF_RX|
are keep-out Maximum
regions
tEYE_RAMP tEYE_RAMP
tEYE_WIDTH
tUI_AVERAGE
1261 The timing specifications are based on allocations of the total unit interval as described in Table 33.
1262 Table 33 Transmit Timing Requirements, TLIS and Receive are Informative
Symbol Rate TX tR & tF Transmit CPAD_TX TLIS Receive CPAD_RX
> 1.5Gsps 0.285 UI 0.3 UI ≤ 2pF 0.3 UI 0.4 UI ≤ 2pF
≤ 1.5Gsps 0.4 UI 0.3 UI ≤ 5pF 0.3 UI 0.4 UI ≤ 2pF
11 Regulatory Requirements
1271 All C-PHY based devices should be designed to meet the applicable regulatory requirements.
12.1 Introduction
1272 Standardized built-in test circuitry in the C-PHY lane function simplifies production testing, verification,
1273 interoperability testing and even self-test of the mobile device that uses the C-PHY. Compatibility of the
1274 built-in test circuitry benefits both test equipment and device makers. The test circuit specification defines
1275 precise characteristics and behavior of the built-in test circuits, and also includes a register definition for
1276 control of the PHY circuit operating and test modes and for observability of important PHY circuit operating
1277 conditions.
1278 It is recommended to include the built-in test circuitry and associated control and status registers per the
1279 method described in section 12.
1312 9. There is a set of Tx Global Configuration and Status Registers that applies globally to all C-PHY
1313 Tx lanes in a device (lanes that have C-PHY master capability) or to a defined group of Tx C-PHY
1314 lanes in a device.
1315 10. There is a set of Rx Global Configuration and Status Registers that applies globally to all Rx lanes
1316 in a device (lanes that have C-PHY slave capability) or to a defined group of Rx C-PHY lanes in a
1317 device.
1318 11. The individual registers within the block of Global Configuration and Status Registers are defined
1319 to exist in a contiguous block of addresses beginning from the Tx Global Registers Base Address
1320 (Tx_Global_Registers_Base) or Rx Global Registers Base Address (Rx_Global_Registers_Base).
1321 The offset of each Global Configuration and Status Register relative to the Tx Global Registers
1322 Base Address or Rx Global Registers Base Address is defined for each register definition.
1323 12. The exact physical addresses of the Tx Global Registers Base Address and Rx Global Registers
1324 Base Address are flexible. They are defined by the device manufacturer.
1325 13. There can be gaps in the address space between the highest register address within the Tx Global
1326 Configuration and Status Registers or Rx Global Configuration and Status Registers and any Tx
1327 Lane Base Address or Rx Lane Base Address depending on the assignment of physical addresses
1328 to base addresses. Device manufacturers may choose to have gaps between register groups to be
1329 able to fit groups of registers within available addresses in the register address space.
1330 A pictorial example of this method is illustrated in Figure 60. This method of register definition enables
1331 compatibility between test equipment or test fixtures and devices under test, where only the device-specific
1332 base addresses need to be programmed into the testers. Compatibility is ensured by consistent use of the
1333 register addressing definition and functional behavior of every bit in the register space defined in this chapter.
1341 be accessed in a number of ways. One method is via a form of CCI, but a special test mode can be enabled
1342 where the CCI master in the applications processor is disabled and a CCI slave or even an I2C slave is enabled
1343 instead. This CCI slave or I2C slave function is connected to the same SDA and SCL pins as the CCI master,
1344 but the slave is only enabled for test mode. The applications processor code will never simultaneously enable
1345 both the CCI master and CCI or I2C slave. For normal system operation the CCI master is enabled and the
1346 CCI or I2C slave is disabled. For test mode the CCI or I2C slave is enabled and the CCI master is disabled.
1347 The recommended locations of CCI master and CCI or I2C slave in each mode, are shown in Figure 61. Other
1348 command delivery options such as command bridging through an external device are shown as well.
DUT DUT
Image Sensor
(Apps Processor) (Image Sensor)
CCI Slave Tx CCI/I2C Slave Rx CCI Slave Tx
CCI/I2C
C-PHY
C-PHY
C-PHY
CCI
CCI
CCI Master Rx CCI Master Tx CCI Master Rx
Apps Processor Test Equipment Test Equipment
CCI/I2C
JTAG
C-PHY
C-PHY
C-PHY
1350 The Rx Global and Lane Configuration and Status Registers can be accessed in a similar manner via the CCI
1351 slave (for test mode) in the applications processor. It is also possible for the Rx Global and Lane
1352 Configuration and Status Registers to be mapped into the CPU memory space instead of using a special CCI
1353 slave for test mode. The specific method of register access in the applications processor is an implementation
1354 choice. However, implementation of the specific function and address mapping of these registers defined in
1355 this chapter is recommended.
Tx Rx
Tx Higher Layer Tx Lane 1 Rx Lane 1 Rx Higher Layer
16-bit C-PHY A1 A1 C-PHY
Protocol 16-bit Protocol
mux Tx Lane B1 B1 Rx Lane
Function PRBS Function
Function C1 C1 Function
Generator
PRBS Data
Verification
Tx Lane 3 Rx Lane 3
16-bit C-PHY A3 A3 C-PHY
16-bit
mux Tx Lane B3 B3 Rx Lane
PRBS
Function C3 C3 Function
Generator
PRBS Data
Verification
Tx Global
Configuration & Status Registers Rx Global Configuration & Status Registers
1372
Figure 62 High-Level Tx and Rx, Global and Lane Functions
Tx_Data[15:0]
16-bit to
16-bit 21-bit
mux 7-symbol
PRBS
Mapper
Parallel-to-Serial
Generator
Symbol
TLRn_PRBS_Enable
21-bit 3-bit Encoder, A
TLRn_PRBS_Pattern
TLRn_PRBS_Seed
Fixed Preamble, Preamble mux B
Programmable Sequence, Sync 3-Phase
C
Words, Post pattern generator Driver
Debug Pattern
Generator
Tx Lane TLRn_Debug_Pattern
Config.
Config. State
Bus
Registers Machine
TGR_Test_Enable
12.3.1 TLRn_Lane_Configuration
write-only, Address: Tx_Lane_n_Base + 0
1379 The Tx Lane n Lane Configuration register is used to configure parameters that are specific to the function
1380 of the lane.
[7:0] – reserved for future use.
12.3.2 TLRn_Test_Patterns_Select
write-only, Address: Tx_Lane_n_Base + 1
1381 The Tx Lane n Test Patterns Select register provides the means to choose a specific test pattern to be output
1382 by a transmit lane function.
[7:5] – TLRn_PRBS_Pattern =0 – select 16-bit Tx_Data[15:0] from Lane Distribution
Function (normal operation)
=1 to 3 – reserved for future use
=4 – select PRBS9
=5 – select PRBS11
=6 – select PRBS18
=7 – reserved for future use
1383 Since the mux to select the TLRn_Debug_Pattern is “downstream” from the mux that selects the PRBS
1384 pattern, the TLRn_Debug_Pattern selection takes precedence over the TLRn_PRBS_Pattern setting. When
1385 the TLRn_Debug_Pattern selection is equal to 1 then the debug pattern is defined by the Tx Global Registers:
1386 TGR_Preamble_Prog_Sequence_0,1 [Tx_Global_Registers_Base_Address + 3] through
1387 TGR_Preamble_Prog_Sequence_12,13 [Tx_Global_Registers_Base_Address + 9]. These are the same
1388 registers that define the programmable sequence portion of the preamble. The 14-symbol debug pattern is
1389 repeated in the transmitted high speed data following the sync word as shown in Figure 64.
... 3 3 3 3 3 4 4 4 4 4 3 S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S ...
0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2
1390
Figure 64 Repeating 14-Symbol Debug Pattern in High Speed Data
1391 If the TLRn_Debug_Pattern field is equal to 1 then the debug pattern is a sequence of 14 symbols defined by
1392 the same Tx Global Registers that define the Programmable Sequence of the Preamble. The symbols are
1393 defined using the same 3-bit Flip Rotation Polarity format that is described in Table 4.
1394 If the TLRn_Debug_Pattern field is equal to 2 then the debug pattern is a sequence of 14 wire states defined
1395 by the same Tx Global Registers that define the Programmable Sequence of the Preamble. The wire states
1396 are defined using the 3-bit format described in the table below. When TLRn_Debug_Pattern is set to 2 then
1397 the programmable sequence values are defined as wire states rather than symbol values. The bit numbers in
1398 the column headings of the table correspond to bit numbers in the Transmit Global Registers
1399 TGR_Preamble_Prog_Sequence_0,1 through TGR_Preamble_Prog_Sequence_12,13.
TGR_Preamble_ TGR_Preamble_ TGR_Preamble_
Prog_Sequence…[5] Prog_Sequence…[4] Prog_Sequence…[3]
TGR_Preamble_ TGR_Preamble_ TGR_Preamble_
Wire State
Prog_Sequence…[2] Prog_Sequence…[1] Prog_Sequence…[0]
+x 1 0 0
-x 0 1 1
+y 0 1 0
-y 1 0 1
+z 0 0 1
-z 1 1 0
1400 Note that the first wire state of the programmable sequence transmitted following the last bit of the Sync
1401 Word might happen to be the same wire state transmitted during the last unit interval of the Sync Word. If
1402 this happens then there will be no wire state transition at that unit interval boundary to generate a symbol
1403 clock pulse in a receiver. This is acceptable behavior because the purpose of the programmable wire state
1404 debug pattern is to evaluate electrical and timing characteristics of the driver.
12.3.3 TLRn_PRBS_Seed_0
write-only, Address: Tx_Lane_n_Base + 2
1405 The Tx Lane n PRBS Seed 0 register is an 8-bit value used to initialize the least significant 8 bits of the 18-
1406 bit Seed for the Tx Lane PRBS register. Figure 65 shows the method to initialize the Transmit Lane PRBS
1407 register using the fragments of the Seed value.
[7:0] – seed value for Transmit PRBS TLRn_PRBS_Seed_0[7] → Q[8]; through
register Q[8:1] TLRn_PRBS_Seed_0[0] → Q[1];
12.3.4 TLRn_PRBS_Seed_1
write-only, Address: Tx_Lane_n_Base + 3
1408 The Tx Lane n PRBS Seed 1 register is an 8-bit value used to initialize the next least significant 8 bits of the
1409 18-bit Seed for the Tx Lane PRBS register. Figure 65 shows the method to initialize the Transmit Lane PRBS
1410 register using the fragments of the Seed value.
[7:0] – seed value for Transmit PRBS TLRn_PRBS_Seed_1[7] → Q[16]; through
register Q[16:9] TLRn_PRBS_Seed_1[0] → Q[9];
12.3.5 TLRn_PRBS_Seed_2
write-only, Address: Tx_Lane_n_Base + 4
1411 The Tx Lane n PRBS Seed 2 register is a 2-bit value used to initialize the most significant 2 bits of the 18-
1412 bit Seed for the Tx Lane PRBS register. Figure 65 shows the method to initialize the Transmit Lane PRBS
1413 register using the fragments of the Seed value.
[7:2] – Reserved for future use
[1:0] – seed value for Transmit PRBS TLRn_PRBS_Seed_2[1] → Q[18]; through
register Q[18:17] TLRn_PRBS_Seed_2[0] → Q[17];
Seed
Register 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
Seed
Register 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
TLRn_PRBS_Seed_1 TLRn_PRBS_Seed_0
Degree 9: x0 + x5 + x9
+
Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
TxD15 TxD14 TxD13 TxD12 TxD11 TxD10 TxD9 TxD8 TxD7 TxD6 TxD5 TxD4 TxD3 TxD2 TxD1 TxD0
Seed
Register 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
TLRn_PRBS_Seed_1 TLRn_PRBS_Seed_0
1434
Figure 65 Tx Lane PRBS Register Function and Seed Value Initialization
A +
Serial-to-Parallel
-
7-symbol Rx_Data[15:0]
B + Symbol 3-bit 21-bit
to 16-bit
16-bit
- Decoder
De-Mapper
C +
-
Parallel-to-Serial
Compare, 16-bit to
3-bit 21-bit 16-bit PRBS
Count & 7-symbol
Generator
Identify Mapper
TGRn_Preamble_Prog_Sequence_0 to 13
1437 The Rx Lane Configuration and Status Registers have the following definitions:
12.4.1 RLRn_Lane_Configuration
write-only, Address: Rx_Lane_n_Base + 0
1438 The Rx Lane n Configuration register currently has no assigned bits in the register to affect the lane function.
[7:0] – reserved for future use
12.4.2 RLRn_Test_Pattern_Select
write-only, Address: Rx_Lane_n_Base + 1
1439 The Rx Lane n Test Pattern register provides the means to choose a specific PRBS pattern to be used by the
1440 PRBS Checker. The register contents also specify which pattern is to be used by the symbol error counting
1441 function, if the symbol error count feature is implemented.
1442 It is not necessary to enable or disable the error counting function. There is no harm in counting errors all of
1443 the time, even when actual packet data is being received. The system software will know to ignore the error
1444 counter value at that time. The enable/disable setting may be useful to prevent activity in the receiver error
1445 measurement system to slightly reduce power consumption when the capability to count errors is not
1446 required.
12.4.3 RLRn_Rx_Lane_Status
read-only, Address: Rx_Lane_n_Base + 2
1447 The Rx Lane n Status register contains status indicators relating to important events that occur when a packet
1448 is received. All bits in the register are reset when the lane detects the transition from LP-111 to LP-001. The
1449 lane status logic keeps track of each event described in the RLRn_Rx_Lane_Status register. The register
1450 contents may be valid prior to the LP-000 to LP-111 transition. The register contents contain the actual status
1451 following the LP-000 to LP-111 transition.
[7] – LP-001 to LP-000 transition was 1 – The transition was detected.
detected. 0 – The transition was not detected.
[6] – Preamble Programmable Sequence 0 if not used. The specific function of this bit is determined
status (optional) by the device manufacturer.
[5] –Sync Word was detected. 1 – The Sync Word was detected.
0 – The Sync Word was not detected.
[4] – Post sequence was detected 1 – Post was detected.
0 – Post was not detected.
[3:0] – reserved for future use
12.4.4 RLRn_PRBS_Seed_0
write-only, Address: Rx_Lane_n_Base + 3
1452 The Rx Lane n PRBS Seed 0 register is an 8-bit value used to initialize the least significant 8 bits of the 18-
1453 bit Seed for the Receive Lane PRBS register. Figure 67 shows the method to initialize the PRBS register
1454 using the fragments of the Seed value.
[7:0] – seed value for Receive PRBS RLRn_PRBS_Seed_0[7] → Q[8]; through
register Q[8:1] RLRn_PRBS_Seed_0[0] → Q[1];
12.4.5 RLRn_PRBS_Seed_1
write-only, Address: Rx_Lane_n_Base + 4
1455 The Rx Lane n PRBS Seed 1 register is an 8-bit value used to initialize the next least significant 8 bits of the
1456 18-bit Seed for the Receive Lane PRBS register. Figure 67 shows the method to initialize the PRBS register
1457 using the fragments of the Seed value.
[7:0] – seed value for Receive PRBS RLRn_PRBS_Seed_1[7] → Q[16]; through
register Q[16:9] RLRn_PRBS_Seed_1[0] → Q[9];
12.4.6 RLRn_PRBS_Seed_2
write-only, Address: Rx_Lane_n_Base + 5
1458 The Rx Lane n PRBS Seed 2 register is a 2-bit value used to initialize the most significant 2 bits of the 18-
1459 bit Seed for the Receive Lane PRBS register. Figure 67 shows the method to initialize the PRBS register
1460 using the fragments of the Seed value.
[7:2] – Reserved for future use
[1:0] – seed value for Receive PRBS RLRn_PRBS_Seed_2[1] → Q[18]; through
register Q[18:17] RLRn_PRBS_Seed_2[0] → Q[17];
RLRn_PRBS_Seed_1 RLRn_PRBS_Seed_0
Degree 9: x0 + x5 + x9
RxD RxD RxD RxD RxD RxD RxD RxD RxD RxD RxD RxD RxD RxD RxD RxD
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Compare +
Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
Seed
Register 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
RLRn_PRBS_Seed_1 RLRn_PRBS_Seed_0
1471
Figure 67 Rx Lane PRBS Register Function and Seed Value Initialization
1483 Tx_Global_Configuration_Register. Knowing the word count makes it possible to accurately compute the
1484 word error rate or symbol error rate. The Rx Lane Word Count word count is sufficiently large to perform an
1485 error rate test at 2.5Gsps for slightly more than 9 days. A single word error over this maximum test interval
1486 corresponds to a symbol error rate of about 510-16. If there are any symbol errors that cause missing symbol
1487 clocks then the word count will be reduced by 1/7th of a word for each such occurrence, and the error count
1488 will most likely saturate in that instance, so the calculated error rate would not be meaningful. It is anticipated
1489 that even with such a large word counter, the symbol error rates and word error rates will not be measurable
1490 unless the signal amplitude or channel conditions are degraded beyond the required limits specified in this
1491 document. If symbol errors are counted to determine the symbol error rate, then it is necessary to multiply
1492 the word count by 7 to know the symbol count for the symbol error rate calculation:
1494 All 48 bits of the Rx Lane Word Count are reset to zero on the transition from low-power mode to high-speed
1495 mode (on the transition from LP-001 to LP-000). The Rx Lane Word Count can be read after the transition
1496 back to low-power mode (following the transition from LP-000 to LP-111). If the Rx Lane Word Count is
1497 read during the error rate measurement test in high-speed mode then the count can contain an invalid result,
1498 depending on the implementation of the word count read circuit.
12.4.9 RLRn_Word_Error_Count
read-only, Address: Rx_Lane_n_Base + 6
1499 The Rx Lane n Word Error Count is a count of the number of word errors that were detected in the
1500 corresponding Lane.
[7:0] – RLRn_Word_Error_Count Rx Lane Word Error Count
12.4.10 RLRn_Word_Count_0
read-only, Address: Rx_Lane_n_Base + 7
1501 Rx Lane n Word Count 0 consists of bits 7 through 0 of the 48-bit Rx Lane Word Count value.
[7:0] – RLRn_Word_Count_0 Rx Lane Word Count[7:0]
12.4.11 RLRn_Word_Count_1
read-only, Address: Rx_Lane_n_Base + 8
1502 Rx Lane n Word Count 1 consists of bits 15 through 8 of the 48-bit Rx Lane Word Count value.
[7:0] – RLRn_Word_Count_1 Rx Lane Word Count[15:8]
12.4.12 RLRn_Word_Count_2
read-only, Address: Rx_Lane_n_Base + 9
1503 Rx Lane n Word Count 2 consists of bits 23 through 16 of the 48-bit Rx Lane Word Count value.
[7:0] – RLRn_Word_Count_2 Rx Lane Word Count[23:16]
12.4.13 RLRn_Word_Count_3
read-only, Address: Rx_Lane_n_Base + 10
1504 Rx Lane n Word Count 3 consists of bits 31 through 24 of the 48-bit Rx Lane Word Count value.
[7:0] – RLRn_Word_Count_3 Rx Lane Word Count[31:24]
12.4.14 RLRn_Word_Count_4
read-only, Address: Rx_Lane_n_Base + 11
1505 Rx Lane n Word Count 4 consists of bits 39 through 32 of the 48-bit Rx Lane Word Count value.
[7:0] – RLRn_Word_Count_4 Rx Lane Word Count[39:32]
12.4.15 RLRn_Word_Count_5
read-only, Address: Rx_Lane_n_Base + 12
1506 Rx Lane n Word Count 5 consists of bits 47 through 40 of the 48-bit Rx Lane Word Count value.
[7:0] – RLRn_Word_Count_5 Rx Lane Word Count[47:40]
12.4.17 RLRn_Sym_Error_Count
read-only, Address: Rx_Lane_n_Base + 13
1526 Receive Lane Symbol Error Count is a count of the number of symbol errors that were detected in Lane n.
[7:0] – RLRn_Sym_Error_Count Receive Lane Symbol Error Count
12.4.18 RLRn_1st_Sym_Err_Loc_0
read-only, Address: Rx_Lane_n_Base + 14
1527 RLRn_1st_Sym_Err_Loc_0 consists of bits 7 through 0 of the 48-bit Receive Lane 1st Symbol Error
1528 Location value.
[7:0] – RLRn_1st_Sym_Err_Loc_0 Receive Lane 1st Symbol Error Location[7:0]
12.4.19 RLRn_1st_Sym_Err_Loc_1
read-only, Address: Rx_Lane_n_Base + 15
1529 RLRn_1st_Sym_Err_Loc_1 consists of bits 15 through 8 of the 48-bit Receive Lane 1st Symbol Error
1530 Location value.
12.4.20 RLRn_1st_Sym_Err_Loc_2
read-only, Address: Rx_Lane_n_Base + 16
1531 RLRn_1st_Sym_Err_Loc_2 consists of bits 23 through 16 of the 48-bit Receive Lane 1st Symbol Error
1532 Location value.
[7:0] – RLRn_1st_Sym_Err_Loc_2 Receive Lane 1st Symbol Error Location[23:16]
12.4.21 RLRn_1st_Sym_Err_Loc_3
read-only, Address: Rx_Lane_n_Base + 17
1533 RLRn_1st_Sym_Err_Loc_3 consists of bits 31 through 24 of the 48-bit Receive Lane 1st Symbol Error
1534 Location value.
[7:0] – RLRn_1st_Sym_Err_Loc_3 Receive Lane 1st Symbol Error Location[31:24]
12.4.22 RLRn_1st_Sym_Err_Loc_4
read-only, Address: Rx_Lane_n_Base + 18
1535 RLRn_1st_Sym_Err_Loc_4 consists of bits 39 through 32 of the 48-bit Receive Lane 1st Symbol Error
1536 Location value.
[7:0] – RLRn_1st_Sym_Err_Loc_4 Receive Lane 1st Symbol Error Location[39:32]
12.4.23 RLRn_1st_Sym_Err_Loc_5
read-only, Address: Rx_Lane_n_Base + 19
1537 RLRn_1st_Sym_Err_Loc_5 consists of bits 47 through 40 of the 48-bit Receive Lane 1st Symbol Error
1538 Location value.
[7:0] – RLRn_1st_Sym_Err_Loc_5 Receive Lane 1st Symbol Error Location[47:40]
12.5.1 TGR_Global_Configuration
write-only, Address: Tx_Global_Registers_Base + 0
1540 TGR_Global_Configuration is a register to configure parameters and operate controls that apply to all C-
1541 PHY Lanes.
[7:1] – reserved for future use.
[0] – TGR burst enable/disable TGR burst enable/disable, starts or stops the high-speed
test burst.
=0 – Disable sending high-speed test data
=1 – Enable sending high-speed test data
1548 test data is being transmitted. The C-PHY Lane circuit begins in the LP-111 state to respond to the 0-to-1
1549 transition of the TGR burst enable/disable bit. If the C-PHY Lane circuit is not in the LP-111 state during the
1550 0-to-1 transition event then the C-PHY lane will ignore the state of the TGR burst enable/disable bit until it
1551 returns to the 0 state and has a subsequent 0-to-1 transition when the Lane is in the LP-111 state.
1552 When the TGR burst enable/disable bit transitions from 1 to 0 while sending test data, the Lane state machine
1553 causes the Post Sequence (4,4,4,4,4,4,4) to be sent and repeated by the number of times defined in
1554 TGR_Post_Length, and then the termination is disabled and the signals return to the LP-111 state. Figure 68
1555 illustrates the functionality resulting from TGR burst enable/disable changing state.
A/B/C
Pre-Begin Programmable Sequence Pre-End
A/B/C
Pre-Begin Pre-End
3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3 4 4 4 4 4 4 4 4
TGR burst
enable/disable
1556
Figure 68 Example Showing Cause/Effect of TGR burst enable/disable
1557 The lane receiver test circuitry contains a word count field that can be read from RLRn_Word_Count_0
1558 through RLRn_Word_Count_5. From this, it is possible to compute the word error rate, or symbol error rate
1559 by also reading the word error count and symbol error count values.
1560 Note that there are not specific global registers defined for selection of the PRBS polynomial or PRBS seed
1561 value. This allows the PRBS polynomial and seed to be chosen on a per-lane basis. When multiple lanes are
1562 tested simultaneously, it is anticipated that the most frequent use will be to select the same PRBS polynomial
1563 in all lanes and use a different seed value in each lane so that the transmitted data pattern in each lane is
1564 independent of the others.
12.5.3 TGR_Preamble_Length
write-only, Address: Tx_Global_Registers_Base + 1
1565 TGR_Preamble_Length specifies the length of the Preamble and provides a means to enable or disable the
1566 Programmable Sequence in the Preamble.
[7] – enable/disable the Preamble enable or disable the Preamble Programmable Sequence,
Programmable Sequence refer to Figure 69
=0 – Disable the Preamble Programmable Sequence, the
lower waveforms of Figure 69
=1 – Enable the Preamble Programmable Sequence, the
upper waveforms of Figure 69
The default value is 0, which disables the Preamble
Programmable Sequence on system reset.
[6] – reserved for future use.
[5:0] – Begin_Preamble_Length The number of symbols in the PreBegin section of the
preamble is:
(Begin_Preamble_Length + 1) 7
The default value is 0x3f or 63, which sets the length of the
PreBegin part of the Preamble to 64 Words on system
reset.
1567 The PreBegin part of the Preamble may range from 1 to 64 Words, or 7 to 448 symbols.
12.5.4 TGR_Post_Length
write-only, Address: Tx_Global_Registers_Base + 2
1568 TGR_Post_Length specifies the length of the Post field.
[7:5] – reserved for future use.
[4:0] – Post_Length The number of symbols in the Post field is:
(Post_Length + 1) 7
The default value is 0x1f or 31, which sets the length of the
PreBegin part of the Preamble to 32 Words on system
reset.
1569 The Post field may range from 1 to 32 Words, or 7 to 224 symbols.
12.5.5 TGR_Preamble_Prog_Sequence_0,1
write-only, Address: Tx_Global_Registers_Base + 3
1570 TGR_Preamble_Prog_Sequence_0,1 specifies the values of symbols 0 and 1 in the Programmable Sequence
1571 portion of the Preamble.
[7:6] – reserved for future use.
[5:3] – Symbol 1 of the Preamble =0 to 4 – symbol value
Programmable Sequence =5 to 7 – invalid value, not a valid symbol value.
The default value is 3 on system reset.
[2:0] – Symbol 0 of the Preamble =0 to 4 – symbol value
Programmable Sequence =5 to 7 – invalid value, not a valid symbol value.
The default value is 3 on system reset.
12.5.6 TGR_Preamble_Prog_Sequence_2,3
write-only, Address: Tx_Global_Registers_Base + 4
1572 TGR_Preamble_Prog_Sequence_2,3 specifies the values of symbols 2 and 3 in the Programmable Sequence
1573 portion of the Preamble.
[7:6] – reserved for future use.
[5:3] – Symbol 3 of the Preamble =0 to 4 – symbol value
Programmable Sequence =5 to 7 – invalid value, not a valid symbol value.
The default value is 3 on system reset.
[2:0] – Symbol 2 of the Preamble =0 to 4 – symbol value
Programmable Sequence =5 to 7 – invalid value, not a valid symbol value.
The default value is 3 on system reset.
12.5.7 TGR_Preamble_Prog_Sequence_4,5
write-only, Address: Tx_Global_Registers_Base + 5
1574 TGR_Preamble_Prog_Sequence_4,5 specifies the values of symbols 4 and 5 in the Programmable Sequence
1575 portion of the Preamble.
[7:6] – reserved for future use.
12.5.8 TGR_Preamble_Prog_Sequence_6,7
write-only, Address: Tx_Global_Registers_Base + 6
1576 TGR_Preamble_Prog_Sequence_6,7 specifies the values of symbols 6 and 7 in the Programmable Sequence
1577 portion of the Preamble.
[7:6] – reserved for future use.
[5:3] – Symbol 7 of the Preamble =0 to 4 – symbol value
Programmable Sequence =5 to 7 – invalid value, not a valid symbol value.
The default value is 3 on system reset.
[2:0] – Symbol 6 of the Preamble =0 to 4 – symbol value
Programmable Sequence =5 to 7 – invalid value, not a valid symbol value.
The default value is 3 on system reset.
12.5.9 TGR_Preamble_Prog_Sequence_8,9
write-only, Address: Tx_Global_Registers_Base + 7
1578 TGR_Preamble_Prog_Sequence_8,9 specifies the values of symbols 8 and 9 in the Programmable Sequence
1579 portion of the Preamble.
[7:6] – reserved for future use.
[5:3] – Symbol 9 of the Preamble =0 to 4 – symbol value
Programmable Sequence =5 to 7 – invalid value, not a valid symbol value.
The default value is 3 on system reset.
[2:0] – Symbol 8 of the Preamble =0 to 4 – symbol value
Programmable Sequence =5 to 7 – invalid value, not a valid symbol value.
The default value is 3 on system reset.
12.5.10 TGR_Preamble_Prog_Sequence_10,11
write-only, Address: Tx_Global_Registers_Base + 8
1580 TGR_Preamble_Prog_Sequence_10,11 specifies the values of symbols 10 and 11 in the Programmable
1581 Sequence portion of the Preamble.
[7:6] – reserved for future use.
[5:3] – Symbol 11 of the Preamble =0 to 4 – symbol value
Programmable Sequence =5 to 7 – invalid value, not a valid symbol value.
The default value is 3 on system reset.
[2:0] – Symbol 10 of the Preamble =0 to 4 – symbol value
Programmable Sequence =5 to 7 – invalid value, not a valid symbol value.
The default value is 3 on system reset.
12.5.11 TGR_Preamble_Prog_Sequence_12,13
write-only, Address: Tx_Global_Registers_Base + 9
A/B/C
Pre-Begin Programmable Sequence Pre-End
A/B/C
Pre-Begin Pre-End
3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 3
TxWordClkHS
TxDataHS W1 W2 W3 dc W4 W5 Wn
TxSendSyncHS
TxRequestHS
TxReadyHS
Start-up Shut-down
1624 Time Time
RxWordClkHS
RxDataHS W1 W2 W3 dc W4 W5 Wn C
RxInvalidCodeHS
RxActiveHS
RxValidHS
RxSyncHS
1637
Figure 71 Example High-Speed Receive at the Slave Side
1638 For D-PHY PPI compatibility, it is recommended that RxWordClkHS toggle continuously while the
1639 high-speed signal is present. An option shown in the waveform above is to prevent RxWordClk from
1640 toggling while RxActiveHS is inactive.
Clock No
Longer Required
TxClkEsc
TxDataEsc D1 D2 D3 Dn
TxRequestEsc
TxLpdtEsc
TxValidEsc
TxReadyEsc
Uncommon
but possible Common
RxClkEsc
RxDataEsc D1 D2 Dn
RxLpdtEsc
RxValidEsc
1669
Figure 73 Example Low-Power Data Reception
A.8 Turn-around
1670 If the master side and slave side lane modules are both bi-directional, it is possible to turn around the link for
1671 high-speed and/or escape mode signaling. Section 6.5 explains how it is determined which side is allowed to
1672 transmit by passing a “token” back and forth. That is, the side currently transmitting passes the token to the
1673 receiving side. If the receiving side acknowledges the turn-around request, as indicated by driving the
1674 appropriate line state, the direction is switched.
1675 Figure 74 shows an example of two turn-around events. At the beginning, the local side is the transmitter, as
1676 shown by Direction=0. When the protocol layer on this side wishes to turn the Lane around (i.e. give the
1677 token to the other side), it asserts TurnRequest for at least one cycle of TxClkEsc. This initiates the turn-
1678 around procedure. The remote side acknowledges the turn-around request by driving the appropriate states
1679 on the lines. When this happens, the local Direction signal changes from transmit (0) to receive (1).
1680 Later in the example of Figure 62, the remote side initiates a turn-around request, passing the token back to
1681 the local side. When this happens, the local Direction signal changes back to transmit (0). Note that there is
1682 no prescribed way for a receiver to request access to the link. The current transmitter is in control of the link
1683 direction and decides when to turn the link around, passing control to the receiver.
1684 If the remote side does not acknowledge the turn-around request, the Direction signal does not change.
TxClkEsc
TurnRequest
Direction
(local) (transmit) (receive) (transmit)
Flex Conn
Flex Circuit
Camera
LNA C-PHY Rx (CSI signals) Module
RF Tx/Rx Baseband
Chip Chip
Display
Flex Conn
Flex Circuit
Display
C-PHY Tx
PA
(DSI signals) Module
1694 The reverse of this path is also a possible concern, where a signal transmitted by the wireless transceiver is
1695 coupled to the serial interface signals in such a manner that it cannot be rejected by the common mode
1696 rejection capability of the serial interface receiver. It is also possible that the signal transmitted by the wireless
1697 transceiver is coupled in a manner that it produces an unintended differential mode signal at the serial
1698 interface receiver. Specific concerns are described below.
1711 • For others (C-PHY/M-PHY) when frequency is low enough it should try to have a null in GNSS
1712 bands
1713 • Noise whitening techniques are essential for data lanes to avoid energy to peak in undesired bands
1714 (note though that even for CSI and DSI that data is pretty random)
1715 Implication for current specs
1716 • Most bands being covered by first lobe of interface, slew control as very little benefit for interface
1717 > 1.5Gbps/GSs/lane
1718 • Above G1 M-PHY has no real need to keep fixed frequencies for gears
Downlink Uplink
MS RX (EMI) MS TX (EMC)
Band Flow Fhigh Flow Fhigh Duplex Common Name / region
Band 30 2350.0 2360.0 2305.0 2315.0 FDD WCS blocks A,B / US
Band 31 462.5 467.5 452.5 457.5 FDD
AWS-2 1995.0 2000.0 1915.0 1920.0 FDD AWS-2 / US
AWS-3 2155.0 2180.0 1755.0 1780.0 FDD AWS-3 / US
Band iDEN 851.0 869.0 806.0 824.0 FDD iDEN / US
Band 33 1900.0 1920.0 1900.0 1920.0 TDD IMT / China
Band 34 2010.0 2025.0 2010.0 2025.0 TDD IMT / China
Band 35 1850.0 1910.0 1850.0 1910.0 TDD PCS (Uplink) / US
Band 36 1930.0 1990.0 1930.0 1990.0 TDD PCS (Downlink) / US
Band 37 1910.0 1930.0 1910.0 1930.0 TDD PCS (Duplex spacing) / US
Band 38 2570.0 2620.0 2570.0 2620.0 TDD IMT / EU-Asia
Band 39 1880.0 1920.0 1880.0 1920.0 TDD / China
Band 40 2300.0 2400.0 2300.0 2400.0 TDD CM / China
Band 41 2496.0 2696.0 2496.0 2696.0 TDD BRS / EBS
Band 42 3400.0 3600.0 3400.0 3600.0 TDD
Band 43 3600.0 3800.0 3600.0 3800.0 TDD
Band 44 703.0 803.0 703.0 803.0 TDD APAC
Note:
All frequencies in MHz
1720 It is important to identify the lowest interference frequency with significant impact, as this sets ‘fINT,MIN’. For
1721 this specification, fINT,MIN is decided to be 450 MHz, because it is identified as the lowest frequency of interest
1722 in the tables above.
B.8 Connectors
1742 Connectors usually cause some impedance discontinuity. It is important to carefully minimize these
1743 discontinuities by design, especially with respect to the through-connection of the reference layer. Although
1744 connectors are typically rather small in size, the wrong choice can mess-up signals completely. Please note
1745 that the contact resistance of connectors is part of the total series resistance budget and should therefore be
1746 sufficiently low.
Participants
The following list includes those persons who participated in the Working Group that developed this
Specification and who consented to appear on this list.
Ahmed Aboulella, Mixel, Inc. Thomas Marik, BitifEye Digital Test Solutions GmbH
Mario Ackers, Toshiba Corporation Raj Kumar Nagpal, STMicroelectronics
Bhupendra Ahuja, NVIDIA Kinshuk Parekh, Cadence Design Systems, Inc.
Andrew Baldman, University of New Hampshire Joao Pereira, Synopsys, Inc
InterOperability Lab (UNH-IOL)
Dominique Brunel, STMicroelectronics Duane Quiet, Intel Corporation
Mara Carvalho, Synopsys, Inc John Raitz, The Moving Pixel Company
Min-Jie Chong, Agilent Technologies Inc. Parthasarathy Raju, Tektronix, Inc
Doug Day, Toshiba Corporation P. E. Ramesh, Tektronix, Inc
Kirill Dimitrov, SanDisk Corporation Jim Rippie, MIPI Alliance, Inc. (staff)
Keyur Diwan, Tektronix, Inc Ravi Rudraraju, Intel Corporation
Ken Drottar, Intel Corporation Joseph Schachner, LeCroy Corporation
Mahmoud El-Banna, Mixel, Inc. Omer Schori, Cadence Design Systems, Inc.
Michael Fleischer-Reumann, Agilent Technologies Jos Sebastian, GDA Technologies
Inc.
Ralf Gaisbauer, Toshiba Corporation Sho Sengoku, Qualcomm Incorporated
Mohamed Hafed, Introspect Test Technology Inc. Sergio Silva, Synopsys, Inc
Will Harris, Advanced Micro Devices, Inc. Scott Silver, The Moving Pixel Company
Hiroaki Hayashi, Sony Corporation Bill Simms, NVIDIA
Henrik Icking, Intel Corporation Dong Hyun Song, SK Hynix
Tom Kopet, Aptina Imaging Corporation Tatsuya Sugioka, Sony Corporation
Marcin Kowalewski, Synopsys, Inc Haran Thanigasalam, Intel Corporation
Amit Laknaur, NVIDIA Aravind Vijayakumar, Cadence Design Systems, Inc.
C. K. Lee, Qualcomm Incorporated Manuel Weber, Toshiba Corporation
Jason Lee, NVIDIA Rick Wietfeldt, Qualcomm Incorporated
Delbert Liao, MediaTek Inc. George Wiley, Qualcomm Incorporated
Kenneth Ma, Broadcom Corporation Charles Wu, OmniVision Technologies, Inc.
Jiri Macku, Silicon Line GmbH