Mipi RFFE Specification v1-10
Mipi RFFE Specification v1-10
Mipi RFFE Specification v1-10
Further technical changes to this document are expected as work continues in the RF Front-End Control
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
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Release History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4 Architecture and Operations Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1.1 Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.1.1 Basic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.1.2 Diversity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1.1.3 MIMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.1.1.4 Dual-Bus Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.1.1.5 Dual-Bus MIMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.1.2 Device Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2 Read and Write Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2.1 RFFE Clock (SCLK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2.1.1 Specifications for the Master SCLK Driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2.1.2 Specifications for SCLK Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2.2 RFFE Data (SDATA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2.2.1 Specifications for the SDATA Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2.2.2 Specifications for the SDATA Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2.3 Read/Write Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2.4 Write Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3 Operating States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.1 STARTUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.2 ACTIVE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.3 LOW POWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.4 SHUTDOWN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3.5 Exceptional State Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5 Physical Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1 I/O Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1.1 Signaling Voltages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.1.2 I/O Configuration with Multiple Slaves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2 VIO Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figures
Figure 1 RFFE Interface and Bus Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Figure 2 Basic Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Figure 3 Diversity Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Figure 4 MIMO Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Figure 5 Dual-bus Basic Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Figure 6 Dual-bus MIMO Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Figure 7 State Diagram of Programming a New USID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Figure 8 Clock Driver Output Waveform Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Figure 9 Received Clock Signal Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Figure 10 Bus Active Data Transmission Timing Specification . . . . . . . . . . . . . . . . . . . . . . . . 26
Figure 11 Bus Park Cycle Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Figure 12 Bus Active Data Receiver Timing Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Figure 13 Slave State Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figure 14 SDATA Master and Slave I/O Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figure 15 SDATA Master and Slave I/O Cells for an Non-readback Capable Slave . . . . . . . . 31
Figure 16 SCLK Master and Slave I/O Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Figure 17 VIO Bus Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Figure 18 VIO External Bus Supply. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figure 19 Slave VIO Digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Figure 20 Slave Vreg Digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Figure 21 Requirements for VIO-Initiated Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Figure 22 Device Characterization Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Figure 23 Sequence Start Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Figure 24 Command Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Figure 25 Data or Address Frame. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Figure 26 No Response Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Figure 27 Bus Idle Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Figure 28 Slave Register Space, RFFE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Figure 29 Extended Register Write Command Sequence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Figure 30 Extended Register Read Command Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Figure 31 Extended Register Write Long Command Sequence . . . . . . . . . . . . . . . . . . . . . . . . . 53
Figure 32 Extended Register Read Long Command Sequence . . . . . . . . . . . . . . . . . . . . . . . . . 55
Tables
Table 1 RFFE SCLK Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Table 2 Output Timing Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Table 3 Clock Input Timing Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Table 4 SDATA Output Timing Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Table 5 SDATA Release Timing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Table 6 Data Setup and Hold Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Table 7 Signaling Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Table 8 Static Electrical Characteristics for Signaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Table 9 VIO Supply Pin Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Table 10 VIO Supply Reset Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Table 11 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Table 12 RFFE Supported Command Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Table 13 Slave Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Table 14 Programmable USID Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Table 15 Slave Register Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Table 16 Slave PRODUCT_ID Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Table 17 PM_TRIG(7:0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Table 18 Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Table 19 TRIG_REG Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Table 20 Command Sequence Length In SCLK Cycles as Function of Access Type . . . . . . . 75
Table 21 Command Sequence Length Versus Command Sequence Type & Clock Rate . . . . 76
Table 22 Command Sequence Lengths Using Half-Speed Read . . . . . . . . . . . . . . . . . . . . . . . 76
Table 23 Building DDB Level 1 Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Table 24 RFFE Supported Command Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Table 25 SPMI Feature Compatibility Matrix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Release History
1 Introduction
1 The RF Front-End Control Interface (later referred to as RFFE) was developed to offer a common and wide-
spread method for controlling RF front-end devices. There are a variety of front-end devices, including
Power Amplifiers (PA), Low-Noise Amplifiers (LNA), filters, switches, power management modules,
antenna tuners and sensors. These functions may be located either in separate devices or integrated into a
single device, depending on the application.
2 RFFE should not be confused with the MIPI Alliance DigRF specifications, [MIPI01] and [MIPI02]. DigRF
specifies the interface between the baseband and RF ICs, whereas RFFE is mainly an RF front-end-dedicated
control interface. The key driver for DigRF is to offer a very high-speed interface for carrying digital RF IQ
data and RF control information. RFFE, on the other hand, is targeted purely towards the control of RF front-
ends, and therefore does not incorporate the signal paths associated with the front-end devices being
controlled. DigRF provides only a point-to-point configuration, and thus requires multiple instantiations for
complex configurations. In contrast to DigRF, RFFE supports point-to-multipoint connectivity, thus allowing
for the control of complex RF systems comprising multiple front-end devices.
3 The trend in mobile radio communications is towards complex multi-radio systems comprised of several
parallel transceivers. This implies a leap in complexity of the RF front-end design. Thus, the RFFE bus must
be able to operate efficiently in configurations from the simplest one Master and one Slave configuration to
potentially multi-Master configurations with tens of Slaves. The emphasis of this version of the specification
is on configurations with only one Master, while also providing for future expansion to multiple Master
configurations. Future versions of this specification might thus allow more complex configurations that
provide for multiple Masters in addition to multiple Slaves.
4 RF front-end modules are sometimes developed in process technologies unlike bulk digital CMOS. Diverse
technology choices are necessary to meet the functional and performance requirements of the application.
The downside is that suitability for digital design might be quite low. In some of these technologies the
implementation of digital logic might be costly, so a prerequisite of the RFFE design was to offer options to
reduce Slave control complexity to a minimum (approximately 300 to 500 gates). Simplicity has been a core
driver in RFFE development. The RFFE specification, positioned at the low complexity end of all interfaces,
is optimized for Master and Slave implementation simplicity without sacrificing a broad set of features.
5 One challenge for RFFE is presented by the need in many radio applications for time-accurate control. This is
addressed in RFFE by utilizing a relatively high bus clock frequency of 26 MHz and by the introduction of
time-accurate triggering mechanisms to allow control of timing-critical functions in multiple devices. This is
predicated on the expectation that a simple Slave lacks the required timing accuracy, and thus is command-
driven.
6 The RFFE specification is based on MIPI Alliance Specification for System Power Management Interface
(SPMI) [MIPI03] developed by the SPM Working Group. The intention has been to preserve compatibility
with SPMI by selection of a reduced SPMI feature set in RFFE. RFFE-specific features have been added to
that set. The relevant parts of the SPMI specification are copied into this document to make it a complete
stand-alone specification. Compatibility to SPMI might be maintained, depending on the impact to the RFFE
Specification, by updating the relevant sections in future releases.
1.1 Scope
7 The scope of this document is to specify the control interface for RF front-end devices. Analog signal paths
required between front-end devices and other elements that control and utilize the devices, are outside the
scope of this document.
8 A voltage reference is introduced as part of the control interface. The implementation of this voltage source is
not specified, although a set of electrical characteristics are defined. This document also defines interface-
specific procedures, and also provides alternative means to perform certain actions. Implementers may
determine which optional procedures and alternative means are supported by a device. Since a Master
implementation supports all options, the functional choices are intended primarily for Slave device
implementations.
1.2 Purpose
9 RFFE provides a low-complexity solution to meet the cost and performance targets of RF front-end
components. It offers extensibility from simple configurations with one Slave on a single bus, all the way to
complex configurations with many Slaves on a single bus, or distributed on multiple buses. This eases both
the RF and front-end module design by requiring a mobile terminal to support only a single control interface.
Ideally, this will lead to a broader range of control-compatible components, and to larger markets for RF
front-end devices.
2 Terminology
10 The MIPI Alliance has adopted Section 13.1 of the IEEE Specifications Style Manual, which dictates use of
the words “shall”, “should”, “may”, and “can” in the development of documentation, as follows:
11 The word shall is used to indicate mandatory requirements strictly to be followed in order
to conform to the Specification and from which no deviation is permitted (shall equals is
required to).
12 The use of the word must is deprecated and shall not be used when stating mandatory
requirements; must is used only to describe unavoidable situations.
13 The use of the word will is deprecated and shall not be used when stating mandatory
requirements; will is only used in statements of fact.
14 The word should is used to indicate that among several possibilities one is recommended as
particularly suitable, without mentioning or excluding others; or that a certain course of
action is preferred but not necessarily required; or that (in the negative form) a certain
course of action is deprecated but not prohibited (should equals is recommended that).
15 The word may is used to indicate a course of action permissible within the limits of the
Specification (may equals is permitted).
16 The word can is used for statements of possibility and capability, whether material,
physical, or causal (can equals is able to).
17 All sections are normative, unless they are explicitly indicated to be informative.
18 Numbers are decimal unless otherwise indicated. A prefix of 0x indicates a hexadecimal number, while a
prefix of 0b indicates a binary number.
2.1 Definitions
19 Address Frame: A series of nine bits with eight bits representing address information and a single parity bit.
20 Broadcast: A procedure of sending a Command Sequence to multiple recipients simultaneously using either
Broadcast ID or GSID.
21 Broadcast ID: A unique GSID defined as 0b0000 addressing all Slaves simultaneously.
22 Bus Idle: The RFFE bus is idle when both the SCLK and SDATA are at a logic level zero between the end of
a Command Sequence.
23 Bus Park Cycle: A single clock cycle that occurs when the SDATA signal control may change between
devices during, or at the end of, a Command Sequence.
24 Command Frame: A series of thirteen bits with four bits representing a Slave address, eight bits
representing an RFFE command and a single parity bit.
25 Command Sequence: A bus transaction on the RFFE bus that begins with a SSC, a Command Frame,
potentially Data and Address Frames and ends with a Bus Park Cycle.
26 Data Frame: A series of nine bits with eight bits of data and a single parity bit.
27 Group Slave ID: A 4-bit number assigned to one or more Slaves identifying them on the RFFE bus as a
group.
28 Full Speed: Operating RFFE bus with a fundamental SCLK frequency between 13 MHz and 26 MHz.
29 Half Speed: Operating RFFE bus with a fundamental SCLK frequency between 32 kHz and 13 MHz.
30 Master: A device on the RFFE bus that drives the SCLK line and controls the transmission of all Command
Sequences.
31 No Response Frame: A Data or Address Frame that is used when no applicable data is available.
32 Slave: A device on the RFFE bus that is not capable of driving the SCLK line, i.e. not a Master.
33 Slave ID: A 4-bit number assigned to a Slave. It may be either Unique Slave ID or Group Slave ID.
34 Unique Slave ID: Unique 4-bit number assigned to a Slave identifying it on the bus.
2.2 Abbreviations
35 e.g. For example (Latin: exempli gratia)
36 i.e. That is (Latin: id est)
37 High-Z High impedance
38 SDATA RFFE data
39 SCLK RFFE clock
40 SCLKint Internal serial clock used within a Master
41 VIO RFFE Bus I/O Voltage Level
2.3 Acronyms
42 3GPP 3rd Generation Partnership Project
43 ASM Antenna Switch Module
44 DDB Device Descriptor Block
45 EDGE Enhanced Data-Rates from GSM Evolution
46 EGPRS Enhanced General Packet Radio System
47 EMI Electromagnetic Interference
48 FEM Front-End Module
49 GPRS General Packet Radio System
50 GSID Group Slave Identifier
51 GSM Global System for Mobile Communications
52 HSPA High Speed Packet Access
53 HW Hardware
54 IC Integrated Circuit
55 IEEE Institute of Electrical and Electronics Engineers
56 ISTO Industry Standards and Technology Organization
57 I/O Input/Output
58 LSB Least Significant Bit
59 LTE Long Term Evolution
3 References
79 [MIPI01] MIPI Alliance Specification for DigRFSM v4, Version 1.10, MIPI Alliance, Inc., (In Press)
80 [MIPI02] MIPI Alliance Specification for Dual Mode 2.5G/3G Baseband/RFIC Interface, Version
3.09.06, MIPI Alliance, Inc., 14 December 2010
81 [MIPI03] MIPI Alliance Specification for System Power Management Interface (SPMI), Version
1.00.00, MIPI Alliance, Inc., 27 October 2008
82 [MIPI04] MIPI Alliance, Inc., Current Members - List of all MIPI Manufacturer IDs, “List of MIPI
Manufacturer IDs”, < http://mid.mipi.org/>
83 [MIPI05] MIPI Alliance Specification for Device Descriptor Block (DDB), Version 0.82.01, MIPI
Alliance, Inc., 30 October 2008
84 [MIPI06] MIPI Alliance Application Note for RF Front-End Control Interface, Version 1.10, MIPI
Alliance, Inc., 15 November 2011
4.1 Overview
86 RFFE is a two-wire, serial interface intended to be used to connect Radio Frequency ICs (RFIC) of a mobile
terminal to their related Front-End Modules (FEM). The RFFE interface enables systems to efficiently
control various FEMs in next generation mobile terminals with increased complexity of performance
supporting multi-mode, multi-band and multiple antennas, all with a minimum number of wires and pins
using a single RFFE bus. It is designed to support existing 3GPP standards such as LTE, EGPRS, UMTS,
HSPA, etc. and also other, non-3GPP air interfaces. The RFFE interface is based on MIPI Alliance
Specification for System Power Management Interface (SPMI) [MIPI03]. The RFFE interface is intended to
be efficient, flexible, and extensible, accommodating many variations in the overlying system design, while
providing interoperability at the interface level between compliant RFICs and FEMs. The ability to design
one common control interface which may be reused for all of these modules helps reduce front-end
complexity, and hence speed up the time-to-market for these terminals.
87 Within the mobile terminal, the RFIC is the Master and the FEMs are the Slaves on the RFFE bus. Command
Sequences on the bus may only be initiated by the Master. A Slave shall not initiate Command Sequences on
the bus. This specification defines the operating states, the Command Sequence set, the physical interface,
and the protocol for data communication between RFFE devices on an RFFE bus to insure the compatibility
of control and data transfers. The RFFE Command Sequence set includes Slave addressing, control of the
Slave operating state, register read from and register write to Slaves, as well as Command Sequences
supporting the use of Device Descriptor Block [MIPI05].
88 The key pillars of the RFFE design include the following considerations:
89 • Minimize the wiring effort in the front-end of a mobile terminal
90 • Minimize pin count
91 • Ease and optimize control flow
92 • Ensure minimal EMI contributions due to RFFE bus
93 • Minimize complexity for the Slave
94 • Add flexibility and scalability, allowing use of multiple receivers and transmitters simultaneously
95 The basic configuration of the RFFE interface and its bus structure are shown in Figure 1. As RFFE is based
on the SPMI interface it shall have two signals, one serial bidirectional data signal (SDATA) and one clock
signal (SCLK) controlled by the Master. Any additional signals present on an RFFE device shall not change
the behavior of the RFFE interface protocol or prevent the operation of the RFFE bus described in this
specification.
RFIC FEM 1
SCLK RFFE
RFFE
Master Slave
SDATA Interface
Interface
FEM 2
RFFE
Slave
Interface
FEM n
RFFE
Slave
Interface
4.1.1 Topology
4.1.1.1 Basic
96 Figure 2 shows a Basic Configuration of an RFFE bus implementation based on a minimal topology
consisting of a RFIC with one RX and one TX path connected to one antenna. The main characteristic of the
Basic Configuration is that there is only one RFFE bus where all front-end components are connected. The
RFIC is the Master on the RFFE bus and all front-end components act as Slaves. The TX signal path starts at
the RFIC and may comprise various outputs for different radio standards or frequency bands. Depending on
the detailed architecture these analog outputs may be connected to a set of different gain or power amplifiers,
which usually need to be controlled. These gain or power amplifiers may be separate for each output or may
also be shared for several outputs. Following the TX direction towards the antenna there are bandlimiting
filters, which may be configurable for different scenarios, the antenna switch used to select RX and TX
directions as well as different bands, and finally the antenna tuning-module. In addition, these components
may be accompanied by various sensors for temperature, power, voltage, etc. and adjustable power supplies
for the front-end components like LDOs or DC/DC converters for PAs.
97 Complexity in terms of control functionality of these various front-end component types may be different as
well as process technology and manufacturing requirements of such components. Therefore, the RFFE bus
needs to cover a wide range of configurations and application complexity while simultaneously enabling a
small implementation in low density process technologies. The various front-end components also may have
very different requirements regarding real time control performance, number of parameters to be controlled,
amount and frequency of data to be read back, etc.
98 Furthermore, depending on the topology of the system and the use cases to be supported several front-end
components may need to receive control information at almost the same time. The absolute number of front-
end components in the overall system is a very important boundary condition since each component needs to
be individually addressable.
. .
. .
. .
RFIC
. .
. .
. . Sensors
Signal Path
RFFE Bus
4.1.1.2 Diversity
99 Figure 3 shows a topology supporting receive diversity (RxDiv). The primary difference from the basic
configuration shown in Figure 2 is the additional receive path with a separate antenna connected to one RFIC.
The additional front-end components are connected to the same RFFE bus. This scenario might have
increased requirements regarding bandwidth and addressable components for the RFFE bus.
. .
. .
. .
RFIC . .
. .
. .
. .
. .
. . Sensors
Signal Path
RFFE Bus
4.1.1.3 MIMO
100 The MIMO configuration shown in Figure 4, as compared to the diversity configuration shown in Figure 3,
represents a further step in terms of complexity for the RFFE bus. Now there are two complete and
independent RX and two complete and independent TX paths, which allows MIMO operation. Therefore, the
number of front-end components increases again. Higher traffic on the RFFE bus is expected and a higher
number of front-end components need to be addressed.
. .
. .
. .
. .
. .
. .
RFIC
. .
. .
. .
. .
. .
. . Sensors
Signal Path
RFFE Bus
RFFE bus activity into noise critical RX devices. The transmission of timing critical messages is improved
with a reduced traffic load.
RFFE Bus 1
Sensors
. .
. .
. .
RFIC
RFFE Bus 2
. .
. .
. .
Signal Path
RFFE Bus
. .
. .
. .
RFFE Bus 1
. .
. .
. .
RFIC
. .
. .
. .
RFFE Bus 2
. .
. .
. . Sensors
Signal Path
RFFE Bus
and MANUFACTURER_ID match to the respective values of the Slave. All Slaves supporting
programmable USID in a particular system must have a different combination of PRODUCT_ID,
MANUFACTURER_ID and default USID in order to ensure that each device is uniquely addressable.
105 By issuing a reset issued by Command Sequence or signal, the USID shall be returned to its default value.
110 To reduce active power consumption, the SCLK line is not terminated. To avoid reflections and over voltage
problems on such a bus system, the SCLK line shall be transition time controlled for Full Speed operation.
This constraint makes a conventional CMOS I/O unsuitable for driving the SCLK line at Full Speed. The
SCLK line may be driven at Half Speed during readback portion of the Command Sequence using a carefully
matched CMOS driver with or without transition time control.
111 When driving the test load specified in Section 5.2 the SCLK line driver shall conform to the timing
characteristics shown in Figure 8.
112 A Slave might not be able to support a 26 MHz clock frequency during a read operation. In this case, known
as Half Speed operation, a 13 MHz clock frequency may be implemented for only the readback as described
in Section 6.7.3.
113 Figure 8 shows the Clock Timing Diagram defining the clock output transition time (TSCLKOTR) for rising
from a voltage level of VOLmax to VOHmin and falling VOHmin to VOLmax. The durations for the signal above
VOHmin and below VOLmax are defined by clock output high time (TSCLKOH) and clock output low time
(TSCLKOL), respectively.
TSCLKDCH TSCLKDCL
VOHmin
VOLmax
114 The Clock timing specification is given in Table 2. Half Speed Device timing is valid for readback operation
only as described in Section 6.7.3. VOHmin and VOLmax are defined in Table 8.
115 The rise and fall times of the clock driver constrain both the maximum operating frequency and length of the
SCLK line.
116 All timing characteristics are referenced to VOH and VOL in Section 5.1.1.
TSCLKIH TSCLKIL
VTPmax
VTNmin
119 Timings are referenced to VTPmax and VTNmin. Half Speed Device timing is valid for readback operation only
as described in Section 6.7.3.
122 The minimum slew time, TSDATAOTRmin, is specified for a single device driving the test load described in
Section 5.3. The output driver of a SDATA terminal shall drive the test loads specified in Section 5.3 with the
dynamic specifications shown in Figure 10 and Table 4. The minimum transition time limit for a Slave
readback is relaxed relative to the Master to permit a less complex Slave implementation.
123 The Data Timing Diagram is shown in Figure 10 where the Time for Data Output Valid from the rising clock
edge TD and the Data Output Transition Time TSDATAOTR are defined.
VTPmax
SCLK
VTNmin
TD TD
TSDATAOTR TSDATAOTR
VOHmin
SDATA
VOLmax
124 The data timing specification is given in Table 4. Half Speed Device timing is valid for readback operation
only as described in Section 6.7.3.
VOHmin
(VTPmax)
SCLK
VOLmax
(VTNmin)
TSDATAZ
VOHmin
SDATA
VOLmax
TSDATAZ is measured from SCLK VOL level for the master device driving SCLK and SDATA lines
TSDATAZ is measured from SCLK VTN level for a device receiving SCLK and driving SDATA lines
126 The Bus Park Cycle as shown in Figure 11 is a special bus condition that facilitates the change of SDATA
control for bus turnaround purposes. The SDATA line is driven to a logic level zero while SCLK is at a logic
level one. The SDATA line is released on the falling edge of SCLK. The Bus Park Cycle is also used at the
end of all Command Sequences.
127 TSDATAZ timing specification in Table 5 is referenced to VOLmax and VTNmin in Figure 11. Half Speed
Device timing is valid for readback operation only as described in Section 6.7.3.
128 TSDATAZ data signal specification is measured from the falling edge of SCLK (either from VOLmax when the
device is driving SCLK and SDATA lines, or from VTNmin when the device is receiving SCLK and driving
the SDATA lines).
130 Figure 12 defines the setup time, TS, and hold time, TH, of the data signal SDATA with respect to the falling
edge of the clock, SCLK. V OHmin , V OLmax, and V TPmax , V TNmin are defined in Table 7 and Table 8,
respectively.
131 Based on the SCLK High Time, TSCLKOH, of 11.25 ns in Full Speed mode from Table 3, and the time for
Data Output Valid from SCLK rising edge, TD, of 10.25 ns from Table 4, the Data setup time, TS, is 1 ns.
VTPmax
SCLK
VTNmin
TS TH TS TH
VTPmax
SDATA
VTNmin
132 The data setup and hold timing specification for Half Speed and Full Speed devices is given in Table 6. Half
Speed Device timing is valid only for Slave readback operation.
133 Timings are referenced to VTPmax and VTNmin defined in Table 7 and are measured at the input of the device.
PWR_MODE register (see Section 6.9.1.4.1). VIO, as described in Section 5.2, has priority over any RFFE
Command Sequences.
VIO = HIGH
SHUTDOWN STARTUP
(Registers Reset to Default)
1
0 b0
E=
OD
R _M
PW
PWR_MODE = 0b01
VIO = LOW
(automatic)
VI
O
=
LO
W
PWR_MODE = 0b00
4.3.1 STARTUP
137 The STARTUP state is the default condition after a reset. The STARTUP state is entered from SHUTDOWN
when VIO voltage supply is applied (see Section 5.2.1) and from any other state by using the PWR_MODE
register (see Section 6.9.1.4.1). The internal power-up (or power-down) process of the Slave is device-
specific. The order in which functional blocks or sub-modules activate, and the time required to activate
them, depend on the needs of the target application and component. From STARTUP, a Slave shall transition
automatically into the ACTIVE state.
4.3.2 ACTIVE
138 The ACTIVE state is the normal operating condition of a Slave after the power-on procedure. The
configuration of any functional block or sub-module on the Slave is either user-defined or specified by the
device manufacturer. In the ACTIVE state, a Master may control operating values on the Slave by
programming the corresponding Slave control registers.
141 In the LOW POWER state the Master may program the corresponding RFFE control registers in the Slave
device. The only way to exit the LOW POWER state is to write to the PWR_MODE register or by toggling
VIO.
4.3.4 SHUTDOWN
142 In the SHUTDOWN state, the Slave interface is off. (see Section 5.2.2)
143 SHUTDOWN state is entered from any other state when VIO is removed. Exit from the SHUTDOWN state
to STARTUP is achieved when VIO voltage supply is applied.
5 Physical Layer
145 This section describes the physical layer. It is based on a subset of [MIPI03].
To other
RFFE devices
TX DATA TX DATA
RX DATA RX DATA
To other
RFFE devices
TX DATA
RX DATA
Figure 15 SDATA Master and Slave I/O Cells for an Non-readback Capable Slave
147 Figure 16 shows the I/O structures required for the clock signal for both Master and Slave.
To other
RFFE devices
SCLK OUT
ENABLE
148 SDATA and SCLK pull-downs may be implemented as internal or external components or current sources.
Some examples are shown in Figure 14, Figure 15, and Figure 16. Internal pull-downs shall be implemented
only on a Master.
149 The I/O cells shall be implemented with high impedance input structures and output drivers that are high
impedance when not active. I/O cells with typical CMOS structures usually provide these characteristics.
VIO
External
VIO supply
VIO
VIO Vreg
VIO
POR
.
.
.
SCLK
SDATA .
.
.
VIO Vreg
SCLK .
.
.
VIO Vreg RFFE
level Digital ANALOG
translation Core
SDATA .
.
.
163 VIO shall be either 1.2 V or 1.8 V and the voltage supply variation shall be less than or equal to the ± 8.33%
voltage tolerance range in Table 9.
164 The device providing VIO, whether included in the bus instance or not, shall meet the VIO supply pin output
current requirements in Table 9.
165 An RFFE component shall support either 1.2 V or 1.8 V operation and may support both voltage levels. If a
component on an RFFE bus instance is using the common VIO voltage as source for the RFFE interface
drivers it shall not exceed the maximum current loading requirements in Table 9.
166 Peak power consumption (peak current draw) of the RFFE interface is dominated by two characteristics:
167 • The capacitive loading on each of the interface lines (SDATA and SCLK), and
168 • The voltage signal swing on each of these interface lines.
169 As an example, when operating from a 26 MHz timebase with a capacitive load on each interface line of
50 pF, the peak dynamic current required is 20 mA (for each line) when the transition time is restricted to
5 ns.
170 It is not economically desirable to burden the Slave with the need to support all possible RFFE bus capacitive
loads for readback. A readback capable Slave might meet all the SDATA drive and edge rate requirements of
the Master, but it is not required to do so. Specific system implementations might warrant designing the
RFFE bus with a load capacitance of 25 pF, or less. The Slave’s peak current drive requirements are lower as
the maximum SDATA bus capacitance drops (Section A.2). Example criteria that might drive this decision
include the maximum number of Slaves is known to be below the allowable maximum of fifteen; individual
Slaves have lower input capacitances; a smaller physical layout reduces the RFFE bus routing trace
capacitance.
173 When the VIO voltage supply is applied to the RFFE bus it shall enable the Slave interfaces and reset the
user-defined Slave registers to the device manufacturer's default settings which may be fixed, adjustable, or
programmable, depending on the Slave device capability.
174 SCLK and SDATA shall be at logic low levels when VIO is applied and shall remain low until the RFFE
interface is active. The SCLK and SDATA logic levels shall stay low for a minimum signal reset delay time
after VIO is applied as specified in Table 10, and shown in Figure 21.
175 At power-on, the reserved power mode and trigger register (PM_TRIG[7:0] at address 0x001C) shall be set to
0x00, effectively resetting PWR_MODE to normal operation (see Section 6.9.1.4.1) and clearing the trigger
mask bits TRIG_REG (see Section 6.9.1.4.2).
176 The optional programmable USID register value (USID[3:0]) shall be set to the default value, which may be
fixed, adjustable, or programmed, upon power-on (see Section 6.8.2).
178 If the Slave is off, the RFFE Slave interface is also off. If the Slave is active, the RFFE Slave interface is also
likely active. However, an RFFE Slave does not have the concept of connecting or disconnecting from the
RFFE bus. The Slave is simply active or not, depending on whether it responds to and receives Command
Sequences on the bus it is connected to.
179 A Slave may turn off the RFFE interface when bus access is not needed by that device, even if the device is
otherwise active and functioning. A Slave may autonomously turn off its RFFE interface as desired, provided
that it does not interfere with other devices on the bus.
180 A Master or Slave may monitor RFFE bus signals even when it is not connected to the bus. For example, in
the case of an external VIO reference source, the Master may monitor the VIO level to know when the Slaves
will be asynchronously reset.
5.2.3 Reset
181 The VIO input to a Slave functions as an active low reset. When VIO is asserted or re-asserted, all of the
Slaves attached to that RFFE bus shall enter the STARTUP state and shall be asynchronously reset.
182 When the VIO voltage supply is reapplied to the RFFE bus, it shall re-enable the Slave interface and set the
user-defined Slave registers to the device manufacturer's default settings, whether these are fixed, adjustable,
or programmable default values. After a reset, reapplying VIO initiates Slave transitions from SHUTDOWN
to the STARTUP state and then automatically to the ACTIVE state. (see Section 4.3.1 and Section 5.2.1).
183 VIO is the only required reset. However, Slave registers may also be synchronously set to their default values,
whether these are fixed, adjustable, or programmable default values, by register programming PWR_MODE
to the Default Settings mode (see Section 6.9.1.4.1). Additionally, an optional Reset signal may be used (see
Section A.1.1), or other device-specific reset functions, but these shall not interfere with the reset methods
defined in the RFFE Specification.
184 A diagram depicting the requirements fromTable 10 for a VIO-initiated reset is shown in Figure 21.
VIO, V
TSIGOL
VIO(max)
[NOTE: Not to Scale]
VIO(min)
TVIO-RST
VVIO-RST TVIO-R
(0.2 V)
Time
185 As shown in Figure 21 and Table 10, certain requirements must be met by an assertion (or re-assertion) of
VIO, following any VIO deassertion. For VIO deassertion the voltage level on VIO must attain a voltage of
0.2 V or less, and this must be maintained for a minimum of TVIO-RST during the dessertion of VIO.
186 Upon re-assertion the VIO voltage source shall be capable of returning VIO to the appropriate VIO(min)
level within TVIO-R. After VIO attains a voltage level of VIO(min), or greater, a minimum reset time of TSIGOL
must be allotted before any RFFE bus activity is initiated on the SCLK and SDATA lines. This time is
intended to allow for the asynchronous set/reset of all Slave registers to the manufacturer’s default settings,
whether the default settings are fixed, adjustable, or programmable. Note that the value given for TSIGOL is a
minimum requirement. Due to the fact that various implementation scenarios are possible, the time required
for a specific device to be able to resume normal operations after re-assertion of VIO is implementation-
specific, and shall be stated in each manufacturer’s device data sheet if additional requirements are necessary.
5.4 EMI
189 EMI artifacts from the RFFE bus could potentially interfere with very low noise RF circuits. In particular,
harmonics generated by the RFFE bus should be less than -180 dBm/Hz in the 3GPP bands (6 dB below the
noise floor) to avoid degrading receiver LNA sensitivity.
190 The noise coupling from RFFE interface pins onto sensitive RF pins is highly dependant on package isolation
and pin location. RFFE SCLK and SDATA signal pins should be located on the opposite side of the package
from noise sensitive RF pins when possible.For this analysis, a minimum package isolation of 40 dB at
700 MHz was assumed.
191 Investigation by the RFFE Working Group shows the worst case for RFFE generated EMI interference occurs
in the 700 MHz frequency bands when operating at VIO = 1.8 V.
192 The conducted emissions from each RFFE signal (SCLK and SDATA) shall be less than -90 dBm (voltage
equivalent) measured in a 100 kHz RBW at frequencies greater than or equal to 700 MHz measured in the
characterization circuit shown in Figure 22. A high impedance RF probe is required to perform the necessary
impedance transformation to 50 for this power measurement.
193 Typically, the roll-off of EMI at higher frequencies is greater than the reduction in package isolation. The
RFFE interface lines may have additional low-pass filtering with cutoff frequency exceeding 100 MHz to
provide extra EMI filtering above 700 MHz. Finite source resistance on the line driver results in such a
Lappish filter, though the cutoff frequency depends on the actual capacitance loading on each line.
6 Protocol Layer
195 This section describes the Protocol Layer.
SDATA
SCLK
SCLKint
6.2.2 Frames
205 There are three basic types of Frames:
206 • Command Frame, thirteen bits. See Section 6.2.2.1.
207 • Data or Address Frames, nine bits. See Section 6.2.2.2.
208 • No Response Frame, nine bits. See Section 6.2.2.3.
209 All Frames consist of data, address or command bits and a parity bit.
SCLK
SCLK
SCLK
SDATA 0 0 0 0 0 0 0 0 0
217 A Slave interprets the first thirteen bits after SSC as the Command Frame. If the Slave does not receive
thirteen SCLK pulses it waits for the missing clocks to appear, unless another SSC occurs. If there are extra
pulses after the Command Frame, the pulses are interpreted as part of the subsequent Address and Data
Frames. Any additional SCLK pulses after an otherwise correctly formatted, complete Command Sequence
are ignored because the Slave is expecting an SSC, and it will synchronize itself to the next SSC when it
appears. It is unlikely a Slave will be able to distinguish an incompatible Command Sequence length, but it
shall be able to identify any unknown Command Sequences, parity bit errors and the occurrence of an SSC
embedded in a Command Frame.
218 For the case of Extended Read and Extended Write Command Sequences, as described in Section 6.7.2, any
Command Sequence shall be considered valid until the last completed byte in a multi-byte Command
Sequence, prior to the receipt of an SSC. This does not prohibit a Slave from defining a set of registers that
are updated only after an entire Extended Command Sequence has completed. However in general, it is
assumed that a Slave updates each byte immediately after the byte is successfully received in a Data Frame.
SDATA
16 (Reserved) 0 0 0 1 0 1 1 0 P Undefined
17 (Reserved) 0 0 0 1 0 1 1 1 P Undefined
18 (Reserved) 0 0 0 1 1 0 0 0 P Undefined
19 (Reserved) 0 0 0 1 1 0 0 1 P Undefined
1A (Reserved) 0 0 0 1 1 0 1 0 P Undefined
1B (Reserved) 0 0 0 1 1 0 1 1 P Undefined
1C (Reserved) 0 0 0 1 1 1 0 0 P Undefined
1D (Reserved) 0 0 0 1 1 1 0 1 P Undefined
1E (Reserved) 0 0 0 1 1 1 1 0 P Undefined
MIPI Alliance Member Confidential
1F (Reserved) 1 0 0 0 0 1 1 1 1 1 P Undefined
20 0 0 0 0
Up to 16 Bytes of Data with Parity
Y O - Extended Register Read SA[3:0] 0 0 1 0 BC[3:0] P Address[7:0] P BP BP
Master must support up to 4 bytes
2F 1 1 1 1
30 0 0 0
O O - Extended Register Write Long SA[3:0] 0 0 1 1 0 BC[2:0] P Address[15:8] P Address[7:0] P Up to 8 Bytes of Data with Parity BP
37 1 1 1
38 0 0 0
O O - Extended Register Read Long SA[3:0] 0 0 1 1 1 BC[2:0] P Address[15:8] P Address[7:0] P BP Up to 8 Bytes of Data with Parity BP
3F 1 1 1
40 0 0 0 0 0
46
Notes
All non-implemented Command Sequences and register accesses are ignored, resulting in a null response.
Register 0 Write
Register Write
Register Read
SCLK
SCLK
A B
SDATA P A7 A6 A5 A4 A3 A2 A1 A0 P
SCLK
B C
SDATA P D7 D6 D5 D4 D3 D2 D1 D0 P
SCLK
SDATA P D7 D6 D5 D4 D3 D2 D1 D0 P 0
Bus
Last Data Frame Park
248 The four LSBs of the Extended Register Read Command Frame, BC[3:0] in Figure 30, indicate the number
of bytes to be read in the Command Sequence. BC3 is the byte count MSB. 0b0000 indicates one byte shall be
read and 0b1111 indicates sixteen bytes shall be read.
249 The register address in the Command Sequence contains the address of the first extended register to be read.
If more than one byte is read in a single Command Sequence then the Slave's local extended register address
shall be automatically incremented by one for each byte read up to address 0xFF, starting from the address
indicated in the Address Frame. If the extended register address reaches 0xFF before the last Data Frame in
the Command Sequence, then the content of the register at address 0xFF is read multiple times. An Extended
Register Read Command Sequence by the Master to an unsupported Slave extended register address results
in a No Response Frame from the Slave. If the address that results from auto-incrementing the Slave's local
extended register address is for an unsupported register then the Slave sends a No Response Frame to the
Master in place of the Data Frame. The Command Sequence continues from the next extended register
address.
SCLK
SCLK
A B
SDATA P A7 A6 A5 A4 A3 A2 A1 A0 P 0
Bus
Register Address (Data Frame) for First Register Park
SCLK
B C
SDATA 0 D7 D6 D5 D4 D3 D2 D1 D0 P
SCLK
SDATA P D7 D6 D5 D4 D3 D2 D1 D0 P 0
Bus
Last Data Frame (from Slave) Park
252 The three LSBs of the Extended Register Write Command Frame, BC[2:0] in Figure 31, indicate the number
of bytes to be written in the Command Sequence. BC2 is the byte count MSB. 0b000 indicates one byte shall
be written and 0b111 indicates eight bytes shall be written.
253 The register address in the Command Sequence contains the address of the first extended register to be
written. If more than one byte is written in a single Command Sequence, then the Slave's local extended
register address shall be automatically incremented by one for each byte written up to address 0xFFFF,
starting from the address indicated in the Address Frame. If the extended register address reaches 0xFFFF
before the last Data Frame in the Command Sequence, then the content of the register at address 0xFFFF is
overwritten with the overflow data.
SCLK
SCLK
A B
SCLK
B C
SDATA P A7 A6 A5 A4 A3 A2 A1 A0 P
SCLK
C D
SDATA P D7 D6 D5 D4 D3 D2 D1 D0 P
SCLK
SDATA P D7 D6 D5 D4 D3 D2 D1 D0 P 0
Bus
Last Data Frame Park
255 Figure 32 shows the Extended Register Read Long Command Sequence. The Command Sequence starts with
an SSC followed by the Extended Register Read Long Command Frame, two Address Frames and one or
more Data Frames with the data read from the Slave. A Bus Park Cycle occurs between the Address Frame
and the Data Frames. The Command Sequence ends with a Bus Park Cycle.
256 The three LSBs of the Extended Register Read Long Command Frame, BC[2:0] in Figure 32, indicate the
number of bytes to be read in the Command Sequence. BC2 is the byte count MSB. 0b000 indicates one byte
shall be read and 0b111 indicates eight bytes shall be read.
257 The register address in the Command Sequence contains the address of the first extended register to be read.
If more than one byte is read in a single Command Sequence, then the Slave's local extended register address
shall be automatically incremented by one for each byte read up to address 0xFFFF, starting from the address
indicated in the Address Frame. If the extended register address reaches 0xFFFF before the last Data Frame
in the Command Sequence then the content of the register at address 0xFFFF is read multiple times. An
Extended Register Read Long Command Sequence by the Master to an unsupported Slave extended register
address results in a No Response Frame from the Slave. If the address that results from auto-incrementing the
Slave's local extended register address is for an unsupported register, then the Slave sends a No Response
Frame to the Master in place of the Data Frame. The Command Sequence continues from the next extended
register address.
SCLK
SCLK
A B
SCLK
B C
SDATA P A7 A6 A5 A4 A3 A2 A1 A0 P 0
Bus
Register Address Lower Byte (Data Frame) Park
SCLK
C D
SDATA 0 D7 D6 D5 D4 D3 D2 D1 D0 P
SCLK
SDATA P D7 D6 D5 D4 D3 D2 D1 D0 P 0
Bus
Last Data Frame (from Slave) Park
SCLK
SCLK
SDATA P D7 D6 D5 D4 D3 D2 D1 D0 P 0
Bus
Data Frame Park
SCLK
SCLK
SDATA P 0 D7 D6 D5 D4 D3 D2 D1 D0 P 0
Bus Bus
Park
Data Frame (from Slave) Park
SCLK
Bus
SSC Slave Address Data Parity
Park
SCLKint
SCLK
SCLKint
SCLK
A B
SDATA P 0 D7 D6 D5 D4 D3
Bus
Park
Data Frame (from Slave)
SCLKint
SCLK
SDATA D3 D2 D1 D0 P 0
be assigned to multiple devices in a system. GSID are described in detail in Section 6.8.3. Unique Slave
Identifier numbers and Group Slave Identifier numbers are collectively referred to as Slave Identifiers (SID).
271 In the case where the same Slave is used multiple times in the system on the same bus, Slaves need a method
to identify themselves. Devices with pins or pads which may be tied or low to provide a unique USID is one
option. Another option is to have multiple RFFE buses. If the total number of Slaves is fifteen or less, then
SCLK could be shared. A second SCLK should be used for systems with sixteen or more Slaves. With a
shared SCLK, only one SDATA may be active at a given time.
272 The predefined SIDs listed in Table 13 are a guideline for choosing IDs and are not mandatory. Guidelines are
given so that a component may be used in multiple systems without requiring its USID to be programmed or
programmable.
277 The USID shall be programmed using only the programming procedures described in this section. A Master
shall support both USID programming procedures. A Slave shall support at least one of the USID
programming procedures.
278 The following programming procedure provides details for using Register Write Command Sequences to
program the USID:
279 • Register Write Command Sequence to register 0x001D; the Data Frame needs to match PRODUCT_ID.
280 • Register Write Command Sequence to register 0x001E; the Data Frame needs to match
MANUFACTURER_ID[7:0].
281 • Register Write Command Sequence to register 0x001F with SPARE[1:0], MANUFACTURER_ID[9:8],
and the new USID in the Data Frame; if the PRODUCT_ID and the MANUFACTURER_ID match, then
a new USID is programmed.
282 If the programming procedure Command Sequences do not occur in the order given, the Slave shall not
update its USID.
283 If during the programming procedure, the Slave receives any other Command Sequence with an SA equal to
the Slave’s USID, or the Broadcast ID, the Slave shall not program its USID and the programming procedure
shall be terminated. However, the Master may access other devices on the RFFE bus during the programming
procedure. Command Sequences sent to other devices on the RFFE bus shall not cause the Slave being
programmed to terminate the programming procedure.
284 The programming procedure for programming a new USID using the Register Write Command Sequence is
shown in Figure 37.
SCLK
A
1 1 1 0 1
SDATA SA3 SA2 SA1 SA0 0 1 0 A4 A3 A2 A1 A0 P
SCLK
Bus
Data Frame (PRODUCT_ID[7:0]) Park
SCLK
B
1 1 1 1 0
SDATA SA3 SA2 SA1 SA0 0 1 0 A4 A3 A2 A1 A0 P
SCLK
Bus
Data Frame (MANUFACTURER_ID[7:0]) Park
SCLK
C
1 1 1 1 1
SDATA SA3 SA2 SA1 SA0 0 1 0 A4 A3 A2 A1 A0 P
SCLK
Bus
Data Frame (MANUFACTURER_ID[9:8], USID[3:0]) Park
285 The following programming procedure provides details for using an Extended Register Write Command
Sequence to program the USID:
286 • Command Frame: Current USID, 0b0000, BC[3:0] and P
where BC[3:0] = 0b0010 = three bytes of data
287 • Data Frame:
Byte 1: Starting Address: Address of PRODUCT_ID (0b00011101 and P = 0b1)
Byte 2: Product ID (Value of Register 0x001D and P)
Byte 3: MANUFACTURER_ID[7:0] (Value of Register 0x001E and P)
Byte 4: 0b00, MANUFACTURER_ID[9:8], New USID, P and BP
288 If the PRODUCT_ID and the MANUFACTURER_ID match, then a new USID is programmed.
289 The programming procedure for programming a new USID using the Extended Register Write Command
Sequence is shown in Figure 38.
SCLK
A
0 0 1 0
SDATA SA3 SA2 SA1 SA0 0 0 0 0 BC3 BC2 BC1 BC0 P
SCLK
A B
0 0 0 1 1 1 0 1 1
SDATA P A7 A6 A5 A4 A3 A2 A1 A0 P
SCLK
B C
SCLK
C D
SCLK
Bus
Last Data Frame (MANUFACTURER_ID[9:8], USID[3:0]) Park
290 Since the Master supports both the Register Write and the Extended Register Write Command Sequences, a
Slave may support either, or both, methods.
291 If a device supports an optional GSID, the GSID may be programmable or fixed. A programmable GSID is a
user-defined register which may only be altered (reprogrammed) by a Command Sequence with a matching
USID. The default value for a programmable GSID is 0b0000, which is the Broadcast ID. A programmable
GSID may be turned off by programming the GSID to be equal to the USID.
292 When the device enters the STARTUP state the USID reverts back to its initial USID. However, if the device
is placed in the LOW POWER state, the programmed USID remains the USID for the device. This also
applies to GSIDs.
293 If a Slave does not support the feature of a programmable USID, it shall reserve address location 0x001F, and
if it is a readable device, it could output the USID during a read operation of this address.
294 Read-supporting devices shall not reuse the same USID. Though not prohibited, write-only devices should
not reuse the same USID. In the case where the same Slave is used multiple times, some type of mechanism
such as having pins or pads which may be tied High or Low, or fuses within the device should be used to give
each device a unique Slave address.
6.9.1.1 PRODUCT_ID
299 The PRODUCT_ID[7:0] register is eight bits, which allows for 256 unique device identifiers. These eight
bits are defined by the vendors or systems outside the scope of this specification. For example, a vendor
manufactures two different GSM PAs and one ASM. The vendor might define the PRODUCT_ID as shown
in Table 16.
6.9.1.2 MANUFACTURER_ID
300 The MANUFACTURER_ID[9:0] register is ten bits in length, which allows for 1024 unique vendors. This
list of manufactureres [MIPI04] is controlled by the MIPI Alliance. Members may be added to this list as
needed. In each device this register is fixed and is a read-only register. This register is also used during the
programming of the USID.
6.9.1.3 USID
301 The reserved register USID is used to program a new USID for a Slave. The details of this function are
described in Section 6.8.3.
6.9.1.4 PM_TRIG
302 The PM_TRIG is a reserved register that is shared by the power modes and the trigger function. The
PWR_MODES register occupies the two MSBs and the TRIG_REG are the six LSBs of the PM_TRIG
register.
Table 17 PM_TRIG(7:0)
Bits Register
7:6 PWR_MODE
5:0 TRIG_REG
304 When an RFFE Slave is initially powered up, and comes out of reset, the Slave registers shall be in their
default settings, whether these defaults are fixed, adjustable, or programmable, and the PWR_MODE state is
set to Normal Operation, which is the ACTIVE state.
305 PWR_MODE sets the Default Settings mode via a Command Sequence that synchronously puts the Slave
registers to their default settings, whether these defaults are fixed, adjustable, or programmable, after which
PWR_MODE goes to the Normal Operation Mode.
306 The Low Power Mode allows the Slave to put device-specific defined registers to their low power state value.
The system user defines which registers have a low power state value. When PWR_MODE is switched out of
the Low Power Mode back to the Normal Operation Mode, the registers shall output their ACTIVE state
value. To exit the Low Power Mode into the Default Settings Mode, a value of 0b01 should be written to
PWR_MODE(1:0). Not all Slaves and not all registers within a Slave will necessarily have a low power
value. This is device- and system-specific.
307 Figure 39 illustrates an example implementation of the LOW POWER state value for a register. In this
example a LOW POWER state value has been defined for bits 2 and 0 of Register A. When instructed to enter
the LOW POWER state the values of RegisterA(2) and RegisterA(0) would take on the value of “Low Power
Value” as shown in the diagram, while RegisterA(7:3) and RegisterA(1) would all retain their previous values
for the duration of LOW POWER. Note that “Low Power Value” may be unique for each bit.
RFFE Slave
4
Register
A
2
Low Power Value
0
Low Power Value
PWR_ 1
MODE
(1:0) 0
308 For more advanced Slaves that may require more Power Modes, it is possible to utilize one of the user-
defined registers for this purpose; however, these additional states shall not replace or interfere with those
defined herein for PWR_MODE. Such additional states could be used for system- or device-specific power
modes beyond what is currently specified. This register may be designed to be broadcast-addressable or
device-addressable, at the discretion of the implementer.
317 All three triggers may be set for each device individually or may be broadcast to multiple devices. All triggers
may be controlled individually or as a group.
318 The trigger masks may be set solely for each device individually. If a register is a trigger register by default
the trigger is not masked. Only a write to a specific device using the USID shall change the mask control bits.
SCLK
SCLK
SDATA P 0 D7 D6 D5 D4 D3 D2 D1 D0 P 0
Bus Bus
Park
Data Frame (from Slave) Park
SCLK
SCLK
SDATA P 0 D7 D6 D5 D4 D3 D2 D1 D0 P 0
Bus Bus
Park
Data Frame (from Slave) Park
Data requested from preceding
Register Read Command
Sequence must be available.
6.10.2 Repeat the Register Read Command Sequence with Multiple Register
Reads
329 The second example is similar to the previous one, but may be used when multiple bytes of data need to be
read. In this case, the data read by a Register Read Command Sequence is the data that was requested by the
previous Register Read Command Sequence. In the case where the previous data is not available for any
reason, a No Response Frame may be used.
330 The Master may ignore the data provided by the Slave in the first Register Read Command Sequence, and
may repeat the Register Read Command Sequence of the last register to ensure it receives all the desired data
correctly.
331 A Slave that supports this method shall be capable of providing the data requested by a Register Read
Command Sequence by the start of the Data Frame of the subsequent Register Read Command Sequence.
332 Other RFFE bus activities or Command Sequences may occur between Register Read Command Sequences.
333 This method is suitable for a Slave that needs additional time to retrieve the requested data and has multiple
bytes of data needed by the Master. This method is more bandwidth-efficient when the Master needs to read
large amounts of data from the Slave.
334 The Repeat Register Read Command Sequence with Multiple Register Reads method is illustrated in
Figure 41. The example in the figure shows consecutive addresses, which is not a requirement, but is used to
illustrate one possible application of this method.
SCLK
A
Address = N
SDATA SA3 SA2 SA1 SA0 0 1 1 A4 A3 A2 A1 A0 P
SCLK
SDATA P 0 D7 D6 D5 D4 D3 D2 D1 D0 P 0
Bus Bus
Park
Data Frame (from Address N - 1) Park
SCLK
B
Address = N + 1
SDATA SA3 SA2 SA1 SA0 0 1 1 A4 A3 A2 A1 A0 P
SCLK
SDATA P 0 D7 D6 D5 D4 D3 D2 D1 D0 P 0
Bus Bus
Park
Data Frame (from Address N) Park
Data requested from address
= N Register Read Command
Sequence must be available.
in the register location - it is just used to initiate the fetching of the data. The data read by the Register Read
Command Sequence is the delayed readback data that was requested by the Register Write Command
Sequence. In the same address case the data is read-only for this register address, as the Write Command only
initiates the fetching of the data.
336 A Slave that supports this method shall be capable of providing the data requested by the Register Write
Command Sequence by the start of the Data Frame of the subsequent Register Read Command Sequence.
337 Other RFFE bus activities or Command Sequences may occur between the Register Write Command
Sequence and the Register Read Command Sequence used by this method. However, the Slave shall supply
the data requested by the Register Write Command Sequence in response to the Register Read Command
Sequence.
338 The pre-write a Register method is illustrated in Figure 42.
SCLK
SCLK
SDATA P D7 D6 D5 D4 D3 D2 D1 D0 P 0
Bus
Data Frame Park
SCLK
SCLK
SDATA P 0 D7 D6 D5 D4 D3 D2 D1 D0 P 0
Bus Bus
Park
Data Frame (from Slave) Park
Data requested from preceding
Register Write Command
Sequence must be available.
SCLK
A
0 0 1 0
SDATA SA3 SA2 SA1 SA0 0 0 1 0 BC3 BC2 BC1 BC0 P
SCLK
A B
0 0 0 0 0 1 1 1 0
SDATA P A7 A6 A5 A4 A3 A2 A1 A0 P 0
Bus
Register Address (Data Frame) for First Register Park
SCLK
B C
SDATA 0 D7 D6 D5 D4 D3 D2 D1 D0 P
SCLK
C D
SDATA P D7 D6 D5 D4 D3 D2 D1 D0 P
SCLK
SDATA P D7 D6 D5 D4 D3 D2 D1 D0 P 0
Bus
Requested and Last Data Frame (from Slave) Park
Data requested
must be available.
Signal driven by Master.
Signal driven by Slave.
Signal not driven; pull-down only.
For reference only.
7 Applications
344 This section defines features related to the usage of the RFFE specification in real world implementations and
configurations. Some features are mandatory and defined in detail whereas others are vendor choices and
thus only mentioned and briefly explained. These may be regarded as options as well, but usually do not
require any additional functionality in the Master or Slave, so it is more of an explanation of how to use
existing mandatory features to accomplish an optional desired functionality.
345 The RFFE bus is intended to be used in conjunction with a multitude of different air interface standards.
Ideally all possible use cases would be covered in this section; however, an exhaustive analysis and definition
of all possible RFFE use cases is not possible within the scope of this Specification. Instead this section
highlights a number of features that are necessary to ensure successful operation.
352 Typical Write Command Sequence lengths with a single byte of data are:
353 • 16 SCLK cycles in Register 0 Write (only seven LSBs are written)
354 • 25 SCLK cycles in Register Write
355 • 34 SCLK cycles in Extended Register Write
356 • 43 SCLK cycles in Extended Register Write Long
357 The Register Write supports a 5-bit address space, Extended Register Write and Extended Register Write
Long 8-bit and 16-bit respectively. Same applies to corresponding Read Command Sequences.
Table 21 Command Sequence Length Versus Command Sequence Type & Clock Rate
Extended Extended Extended Extended
Register 0 Register Register
Clock Rate Register Register Register Register
Write Write Read
Write Read Write Long Read Long
26 MHz 0.62 s 0.96 s 1.00 s 1.31 s 1.35 s 1.65 s 1.69 s
19.2 MHz 0.83 s 1.30 s 1.35 s 1.77 s 1.82 s 2.24 s 2.29 s
13 MHz 1.33 s 1.92 s 2.00 s 2.62 s 2.69 s 3.31 s 3.38 s
358 Table 21 summarizes Command Sequence lengths in s for various accesses types as a function of a few
typical bus clock rates. Note that only the shortest Command Sequences for Extended Register and Extended
Register Long accesses have been included in the table.
359 Table 22 illustrates the impact of the Half Speed read for Command Sequence lengths corresponding to the
respective Read Command Sequences in Table 21. The assumption here is that the readback is performed
with a clock rate being half of the clock rate used during the Command Frame. The lengths of the Command
Sequences in bits do not change but switching to a half frequency clock causes the readback Data Frames to
consume double the time than in the equivalent normal read.
Table 22 Command Sequence Lengths Using Half-Speed Read
Reduced
Command Frame Extended Register Extended Register
Readback Clock Register Read
Clock Rate Read Read Long
Rate
26 MHz 13 MHz 1.42 s 1.93 s 2.85 s
19.2 MHz 9.6 MHz 2.16 s 2.86 s 4.23 s
13 MHz 6.5 MHz 2.81 s 3.80 s 5.62 s
361 In addition to the typical length of bus access Command Sequences summarized in Table 21, a minimum of
10 ns has to be reserved for the Bus Park Cycle which separates two subsequent messages (see Section 6.2.4).
Knowledge of the number of control Command Sequences, their types, and the time available for control
allows the system designer to assess whether a control sequence may be accomplished. Note that the access
time is a function of the actual clock rate (see Table 21) – the slower the clock that is used, the more time the
Command Sequences consume.
362 Pre-loading of registers and usage of the triggering mechanism may be used to circumvent a potential timing
bottleneck (see Section 6.9.1.4.2). A well designed triggering approach could be capable of performing all
control with a precisely timed trigger Command Sequence. Defining such system is out of the scope of the
RFFE specification and left to the RF system designer.
7.1.2 Procedures
363 There are two RFFE procedures to be mentioned in more detail. Precise access timing is fundamental for the
applications utilizing the RFFE bus and additional clock provisioning is necessary to ensure that devices
connected to the bus with no other clock source obtain clocking in a controlled manner.
371 The trigger would initiate the fetching of data, although the challenge here is to provide a sufficient number of
clock cycles such that the data fetching may be completed during the clock cycles of the trigger Command
Sequence (in principle this means during the remaining clock cycles of the access when trigger identification
is done; in practice this likely requires only a cycle or two). Readback data may then be acquired with a read
access at some later time. This approach might require a specific register to temporarily store the read data,
but that is left to the implementer.
372 Note that use of extended Command Sequences allows read access timing to be deterministic. The clock
cycle in which the read access occurs may be known and thus, the Master may adjust the issuance of the
Command Sequence such that the read clock cycle occurs at the desired moment in time.
buses. It is up to the implementers of the Master devices or the systems designers to provide for this
capability.
384 Aborting an ongoing Command Sequence may be performed in some circumstances. However, this is
primarily reserved for malfunction condition on the bus, and thus the use of an SSC to terminate a Command
Sequence in process should not be used to resolve timing conflicts.
385 A wait function may be incorporated by stalling the bus (Master retains the signal state on SDATA and SCLK
until ready to continue). Although the wait function might not be typically needed in a single Master system,
it might be useful in cases where scheduling necessitates stalling the bus.
IC
Master
389 An RFFE device is a simple device, therefore only needing compliance with DDB Level 1. The response to a
DDB Level 1 request is an 80-bit field, which needs many gates to support. Thus, a DDB request is not passed
to Slaves.
390 In an RFFE implementation, the Master shall construct the full DDB Level 1 field for every requested device.
In order to do this, the Master shall first fetch the MANUFACTURER_ID and PRODUCT_ID from the
requested Slave using ordinary RFFE Read Command Sequences (see Section 6.7). Using the
MANUFACTURER_ID and PRODUCT_ID the Master shall build the corresponding complete DDB block
as defined in Table 23.
391 The implementation of the DDB block builder in the Master is vendor-specific and may be accomplished in
hardware, software, or some combination of the two.
392 Note that interfacing of the Master to the next hierarchal level (either in HW or SW) is out of the scope of the
RFFE Specification. Thus it is assumed that such a connection exists, and that the Master has the capability of
providing DDB Level 1 data over that connection by whatever means are specified by device implementers.
398 C L(PKG) = n + 1 C est , where n is the # of Slaves and C(est) is per device
399 A four-Slave system configuration with package capacitance of 2 pF per Slave device (and Master) gives the
following result:
401 An eight-Slave system configuration with package pin capacitances of 2 pF per Slave device and 2 pF for the
Master then gives the following result:
403 A maximally-configured RFFE system, with fifteen Slaves and one Master, each with a package capacitance
of 2 pF per device gives the following result:
405 Note that where differing values are known for specific devices that are to be used in an RFFE system, the pin
capacitance values of the Master and the pin capacitance for each of the Slave devices may be individually
summed to achieve a more accurate estimate for the total pin capacitance value of the proposed system.
406 The next step is to calculate an estimate of the capacitive load due to PCB interconnect, CL(INT). The estimate
used here is that the PCB interconnect contributes 4 pF for up to four Slaves connected to a single Master,
with an additional 1 pF for each additional Slave. CL(INT) is expressed with the following equation:
407 C L(INT) = 4 pF + n – 4 1 pF
408 Thus, for a four-Slave system, the capacitive load due to the estimated interconnect is 4 pF.
409 For an eight-Slave system, the estimation for interconnect load is given by the following equation:
410 C L(INT) = 4 pF + 8 – 4 1 pF = 8 pF
411 Similarly, for a fifteen-Slave system, the estimation for interconnect load is given by the following equation:
412 C L(INT) = 4 pF + 15 – 4 1 pF = 15 pF
413 As with pin capacitance, more accurate values for the interconnect may be substituted if they are known.
More accurate estimates may be achieved in cases where factors such PCB material characteristics, layer
stack-up, layout style, and other variables specific to a given situation are available.
414 The final step is to calculate the total load, CL(TOT), which is the sum of all of the package loads and the
estimated interconnect load, as is shown in the following equation:
416 Thus, for the eight-Slave example, the total load is given by the following equation:
417 C L(TOT) = 18 pF + 8 pF = 26 pF
418 A fully-configured RFFE bus, with fifteen Slaves, using the estimated values assumed here, would result in a
total load as shown by the following equation:
419 C L(TOT) = 32 pF + 15 pF = 47 pF
420 Device manufacturers and system integrators are encouraged to utilize more accurate values for these
parameters if/when they are available. Nonetheless, it is useful to be able to utilize this type of quick
estimation in order to be able to make trade-offs in potential RFFE configurations, particularly with regards
to the decision to implement single or multiple RFFE buses, when the number of Slaves to be controlled
becomes larger. Segmentation of various devices to separate buses might allow for easier realization of
certain characteristics to be achieved for selected devices in an RFFE system. It might also be useful in
systems with a large number of devices to provide separate buses to help ensure that all devices achieve the
highest speed and timing reliability.
421 As may be seen from these calculations, the actual values used for device pin capacitances, and the additional
interconnect load contribution from the board environment utilized, can have a substantial impact on the total
RFFE bus load. These contributions will typically have to be minimized for maximally-configured RFFE bus
implementations. Although the RFFE Specification provides for buses encompassing a large number of
components, there are performance constraints that might require additional considerations. IC providers and
systems integrators thus need to perform trade-offs to maximize bus performance, while at the same time
minimizing additional pins and device interconnections. Such factors may actually result in a choice to
deploy multiple RFFE buses, where a single bus might otherwise be possible. However, bus loading is only
one reason why such a decision might be made, since other performance factors could also influence this
assessment.
B.2.11 EMI
437 The RFFE specification places additional requirements on the signaling waveforms for EMI reduction
reasons; the rise and fall times in the SPMI specification are defined differently. A Master designed for SPMI
might not necessarily meet the slew rate requirements of the RFFE specification.
0 1 to 31
Register 0 Write
Register Write
Register Read
Participants
446 The following list of individuals contributed to the development of this document, and consented to appear
on this list. For a listing of all individuals who contributed to the original RFFE v1.00.00 release, see MIPI
Alliance Specification for RF Front-End Control Interface - Version 1.00.00 – 3 May 2010.