Вы находитесь на странице: 1из 38

UNIVERSIDAD TECNOLGICA DE SAN JUAN DEL RO

Dar INNOVACIN PARA EL DESARROLLO

REPORTE

DESARROLLO DE INTERFACE EN FPGA PARA PROTOCOLO SPI


QUE PARA OBTENER EL TTULO DE:

TCNICO SUPERIOR UNIVERSITARIO EN MECATRONICA REA AUTOMATIZACIN


PRESENTA:

SAL AVILA MAURICIO


ASESORADO POR: EMPRESA DR. JUAN MANUEL RAMOS ARREGUN ASESORADO POR: ESCUELA ING. RICARDO FRANCISCO JOS HERNNDEZ HERNNDEZ

SAN JUAN DEL RO, QRO.

AGOSTO 2011

NDICE
INTRODUCCIN........................................................................................................................................ 5 CAPITULO I GENERALIDADES DE LA EMPRESA .................................................................. 6 1.1 Nombre de la empresa ..................................................................................................................... 6 1.2 Logotipo ............................................................................................................................................... 6 1.3 Antecedentes histricos ................................................................................................................... 6 1.4 Misin ................................................................................................................................................. 10 1.5 Visin.................................................................................................................................................. 10 1.6 Objetivos ............................................................................................................................................ 10 1.7 Ubicacin ............................................................................................................................................. 11 1.8 Relacin de la mesa directiva ....................................................................................................... 12 Captulo 2 Generalidades del proyecto.................................................................................................. 13 2.1 PROBLEMTICA .......................................................................................................................... 13 2.2 OBJETIVO GENERAL ................................................................................................................. 13 2.2.1 OBJETIVOS ESPECFICOS ............................................................................................... 13 2.3 JUSTIFICACIN ............................................................................................................................ 13 2.4 ALCANCE ......................................................................................................................................... 14 CAPITULO 3 MARCO TERICO ....................................................................................................... 15 3.1 Acelermetros ................................................................................................................................... 15 3.1.1 TEORA DE OPERACIN ..................................................................................................... 16 3.2 FPGA ................................................................................................................................................... 17 3.2.1 Que es un FPGA? ................................................................................................................... 17 3.2.2 Caractersticas ........................................................................................................................... 18 3.2.3 Programacin ............................................................................................................................. 19 3.2.4. ARQUITECTURA ............................................................................................................... 20

3.3 Protocolo SPI..................................................................................................................................... 21 3.3.1 Qu es el protocolo SPI? ...................................................................................................... 21 CAPITULO 4 DESARROLLO DEL PROYECTO ......................................................................... 26 4.1 Registros del ADXL345 ................................................................................................................ 26 4.2 DESARROLLO EN FPGA .......................................................................................................... 29 4.3 IMPLEMENTACIN ................................................................................................................... 34 Capitulo 6: Conclusiones.......................................................................................................................... 37 BIBLIOGRAFAS...................................................................................................................................... 38

INTRODUCCIN

La razn del proyecto es la gran dificultada del uso de sistemas neumticos aplicados a un brazo robtico, ya que al ser un tipo de gas el control del mismo es difcil y ms si tratamos de llegar a realizar una operacin donde tengamos que lograr hacer que el brazo se quede esttico en un lugar sin que por accin de la temperatura o algn otro elemento que afecte al brazo. Lo difcil de esto es que la velocidad del mismo es amplia lo que resulta un problema, debido a que si se hace el seguimiento del mismo las posiciones a las que se llegan no son exactamente las que uno espera, lo cual nos obliga a emplear instrumentos que hagan la medicin de posicin o aceleracin del robot y por medio de ellos tener el control de ubicacin del mismo. El proyecto se basara en el manejo de acelermetros que permitan este tipo de control, en otras palabras, desarrollar un sistema que permita la adquisicin de datos mandados desde un acelermetro y aparte, que se adapte y modifique fcilmente para adecuar la operacin del instrumento de medicin si es que este cambiara de tipo o formato, solo indicando el formato que maneja este nuevo dispositivo. Manejaremos por comunicacin de dispositivos un protocolo de comunicacin serial SPI el cual se adaptara tambin al tipo de acelermetro y coordinara la comunicacin entre maestro- esclavo, del cual el desarrollo de control se har dentro de un dispositivo FPGA el cual por su maleabilidad nos permitir el desarrollo de esta aplicacin a medida de nuestras necesidades.

CAPITULO I GENERALIDADES DE LA EMPRESA


1.1 Nombre de la empresa
Asociacin Mexicana de Mecatrnica A. C.

1.2 Logotipo

1.3 Antecedentes histricos


La Asociacin Mexicana de Mecatrnica A.C. se fund en Agosto del 2001, por personas que con su apoyo moral, econmico y su compromiso para lograr las primeras actividades de la Asociacin les confiere la calidad de "Miembros Fundadores".

Nombre Ing. Carlos Vladimir Paiz Gtica Ing. Carlos Dvila Maceda Ing. Jos Felipe Aguilar Pereyra Ing. Ral Villa Garca Ing. Cirilo Noguera Silva Ing. Carlos Maceda Ramrez Ing. Antonio Fernndez Martnez Ing. Alejandra Snchez Flores Dr. Jos Emilio Vargas Soto Ing. Jos Luis Rojas Caldern Dr. Salvador Echeverra Villagmez Ing. Mauro Maya Mndez Ing. Gerardo Arredondo Aceves Ing. Ral Moreno Espinoza Leopoldo Villarreal Gonzlez M. en I. Fernando Francisco Kiyama Miramontes M. en I. Marlene Lpez Flores M. en I. Efren Gorrostieta Hurtado Jos Alberto Vargas Soto Gilberto Reynoso Meza Dr. Luis Alfonso Reyes Avila Reynoso Meza Juan Manuel Dr. Ismael Lpez Juarez Dr. Joaqun Salas Rodrguez M. en C. David Oliva Uribe M. en I. Jose Heriberto Erazo Macias Mendoza Dr Luciano Chirinos Gamboa Ing. Omar Jeohvani Lopez Orozco M. en I. Carlos Arturo Gracis Marn M. en I. Jaime Estevez Carren Adbeel Alejandro Prez Martnez

