OpenCores
URL https://opencores.org/ocsvn/phr/phr/trunk

Subversion Repositories phr

[/] [phr/] [trunk/] [doc/] [informe-tesis/] [reports/] [PPS/] [maximiq/] [manual usuario rev2/] [tex/] [phr.tex] - Blame information for rev 443

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 424 maximiq
 
2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4
%NEW CHAPTER  NEW CHAPTER  NEW CHAPTER  NEW CHAPTER  NEW CHAPTER%
5
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7
 
8
\chapter{La placa PHR}\label{phr:chapter}
9
 
10
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11
%NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION%
12
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13
 
14
\section{El chip FPGA}
15
 
16
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18
 
19
\subsection{Características principales}
20
 
21
\begin{itemize}
22
\item Número de compuertas: 200K
23
\item Celdas lógicas equivalentes: 4032
24
\item CLBs: 448 (distribuidos en 32 filas y 16 columnas)
25
\item Bits de RAM distribuida: 28K
26 443 guanucolui
\item Bits de bloques de RAM: 288K
27 424 maximiq
\item Multiplicadores dedicados: 16
28
\item DCMs: 4
29
\item Máximo número de E/S = 248
30
\item E/S pares diferenciales máximo: 112
31
 
32
\end{itemize}
33
 
34
 
35
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
36
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
37
 
38
\subsection{Descripción de la arquitectura}
39
 
40
La familia Spartan-3A tiene cinco bloques fundamentales a tener en cuenta respecto de la arquitectura:
41
 
42
\begin{description}
43
 
44
\item[Bloques Lógicos Configurables (CLBs)] contienen \textsl{Look-Up Tables} (LUTs) que implementan funciones lógicas y además sirven como elementos de almacenamiento.
45
 
46
\item[Bloques de Entrada/Salida (IOBs)] controlan el flujo de datos entre los pines de E/S y la lógica interna del dispositivo. Los IOBs soportan datos en forma bidireccional además de la operación 3-state.
47
 
48
\item[Bloque de RAM] sirve como forma de almacenamiento.
49
 
50
\item[Bloques multiplicadores] aceptan como entrada dos números de 18 bits cada uno y calcula el producto entre ambos.
51
 
52
\item[Bloque DCM (\textsl{Digital Clock Manager})] tiene la capacidad para distribuir, retardar, multiplicar, dividir y desplazar en fase las señales de clock.
53
 
54
\end{description}
55
 
56
\begin{figure}[h]
57
\begin{center}
58
  \includegraphics{./img/phr/arquitectura.pdf}
59
\end{center}
60
\caption[Bloques fundamentales de la FPGA]{Bloques fundamentales de la FPGA.}
61
\label{phr:arquitectura}
62
\end{figure}
63
 
64 443 guanucolui
Para el caso del chip XC3S200A, la Fig. \ref{phr:arquitectura} muestra la organización de estos bloques fundamentales dentro del dispositivo. Los IOBs se ubican alrededor de la matriz de CLBs. Los bloques de memoria RAM se encuentran en dos columnas, en cada una se disponen varios bloques de RAM de 18 Kbit asociados con un multiplicador dedicado. Dos DCMs se ubican en el centro hacia arriba y otros dos en el centro hacia abajo.
65 424 maximiq
 
66
 
67
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
68
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
69
 
70
\subsection{Capacidades de E/S}
71
 
72
La familia Spartan-3A soporta varios estándares para sus entradas y salidas que deberán ser configurados apropiadamente para el uso específico.
73
 
74
\begin{itemize}
75
\item Terminales simples
76
%Para el caso de terminaciones simples estas FPGAs cumplen con:
77
\begin{itemize}
78
\item TTL de 3.3V (LVTTL).
79
\item CMOS de bajo voltaje (LVCMOS) en tensiones de 3.3V, 2.5V, 1.8V, 1.5V o 1.2V.
80
\item PCI de 3.3V a frecuencias de 33MHz o 66MHz.
81
\item HSTL I, II y III a 1.5V y 1.8V (comúnmente usado en memorias).
82
\item SSTL I y II a 1.8V, 2.5V y 3.3V (comúnmente usado en memorias).
83
\end{itemize}
84
 
