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

Subversion Repositories phr

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

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 145 maximiq
 
2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4
%NEW CHAPTER  NEW CHAPTER  NEW CHAPTER  NEW CHAPTER  NEW CHAPTER%
5
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7
 
8 149 maximiq
\chapter{La placa PHR}\label{phr:chapter}
9 144 maximiq
 
10 145 maximiq
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11
%NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION%
12
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13
 
14 144 maximiq
\section{El chip FPGA}
15
 
16 188 maximiq
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18
 
19 149 maximiq
\subsection{Características principales}
20
 
21
\begin{itemize}
22 157 maximiq
\item Número de compuertas: 200K
23 149 maximiq
\item Celdas lógicas equivalentes: 4032
24
\item CLBs: 448 (distribuidos en 32 filas y 16 columnas)
25 188 maximiq
\item Bits de RAM distribuida: 28K
26
\item Bits de Bloques de RAM: 288K
27 149 maximiq
\item Multiplicadores dedicados: 16
28
\item DCMs: 4
29 188 maximiq
\item Máximo número de E/S = 248
30
\item E/S pares diferenciales máximo: 112
31 149 maximiq
 
32
\end{itemize}
33
 
34 188 maximiq
 
35
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
36
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
37
 
38 149 maximiq
\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 188 maximiq
\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 149 maximiq
 
48
\item[Bloque de RAM] sirve como forma de almacenamiento.
49
 
50 188 maximiq
\item[Bloques multiplicadores] aceptan como entrada dos números de 18 bits cada uno y calcula el producto entre ambos.
51 149 maximiq
 
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 188 maximiq
\caption[Bloques fundamentales de la FPGA]{Bloques fundamentales de la FPGA.}
61 149 maximiq
\label{phr:arquitectura}
62
\end{figure}
63
 
64 188 maximiq
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 DCM se ubican en el centro hacia arriba y otros dos en el centro hacia abajo.,
65 149 maximiq
 
66
 
67 188 maximiq
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
68
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
69 149 maximiq
 
70
\subsection{Capacidades de E/S}
71
 
72 188 maximiq
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 149 maximiq
 
74
\begin{itemize}
75 188 maximiq
\item Terminales simples
76
%Para el caso de terminaciones simples estas FPGAs cumplen con:
77
\begin{itemize}
78 149 maximiq
\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 188 maximiq
\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 149 maximiq
\end{itemize}
84
 
85 188 maximiq
%Los estándares con terminación diferencial que soportan son:
86
\item Terminales diferenciales
87 149 maximiq
\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 188 maximiq
\end{itemize}
95 149 maximiq
 
96 147 maximiq
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
97
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
98 149 maximiq
 
99 147 maximiq
\subsection{Requerimientos de alimentación}\label{phr:alimentacion}
100
 
101 149 maximiq
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 147 maximiq
\begin{table}[h]
104
\begin{center}
105
\begin{tabular}{|c|p{8cm}|p{5cm}|}
106
        \hline
107
        \textbf{Entrada} & \textbf{Descripción} & \textbf{Tensión nominal} \\ \hline
108
        \hline
109 149 maximiq
   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.  & 1.2V    \\    \hline
110
   VCCAUX  & Fuente de tensión auxiliar. Alimenta elementos tales como los DCMs (\textsl{Digital Clock Managers}), drivers diferenciales, pines de configuración dedicados y la  interfaz JTAG.    & 2.5V o 3.3V    \\        \hline
111
   VCCO0  & Alimenta los buffers de salida del Banco de E/S número 0.    & Seleccionable entre 3.3V, 3.0V, 2.5V, 1.8V, 1.5V y 1.2V.    \\      \hline
112
   VCCO1  & Alimenta los buffers de salida del Banco de E/S número 1.    & Seleccionable entre 3.3V, 3.0V, 2.5V, 1.8V, 1.5V y 1.2V.   \\       \hline
113
   VCCO2  & Alimenta los buffers de salida del Banco de E/S número 2.    & Seleccionable entre 3.3V, 3.0V, 2.5V, 1.8V, 1.5V y 1.2V.    \\      \hline