Empresa/Institucin Estudiante de Maestra en Chalmers University of Technology Instituto Mexicano del Seguro Social Universidad Tecnolgica de Quertaro TECNOMAC S.A. de C.V. CIDESI (SEP-CONACYT) SISSA S.A. de C.V. FESTO PNEUMATIC S.A. de C.V. DELPHI S.A. de C.V. CIDESI (SEP-CONACYT) MABE, Tecnologa y Desarrollo Centro Nacional de Metrologa Universidad Autnoma de Quertaro Ingeniera y Mecatrnica S.A. de C.V. Ingeniera y Mecatrnica S.A. de C.V. ITESM Campus Quertaro Centro de Ingeniera y Desarrollo Industrial Instituto Tecnolgico de Morelia Instituto Tecnolgico de Quertaro Integracin Tecnolgica Avanzada S.A. de C.V. ITESM Campus Quertaro Instituto Mexicano del Transporte ITESM Campus Quertaro Centro de Investigacin y Asistencia Tcnica Centro de Investigacin en Ciencia Aplicada y Tecnologa Avanzada, IPN ITESM Campus Estado de Mxico Instituto Tecnolgico de Reynosa ITESM Campus Toluca ITESM Campus Toluca Instituto Tecnolgico de Puebla Instituto Tecnolgico de Puebla Instituto Tecnolgico de Quertaro

Dr. Dante Jorge Dorantes Gonzlez Dr. Guillermo Teodoro Vandenpeereboom Haza

ITESM Campus Estado de Mxico Centro de Ingenieria Avanzada en Turbomaquinas CIDESI (SEP-CONACYT) Universidad Anhuac del Sur Universidad Anhuac del Sur Universidad Nacional Autnoma de Mxico Universidad Anhuac del Sur

Ing. Julio Csar Solano Vargas Dr. Mario Mrquez Miranda M. en C. Irma Salinas Prez M. en I. Francisco Cuenca Jimnez Dr. Mauricio Cirilo Mndez Canseco

El da 19 de Octubre del ao 2001 en la ciudad de Santiago de Quertaro, Qro., se firm la escritura notarial donde se establecieron los siguientes estatutos que dieron formalmente el origen a la Asociacin. Es considerada ante la ley como una Asociacin Civil. Tendr por objetivos el desarrollo y estudio de la Mecatrnica en general, inclusive a travs de los medios de comunicacin, trabajos de investigacin, foros nacionales y participacin en las Universidades pblicas y privadas as como de todo tipo de empresas; as como prestar todo tipo de apoyo que soliciten los gobiernos federales, estatales y municipales, sobre la Mecatrnica. La Direccin y Administracin de esta Asociacin estar a cargo de un Consejo Directivo, integrado por un Presidente, dos Vicepresidentes quienes sern el primero de ellos, el representante Acadmico y el segundo el representante del Sector Industrial, un Secretario propietario y uno suplente, un Tesorero propietario y uno suplente y los vocales que la Asamblea estime necesarios. La Asociacin tendr un patrimonio integrado por las cuotas que voluntariamente cubran los Asociado, donaciones que perciba en efectivo o en especie, productos que obtenga la Asociacin en eventos o actos afines con su objeto, etc.

La Asociacin Mexicana de Mecatrnica ha sido dirigida por tres presidentes a lo largo de su historia: Dr. Emilio Vargas (2001-2004). Ing. Gerardo Arredondo (2004-2007).

Dr. Efrn Gorrostieta (2007-2010). Emp. Carlos Maceda Ramrez.(2010-actual)

La Asociacin organiza y apoya diversos eventos de difusin de la Mecatrnica anualmente, resaltando entre ellas el Congreso Nacional de Mecatrnica. Evento en el cual se renen empresarios, profesionistas, acadmicos y jvenes que estudian carreras afines a la Mecatrnica para intercambiar ideas, confrontar opiniones y lograr acercamientos que les lleven a unir intereses en busca de soluciones especficas bajo un ambiente propicio para dicho intercambio.

Datos de participacin en los Congresos Nacionales de Mecatrnica organizados por la Asociacin Mexicana de Mecatrnica A.C.

10

1.4 Misin
Impulsar el desarrollo de la Mecatrnica a travs de vincular las instituciones de educacin superior, centros de investigacin e industrias, facilitando la realizacin de desarrollos tecnolgicos, de investigacin y formacin de recursos humanos.

1.5 Visin
Ser la mejor asociacin que vincule al sector social, industrial y educativo, promoviendo la investigacin y el desarrollo de tecnologa que beneficie al pas.

1.6 Objetivos
A continuacin se enlistan los objetivos que se ha marcado la Asociacin Mexicana de Mecatrnica A.C., mismos que se oficializaron ante notario pblico como estatutos de la Asociacin. Impulsar el desarrollo y estudio de la Mecatrnica en general, a travs de los medios de comunicacin, trabajos de investigacin, foros nacionales y participacin en las Universidades pblicas y privadas, as como en todo tipo de empresas. Estimular el desarrollo e intercambio de ideas, y experiencias sobre la Mecatrnica, con el auxilio de Instituciones educativas, empresas u otras agrupaciones. Integrar el esfuerzo de las personas que por su inters o trabajo realicen difusin a travs de los medios de comunicacin y en todas las entidades federativas, sobre la Mecatrnica. Fortalecer, colaborar y apoyar a todo tipo de Instituciones que desarrollen investigacin y docencia de la Mecatrnica.

11

Mantener una relacin constante y sistemtica con las Instituciones, organismos afines y empresas para el efecto de intercambiar informacin y experiencias relativas a la Mecatrnica.

Crear bolsas de trabajo y procurar el mejoramiento de las condiciones de trabajo de los profesionales de la Mecatrnica. Prestar todo tipo de apoyo que soliciten los gobiernos federales, estatales y municipales sobre la Mecatrnica. Adquirir, disponer y operar los activos, bienes muebles e inmuebles, as como el material y equipo necesario para la realizacin de su objeto social, formar parte de otras asociaciones o sociedades civiles o mercantiles; en general celebrar y ejecutar todos los actos, contratos y convenios que sean anexos y conexos con su objeto social.

1.7 Ubicacin
Asociacin Mexicana de Mecatrnica A.C., Fonologa No. 116, Col. Tecnolgico, C.P. 76158, Quertaro Qro.

12

1.8 Relacin de la mesa directiva


Cargo Nombre/Institucin o Empresa

PRESIDENTE

Emp. Carlos Maceda Ramrez. Equipos y Sistemas de Produccin S.A. de C.V. Dr. Salvador Echeverra Villagmez. Centro Nacional de Metrologa.

VICEPRESIDENTES

Dr. Juan Manuel Ramos Arregun. Universidad Autnoma de Quertaro. Dr. Carlos Pedraza Ortega Universidad Autnoma de Quertaro

SECRETARIOS M.C. Rafael Gmez Gonzlez Centro de Ingeniera y Desarrollo Industrial Lic. Margarita Aguirre Magos Equipos y Sistemas de Produccin S.A. de C.V. TESOREROS Ing. Gustavo MacielLegarreta Equipos y Sistemas de Produccin S.A. de C.V. Ing. Hiram Estrada Mann+Hummelmexico, S.A. de C.V. VOCALES Ing. Alejandro Mota Gkn Driveline Celaya, S.A. de C.V

13

CAPITULO 2 Generalidades del proyecto


2.1 PROBLEMTICA
La necesidad de la comunicacin entre dispositivos es un punto primordial para el control o monitoreo de sistemas, puesto que esto simboliza la medula del control, el adquirir datos y el entendimiento de ellos entre ambos dispositivos. El problema de la comunicacin se basa en el hecho que el protocolo de comunicacin SPI es nicamente normalizado para caractersticas elctricas pero en caractersticas de datos dependiendo del fabricante o del usuario lo determina, en otras palabras quien disea el dispositivo le determina a su conveniencia o como la aplicacin lo requiera.

2.2 OBJETIVO GENERAL


Disear y sintetizar un cdigo en VHDL que describa un dispositivo capaz de comunicarse atravez del protocolo SPI con el acelermetro de 3 ejes.

2.2.1 OBJETIVOS ESPECFICOS Entender el protocolo SPI Revisar y encontrar los puntos clave del acelermetro(registro, tiempos de
comunicacin, formato de datos)

Disear el diagrama a bloques de la entidad del dispositivo a describir Generar el cdigo correspondiente al diagrama a bloques de la entidad y que se
acople al formato de la comunicacin.

Sintetizar el cdigo creado 2.3 JUSTIFICACIN


El desarrollo FPGA simbolisa un inicio bsico en el desarrollo de software embebido a medida, esto por la particularidad de que al ser un elemento limpio permite al desarrollador generar en l una arquitectura basado en la necesidad que se presente.

14

A lo anterior nos lleva a decir que el desarrollo de software embebido es una de las aplicaciones mecatronicas ms factibles para la generacin de tecnologa a medida sin recurrir a sistemas comerciales y de poca flexibilidad.

2.4 ALCANCE
El alcance del proyecto ser el desarrollo de un cdigo genrico en VHDL acorde al formato de comunicacin SPI del acelermetro.

15

CAPITULO 3 MARCO TERICO


3.1 Acelermetros
El principio bsico del acelermetro (como el de otros sensores) depende de un sistema de masas y resortes. La tensin y la fuerza en resortes estn descritas por la ley de Hooke. Esta ley propone: la fuerza de resistencia o la fuerza para establecer la posicin de equilibrio en un resorte, es proporcional a la cantidad de fuerza al estirarlo o comprimirlo''. Adems de la ley de Hooke, los acelermetros tambin estn basados en la segunda ley de Newton que relaciona la fuerza con masa y aceleracin. Esto implica que un sistema acelerado producir una fuerza de acuerdo a la relacin . La fuerza hace que el resorte en el acelermetro (o materia elstica), se expanda o se comprima. Ntese que la aceleracin ocurre solo en un sentido y por lo tanto para que el acelermetro mida movimientos en un plano, se necesita duplicar el sistema en una direccin perpendicular a la original. En la implementacin de Analog Devices (ADXL250), que es un acelermetro popular, se utiliza el principio de capacitancia para medir el desplazamiento de un sistema elstico que consiste en una barra de silicio sujeta por cuatro hilos. A esta configuracin se adicionan tres placas metlicas que forman dos condensadores. La placa de la mitad cambia la distancia entre las placas de los extremos.

Figura 1: Modelo de un acelermetro con capacitancia

El principio de capacitancia se utiliza para almacenar energa y los condensadores son los dispositivos electrnicos utilizados en este fenmeno. Un condensador consiste de dos placas de metal paralelas. La cantidad o capacidad de almacenar carga elctrica depende del material que se ponga entre stas, adems de la separacin entre las dos. La capacitancia est dada por placas. donde k, es el coeficiente del material y la separacin entre las

16

3.1.1 TEORA DE OPERACIN


La medicin de aceleracin puede realizarse midiendo la fuerza necesaria para acelerar un objeto de masa conocida, para lo cual a su vez bastar medir la deflexin de un dinammetro que sostiene a dicha masa. Es ste el principio fsico en el que se basa el funcionamiento de la serie ADXL. El modelo mecnico correspondiente a esta idea se muestra en la figura 1.

Figura 2: Modelo de funcionamiento del ADXL05

La disposicin muestra un objeto vibrante cuya aceleracin se desea medir. Sobre el mismo est montado el dispositivo de medicin formado por una masa m y un resorte con constante elstica k. Lo que se desea medir es la derivada segunda del desplazamiento del objeto vibrante, es decir ( ) ( )

Para ello se medir, en realidad, la deformacin x(t) y(t) del resorte, ya que no es sencillo medir directamente la aceleracin respecto a un sistema inercial. Buscaremos, por lo tanto, una relacin entre esta deformacin y la aceleracin a(t). Llamando f a la fuerza aplicada por el resorte a la masa m, tenemos: ( )

De donde se obtiene una ecuacin diferencial que relaciona x e y:

17

Aplicando la transformacin de Laplace (suponiendo condiciones iniciales nulas), se obtiene: ( ) ( ) ( ) ( )

Siendo o = k / m la frecuencia natural o frecuencia de resonancia del sistema. De aqu podemos obtener X - Y: ( )( ( ) ) ( )

( )

( )

( )

Donde A(s) es la transformada de la aceleracin buscada. Esta ecuacin muestra que muy por debajo de la resonancia, es decir para << o, la deformacin del resorte es aproximadamente proporcional a la aceleracin, es decir: ( ) ( ) ( )

3.2 FPGA 3.2.1 Que es un FPGA?


Un FPGA (del ingls Field Programmable Gate Array) es un dispositivo semiconductor que contiene bloques de lgica cuya interconexin y funcionalidad puede ser configurada 'in situ' mediante un lenguaje de programacin especializado. La lgica programable puede reproducir desde funciones tan sencillas como las llevadas a cabo por una puerta lgica o un sistema combinacional hasta complejos sistemas en un chip. Las FPGAs se utilizan en aplicaciones similares a los ASICs, sin embargo son ms lentas, tienen un mayor consumo de potencia y no pueden abarcar sistemas tan complejos como ellos. A pesar de esto, las FPGAs tienen las ventajas de ser reprogramables (lo que aade una enorme flexibilidad al flujo de diseo), sus costes de desarrollo y adquisicin son mucho menores para pequeas cantidades de dispositivos y el tiempo de desarrollo es tambin menor.

18

Las FPGAs fueron inventadas en el ao 1984 por Ross Freeman y Bernard Vonderschmitt, co-fundadores de Xilinx, y surgen como una evolucin de los CPLDs. Las FPGA son el resultado de la convergencia de dos tecnologas diferentes, los dispositivos lgicos programables (PLDs [Programmable Logic Devices]) y los circuitos integrados de aplicacin especfica (ASIC [application-specific integrated circuit]). La historia de los PLDs comenz con los primeros dispositivos PROM (Programmable ReadOnly Memory) y se les aadi versatilidad con los PAL (Programmable Array Logic) que permitieron un mayor nmero de entradas y la inclusin de registros. Esos dispositivos han continuado creciendo en tamao y potencia. Mientras, los ASIC siempre han sido potentes dispositivos, pero su uso ha requerido tradicionalmente una considerable inversin tanto de tiempo como de dinero. Intentos de reducir esta carga han provenido de la modularizacin de los elementos de los circuitos, como los ASIC basados en celdas, y de la estandarizacin de las mscaras, tal como Ferranti fue pionero con la ULA (Uncommitted Logic Array). El paso final era combinar las dos estrategias con un mecanismo de interconexin que pudiese programarse utilizando fusibles, anti fusibles o celdas RAM, como los innovadores dispositivos Xilinx de mediados de los 80. Los circuitos resultantes son similares en capacidad y aplicaciones a los PLDs ms grandes, aunque hay diferencias puntuales que delatan antepasados diferentes. Adems de en computacin reconfigurable, las FPGAs se utilizan en controladores, codificadores/decodificadores y en el prototipado de circuitos VLSI y microprocesadores a medida. Tanto los CPLDs como las FPGAs contienen un gran nmero de elementos lgicos programables. Si medimos la densidad de los elementos lgicos programables en puertas lgicas equivalentes (nmero de puertas NAND equivalentes que podramos programar en un dispositivo) podramos decir que en un CPLD hallaramos del orden de decenas de miles de puertas lgicas equivalentes y en una FPGA del orden de cientos de miles hasta millones de ellas. Aparte de las diferencias en densidad entre ambos tipos de dispositivos, la diferencia fundamental entre las FPGAs y los CPLDs es su arquitectura. La arquitectura de los CPLDs es ms rgida y consiste en una o ms sumas de productos programables cuyos resultados van a parar a un nmero reducido de biestables sncronos (tambin denominados flipflops). La arquitectura de las FPGAs, por otro lado, se basa en un gran nmero de pequeos bloques utilizados para reproducir sencillas operaciones lgicas, que cuentan a su vez con biestables sncronos. La enorme libertad disponible en la interconexion de dichos bloques confiere a las FPGAs una gran flexibilidad. Otra diferencia importante entre FPGAs y CPLDs es que en la mayora de las FPGAs se pueden encontrar funciones de alto nivel (como sumador y multiplicador) embebidas en la propia matriz de interconexiones, as como bloques de memoria.

3.2.2 Caractersticas
Una jerarqua de interconexiones programables permite a los bloques lgicos de un FPGA ser interconectados segn la necesidad del diseador del sistema, algo parecido a un

19

breadboard (es una placa de uso genrico reutilizable o semi permanente) programable. Estos bloques lgicos e interconexiones pueden ser programados despus del proceso de manufactura por el usuario/diseador, as que el FPGA puede desempear cualquier funcin lgica necesaria. Una tendencia reciente ha sido combinar los bloques lgicos e interconexiones de los FPGA con microprocesadores y perifricos relacionados para formar un Sistema programable en un chip. Ejemplo de tales tecnologas hbridas pueden ser encontradas en los dispositivos Virtex-II PRO y Virtex-4 de Xilinx, los cuales incluyen uno o ms procesadores PowerPC embebidos junto con la lgica del FPGA. El FPSLIC de Atmel es otro dispositivo similar, el cual usa un procesador AVR en combinacin con la arquitectura lgica programable de Atmel. Otra alternativa es hacer uso de ncleos de procesadores implementados haciendo uso de la lgica del FPGA. Esos ncleos incluyen los procesadores MicroBlaze y PicoBlaze de Xilinx, Nios y Nios II de Altera, y los procesadores de cdigo abierto LatticeMicro32 y LatticeMicro8. Muchos FPGA modernos soportan la reconfiguracin parcial del sistema, permitiendo que una parte del diseo sea reprogramada, mientras las dems partes siguen funcionando. Este es el principio de la idea de la computacin reconfigurable, o los sistemas reconfigurables.

3.2.3 Programacin
La tarea del programador es definir la funcin lgica que realizar cada uno de los CLB, seleccionar el modo de trabajo de cada IOB e interconectarlos. El diseador cuenta con la ayuda de entornos de desarrollo especializados en el diseo de sistemas a implementarse en un FPGA. Un diseo puede ser capturado ya sea como esquemtico, o haciendo uso de un lenguaje de programacin especial. Estos lenguajes de programacin especiales son conocidos como HDL o Hardware Description Language (lenguajes de descripcin de hardware). Los HDLs ms utilizados son:

VHDL Verilog ABEL

En un intento de reducir la complejidad y el tiempo de desarrollo en fases de prototipaje rpido, y para validar un diseo en HDL, existen varias propuestas y niveles de abstraccin del diseo. Entre otras, National Instruments LabVIEW FPGA propone un acercamiento de programacin grfica de alto nivel.

20

3.2.4. ARQUITECTURA
La arquitectura bsica consiste en un arreglo de bloques lgicos programables (CLB) y canales de comunicacin. Mltiples conectores de entrada/salida pueden caber en el tamao largo de una fila o el ancho de una columna. Generalmente, todos los canales de comunicacin tienen el mismo ancho (nmero de cables). Cualquier circuito de aplicacin puede ser hecho dentro de la FPGA, siempre y cuando esta disponga de los recursos necesarios. Un bloque lgico tpico de FPGA consiste en 4 entradas a una tabla de funciones lgicas (LookUp Table), y un flip-flop como se muestra en la siguiente figura:

Figura 3: Bloque lgico

Hay solamente una salida, la cual puede ser ambas, la salida registrada o no registrada por el flip-flop, proveniente de la salida de la tabla de funciones lgicas. El bloque lgico tiene entonces 4 entradas para la tabla y una entrada de reloj para el flip-flop. Las seales de reloj y otras ms, son manejadas por separado en FPGAs comerciales. Para esta arquitectura, la localizacin de los pines de los bloques lgicos de la FPGA son mostrados abajo.

Figura 4: Localizacin de los pines en el bloque lgico

Cada entrada es accesible desde un lado del bloque lgico, mientras que el pin de salida puede conectarse a cables de comunicacin en ambos canales, el de la derecha y el canal debajo del bloque lgico.

21

Cada pin de salida del bloque lgico puede conectarse a cualquier segmento de cable en el canal de comunicacin adyacente a l. Similarmente, un conector de Entrada/Salida puede conectarse a cualquier segmento de cable en el canal de comunicacin adyacente a l. Generalmente, cada segmento de conexin atraviesa solamente por un bloque lgico, antes de que este termine en una de las cajas de interruptores. Mediante la seleccin de conexiones a travs de los interruptores programables que estn dentro de las cajas de conexiones, se pueden hacer lneas de conexin ms largas. Para interconexiones ms rpidas, algunas arquitecturas de FPGA usan lneas de conexiones ms largas que atraviesan mltiples bloques lgicos. En cada punto donde se intersecan, un canal de conexin vertical y un canal horizontal, hay una caja de interruptores que permite conectar una lnea, a otras tres posibles lneas adyacentes dentro del segmento del canal. Una lnea solo puede conectarse con otra de las tres posibles anteriormente mencionadas, no puede conectarse directamente con lneas de otras intersecciones. Ms abajo se muestra lo descrito:

Figura 5: caja de interruptores

3.3 Protocolo SPI 3.3.1 Qu es el protocolo SPI?


El Bus SPI (del ingls Serial Peripheral Interface) es un estndar de comunicaciones, usado principalmente para la transferencia de informacin entre circuitos integrados en equipos electrnicos. El bus de interfaz de perifricos serie o bus SPI es un estndar para controlar casi cualquier dispositivo electrnico digital que acepte un flujo de bits serie regulado por un reloj

22

Incluye una lnea de reloj, dato entrante, dato saliente y un pin de chip select, que conecta o desconecta la operacin del dispositivo con el que uno desea comunicarse. De esta forma, este estndar permite multiplexar las lneas de reloj. Los dispositivos conectados al bus son definidos como maestros y esclavos. Un maestro es aquel que inicia la transferencia de informacin sobre el bus y genera las seales de reloj y control. Un esclavo es un dispositivo controlado por el maestro. Cada esclavo es controlado sobre el bus a travs de una lnea selectora llamada Chip Select o Select Slave, por lo tanto es esclavo es activado solo cuando esta lnea es seleccionada. Generalmente una lnea de seleccin es dedicada para cada esclavo. En un tiempo determinado T1, solo podr existir un maestro sobre el bus. Cualquier dispositivo esclavo que no est seleccionado, debe deshabilitarse (ponerlo en alta impedancia) a travs de la lnea selectora (chip select). El bus SPI emplea un simple registro de desplazamiento para transmitir la informacin. Todas las lneas del bus transmiten la informacin sobre una sola direccin. La seal sobre la lnea de reloj (SCLK) es generada por el maestro y sincroniza la transferencia de datos. La lnea MOSI (Master Out Slave In) transporta los datos del maestro hacia el esclavo. La lnea MISO (Master In Slave Out) transporta los datos del esclavo hacia el maestro.

Figura 6: Ejemplo de comunicacin SPI 4 hilos con diversos elementos esclavos

23

Todos la transferencia de los datos, son sincronizados por la lnea de reloj de este bus. Un BIT es transferido por cada ciclo de reloj. La mayora de las interfaces SPI tienen 2 bits de configuracin, llamados CPOL (Clock Polarity = Polaridad de Reloj) y CPHA (Clock Phase = Reloj de Fase). CPOL determina si el estado Idle de la lnea de reloj esta en bajo (CPOL=0) o si se encuentra en un estado alto (CPOL=1). CPHA determina en que filo de reloj los datos son desplazados hacia dentro o hacia fuera. (Si CPHA=0 los datos sobre la lnea MOSI son detectados cada filo de bajada y los datos sobre la lnea MISO son detectados cada filo de subida). Cada BIT tiene 2 estados, lo cual permite 4 diferentes combinaciones, las cuales son incompatibles una de la otra. Por lo que si dos dispositivos SPI desean comunicarse entre s, estos deben tener el mismo la misma Polaridad de Reloj (CPOL) y la misma Fase de Reloj (CPHA). Existen cuatro modos de reloj definidos por el protocolo SPI, estos modos son: Modo A Modo B Modo C Modo D

24

25

Formas de comunicacin del ADXL345 a 4 0 3 hilos de comunicacin

26

CAPITULO 4 DESARROLLO DEL PROYECTO

4.1 Registros del ADXL345

Para entender que es lo que registra el acelermetro debemos primero ver cmo es que ste nos entrega los datos como resultado de su medicin, esto nos obliga a revisar su tabla de registros donde se marca la forma de operacin y como modificar estos resultados hasta que la serie de datos nos satisfaga por completo. Direccin Hex Nombre 0x00 0x01 a 0x01C 0x1D 0x1E 0x1F 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 DEVID Reserved

Tipo R

Valor definido 11100101

Descripcin ID del dispositivo. Reservado. No accesar.

THRESH_TAP OFSX OFSY OFSZ DUR Latent Window THRESH_ACT THRESH_INACT TIME_INACT ACT_INACT_CTL

R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

0x28 0x29 0x2A

THRESH_FF TIME_FF TAP_AXES

R/W R/W R/W

00000000 00000000 00000000

0x2B

ACT_TAP_STATU S

00000000

Umbral de movimiento. Ajuste del eje X. Ajuste del eje Y. Ajuste del eje Z. Duracin del movimiento. Retardo de la movimiento Ventana de movimiento. Umbral de actividad. Umbral de inactividad. Tiempo de inactividad. Habilitacin del control de actividad inactividad de los ejes. Umbral de cada libre. Tiempo de la cada libre. Control de los ejes por movimiento/doble movimiento. Fuente del movimiento.

27

0x2C 0x2D 0x2E 0x2F 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39

BW_RATE POWER_CTL INT_ENABLE INT_MAP INT_SOURCE DATA_FORMAT DATAX0 DATAX1 DATAY0 DATAY1 DATAZ0 DATAZ1 FIFO_CTL FIFO_STATUS

R/W R/W R/W R/W R R/W R R R R R R R/W R

00001010 00000000 00000000 00000000 00000010 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

Rango de datos y control de modo de operacin. Control de modo de consumo de operacin. Control de habilitacin de interrupcin Control del mapeo de interrupciones Fuente de interrupciones. Control del formato de datos. Dato 0 del eje X. Dato 1 del eje X. Dato 0 del eje Y. Dato 1 del eje Y. Dato 0 del eje Z. Dato 1 del eje Z. Control del FIFO. Estado del FIFO.

Los registros que se configuraran directamente son el 0x27(ACT_INACT_CTL) 0x31(DATA_FORMAT) ,0x2D (POWER_CTL), para la forma de operacin y en este modo o dejando al ltimo el 0x2D debido a que este ltimo es el que hace que el dispositivo empiece a hacer la adquisicin de datos.

Registro 0x27ACT_INACT_CTL (Read/Write)

D7 ACT ac/dc

D6 ACT_X enable

D5 ACT_Y enable

D4 ACT_Z enable

D3 INACT ac/dc

D2 INACT_ X enable

D1 INACT_ Y enable

D0 INACT_ Z enable

El ACT_INACT_CTL se toma para la configuracin puesto que en l se maneja el modo de operacin en base a tipo de corriente y forma de deteccin (en activo o inactivo) de cada eje y la activacin de cada eje bajo el tipo de deteccin.

28

Registro 0x31DATA_FORMAT (Read/Write)

D7
SELF_ TEST

D6 SPI

D5 INT_INV
ERT

D4 0

D3
FULL_R ES

D2 Justify

D1

D0 Range

El registro DATA_FORMAT se debe configurar por la necesidad de establecer el tipo de comunicacin del SPI (D6) si es a 4 hilos o solo a tres, adems de declarar el tipo de resolucin que se debe de tomar si es modo full o si se tomara la resolucin de 10 bits (D3), tambin el formato de envi del MSB si es izquierda o derecha mdiate el manejo del bit D2 y el rango de operacin para la adquisicin de datos (D1 y D0)

Registro 0x2DPOWER_CTL (Read/Write)

D7 0

D6 0

D5 Link

D4
AUTO_ SLEEP

D3
Measure

D2 Sleep

D1 D0 Wakeup

Y el POWER_CTL se configura para el inicio de operacin de medicin (D3) y el trabajo en formas de modo link (D5) que sirve para el modo de deteccin doble(activo/inactivo) es decir que el bit al estar establecido trabajara ambas detecciones generando un retardo a la funcin de actividad mientras la funcin de inactividad trabaja. Despus de que la deteccin de actividad la deteccin por inactividad inicia atando pendiente de la deteccin por actividad. Si el bit esta en 0 las actividades se toman de forma normal. Los registros que sern configurados conforme a las pruebas son del 0x1D a 0x26 y de 0x28 a 0x2C que sern poco a poco configurados a consideracin de la forma en que el dispositivo entrega los datos conforme a su operacin o en otras palabras se configuran conforme los datos se trabajen.

29

4.2 DESARROLLO EN FPGA


Ahora despus de dejar en claro que es lo que se debe de trabajar ahora queda el problema como hacer para que la serie de datos que arroja el acelermetro traducirlos y tambin hacer que nos de los datos en la forma en que queremos, esto nos deja en generar un diseo para que el fuga acceda al dispositivo y haga las operaciones necesarias por lo cual se propone la siguiente forma de diseo.

Fig. 4.1 Diagrama a bloques del Dispositivo para el FPGA

En la imagen se puede apreciar el diseo que nos permitir la comunicacin con el dispositivo, donde se nota los diferentes elementos que acorde al protocolo ejecutaran la comunicacin de manera apropiada

30

Fig. 4.2 Diagrama a bloques del modulo Divisor_M

En la imagen se muestra el diseo del componente Divisor que generara un pulso de reloj cada tiempo M el cual est determinado por la siguiente frmula: ( )

De tal modo que Pt es el periodo de reloj del reloj maestro o de la tarjeta a utilizar, Pd es el periodo de reloj que deseamos as el resultado de dicha operacin nos arroja un valor que entra a un multiplexor que aunado a l lleva el resultado de las interacciones de un multifibrador tipo D del cual su salida est conectada a un restador y este a llevar a 0 nos da el pulso que buscbamos y que adems nos hace repetir el ciclo de manera consecutiva.

Fig. 4.3 Simulacin parcial del modulo Divisor_M

31

Fig. 4.4 Grafo de la maquina secuencial del modulo FSM_ctrl

El grafo anterior muestra una maquina de estados que es la generadora de la seal de reloj serial o SSL de la cual describe que al recibir un flanco positivo de entrada esta mquina cambiara su estado y si la entrada se mantiene en 0 el estado donde la maquina se encuentre se mantendr hasta que se d un nuevo evento de entrada.

Fig. 4.5 Diagrama descriptivo del modulo Recepcin

En esta imagen se muestra el modulo que hace la adquisicin de los datos que llegan del acelermetro y los muestra de una forma ms entendible para el usuario, lo cual se explica en otras palabras que este modulo se basa en la funcin de un registro de corrimiento serie

32

paralelo, lo que en resultado nos da varios multifibradores tipo D conectados en serie donde el principal est conectado directamente hacia la salida de datos del acelermetro y de cada salida de los multifibradores se toma el dato para concatenarlos en un solo vector de datos.

Fig. 4.6 Simulacin del modulo Recepcin

6 8

4 Fig. 4.7 Diagrama del modulo Mux_16

El multiplexor mostrado sirve de medio de envi de datos puesto que se trabaja por el concepto de envi de uno por uno los datos, el cual se sincroniza a travs del selector.

33

Fig. 4.8 Simulacin parcial del modulo Mux_16

Fig. 4.9 Diagrama del modulo FSM_Ctrl

El modulo representa de manera simple a la mquina de estados principal o de control que tiene la arquitectura principal del diseo para el fuga.

Fig. 4.10 Grafo parcial de inicializacin del la maquina principal de control

Tendiendo definido el diagrama a bloques de el dispositivo a generar dentro del fpga no queda ms que realizar el cdigo correspondiente a cada modulo.

34

4.3 IMPLEMENTACIN

La implementacin del ahora modulo completo ser hecho en una tarjeta tipo Nexys 2 ya que es un entorno de desarrollo mnimo para los ambientes FPGA y que adems se ajusta a las necesidades de trabajo para la comunicacin.

Fig. 4.11 Imagen de la tarjeta Nexys 2

Fig. 4.12 Diagrama de puertos disponibles de la tarjeta

35

Caractersticas de la tarjeta:
Xilinx Spartan-3E FPGA 500K o 1200K puertas Puerto USB2 proporcionar alimentacin de la placa, configuracin de dispositivos, y de alta velocidad de transferencia de datos Funciona con ISE / Webpack y EDK 16 MB de velocidad PSDRAM Micron 16 MB de Flash Intel StratFlash R Xilinx Plataforma Flash ROM De alta eficiencia fuentes conmutadas de alimentacin (bueno para aplicaciones a pilas Oscilador de 50 MHz, adems de un socket para un segundo oscilador 75 FPGA de E / S se enruten a los conectores de expansin (uno de alta velocidad conector Hirose FX2 con 43 seales y cuatro conectores de 2x6 PMod) Todas las seales de E / S LEDS y cortocircuito protegido, lo que garantiza una larga vida til en cualquier entorno. A bordo de E / S incluye ocho LEDs de cuatro dgitos de siete segmentos, cuatro botones, ocho interruptores deslizantes Naves en una caja de DVD con un cable de alta velocidad USB2

Caracterisiticas del Spartan 3E 3,3 de baja tensin TTL (LVTTL) baja tensin CMOS (LVCMOS) a 3,3 V, 2,5 V, 1,8 V, 1,5 V, 1,2 V o 3V PCI a 33 MHz, y en algunos dispositivos, 66 MHz HSTL I y III a 1,8 V, de uso comn en la memoria aplicaciones SSTL I a 1.8V y 2.5V, comnmente utilizada para la memoria aplicaciones Maestro de serie de un Xilinx Plataforma Flash PROM Serial Peripheral Interface (SPI) de una estndar de la industria SPI serial flash

36

Byte Peripheral Interface (BPI) arriba o abajo de una estndar de la industria x8 o x8/x16 paralelo Flash NOR Esclavo de serie, por lo general descargado de un procesador Esclavo paralelo, descargado de un procesador Lmites Scan (JTAG), por lo general descarga de un procesador o sistema probador.

37

CAPITULO 6: Conclusiones
Lo anterior nos hace ver que el desarrollo en FPGA es una opcin en la generacin de dispositivos a medida, puesto que al ser un circuito a describir nos da la libertad de hacer en l un dispositivo que cubra satisfactoriamente todas las necesidades que el usuario requiera, y que por su gran capacidad de almacenamiento, puede aceptar en cierta medida varias funciones o sistemas, evitando as el hacer en diferentes descripciones y en diferentes PLDs las mismas funciones que requerimos. Ahora bien, el desarrollo de protocolos de comunicacin SPI es en gran parte una ventaja con base que, s el usuario as lo requiriera, puede trabajar con un intervalo de datos a la medida que su aplicacin lo requiera, sin estar forzado a limitarse a las normalizaciones de otros protocolos similares, y que aparte por ser una comunicacin sincronizada, el error que llegase a encontrar seria porque el dispositivo este daado. Otra de las cosas que podemos apreciar es que el uso de transductores modificables, es un gran impulso a la instrumentacin, debido a que se puede adecuar el dispositivo de medicin conforme el operador del sistema lo necesite, modificando su forma de operacin, de adquisicin, entrega de datos,etc. Como conclusin final del proyecto, dentro del desarrollo es importante el diseo a bloques de la entidad a describir, porque son la base de la descripcin de la arquitectura del sistema, en ellos se encuentra el proceso paso a paso, y tambin las herramientas o mdulos que se han de utilizar dentro del proyecto, aparte que es importante ver que a nivel de simulacin todos los mdulos deben de apegarse a la forma de onda que el protocolo manda, debido a que entre ms allegada este la forma de onda del modulo a la del protocolo, el error de la sntesis del cdigo ser mnimo y que en el cdigo es de suma importancia el no dejar candados o estados indefinidos, debido a que si llegase en cierto momento a cumplirse un estado de operacin no cubierto por el usuario en el cdigo el dispositivo simplemente no operara o se quedara ciclado en caso de ser un candado de cdigo.

38

BIBLIOGRAFAS
Analog Devices. Applications Reference Manual. Norwood, MA, USA, 1993. Analog Devices. Designers Reference Manual. Norwood, MA, USA, 1996. Analog Devices. 1 g to 5 g Single Chip Accelerometer with Signal Conditioning. Norwood, MA, USA, 1996. Ouellette, Jennifer. MEMS: Mega promise for micro devices. The Industrial Physicist, Sept 1996, pp 9-12 Analog Devices. Using Accelerometers in Low-g Applications Hoja de aplicaciones AN-374. Analog Devices. Increasing the Frequency Response of the ADXL Series Accelerometers. Hoja de aplicaciones AN-377. Analog Devices. Reducing the Average Power Consumption of Accelerometers. Hoja de aplicaciones AN-378. Analog Devices. Compensating the 0-g Offset Drift of the ADXL50 Accelerometer. Analog Devices. Understanding Accelerometer Scale Factor and Offset Adjustments. Hoja de aplicaciones AN-396. Analog Devices. Hoja de datos ADXL345 Jos Manuel Marn de la Rosa,Estudio de la sensibilidad de filtros FIR e IIR en presencia de S.E.U, Universidad de Sevilla (Tesis). Ingeniera en microcontroladores, Protocolo SPI, Distrito Federal, Mxico VTI technologies, SPI Interface Specification Vantaa Finlandia, 2005