85
%Los estándares con terminación diferencial que soportan son:
86
\item Terminales diferenciales
87
\begin{itemize}
88
\item Entradas/Salidas LVDS, mini-LVDS, RSDS y PPDS a 2.5V o 3.3V.
89
\item Bus LVDS a 2.5V.
90
\item TMDS a 3.3V.
91
\item HSTL y SSTL diferenciales.
92
\item Entradas LVPECL a 2.5V y 3.3V.
93
\end{itemize}
94
\end{itemize}
95
 
96
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
97
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
98
 
99
\subsection{Requerimientos de alimentación}\label{phr:alimentacion}
100
 
101
El chip XC3S200A tiene varias entradas de alimentación que se describen de manera sucinta en la Tabla \ref{phr:powersignals}. La FPGA cuenta con un circuito especializado de \textsl{Power-On Reset} (POR) que controla tres tensiones de alimentación (VCCINT, VCCAUX y VCCO2) y mantiene al chip en estado de reset hasta que se alcanzan los niveles seguros de trabajo para proseguir con la carga del sistema.
102
 
103
 
104
\begin{table}[h]
105
\begin{center}
106
\begin{tabular}{|c|p{13cm}|}
107
        \hline
108
        \textbf{Entrada} & \textbf{Descripción}\\      \hline
109
        \hline
110
   VCCINT  & Es la tensión de alimentación del núcleo interno. Alimenta las funciones lógicas internas como los CLBs (\emph{Bloques Lógicos Configurables}) y los bloques de RAM. \\       \hline
111 443 guanucolui
   VCCAUX  & Fuente de tensión auxiliar. Alimenta elementos tales como los DCMs (\textsl{Digital Clock Managers}), \textsl{drivers} diferenciales, pines de configuración dedicados y la  interfaz JTAG.  \\  \hline
112 424 maximiq
   VCCO0  & Alimenta los buffers de salida del Banco de E/S número 0.    \\    \hline
113
   VCCO1  & Alimenta los buffers de salida del Banco de E/S número 1.   \\     \hline
114
   VCCO2  & Alimenta los buffers de salida del Banco de E/S número 2.    \\    \hline
115
   VCCO3  & Alimenta los buffers de salida del Banco de E/S número 3.    \\    \hline
116
\end{tabular}
117
\end{center}
118
\caption[Voltajes de alimentación]{Voltajes de alimentación para la familia Spartan-3A.}
119
\label{phr:powersignals}
120
\end{table}
121
 
122
A diferencia de otras FPGAs, la XC3S200A no tiene requerimientos respecto de la secuencia en se deben activar las fuentes de alimentación, pero si respecto de la pendiente de arranque. Los tiempos de pendiente recomendados se muestran en la Tabla \ref{phr:ramprate}.
123
 
124
 
125
\begin{table}[h]
126
\begin{center}
127
\begin{tabular}{|c|l|c|c|}
128
        \hline
129
        \textbf{Símbolo} & \textbf{Descripción} & \textbf{Min} & \textbf{Max} \\      \hline
130
        \hline
131
   VCCINTR & Rampa desde GND a VCCINT  & 0.2 ms & 100 ms   \\   \hline
132
        VCCAUXR & Rampa desde GND a VCCAUX  & 0.2 ms & 100 ms   \\      \hline
133
        VCCO2R  & Rampa desde GND a VCCO del Banco 2  & 0.2 ms & 100 ms   \\    \hline
134
\end{tabular}
135
\end{center}
136 443 guanucolui
\caption[Rampas de las fuentes de alimentación]{Tiempos de crecimiento para las rampas al encender las fuentes de alimentación.}
137 424 maximiq
\label{phr:ramprate}
138
\end{table}
139
 
140
 
141 443 guanucolui
Para más información referida al sistema de alimentación ver el Capítulo \ref{s3power:chapter} en la pág. \pageref{s3power:chapter}.
142 424 maximiq
 
143
 
144
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
145
%NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION%
146
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
147
 
148
\section{Configuración de la FPGA}\label{phr:sec:fpga_conf}
149
 
150 443 guanucolui
La FPGA al inicializarse no contiene dato alguno y para que trabaje como lo desea el usuario debe  pasar por el proceso de \emph{configuración}. Los datos se cargan desde el exterior en registros de configuración CMOS (CCLs según las iniciales en inglés) y usando alguno de los siguientes modos aplicables a  la familia Spartan-3A:
151 424 maximiq
 
