Mostrando dados do Intel Edison no display do

Propaganda
Intel
Edison
Lab
04
–
Mostrando dados do Intel
Edison no display do Nokia
5110 em Python
Imagem Aplicação
Neste Lab iremos tratar dos passos para enviar comandos de
configuração e dados para o display de LCD gráfico, muito
utilizado nos antigos celulares Nokia 5110, com o controlador
PCD 8544 da Philips. Alguns dados internos do Edison como
temperatura dos dois núcleos do processador, hora e data
internas do sistema e o endereço IP no qual o Edison está
registrado também serão indicados do Display.
Display de LCD gráfico
Os displays gráficos são comumente utilizados em aplicações
onde deseja-se indicar símbolos, desenhos, pequenos gráficos
ou figuras com qualidade monocromática aos usuários.
O display que vamos trabalhar neste Lab apresenta as seguintes
principais características:
Matriz de 48×84 pontos monocromáticos;
Interface serial com velocidade máxima de 4 Mbits/s;
Controlador interno PCD8544;
Retro iluminação à LED;
Tensão de operação (módulo) 2,7 a 5,0 V;
Baixo consumo de energia (LEDS desligados);
Temperatura de trabalho em -25°C a +70°C;
Controlador PCD8544
O controlador/driver PCD8544, fabricado com tecnologia CMOS,
foi desenvolvido para controlar um display gráfico de 48
linhas e 84 colunas. Todas as funções necessárias para o
display estão embutidas em um único chip incluindo geração da
tensão de alimentação e polarização AC necessárias para o LCD,
resultando em um baixo consumo de energia e mínima necessidade
de componentes externos para seu correto funcionamento. Um
diagrama da estrutura interna deste driver está indicado na
figura abaixo.
Diagrama Estrutura PCD8544
Endereçamento da memória
O arranjo do endereçamento da memória que é indicado na figura
acima (DDRAM) é uma matriz que consiste de 6 linhas
(Endereçamento em Y), que abrange do endereço 0 ao 5 (101), e
84 colunas (Endereçamento em X) que opera do 0 ao 83
(1010011). Endereços fora desta faixa de valores não são
suportados pelo controlador. Para acessar uma posição
específica no display, devemos relacionar um endereço em X e
outro em Y assim como é feito em uma matriz comum de dados.
Os dados devem ser enviados para o display em pacotes de 8
bits (1 Byte) e estes serão organizados como linhas verticais
e, neste caso, o bit MSB (Most Significant Bit) será
posicionado em baixo e o LSB (Last Significant Bit) será
posicionado em cima. Podemos observar esta organização nas
figuras abaixo:
Escrita MSB primeiro
Mapa memória DDRAM
Podemos escrever os dados na memória endereçável (DDRAM) do
controlador continuamente e os valores para endereços em X e Y
serão incrementados automaticamente. Neste caso, temos dois
métodos para configurar o formato da operação de
endereçamento.
No modo vertical de endereçamento (V=1), as posições em Y
serão incrementadas após cada byte de dados recebidos no
controlador (Próxima figura). Após o último endereço em Y
(Y=5), o posicionador do eixo Y irá retornar para a posição 0
e o X será incrementado para a próxima coluna.
Dinâmica modo Vertical
No modo horizontal de endereçamento (V=0), o endereço em X
incrementa após cada byte (Observe a figura abaixo). Após o
último endereço em X (X=83), o posicionador de X irá retornar
para a posição 0 e o Y incrementa para a próxima linha. Após o
último endereço (X=83 e Y=5) os posicionadores retornarão para
o início novamente (X=0 e Y=0).
Dinâmica modo Horizontal
Terminais de controle do LCD
Os sinais de controle e operação do display são enviados de
forma serial de acordo com a operação e combinação dos pinos.
A descrição destes pinos é apresentada na tabela abaixo.
Imagem pinos do display
Tabela pinos do display
Formato da comunicação
O formato dos comandos que são utilizados para comunicar com o
LCD é dividido em 2 modos, sendo eles: Command Mode e Data
Mode sendo o pino DC utilizado para alternar entre estes dois
modos. Se o valor 0 for atribuído ao pino DC (DC=0), o dado
que será enviado ao LCD será interpretado como comando e se
DC=1, o dado enviado será interpretado como Dado.
Após 1 byte de dados serem escritos, uma posição de endereço
da memória DDRAM será incrementado automaticamente como
explicado acima. O formato dos dados é serial e o bit mais
significativo (MSB – Most Significant Bit) será enviado
primeiro. Geralmente, esta estrutura acontece como mostrado na
figura abaixo:
Dinâmica dos dados
Os modos para enviar os dados para o display também foram
citados acima e a representação gráfica no tempo é indicada
abaixo.
Diagrama um Byte por vez
Diagrama vários dados continuamente
Qualquer dado enviado para o display ou alteração na linha de
clock (CLK) será interpretado pelo controlador do display
apenas quando o pino SCE estivar em nível baixo. Os dados
serão “trocados” no pino DIN seguindo o intervalo do sinal de
clock na borda de descida.
Se o pino de reset estiver ativado, (RES=0) qualquer dado
enviado para o controlador do display será cancelado. Quando
RES = 1, no próximo pulso de clock, o dado será interpretado
como sendo pertencente ao bit 7 novamente, reiniciando a
comunicação, assim como pode ser observado abaixo.
Diagrama ação do pino RES
Esquema de montagem
O esquema de ligação entre o Display e o Intel Edison segue a
ordem indicada na tabela e na figura abaixo, sendo a primeira
uma visão global da montagem e a segunda um Zoom nas ligações.
Tabela de ligação
Diagrama de ligação
Diagrama de ligação ampliado
Para facilitar a conexão entre o Edison e o Display, optamos
por utilizar uma Arduino Proto Shield que se encaixa
facilmente com o módulo do Edison. Uma imagem das ligações dos
pinos e da montagem já com o Edison é indicada abaixo.
Imagem Proto Shield
Imagem montagem final
Programação e teste
Inicialmente, declaramos as portas de comunicação e a matriz
dos dados em Hexadecimal referente a fonte (Letras e símbolos)
do display. Logo após iniciamos o display, e lemos o valor da
temperatura nos dois núcleos e o endereço IP no qual o Edison
está registrado. Subsequentemente, indicamos todos estes dados
no display.
O algoritmo, feito em Python para a montagem deste protótipo é
apresentado abaixo e uma imagem com o resultado da impressão
dos dados no display também é indicada logo a seguir.
[crayon-592d37ac314e8763667799/]
Imagem indicação dos dados
Observação: O método para copiar o algoritmo e a criação de um
novo arquivo dentro da memória do Edison já foi abordado no
Edison Lab 03.
Conclusão
Neste Lab observamos uma nova forma de interação entre o
Edison e o usuário através do display Nokia 5110. Muitas
informações podem ser indicadas neste display já que o mesmo é
do tipo gráfico e permite que desenhos e gráficos sejam
plotados. As limitações de aplicação dependem apenas do leitor
já que o controlador deste display é de fácil interação.
Download