Vous êtes sur la page 1sur 33

UPIITA-IPN

Garduo Paita Ayrton Gerardo


Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

Introduccin

Desarrollo
Imagen utilizada:

Para poder utilizar una GLCD es de suma


importancia conocer el funcionamiento de la misma,
por lo cual fue necesario encontrar el datasheet de
la GLCD JHD12864, posteriormente conocer la
forma de inicializarla.
Una vez inicializando la GLCD se pasa la
imagen a resolucin de 64x64 pixeles (los mismos
que la GLCD), esto se hizo mediante
un algoritmo en Matlab, en el cual ingresamos la
imagen *.jpg y
Matlab crea un documento con el nombre de
logo.doc, en este documento se encuentran cdigo
de la imagen en hexadecimal para lo pixeles
mencionados.
Posteriormente se hace la implementacin y
adecuacin del circuito y en la nexis2.

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

Cdigo desarrollado en Matlab para la


conversin de la
imagen a pixeles.
%Codificacion de imagen para GLCD
clc,clear all,close all;
imagen=imread('hives.jpg');
%Obtener imagen
imagen=rgb2gray(imagen);
%Pasar imagen a tonos de grises
imagen=im2bw(imagen,graythresh(imagen));
%Pasar imagen a blanco y negro
imagen=imresize(imagen,[64 64]);
%Pasar imagen a resolucin de 64x64 pixeles (los mismos que la GLCD)
imshow(imagen)
%Mostrar imagen
log=fopen('logo.doc','w');
%Crea o abre el archivo logo para guardar la secuencia
n=6;
%n=contador de linea de impresion
for i=64:-1:1
%For 1, optiene el hexadecimal para la pagina 0 de GLCD
a=imagen(1:8,i)';
%Guarda en a la columna i de la fila 1 a la fila 8 y la traspone
b=int2str(a);
%Convierte en string el vector a y lo guarda en b
c=bin2dec(b);
%Convierte b en decimal y lo guarda en c
f1=dec2hex(c);
%Convierte c en hexadecimal y lo guarda en f1
fprintf(log,'%i=>"10"&X"%s",\n',n,f1); %Imprime 'n=>"00"&X"fi",' en el archivo logo
n=n+1;
end
fprintf(log,' %i=>"00"&X"BE",\n',n);
%Imprime en logo.doc el comando para cambiar a pagina 1
n=n+1;

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.
fprintf(log,' %i=>"00"&X"40",\n',n);
n=n+1;

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1
%Imprime comando para colocar cursor en fila 0

for i=64:-1:1
%For 2, optiene el hexadecimal para la pagina 1 de GLCD
a=imagen(9:16,i)';
b=int2str(a);
c=bin2dec(b);
f1=dec2hex(c);
fprintf(log,'%i=>"10"&X"%s",\n',n,f1);
n=n+1;
end
fprintf(log,' %i=>"00"&X"BD",\n',n); %Imprime en logo.doc el comando para cambiar a pagina 2
n=n+1;
fprintf(log,' %i=>"00"&X"40",\n',n); %Imprime comando para colocar cursor en fila 0
n=n+1;
for i=64:-1:1
%For 3, optiene el hexadecimal para la pagina 2 de GLCD
a=imagen(17:24,i)';
b=int2str(a);
c=bin2dec(b);
f1=dec2hex(c);
fprintf(log,'%i=>"10"&X"%s",\n',n,f1);
n=n+1;
end
fprintf(log,' %i=>"00"&X"BC",\n',n); %Imprime en logo.doc el comando para cambiar a pagina 3
n=n+1;
fprintf(log,' %i=>"00"&X"40",\n',n); %Imprime comando para colocar cursor en fila 0
n=n+1;
for i=64:-1:1

%For 4, optiene el hexadecimal para la pagina 3 de GLCD

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