114
   VCCO3  & Alimenta los buffers de salida del Banco de E/S número 3.    & Seleccionable entre 3.3V, 3.0V, 2.5V, 1.8V, 1.5V y 1.2V.    \\      \hline
115 147 maximiq
\end{tabular}
116
\end{center}
117 149 maximiq
\caption[Voltajes de alimentación]{Voltajes de alimentación para la familia Spartan-3A.}
118 147 maximiq
\label{phr:powersignals}
119
\end{table}
120
 
121 149 maximiq
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}.
122 144 maximiq
 
123
 
124 149 maximiq
\begin{table}[h]
125
\begin{center}
126
\begin{tabular}{|c|l|c|c|}
127
        \hline
128
        \textbf{Símbolo} & \textbf{Descripción} & \textbf{Min} & \textbf{Max} \\      \hline
129
        \hline
130
   VCCINTR & Rampa desde GND a VCCINT  & 0.2 ms & 100 ms   \\   \hline
131
        VCCAUXR & Rampa desde GND a VCCAUX  & 0.2 ms & 100 ms   \\      \hline
132
        VCCO2R  & Rampa desde GND a VCCO del Banco 2  & 0.2 ms & 100 ms   \\    \hline
133
\end{tabular}
134
\end{center}
135
\caption[Rampas de las fuentes de alimentación]{Tiempos de subida para las rampas al encender las fuentes de alimentación.}
136
\label{phr:ramprate}
137
\end{table}
138
 
139
 
140
Para mas información referida al sistema de alimentación ver el capitulo \ref{s3power:chapter} en la pág. \pageref{s3power:chapter}.
141
 
142
 
143 188 maximiq
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
144
%NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION%
145
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
146 149 maximiq
 
147 162 maximiq
\section{Configuración de la FPGA}\label{phr:sec:fpga_conf}
148 149 maximiq
 
149 188 maximiq
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 \textsl{latches} 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:
150 149 maximiq
 
151
\begin{itemize}
152 188 maximiq
\item \textsl{Master Serial} desde una memoria PROM Flash de Xilinx.
153
\item \textsl{Serial Peripheral Interface} (SPI) desde una memoria Flash SPI.
154 149 maximiq
\item \textsl{Byte Peripheral Interface} (BPI) desde una memoria NOR Flash.
155 188 maximiq
\item \textsl{Slave Serial}, típicamente cargada desde un procesador.
156
\item \textsl{Slave Parallel}, típicamente cargada desde un procesador.
157
\item \textsl{Boundary Scan} (JTAG), típicamente cargada desde un procesador.
158 149 maximiq
\end{itemize}
159
 
160 188 maximiq
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 cuales son los valores lógicos de los modos aplicables para ésta familia de FPGA, y  se resaltan con color aquellos a los que se recurre en la placa PHR.
161 149 maximiq
 
162 157 maximiq
\begin{table}[h!]
163 149 maximiq
\begin{center}
164
\begin{tabular}{|c|l|}
165
        \hline
166
        \textbf{Pines M[2:0]} & \textbf{Modo}  \\       \hline\hline
167 188 maximiq
        \cellcolor{yellow!65}<0:0:0>  & \cellcolor{yellow!65}Modo \textsl{Master Serial}    \\  \hline
168 149 maximiq
        <0:0:1>  & Modo \textsl{Master SPI}   \\        \hline
169
        <0:1:0>  & \textsl{BPI Up}   \\ \hline
170
        <0:1:1>  & Reservado \\ \hline
171
        <1:0:0>  & Reservado   \\       \hline
172
        \cellcolor{yellow!65}<1:0:1>  & \cellcolor{yellow!65}Modo JTAG   \\     \hline
173
        <1:1:0>  & Modo \textsl{Slave Parallel}    \\   \hline
174
        <1:1:1>  & Modo \textsl{Slave Serial}   \\      \hline
175
\end{tabular}
176
\end{center}
177 188 maximiq
\caption[Seteo de los modos de configuración]{Seteo de los modos de configuración para la familia Spartan-3A. Se resaltan con amarillo los usados en la placa PHR.}
178 149 maximiq
\label{phr:modes}
179
\end{table}
180
 