152
\begin{itemize}
153
\item \textsl{Master Serial} desde una memoria PROM Flash de Xilinx.
154
\item \textsl{Serial Peripheral Interface} (SPI) desde una memoria Flash SPI.
155
\item \textsl{Byte Peripheral Interface} (BPI) desde una memoria NOR Flash.
156
\item \textsl{Slave Serial}, típicamente cargada desde un procesador.
157
\item \textsl{Slave Parallel}, típicamente cargada desde un procesador.
158
\item \textsl{Boundary Scan} (JTAG), típicamente cargada desde un procesador.
159
\end{itemize}
160
 
161 443 guanucolui
La elección de cada uno de los modos se hace mediante tres pines de la FPGA a los que se hace referencia con M[2:0]. La Tabla \ref{phr:modes} muestra cuáles son los valores lógicos de los modos aplicables para esta familia de FPGA, y  se resaltan aquellos a los que se recurre en la placa PHR.
162 424 maximiq
 
163
\begin{table}[h!]
164
\begin{center}
165
\begin{tabular}{|c|l|}
166
        \hline
167
        \textbf{Pines M[2:0]} & \textbf{Modo}  \\       \hline\hline
168
        \cellcolor{yellow!65}\textbf{<0:0:0>}  & \cellcolor{yellow!65}\textbf{Modo \textsl{Master Serial} }   \\        \hline
169
        <0:0:1>  & Modo \textsl{Master SPI}   \\        \hline
170
        <0:1:0>  & \textsl{BPI Up}   \\ \hline
171
        <0:1:1>  & Reservado \\ \hline
172
        <1:0:0>  & Reservado   \\       \hline
173
        \cellcolor{yellow!65}\textbf{<1:0:1>}  & \cellcolor{yellow!65}\textbf{Modo JTAG }  \\   \hline
174
        <1:1:0>  & Modo \textsl{Slave Parallel}    \\   \hline
175
        <1:1:1>  & Modo \textsl{Slave Serial}   \\      \hline
176
\end{tabular}
177
\end{center}
178 443 guanucolui
\caption[Ajuste de los modos de configuración]{Ajuste de los modos de configuración para la familia Spartan-3A. Se resaltan los usados en la placa PHR.}
179 424 maximiq
\label{phr:modes}
180
\end{table}
181
 
182 443 guanucolui
En la placa PHR los modos utilizados son el \emph{JTAG} (a través de la placa OOCDLink) y el \emph{Master Serial} (desde la memoria PROM XCF02S). Cuando se elige el primer método se configura el chip con una computadora que debe correr una aplicación al efecto. Asimismo, para aplicar el segundo método, hay que usar la placa OOCDLink para programar la PROM al menos una vez. De ahí en más, con cada ciclo de arranque de la FPGA, ésta tendrá la posibilidad de trabajar en forma independiente de la computadora cargando los datos pre-grabados en la memoria.
183 424 maximiq
 
184 443 guanucolui
La Fig. \ref{phr:confmodes} muestra el diagrama de cómo se ve la elección del modo de configuración a un nivel físico. Sin puente alguno se leen 3.3V en los pines M0 y M2, mientras que se lee 0V en M1 (la FPGA recibirá los datos desde JTAG). Al colocar un \textsl{jumper} entre los pines 1 y 2 la tensión de M0 y M2 es de 0 V (la FPGA intentará cargar desde la PROM).
185 424 maximiq
 
186
\begin{figure}[h!]
187
\begin{center}
188
  \includegraphics{./img/phr/config_modes.pdf}
189
\end{center}
190
\caption[Modos de configuración]{Modos de configuración.}
191
\label{phr:confmodes}
192
\end{figure}
193
 
194
A nivel de usuario la selección se trata simplemente de cambiar la posición del jumper indicado con 5 en la Fig. \ref{intro:componentes}. Una ilustración de las dos posibles vías que toman los datos para alcanzar la FPGA se muestra en la Fig. \ref{phr:confmodes_sche}.
195
 
196
 
197
\begin{figure}[h!]
198
\begin{center}
199
  \includegraphics[width=15cm]{./img/phr/conf_mod_sche.pdf}
200
\end{center}
201
\caption[Modos de configuración]{Modos de configuración.}
202
\label{phr:confmodes_sche}
203
\end{figure}
204
 
205
 
206
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
207
%NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION%
208
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
209
 
210
\section{Fuentes de \textsl{clock}} \label{phr:sec:clocks}
211
 