a=imagen(25:32,i)';
b=int2str(a);
c=bin2dec(b);
f1=dec2hex(c);
fprintf(log,'%i=>"10"&X"%s",\n',n,f1);
n=n+1;
end
fprintf(log,' %i=>"00"&X"BB",\n',n); %Imprime en logo.doc el comando para cambiar a pagina 4
n=n+1;
fprintf(log,' %i=>"00"&X"40",\n',n); %Imprime comando para colocar cursor en fila 0
n=n+1;
for i=64:-1:1
%For 5, optiene el hexadecimal para la pagina 4 de GLCD
a=imagen(33:40,i)';
b=int2str(a);
c=bin2dec(b);
f1=dec2hex(c);
fprintf(log,'%i=>"10"&X"%s",\n',n,f1);
n=n+1;
end
fprintf(log,' %i=>"00"&X"BA",\n',n); %Imprime en logo.doc el comando para cambiar a pagina 5
n=n+1;
fprintf(log,' %i=>"00"&X"40",\n',n); %Imprime comando para colocar cursor en fila 0
n=n+1;
for i=64:-1:1
a=imagen(41:48,i)';
b=int2str(a);
c=bin2dec(b);
f1=dec2hex(c);

%For 6, optiene el hexadecimal para la pagina 5 de GLCD

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

fprintf(log,'%i=>"10"&X"%s",\n',n,f1);
n=n+1;
end
fprintf(log,' %i=>"00"&X"B9",\n',n); %Imprime en logo.doc el comando para cambiar a pagina 6
n=n+1;
fprintf(log,' %i=>"00"&X"40",\n',n); %Imprime comando para colocar cursor en fila 0
n=n+1;
for i=64:-1:1
%For 7, optiene el hexadecimal para la pagina 6 de GLCD
a=imagen(49:56,i)';
b=int2str(a);
c=bin2dec(b);
f1=dec2hex(c);
fprintf(log,'%i=>"10"&X"%s",\n',n,f1);
n=n+1;
end
fprintf(log,' %i=>"00"&X"B8",\n',n); %Imprime en logo.doc el comando para cambiar a pagina 7
n=n+1;
fprintf(log,' %i=>"00"&X"40",\n',n); %Imprime comando para colocar cursor en fila 0
n=n+1;
for i=64:-1:1
%For 8, optiene el hexadecimal para la pagina 7 de GLCD
a=imagen(57:64,i)';
b=int2str(a);
c=bin2dec(b);
f1=dec2hex(c);
fprintf(log,'%i=>"10"&X"%s",\n',n,f1);
n=n+1;
end

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

fclose(log);
n
Ahora bien el resultado obtenido en matlab es:

Y se crea un documento con el codigo en hexadecimal, que se


utiliza en el codigo VHDL.

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

Cdigo en VHDL para visualizar una imagen en una GLCD


library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity GLCD_Driver is Port(
L_DI:out STD_LOGIC:='0';
L_RW:out STD_LOGIC:='0';
L_E: out STD_LOGIC:='0';
L_DATA: out STD_LOGIC_VECTOR(7 downto 0);
L_CS1: out STD_LOGIC:='0';
L_CS2: out STD_LOGIC:='0';
L_RST: out STD_LOGIC:='0';
CLK: in STD_LOGIC;

--Bit 1=DATA/0=Command
--Bit 1=READ/0=WRITE
--Bit ENABLE(flanco de bajada)
--Vector de datos para la GLCD
--Chip select(izquierda),activado con 1
--Chip select(derecha),activado con 1
--Reset GLCD(activo bajo)
-- RELOJ A 50MHz

debug_led: inout std_logic:='1';


RESET: in STD_LOGIC);

--LED para depuracin


--Reset externo BTN1

end GLCD_Driver;
architecture Behavioral of GLCD_Driver is

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.
type glcd_machine is(retraso_arranque,config_del_display,idle);
signal glcd_state: glcd_machine:=Retraso_Arranque;
attribute fsm_encoding: string;

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

--Estado Inicial
--Codificacin de los datos

--Codificacin binaria al sintetizar