181 188 maximiq
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 elije 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 mas, 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.
182 149 maximiq
 
183 188 maximiq
La Fig. \ref{phr:confmodes} muestra el diagrama de como 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 jumper entre los pines 1 y 2 se tira la tensión de M0 y M2 al potencial de masa (la FPGA intentará cargar desde la PROM).
184
 
185 157 maximiq
\begin{figure}[h!]
186 149 maximiq
\begin{center}
187
  \includegraphics{./img/phr/config_modes.pdf}
188
\end{center}
189 188 maximiq
\caption[Modos de configuración]{Modos de configuración.}
190 149 maximiq
\label{phr:confmodes}
191
\end{figure}
192
 
193 188 maximiq
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}.
194 149 maximiq
 
195
 
196 188 maximiq
\begin{figure}[h!]
197
\begin{center}
198
  \includegraphics[width=15cm]{./img/phr/conf_mod_sche.pdf}
199
\end{center}
200
\caption[Modos de configuración]{Modos de configuración.}
201
\label{phr:confmodes_sche}
202
\end{figure}
203 149 maximiq
 
204 188 maximiq
 
205 149 maximiq
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
206
%NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION%
207
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
208
 
209 162 maximiq
\section{Fuentes de \textsl{clock}} \label{phr:sec:clocks}
210 144 maximiq
 
211 188 maximiq
La placa PHR provee a la FPGA de cuatro fuentes de reloj. Uno de los relojes (el más rápido) tiene una frecuencia de oscilación fija de 50 MHz. El resto tienen frecuencias seleccionables por usuario. En la Fig. \ref{intro:componentes} se indican con el numero 1 los jumpers con los cuales se eligen las frecuencias para estos relojes.
212 144 maximiq
 
213 188 maximiq
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.
214 144 maximiq
 
215 157 maximiq
\begin{table}[h!]
216 149 maximiq
\begin{center}
217
\begin{tabular}{|c|c|c|c|c|}
218
        \hline
219
        \textbf{Reloj} & Fijo (50 MHz) &        Seleccionable 1 & Seleccionable 2 & Seleccionable 3 \\  \hline
220
        \textbf{Pin}   & 43     & 44     & 41     & 40     \\   \hline
221
\end{tabular}
222
\end{center}
223
\caption[Pines para los relojes]{Pines para los relojes.}
224
\label{phr:pines-relojes}
225
\end{table}
226
 
227
 
228 188 maximiq
 
229 145 maximiq
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
230 149 maximiq
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
231
 
232
\subsection{El reloj de 50 MHz}
233
 
234 188 maximiq
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.
235 149 maximiq
 
236 188 maximiq
 
237 149 maximiq
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
238
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
239
 
240 162 maximiq
\subsection{Relojes seleccionables}\label{phr:sec:clock}
241 149 maximiq
 
242 188 maximiq
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.
243
 
244 157 maximiq
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.
245
 
246
\begin{figure}[h!]
247 149 maximiq
\begin{center}
248
  \includegraphics{./img/phr/relojes.pdf}
249
\end{center}
250 188 maximiq
\caption[Selectores de los relojes en la placa]{Selectores de los relojes en la placa.}
251 149 maximiq
\label{phr:relojes}
252
\end{figure}
253
 
254 157 maximiq
El conexionado de los jumpers para los clocks se muestra junto con las posibles frecuencias seleccionables en la Fig. \ref{phr:relojesSeteo}.
255 149 maximiq
 
256 157 maximiq
\begin{figure}[h!]
257 149 maximiq
\begin{center}
258
  \includegraphics{./img/phr/relojesSeteo.pdf}
259
\end{center}
260 188 maximiq
\caption[Configuración de los relojes]{Disposición de los jumpers para la configuración de los relojes.}
261 149 maximiq
\label{phr:relojesSeteo}
262
\end{figure}
263
 
264
 
265
 
266
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
267 145 maximiq
%NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION%
268
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
269 144 maximiq
 
