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] - Rev 147

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

 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%NEW CHAPTER  NEW CHAPTER  NEW CHAPTER  NEW CHAPTER  NEW CHAPTER%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\chapter{La placa PHR}
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\section{El chip FPGA}
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Requerimientos de alimentación}\label{phr:alimentacion}
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. Las señales de alimentación deben arrancar con cierta pendiente y demostrar una estabilidad determinada para garantizar que el circuito POR libere el reset. Para mas información referida al sistema de alimentación vease al capitulo \ref{s3power:chapter} en la pág. \pageref{s3power:chapter}.
 
\begin{table}[h]
\begin{center}
\begin{tabular}{|c|p{8cm}|p{5cm}|}
	\hline
	\textbf{Entrada} & \textbf{Descripción} & \textbf{Tensión nominal} \\	\hline
	\hline
   $V_{CCINT}$  & 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
   $V_{CCAUX}$  & 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
   $V_{CCO0}$  & 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
   $V_{CCO1}$  & 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
   $V_{CCO2}$  & 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
   $V_{CCO3}$  & 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
\end{tabular}
\end{center}
\caption[Entradas de alimentación]{Entradas de alimentación para la familia Spartan-3A.}
\label{phr:powersignals}
\end{table}
 
\section{Memoria del FPGA}
 
\section{Interfaz JTAG}
 
\section{Fuentes de \textsl{clock}}
 
 
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\section{Periféricos}
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\subsection{LEDs}
 
En la placa se encuentran ocho LEDs de montaje superficial indicados con el numero 9 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}.
 
 
\begin{table}[h]
\begin{center}
\begin{tabular}{|c|c|c|c|c|c|c|c|c|}
	\hline
	\textbf{Periférico} & LED1 & LED2 & LED3 & LED4 & LED5 & LED6 & LED7 & LED8 \\	\hline
	\textbf{Pin}        & 84   & 86   & 89   & 93   & 98   & 3    & 5    & 7    \\	\hline
\end{tabular}
\end{center}
\caption[Pines para los LEDs]{Correspondencia entre los  pines de la FPGA y los LEDs (periféricos).}
\label{phr:LEDpins}
\end{table}
 
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 enecender un determinado LED basta con poner en alto la señal de control.
 
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\subsection{Pulsadores (\textsl{Tact switches})}
 
Están disponibles cuatro botones pulsadores como los esquematizados en la Fig. \ref{phr:tact} y son identificados con el numero 12 en la Fig. \ref{intro:componentes}. Los mismos son etiquetados como PBTN1, PBTN2, PBTN3 y PBTN4. Los pines de la FPGA relacionados con éstos 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}.
 
\begin{figure}[b]
\begin{center}
  \includegraphics{./img/phr/tact_switch.pdf}
\end{center}
\caption{\textsl{Tact switches}.}
\label{phr:tact}
\end{figure}
 
\begin{table}[h]
\begin{center}
\begin{tabular}{|c|c|c|c|c|}
	\hline
	\textbf{Periférico} & PBTN1 & PBTN2 & PBTN3 & PBTN4 \\	\hline
	\textbf{Pin}        & 77    & 78    & 82    & 83    \\	\hline
\end{tabular}
\end{center}
\caption[Pines para los \textsl{tact switches}]{Correspondencia entre los  pines de la FPGA y los botones.}
\label{phr:PBTNpins}
\end{table}
 
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 ésto debe ser tenido en cuenta al momento de escribir el código que luego vaya a cargarse en el dispositivo.
 
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\subsection{Llaves DIP}
 
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 10 en la Fig. \ref{intro:componentes}. El circuito de éstas 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}.
 
\begin{table}[h]
\begin{center}
\begin{tabular}{|c|c|c|c|c|c|c|c|c|}
	\hline
	\textbf{Periférico} & SW1 & SW2 & SW3 & SW4 & SW5 & SW6 & SW7 & SW8 \\	\hline
	\textbf{Pin}        & 85  & 88  & 90  & 94  & 97  & 4   & 6   & 9   \\	\hline
\end{tabular}
\end{center}
\caption[Pines para las llavess]{Correspondencia entre los  pines de la FPGA y las llaves.}
\label{phr:DIPpins}
\end{table}
 
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 posicion \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.
 
\begin{figure}[h]
\begin{center}
  \includegraphics{./img/phr/DIPswitch.pdf}
\end{center}
\caption{\textsl{DIP switches}.}
\label{phr:DIP}
\end{figure}
 
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\subsection{Displays de 7 segmentos}
 
La placa PHR cuenta con un display de siete segmentos cuádruple de \emph{ánado comun} indicado con el índice 13 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. 
 
Ésta 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 ésta configuración, cada LED encenderá con un \emph{nivel bajo} en el pin correspondiente al segmento pero además necesitará que el ánodo del caracter particular esté energizado. Éste ultimo también es activo por bajo (\textsl{active low}).
 
\begin{figure}[h]
\begin{center}
  \includegraphics{./img/phr/quad7seg.pdf}
\end{center}
\caption[Circuito del display de siete segmentos]{Conexionado del display de siete segmentos cuádruple.}
\label{phr:quad7seg}
\end{figure}
 
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 ciclicamente cada caracter 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}.
 
\begin{figure}[h]
\begin{center}
  \includegraphics{./img/phr/multiplex.pdf}
