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

Subversion Repositories phr

[/] [phr/] [trunk/] [doc/] [financiamiento/] [adec/] [informes/] [informe_final/] [informe_final.tex] - Blame information for rev 103

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

Line No. Rev Author Line
1 99 guanucolui
\documentclass[a4paper]{report}
2
\usepackage[utf8]{inputenx}
3
\usepackage[spanish]{babel}
4
\usepackage[pdftex]{graphicx}
5
\usepackage{caption}
6
\usepackage{subcaption}
7
\usepackage[a4paper]{geometry}
8
\usepackage{fancyhdr}
9
\usepackage{balance}
10
 
11
\title{Plataforma de hardware reconfigurable en diseño de sistemas electrónicos\\[1cm]\textsc{\LARGE Informe Final}}
12
\author{Luis A. Guanuco}
13
\date{Octubre 2013}
14
 
15
\addtolength{\textheight}{3cm}
16
\addtolength{\voffset}{-1cm}
17
\addtolength{\textwidth}{1cm}
18
 
19
\begin{document}
20 103 guanucolui
 
21 99 guanucolui
\maketitle{}
22 103 guanucolui
 
23 99 guanucolui
\tableofcontents{}
24 103 guanucolui
\thispagestyle{empty}
25 99 guanucolui
 
26 103 guanucolui
 
27 99 guanucolui
\begin{abstract}
28 103 guanucolui
  En el presente informe se presentará como se finalizó el proyecto \textbf{\emph{Plataforma de hardware reconfigurable en diseño de sistemas electrónicos}}, se describirán los aciertos como los inconvenientes que se presentaron en el desarrollo. En primer lugar se describirán las versiones finales del \textsl{hardware}. Luego se detalla las herramientas y desarrollos de \textsl{software} que complementa el proyecto. Debido a la decisión de utilizar \textbf{\textsl{Software} Libre}, no se ha tenido gastos en licencias. La totalidad de los recursos económicos se han invertido en materiales físicos (\textsl{hardware}). Por último se realizarán las conclusiones, además se adjuntará documentación complementaria a fines de cumplir con los requerimientos en el proceso de evaluación.
29 99 guanucolui
\end{abstract}
30
 
31
\chapter{Hardware}
32
\label{chap:hw}
33
 
34
El \textsl{hardware} hace referencia a los recursos físicos (tangibles) de un sistema determinado. En nuestro caso, el \textsl{hardware} se representa en las \emph{placas electrónicas}, que a su vez están formadas por varios componentes electrónicos. Se podría nombrar las placas electrónicas desarrolladas como:
35
 
36
\begin{itemize}
37
\item Placa principal, \emph{PHR (Plataforma de Hardware Reconfigurable)}.
38
\item Placa de potencia, \emph{S3Power}.
39
\item Placa programadora, \emph{OOCDLink}.
40
\end{itemize}
41
 
42
El desarrollo de una placa sigue un proceso que se podría describir como la Figura \ref{fig:hw-ciclo}. Cada una de estas etapas se encuentra documentada y ha sido utilizada para el presente informe. La interacción entre las diferentes etapas se representa por flechas. De aquí se puede obtener otra información sobre la metodología de trabajo, que es el sentido en que se comparte información. Por ejemplo, la etapa denominada \emph{Especificaciones generales} proporciona información a las etapas de \emph{Diseño del esquemático} y la etapa \emph{Diseño de la placa electrónica}, y a su vez estas últimas ofrecen información a la primera para asegurar que determinados aspectos definidos inicialmente se estén cumpliendo. Se hace una breve descripción de las etapas.
43
 
44
\begin{figure}[h]
45
  \centering
46
  \includegraphics[width=1\textwidth]{images/hardware_ciclo_diseno}
47
  \caption{Proceso de diseño de las placas}
48
  \label{fig:hw-ciclo}
49
\end{figure}
50
 