270 162 maximiq
\section{Periféricos}\label{phr:sec:perifericos}
271 145 maximiq
 
272
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
273
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
274
 
275 144 maximiq
\subsection{LEDs}
276
 
277 149 maximiq
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}.
278 145 maximiq
 
279
 
280 157 maximiq
\begin{table}[h!]
281 144 maximiq
\begin{center}
282 145 maximiq
\begin{tabular}{|c|c|c|c|c|c|c|c|c|}
283 144 maximiq
        \hline
284 145 maximiq
        \textbf{Periférico} & LED1 & LED2 & LED3 & LED4 & LED5 & LED6 & LED7 & LED8 \\ \hline
285
        \textbf{Pin}        & 84   & 86   & 89   & 93   & 98   & 3    & 5    & 7    \\  \hline
286 144 maximiq
\end{tabular}
287
\end{center}
288 145 maximiq
\caption[Pines para los LEDs]{Correspondencia entre los  pines de la FPGA y los LEDs (periféricos).}
289
\label{phr:LEDpins}
290 144 maximiq
\end{table}
291
 
292 188 maximiq
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.
293 145 maximiq
 
294
 
295
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
296
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
297
 
298
\subsection{Pulsadores (\textsl{Tact switches})}
299
 
300 188 maximiq
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}.
301 145 maximiq
 
302 157 maximiq
\begin{figure}[h!]
303 144 maximiq
\begin{center}
304
  \includegraphics{./img/phr/tact_switch.pdf}
305
\end{center}
306 145 maximiq
\caption{\textsl{Tact switches}.}
307 144 maximiq
\label{phr:tact}
308
\end{figure}
309
 
310 157 maximiq
\begin{table}[h!]
311 145 maximiq
\begin{center}
312
\begin{tabular}{|c|c|c|c|c|}
313
        \hline
314
        \textbf{Periférico} & PBTN1 & PBTN2 & PBTN3 & PBTN4 \\ \hline
315
        \textbf{Pin}        & 77    & 78    & 82    & 83    \\  \hline
316
\end{tabular}
317
\end{center}
318 188 maximiq
\caption[Pines para los botones]{Correspondencia entre los  pines de la FPGA y los botones.}
319 145 maximiq
\label{phr:PBTNpins}
320
\end{table}
321 144 maximiq
 
322 188 maximiq
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.
323 145 maximiq
 
324
 
325
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
326
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
327
 
328 144 maximiq
\subsection{Llaves DIP}
329
 
330 188 maximiq
Alternativamente a los pulsadores se puede optar como periféricos de entrada a unas llaves DIP como 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}.
331 144 maximiq
 
332 157 maximiq
\begin{table}[h!]
333 145 maximiq
\begin{center}
334
\begin{tabular}{|c|c|c|c|c|c|c|c|c|}
335
        \hline
336
        \textbf{Periférico} & SW1 & SW2 & SW3 & SW4 & SW5 & SW6 & SW7 & SW8 \\ \hline
337
        \textbf{Pin}        & 85  & 88  & 90  & 94  & 97  & 4   & 6   & 9   \\  \hline
338
\end{tabular}
339
\end{center}
340 188 maximiq
\caption[Pines para las llaves]{Correspondencia entre los  pines de la FPGA y las llaves.}
341 146 maximiq
\label{phr:DIPpins}
342 145 maximiq
\end{table}
343 144 maximiq
 
344 188 maximiq
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, y debe ser tenido en cuenta en el diseño del sistema.
345 145 maximiq
 
346 157 maximiq
\begin{figure}[h!]
347 146 maximiq
\begin{center}
348
  \includegraphics{./img/phr/DIPswitch.pdf}
349
\end{center}
350
\caption{\textsl{DIP switches}.}
351
\label{phr:DIP}
352
\end{figure}
353
 
354
 
355 145 maximiq
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
356
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
357
 
358 146 maximiq
\subsection{Displays de 7 segmentos}
359 145 maximiq
 
360 188 maximiq
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.
361 145 maximiq
 
362 188 maximiq
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}).
363 145 maximiq
 