\end{center}
\caption[Diagrama temporal de la multiplexación]{Diagrama temporal de la multiplexación.}
\label{phr:multiplex}
\end{figure}
 
Si bien el método requiere algo mas de complejidad que la conexion 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.
 
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 numeros en notación hexadecimal.
 
\begin{table}[h]
\begin{center}
 
\begin{tabular}{|c|c|c|c|c|}
	\hline
	\textbf{Periférico} & Caracter1 & Caracter2 & Caracter3 & Caracter4 \\	\hline
	\textbf{Pin}        & 59        & 57        & 61        & 60        \\	\hline
\end{tabular}
 
\vspace{.2cm}
 
\begin{tabular}{|c|c|c|c|c|c|c|c|c|}
	\hline
	\textbf{Segmento} & A  & B  & C  & D  & E  & F  & G  & DP  \\	\hline
	\textbf{Pin}      & 65 & 64 & 72 & 70 & 68 & 62 & 73 & 71  \\	\hline
\end{tabular}
 
\end{center}
\caption[Pines para el diplay de segmentos]{Conexionado del diplay de 7 segmentos cuádruple a la FPGA.}
\label{phr:quad7seg:pines}
\end{table}
 
\begin{figure}[h]
\begin{center}
  \includegraphics{./img/phr/chars.pdf}
\end{center}
\caption[Caracteres comunes en los displays de 7 segmentos]{Representación de caracteres comunes en los displays de siete segmentos.}
\label{phr:quad7seg:chars}
\end{figure}
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\subsection{Puerto serie}
 
La placa PHR dispone de un puerto serial RS-232. El conector DB9 hembra/macho se señala con el numero 14 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.
 
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.
 
El control de flujo por hardware está desabilitado. Las lineas de DCD, DTR y DSR se conectan entre sí. Analogamente para las señales RTS y CTS.
 
Los pines de la FPGA que controlan las señales seriales se muestran en la Tabla \ref{phr:RS232pins}.
\begin{figure}[h]
\begin{center}
  \includegraphics{./img/phr/3232.pdf}
\end{center}
\caption[Circuito de la interfaz RS-232]{Circuito de la interfaz RS-232.}
\label{phr:3232}
\end{figure}
 
\begin{table}[h]
\begin{center}
\begin{tabular}{|c|c|c|}
	\hline
	\textbf{Señal serial}   & RX & TX  \\	\hline
	\textbf{Pin en la FPGA} & 52 & 56  \\	\hline
\end{tabular}
\end{center}
\caption[Pines para la conexión RS-232]{Correspondencia entre los  pines de la FPGA y el puerto serie RS-232.}
\label{phr:RS232pins}
\end{table}
 
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 
\section{Entradas y salidas de propósito general}
 
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 numeros 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 mayoria de éstos pines estan 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.
 
\begin{figure}[h]
\begin{center}
  \includegraphics{./img/phr/gpio_header.pdf}
\end{center}
\caption[Conectores de propósito general]{Conectores para entradas y salidas de propósito general.}
\label{phr:gpio}
\end{figure}
 
\begin{table}[h]
\begin{center}
\begin{tabular}{|r|c|c|l|}
	\hline
	\multicolumn{4}{ |c| }{\emph{Conector macho}} \\
	\hline
	\hline
	\textbf{Conectado a} & \textbf{Pin} & \textbf{Pin} & \textbf{Conectado a} \\ \hline\hline
	FPGA Pin 39 &  1 &  2 & FPGA Pin 50 \\ \hline
	FPGA Pin 37 &  3 &  4 & FPGA Pin 49 \\ \hline
	FPGA Pin 36 &  5 &  6 & FPGA Pin 46 \\ \hline
	FPGA Pin 35 &  7 &  8 & FPGA Pin 34 \\ \hline
	FPGA Pin 33 &  9 & 10 & FPGA Pin 32 \\ \hline
	FPGA Pin 31 & 11 & 12 & FPGA Pin 30 \\ \hline
	FPGA Pin 29 & 13 & 14 & +3.3V       \\ \hline
	FPGA Pin 28 & 15 & 16 & No conectado\\ \hline
	FPGA Pin 27 & 17 & 18 & GND         \\ \hline
\end{tabular}
\hspace{.1cm}
\begin{tabular}{|r|c|c|l|}
	\hline
	\multicolumn{4}{ |c| }{\emph{Conector hembra}} \\
	\hline
	\hline
	\textbf{Conectado a} & \textbf{Pin} & \textbf{Pin} & \textbf{Conectado a} \\ \hline\hline
	FPGA Pin 21 & 1 &  2 & FPGA Pin 20 \\ \hline
	FPGA Pin 19 & 3 &  4 & FPGA Pin 16 \\ \hline
	FPGA Pin 15 & 5 &  6 & FPGA Pin 13 \\ \hline
	FPGA Pin 12 & 7 &  8 & +3.3V       \\ \hline
	FPGA Pin 10 & 9 & 10 & GND         \\ \hline
\end{tabular}
\end{center}
\caption[Pines para las \textsl{GPIO}]{Conexión de los pines para las entradas/salidas de propósitogeneral.}
\label{phr:GPIOpins}
\end{table}
 

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

powered by: WebSVN 2.1.0

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