51
\begin{description}
52
\item[Especificaciones generales] En el diseño de un circuito electrónico se deben determinar las pautas y características que éste debe cumplir. Por ejemplo, tecnología a utilizar, dimensiones, costo, etc..
53
\item[Diseño del esquemático] Con la utilización de herramientas de \textsl{software}, en este caso kiCAD\footnote{kiCAD es un entorno de \textsl{software} usado para el diseño de circuitos electrónicos. El paquete kiCAD posee licencia GNU GPL (licencia libre).}, se realiza el diseño del esquema de conexiones del circuito eléctrico. Aquí se representan los componentes electrónicos con símbolos y bloques en vez de sus verdaderas formas físicas, lo que facilita su interpretación.
54
\item[Diseño de la placa electrónica] Luego de obtener el circuito esquemático, se debe convertir dicho esquema en su equivalente real. Aquí sí se tiene un modelo de los dispositivos electrónicos reales (dimensiones y formas), con la ventaja que las conexiones eléctricas se encuentran ya definidas. Lo importante de esta etapa es definir la dimensión de la placa, como así también la disposición de cada componente electrónico.
55
\item[Selección de componentes electrónicos] En esta etapa se lleva un registro de los dispositivos electrónicos a utilizar. Para el caso de la generación del circuito esquemático, se determina que simbología utilizar en la representación de los componentes. Y en el caso de la generación de la placa, cada símbolo debe tener su representación física real. Gran parte de esta etapa se basa en documentación para generar la compra de los materiales necesarios.
56
\item[Armado y pruebas funcionales] El montaje de los componentes electrónicos sobre las placas requieren toda la documentación previa generadas en las etapas anteriores. Una vez que se logran ensamblar todos los dispositivos, se realizan pruebas sobre éstas, donde se registran e intentan resolver los inconvenientes que se presenten. Es esta etapa clave donde se define si el desarrollo ha sido exitoso o deben realizarse modificaciones, lo que implica volver al comienzo, desde la etapa \emph{Especificaciones generales}.
57
\item[Modificaciones] El desarrollador evalúa la ``gravedad'' de los inconvenientes presentados en la etapa de \emph{Armado y pruebas funcionales}. También se aclara que resulta fundamental la documentación en esta etapa ya que servirá para describir como se ha llegado a una versión funcional.
58
\item[Versión Final] En el caso ideal, luego de que se hayan realizado las pruebas correspondientes sobre la placa, y todas éstas hayan sido exitosas, la documentación final se referencia a dicha versión.
59
\end{description}
60
 
61
A continuación se realiza breve descripción de las diferentes placas que conforman el proyecto \emph{Plataforma de hardware reconfigurable en diseño de sistemas electrónicos}. Para los detalles técnicos de cada uno de estos desarrollos, se debe leer el \emph{Manual de Usuario}. Esta documentación, conjuntamente con las placas, son los materiales que se entregan al \emph{Laboratorio de Técnicas Digitales e Informáticas}\footnote{El Laboratorio de Técnicas Digitales e Informática (LTDI), es la institución beneficiaria del desarrollo. Este Laboratorio se encuentra en la Facultad Regional Córdoba -- Universidad Tecnológica Nacional}.
62
 
63
\section{Plataforma de Hardware Reconfigurable (PHR)}
64
\label{sec:phr}
65
 
66
La placa \emph{PHR (Plataforma de Hardware Reconfigurable)} es el desarrollo central del proyecto. Si bien, el uso de la \emph{PHR} necesita tanto la placa \emph{S3Power} como también la \emph{OOCDLink}, en la placa \emph{PHR} se dispone de todos los recursos de \textsl{hardware} (también denominados ``periféricos'') que serán utilizados por los estudiantes en el diseño de sistemas digitales.
67
 
68
\subsection{Recursos de \textsl{hardware}}
69
\label{sec:phr-recursos-hw}
70
 
71
Cuando se hace referencia a los \textbf{recursos de \textsl{hardware}}, en éstos tipos de sistemas electrónicos, se refiere a los dispositivos que pueden ser utilizados para su manipulación (tanto actuadores como transductores). En el caso de los actuadores, dispositivos de salida, permite visualizar u ofrecer información al exterior de la placa (por ejemplo: los diodos LED, Display, etc.). Los transductores, dispositivos de entrada, adquieren información para ser procesada o manipulada por la placa (por ejemplo: Llaves, pulsadores, etc.). A continuación se describe los periféricos con los que cuenta la \emph{Plataforma de Hardware Reconfigurable}.
72
 
