简介
智能手机的大脑是基带处理器(Baseband),内置微型处理器和专用信号处理电路。依靠基带控制器的先进设计,通用输入/输出口(GPIO)可用来实现按键开关功能。
目前,专用键盘控制器IC已广泛用于智能手机。这些专用键盘控制器之所以排上用场,原因在于基带芯片的GPIO资源非常有限。比如,有时为了节约成本,用户将本来用于功能电话的基带芯片应用到了智能手机的设计;有时则是为了减少基带控制器与键盘之间的连接线数量,特别是对于滑盖手机,基带处理器和键盘分布在不同的PCB上。键盘控制器通常由I2C总线或SPI总线连接到基带处理器。
键盘控制器的功能可用现有的GPIO芯片或使用传统的按键扫描微型单片机实现。一些专有的键盘控制器也采用传统的按键扫描方式。这篇应用笔记则对传统的按键扫描和低EMI按键扫描方案进行了比较,并列举了省去EMI滤波器件带来的益处。
传统的按键扫描方案
图1所示是传统的按键扫描方案,基带处理器的GPIO键盘控制或某些专用的键盘控制器都采取了这个方式。有些GPIO引脚设计成“列”输出端口,驱动开关矩阵;有些GPIO引脚设计成“行”输入端口,检测按键开关的闭合。通常,没有按键按下时,每个按键上都没有电压。一旦某个按键按下,键盘控制器开始扫描所有的按键。扫描动作通过逐渐升高“列”电压的同时,来轮询监测每“行”的输入电平。一个8 x 8的开关矩阵可经过64个时钟周期完成一遍扫描。时钟频率的范围可以设定在几十kHz到几MHz之间,“列”输出电平在系统的逻辑高和逻辑低之间切换。依据键盘控制器的供电电压,逻辑高电平可以从1.8V到3.3V变化。
图1.传统键盘扫描电路。
因为“列”扫描信号的突然上升和下降造成的电磁辐射可能会影响EMI测试,尤其是那些基带处理器GPIO与键盘之间有较长布线的设计。通常,在“列”输出端口需要EMI滤波器件来降低EMI辐射。EMI滤波器可以是一级RC滤波或者二级CRC低通滤波(见图2a和2b)。EMI滤波可以使用分立的无源器件,也可使用小尺寸TDFN/CSP封装的EMI滤波器。这显然会增加成本并占用空间。
图2a和2b. EMI滤波器。
低EMI(无源扫描)
Maxim的键盘控制器,如MAX7347/MAX7348/MAX7349、MAX7359和MAX7360采用一种独特的无源扫描方式,利用电流源驱动开关矩阵,并通过检测电流来检测按键动作。图3说明了无源按键扫描的工作原理。一旦按下一个按键,控制器便开始扫描所有按键。扫描时,在所有“列”端口施加电压约为0.5V的恒流源,控制器监测流过依次使能的每“行”电流。因为每一时刻只有一“列”检测到电流流过,所以,对于一个8 x 8开关矩阵,这种无源扫描方式也需要经过64个时钟周期完成扫描。在按键扫描期间,所有“列”电压都是静态的0.5V (有按键按下的列除外),在其对应的“行”端口处于扫描期间,该“列”电压降低到0V.
图3. Maxim的低EMI键盘扫描架构。
每“列”端口是由大约20μA的恒流源驱动,“行”、“列”端口只在开关接触的很短时间消耗电流。因此,与传统扫描方式相比,无源扫描因电压高、低电平变化驱动容性和阻性负载产生的功耗大大降低。
电磁辐射
1.8V供电时,用0.5V电压摆幅替代满幅度(1.8V)驱动,可有效降低电磁辐射(降低11dB)。此外,低EMI键盘扫描架构中更低的扫描频率也能帮助降低电磁辐射水平。图4是传统方案和低EMI方案的功率频谱密度(PSD)仿真图。测试基于1MHz时钟频率,供电电压1.8V,上升/下降时间0.2μs,蓝色曲线代表传统方案,绿色曲线代表低EMI方案。仿真结果表明,Maxim低EMI方案的PSD降低15dB.总之,低EMI方案的电磁辐射相比较传统方式下降15dB.鉴于如此优异的辐射指标,可以省去EMI滤波器。
图4.键盘扫描PSD仿真,蓝色曲线代表传统方案,绿色曲线代表Maxim的无源扫描方案。
波形示例
图5是MAX7359键盘控制器的波形,深蓝色波形(通道1)为“列”端口波形,淡蓝色波形(通道2)为“行”端口波形。该“行”和“列”交叉的那个按键在大约第26ms时候按下。经过约2ms的延时,键盘控制器被唤醒。控制器将“列”端口变成电流源,电压变为大约0.5V,并开始扫描。在确认一个按键依然被按下或者按键被释放前,它会按设定的去抖时间扫描2次。每对临近的扫描脉冲,右边为初始扫描,左边是第二次的去抖扫描。
图5.通道1代表MAX7359“列”端口电压,通道2代表MAX7359“行”端口电压。
ESD保护和电容负载
连接到键盘的所有端口都暴露在ESD之下,有时需要达到15KV,因此需要静电保护。MAX7347、MAX7348和MAX7359内置±2kV ESD保护,MAX7360内置±8kV ESD保护。外部ESD二极管用来配合内部保护电路,共同提升防静电等级。但ESD二极管增加了端口容性负载。
通过用互不相同的“按键按下”和“按键释放”编码,控制器可以识别同时发生的多个“按键按下”事件以及他们的顺序。但是,在相应的“行”“列”端口,容性负载会成倍增加。每个“列”端口由一个20μA、±30%的电流源驱动。施加在“行”端口输出晶体管栅极的正脉冲,将每“行”端口下拉到地。当“行”端口处在地电位时,某“列”端口因为按键闭合而连通,也被下拉到地,由此检测到一个按键按下的动作。
正脉冲施加在“行”端口输出晶体管栅极,并在稍后在开关的闭合点会有一个放电和充电过程。紧随正脉冲之后,开关闭合点快速从0.5V放电到0.当正脉冲消失,开关闭合点又被充电到0.5V,基于下面公式:
实际应用电路中,“行”、“列”端口电容,包括外加的ESD保护二极管,都参与到充电过程。充电时间长于扫描周期时,有可能发生错误的“按键按下”检测。被误检的按键是当前这个被按下的“列”与紧随的下一个“行”扫描交叉的那个按键。
为了限制充电时间少于13μs同时预留2.625μs进行按键检测,并考虑电流源30%的误差,根据下式,总电容应该小于364pF:
每个端口的电容,包括外置ESD二极管引入的电容,应该少于Cport= Ctotal/3 = 121pF,假设有两个按键,shift和一个常用键被按下。上面的计算考虑了2行和1列端口的电容。当端口电容为20pF时,允许外置电容是101pF.
上述计算方法只适用于被按下的按键属于同一“列”的情况。对于经常会同时按下键,如shift键,可以通过将其定义在独立的“行”、“列”端口来避免端口叠加过多电容的问题。对于每“列”端口单独按下的按键,端口允许的电容是:Cport= Ctotal/2 = 182pF.每个端口的电容是20pF,因此,外部器件的电容可以达到162pF.
结论
低EMI键盘控制器方案已经在智能手机应用中普遍得到认可,相比传统的键盘扫描方案,可以省去EMI滤波器。使用低EMI开关控制器能提升系统的整体性能并降低成本。负载电容的估算也适用于绝大多数手机硬件的键盘电路。但要避免使用负载电容很大的ESD外围器件。