212 443 guanucolui
La placa PHR provee a la FPGA de cuatro fuentes de reloj. El mas
213
rápido de ellos tiene una frecuencia de oscilación fija de 50 MHz. El
214
resto tienen frecuencias seleccionables por usuario. En la
215
Fig. \ref{intro:componentes} se indican con el número 1 los \textsl{jumpers} con los cuales se eligen las frecuencias para estos relojes.
216 424 maximiq
 
217
Los pines de la FPGA a los cuales se asignan  cada clock se muestran en la Tabla \ref{phr:pines-relojes}. Estos son pines de \textsl{Global Clock} que están especialmente diseñados para tratar señales de alta frecuencia. Proveen una capacidad asociada muy baja y un retardo uniforme para cada bloque dentro del chip.
218
 
219
\begin{table}[h!]
220
\begin{center}
221
\begin{tabular}{|c|c|c|c|c|}
222
        \hline
223
        \textbf{Reloj} & Fijo (50 MHz) &        Reloj seleccionable 1 & Reloj seleccionable 2 & Reloj seleccionable 3 \\        \hline
224
        \textbf{Pin}   & 43     & 44     & 41     & 40     \\   \hline
225
\end{tabular}
226
\end{center}
227
\caption[Pines para los relojes]{Pines para los relojes.}
228
\label{phr:pines-relojes}
229
\end{table}
230
 
231
 
232
 
233
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
234
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
235
 
236
\subsection{El reloj de 50 MHz}
237
 
238
Esta frecuencia se genera con el dispositivo ACOL-50MHZ-EK, que tiene un oscilador a cristal y encuentra aplicaciones en chips digitales y microprocesadores. Se alimenta con un bajo nivel de tensión (3.3V) y su salida es compatible con HCMOS y TTL.
239
 
240
 
241
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
242
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
243
 
244
\subsection{Relojes seleccionables}\label{phr:sec:clock}
245
 
246
El conjunto de relojes se basa en un cristal y el chip contador MC74HC4060A. Una frecuencia principal de 16 MHz es dividida en dos sucesivamente por el contador para obtener todas las frecuencias seleccionables.
247
 
248
Los pines para selección de los relojes se muestran en la Fig. \ref{phr:relojes}. En los primeros dos relojes se puede elegir una de entre cuatro  frecuencias mientras que para el tercer reloj se puede elegir una de entre tres frecuencias.
249
 
250
\begin{figure}[h!]
251
\begin{center}
252
  \includegraphics{./img/phr/relojes.pdf}
253
\end{center}
254
\caption[Selectores de los relojes en la placa]{Selectores de los relojes en la placa.}
255
\label{phr:relojes}
256
\end{figure}
257
 
258
El conexionado de los jumpers para los clocks se muestra junto con las posibles frecuencias seleccionables en la Fig. \ref{phr:relojesSeteo}.
259
 
260
\begin{figure}[h!]
261
\begin{center}
262
  \includegraphics{./img/phr/relojesSeteo.pdf}
263
\end{center}
264
\caption[Configuración de los relojes]{Disposición de los jumpers para la configuración de los relojes.}
265
\label{phr:relojesSeteo}
266
\end{figure}
267
 
268
 
269
 
270
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
271
%NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION%
272
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
273
 
274
\section{Periféricos}\label{phr:sec:perifericos}
275
 
276
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
277
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
278
 
279
\subsection{LEDs}
280
 
281
En la placa se encuentran ocho LEDs de montaje superficial indicados con el numero 10 en la Fig. \ref{intro:componentes}. Son etiquetados desde LED1 a LED8 y su relación con los pines de la FPGA se muestra en la Tabla \ref{phr:LEDpins}.
282
 
283
 
284
\begin{table}[h!]
285
\begin{center}
286
\begin{tabular}{|c|c|c|c|c|c|c|c|c|}
287
        \hline
288
        \textbf{Periférico} & LED1 & LED2 & LED3 & LED4 & LED5 & LED6 & LED7 & LED8 \\ \hline
289
        \textbf{Pin}        & 84   & 86   & 89   & 93   & 98   & 3    & 5    & 9    \\  \hline
290
\end{tabular}
291
\end{center}
292
\caption[Pines para los LEDs]{Correspondencia entre los  pines de la FPGA y los LEDs (periféricos).}
293
\label{phr:LEDpins}
294
\end{table}
295
 