73
\begin{itemize}
74
\item 8 indicadores LED (\textsl{Light-Emitting Diode}).
75
\item Display de 4 dígitos (cada dígito con 7 segmentos y 4 transistores que controla cada dígito).
76
\item 8 llaves de conmutación.
77
\item 4 pulsadores.
78
\item 3 diferentes entradas de reloj (utilizando un divisor de frecuencia).
79
\item 1 Oscilador de 50Mhz.
80
\item 1 conector con señales de entradas y salidas para usos generales.
81
\item 1 conector con señales de entradas y salidas para usos especiales.
82
\item Puerto de comunicación RS-232.
83
\end{itemize}
84
 
85
\subsection{Esquemático}
86
\label{sec:phr-dia-electrico}
87
Debido a la cantidad de dispositivos electrónicos que integran la \emph{PHR}, se jerarquiza el diagrama para su mejor comprensión. La Figura \ref{fig:phr-sch-top} representa el esquemático a un nivel general. Además se distinguen dos bloques denominados \textbf{Power} y \textbf{IOports}, ambos agrupan varios dispositivos que forman parte del proyecto en general. En la Figura \ref{fig:phr-sch-power} se encuentran los componentes de la etapa de potencia y en la Figura \ref{fig:phr-sch-ioports} se puede apreciar las conexiones eléctricas de gran parte de los periféricos con los que cuenta la \emph{PHR}.
88
 
89
\begin{figure}[h]
90
  \centering
91
  \includegraphics[width=0.95\textheight,angle=90]{images/PHRboard}
92
  \caption{Esquemático TOP de la placa \emph{PHR}.}
93
  \label{fig:phr-sch-top}
94
\end{figure}
95
 
96
\begin{figure}[h]
97
  \centering
98
  \includegraphics[width=0.95\textheight,angle=90]{images/PHRboard-Power}
99
  \caption{Bloque interno al diagrama TOP, denominado ``power'' debido a que contiene la conexión con la placa \emph{S3power} y capacitores que evitan interferencias eléctricas.}
100
  \label{fig:phr-sch-power}
101
\end{figure}
102
 
103
\begin{figure}[h]
104
  \centering
105
  \includegraphics[width=0.95\textheight,angle=90]{images/PHRboard-IOports}
106
  \caption{Bloque con todos los periféricos. Aquí se observa la ventaja del diseño jerarquizado, pues si se tendrían todos estos componentes junto a los de la Figura \ref{fig:phr-sch-top} y \ref{fig:phr-sch-power}, presentaría inconvenientes para su entendimiento.}
107
  \label{fig:phr-sch-ioports}
108
\end{figure}
109
 
110
\subsection{\textsl{Printed Circuit Board} (PCB)}
111
\label{sec:phr-pcb}
112
 
113
La denominación \textbf{PCB}, de sus siglas en inglés (\textsl{Printed Circuit Board}), hace referencia a la placa donde serán montados los componentes electrónicos. En base a la Figura \ref{fig:hw-ciclo}, la obtención del \emph{PCB} es una consecuencia de seguir una metodología de trabajo donde previamente se ha verificado la funcionalidad del esquema electrónico. Cada placa tiene diferentes dimensiones, características tecnológicas y de fabricación.
114
En la Figura \ref{fig:phr-pcb-pcbnew-top} se puede ver la distribución de los componentes. Quizá las Figuras \ref{fig:phr-pcb-3d-1} y \ref{fig:phr-pcb-3d-2} resulten más relevante pues es una representación en 3D de la placa. En las Figuras \ref{fig:phr-pcb-foto-1} a la \ref{fig:phr-pcb-foto-2} se muestra fotografías de la placa \emph{PHR} final. Una mayor descripción del proceso de obtención de estas placas se puede obtener del \emph{Manual de Usuario}, documento adjunto a este informe.
115
 
116
\begin{figure}[h]
117
  \centering
118
  \includegraphics{images/PHRboard_layers}
119
  \caption{Distribución de los componentes en la placa.}
120
  \label{fig:phr-pcb-pcbnew-top}
121
\end{figure}
122
 
123
\begin{figure}[h]
124
  \centering
125
  \includegraphics[width=12cm]{images/PHRboard_3d_1}
126
  \caption{Modelo en 3D de la placa \emph{PHR} (Perspectiva 1).}
127
  \label{fig:phr-pcb-3d-1}
128
\end{figure}
129
 
130
\begin{figure}[h]
131
  \centering
132
  \includegraphics[width=12cm]{images/PHRboard_3d_2}
