terça-feira, janeiro 03, 2012

Display Gráfico Nokia 5110 - Parte 2

Nesta segunda parte veremos como conectar o display a um microcontrolador.

É mais simples do que parece!

O conector do display possui 8 pinos (figura 1). O pino 1 é a alimentação (Vcc) que deve estar entre 2,7 e 3,3V. O segundo pino é o terra. O oitavo pino é a alimentação dos LEDs de backlight e também deve estar entre 2,7 e 3,3V. Os demais pinos são sinais lógicos que devem ser acionados pelo microcontrolador para enviar comandos e dados ao display.
Figura 1 - Conector do Display

Intrépidos (ou descuidados) experimentadores verificaram que o display suporta 5V no Vcc e nos sinais lógicos, mas não nos LEDs.Para maior segurança, recomenda-se obedecer aos valores recomendados pelo fabricante (2,7 a 3,3V).

No caso de desejarmos conectar um microcontrolador operando a 5V, precisamos tomar alguns cuidados. Em primeiro lugar é necessário reduzir os 5V para um valor adequado de Vcc. Isto pode ser feito utilizando-se um integrado regulador (figura 2a), um resistor em série com um diodo zener (2b) ou até mesmo com um simples resistor (2c). A última opção é a menos confiável, pois a tensão obtida vai depender da corrente consumida pelo display (determinei empiricamente o valor mostrado na figura, ele pode não ser adequado para outras peças do mesmo modelo). No acionamento dos LEDs de backlight, onde a corrente será aproximadamente constante e a tensão não é crítica, podemos usar um resistor de 330 ou 390 ohms.
Figura 2 - Gerando 3.3V para o display a partir de 5V

Para os sinais lógicos, que são todos saídas no microcontrolador e entrada no display, podemos usar um divisor resistivo (figura 3). É necessário lembrar que a entrada do display estará em paralelo com um dos resistores (R2 na figura). Ou, vendo de uma outra forma, a corrente no resistor R1 será a soma da corrente que entra no display com a que passa em R2. Entretanto, o datasheet informa que a corrente nas entradas do display é muito baixa (inferior a 1uA), o que equivale a dizer que a impedância da entrada é maior que 1M e portanto não vai interferir no divisor, a não ser que R2 seja muito alto. Por outro lado, valores muito baixo dos resistores irão gerar um desperdício de energia; os valores indicados na figura deram bons resultados no meu teste. Como a corrente na entrada é muito baixa, não dá para usar somente um resistor em série como na alimentação.
Figura 3 - Divisor resistivo para converter os sinais lógicos


O sinal RST (reset) comanda a iniciação do display. Normalmente este sinal deve estar em nível "1", um pulso momentâneo para o nível "0" comanda o reset. Tipicamente o reset será feito uma única vez, logo após a aplicação de alimentação no display.

O sinal SCE (pino 3) indica o início e o fim da transmissão de um byte. Normalmente este sinal deve estar em nível "1", deve ser baixado antes do primeiro bit e levantado após o último. Em princípio este sinal pode até ser deixado sempre em "0".

O sinal DIN (pino 6) é o dado e SCLK (pino 7) é o clock que indica onde está cada bit. O display irá amostrar o sinal DIN na borda de subida de SCLK. Os bits devem ser transmitidos do menos significativo para o mais. A frequência máxima para SCLK é 4MHz.

O sinal D/C (pino 5) indica se o byte enviado é um dado (nível "1") ou comando (nível "0"). Este sinal é verificado pelo controlador no último bit de dados, mas costumeiramente é ativado no começo do byte, junto com o SCE.

A figura 4 mostra os sinais durante o envio de um byte.

Figura 4 - Sinais durante o envio de um byte


Na próxima parte vamos ver o funcionamento do controlador do display e os comandos disponíveis.

Nenhum comentário: