基于MIPI 规范的从端D-PHY 数字电路设计*
2021-11-26张自豪赵建中周玉梅
张自豪,赵建中,周玉梅
(1.中国科学院微电子研究所,北京 100029;2.中国科学院大学,北京 100049)
0 引言
早在2003 年,ARM、诺基亚、德州仪器和意法半导体四家公司就预见了智能、多媒体手机的广阔市场前景,成立了移动产业处理器接口(Mobile Industry Processor Interface,MIPI)联盟[1]。目前,所有主要的芯片厂商使用MIPI 规范,所有智能手机都至少使用一种MIPI 规范。串行显示接口(Display Serial Interface,DSI)协议是MIPI 联盟推出的针对高速显示接口的规范[2],多用于移动终端系统[3],其特点是高速、灵活和低功耗[4]。DSI 协议架构的最低层是物理层(Physical Layer,PHY),规范了发送端(主端)和接收端(从端)通道的电学特性和通道建立时的时序要求[5]。D-PHY 规范是一种常用的兼容DSI 协议的物理层规范[6]。
D-PHY 一般包含一个时钟通道,一到四个数据通道,主要的工作模式有高速(High Speed,HS)模式、低功耗(Low-Power,LP)模 式[7]。高速模式下,D-PHY 通道采用差分点对点传输,提供源同步时钟,数据传输采用突发式(Burst)传输,单通道数据传输速率最高支持1.5 Gb/s(D-PHY v1.1 规范),主要用于传输高速的图像、视频数据流。低功耗模式下,D-PHY 只有通道0 工作,通道无端接,数据传输低速且可间断,是一种异步通信模式[8],通道数据传输速率最高支持10 Mb/s(D-PHY v1.1 规范),主要用于传输控制和状态信号事务。
本设计主要关注以下问题的研究:(1)低功耗模式下,是异步通信模式,如何实现数据的采样以及满足低功耗要求;(2)高速模式下,D-PHY 时钟最高达到1.5 GHz,如何满足电路时序要求和四通道之间数据的对齐。
1 从端D-PHY 规范
D-PHY 是DSI 协议的最低层次,有主端和从端之分,图1 所示为从端D-PHY 单通道架构图,包含高速接收功能模块(HS-RX)、低功耗功能模块(LP-RX)和冲突检测功能模块(LP-CD)。本设计的从端D-PHY 包含一个时钟通道和四个数据通道,其中时钟通道只工作在高速模式和超低功耗模式;数据通道只有通道0 支持所有的模式,其他三个通道只有高速模式和超低功耗模式。
图1 从端D-PHY 单通道架构图
传输线Dp、Dn 在高速模式下为差分小信号,在低功耗模式下为单端全摆幅信号[9-10]。D-PHY 规范将Dp、Dn编码成不同的通道状态,如表1 所示。
表1 D-PHY 通道状态
1.1 从端D-PHY 低功耗模式
低功耗模式主要传输DSI 协议规定的控制命令和状态信息。D-PHY 复位之后处于低功耗模式,并且在D-PHY 进入高速模式之前,需要低功耗电路提前工作,将高速驱动电路使能以及端接电路使能打开,才能建立稳定可靠的高速传输连接。低功耗模式电路主要功能为:模拟前端进行模拟单端信号Dp 和Dn 的有效接收,并输出正确的逻辑电平给数字电路。数字电路通过Dp和Dn 的逻辑电平值,进行不同的时序控制和逻辑组合。
通过检测Dp、Dn 线路上的逻辑电平,D-PHY 首先通过一段引导码(Entry Code)进入低功耗模式,D-PHY规范规定的低功耗模式引导码为:LP11→LP10→LP00→LP01→LP00。之后,D-PHY 根据不同的8 bit 进入命令码(Entry Command)进入到不同的低功耗模式,低功耗模式可细分为三种模式:低功耗传输模式(Low-Power Data Transmission,LPDT)、超低功耗模式(Ultra-Low Power State,ULPS)和复位模式(Reset-Trigger)。对应关系如表2 所示。
表2 进入命令码
低功耗模式下的8 bit 进入命令码和8 bit 低速数据是通过对Dp、Dn 逻辑电平进行空格-独热码(Spaced-One_Hot)解码得到的。空格独热码是一种特殊的编码方式,它使用2 组LP 状态值来表示数据“0”和数据“1”,每个Mark 状态紧邻一个Space 状态,即Mark1(LP10)和Space(LP00)表示数据“1”,Mark0(LP01)和Space(LP00)则表示数据“0”。
1.2 从端D-PHY 高速模式
D-PHY 在高速模式下主要传输高速的图像和视频数据流,数据传输采用Burst 传输方式,D-PHY 规范规定一次Burst 传输的最低有效数据为1 Byte。为了协助从端进行高速数据流的同步,D-PHY 规范规定主端在传输有效数据之前,必须先发送8 位的帧头同步码(Sync码),有效数据传输结束后再发送一段尾流码(Trailer码)。规范规定的8位Sync码为0001_1101,Trailer 码 为最后一位有效数据的反相,为全“0”或者全“1”。
在Burst 高速数据传输时,通过检测Dp、Dn 线路上的逻辑电平,D-PHY 首先通过一段引导码进入高速模式,D-PHY 规范规定的高速模式引导码为:LP11 →LP01 →LP00,进入到高速模式之后,Dp、Dn 线路电压的摆幅降低,以差分形式工作,此时线路的端接并不能保证能稳定工作,所以D-PHY 规范规定发送端在进入高速模式以后先发一段时间(Ths-zero)的HS-0 数据,再接着发送Sync码、有效Burst 载荷数据和trailer 码。不传输burst 高速数据时,Dp、Dn 维持在STOP 通道状态。
2 从端D-PHY 电路实现
从端D-PHY 是一个数模混合电路,主要功能是通过差分Dp、Dn 通道线路,接收从主端发送来的串行比特流(bit)数据,将模拟信号转换为数字信号,解串出并行有效数据,并进行数据帧头同步检测,再将帧同步后的数据以字节(Byte)的形式传给协议上层。从端D-PHY电路架构图如图2 所示。
图2 从端D-PHY 电路架构图
2.1 低功耗模式下异步时钟
D-PHY 在低功耗模式下是一种异步通信模式,数据通道的传输不依赖于时钟通道。对于异步信号的采样,一般来说要满足采样时钟频率至少是异步信号变化速率的1.5 倍[11]。文献[1]采用外挂40 MHz 本地时钟对Dp、Dn 通道状态进行过采样。低功耗模式下,数据传输是低速、可间断的,外挂一个过采样时钟显然会增加电路的动态功耗,并且额外消耗了系统资源。引导码和Spaced-One-Hot 的编码特点是:两次通道状态传输之间会发送一次Bridge 状态或者Space 状态,其值都为LP00,本设计根据这一特点提出了一种低功耗模式下异步时钟生成电路,可实现异步数据的有效采样。此异步时钟只在Dp、Dn 变化时才会跳变。实现方式如下:通过调用工艺库里的标准延时单元DLY4X1,分别将Dp、Dn 延时后的信号Dp′、Dn′和Dp、Dn 相异或得到clk_p 和clk_n,再将clk_p 和clk_n 相或再反相得到异步时钟clk_esc。电路设计如图3 所示。
图3 异步时钟生成
2.2 低功耗模式电路实现
低功耗模式电路如图4 所示。低功耗模式控制通路的主要功能是保证从端D-PHY 通过异步时钟clk_esc能够采样到正确且对应的引导码,进入正确的工作模式,由D-PHY 一个状态机 (Finite State Machine,FSM) 来控制,通过检测不同的线路电平进入不同的状态,状态转移图如图5 所示。
图4 低功耗模式电路图
图5 低功耗模式状态转移图
D-PHY 复位结束之后,处于STOP 状态,打开低功耗接收机进入线路电平检测模式,之后根据不同的引导码进行状态跳转,其中ESC_CMD 为进入命令码判断状态,8 bit 进入命令码由数据通路给出;低功耗模式下,当再次检测线路电平为LP11 时,D-PHY 回到STOP 状态,等待下一次低功耗传输。
数据通道进行Spaced-One-Hot 的解码,输出进入命令码,并且在LPDT 模式下输出8 bit 的低速数据。数据通道的实现电路如图5 所示,State_Ctrl 为状态机控制模块,在ESC_CMD 和LPDT 状态下进行计数和Spaced-One-Hot 解码,分别由Data_Cnt 和Data_Decode 模块实现,其中Data_Cnt 是一个4 位二进制计数器,控制Data_Decode模块,实现8 比特的数据输出。
2.3 高速模式电路实现
D-PHY 在高速模式下采用同步通信机制,提供源同步的时钟通道和数据通道。高速模式下的时钟是一种DDR 时钟。本设计采用四个数据通道实现,由于工艺角偏差和路径延时,四通道之间的数据偏差必须进行精确的测算,在设计过程中采取一定的预估考量方式。
本设计根据以往的数模混合电路设计经验,将高速模式数模电路的功能划分如图所示。DDR 时钟的分频以及四通道数据的串并转换由模拟电路实现,模拟电路使用分频时钟将四通道8 bit 并行数据打出。数字电路实现高速模式的进入退出时序控制以及各个通道的有效数据Sync 码检测。采用此功能架构划分,模拟电路通过后仿真可以十分精确地得到四通道之间的数据偏差,通过搭建模拟电路Verilog 模型,将通道之间的偏差信息反标进去,供数字电路进行仿真验证分析。另外,时钟分频和串并转换功能由模拟电路实现,则不用将4 通道高速时钟全部输出给数字部分,只需输出一路分频后的低速时钟即可,降低了数字电路的时序约束。
2.3.1 时钟通道高速模式实现
D-PHY 时钟通道只在需要进行高速Burst 数据传输时才使能,为了节省功耗,其他时间都只工作在超低功耗模式。所以相较于数据通道,时钟通道的具体实现电路相对简单。时钟通道的时序控制由一个状态机控制,通过检测单端Dp、Dn 线路电平,时钟通道通过引导码LP11→LP01→LP00 进入高速模式,此时需打开时钟通道的高速端接使能,端接建立完成后,Dp、Dn 为高速差分信号,接收高速DDR 时钟,高速传输结束后,D-PHY 断开端接,单端Dp、Dn 信号维持LP11 状态,时钟通道回到STOP 状态。非高速传输模式下,时钟通道通过引导码LP11→LP10→LP00→LP01→LP11 进入和退出超低功耗模式。时钟通道状态机如图6 所示。
图6 时钟通道状态转移图
2.3.2 数据通道高速模式实现
对于数据通道,时序控制由一个状态机实现,如图7所示。通过检测单端Dp、Dn 线路电平,D-PHY 通过引导码LP11→LP01→LP00 进入高速模式,此时需打开数据通道的高速端接使能,端接建立完成后,Dp、Dn 为高速差分信号,接收高速差分数据。模拟电路将差分串行数据解串成8 bit 并行数据,数字电路进行并行数据的Sync 码帧头检测,检测到并行数据的帧头以后,接下来的才是有效的载荷数据。高速传输结束后,D-PHY 断开端接,单端Dp、Dn 信号维持LP11 状态,数据通道回到STOP 状态。
图7 数据通道高速模式状态转移图
同步Sync 码的检测由Sync_Detector 电路实现,电路示意图如图8 所示,sync_in 是模拟电路串并转换输出的未对齐的8 bit 并行数据,其中,8 位Sync 码可能刚好存在于1 byte 的数据中或者连续2 byte 数据之间。Reg1~3是级联的8 位D 触发器,采用“滑动窗口”检测的方式判断Reg1 和Reg2 连续2 byte 数据中Sync 码的位置,检测成功后生成位置标记信号,再将Reg2 和Reg3 对应位置的数据做一次拼接,得到帧同步后的8 bit 对齐数据sync_out。
图8 Sync 码检测电路图
3 电路仿真与逻辑综合
3.1 从端D-PHY 仿真验证
本设计搭建Testbench 平台对从端D-PHY 进行仿真验证。模拟主端D-PHY 行为,搭建了主端D-PHY Verilog 模型,该模型可以产生D-PHY 低功耗模式、高速模式和超低功耗模式仿真激励源。DUT(Design Under Test)从端D-PHY 由模拟电路Verilog 模型和数字电路组成。使用VCS 工具进行编译仿真,仿真结果如图9 所示。
图9(a)、(b)、(c)分别为低功耗模式、高速模式和超低功耗模式仿真波形,结果显示,采用本设计提出的异步时钟,D-PHY 可以正确检测到低功耗模式进入引导码,并且能正确进行Spaced-One-Hot 解码,输出LPDT数据和低功耗模式下的控制使能信号;D-PHY 可以正确检测到高速模式进入引导码,模拟模型的分频以及串并转换逻辑正确,数字电路部分可以正确检测到Sync 码,有效载荷数据输出正确;D-PHY 可以正确检测到超低功耗模式进入引导码,超低功耗模式退出逻辑正确。
图9 仿真波形
3.2 从端D-PHY 逻辑综合
基于SMIC 0.18 μm 工艺库,使用Synopsys Design Compiler(DC)工具对本设计从端D-PHY 进行逻辑综合。典型(tt)工艺角下,从端D-PHY 整体面积为95 061 μm2,整体功耗为4.291 mW,其中,低功耗模式下功耗为231.3 μW。
4 结论
本文提出了一种符合MIPI D-PHY v1.1 规范的从端D-PHY 数字电路设计,提出了一种异步时钟生成电路,该异步时钟可以准确地进行D-PHY 各个模式下进入引导码的检测。根据数模功能架构划分,搭建了模拟电路模型,供数字电路进行仿真验证。仿真和综合结果表明,D-PHY 在各个模式下功能和时序正确,满足D-PHY v1.1 高速模式下1.5 Gb/s 和低功耗模式下10 Mb/s 的带宽要求。