133
  \caption{Modelo en 3D de la placa \emph{PHR} (Perspectiva 2).}
134
  \label{fig:phr-pcb-3d-2}
135
\end{figure}
136
 
137
\begin{figure}[h]
138
  \centering
139
  \includegraphics[width=12cm]{images/DSCN4528}
140
  \caption{Fotografía de la placa \emph{PHR} (Perspectiva 1).}
141
  \label{fig:phr-pcb-foto-1}
142
\end{figure}
143
 
144
\begin{figure}[h]
145
  \centering
146
  \includegraphics[width=12cm]{images/DSCN4529}
147
  \caption{Fotografía de la placa \emph{PHR} (Perspectiva 2).}
148
  \label{fig:phr-pcb-foto-2}
149
\end{figure}
150
 
151
\clearpage{}
152
\section{S3Power}
153
\label{sec:s3power}
154
 
155
La placa \emph{PHR} no tiene un circuito de alimentación, debido al elevado consumo de energía en su funcionamiento pleno, se utiliza otra placa que sea capaz de ofrecer potencia a todos los dispositivos electrónicos. La placa \emph{S3Power} fue diseñada por el grupo UTIC (INTI)\footnote{La Unidad Técnica de Instrumentación y control (UTIC) es uno de los sectores del Centro de Electrónica e Informática del INTI - Instituto Nacional de Tecnología Industrial}. Esta placa está basada en un circuito integrado (chip) capaz de abastecer los máximos niveles de consumo de energía al dispositivo central de la placa \emph{PHR}. Como un ejemplo de las ventajas de la utilización de \textbf{\textsl{hardware} y \textsl{software} libre}, el desarrollo realizado por el UTIC fue liberado a la comunidad con una licencia libre, lo que implica la posibilidad de que cualquier pueda hacer uso de este desarrollo como realizarle modificaciones personalizadas, etc..
156
 
157
\subsection{Esquemático y PCB}
158
\label{sec:s3power-sch-pcb}
159
 
160
El esquema de conexiones de la placa se puede ver en la Figura \ref{fig:s3power-sch}. En la Figura \ref{fig:s3power-pcb-layers} se observa la placa y la disposición de los componentes. En las Figuras \ref{fig:s3power-pcb-3d-1} y \ref{fig:s3power-pcb-3d-2} se tiene los modelo en 3D y por último tenemos las fotografías de las placas terminadas en las Figuras \ref{fig:s3power-foto-1} y \ref{fig:s3power-foto-2}.
161
 
162
\begin{figure}[ht]
163
  \centering
164
  \includegraphics[width=0.6\textheight,angle=90]{images/S3Proto_Power}
165
  \caption{Esquemático de la placa \emph{S3Power}.}
166
  \label{fig:s3power-sch}
167
\end{figure}
168
 
169
\begin{figure}[ht]
170
  \centering
171
  \includegraphics[width=10cm]{images/S3Power_layers}
172
  \caption{Distribución de los componentes en la placa.}
173
  \label{fig:s3power-pcb-layers}
174
\end{figure}
175
 
176
\begin{figure}[h]
177
  \begin{subfigure}{0.5\textwidth}
178
    \centering
179
    \includegraphics[width=\textwidth]{images/s3power_pcb_3d_1}
180
    \caption{Perspectiva 1.}
181
    \label{fig:s3power-pcb-3d-1}
182
  \end{subfigure}
183
  % ---
184
  \begin{subfigure}{0.5\textwidth}
185
    \centering
186
    \includegraphics[width=\textwidth]{images/s3power_pcb_3d_2}
187
    \caption{Perspectiva 2.}
188
    \label{fig:s3power-pcb-3d-2}
189
  \end{subfigure}
190
  \caption{Modelo en 3D de la placa \emph{S3Power}.}
191
  \label{fig:s3power-pcb-3d}
192
\end{figure}
193
 
194
\begin{figure}[h]
195
  \begin{subfigure}{0.5\textwidth}
196
    \centering
197
    \includegraphics[width=\textwidth]{images/s3power_foto_1}
198
    \caption{Perspectiva 1.}
199
    \label{fig:s3power-foto-1}
200
  \end{subfigure}
201
  % --
202
  \begin{subfigure}{0.5\textwidth}
203
    \centering
204
    \includegraphics[width=\textwidth]{images/s3power_foto_2}
205
    \caption{Perspectiva 2.}
206
    \label{fig:s3power-foto-2}
207
  \end{subfigure}
208
  \caption{Fotografías de la placa \emph{S3Power}.}
209
  \label{fig:s3power-foto}
210
\end{figure}
211
 
212
\clearpage{}
213
\section{OOCDLink}
214
\label{sec:oocdlink}
215
 
216
Gran parte del desarrollo del proyecto se basa en el diseño y armado de placas electrónicas (\textsl{hardware}) en donde los estudiantes puedan embeber los diseños digitales que realicen mediante la utilización de una herramienta de \textsl{software}. Para lograr esto se necesita un interfaz que interaccione entre el \textsl{hardware} y el \textsl{software}, la placa \emph{OOCDLink} cumple esta función. La placa \emph{OOCDLink} establece una conexión entre la PC (mediante el puerto USB) y el puerto de programación de la placa \emph{PHR}, a través del protocolo JTAG\footnote{JTAG, un acrónimo para \textsl{Joint Test Action Group}, es el nombre común utilizado para la norma IEEE 1149.1 titulada \textsl{Standard Test Access Port and Boundary-Scan Architecture} para \textsl{test access ports} utilizada para testear PCBs utilizando escaneo de límites.}.
217
 
218
\subsection{Esquemático y PCB}
219
\label{sec:oocdlink-sch-pcb}
220
 
221
En la Figura \ref{fig:oocdlink-sch} se puede ver el circuito esquemático de la plac \emph{OOCDLink}. En la Figura \ref{fig:oocdlik-pcb-layers} se muestra el PCB con la distribución de los componentes. En las Figuras \ref{fig:oocdlink-pcb-3d-1} y \ref{fig:oocdlink-pcb-3d-2} se tienen los modelos en 3D de la placa. La versión final de la placa, con los componentes montados, se puede ver en las Figuras \ref{fig:oocdlink-foto-1} y \ref{fig:oocdlink-foto-2}.
222
 
223
\begin{figure}[h]
224
  \centering
225
  \includegraphics[width=0.6\textheight,angle=90]{images/OOCD_placa}
226
  \caption{Esquemático de la placa \emph{OOCDLink}.}
227
  \label{fig:oocdlink-sch}
228
\end{figure}
229
 
230
\begin{figure}[ht]
231
  \centering
232
  \includegraphics[width=8cm]{images/OOCDLink-pcb-layers}
233
  \caption{Distribución de los componentes en la placa \emph{OOCDLink}.}
234
  \label{fig:oocdlik-pcb-layers}
235
\end{figure}
236
 
237
\begin{figure}[hb]
238
  \begin{subfigure}{0.5\textwidth}
239
    \centering
240
    \includegraphics[width=\textwidth]{images/OOCDLinks-pcb-3d-1}
241
    \caption{Perspectiva 1.}
242
    \label{fig:oocdlink-pcb-3d-1}
243
  \end{subfigure}
244
  % --
245
  \begin{subfigure}{0.5\textwidth}
246
    \centering
247
    \includegraphics[width=\textwidth]{images/OOCDLinks-pcb-3d-2}
248
    \caption{Perspectiva 2.}
249
    \label{fig:oocdlink-pcb-3d-2}
250
  \end{subfigure}
251
  \caption{Modelo en 3D de la placa \emph{OOCDLink}.}
252
  \label{fig:oocdlink-pcb-3d}
253
\end{figure}
254
 
255
\begin{figure}[h]
256
  \begin{subfigure}{0.5\textwidth}
257
    \centering
258
    \includegraphics[width=\textwidth]{images/OOCD_placa-foto-1}
259
    \caption{Perspectiva 1.}
260
    \label{fig:oocdlink-foto-1}
261
  \end{subfigure}
262
  % --
263
  \begin{subfigure}{0.5\textwidth}
264
    \centering
265
    \includegraphics[width=\textwidth]{images/OOCD_placa-foto-2}
266
    \caption{Perspectiva 2.}
267
    \label{fig:oocdlink-foto-2}
268
  \end{subfigure}
269
  \caption{Fotografías de la placa \emph{OOCDLink}.}
270
  \label{fig:oocdlink-foto}
271
\end{figure}
272
 
273 103 guanucolui
\section{Gastos en recursos de \textsl{hardware}}
274
\label{sec:hw-gastos}
275
 
276
Los recursos
277
\section{Observaciones}
278
\label{sec:hw-obs}
279
 
280
 
281 99 guanucolui
\chapter{Software}
282 103 guanucolui
\label{chap:sw}
283 99 guanucolui
 
284 103 guanucolui
Los desarrollos y herramientas de \textsl{software} que se integran en el proyecto son complementarios a los recursos de \textsl{hardware}. Se han requerido varios programas informáticos en todo el proceso. Si bien no es el objetivo del presente informe realizar una descripción de cada uno de los \textsl{software} utilizados, resulta necesario hacer una breve descripción de los mismos.
285 99 guanucolui
 
286 103 guanucolui
\emph{Todas los \textsl{software} utilizados son programas con \textbf{Licencias Libres}. Las motivaciones de esta elección son varias, la más importante es que el proyecto será transferido a una institución académica, por lo que es imprescindible la libertad en el acceso de estas herramientas. El \textbf{Software Libre} le otorga libertades al usuario del programa y no plantea ninguna restricción en el aprendizaje como sí lo hacen los \textsl{software} con licencias privativas.}
287
 
288
\section{Herramientas utilizadas}
289
\label{sec:herramientas-sw}
290
 
291
Las herramientas de \textsl{software} utilizadas para el desarrollo son,
292
 
293
\begin{description}
294
\item[Debian] Debian o Proyecto Debian (en inglés \textsl{Debian Project}) es una comunidad conformada por desarrolladores y usuarios, que mantiene un sistema operativo GNU basado en \textsl{software} libre. El sistema se encuentra precompilado, empaquetado y en un formato deb para múltiples arquitecturas de computador y para varios núcleos.
295
\item[KiCAD] KiCad es un entorno de \textsl{software} usado para el diseño de circuitos eléctricos, muy flexible y adaptable, en el que se pueden crear y editar un gran número de componentes y usarlos en Eeschema. KiCad permite el diseño de circuitos impresos modernos de forma sencilla e intuitiva. Además, en Pcbnew, los circuitos se pueden diseñar con múltiples capas y ser visualizados en 3D.
296
\item[Emacs] Emacs es un editor de texto con una gran cantidad de funciones, muy popular entre programadores y usuarios técnicos. Gnu Emacs es obviamente parte del proyecto GNU y la versión más popular de Emacs con una gran actividad en su desarrollo. El manual de GNU Emacs lo describe como "un editor extensible, personalizable, auto-documentado y de tiempo real."
297
\item[subversion] Subversion (SVN) es un sistema de control de versiones diseñado específicamente para reemplazar al popular CVS. Es \textsl{software} libre bajo una licencia de tipo Apache/BSD y se le conoce también como svn por ser el nombre de la herramienta utilizada en la línea de comando.
298
\item[OpenCores] OpenCores es la comunidad más  grande del mundo de \textsl{hardware open source} de desarrollo digital a través de herramientas EDA (\textsl{Electronic Design Automation}).
299
\item[\LaTeX] \LaTeX es un sistema de composición de textos, orientado especialmente a la creación de libros, documentos científicos y técnicos que contengan fórmulas matemáticas.
300
\item[Inkscape] Inkscape es un editor de gráficos en formato vectoriales SVG, gratuito, libre y multiplataforma. Las características de SVG soportadas incluyen formas básicas, trayectorias, texto, canal alfa, transformaciones, gradientes, edición de nodos, exportación de SVG a PNG, agrupación de elementos, etc.
301
\item[LibreOffice] LibreOffice es una suite ofimática libre y de código abierto desarrollada por \textsl{The Document Foundation}. Se creó como bifurcación de OpenOffice.org en 2010.
302
\item[Bash] Bash (\textsl{Bourne again shell}) es un programa informático cuya función consiste en interpretar órdenes.
303
\end{description}
304
 
305
Los \textsl{software} anteriormente enunciados representan la mayoría de los utilizados en el proyecto. Existen otros \textsl{software} específicos, con diferentes lenguajes, que no se describen.
306
 
307
\section{Desarrollo de \textsl{Scripts}}
308
\label{sec:scripts-sw}
309
 
310
La sección \ref{sec:herramientas-sw} hace referencia a las herramientas utilizadas. En la presente sección se describe la función que cumple la generación de código de programa necesarios para acceder al \textsl{hardware}. Estos código  de programa, también se los llama  \textsl{scripts}. Los \textsl{scripts} se refieren a un grupo de texto en un determinado orden que son interpretados por un programa para ser procesados. En nuestro caso, los programas que se utilizan son \textbf{\emph{OpenOCD} y \emph{xc3sprog}}. La Figura \ref{fig:scripts-diagrama} representa la vinculación entre los recursos de \textsl{Software} y \textsl{Hardware}.
311
 
312
\begin{figure}[h]
313
  \centering
314
  \includegraphics[width=0.7\textwidth]{images/software_ciclo}
315
  \caption{Diagrama en bloque de la conexión entre el \textsl{Software} y el \textsl{Hardware}.}
316
  \label{fig:scripts-diagrama}
317
\end{figure}
318
 
319
La estructura de los \textsl{scripts} son definidos por el \textsl{software} con el cual procesar (\emph{OpenOCD} o \emph{xc3sprog}). Se dispone de gran información sobre estos programas en los sitios web oficiales como así también en listas de correos que se conforma por usuarios y desarrolladores de los \textsl{software}. En el \emph{Manual de Usuario} se describen la forma en que se utilizan los programas.
320
 
321
 
322
\section{Repositorio del proyecto}
323
\label{sec:sw-repo}
324
 
325
Para llevar adelante un proyecto de desarrollo de \emph{hardware/software} (HW/SW), es sumamente importante disponer de un repositorio donde alojar toda la información. De forma que uno pueda acceder a ellos en forma segura y sin pérdidas de información. Además contar con la posibilidad de que se lleve un registro de los cambios que se vayan realizando sobre cada archivo. En nuestro caso se utiliza un repositorio \emph{SVN} que se encuentra alojado en los servidores de \emph{OpenCores}\footnote{http://opencores.org/project,phr}.
326
Existen muchos sitios en la red que ofrecen este tipo de servicios informáticos, tanto gratis como pagos. Una gran parte de los sitios que dan alojamiento a proyectos en forma gratuita son sustentados por empresas tecnológicas y aportes voluntarios de la comunidad. Además cada sitio tiene diferentes requerimientos para dar alojamiento a un nuevo proyecto (por ejemplo: tipo de licencia, tamaño de archivos, etc.).
327
Como se ha dicho antes en la Sección \ref{sec:herramientas-sw}, OpenCores es uno de los sitios web que hospeda a una gran cantidad de proyectos de HW/SW abiertos de todo el mundo. Otros sitios interesantes donde disponen de infraestructura para alojar proyectos abiertos son,
328
 
329
\begin{itemize}
330
\item SourceForge (https://sourceforge.net/)
331
\item GitHub (https://github.com/)
332
\item CodeGoogle (http://code.google.com/)
333
\end{itemize}
334
 
335
\section{Observaciones}
336
\label{sec:sw-obs}
337
 
338
Los programas que se utilizan para interactuar con el \textsl{hardware}, \emph{OpenOCD} y \emph{xc3sprog}, no disponen de un entorno gráfico. La forma en que se manipulan es mediante lineas de comando \emph{Bash}. Esto no genera imposibilidades alguna al usuario, pero sí la implementación de un entorno gráfico podría ayudar o facilitar su uso (por ejemplo: con el empleo de botones, visualización del estado del \textsl{hardware}, etc.).
339
Otra observación que se documenta es la posibilidad de integrar las herramientas del fabricante del dispositivo a programar, en nuestro caso Xilinx Inc., con las herramientas que disponemos (\emph{OpenOCD} y \emph{xc3sprog}). El ciclo completo por parte de los usuarios del proyecto arranca con el diseño de un circuito con un lenguaje de programación descriptivo (VHDL o Verilog), luego se sintetiza con una herramienta del fabricante del dispositivo y luego con el archivo que genera se lo debe cargar al \textsl{hardware}. Estos últimos pasos podrían realizarse con nuevos \textsl{scripts} que se agregan a los ya utilizados.
340
 
341
 
342
\chapter{Conclusiones}
343
\label{chap:conclusiones}
344
 
345 99 guanucolui
\end{document}

powered by: WebSVN 2.1.0

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