364 157 maximiq
\begin{figure}[h!]
365 144 maximiq
\begin{center}
366
  \includegraphics{./img/phr/quad7seg.pdf}
367
\end{center}
368 146 maximiq
\caption[Circuito del display de siete segmentos]{Conexionado del display de siete segmentos cuádruple.}
369 144 maximiq
\label{phr:quad7seg}
370
\end{figure}
371
 
372 188 maximiq
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 persiva una imagen completa. Un diagrama temporal de las señales se muestra en la Fig. \ref{phr:multiplex}.
373 145 maximiq
 
374 157 maximiq
\begin{figure}[h!]
375 145 maximiq
\begin{center}
376
  \includegraphics{./img/phr/multiplex.pdf}
377
\end{center}
378 146 maximiq
\caption[Diagrama temporal de la multiplexación]{Diagrama temporal de la multiplexación.}
379 145 maximiq
\label{phr:multiplex}
380
\end{figure}
381
 
382 188 maximiq
Si bien el método requiere algo mas de complejidad que la conexión directa a cada segmento de cada display, reduce el numero de pines necesarios de $8 \times 4=32$ a $8+4=12$ lo cuál representa un significativo ahorro en recursos de hardware.
383 145 maximiq
 
384 188 maximiq
La Tabla \ref{phr:quad7seg:pines} muestra los pines de conexión de la FPGA a las distintas entradas del periférico. La Fig \ref{phr:quad7seg:chars} muestra las representaciones de los caracteres comunes en los 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.
385 145 maximiq
 
386 157 maximiq
\begin{table}[h!]
387 145 maximiq
\begin{center}
388
 
389
\begin{tabular}{|c|c|c|c|c|}
390
        \hline
391
        \textbf{Periférico} & Caracter1 & Caracter2 & Caracter3 & Caracter4 \\ \hline
392
        \textbf{Pin}        & 59        & 57        & 61        & 60        \\  \hline
393
\end{tabular}
394
 
395
\vspace{.2cm}
396
 
397
\begin{tabular}{|c|c|c|c|c|c|c|c|c|}
398
        \hline
399
        \textbf{Segmento} & A  & B  & C  & D  & E  & F  & G  & DP  \\   \hline
400
        \textbf{Pin}      & 65 & 64 & 72 & 70 & 68 & 62 & 73 & 71  \\   \hline
401
\end{tabular}
402
 
403
\end{center}
404
\caption[Pines para el diplay de segmentos]{Conexionado del diplay de 7 segmentos cuádruple a la FPGA.}
405
\label{phr:quad7seg:pines}
406
\end{table}
407
 
408 157 maximiq
\begin{figure}[h!]
409 145 maximiq
\begin{center}
410
  \includegraphics{./img/phr/chars.pdf}
411
\end{center}
412 146 maximiq
\caption[Caracteres comunes en los displays de 7 segmentos]{Representación de caracteres comunes en los displays de siete segmentos.}
413 145 maximiq
\label{phr:quad7seg:chars}
414
\end{figure}
415
 
416 188 maximiq
 
417 145 maximiq
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
418
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
419
 
420 144 maximiq
\subsection{Puerto serie}
421
 
422 149 maximiq
La placa PHR dispone de un puerto serial RS-232. El conector DB9 hembra/macho se señala con el numero 15 en la Fig. \ref{intro:componentes}. La placa representa un \textsl{Data Communications Equipment} (DCE) y se puede conectar a una computadora personal con un cable serial derecho.
423 146 maximiq
 
424
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.
425
 
426 188 maximiq
El control de flujo por hardware está deshabilitado. Las lineas de DCD, DTR y DSR se conectan entre sí. Analogamente para las señales RTS y CTS.
427 146 maximiq
 
428
Los pines de la FPGA que controlan las señales seriales se muestran en la Tabla \ref{phr:RS232pins}.
429 157 maximiq
\begin{figure}[h!]
430 144 maximiq
\begin{center}
431
  \includegraphics{./img/phr/3232.pdf}
432
\end{center}
433 146 maximiq
\caption[Circuito de la interfaz RS-232]{Circuito de la interfaz RS-232.}
434 144 maximiq
\label{phr:3232}
435
\end{figure}
436
 
