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] - Diff between revs 424 and 443

Show entire file | Details | Blame | View Log

Rev 424 Rev 443
Line 21... Line 21...
\begin{itemize}
\begin{itemize}
\item Número de compuertas: 200K
\item Número de compuertas: 200K
\item Celdas lógicas equivalentes: 4032
\item Celdas lógicas equivalentes: 4032
\item CLBs: 448 (distribuidos en 32 filas y 16 columnas)
\item CLBs: 448 (distribuidos en 32 filas y 16 columnas)
\item Bits de RAM distribuida: 28K
\item Bits de RAM distribuida: 28K
\item Bits de Bloques de RAM: 288K
\item Bits de bloques de RAM: 288K
\item Multiplicadores dedicados: 16
\item Multiplicadores dedicados: 16
\item DCMs: 4
\item DCMs: 4
\item Máximo número de E/S = 248
\item Máximo número de E/S = 248
\item E/S pares diferenciales máximo: 112
\item E/S pares diferenciales máximo: 112
 
 
Line 59... Line 59...
\end{center}
\end{center}
\caption[Bloques fundamentales de la FPGA]{Bloques fundamentales de la FPGA.}
\caption[Bloques fundamentales de la FPGA]{Bloques fundamentales de la FPGA.}
\label{phr:arquitectura}
\label{phr:arquitectura}
\end{figure}
\end{figure}
 
 
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.
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.
 
 
 
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 
Line 106... Line 106...
\begin{tabular}{|c|p{13cm}|}
\begin{tabular}{|c|p{13cm}|}
        \hline
        \hline
        \textbf{Entrada} & \textbf{Descripción}\\      \hline
        \textbf{Entrada} & \textbf{Descripción}\\      \hline
        \hline
        \hline
   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
   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
   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.  \\   \hline
   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
   VCCO0  & Alimenta los buffers de salida del Banco de E/S número 0.    \\    \hline
   VCCO0  & Alimenta los buffers de salida del Banco de E/S número 0.    \\    \hline
   VCCO1  & Alimenta los buffers de salida del Banco de E/S número 1.   \\     \hline
   VCCO1  & Alimenta los buffers de salida del Banco de E/S número 1.   \\     \hline
   VCCO2  & Alimenta los buffers de salida del Banco de E/S número 2.    \\    \hline
   VCCO2  & Alimenta los buffers de salida del Banco de E/S número 2.    \\    \hline
   VCCO3  & Alimenta los buffers de salida del Banco de E/S número 3.    \\    \hline
   VCCO3  & Alimenta los buffers de salida del Banco de E/S número 3.    \\    \hline
\end{tabular}
\end{tabular}
Line 131... Line 131...
   VCCINTR & Rampa desde GND a VCCINT  & 0.2 ms & 100 ms   \\   \hline
   VCCINTR & Rampa desde GND a VCCINT  & 0.2 ms & 100 ms   \\   \hline
        VCCAUXR & Rampa desde GND a VCCAUX  & 0.2 ms & 100 ms   \\      \hline
        VCCAUXR & Rampa desde GND a VCCAUX  & 0.2 ms & 100 ms   \\      \hline
        VCCO2R  & Rampa desde GND a VCCO del Banco 2  & 0.2 ms & 100 ms   \\    \hline
        VCCO2R  & Rampa desde GND a VCCO del Banco 2  & 0.2 ms & 100 ms   \\    \hline
\end{tabular}
\end{tabular}
\end{center}
\end{center}
\caption[Rampas de las fuentes de alimentación]{Tiempos de subida para las rampas al encender las fuentes de alimentación.}
\caption[Rampas de las fuentes de alimentación]{Tiempos de crecimiento para las rampas al encender las fuentes de alimentación.}
\label{phr:ramprate}
\label{phr:ramprate}
\end{table}
\end{table}
 
 
 
 
Para mas información referida al sistema de alimentación ver el capitulo \ref{s3power:chapter} en la pág. \pageref{s3power:chapter}.
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}.
 
 
 
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION%
%NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 
\section{Configuración de la FPGA}\label{phr:sec:fpga_conf}
\section{Configuración de la FPGA}\label{phr:sec:fpga_conf}
 
 
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:
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:
 
 
\begin{itemize}
\begin{itemize}
\item \textsl{Master Serial} desde una memoria PROM Flash de Xilinx.
\item \textsl{Master Serial} desde una memoria PROM Flash de Xilinx.
\item \textsl{Serial Peripheral Interface} (SPI) desde una memoria Flash SPI.
\item \textsl{Serial Peripheral Interface} (SPI) desde una memoria Flash SPI.
\item \textsl{Byte Peripheral Interface} (BPI) desde una memoria NOR Flash.
\item \textsl{Byte Peripheral Interface} (BPI) desde una memoria NOR Flash.
\item \textsl{Slave Serial}, típicamente cargada desde un procesador.
\item \textsl{Slave Serial}, típicamente cargada desde un procesador.
\item \textsl{Slave Parallel}, típicamente cargada desde un procesador.
\item \textsl{Slave Parallel}, típicamente cargada desde un procesador.
\item \textsl{Boundary Scan} (JTAG), típicamente cargada desde un procesador.
\item \textsl{Boundary Scan} (JTAG), típicamente cargada desde un procesador.
\end{itemize}
\end{itemize}
 
 
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 aquellos a los que se recurre en la placa PHR.
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.
 
 
\begin{table}[h!]
\begin{table}[h!]
\begin{center}
\begin{center}
\begin{tabular}{|c|l|}
\begin{tabular}{|c|l|}
        \hline
        \hline