attribute fsm_encoding of glcd_state: signal is "compact";
--Signals
signal glcd_data: std_logic_vector(9 downto 0):="00"&X"00";
signal delay_count: std_logic_vector(20 downto 0):="0"&X"00000";
signal glcd_enable: std_logic:='0';
signal x_pos: std_logic_vector(7 downto 0):=X"00";
signal y_pos: std_logic_vector(7 downto 0):=X"00";
signal number: std_logic_vector(7 downto 0):=X"F0";
signal fin: std_logic:='0';
signal CLKdiv: std_logic_vector(6 downto 0);

--Contador General
--Nmero de pgina en X
--Posicin en el eje y
--Valor mostrado al limpiar
-- divisor para una frecuencia de 1 MHz

--EDITAR
type GLCD_Cmd_Table is array(integer range <>) of std_logic_vector(0 to 9);
--bit 9 D/L, bit 8 RW
constant GLCD_Cmd:GLCD_Cmd_Table:=(0=>"00"&X"00",
1=>"00"&X"3E",
--Configuracin,Apagar Display
2=>"00"&X"0C",
--Configuracin,Linea inicial 0
3=>"00"&X"3F",
--Configuracin,Encender Display
4=>"00"&X"BF",
--Configuracin,Poner pgina 0
5=>"00"&X"40",
--Configuracin,Poner fila 16

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.
6=>"10"&X"00",
7=>"10"&X"3F",
8=>"10"&X"3F",
9=>"10"&X"3F",
10=>"10"&X"3F",
11=>"10"&X"3F",
12=>"10"&X"3F",
13=>"10"&X"3F",
14=>"10"&X"3F",
15=>"10"&X"3F",
16=>"10"&X"3F",
17=>"10"&X"3F",
18=>"10"&X"3F",
19=>"10"&X"3F",
20=>"10"&X"3F",
21=>"10"&X"3F",
22=>"10"&X"3F",
23=>"10"&X"3F",
24=>"10"&X"7F",
25=>"10"&X"7F",
26=>"10"&X"7F",
27=>"10"&X"7F",
28=>"10"&X"7F",
29=>"10"&X"7F",
30=>"10"&X"7F",
31=>"10"&X"7F",
32=>"10"&X"7F",
33=>"10"&X"7F",
34=>"10"&X"7F",
35=>"10"&X"7F",

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1
--Inicio del cdigo obtenido con el algoritmo de matlab

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

36=>"10"&X"7F",
37=>"10"&X"7F",
38=>"10"&X"7F",
39=>"10"&X"7F",
40=>"10"&X"7F",
41=>"10"&X"7F",
42=>"10"&X"7F",
43=>"10"&X"7F",
44=>"10"&X"7F",
45=>"10"&X"7F",
46=>"10"&X"7F",
47=>"10"&X"7F",
48=>"10"&X"7F",
49=>"10"&X"7F",
50=>"10"&X"7F",
51=>"10"&X"7F",
52=>"10"&X"7F",
53=>"10"&X"7F",
54=>"10"&X"7F",
55=>"10"&X"7F",
56=>"10"&X"7F",
57=>"10"&X"7F",
58=>"10"&X"7F",
59=>"10"&X"7F",
60=>"10"&X"FF",
61=>"10"&X"FF",
62=>"10"&X"BF",
63=>"10"&X"BF",
64=>"10"&X"BF",
65=>"10"&X"7F",

10

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

66=>"10"&X"FF",
67=>"10"&X"3F",
68=>"10"&X"3F",
69=>"10"&X"7F",
70=>"00"&X"BE",
71=>"00"&X"40",
72=>"10"&X"00",
73=>"10"&X"FF",
74=>"10"&X"FF",
75=>"10"&X"FF",
76=>"10"&X"FF",
77=>"10"&X"FF",
78=>"10"&X"FF",
79=>"10"&X"FF",
80=>"10"&X"FF",
81=>"10"&X"FF",
82=>"10"&X"FF",
83=>"10"&X"FF",
84=>"10"&X"FF",
85=>"10"&X"FF",
86=>"10"&X"FF",
87=>"10"&X"FF",
88=>"10"&X"FF",
89=>"10"&X"FF",
90=>"10"&X"FF",
91=>"10"&X"FF",
92=>"10"&X"FF",
93=>"10"&X"FF",
94=>"10"&X"FF",
95=>"10"&X"FF",

11

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

96=>"10"&X"FF",
97=>"10"&X"FF",
98=>"10"&X"FF",
99=>"10"&X"FF",
100=>"10"&X"FF",
101=>"10"&X"FF",
102=>"10"&X"FE",
103=>"10"&X"FE",
104=>"10"&X"FE",
105=>"10"&X"FF",
106=>"10"&X"FF",
107=>"10"&X"FF",
108=>"10"&X"FF",
109=>"10"&X"FF",
110=>"10"&X"FF",
111=>"10"&X"FF",
112=>"10"&X"FF",
113=>"10"&X"FF",
114=>"10"&X"FF",
115=>"10"&X"FF",
116=>"10"&X"FF",
117=>"10"&X"FF",
118=>"10"&X"FF",
119=>"10"&X"FF",
120=>"10"&X"FF",
121=>"10"&X"FF",
122=>"10"&X"FF",
123=>"10"&X"FF",
124=>"10"&X"FF",
125=>"10"&X"FF",

12

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

126=>"10"&X"FF",
127=>"10"&X"FF",
128=>"10"&X"FF",
129=>"10"&X"FF",
130=>"10"&X"FF",
131=>"10"&X"FF",
132=>"10"&X"FF",
133=>"10"&X"FF",
134=>"10"&X"FF",
135=>"10"&X"FF",
136=>"00"&X"BD",
137=>"00"&X"40",
138=>"10"&X"00",
139=>"10"&X"FF",
140=>"10"&X"FF",
141=>"10"&X"FF",
142=>"10"&X"FF",
143=>"10"&X"FF",
144=>"10"&X"FF",
145=>"10"&X"FF",
146=>"10"&X"FE",
147=>"10"&X"FC",
148=>"10"&X"F8",
149=>"10"&X"F8",
150=>"10"&X"F8",
151=>"10"&X"F8",
152=>"10"&X"F8",
153=>"10"&X"F8",
154=>"10"&X"FC",
155=>"10"&X"FE",

13

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

156=>"10"&X"FF",
157=>"10"&X"F8",
158=>"10"&X"F8",
159=>"10"&X"F8",
160=>"10"&X"F8",
161=>"10"&X"F8",
162=>"10"&X"F8",
163=>"10"&X"F8",
164=>"10"&X"FE",
165=>"10"&X"FF",
166=>"10"&X"FF",
167=>"10"&X"FF",
168=>"10"&X"3F",
169=>"10"&X"00",
170=>"10"&X"00",
171=>"10"&X"F0",
172=>"10"&X"FF",
173=>"10"&X"FF",
174=>"10"&X"FF",
175=>"10"&X"FE",
176=>"10"&X"F8",
177=>"10"&X"80",
178=>"10"&X"80",
179=>"10"&X"87",
180=>"10"&X"F8",
181=>"10"&X"F8",
182=>"10"&X"F8",
183=>"10"&X"F8",
184=>"10"&X"FF",
185=>"10"&X"F8",

14

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

186=>"10"&X"F8",
187=>"10"&X"F8",
188=>"10"&X"F8",
189=>"10"&X"FF",
190=>"10"&X"FE",
191=>"10"&X"88",
192=>"10"&X"88",
193=>"10"&X"88",
194=>"10"&X"88",
195=>"10"&X"FF",
196=>"10"&X"FF",
197=>"10"&X"FF",
198=>"10"&X"FF",
199=>"10"&X"FF",
200=>"10"&X"FF",
201=>"10"&X"FF",
202=>"00"&X"BC",
203=>"00"&X"40",
204=>"10"&X"00",
205=>"10"&X"FF",
206=>"10"&X"FF",
207=>"10"&X"FF",
208=>"10"&X"FF",
209=>"10"&X"FF",
210=>"10"&X"FF",
211=>"10"&X"FF",
212=>"10"&X"1F",
213=>"10"&X"1C",
214=>"10"&X"18",
215=>"10"&X"18",

15

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

216=>"10"&X"10",
217=>"10"&X"E0",
218=>"10"&X"00",
219=>"10"&X"00",
220=>"10"&X"01",
221=>"10"&X"03",
222=>"10"&X"FF",
223=>"10"&X"78",
224=>"10"&X"38",
225=>"10"&X"20",
226=>"10"&X"00",
227=>"10"&X"00",
228=>"10"&X"00",
229=>"10"&X"00",
230=>"10"&X"FF",
231=>"10"&X"FF",
232=>"10"&X"F9",
233=>"10"&X"E0",
234=>"10"&X"DA",
235=>"10"&X"3C",
236=>"10"&X"0E",
237=>"10"&X"07",
238=>"10"&X"C3",
239=>"10"&X"E3",
240=>"10"&X"C1",
241=>"10"&X"00",
242=>"10"&X"00",
243=>"10"&X"0F",
244=>"10"&X"7F",
245=>"10"&X"FF",

16

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

246=>"10"&X"00",
247=>"10"&X"00",
248=>"10"&X"00",
249=>"10"&X"00",
250=>"10"&X"FF",
251=>"10"&X"00",
252=>"10"&X"00",
253=>"10"&X"00",
254=>"10"&X"00",
255=>"10"&X"E0",
256=>"10"&X"00",
257=>"10"&X"00",
258=>"10"&X"00",
259=>"10"&X"00",
260=>"10"&X"00",
261=>"10"&X"FF",
262=>"10"&X"FF",
263=>"10"&X"FF",
264=>"10"&X"FF",
265=>"10"&X"FF",
266=>"10"&X"FF",
267=>"10"&X"FF",
268=>"00"&X"BB",
269=>"00"&X"40",
270=>"10"&X"00",
271=>"10"&X"FF",
272=>"10"&X"FF",
273=>"10"&X"FF",
274=>"10"&X"FF",
275=>"10"&X"FF",

17

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

276=>"10"&X"FF",
277=>"10"&X"FF",
278=>"10"&X"01",
279=>"10"&X"00",
280=>"10"&X"00",
281=>"10"&X"00",
282=>"10"&X"18",
283=>"10"&X"38",
284=>"10"&X"80",
285=>"10"&X"80",
286=>"10"&X"80",
287=>"10"&X"83",
288=>"10"&X"F0",
289=>"10"&X"F0",
290=>"10"&X"F0",
291=>"10"&X"00",
292=>"10"&X"00",
293=>"10"&X"00",
294=>"10"&X"00",
295=>"10"&X"00",
296=>"10"&X"01",
297=>"10"&X"C0",
298=>"10"&X"E7",
299=>"10"&X"F7",
300=>"10"&X"7B",
301=>"10"&X"1D",
302=>"10"&X"0D",
303=>"10"&X"3F",
304=>"10"&X"BF",
305=>"10"&X"FF",

18

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

306=>"10"&X"FF",
307=>"10"&X"FF",
308=>"10"&X"7F",
309=>"10"&X"80",
310=>"10"&X"FF",
311=>"10"&X"F7",
312=>"10"&X"00",
313=>"10"&X"00",
314=>"10"&X"00",
315=>"10"&X"00",
316=>"10"&X"E7",
317=>"10"&X"00",
318=>"10"&X"00",
319=>"10"&X"00",
320=>"10"&X"00",
321=>"10"&X"7F",
322=>"10"&X"00",
323=>"10"&X"00",
324=>"10"&X"00",
325=>"10"&X"00",
326=>"10"&X"00",
327=>"10"&X"FF",
328=>"10"&X"FF",
329=>"10"&X"FF",
330=>"10"&X"FF",
331=>"10"&X"FF",
332=>"10"&X"FF",
333=>"10"&X"FF",
334=>"00"&X"BA",
335=>"00"&X"40",

19

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

336=>"10"&X"00",
337=>"10"&X"FF",
338=>"10"&X"FF",
339=>"10"&X"FF",
340=>"10"&X"FF",
341=>"10"&X"FF",
342=>"10"&X"FF",
343=>"10"&X"FF",
344=>"10"&X"FF",
345=>"10"&X"D7",
346=>"10"&X"7F",
347=>"10"&X"57",
348=>"10"&X"57",
349=>"10"&X"4F",
350=>"10"&X"5F",
351=>"10"&X"EF",
352=>"10"&X"F7",
353=>"10"&X"FF",
354=>"10"&X"F7",
355=>"10"&X"FF",
356=>"10"&X"FF",
357=>"10"&X"FF",
358=>"10"&X"7F",
359=>"10"&X"67",
360=>"10"&X"67",
361=>"10"&X"EF",
362=>"10"&X"FF",
363=>"10"&X"1F",
364=>"10"&X"07",
365=>"10"&X"C1",

20

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

366=>"10"&X"E1",
367=>"10"&X"F3",
368=>"10"&X"F1",
369=>"10"&X"B1",
370=>"10"&X"90",
371=>"10"&X"80",
372=>"10"&X"C0",
373=>"10"&X"80",
374=>"10"&X"83",
375=>"10"&X"3F",
376=>"10"&X"EB",
377=>"10"&X"E3",
378=>"10"&X"7F",
379=>"10"&X"73",
380=>"10"&X"7B",
381=>"10"&X"7B",
382=>"10"&X"FF",
383=>"10"&X"FF",
384=>"10"&X"7F",
385=>"10"&X"7F",
386=>"10"&X"7B",
387=>"10"&X"77",
388=>"10"&X"FF",
389=>"10"&X"FB",
390=>"10"&X"FF",
391=>"10"&X"7F",
392=>"10"&X"7F",
393=>"10"&X"FF",
394=>"10"&X"FF",
395=>"10"&X"FF",

21

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

396=>"10"&X"FF",
397=>"10"&X"FF",
398=>"10"&X"FF",
399=>"10"&X"FF",
400=>"00"&X"B9",
401=>"00"&X"40",
402=>"10"&X"00",
403=>"10"&X"FF",
404=>"10"&X"FF",
405=>"10"&X"FF",
406=>"10"&X"FF",
407=>"10"&X"FF",
408=>"10"&X"FF",
409=>"10"&X"FF",
410=>"10"&X"FF",
411=>"10"&X"FF",
412=>"10"&X"FF",
413=>"10"&X"FF",
414=>"10"&X"FF",
415=>"10"&X"FF",
416=>"10"&X"FF",
417=>"10"&X"FF",
418=>"10"&X"FF",
419=>"10"&X"FF",
420=>"10"&X"FF",
421=>"10"&X"7F",
422=>"10"&X"BF",
423=>"10"&X"FF",
424=>"10"&X"FF",
425=>"10"&X"FF",

22

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

426=>"10"&X"FF",
427=>"10"&X"FF",
428=>"10"&X"7F",
429=>"10"&X"FF",
430=>"10"&X"DF",
431=>"10"&X"DF",
432=>"10"&X"5F",
433=>"10"&X"FF",
434=>"10"&X"FF",
435=>"10"&X"BF",
436=>"10"&X"FF",
437=>"10"&X"FF",
438=>"10"&X"FF",
439=>"10"&X"FF",
440=>"10"&X"FF",
441=>"10"&X"FF",
442=>"10"&X"FF",
443=>"10"&X"FF",
444=>"10"&X"FF",
445=>"10"&X"FF",
446=>"10"&X"BF",
447=>"10"&X"FF",
448=>"10"&X"FF",
449=>"10"&X"FF",
450=>"10"&X"FF",
451=>"10"&X"FF",
452=>"10"&X"FF",
453=>"10"&X"FF",
454=>"10"&X"FF",
455=>"10"&X"FF",

23

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

456=>"10"&X"FF",
457=>"10"&X"FF",
458=>"10"&X"FF",
459=>"10"&X"FF",
460=>"10"&X"FF",
461=>"10"&X"FF",
462=>"10"&X"FF",
463=>"10"&X"FF",
464=>"10"&X"FF",
465=>"10"&X"FF",
466=>"00"&X"B8",
467=>"00"&X"40",
468=>"10"&X"08",
469=>"10"&X"FF",
470=>"10"&X"FF",
471=>"10"&X"FF",
472=>"10"&X"FF",
473=>"10"&X"FE",
474=>"10"&X"FE",
475=>"10"&X"FE",
476=>"10"&X"FE",
477=>"10"&X"FE",
478=>"10"&X"FF",
479=>"10"&X"FE",
480=>"10"&X"FF",
481=>"10"&X"FE",
482=>"10"&X"FE",
483=>"10"&X"FE",
484=>"10"&X"FE",
485=>"10"&X"FE",

24

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

486=>"10"&X"FE",
487=>"10"&X"FE",
488=>"10"&X"FE",
489=>"10"&X"FE",
490=>"10"&X"FE",
491=>"10"&X"FE",
492=>"10"&X"FE",
493=>"10"&X"FE",
494=>"10"&X"FE",
495=>"10"&X"FE",
496=>"10"&X"FE",
497=>"10"&X"FE",
498=>"10"&X"FE",
499=>"10"&X"FE",
500=>"10"&X"FE",
501=>"10"&X"FE",
502=>"10"&X"FE",
503=>"10"&X"FE",
504=>"10"&X"FE",
505=>"10"&X"FE",
506=>"10"&X"FE",
507=>"10"&X"FF",
508=>"10"&X"FE",
509=>"10"&X"FE",
510=>"10"&X"FE",
511=>"10"&X"FE",
512=>"10"&X"FE",
513=>"10"&X"FF",
514=>"10"&X"FF",
515=>"10"&X"FF",

25

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

516=>"10"&X"FF",
517=>"10"&X"FE",
518=>"10"&X"FE",
519=>"10"&X"FE",
520=>"10"&X"FE",
521=>"10"&X"FF",
522=>"10"&X"FF",
523=>"10"&X"FF",
524=>"10"&X"FF",
525=>"10"&X"FD",
526=>"10"&X"FD",
527=>"10"&X"FF",
528=>"10"&X"FF",
529=>"10"&X"FF",
530=>"10"&X"FE",
531=>"10"&X"FB");

--Fin del cdigo obtenido con el algoritmo de matlab

signal GLCD_Ptr: integer range 0 to GLCD_Cmd'HIGH:=0;


begin
PROCESS(CLK,RESET)
begin
if(CLK'event and CLK='1') then
CLKdiv<=CLKdiv+1;
end if;
if(RESET='0')then
L_RST<='0';
glcd_state<=retraso_arranque;

-- Divisor para obtener una frecuencia de 1 MHz

--Resetear la GLCD

26

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

delay_count<=(others=>'0');
GLCD_Ptr<=0;
L_CS1<='0';L_CS2<='0';
elsif(CLKdiv(6)='1' and CLKdiv(6)'event)then
-- a 1 Mhz
case glcd_state is
when retraso_arranque=>
if(delay_count="0"&X"CFFFF")then
delay_count<="0"&X"00000";
glcd_state<=config_del_display;
L_RST<='1';
--Sacar al display del reset
else
glcd_data<=GLCD_Cmd(GLCD_Ptr);
glcd_enable<='0';
delay_count<=delay_count+1;
glcd_state<=retraso_arranque;
end if;
when config_del_display=>
if(delay_count="0"&X"00024")then
delay_count<="0"&X"00000";
glcd_state<=config_del_display;
GLCD_Ptr<=GLCD_Ptr+1;
elsif(delay_count="0"&X"00012")then
glcd_data(9)<='1';
--L_DI<='1'
delay_count<=delay_count+1;
elsif(delay_count="0"&X"00009")then
glcd_enable<='0';
delay_count<=delay_count+1;
glcd_state<=config_del_display;

27

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

elsif(delay_count="0"&X"00006")then
glcd_enable<='1';
delay_count<=delay_count+1;
glcd_state<=config_del_display;
else
if(GLCD_Ptr=4)then
L_CS1<='1';L_CS2<='1';
end if;
glcd_data<=GLCD_Cmd(GLCD_Ptr);

--Carga dato y flags R/W y D/I

delay_count<=delay_count+1;
glcd_state<=config_del_display;
end if;
when idle=>
if(delay_count="1"&X"CFFFF")then
debug_led<=NOT(debug_led);
delay_count<="0"&X"00000";
glcd_state<=idle;
else
delay_count<=delay_count+1;
glcd_state<=idle;
end if;
end case;
end if;
end process;
L_DATA<=glcd_data(7 downto 0);
L_DI<=glcd_data(9);
L_RW<=glcd_data(8);

28

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

L_E<=glcd_enable;
end Behavioral;
Codigo en UCF para direccionamiento de las salidas y entradas a
la Nexis 2.
--Vector de datos para la GLCD
net "L_DATA(7)" loc = "M16";
--8vo dato de salida enviado a la Glcd por la nexis
net "L_DATA(6)" loc = "M15";
--7mo dato de salida enviado a la Glcd por la nexis
net "L_DATA(5)" loc = "M14";
--6to dato de salida enviado a la Glcd por la nexis
net "L_DATA(4)" loc = "L17";
--5to dato de salida enviado a la Glcd por la nexis
net "L_DATA(3)" loc = "L16";
--4to dato de salida enviado a la Glcd por la nexis
net "L_DATA(2)" loc = "K12";
--3ro dato de salida enviado a la Glcd por la nexis
net "L_DATA(1)" loc = "K13";
--2do dato de salida enviado a la Glcd por la nexis
net "L_DATA(0)" loc = "L15";
--1er dato de salida enviado a la Glcd por la nexis
net "L_DI" loc = "G15";
net "L_RW" loc = "J16";
net "L_E" loc = "G13";
net "L_CS1" loc = "H16";
net "L_CS2" loc = "H15";
net "L_RST" loc = "F14";

--Bit 1=DATA/0=Command
--Bit 1=READ/0=WRITE
--Bit ENABLE(flanco de bajada)
--Chip select(izquierda),activado con 1
--Chip select(derecha),activado con 1
--Reset GLCD(activo bajo)

net "CLK" loc = "B8";


net "debug_led" loc = "J14";
net "RESET" loc ="G18";

-- RELOJ A 50MHz
--LED para depuracin
--Reset externo

29

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

Diagrama proporcionado por el datasheet de la glcd

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

Diagrama esquematico de conexiones

30

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

31

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1

Resultados :

32

UPIITA-IPN
Garduo Paita Ayrton Gerardo
Vzquez Hernndez Alba Elena
Yasumura Melchor Takeo G.
Conclusiones :

CIRCUITOS LGICOS
REPORTE GLCD
EQUIPO : THE HIVES
5BM1
Yasumura Melchor Takeo G.:

Garduo Paita Ayrton Gerardo:

Vzquez Hernndez Alba Elena:


Es una buena experiencia haber trabajado con una GLCD ya que
era un instrumento que no haba utilizado y fue todo un reto
personal, ademas de conocer como inicializarla, y poder
auxiliarme del programa MATLAB para convertir a pixeles una
imagen, claro el # de pixeles deba coincidir con los de la GLCD.
Tmbien es importante considerar la atencin para cablear ya que
si no es muy complicado corroborar el buen funcionamiento.

Bibliografa, Cibergrafa y referencias.


*Datasheet GLCD JHD12864
*Ejemplo proporcionado por el profesor Jaramillo.

33

Vous aimerez peut-être aussi