Os teclados de toque estão se tornando cada vez mais comuns em uma infinidade de aplicações como notebooks, monitores, set-top boxes, televisores, equipamentos portáteis, games, telefones celulares, sistemas domésticos de entretenimento e aplicativos. A ST Microelectronics tem na sua linha de produtos uma solução completa para o desenvolvimento de um teclado de toque de 12 teclas. Trata-se do STMPE1208S que utiliza a tecnologia Xpander Logic e de que trataremos neste artigo nos baseando tanto no datasheet como num esquema de aplicações. Os leitores interessados em mais informações podem baixar a extensa documentação exist4ente no próprio site da STMicroelectronics em www.st.com. (2009)
O circuito integrado STMPE1208S consiste num processador de sinais de sensores capacitivos com 12 teclas e diversos recursos que o tornam ideal para as aplicações indicadas na introdução. Este dispositivo pode interfacear um ASIC digital através de um barramento de duas linhas de comunicação como o I2C. Este circuito sensoria as mudanças de capacitância utilizando uma tecnologia totalmente digital, dando resultados rápidos com um consumo muito baixo de energia. A calibração de impedância automática assegura que mudanças do ambiente não afetem a operação do teclado capacitivo. Na figura 1 temos o diagrama de blocos do componente utilizado.
O circuito integrado STMPE1208S pode operar com tensões de alimentação de 2,5 a 5,5 V e consome 98 uA no modo ativo e 60 uA no modo de espera. Um pino de interrupção dupla está disponível e a interface I2C pode operar em velocidades até 400 kHz. Outras características importantes incluem um sistema avançado de filtragem de dados (AFS) e uma calibração automática conforme o ambiente (ETC).
Um teclado de toque pode ser implementado facilmente segundo as indicações do Application Note AN2843 da STMicroelectronics. Nele é descrita a implementação do teclado de 12 teclas com base no STMPE1208S. Neste circuito, os sensores detectam o contacto dos dedos com a tecla através da variação da capacitância, fornecendo uma saída para um microcontrolador externo através de interface I2C.
Quando o sensor é tocado, a variação da capacitância que ocorre (aumento) faz com que o sinal de clock sofra um retardo no pino que sensoria o sinal. O sinal é então comparado com um clock de referência e a diferença consiste na representação analógica da capacitância introduzida no circuito pela presença do dedo na tecla.
Fatores ambientais como a temperatura e a umidade podem afetar a capacitância medida. Uma unidade de calibração garante uma sensibilidade consistente da tecla, mesmo quando ocorrem desvios significativos das condições ambientes e mesmo das características individuais da placa de circuito impresso.
A saída da unidade de calibração proporciona um estado instantâneo de toque ou não-toque. Este sinal é enviado e uma etapa de filtragem de dados, que consiste numa unidade integrada, uma unidade de filtro e uma unidade de filtragem de ruído.
Os sensores também podem ser afetados por ruídos de alta frequência, se operarem perto de circuitos que emitam estes sinais com intensidade tais como conversores DC-DC ou controladores PWM. A filtragem de ruído ajuda o dispositivo a distinguir entre um toque real ou um falso sinal de toque induzido por uma emissão de ruído.
O STMPE1208S se comunica com uma MCU central através de uma interface I2C. Ele é configurado como um dispositivo escravo, e suporta tanto a operação no modo padrão (até 100 kbps) como a operação no modo rápido (até 400 kbps), assim como modos de endereçamento de 7 bits e de 10 bits. O dispositivo pode manusear 2 tipos de eventos de interrupção: uma interrupção geral relacionada às portas do GPIO e uma interrupção de toque que ocorre quando se toca num sensor. Na figura 2 mostramos um diagrama desta operação.
O Esquema de Aplicação
No documento da STMicroelectronics, temos o diagrama completo da aplicação estando disponível uma placa de demonstração e desenvolvimento para os leitores que estiverem interessados em desenvolver o projeto. Esta placa, denominada STEVAL0-IHI002V1 é uma placa filha destinada à conexão da placa de demonstração, para a qual é possível obter no site da ST documentação completa para o usuário. A alimentação de 5 V dc é fornecida à placa através dos conectores J1 e J2. A placa necessita apenas de uns poucos capacitores para operar. Dentre eles destacam-se o capacitor de desacoplamento (C1), um capacitor de referência (C2) e um capacitor para estabilizar a tensão do regulador interno. Na figura 3 temos o diagrama completo da aplicação.
O pino de reset é mantido no nível alto através de um resistor "pull-up" e diretamente controlado pela MCU principal. O STMPE1208S se comunica com a MCU principal via barramento I2C. ID_0 e ID_1 fixam o endereço do dispositivo. Os eventos de interrupção GINT e TINT são também enviados à MCU principal. A régua é projetada utilizando 3 pinos sensores (S-T0, S-T1 e S-T2). Um disco também é implementado num pino único sensor. De S-T3 a S-T7, para um conjunto de 5 botões. O projeto gráfico da régua, disco e os 5 botões são criados diretamente na placa de circuito impresso, modelando-se a área cobreada. Os capacitores corretivos de C5 a C16 são opcionais. Os seus valores são de poucos picofarads. Estes componentes são necessários se as trilhas entre o teclado e o STMPE1208S forem longas, e variam de modo significativo entre elas. Na placa de demonstração eles não foram utilizados. Na figura 4 temos o aspecto da placa vista de cima.
Na figura 5 temos a placa de teclas conectada à placa de demonstração STEVAL-IHI0001V1.
Uma outra vista do conjunto fornecido para avaliação e desenvolvimento deste aplicativo pela STMicroelectronics é mostrada na figura 6.
Conclusão
Com componentes especial criados para a aplicação, como o STMPE1208S, e a disponibilidade de placas de demonstração e desenvolvimento, fica muito mais fácil o desenvolvimento de aplicativos funcionais, que ocupem pouco espaço num projeto e também tenham custo conveniente. O exemplo dado mostra como isso pode ser feito para o caso de um teclado capacitivo.