引言
无线终端系统,由于对应用业务需求的不断提高,出现了双CPU处理器系统。主处理器一般是应用处理器,负责多媒体的处理,包括编/解码,从处理器一般是无线MODEM的基带处理器。主从处理器之间的通信一般多采用UART串口通信和USB通信的方式,满足当前3G无线数据下载的速率要求;更高无线数据速率的情况需要采用SDIO接口、处理器接口、HPI接口或者双口RAM通信。UART通信方式是对等方式,输入、输出信号线直接对接就可以,不涉及电源供应的问题,比较简单可靠,对整机带来的额外功耗可以忽略。而USB通信双方不对等,要求一方处于主机地位,一方处于设备地位,并且涉及速率识别、USB设备供电方式、阻抗匹配等问题,比UART连接复杂得多。
1 USB通信电路设计要求
USB通信涉及USB主机与USB设备两个角色,需要解决的问题包括主机与设备速率识别、USB差分信号阻抗与容抗要求、USB设备的供电解决方案问题[13]。
1.1 USB主机与设备的速率识别
USB主机或设备划分为低速、全速、高速三种类型,可分别支持最高1.5 Mbps、12 Mbps和480 Mbps的传输速率。低速与全速设备的区别用上拉电阻所处的位置区分:全速设备的上拉电阻Rpu加在USB差分信号D+信号上,低速设备的上拉电阻Rpu加在USB差分信号D-信号上,上拉电源使用USB收发器的电源(一般为3.3 V)。由于高速设备初始状态以全速设备连接USB主机,因此上拉电阻Rpu加在USB差分信号D+信号上;但是进入全速状态,Rpu的上拉电阻必须断开,故对于高速USB设备的Rpu必须使用开关方式管理。对于全速和高速的USB主机,USB差分信号D+、D-均使用下拉电阻Rpd下拉到地。
全速USB设备与主机的连接电路如图1所示,低速USB设备与主机的连接电路如图2所示。高速设备与高速主机的USB连接情况,基本同全速连接,只是高速USB设备的Rpu使用开关方式管理。这里不再给出示意图。
图1 全速USB设备与USB主机的连接电路
图2 低速USB设备与USB主机的连接电路
1.2 USB差分信号的阻抗与容抗要求
USB差分信号线D+/D-的匹配,对于不同速率有不同要求。低速或全速USB设备与USB主机的连接,必须在USB收发器外部的D+、D引脚上串接电阻,这是为了正确匹配特定传输线的阻抗(该传输线的特征阻抗Z0为90 Ω,单端阻抗为45 Ω)。为了匹配这个负载,低速或全速收发器的输出阻抗必须在28~44 Ω。由于信号引脚的特征输出阻抗实际上比正确匹配负载所需的总体阻抗小很多,所以必须在这些引脚上串接电阻。许多收发器供应商建议串接电阻阻抗为33 Ω,实际电路设计调整至最佳值。
对于高速USB设备与USB主机的连接,要求高速收发器的输出阻抗必须在40.5~49.5 Ω。高速USB传输对于连接线缆的要求是:D+或D-对地的直流阻抗满足45 Ω±10%。
对USB信号电容负载的要求,D+或D-信号线上的总电容(包括器件、数据线缆、连接器)对于主机和设备,允许不同的电容负载上限:
USB 主机(低速、全速)允许150 pF电容负载;
USB 设备(低速)允许450 pF电容负载;
USB 设备(全速)允许100 pF电容负载;
USB主机或设备(高速)的电容负载,标准中没有明确给出,只是对收发器芯片(内核与封装)的D+/D-引脚的电容要求在10 pF以下,两者差异不超过1 pF;对信号由收发器到连接器的传输延时(即阻抗特性),通过时域反射计测试来判定是否满足要求。实际高速USB电路设计中,需要注意将由PCB板布线、滤波器件、切换开关器件、防ESD器件等带来的D+/D-对地总容性负载控制在最小范围内[4]。
1.3 USB设备的供电方式
USB设备的供电有两种方式: 一种是依靠USB主机集线器供电工作,称为总线供电;另一种是设备本身配备电源(电池或另外插电)。多数USB设备为总线供电方式,自身不具有开启USB通信模块(USB控制器或者USB收发器)的供电能力,电源需要USB主机提供,如图3所示,USB主机控制“USB设备VBUS电路”电源模块向USB设备提供VBUS电源。若+VCC为5 V,并且可提供电流满足USB设备的需求,则此电源模块为一电源开关切换电路,由USBHPEN信号控制此开关的打开与关闭,向USB设备供电。此电源模块的输出信号FAULT用于过流指示,若USB设备过流,则USB主机控制USBHPEN信号关闭或限制此电源模块向USB设备供电。若+VCC低于或高于5 V,则此电源模块为一电源升压或降压电路,同样由USBHPEN信号控制此电路的使能与关闭,向USB设备供电。
对于自供电方式的USB设备,USB主机的电源输出不再成为设备开机的触发条件和USB设备状态机切换的起因,需要设备自身对电源和USB状态机切换进行管理。其中,电源管理主要是对USB收发器电源的管理。
2 终端系统双处理器USB通信电路设计
2.1 双处理器USB通信电路设计
在某无线终端设备中,涉及双处理器USB通信电路的设计。由于主处理器有2个USB端口(均为全速USB端口): 一个是从USB口,用于与PC机连接,作为主处理器的调试和测试;另一个是主USB口,用于连接从USB设备。从处理器有一个从USB口。考虑数据通信速率的要求,选择USB连接作为两者通信的方式,但是从处理器的从USB口又要连接PC机,担任调试和测试端口的任务,因此两处理器的USB信号需要增加单刀双掷开关,满足从处理器USB端口对主处理器通信和对外连接PC机通信的双重需求。而终端对外接口有限,从处理器的USB端口经一个开关之后又需要与主处理器的低速率UART串口(调试与测试需求)复用在一个连接器上,这样从处理器USB信号通路上就需要经过两个开关器件。
图3 USB设备的总线供电方式
为保护对外连接器上的USB端口不受静电损坏,需要增加抗ESD保护器件;为匹配信号改善信号的完整性,需要增加EMIF滤波器件。电路设计中采用了ESD+EMIF二合一的器件, 节省了布局面积。实际电路设计如图4所示。图中,对外连接器的VBUS信号,是指PC机USB主机提供的VBUS电源,用于启动从处理器,并且提供电源给从处理器。从处理器发出开关切换控制信号A,控制单刀双掷开关A,用于选择从处理器与主处理器通信,还是与外部PC机通信(缺省选择与主处理器通信);主处理器发出开关切换控制信号B,控制单刀双掷开关B,用于选择外部PC机与从处理器USB通信,还是与主处理器UART通信(缺省选择与主处理器UART通信)。
图4 某双处理器终端系统USB通信电路示意图
第一次调试,此系统主处理器与从处理器USB通信测试正常;但当终端设备通过一根USB线缆连接从处理器到PC机时,出现PC机识别USB设备不稳定情况。分析USB通路上的容性阻抗情况:一个单刀双掷开关38 pF,ESD+EMIF器件47 pF,总计2个开关和1个ESD+EMIF,USB信号上的容性负载是123 pF,显然负载过大。经飞线以及去除ESD+EMIF器件等减小容性负载的调试手段,USB设备识别正常。后续设计,选用开关以及ESD、EMIF器件均改用小容性阻抗的器件,USB通信功能均正常。因此在设计差分信号通路时,需要考虑通路上器件带来的阻抗、容性负载等影响,并且考虑PCB走线、连接器、USB线缆等带来的负载影响。
2.2 双处理器USB通信电源设计
一个终端系统内部的双处理器USB通信设计,与一个处理器作为USB设备与PC机USB主机通信具有明显不同。对于后者,USB设备一般不需要自供电,开机与供电都由PC机提供的VBUS电源保证;而对于前者,两个双处理器由于功能不同,即使两个处理器不需要进行USB通信,也需要同时处于工作状态。因此,双处理器的终端系统工作时,USB设备采用自供电方式比较稳妥。无USB通信需求时,双处理器电路互不干扰,保证稳定性;需要USB通信时,也不需要图2所示的VBUS电路模块参与供电与管理,电路简化,复杂度降低,可靠性提高。而当从处理器连接PC机USB端口时,采取总线供电方式,符合常规做法,也保证可靠性。
在USB设备采用自供电方式,且USB主机与设备需要进行通信时,通过连接两个处理器的握手信号(一般采用GPIO)通知对方,从处理器负责切换数字开关,连接USB通信通路,然后从处理器为USB收发器加载电源去连接D+或D-信号上的1.5 kΩ上拉电阻标示设备速率,USB主机识别到D+与D-信号的差异,就进入正常USB设备识别、枚举、配备驱动程序等进程。
一般设计,在通信结束时,USB主机将D+、D-信号拉低并且保持2.5 μs,USB设备便认为断开连接,恢复非工作状态;而在此系统中,为了简化程序,使用GPIO通知对方通信结束,请求与回应确认,然后从处理器控制切换开关,直接断掉通信的物理链路。这样保证了主从处理器不进行USB通信时,物理上互不干扰,也消除可能潜在的漏电流。
GPIO握手机制的引入在USB通信启动之初和结束通信之后,替代了通过USB差分信号变化进行双方握手的方式,降低了程序上处理的复杂度,比较可靠,并且握手流程直观、清晰。
结语
本文从USB主机与设备速率识别、USB差分信号的阻抗与容抗要求、USB设备的供电解决方案三个方面,对于USB通信电路设计要求进行阐述,涵盖了硬件设计所关注的USB通信电路要点。针对曾设计和调试的某一双处理器无线系统,介绍了既满足可调试、可测试需求,又满足双处理器USB通信需求的电路方案,着重指出电路中掩藏的容抗问题与解决方法。另外,从简化电路、可靠性等方面考虑,设计了从处理器作为USB设备的自供电方案,并且引入GPIO握手机制,简化了软件处理流程。