Line 173... Line 173...
        \cellcolor{yellow!65}\textbf{<1:0:1>}  & \cellcolor{yellow!65}\textbf{Modo JTAG }  \\   \hline
        \cellcolor{yellow!65}\textbf{<1:0:1>}  & \cellcolor{yellow!65}\textbf{Modo JTAG }  \\   \hline
        <1:1:0>  & Modo \textsl{Slave Parallel}    \\   \hline
        <1:1:0>  & Modo \textsl{Slave Parallel}    \\   \hline
        <1:1:1>  & Modo \textsl{Slave Serial}   \\      \hline
        <1:1:1>  & Modo \textsl{Slave Serial}   \\      \hline
\end{tabular}
\end{tabular}
\end{center}
\end{center}
\caption[Seteo de los modos de configuración]{Seteo de los modos de configuración para la familia Spartan-3A. Se resaltan los usados en la placa PHR.}
\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.}
\label{phr:modes}
\label{phr:modes}
\end{table}
\end{table}
 
 
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.
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.
 
 
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 la tensión de M0 y M2 es de 0 V (la FPGA intentará cargar desde la PROM).
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).
 
 
\begin{figure}[h!]
\begin{figure}[h!]
\begin{center}
\begin{center}
  \includegraphics{./img/phr/config_modes.pdf}
  \includegraphics{./img/phr/config_modes.pdf}
\end{center}
\end{center}
Line 207... Line 207...
%NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION%
%NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION  NEW SECTION%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 
\section{Fuentes de \textsl{clock}} \label{phr:sec:clocks}
\section{Fuentes de \textsl{clock}} \label{phr:sec:clocks}
 
 
La placa PHR provee a la FPGA de cuatro fuentes de reloj. El mas rápido de ellos 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.
La placa PHR provee a la FPGA de cuatro fuentes de reloj. El mas
 
rápido de ellos 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 número 1 los \textsl{jumpers} con los cuales se eligen las frecuencias para estos relojes.
 
 
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.
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.
 
 
\begin{table}[h!]
\begin{table}[h!]
\begin{center}
\begin{center}
Line 368... Line 371...
\end{center}
\end{center}
\caption[Circuito del display de siete segmentos]{Conexionado del display de siete segmentos cuádruple.}
\caption[Circuito del display de siete segmentos]{Conexionado del display de siete segmentos cuádruple.}
\label{phr:quad7seg}
\label{phr:quad7seg}
\end{figure}
\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 cíclicamente cada carácter a una frecuencia lo suficientemente alta para que el ojo humano persiva 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}.
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}.
 
 
\begin{figure}[h!]
\begin{figure}[h!]
\begin{center}
\begin{center}
  \includegraphics{./img/phr/multiplex.pdf}
  \includegraphics{./img/phr/multiplex.pdf}
\end{center}
\end{center}
\caption[Diagrama temporal de la multiplexación]{Diagrama temporal de la multiplexación.}
\caption[Diagrama temporal de la multiplexación]{Diagrama temporal de la multiplexación.}
\label{phr:multiplex}
\label{phr:multiplex}
\end{figure}
\end{figure}
 
 
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.
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.
 
 
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.
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 \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.
 
 
\begin{table}[h!]
\begin{table}[h!]
\begin{center}
\begin{center}
 
 
\begin{tabular}{|c|c|c|c|c|}
\begin{tabular}{|c|c|c|c|c|}
Line 401... Line 407...
        \textbf{Segmento} & A  & B  & C  & D  & E  & F  & G  & DP  \\   \hline
        \textbf{Segmento} & A  & B  & C  & D  & E  & F  & G  & DP  \\   \hline
        \textbf{Pin}      & 65 & 64 & 72 & 70 & 77 & 62 & 73 & 71  \\   \hline
        \textbf{Pin}      & 65 & 64 & 72 & 70 & 77 & 62 & 73 & 71  \\   \hline
\end{tabular}
\end{tabular}
 
 
\end{center}
\end{center}
\caption[Pines para el diplay de segmentos]{Conexionado del diplay de 7 segmentos cuádruple a la FPGA.}
\caption[Pines para el \textsl{display} de segmentos]{Conexionado del diplay de 7 segmentos cuádruple a la FPGA.}
\label{phr:quad7seg:pines}
\label{phr:quad7seg:pines}
\end{table}
\end{table}
 
 
\begin{figure}[h!]
\begin{figure}[h!]
\begin{center}
\begin{center}
Line 419... Line 425...
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 
\subsection{Puerto serie}
\subsection{Puerto serie}
 
 
La placa PHR dispone de un puerto serial RS-232. El conector DB9 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.
La placa PHR dispone de un puerto serial RS-232. El conector DB9 se
 
señala con el número 15 en la Fig. \ref{intro:componentes}. La
 
designación de los pines del conector en la placa
 
representa un \textsl{Data Communications Equipment} (DCE). Por lo
 
tanto se puede conectar la plataforma PHR  a una computadora personal
 
a través de un cable serial punto-a-punto.
 
 
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.
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á deshabilitado. Las lineas de DCD, DTR y DSR se conectan entre sí. Analogamente para las señales RTS y CTS.
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.
 
 
Los pines de la FPGA que controlan las señales seriales se muestran en la Tabla \ref{phr:RS232pins}.
Los pines de la FPGA que asignados al puerto serial se muestran en la Tabla \ref{phr:RS232pins}.
\begin{figure}[h!]
\begin{figure}[h!]
\begin{center}
\begin{center}
  \includegraphics{./img/phr/3232.pdf}
  \includegraphics{./img/phr/3232.pdf}
\end{center}
\end{center}
\caption[Circuito de la interfaz RS-232]{Circuito de la interfaz RS-232.}
\caption[Circuito de la interfaz RS-232]{Circuito de la interfaz RS-232.}

powered by: WebSVN 2.1.0

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