摘要:本文讨论了最新设计的端口扩展器功能,这些功能与空间受限、成本敏感的折叠手机设计密切相关。以MAX6966和 MAX6965驱动器为例论述了GPIO端口扩展器技术。
引言
通用输入输出(GPIO)端口扩展器IC能够在小尺寸、低成本设计中提供适量的I/O端口,能够提供8个或16个端口的芯片几乎是与其相关的I²C和SPI串行总线同时问世。早期器件的功能主要包括:带限流驱动的漏极开路输出或推挽输出,具有非闭锁瞬变检测的逻辑输入。可提供TSSOP最小封装。
本应用笔记讨论了最新推出的端口扩展器,这些器件功能与空间受限、成本敏感的折叠手机设计密切相关。
折叠式手机的内部连接
折叠手机的外壳类似于蛤壳,由折叠在一起的两个外壳组成(图1)。主体部分通常是较厚的一半,包括基带电路、射频电路,以及键盘、电池、天线等。常见的紧凑型手机布局是将大的显示屏置于机盖内部,小显示屏置于机盖外部,如图所示。外屏通常是半反射型LCD,在没有背光时也能看清,并一直打开,显示手机的空闲状态及其它信息。机盖周边还有电话耳机,及其它音频、振铃电路。许多机盖还设计了一个照相机模块。
图1. 采用柔性电路连接手机的两部分,但折叠手机的转轴是内部连接的瓶颈。
在大多数机盖配件中,显示屏、摄像头带有单独的、速率适当(Mbps)的并行接口总线,用于刷新显示屏和下载图片。然而,通过转轴从机盖到主机体传递数据存在一定瓶颈。转轴通常是由Mylar®和铜线制造的柔性电路,为确保在反复折叠使用后电路的可靠性,布线密度(即布线数)必须有所限制。手机设计者须减少机盖、机体之间的连线数,增加了设计难度。
GPIO端口扩展器在折叠手机应用中的优势
通常,设计折叠手机应将连接机盖、机体的柔性电路的铜线数降至最少。发展趋势是将机盖显示屏和照相机之间的高速并行连接进行串行转换。减少其他连线的简单方法是将信号线与控制线加以识别,并在机盖上直接合成,而不是通过柔性电路连接。小尺寸、低成本的端口扩展器可以控制逻辑信号输入、输出、LED驱动器或电源控制开关。端口扩展器通过I²C或SPI接口连接至主板,这些接口机盖上可能已提供。
端口扩展器也是一种低功耗设备,若想在手机设计中发挥作用,端口扩展器必须满足以下条件:
- 具有小尺寸封装(2mm x 2mm或3mm x 3mm薄型QFN封装),以便放置在任何位置。
- 具有一个标准的串行协议接口,诸如I²C或SPI接口。
- 中断驱动,避免CPU轮询造成较大功耗。
- 无需CPU干涉即可发挥主要功能(PWM、输入监测)。
- 工作在1.8V至3V低电源电压,工作电压甚至可低于1V。
- 电源电流损耗低于1µA。
LED驱动
LED在手机中用于显示屏和键盘背光(2至6个LED)、功能或状态指示、RGB闪烁以及电池、信号强度指示。端口扩展器可节省空间、功耗,并减少系统不必要的操作,主要表现在以下几个方面:单个LED的PWM亮度控制;高压、大电流驱动,无需占用空间的分立晶体管;直接由电池供电的LED驱动,降低成本,并消除了电荷泵或基于电感的升压电源的EMI。
漏极开路端口提供大电流驱动
漏极开路输出端口易于驱动一个LED,该端口如同一个硬件输出开关,利用一个串联电阻(通常称为镇流电阻器)设置LED电流。端口扩展器非常适合驱动额定电压高于电源电压的大电流端口,通过脉宽调制(PWM)信号调节LED亮度。例如,MAX6965 LED驱动器提供9路输出,具有亮度控制和热插入保护,采用3mm x 3mm的QFN封装。该器件提供9路额定电压为7V的漏极开路GPIO,可吸入50mA电流,提供独立的PWM输出。
直接由电池供电时可为LED提供恒流端口驱动
比较理想的LED驱动方式是恒流源,代替传统的硬件输出开关和限流镇流电阻方案。恒流LED驱动器具有两个主要优点:
- LED电流与LED正向导通电压或LED电源电压的变化无关。
- 降低LED电源电压(接近于LED正向导通电压),可以提高效率。
恒流驱动器允许较低的LED电源电压,因为镇流电阻器两端的电压必须足够高,以补偿LED电源电压和正向压降的变化。例如,如果采用5V±5%的电源驱动一个白光LED,规定的正向导通电压为3.1V ±0.25V。镇流电阻两端电压的标称值为1.9V,变化范围为1.4V至2.4V。由此,电流的最大变化为±26%。如果电源电压降为4V ±3%,镇流电阻的标称电压为0.9V,其变化范围为0.53V至1.27V。这时,尽管电源容限小了,但电流的最大变化为±41%。
即使输出端口两端的压降高于所规定的最小值(图2),恒流驱动器,如MAX6966 (10端口LED驱动器和I/O扩展器,带PWM亮度控制)也能精确地调节其恒流输出。端口输出电压是负载(通常为LED)电源电压和负载两端电压(LED正向电压)之差。如果LED电源电压下降,无法维持最小端口输出电压,驱动器的输出级将进入电源失效状态,负载电流随之下降。对于10mA的吸入电流,MAX6966最小端口电压约为0.5V;对于20mA的吸入电流,最小端口电压约为1V。
图2. MAX6966 GPIO IC包括LED驱动器和逻辑I/O口
LED直接由手机电池供电时,可节省空间、省去升压变换器的成本。因此,典型的LED电源为一节可充电锂电池,电池电压在充满时最大为4.2V,使用中为3.4V至3.7V,完全放电后降至3V。电池供电不足时,LED电源电压明显低于电源失效状态的电压。
图3所示为LED电源电压从2.5V变化到7V时,3V蓝光LED (LITEON LTST-C170TBKT)的典型吸入电流。图中所示LED由预先编程设置为10mA和20mA的恒流端口驱动,电源电压在2.5V至7V范围内连续变化。可以看出,LED正向导通电压随电流降低而降低,因此,电源失效时LED电流将缓慢降低,而不是直接降至失效状态。LED电源电压降至3V时,LED电流降至6mA或7mA,这在电池耗尽情况下对于多数背光应用是可以接受的。
图3. MAX6966恒流输出直接采用手机电池驱动白光LED
均分LED电流
传统的PWM控制方式是所有的PWM输出采用相同的PWM时序,即所有输出在同一时刻接通(图4)。所以,由PWM设置的LED驱动器将同时吸入电源电流。例如,如果所有输出的占空比均设置为50:50,则一半时间内电流吸入为零(所有负载断开),另一半时间内吸入电流为满幅(所有负载接通)。
图4. 传统的PWM架构导致所有输出端口同时切换
MAX6966恒流LED驱动器各端口的PWM输出采用错相工作,相差1/8的PWM周期(图5),在PWM周期均匀分配各个端口的输出开关时间,从而降低了电源输出开关瞬变di/dt和峰值/均值电流,同时也减小了EMI,而且允许电源采用较窄的PCB布线。
图5. MAX6966使PWM错相工作,均衡了对电源电流的需求
自动降低LED亮度
MAX6966的自动控制功能允许电流输出逐步降至自动关断状态(缓降),退出关断状态时电流逐步上升,无需更多操作(图6和图7)。缓降过程包括一段可编程设置的延迟时间,期间输出电流仍保持最大值,之后在预设的渐弱时间内电流逐渐降低。
图6. MAX6966使LED亮度自动缓降,经过一定延迟后逐渐变弱
图7. MAX6966可由硬件触发,以控制LED亮度的上升速率,从而获得一定时间断开不需要的外设
关断状态下,可用CS输入端的一个短脉冲激活MAX6966。这种硬件唤醒功能允许电源管理控制器或类似的ASIC以预置的LED亮度配置启动MAX6966。退出关断状态时,LED输出可以自动缓慢上升至预设电流(图7)。这种设计方法解决了系统处理器的时间管理难题;也允许系统进入待机模式,而LED驱动器自身则执行定时功能。
许多GPIO器件提供了较高的源出电流和吸入电流,在电源直接供电时可用来打开或关闭外设。从这一功能可以了解到以下应用技巧:
- 在任何应用中,应尽量控制外围设备的GND引脚,而不是控制正电源。易于受接地开关控制的负载设备包括振动电机、LED和许多IrDA接口模块。接地开关由于普遍可提供大电流、漏极开路端口成为首选。
- 采用推挽式GPIO (MAX7310、MAX7312、MAX7320)控制外围设备的正电源,要求电源电流较小。这种方法普遍用于IC的掉电保护。
- 使用外部PFET扩展推挽式GPIO的高边电流驱动。只需将PFET栅极连接至推挽输出端口,源极接电源正极,漏极接负载。需要注意的是,当前的控制逻辑是反向的:输出端口的逻辑低电平接通PFET。
- 并联漏极开路端口可获得更大的驱动电流。
- 确保端口同时打开、关闭,共同驱动负载。
端口扩展器 - 简单I/O实现电平转换
GPIO还有另一个重要功能:使输入和输出在高、低电压之间来回切换。下面列出了一些电平转换用途:
- 输入端口的耐压值通常高于GPIO的工作电压,该性能允许工作在低电源电压的GPIO能够监测较高电压的逻辑输入。
- I2C接口可承受5.5V电压,与GPIO的工作电压无关。因此,通过电阻上拉到3.3V的I²C总线能与工作在2.5V或1.8V的GPIO进行通信。
- 漏极开路I/O通常可承受的电压与GPIO的工作电压。例如,MAX6964/MAX6965和MAX7313-MAX7316 系列的I/O端口能够承受5.5V或7V电压。在端口和所要求的电源之间连接一个上拉电阻,任何端口都能产生达到指定逻辑电平的摆幅。
- 漏极开路I/O和I²C接口通常具有热插拔保护,这意味着断开GPIO的电源电压时,这些连接不需要额外吸收寄生电流就可承受所施加的电压。当与单独供电的手机附件连接时,热插拔功能非常有用,也就是说,手机和附件能以任意次序接通电源。
- 通过一个大阻值上拉电阻(~1MΩ),可将上电时的推挽式I/O端口的默认电平设置为电源电压,或通过一只下拉电阻将其设置为地电平。上电时I/O端口默认为高阻输入,因此,在通过其串行接口编程设置GPIO之前,由电阻设定初始逻辑电平。
端口扩展:自动输入监测
如上所述,外设应由事件中断驱动,避免CPU轮询。对于那些偶然事件监视,如手机翻盖或电源失效告警的GPIO输入,这一点尤为重要。多数GPIO包括瞬变检测电路,可监测所有的逻辑输入变化,并在输入状态改变时产生中断。MAX7319是I²C端口扩展器,带有8路漏极开路I/O,扩展了传统的瞬变检测功能,如下所述:
- 锁存中断输出/INT,直到读取MAX7319时瞬态改变才会产生中断请求。
- 读取MAX7319后,变化标志寄存器可以识别任何发生变化的端口,即使是瞬态变化。
- 中断屏蔽寄存器只允许特定的输入端口在其变化时触发中断。
当任一端口输入变化时,对应端口的瞬态标志位置位;即使输入返回原始状态,该标志位仍保持不变。端口中断屏蔽位决定了发生瞬态变化的输入端口是否产生中断。通过中断屏蔽位使能高优先级的输入中断,中断允许系统对这些输入端口的变化做出快速响应,可用轮询方式检测低优先级输入。瞬态标志位表明最后一次访问后,输入端口是否发生变化。