437 157 maximiq
\begin{table}[h!]
438 146 maximiq
\begin{center}
439
\begin{tabular}{|c|c|c|}
440
        \hline
441
        \textbf{Señal serial}   & RX & TX  \\  \hline
442
        \textbf{Pin en la FPGA} & 52 & 56  \\   \hline
443
\end{tabular}
444
\end{center}
445
\caption[Pines para la conexión RS-232]{Correspondencia entre los  pines de la FPGA y el puerto serie RS-232.}
446
\label{phr:RS232pins}
447
\end{table}
448 145 maximiq
 
449 146 maximiq
 
450 145 maximiq
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
451
%NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION%
452
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
453
 
454 188 maximiq
\section{Entradas y salidas de propósito general} \label{phr:sec:gpio}
455 145 maximiq
 
456 188 maximiq
Para que el usuario realice prototipos,  use placas de expansión de terceros o diseñe sus propias placas de expansión, se proveen dos conectores, uno macho y otro hembra, que pueden reconocerse respectivamente con los números 2 y 3 en la Fig. \ref{intro:componentes}. Una imagen ampliada se muestra en la Fig. \ref{phr:gpio} indicando además la numeración de los pines. 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.
457 145 maximiq
 
458 157 maximiq
\begin{figure}[h!]
459 145 maximiq
\begin{center}
460
  \includegraphics{./img/phr/gpio_header.pdf}
461
\end{center}
462 146 maximiq
\caption[Conectores de propósito general]{Conectores para entradas y salidas de propósito general.}
463 145 maximiq
\label{phr:gpio}
464
\end{figure}
465
 
466 157 maximiq
\begin{table}[h!]
467 146 maximiq
\begin{center}
468
\begin{tabular}{|r|c|c|l|}
469
        \hline
470
        \multicolumn{4}{ |c| }{\emph{Conector macho}} \\
471
        \hline
472
        \hline
473
        \textbf{Conectado a} & \textbf{Pin} & \textbf{Pin} & \textbf{Conectado a} \\ \hline\hline
474
        FPGA Pin 39 &  1 &  2 & FPGA Pin 50 \\ \hline
475
        FPGA Pin 37 &  3 &  4 & FPGA Pin 49 \\ \hline
476
        FPGA Pin 36 &  5 &  6 & FPGA Pin 46 \\ \hline
477
        FPGA Pin 35 &  7 &  8 & FPGA Pin 34 \\ \hline
478
        FPGA Pin 33 &  9 & 10 & FPGA Pin 32 \\ \hline
479
        FPGA Pin 31 & 11 & 12 & FPGA Pin 30 \\ \hline
480
        FPGA Pin 29 & 13 & 14 & +3.3V       \\ \hline
481
        FPGA Pin 28 & 15 & 16 & No conectado\\ \hline
482
        FPGA Pin 27 & 17 & 18 & GND         \\ \hline
483
\end{tabular}
484
\hspace{.1cm}
485
\begin{tabular}{|r|c|c|l|}
486
        \hline
487
        \multicolumn{4}{ |c| }{\emph{Conector hembra}} \\
488
        \hline
489
        \hline
490
        \textbf{Conectado a} & \textbf{Pin} & \textbf{Pin} & \textbf{Conectado a} \\ \hline\hline
491
        FPGA Pin 21 & 1 &  2 & FPGA Pin 20 \\ \hline
492
        FPGA Pin 19 & 3 &  4 & FPGA Pin 16 \\ \hline
493
        FPGA Pin 15 & 5 &  6 & FPGA Pin 13 \\ \hline
494
        FPGA Pin 12 & 7 &  8 & +3.3V       \\ \hline
495
        FPGA Pin 10 & 9 & 10 & GND         \\ \hline
496
\end{tabular}
497
\end{center}
498 188 maximiq
\caption[Pines para las E/S de propósito general]{Conexión de los pines para las entradas/salidas de propósito general.}
499 146 maximiq
\label{phr:GPIOpins}
500
\end{table}

powered by: WebSVN 2.1.0

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