296
Los cátodos de cada LED se conectan a potencial cero y los ánodos se conectan a los pines respectivos de la FPGA mediante un resistencia de 330 $\Omega$. Para encender un determinado LED basta con poner en alto la señal de control.
297
 
298
 
299
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
300
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
301
 
302
\subsection{Pulsadores (\textsl{Tact switches})}
303
 
304
Están disponibles cuatro botones pulsadores como los esquematizados en la Fig. \ref{phr:tact} y son identificados con el numero 13 en la Fig. \ref{intro:componentes}. Los mismos son etiquetados como PBTN1, PBTN2, PBTN3 y PBTN4. Los pines de la FPGA relacionados con estos periféricos se identifican en la Tabla \ref{phr:PBTNpins}. El esquemático detallado del circuito puede encontrarse en el Apéndice \ref{appendix:sche}.
305
 
306
\begin{figure}[h!]
307
\begin{center}
308
  \includegraphics{./img/phr/tact_switch.pdf}
309
\end{center}
310
\caption{\textsl{Tact switches}.}
311
\label{phr:tact}
312
\end{figure}
313
 
314
\begin{table}[h!]
315
\begin{center}
316
\begin{tabular}{|c|c|c|c|c|}
317
        \hline
318
        \textbf{Periférico} & PBTN1 & PBTN2 & PBTN3 & PBTN4 \\ \hline
319
        \textbf{Pin}        & 68    & 78    & 82    & 83    \\  \hline
320
\end{tabular}
321
\end{center}
322
\caption[Pines para los botones]{Correspondencia entre los  pines de la FPGA y los botones.}
323
\label{phr:PBTNpins}
324
\end{table}
325
 
326
Cuando se presiona alguno de los botones se genera un valor lógico alto en el pin asociado de la FPGA. No hay circuito antirrebote y esto debe ser tenido en cuenta al momento de escribir el código que luego vaya a cargarse en el dispositivo.
327
 
328
 
329
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
330
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
331
 
332
\subsection{Llaves DIP}
333
 
334
Alternativamente a los pulsadores se pueden utilizar como periféricos de entrada  unas llaves DIP como las que se muestran en la Fig. \ref{phr:DIP}. La ubicación de las llaves en la placa PHR se muestra con el índice numero 11 en la Fig. \ref{intro:componentes}. El circuito de estas llaves puede consultarse en el Apéndice \ref{appendix:sche} y los pines de la FPGA que los controlan se revelan en la Tabla \ref{phr:DIPpins}.
335
 
336
\begin{table}[h!]
337
\begin{center}
338
\begin{tabular}{|c|c|c|c|c|c|c|c|c|}
339
        \hline
340
        \textbf{Periférico} & SW1 & SW2 & SW3 & SW4 & SW5 & SW6 & SW7 & SW8 \\ \hline
341
        \textbf{Pin}        & 85  & 88  & 90  & 94  & 97  & 4   & 6   & 7   \\  \hline
342
\end{tabular}
343
\end{center}
344
\caption[Pines para las llaves]{Correspondencia entre los  pines de la FPGA y las llaves.}
345
\label{phr:DIPpins}
346
\end{table}
347
 
348
Cuando una llave se coloca en la posición de \emph{encendido}, el pin de la FPGA correspondiente se pone a un valor lógico \emph{alto}. En contraposición, si la llave se coloca en la posición \emph{apagado}, la FPGA leerá un valor lógico \emph{bajo}. Al igual que con el caso de los botones pulsadores, no se provee un circuito antirrebote.
349
 
350
\begin{figure}[h!]
351
\begin{center}
352
  \includegraphics{./img/phr/DIPswitch.pdf}
353
\end{center}
354
\caption{\textsl{DIP switches}.}
355
\label{phr:DIP}
356
\end{figure}
357
 
358
 
359
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
360
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
361
 
362
\subsection{Displays de 7 segmentos}
363
 
364
La placa PHR cuenta con un display de siete segmentos cuádruple de \emph{ánodo común} indicado con el índice 14 en la Fig. \ref{intro:componentes}. El circuito de conexión entre la FPGA y el display se muestra en la Fig. \ref{phr:quad7seg} y se resalta la denominación alfabética para los segmentos de cada display.
365
 
366
Esta misma figura además muestra como ejemplo, el estado de los pines de la FPGA para indicar el numero 3 en la posición 2. Al tener esta configuración, cada LED encenderá con un \emph{nivel bajo} en el pin correspondiente al segmento pero además necesitará que el ánodo del carácter particular esté energizado. Este ultimo también es activo por bajo (\textsl{active low}).
367
 
368
\begin{figure}[h!]
369
\begin{center}
370
  \includegraphics{./img/phr/quad7seg.pdf}
371
\end{center}
372
\caption[Circuito del display de siete segmentos]{Conexionado del display de siete segmentos cuádruple.}
373
\label{phr:quad7seg}
374
\end{figure}
375
 
376 443 guanucolui
Para dar el efecto deseado de representar cuatro caracteres distintos a la vez, se recurre a la técnica de multiplexación en el dominio del tiempo. La técnica consiste en mostrar uno a uno y cíclicamente cada carácter a una frecuencia lo suficientemente alta para que el ojo humano perciba una imagen completa\footnote{Una frecuencia de aproximadamente 1 kHz está disponible fácilmente para utilizar en el barrido.}. Un diagrama temporal de las señales se muestra en la Fig. \ref{phr:multiplex}.
377 424 maximiq
 
378
\begin{figure}[h!]
379
\begin{center}
380
  \includegraphics{./img/phr/multiplex.pdf}
381
\end{center}
382
\caption[Diagrama temporal de la multiplexación]{Diagrama temporal de la multiplexación.}
383
\label{phr:multiplex}
384
\end{figure}
385
 
386 443 guanucolui
Si bien el método requiere algo más de complejidad que la conexión directa a cada segmento de cada display, reduce el número de pines necesarios de $8 \times 4=32$ a $8+4=12$ lo cual representa un significativo ahorro en recursos de hardware.
387 424 maximiq
 
388 443 guanucolui
La Tabla \ref{phr:quad7seg:pines} muestra los pines de conexión de la
389
FPGA a las distintas entradas del periférico. La Fig
390
\ref{phr:quad7seg:chars} muestra las representaciones de los
391
caracteres comunes en los \textsl{displays} de siete segmentos. Además de los dígitos, se pueden utilizar los caracteres desde la A a la F para representar números en notación hexadecimal.
392 424 maximiq
 
393
\begin{table}[h!]
394
\begin{center}
395
 
396
\begin{tabular}{|c|c|c|c|c|}
397
        \hline
398
        \textbf{Periférico} & Caracter1 & Caracter2 & Caracter3 & Caracter4 \\
399
                        & (unidad) & (decena) & (centena)  & (unid. de mil)  \\  \hline
400
        \textbf{Pin}        & 59        & 57        & 61        & 60        \\  \hline
401
\end{tabular}
402
 
403
\vspace{.2cm}
404
 
405
\begin{tabular}{|c|c|c|c|c|c|c|c|c|}
406
        \hline
407
        \textbf{Segmento} & A  & B  & C  & D  & E  & F  & G  & DP  \\   \hline
408
        \textbf{Pin}      & 65 & 64 & 72 & 70 & 77 & 62 & 73 & 71  \\   \hline
409
\end{tabular}
410
 
411
\end{center}
412 443 guanucolui
\caption[Pines para el \textsl{display} de segmentos]{Conexionado del diplay de 7 segmentos cuádruple a la FPGA.}
413 424 maximiq
\label{phr:quad7seg:pines}
414
\end{table}
415
 
416
\begin{figure}[h!]
417
\begin{center}
418
  \includegraphics{./img/phr/chars.pdf}
419
\end{center}
420
\caption[Caracteres comunes en los displays de 7 segmentos]{Representación de caracteres comunes en los displays de siete segmentos.}
421
\label{phr:quad7seg:chars}
422
\end{figure}
423
 
424
 
425
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
426
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
427
 
428
\subsection{Puerto serie}
429
 
430 443 guanucolui
La placa PHR dispone de un puerto serial RS-232. El conector DB9 se
431
señala con el número 15 en la Fig. \ref{intro:componentes}. La
432
designación de los pines del conector en la placa
433
representa un \textsl{Data Communications Equipment} (DCE). Por lo
434
tanto se puede conectar la plataforma PHR  a una computadora personal
435
a través de un cable serial punto-a-punto.
436 424 maximiq
 
437
La Fig. \ref{phr:3232} muestra el circuito de la interfaz entre la FPGA y el conector DB9. Un chip (ST3232) permite una alimentación de entre 3V y 5.5V y utiliza un conjunto de capacitores para alcanzar los niveles de tensión RS-232, garantizando tasas de transferencia de hasta 250 kbps.
438
 
439 443 guanucolui
El control de flujo por hardware está deshabilitado. Las lineas de DCD, DTR y DSR se conectan entre sí. Análogamente para las señales RTS y CTS.
440 424 maximiq
 
441 443 guanucolui
Los pines de la FPGA que asignados al puerto serial se muestran en la Tabla \ref{phr:RS232pins}.
442 424 maximiq
\begin{figure}[h!]
443
\begin{center}
444
  \includegraphics{./img/phr/3232.pdf}
445
\end{center}
446
\caption[Circuito de la interfaz RS-232]{Circuito de la interfaz RS-232.}
447
\label{phr:3232}
448
\end{figure}
449
 
450
\begin{table}[h!]
451
\begin{center}
452
\begin{tabular}{|c|c|c|}
453
        \hline
454
        \textbf{Señal serial}   & RX & TX  \\  \hline
455
        \textbf{Pin en la FPGA} & 52 & 56  \\   \hline
456
\end{tabular}
457
\end{center}
458
\caption[Pines para la conexión RS-232]{Correspondencia entre los  pines de la FPGA y el puerto serie RS-232.}
459
\label{phr:RS232pins}
460
\end{table}
461
 
462
 
463
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
464
%NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION%
465
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
466
 
467
\section{Entradas y salidas de propósito general} \label{phr:sec:gpio}
468
 
469
Para que el usuario realice prototipos,  use placas de expansión de terceros o diseñe sus propias placas de expansión, se provee un conector que puede reconocerse con el número 3 en la Fig. \ref{intro:componentes}. Una imagen ampliada se muestra en la Fig. \ref{phr:gpio}. La mayoría de estos pines están conectados directamente al chip FPGA tal como lo muestra la Tabla \ref{phr:GPIOpins}. También se proveen pines de alimentación de 3.3V y GND.
470
 
471
\begin{figure}[h!]
472
\begin{center}
473
  \includegraphics{./img/phr/gpio_header.pdf}
474
\end{center}
475
\caption[Conectores de propósito general]{Conectores para entradas y salidas de propósito general.}
476
\label{phr:gpio}
477
\end{figure}
478
 
479
\begin{table}[h!]
480
\begin{center}
481
\begin{tabular}{|c|c|c|c|c|c|}
482
        \hline
483
        \multicolumn{6}{ |c| }{\emph{GPIO P2}} \\
484
        \hline
485
        \hline
486
        \textbf{Dir} & \textbf{Conectado a} & \textbf{Pin} & \textbf{Pin} & \textbf{Conectado a} & \textbf{Dir} \\ \hline\hline
487
        E & FPGA Pin 39 &  1 &  2 & FPGA Pin 50 & E/S \\ \hline
488
        E/S & FPGA Pin 37 &  3 &  4 & FPGA Pin 49 & E/S \\ \hline
489
        E/S & FPGA Pin 36 &  5 &  6 & FPGA Pin 46 & E/S \\ \hline
490
        E/S & FPGA Pin 35 &  7 &  8 & FPGA Pin 34 & E/S \\ \hline
491
        E/S & FPGA Pin 33 &  9 & 10 & FPGA Pin 32 & E/S \\ \hline
492
    E/S & FPGA Pin 31 & 11 & 12 & FPGA Pin 30 & E/S \\ \hline
493
    E/S & FPGA Pin 29 & 13 & 14 & FPGA Pin 28 & E/S \\ \hline
494
    E/S & FPGA Pin 27 & 15 & 16 & FPGA Pin 21 & E   \\ \hline
495
    E/S & FPGA Pin 20 & 17 & 18 & FPGA Pin 19 & E/S \\ \hline
496
    E/S & FPGA Pin 16 & 19 & 20 & FPGA Pin 15 & E/S \\ \hline
497
    E/S & FPGA Pin 13 & 21 & 22 & FPGA Pin 12 & E/S \\ \hline
498
    E/S & FPGA Pin 10 & 23 & 24 & No conectado &    \\ \hline
499
        & +3.3V       & 25 & 26 & GND          &    \\ \hline
500
\end{tabular}
501
 
502
\end{center}
503
\caption[Pines para las E/S de propósito general]{Conexión de los pines para las entradas/salidas de propósito general.}
504
\label{phr:GPIOpins}
505
\end{table}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.