Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
CONTROL DE UN HORNO DE REFLUJO UTILIZANDO UNA PLATAFORMA PARA SISTEMAS EMBEBIDOS GAME BOY ADVANCE®
FELIPE JOSÉ OLMOS PARDO
UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA SANTAFÉ DE BOGOTÁ
2005
II
CONTROL DE UN HORNO DE REFLUJO UTILIZANDO UNA PLATAFORMA PARA SISTEMAS EMBEBIDOS GAME BOY ADVANCE®
FELIPE JOSÉ OLMOS PARDO
Tesis para optar al título de Ingeniero Electrónico
Director Carlos Camargo
MSC Ingeniería Electrónica
UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA SANTAFÉ DE BOGOTÁ
2005
III
A mi familia por su apoyo incondicional todo este tiempo.
A Linda por todo su cariño y compresión.
A todos mis amigos por su invaluable ayuda y compañía
IV
CONTENIDO
pág. INTRODUCCIÓN .................................................................................................... 8 1. MARCO TEÓRICO.............................................................................................. 9 1.1 DISPOSITIVOS DE MONTAJE SUPERFICIAL (SMD) ..................................... 9 1.2 RESEÑA DE TECNOLOGÍAS DE MONTAJE EXISTENTES [2]..................... 11 1.3 TAMAÑOS DE LOS ENCAPSULADOS [3] ..................................................... 15 1.4 TIPOS DE ENCAPSULADOS SMD [4] ........................................................... 16 1.5 PRINCIPALES VENTAJAS DE SMT [3].......................................................... 18 1.6 SISTEMAS EMBEBIDOS................................................................................ 19 1.6.1 Características de los Sistemas Embebidos ................................................ 20 1.6.2 Sistemas Operativos en Tiempo Real (RTOS)............................................. 22 1.6.3 Embedded Configurable Operating System (Ecos)...................................... 25 1.7 PROCESO DE REFLUJO ............................................................................... 28 1.8 BGA (BALL GRID ARRAY) ............................................................................. 31 1.9 TARJETA XPORT 2.0 ..................................................................................... 33 2. DESCRIPCIÓN DE LA ARQUITECTURA......................................................... 39 2.1 SISTEMA DE CONTROL PARA DESCRIBIR EL PERFIL DE TEMPERATURA.............................................................................................................................. 39 2.1.1 Generación de la señal PWM....................................................................... 40 2.1.2 Descripción de módulos ............................................................................... 42 • Timer....................................................................................................... 42 • Pwm Full ................................................................................................. 43 • Timer PWM ............................................................................................. 44 • PWM ....................................................................................................... 45 2.1.3 Sistema Completo ........................................................................................ 46 2.2 SISTEMA DE COORDINACIÓN CON eCos ................................................... 49 2.3 APLICACIÓN SOFTWARE ............................................................................. 53 2.4 SECCIÓN DE POTENCIA............................................................................... 55 2.4.1 Lámparas ..................................................................................................... 56 2.5 ADQUISICIÓN DE TEMPERATURA............................................................... 57 2.5.1 Generación de las señales de conversión.................................................... 58 2.5.2 ADC 0804..................................................................................................... 59 2.5.3 AD595 .......................................................................................................... 61 2.5.4 TERMOCUPLAS .......................................................................................... 61 3. RESUMEN DE COSTOS .................................................................................. 64 4. METODOLOGÍA PARA SOLDAR DISPOSITIVOS BGA................................... 65 .............................................................................................................................. 65 5. CONCLUSIONES Y TRABAJO A CONTINUAR ............................................... 66 BIBLIOGRAFÍA ..................................................................................................... 68 ANEXO 1............................................................................................................... 70
V
LISTA DE TABLAS
pág. Tabla 1. Valores típicos del perfil para BGA.......................................................... 69
LISTA DE FIGURAS
pág. Figura 1. Componentes de un montaje superficial en una tarjeta de circuito
impreso. ........................................................................................................... 9 Figura 2. Tipos más populares de encapsulados. ................................................. 10 Figura 3. Montaje manual de componentes .......................................................... 12 Figura 4. SMT por el lado...................................................................................... 13 Figura 5. SMT, montaje del lado de la soldadura .................................................. 14 Figura 6. Montaje mixto......................................................................................... 14 Figura 7. Tipos de encapsulados SMT.................................................................. 16 Figura 8. Perfil típico de temperatura .................................................................... 29 Figura 9. Perfil de temperatura usado por Altera................................................... 30 Figura 10. Ejemplo de un chip BGA ...................................................................... 31 Figura 11. Bolas de estaño de la tecnología BGA................................................. 32 Figura 12. Sistema Xport 2.0................................................................................. 33 Figura 13. Diagrama de bloque del Xport 2.0........................................................ 34 Figura 14. Ejemplo del ambiente de programación en Xilinx Webpack................. 36 Figura 15. Diagrama de entradas-salidas del sistema que describe el perfil de
temperatura.................................................................................................... 40 Figura 16. Perfil que describe el sistema .............................................................. 40 Figura 17. Sincronización con la señal AC............................................................ 41 Figura 18. Ejemplificación del control de la lámpara con la señal PWM ............... 42 Figura 19. Diagrama de entrada-salida del bloque Timer ..................................... 42 Figura 20. Diagrama de flujo del timer .................................................................. 43 Figura 21. Diagrama de entrada-salida del módulo Pwm Full ............................... 44 Figura 22. Bloque Timer_Pwm.............................................................................. 44 Figura 23. Algoritmo de Timer Pwm ...................................................................... 45
VI
Figura 24. Diagrama de entrada-salida del bloque Pwm....................................... 45 Figura 25. Diagrama de flujo del bloque Pwm....................................................... 46 Figura 26. Diagrama de bloques completo del sistema que ejecuta el perfil de
temperatura.................................................................................................... 47 Figura 27. Diagrama de Flujo del sistema que describe el perfil de temperatura.. 48 Figura 28. Diagrama de bloques de la configuración dentro del la Xport .............. 49 Figura 29. Pines del cartucho del Gameboy ......................................................... 50 Figura 30. Módulo DecodeBus, provisto por el fabricante..................................... 50 Figura 31. Decodificador de direcciones ............................................................... 51 Figura 32. Decodificador de entrada salida........................................................... 51 Figura 33. Diagrama de bloques más detallado del sistema de coordinación con
eCos............................................................................................................... 52 Figura 34. Diagrama de flujo del programa en C................................................... 54 Figura 35. Aspecto de la pantalla del Gameboy.................................................... 54 Figura 36. Sección de potencia ............................................................................. 55 Figura 37. MOC 3031............................................................................................ 56 Figura 38. Lámpara Halógena de 500W ............................................................... 56 Figura 39. Diagrama de conexiones del módulo de adquisición de temperatura. . 57 Figura 40. Diagrama de bloque del módulo que controla la conversión de datos . 58 Figura 41. Diagrama de flujo del módulo que controla la conversión .................... 59 Figura 42. Diagrama de pines del ADC0804......................................................... 60 Figura 43. Diagrama de tiempos del ADC............................................................. 60 Figura 44. Diagrama de conexión del AD595........................................................ 61 Figura 45. Esquema de la Termocupla ................................................................. 62 Figura 46. Junturas de cobre de la Termocupla .................................................... 62 Figura 47. Respuesta en temperatura de los tipos de Termocuplas. .................... 63 Figura 48. Perfil típico para BGA........................................................................... 65 Figura 49. Aspecto del Horno................................................................................ 70 Figura 50. Aspecto de la visualización y vista frontal ............................................ 70 Figura 51. Horno en funcionamiento, distintos grados de calentamiento .............. 70
VII
RESUMEN
Se describe el control de un Horno de Reflujo, a bajo costo, para soldar tarjetas de
circuitos impresos que contengan dispositivos de montaje superficial (SMT) sobre
la plataforma Xport 2.0 para sistemas embebidos. El horno describe un perfil de
temperatura que tiene varias etapas, de calentamiento, temperatura constante y de
enfriamiento. Se explican detalladamente cada módulo del diseño, la selección de
tecnología y la metodología usada. Además se propone una metodología para
soldar dispositivos basados en tecnología Ball Grid Array (BGA).
8
INTRODUCCIÓN El proyecto consiste en buscar una solución a bajo costo para un horno de reflujo
como un sistema embebido que cumpla con todas las restricciones de tiempo y
desempeño que se requieren para poder contar con una herramienta que pueda
servir como base a futuras investigaciones o aplicaciones.
Primero se presenta una breve introducción sobre sistemas embebidos,
explicando sus ideas básicas, para después hacer una ilustración breve del
proceso de reflujo y los tipos de dispositivos SMT (Sourface Mounting Technology)
y establecer así el contexto de la tesis. Después se presenta una descripción
general del sistema donde se explica cómo se diseñó toda la arquitectura;
describiendo los elementos más importantes que lo conforman, incluyendo parte
Software y parte Hardware. Al mismo tiempo se hace una descripción de cómo se
seleccionó la tecnología usada. Posteriormente se explica como se implementa el
controlador de temperatura. Además se expone cómo soldar dispositivos basados
en tencnología Ball Grid Array (BGA) y finalmente se enuncian las conclusiones y
el trabajo a continuar.
9
1. MARCO TEÓRICO 1.1 DISPOSITIVOS DE MONTAJE SUPERFICIAL (SMD) El montaje superficial es una técnica de encapsulamiento en la cual los pines de
los chips y sus componentes son soldados encima de la tarjeta, no a través de
ésta.
Figura 1. Componentes de un montaje superficial en una tarjeta de circuito impreso.
La tecnología de montaje superficial (Surface Mount Technology) es una técnica
óptima para la miniaturización de circuitos electrónicos con la cual los
componentes son montados directamente sobre la superficie de las tarjetas con
circuitos impresos (printed circuit boards) o PCBs. Los dispositivos electrónicos
utilizados en esta técnica son llamados Dispositivos de Montaje Superficial
(Surface Mount Devices) o SMDs. Actualmente, la industria está reemplazando un
10
método previo de construcción que se basa en el empalme de componentes con
pines dentro de huecos en la tarjeta del circuito (tecnología llamada tecnología de
agujeros pasantes o de montaje convencional/inserción (Through-Hole
Technology). Adicionalmente, el mercado demanda productos cada vez más
pequeños y livianos a lo cual la SMT es la solución. [1]
Figura 2. Tipos más populares de
encapsulados.
Un componente SMT generalmente es más pequeño que su contraparte
convencional (y en algunos casos más económico), ya que no posee las patas o si
las tiene son muy pequeñas y forman parte del cuerpo del componente,
permitiendo un montaje directo sobre la superficie de los PCBs. Puede contener
cortos pines, contactos llanos, una matriz de bolas (Ball Grid Array, BGA),
terminaciones en el cuerpo del componente (pasivos), o cortos leads en una
formación gull-wing (QFPs). Los dispositivos pueden ser de cualquier tipo:
capacitores, resistencias, diodos FPGAs, CPLDs, etc.
Se diferencian de la tecnología convencional por no contar con alambres o pines
de conexión sino que el propio encapsulado posee sus extremos metalizados o
con terminales cortos y rígidos de diversas formas.
En la técnica SMT, los componentes (SMD) pueden ir montados del lado de la
soldadura de la tarjeta, del lado de los componentes o de ambos lados. Pueden
compartir la placa con componentes THT teniéndose así una técnica de montaje
mixta.
11
1.2 RESEÑA DE TECNOLOGÍAS DE MONTAJE EXISTENTES [2] THT. Así abreviado del inglés, la tecnología de agujeros pasantes, hizo su
aparición con las Placas de Circuito Impreso, PCI o PCB en reemplazo de la
tecnología de montaje de componentes sobre chasis metálicos y/o sobre regletas
aislantes con terminales de soldar y cableados estructurados, como bien se habrá
visto en algún equipo de TV o radio antiguo.
Los materiales base de las PCI son de buenas propiedades aislantes y adecuada
estabilidad térmica, química y mecánica, como ser fenólicos del tipo pértinax o la
combinación de velos de fibra de vidrio con epoxi. Sobre esta base se halla
laminado el circuito eléctrico en cobre. Los caminos conductores poseen islas con
agujeros pasantes, a través de los cuales asomarán los terminales de los
componentes montados, y en donde se llevará a cabo la soldadura para la fijación
mecánica y unión eléctrica de los componentes al circuito.
Existen PCI de simple o doble faz y multicapas. En las PCI de doble faz y
multicapa los Through-Holes están metalizados por dentro y estañados, e
interconectan las diferentes caras y/o capas del circuito
THT – Montaje manual de componentes. Para el montaje de prototipos o placas
de muestra basta una pinza y un alicate para insertar los componentes en su
correcta posición e ir cortando los terminales y doblando los extremos salientes
para lograr cierto “anclaje” mecánico que permita soldarlo manualmente sin que
caigan de la placa al invertirla.
Para bajos y medianos volúmenes de producción es indicado contar con un área
de “corte y preformado” en el cual mediante dispositivos manuales o automáticos,
que se pueden adquirir en el mercado, los componentes son cortados y sus
12
extremos doblados en formas especiales para lograr el anclaje mecánico que los
mantengan en posición hasta ser soldados sin que se levanten ni caigan por el
orificio dejando terminales extremadamente largos.
En los componentes, que por su baja disipación térmica no necesiten ser
montados en forma elevada de la placa, los terminales pueden ser doblados y
cortados en ángulo recto. En ambos casos para el montaje manual se arman
puestos de trabajo individuales o en línea.
Figura 3. Montaje manual de componentes
THT – Montaje automático de componentes. Para grandes volúmenes de
producción se cuenta con máquinas insertadoras de componentes, dividiéndose
según el tipo de encapsulado del componente en radiales, axiales o de circuitos
integrados DIP (Double in Line Package).
La insertadora DIP toma los componentes de las varillas de IC´s, mientras que la
radial y axial lo hacen directamente de los rollos provistos por el fabricante o bien,
mediante el paso previo en una máquina secuenciadora, se arman nuevos rollos
con la secuencia de componentes que luego serán insertados.
En todos los casos, un cabezal se encarga de tomar el componente, doblar sus
terminales y posicionarlo en el ángulo de inserción programado, mientras debajo
una mesa X-Y, que sostiene a la PCI, se ubica en las coordenadas programadas.
En ese momento el cabezal baja introduciendo los terminales en los Through-
Holes mientras un segundo cabezal, debajo de la PCI, termina el ciclo mediante
un “cut&clinch”, es decir cortando los terminales salientes y doblándolos para
13
lograr el anclaje mecánico deseado. Una PCI así montada, puede ser manipulada
e invertida sin que se caigan los componentes.
De todos modos algunos componentes especiales como conectores pueden
requerir ser colocados a mano o mediante insertadoras especiales conocidas
como ODD-FORMS
SMT - Montaje sobre el lado de los componentes. Se realiza una impresión
serigráfica de pasta de soldar, a base de una aleación de estaño microgranulado y
flux, sobre los PADs, así llamadas las áreas de contacto del circuito impreso en
donde se soldará un SMD. Los componentes son tomados de su embalaje y
colocados en las coordenadas programadas mediante máquinas colocadoras de
componentes SMD, a veces llamadas “chipeadoras”, Pick&Place o Collect&Place.
Por cuestiones de calidad, precisión, velocidad y practicidad, el equipamiento
manual de SMDs solo es considerado para la realización de algunos prototipos.
Una vez puestos los componentes sobre esta pasta, la placa es introducida en un
horno continuo para desarrollar un ciclo térmico que incluye precalentamiento,
fusión del estaño, reflujo del mismo y enfriamiento. Este proceso es conocido
como reflujo y los hornos empleados pueden ser infrarrojos o de convección
forzada. Existe también la opción de soldadura en atmósfera inerte, que mediante
la inyección de nitrógeno logra desplazar el oxígeno para evitar oxidaciones
durante la soldadura.
Figura 4. SMT por el lado
14
SMT – Montaje del lado de soldadura. Sobre este lado de la placa, los
componentes son fijados mediante un proceso de adhesivado el cual se lleva a
cabo con una máquina dispensadora de gotas o mediante serigrafía de
pegamento. La colocación de los componentes sobre las gotas se realiza con el
mismo tipo de máquinas que para el paso anterior. Colocado el componente sobre
la gota de pegamento, que por su viscosidad permite un manipuleo cuidadoso, la
PCI es introducida en un horno, estático o continuo, donde se desarrollará el
proceso de “curado” o endurecimiento del pegamento siguiendo una curva de
temperatura adecuada.
Una vez curado el pegamento la PCI queda lista para ser soldada por baño de ola
o previamente equipada con componentes THT en caso de técnica mixta.
Figura 5. SMT, montaje del lado de la
soldadura
Montaje MIXTO. La técnica mixta no es más que el resultado de combinar THT
con alguno o ambos procesos SMT descriptos. Esto es muy común dado que si
bien en SMD existen ya casi todo tipo de componentes, muchas veces por
razones de costo o por no justificarse un cambio de proceso o por bajos
volúmenes de producción, se siguen colocando THTs.
Figura 6. Montaje mixto
15
1.3 TAMAÑOS DE LOS ENCAPSULADOS [3] Los componentes de montaje superficial son más pequeños que sus contrapartes
de pines, y diseñados para ser manejados por máquinas más que por humanos.
La industria electrónica ha definido una colección estándar de encapsulados de
formas y tamaños. Esta estandarización incluye:
• Componentes pasivos rectangulares (principalmente resistencias y condensadores):
o 0201 - 0.02" × 0.01" (0.6 mm × 0.3 mm), dos terminales
o 0402 - 0.04" × 0.02" (1.0 mm × 0.5 mm), dos terminales
o 0603 - 0.06" × 0.03" (1.5 mm × 0.8 mm), dos terminales
o 0805 - 0.08" × 0.05" (2.0 mm × 1.3 mm), dos terminales
o 1206 - 0.12" × 0.06" (3.0 mm × 1.5 mm), dos terminales
• Capacitores de Tantalum:
o Size A (EIA 3216-18): 3.2 mm × 1.6 mm × 1.6 mm
o Size B (EIA 3528-21): 3.5 mm × 2.8 mm × 1.9 mm
o Size C (EIA 6032-28): 6.0 mm × 3.2 mm × 2.2 mm
o Size D (EIA 7343-31): 7.3 mm × 4.3 mm × 2.4 mm
o Size E (EIA 7343-43): 7.3 mm × 4.3 mm × 4.1 mm
• SOIC – Small-outline integrated circuit, dual-in-line, 8 o más pines ,
espaciamiento entre pines 1.27 mm
• PLCC - plastic leaded chip carrier, cuadrado, J-lead, espacio entre pines 1.27
mm
• TSOP - thin small-outline package, más pequeño que el SOIC con
espaciamiento entre pines de 0.5 mm
• SSOP - shrink small-outline package, espaciamiento entre pines de 0.635 mm
• QSOP - quarter-size small-outline package, espaciamiento entre pines de
0.635 mm
• VSOP – más pequeño que el QSOP; 0.4, 0.5 mm o 0.65 mm de
espaciamiento entre pines
16
• SOT - small-outline transistor, tres terminales
o SOT-23 - 3 mm × 1.75 mm × 1.3 mm
o SOT-223 - 6.7 mm × 3.7 mm × 1.8 mm
• PQFP - plastic quad flat-pack, cuadrado con pines en los cuantro lados, 44 o
más pines
• CQFP - ceramic quad flat-pack, similar al PQFP
• TQFP - thin quad flat pack, una versio más pequeña que el PQFP
• BGA – cuadrado o rectangular, espaciamiento entre bolas 1.27 mm
1.4 TIPOS DE ENCAPSULADOS SMD [4]
Figura 7. Tipos de encapsulados SMT
Encapsulado DIP o DIL. Este es el encapsulado más empleado en montaje por
taladro pasante en placa. Este puede ser cerámico (marrón) o de plástico (negro).
Un dato importante en todos los componentes es la distancia entre pines que
poseen, en los circuitos integrados es de vital importancia este dato, así en este
tipo, el estándar se establece en 0,1 pulgadas (2,54mm).
17
Se suelen fabricar a partir de 4, 6, 8, 14, 16, 22, 24, 28, 32, 40, 48, 64 pines, los
cuales son los que más se utilizan.
Otra norma que también suele cumplirse, se refiere a la identificación de la
numeración de los pines: la pata número uno se encuentra en un extremo
señalada por un punto o una muesca en el encapsulado y se continua la
numeración en sentido antihorario (sentido contrario a las agujas del reloj),
mirando al integrado desde arriba. Por regla general, en todos los encapsulados
aparece la denominación del integrado, así como, los códigos particulares de cada
fabricante.
Encapsulado FLAT-PACK. se diseñan para ser soldados en máquinas
automáticas o semiautomáticas, ya que por la disposición de sus pines se pueden
soldar por puntos. El material con el que se fabrican es cerámico. La numeración
de sus patas es exactamente igual al anterior. Sus terminales tienen forma de ala
de gaviota. La distancia entre pines es de 1,27mm, la mitad que en los DIP.
Encapsulado SOIC. Circuito integrado de pequeño contorno. Son los más
populares en los circuitos de lógica combinacional, tanto en TTL como en CMOS.
También la terminación de las pines es en forma de ala de gaviota. Se sueldan
directamente sobre las pistas de la placa de circuito impreso, en un área
denominada footprint. La distancia entre patas es de 1,27mm (0,05"). La
numeración de los pines es exactamente igual a los casos anteriores.
Encapsulado PLCC. Se emplea en técnicas de montaje superficial pero,
generalmente, montados en zócalos, esto es debido a que por la forma en J que
tienen sus terminales la soldadura es difícil de verificar con garantías. Esto permite
su uso en técnicas de montaje convencional. Se fabrican en material plástico. En
este caso la numeración de sus pines varía respecto de los anteriores. El punto de
inicio se encuentra en uno de los lados del encapsulado, que coincide con el lado
18
de la cápsula que acaba en chaflán, y siguiendo en sentido antihorario. La
distancia entre terminales es de 1,27mm.
Encapsulado LCC. Al igual que el anterior se monta en zócalo y puede utilizarse
tanto en montaje superficial como en montaje de taladro pasante. Se fabrica en
material cerámico y la distancia entre terminales es cerámico.
Los encapsulados que aparecen en este tema son los más importantes y los más
utilizados. Como es lógico, esta es una pequeña selección de la infinidad de tipos
de cápsulas que existen
1.5 PRINCIPALES VENTAJAS DE SMT [3] Las ventajas principales de la tecnología de montaje superficial sobre la tecnología
antigua de Through-Hole son:
• Componentes pequeños
• No necesita abrir huecos a través de tarjetas abrasivas
• Ensamblaje automatizado simple
• Las pequeñas fallas en la colocación de los componentes son corregidas
automáticamente (la tensión superficial de la soldadura derretida empuja los
componentes a una alineación con los pads soldados)
• Los componentes pueden ser acoplados en ambos lados de la tarjeta de
circuitos, permitiendo montar los SMDs debajo de la tarjeta y los componentes
con pines convencionales encima de ésta.
• Reducir el tamaño del PCB permite que más circuitos sean producidos por
panel, disminuyendo así los costos asociados con tarjetas vacías. Así mismo,
esto reduce los costos laborales relacionados con los métodos manuales.
19
1.6 SISTEMAS EMBEBIDOS Un sistema embebido es una combinación de hardware y software, un sistema
computacional para desempeñar funciones específicas (La aplicación es conocida
antes que el diseño del sistema comience, por esto se dice que no son de
propósito general). Se puede definir como un sistema que sin ayuda de un
computador puede desarrollar tareas computacionales, funcionales y en tiempo
real. La parte software, explota características como la flexibilidad y características
adicionales que no se pueden obtener usando el diseño tradicional (basado solo
en hardware o en software) y la parte hardware, provee los niveles de desempeño
necesarios.
Un sistema embebido no es solamente una combinación de módulos de diferentes
funciones en un mismo sistema (software, hardware, análogo, digital, etc.), sino
que se puede definir como un sistema que sin ayuda de un computador realiza
tareas computacionales, funcionales y en tiempo real. Estos requieren de los
siguientes elementos:
• Sistema operativo en tiempo real (RTOS)
• Debugger
• Herramienta de compilación
• Plataforma hardware (micro procesador, FPGA, etc.)
• Simulador
Los sistemas embebidos proveen características de flexibilidad, importante para
actualizaciones, diferenciación (opciones de configuración por parte del usuario) y
reutilización del diseño. Trabajan en ambientes reactivos (deben reaccionar a los
cambios del entorno) y con restricciones de tiempo. Un sistema embebido esta
en capacidad de informar al usuario del estado en que se encuentra el proceso al
20
tiempo que puede asistirlo en el control del sistema, todo esto aprovechando las
características de funcionamiento en tiempo real y multiproceso.
Su integración y uso extensivo en los productos comunes marca una evolución
significativa en cuanto a metodologías de diseño electrónico, y en general para la
ciencia y la tecnología. La tendencia principal es la proliferación de sistemas
embebidos, los cuales deben trabajar en interacción con el mundo real, pero
respetando sus limitaciones. Los sistemas embebidos deben tener una interacción
continua con el ambiente físico dentro del cual son diseñados.
Entre sus características típicas se pueden enunciar las siguientes: desempeñan
una sola o un conjunto compacto de funciones, no son de propósito general, en la
actualidad son cada vez de más alto desempeño y funcionamiento en tiempo real.
Su diseño se ve influenciado por el consumo de potencia, costos y confiabilidad.
El diseño de un procesador de aplicación específica puede ser un componente
importante para algunos sistemas embebidos.
La capacidad de ser fácilmente configurables (customization) lleva a una
reducción del área de montaje, consumo de potencia, costos, etc. Pero esta
capacidad de ser configurable lleva a un alto costo en cuanto al desarrollo
hardware-software, es decir, la partición del diseño, compiladores, debuggers, etc.
Todo esto puede significar un alto tiempo de desarrollo, con una eventual demora
en la salida del producto final al mercado.
1.6.1 Características de los Sistemas Embebidos Aplicación específica
El sistema se diseña para una aplicación específica, es decir, que la aplicación se
conoce antes que se empiece el diseño del sistema. La flexibilidad es importante a
21
la hora de realizar actualizaciones, diferenciación del producto y reutilización del
diseño, usualmente lograda a través de cierta re-programabilidad del sistema. En
la práctica, el desarrollo de la aplicación toma lugar al tiempo que el diseño del
sistema embebido, y se requiere una partición entre qué características van a ser
manejadas por la aplicación software y cuales por la parte hardware.
Procesamiento de señales digitales
La continua necesidad de la digitalización de señales le da más importancia al rol
de los DSP´s en el desarrollo de sistemas embebidos. Las señales son
representadas como una secuencia de muestras que se logra típicamente con el
uso de conversores análogos-digitales (ADC). En los últimos años la aparición de
DSP´s proveen mejores y más características, tales como: filtraje, modulación,
manejo de ruido, transformadas de Fourier, uso de codecs, codificación, etc.
Características que comúnmente no se obtienen con el uso de un ADC.
Reactividad
La reactividad implica que el sistema debe estar sujeto a limitaciones de tiempo
real, relacionado con su velocidad de ejecución. Un sistema embebido no debe ser
desconectado del mundo, remoto o de bajo desempeño, las aplicaciones deben
ser manejadas en tiempo real. Las restricciones son una parte importante de la
funcionalidad del sistema cuando se construye un sistema embebido
computacional. Los sistemas en la naturaleza pueden ser cerrados o abiertos: en
los primeros, la ejecución se limita a una sola fuente de incertidumbre y las
relaciones de causalidad son fácilmente establecidas. Para los segundos existen
múltiples fuentes de incertidumbre no controlables u observables por el
programador, y no es posible inferir una relación de causalidad. Estas
características deben ser tenidas en cuenta a la hora de delimitar el problema a
ser tratado y de diseñar la eventual solución.
22
Tiempo real
Un sistema de tiempo real consiste en tareas restringidas a un límite de tiempo (la
noción de tiempo típicamente es global y física). Se clasifican en: Hard real-time y
soft real-time. Los primeros, tienen restricciones donde las tareas deben ser
controladas de tal forma que se tienen restricciones severas de tiempo. (Por
ejemplo: el control de vuelo de un avión, sistema de alerta de colisión). En los
segundos, no existen restricciones tan severas y el hecho de incumplir los límites
de tiempo no produce a fallas catastróficas.
Distribuidos
Consisten en componentes que necesariamente deben estar físicamente
distribuidos y procesos comunicantes en múltiples procesadores o en hardware
dedicado, conectado por enlaces de comunicaciones.
1.6.2 Sistemas Operativos en Tiempo Real (RTOS) Estos juegan un papel determinante a la hora de definir la arquitectura de un
sistema embebido, proveen un nivel de servicio acondicionado a las aplicaciones
que requieran una respuesta en un intervalo de tiempo determinado. Una de sus
principales características es la respuesta a eventos internos o externos, tales
como interrupciones ya sean software, de reloj o generadas por hardware
externos.
En la actualidad debido a sus amplias características de configurabilidad y a la
versatilidad y portabilidad que poseen, se usan en robótica, comunicaciones,
multimedia, entre otras aplicaciones. Para desarrollar alguna aplicación
determinada, se elige el sistema operativo y se configura de tal forma que solo se
23
utilicen los componentes necesarios, de tal forma que puedan ser cargados
fácilmente en una plataforma hardware, por ejemplo el Kernel de eCos (Embedded
configurable operating system )solo ocupa alrededor de 30 KBytes.
Para poder medir el desempeño de un sistema operativo se usan dos variables, la
latencia y el jitter. La primera se refiere al tiempo que tarda el sistema en
responder a un evento determinado, la segunda se refiere a las variaciones en el
periodo de ocurrencia de los eventos periódicos. Aquí es donde radica la
diferencia de un sistema operativo normal y un RTOS: estos últimos requieren que
los valores de latencia y jitter sean independientes a la carga de trabajo del
sistema, para evitar la pérdida de eventos o la demora en la respuesta a los
mismos.
Eventualmente un RTOS tendrá que ejecutar varias tareas o aplicaciones al
mismo tiempo, pero teniendo en cuenta que se tienen recursos limitados, para lo
cual se usan elementos de control y sintonización tales como semáforos,
banderas, relojes, mutex, entre otros, y se trabaja bajo un sistema de asignación
de prioridades a cada tarea.
Requerimientos de un RTOS
Comportamiento predecible, manejo de tiempos.
Manejo multitareas, scheduling.
Soporte de tareas prioritarias, con herencia de la prioridad.
Soporte de mecanismos predecibles de sincronización y comunicación de tareas.
Se debe conocer el tiempo máximo en el que las interrupciones son
enmascaradas por el sistema operativo.
Se debe conocer el tiempo máximo que usan los drives del dispositivo para
procesar una interrupción, además de de la información específica de los IRQs de
cada driver.
24
El estado latente debe ser predecible y compatible con los requerimientos de la
aplicación.
Funciones de un RTOS [30] Control de interrupciones y excepciones.
Las interrupciones son de naturaleza asíncrona, es decir, que se producen en
momentos indeterminados del funcionamiento del programa, interrumpiendo el
flujo normal de éste. Para atender la interrupción es necesario un cambio de
contexto y la salvaguarda del mismo para poder retornar el flujo del programa en
el punto que se dejó.
Las excepciones son de naturaleza síncrona, pero también necesitan un cambio
de contexto y se suelen tratar de forma similar a las interrupciones.
Cuando se produce una interrupción o una excepción, se guardan
automáticamente los registros de contador del programa y de la pila.
Gestión de memoria
Una de las funciones más típicas de todo sistema operativo es la gestión de
memoria. Todo sistema basado en microprocesador usa algún tipo de memoria.
Mientras que la memoria ROM no se puede gestionar en tiempo de ejecución,
recursos como la memoria RAM o FLASH si se pueden administrar en tiempo de
ejecución.
Los sistemas operativos suelen realizar dos tipos de gestión de memoria, las
basadas en asignaciones de memoria de tamaño variable y las basadas en
asignaciones de tamaño fijo. Los primeros suelen ser más rapidos y necesitan
25
menos información interna que las de tamaño variable, pero las de tamaño
variable pueden permitir un mejor aprovechamiento de la memoria.
Manejo de hardware
Casi todos los sistemas operativos se reservan el privilegio de decidir el modo en
el que los distintos dispositivos son controlados y la forma en que pueden ofrecer
sus servicios al usuario. Los dispositivos de entrada-salida suelen tener una
interfaz común para producir la comunicación. Es común encontrar funciones de
escritura o lectura de caracteres que se realizan igual para distintos dispositivos,
con solo usar un identificador de dispositivo distinto.
Librerías
Es frecuente que el sistema operativo incluya una serie de librerías con funciones
típicas de programación. La librería C es muy corriente dado que introduce
funciones tan conocidas como main, printf, etc. Cuantas más librerías incluya un
sistema operativo, mejor, siempre y cuando se puedan excluir del ejecutable
cuando no se utilicen.
1.6.3 Embedded Configurable Operating System (Ecos) Ecos es un sistema operativo en tiempo real de fuente abierta, configurable y
portable, ideado para sistemas embebidos. Algunas de sus características
principales son:
Multi-tareas.
Scheduling.
Objetos de sincronización.
26
Timers, contadores, alarmas, mailboxes.
Manejo de interrupciones.
Uso de librerias matemáticas e ISO C.
Un desarrollador tiene acceso ilimitado a todos los aspectos del sistema. Ninguna
parte está bajo propiedad privada o escondida. Se está en libertad de agregar,
modificar, y examinar el código tanto como se considere necesario.
Unas de las innovaciones claves en eCos es el sistema de configuración. Este
sistema permite imponer los requerimientos a los componentes del entorno, en
términos de su funcionalidad e implementación. Esto permite a los programadores
de eCos crear sus propias aplicaciones del sistema operativo y hacerlo adecuado
para un amplio rango de usos embebidos.
Ecos está diseñado para ser portado a un amplio rango de arquitecturas y
plataformas y incluyendo las de 16, 32 y 64 bits, MPUs, MCUs y DSPs. El kernel
de eCos, las librerías y los componentes del entorno están incluidos en la capa de
abstracción de hardware (Hardware Abstracción Layer, denominada HAL). Correrá
en cualquier plataforma una vez que el HAL y los drivers relevantes sean cargados
en el procesador de la arquitectura objetivo. Actualmente eCos soporta un amplio
rango de distintas arquitecturas:
• ARM, Intel StrongARM and XScale
• Fujitsu FR-V
• Hitachi SH2/3/4
• Hitachi H8/300H
• Intel x86
• MIPS
• Matsushita AM3x
• Motorola PowerPC
• Motorola 68k/Coldfire
27
• NEC V850
• Sun SPARC
Incluyendo muchas de las variantes populares de estas arquitecturas y tarjetas de
evaluación.
El Kernel de eCos
El Kernel es uno de los paquetes principales de eCos debido a que es quien
proporciona la funcionalidad necesaria para el desarrollo de aplicaciones
multitarea, o multihilo. Posee la habilidad de crear nuevos hilos (tareas) en el
sistema, durante el inicio o mientras el sistema está corriendo. Además puede
controlar varios hilos, tanto como sus prioridades. Tiene la capacidad de elegir un
programador de tareas (scheduler) para determinar cual hilo se debe correr en qué
momento. Para permitir que los hilos interactúen entre sí de manera segura, se
usan objetos de sincronización, para intercambiar datos o compartir recursos.
La elección de un sistema operativo para el proyecto recae en el sistema eCos.
Estos motivos se fundamentan en:
• Amplias funciones de configuración del kernel.
• Sistema gratuito.
• Código fuente de libre distribución.
• Se utilizan herrramientas de desarrollo de libre distribución tales como los
compiladores GCC o depuradores de GDB.
• Existe amplia bibliografía en Intenet acerca del sistema operativo. Al igual
que foros de debate donde se resuelven dudas y se da soporte de manera
gratuita.
• Ocupa menos de 100k de ROM y 50k de RAM
• Librerías estándares de C
28
1.7 PROCESO DE REFLUJO El proceso de reflujo consiste en aplicar una pasta para soldar a una tarjeta
impresa, colocar los dispositivos y a continuación llevar la tarjeta a un horno que
realiza un proceso de calentamiento determinado para asegurar que los distintos
elementos queden soldados a la tarjeta.
Una soldadura de alta calidad y de bajos defectos requiere identificar el perfil de
temperatura óptimo para la pasta de soldar. Lograr consistencia en el proceso de
soldar dispositivos de montaje superficial requiere repetir este perfil una y otra vez.
Cada punto de soldadura necesita ser calentado de manera similar si se desea un
buen resultado; desde el punto de vista del punto de soldadura no importa cual
sea la fuente de calor, lo cual brinda una amplia variedad de opciones para lograr
el perfil. Lo que realmente interesa es que el calor sea aplicado de una manera
controlada, las pendientes de calentamiento y enfriamiento deben ser compatibles
con la pasta y los elementos a ser soldados.
Perfil de temperatura de reflujo
Un perfil de temperatura se define como una relación de temperatura contra
tiempo durante el calentamiento. Un perfil típico del proceso de reflujo consiste en
tres etapas de calentamiento, como se ve en la Figura 8. Cada etapa se conoce
respectivamente como precalentamiento, secado y reflujo. Este perfil ha sido
comúnmente usado desde la aparición del la tecnología de montaje superficial. Sin
embargo, cada pasta de soldar define sus características, tales como: pendientes
de calentamiento y enfriamiento, temperatura máxima y duración de cada etapa. A
continuación se describen los rasgos fundamentales de cada etapa.
29
Figura 8. Perfil típico de temperatura
Precalentamiento
En esta sección la meta es precalentar completamente el montaje SMT a
temperaturas entre 100 y 150 grados centígrados. El parámetro más crítico a
controlar es la tasa de calentamiento entre 1 a 4 grados por segundo. La
preocupación más importante es minimizar el shock térmico de los componentes
del montaje. Por ejemplo, los capacitores cerámicos pueden ser vulnerables a
quebrarse si se calientan muy rápido. Adicionalmente, el excesivo calentamiento
puede ocasionar que la pasta de soldar se disperse.
Secado
La segunda etapa, se usa principalmente para asegurar que la pasta se seque
completamente antes de llegar a temperatura de reflujo. Se caracteriza por una
temperatura consistente de entre 150 y 170 grados, por un periodo de entre 60 a
120 segundos. La etapa de secado actúa como activadora del flujo para pastas
RMA. El secado provee estabilización térmica tanto a los dispositivos grandes
como a los pequeños para asegurar un calentamiento uniforme mientras el
montaje entra en la zona de reflujo.
30
Reflujo
Esta sección del perfil eleva la pasta de soldar a una temperatura mayor que su
punto de fusión, para la mayoría de estas la temperatura de fusión esta en
alrededor de 183° C. Esta temperatura debe ser superada en alrededor de 20° C
para asegurar un reflujo de buena calidad en cada punto de soldadura de la
tarjeta. La cantidad de tiempo que la soldadura está por encima de su punto de
fusión se le conoce como tiempo de “mojado” (wetting time), el cual es alrededor
de 30 a 60 segundos para la mayoría de las pastas. Si el tiempo de mojado es
excesivo, las junturas quedarán quebradizas.
Enfriamiento
A continuación del reflujo viene la etapa de enfriamiento, un enfriamiento muy
lento ya que mientras que la pasta está liquida puede causar que los puntos de
soldadura se conviertan en una estructura granulada, resultando en puntos
potencialmente débiles. Comúnmente las tasas de enfriamiento son controlados
entre 1 a 2 grados Centígrados por segundo.
Figura 9. Perfil de temperatura usado por Altera
31
Un ejemplo de un perfil de temperatura es el recomendado por Altera para soldar
sus dispositivos. El precalentamiento se efectúa entre 1 a 3 grados, hasta alcanzar
los 150 grados. A continuación se trata de mantener la temperatura constante a
150 grados durante alrededor de 2 minutos para luego empezar a aumentar la
temperatura hasta superar los 183 grados. En la etapa de reflujo se mantiene por
un intervalo de entre 60 a 150 segundos la temperatura por encima del punto de
fusión de la pasta, es decir 183 grados. Y, finalmente, el enfriamiento se debe
efectuar a menos de 6 grados por segundo.
1.8 BGA (BALL GRID ARRAY) Motorota y Citizen conjuntamente desarrollaron el BGA plástico en 1989,
siguiendo una aproximación similar usada por Motorola e IBM por varios años con
el BGA cerámico.
Con el aumento en la demanda de dispositivos de alta densidad, el alto número de
entradas y salidas, los dispositivos basados en tecnología BGA se están
convirtiendo en la próxima generación de dispositivos. El encapsulado BGA es un
método para reducir el tamaño de los componentes y la separación entre pines de
manera que se puedan integrar más funciones y confiabilidad en un mismo
espacio.
Figura 10. Ejemplo de un chip BGA
Fuente: wikipedia.com
32
Se caracterizan por tener bolas de estaño por debajo del encapsulado en vez de
las tradicionales patas de la tecnología convencional, lo cual permite tener muchas
más entradas y salidas.
Entre las ventajas del BGA sobre el método convencional están:
• Mejor desempeño eléctrico debido al acortamiento de las distancias entre el
chip y las bolas de soldadura.
• Mejor desempeño térmico debido al uso de caminos térmicos (termal vias),
o a la disipación de calor a través de planos incorporados en el substrato.
• Ocupa menos área del dispositivo por entradas o salidas.
• Se reduce significativamente el daño que tradicionalmente ocurría a las
patas debido a la manipulación del dispositivo. Esto también reduce el
trabajo posterior al fijado del dispositivo a la tarjeta.
• Cuando se usa reflujo para soldar los encapsulados, las bolas se auto
alinean a los pads de la tarjeta.
Figura 11. Bolas de estaño de la tecnología BGA
Fuente: www.hirox.com
33
1.9 TARJETA XPORT 2.0 Información general de la Xport 2.0
La Figura 12 muestra el sistema completo del Xport 2.0 incluyendo la Xport y el
Gameboy Advance (GBA).
Figura 12. Sistema Xport 2.0
Conector Reset: Proveído para aquellos quienes hayan instalado la señal
automática de reset.
Botón Reset: Si la señal automática de reset es instalada, el botón reset
reseteará el GBA cuando se presiona. Este botón puede estar también conetado
al FPGA.
LED verde: LED programado por el usuario
LED rojo: LED programado por el usuario
Cport: Usado para programarse y comunicarse con el Xport. Se conecta al puerto
paralelo del PC usando la Interfaz del Puerto Paralelo y el cable.
Conectores del usuario: Usados para la interfaz de los circuitos del usuario.
La Figura 13 muestra un diagrama general de bloques de la Xport 2.0 el cual
consiste principalmente de una FPGA, una memoria flash, una SDRAM opcional y
componentes de soporte.
Fuente: Xport user´s guide, Charmedlabs
34
Como es descrito en el diagrama, la FPGA es el componente central. Esta
topología provee la mayor flexibilidad ya que la FPGA es totalmente programable.
El dispositivo Flash guarda el código que se ejecuta mediante el GBA, y como el
FPGA usa celdas RAM volátiles para almacenar su configuración lógica, el flash
es también usado para almacenar la configuración del FPGA. El CPLD (Complex
Programmable Logic Device) ayuda en el proceso de configuración que es
requerido para programar el FPGA cuando se enciende el sistema. Los 16
Mbytes opcionales del SDRAM pueden o no ser mapeados dentro del espacio de
direcciones del GBA o ser usado por la FPGA para aplicaciones que requiere de
almacenamiento de datos y recuperación de los mismos.
Figura 13. Diagrama de bloque del Xport 2.0
Una diferencia importante entre el GBA y el original Gameboy es el diseño del
cartucho. El GBA usa un cartucho de 16 bits diseñado en forma opuesta al Game
Boy original, el cual usa un diseño de 8 bits. No obstante ambos comparten el
mismo conector físico del cartucho. Por tanto, para “acomodar” la información
extra de señales dentro del mismo número de conexiones del cartucho, el GBA
multiplexa la dirección y las señales de datos. Este esquema usado de
Fuente: Xport user´s guide, Charmedlabs
35
multiplexado hace posible la interfaz directa de los dispositivos de memoria
estándar industrial con el GBA. Por lo tanto, una de las tareas del FPGA es
demultiplexar la dirección y las señales de datos que salen del GBA para que
ellos puedan ser presentados en el dispositivo flash. El demultiplexado es
requerido para que el GBA ejecute el código o accese los datos almacenados
dentro del flash.
Sin embargo, el demultiplexado requiere solo una fracción pequeña de la lógica
del FPGA. El reto de la lógica es disponible por la aplicación particular del usuario.
Tales aplicaciones pueden usar la lógica del FPGA para hacer la interfaz con
dispositivos externos, coprocesar o ambas cosas. Ejemplos de coprocesamiento
incluyen:
• Multiplicación, división
• Filtro FIR
• Procesamiento de imágenes
• Procesador de propósito general RISC
• Cronómetro Watchdog, reloj en tiempo real
Para aplicaciones que requieren entradas y salidas físicas, hay 64 señales I/O
disponibles a través de los conectores de expansión del usuario: USER1 y
USER2. Tales aplicaciones típicamente hacen uso de un hardware adicional en la
forma de un circuito “add-on”. Un circuito “add-on” puede ser conectado al Xport
vía el USER 1 o el USER2 con cables de cinta o directamente con un conector del
PCB. Ejemplos de aplicaciones I/O:
• Propósito general I/O
• Modulación pulso-width
• Conteo de pulsos
• Conversión Análogo a digital o viceversa
• Quadrature decoding
36
• Interfaz periférica (i. e. USB, PCMCIA, Compact Flash)
• Dispositivo de interface (i.e. cámaras, sensores, motores, actuadores)
Usando la FPGA para esas aplicaciones puede requerir escribir (o modificar) una
configuración lógica predeterminada, si ésta no es todavía disponible a través del
web site. Es recomendado que las configuraciones predeterminadas sean escritas
en un HDL (Hardware description language) tales como Verilog o VHDL. La Xport
2.0 usa el Spartan II FPGA de Xilinx, el cual es soportado por el software gratis
WebPACK. Este ambiente completamente desarrollado del FPGA puede ser
descargado a través del web site del Xilinx (www.xilinx.com).
Figura 14. Ejemplo del ambiente de programación en Xilinx Webpack
Slots de configuración
Como ha sido descrito anteriormente, la FPGA usa el flash para almacenar su
configuración lógica. Cuando se enciende el sistema, el CPLD asiste al FPGA
proveyéndolo con los datos de configuración almacenados en el flash. Estas
configuraciones lógicas son almacenadas en “slots” de 128 Kbyte, el cual reside
en la cima de la memoria flash. El Slot 0 almacena la configuración
Códigos o fuentes
Opciones de síntesis
Ventana de mensajes y avisos
Jerarquía del proyecto
37
predeterminada del runtime, el cual se inicia cuando se prende el GBA. El Slot 1
almacena la configuración programable usada pro el Xpcomm para programar el
flash.
Como estos slots residen en el flash, ellos pueden corromperse si, por ejemplo, un
programa usuario accidentalmente escribe sobre la memoria flash. Si el slot 0 se
corrompe, puede ser fácilmente reparado mediante la reprogramación a través del
Xpcomm (usando la opción del PC). De forma similar, si se corrompe el slot 1,
puede ser reparado mediante una operación de actualización.
Versiones posteriores del Xpcomm pueden contener nuevas configuraciones para
el slot 1. Ejecutando el Xpcomm con la opción uno actualizará el slot 1 con la
última configuración. Ver la sección titulada Usando el Xpcomm para más detalles.
Usando el comando Xpcomm El instrumento del Xpcomm es utilizado para programar la configuración del flash y
del FPGA así como para comunicarse con el GBA a través de la Xport.
Para programar la configuración de la FPGA, el Xpcomm acepta archivos
bitstream (.bit) generados mediante un software síntesis como el Xilinx ISE 5 o el
WebPACK. Para programar el flash, el Xpcomm acepta los archivos de programa
en raw binary (.bin) y en S-records (.srec). Se generan estos archivos usualmente
mediante compiladores C/C++ como GCC o ARM SDT.
Cuando se invoca Xpcomm con un argumento de archivo, detectará el tipo de
archivo (bitstream, raw binary, o S-record) y programará el Xport apropiadamente.
Por ejemplo,
• xpcomm redgreen.bit
38
Programará la configuración del FPGA con los contenidos redgreen.bit (bitstream),
y
• xpcomm redgreen.bin
Programará el flash con los contenidos del archivo raw binary redgreen bin. De
forma similar,
• xpcomm redgreen.bit redgreen.bin
Hará ambas operaciones. La mayoría de los usuarios encontrarán que el uso del
Xpcomm en esta forma es suficiente para casi todas las tareas de programación.
Alternativamente, el Xpcomm puede ser instruido para realizar operaciones
específicas.
39
2. DESCRIPCIÓN DE LA ARQUITECTURA 2.1 SISTEMA DE CONTROL PARA DESCRIBIR EL PERFIL DE TEMPERATURA Este módulo desarrollado en Vhdl e implementado dentro de la FPGA de la tarjeta
Xport 2.0, se encarga de realizar el control del proceso de reflujo. Recibe una
señal de reloj, la temperatura proveniente del ADC, una señal de comienzo
llamada Go y una señal de reset que cancela el proceso y regresa todo a
condiciones iniciales. Las salidas son la señal PWM que controla los elementos de
calentamiento y una señal que indica cuando encender el sistema de enfriamiento
denominada frio. El perfil que tiene programado es el que se muestra en la figura
14.
El bloque principal se llama Reflow y se compone de tres modulos, Timer, Pwm y
Timer Pwm. El primero se encarga de contar el minuto necesario en la etapa de
secado del proceso, el segundo y el tercero se encargan de generar la señal
PWM; Pwm genera la señal y Timer Pwm los tiempos necesarios para hacer que
la señal coincida con los 60 Hertz de la señal de potencia.
40
Figura 15. Diagrama de entradas-salidas del sistema que
describe el perfil de temperatura
El perfil de temperatura que describe el sistema es el que se ve en la Figura 16. El
precalentamiento es hasta 150 º C a 2º C por segundo, a continuación en la etapa
de secado se mantiene la temperatura constante en 150º; después se sube la
temperatura hasta 220º C para posteriormente terminar con el proceso de
enfriado.
Figura 16. Perfil que describe el sistema
2.1.1 Generación de la señal PWM
Este bloque se encarga de generar una señal PWM que debe controlar la lámpara
para describir el perfil de temperatura almacenado dentro de la FPGA. La idea es
prender o apagar la lámpara por medio de esta señal. Para poder controlar mejor
la temperatura se programaron 4 niveles de calentamiento. Usando el circuito
detector de cruce por cero junto con el Triac se deja pasar el voltaje que prende la
41
lámpara, la señal PWM tiene un periodo de, con el ciclo útil al 100%, 16 veces la
señal de potencia.
Para determinar si hay variaciones en la frecuencia de la señal AC se realiza una
sincronización para contar los ciclos de la señal de potencia.
Figura 17. Sincronización con la señal AC
Usando el circuito mostrado en la Figura 15 se genera una señal cuadrada a la
misma frecuencia de la señal de potencia, con esta señal se calcula la frecuencia
de la señal AC y se ajustan los timers del control de temperatura para hacer que
los tiempos de la señal PWM coincidan. Esta señal cuadrada entra a un bloque
implementado en la FPGA que cuenta los pulsos de reloj que hay entre la llegada
de cada flanco de la señal; sabiendo que la frecuencia del reloj es de 50M Hz se
puede calcular fácilmente la frecuencia de esta señal de sincronización. La señal
denominada Sqs entra al bloque Timer_Pwm donde se realiza este cálculo.
Cuando la señal PWM esta al cien por ciento se dejan pasar 16 ciclos de la señal
AC. En el nivel cero la señal está en cero todo el tiempo y conforme se aumenta el
nivel, se aumenta el ciclo útil de la señal para dejar pasar mas ciclos de la señal
AC, de esta forma se controla el consumo de potencia del sistema de
calentamiento y se tiene la posibilidad de controlar gradualmente el calentamiento.
En la Figura 18 se ejemplifica como funcionan los niveles, con la diferencia a la
realidad de que un ciclo de la señal de la Figura 18 equivale a 4 de la señal AC.
42
Figura 18. Ejemplificación del control de la lámpara con la señal PWM
2.1.2 Descripción de módulos
A continuación se explican los módulos que componen el sistema de control.
• Timer
Figura 19. Diagrama de entrada-salida del bloque Timer
43
Es un timer que se usa para contar el tiempo en la etapa de secado, cuenta un
minuto cuando recibe una señal de start y prende una salida denominada Fin
cuando el tiempo se termina, además posee una señal de Reset que reinicia el
timer. A continuación se presenta el algoritmo que controla este módulo.
Figura 20. Diagrama de flujo del timer
Es necesario contar 3.000.000.000 ticks de reloj que equivalen a 60 segundos,
debido a que el reloj tiene una frecuencia de 50 Mega Hertz. Esto se hace en una
máquina de estado que cuenta los ticks y oscila entre estados mientras no se
cumplan los 60 segundos.
• Pwm Full
Este bloque se encarga de generar la señal PWM con la mecánica explicada
anteriormente, está compuesto por dos bloques (Timer Pwm y Pwm): Timer Pwm
genera el conteo de tiempo para cumplir con las características que debe tener la
señal y el bloque Pwm es el encargado de recibir el nivel deseado de PWM y
coordinar los tiempos para que la señal sea la correcta.
44
Figura 21. Diagrama de entrada-salida del módulo Pwm Full
Este bloque es solo una unión de los dos módulos mencionados arriba y solo
cumple la función de integrarlos por medio de port map.
• Timer PWM
Figura 22. Bloque Timer_Pwm
Al igual que el timer que cuenta 1 minuto, este cuenta 0.04 segundos y el
algoritmo es el que se muestra en la Figura 23. Debe contar 2 Mega ticks de reloj
y al cumplirse, activa la señal fin. Posee una señal de start y una de reset para
comenzar y reiniciar el conteo. Otro proceso se encarga de contar el periodo de la
señal Sqs que trae la misma frecuencia de la señal AC; cuando se recibe un flanco
de subida se empiezan a contar pulsos de reloj hasta que llegue otro flanco y si es
necesario, se ajusta el tiempo de conteo del timer de este bloque. Solo se ajusta si
el valor obtenido del cálculo varía en 5 Hz sobre la frecuencia que se tenia
previamente, debido a que un cambio menor solo altera el periodo de la señal en
un orden de 10 -4 s, por lo cual no es necesario ajustarla.
45
Figura 23. Algoritmo de Timer Pwm
• PWM
Este bloque se encarga, en primer lugar, de seleccionar el modo en que debe
funcionar la señal PWM de acuerdo a la entrada Level. Recibe una señal de
enable que habilita el funcionamiento, la señal de reloj, una señal que indica el
cumplimiento del tiempo para bajar o subir la señal PWM. Además debe generar
una señal para coordinar el bloque que genera el conteo de tiempo.
Figura 24. Diagrama de entrada-salida del bloque Pwm
El algoritmo funciona de la siguiente forma: primero se espera por la señal de
enable y dependiendo del nivel que haya en la entrada se realiza un ciclo
46
diferente, pero para todos los ciclos se activa el timer 4 veces. Cada vez que se
cumpla tiempo del timer se cambia el valor de la señal pwm, dependiendo del nivel
que se quiera generar. Una vez cumplidos los 4 periodos de timer se regresa la
señal a cero, este cambio no se nota ya que dura solo un tick de reloj que va a 50
M Hz.
Figura 25. Diagrama de flujo del bloque Pwm
2.1.3 Sistema Completo El sistema completo reúne todos los módulos explicados anteriormente y se
encarga de la ejecución del perfil de temperatura. Se trata de una máquina de
estados, donde cada estado equivale a una etapa del perfil de temperatura, y la
47
condición para cambiar de estado, es la culminación de un tiempo o el haber
alcanzado cierta temperatura.
Figura 26. Diagrama de bloques completo del sistema que ejecuta el perfil
de temperatura
Para comenzar se espera que este activa la señal llamada Go para empezar el
proceso. A continuación se pone el nivel de PWM al máximo para obtener la
mayor pendiente de temperatura, (con la lámpara de 1.500 Watt se alcanzan 2.4º
C por segundo), una vez alcanzados los 150 º C se activa el timer para mantener
la temperatura constante durante 1 minuto. Con un control ON-OFF se mantiene la
temperatura aproximadamente constante, cuando la temperatura es mayor a 150º
C se apaga totalmente la lámpara. Una vez descienda la temperatura se mira que
tan menor es y se activa cierto nivel de PWM, por ejemplo cuando la temperatura
es 50º C inferior existe la necesidad de subirla rápidamente por lo que la señal
PWM se pone al máximo, es decir en nivel 4, pero si la temperatura es tan solo
48
inferior a 5 grados se activa el nivel 1 donde la temperatura se aumenta
lentamente. Cuando pase el tiempo requerido se activa de nuevo el nivel 4 de
señal PWM para subir la temperatura esta vez hasta los 220º C. Cuando se
alcance esta temperatura se apaga la señal PWM y se activa el ventilador para
enfriar la temperatura dentro del horno. Luego, se espera a que la temperatura sea
alrededor de 30º C para terminar el proceso y esperar, nuevamente, por una señal
de activación.
Figura 27. Diagrama de Flujo del sistema que describe el perfil de
temperatura
49
2.2 SISTEMA DE COORDINACIÓN CON eCos Para poder establecer una comunicación bidireccional con el sistema operativo es
necesario la implementación de todo un diseño que se encargue de activar todas
las señales de control y de controlar los buses de direcciones o de datos para que
pueda haber una comunicación entre la parte software y Hardware. La FPGA debe
controlar las salidas configurables por el usuario, pero también debe manejar la
memoria Flash que le permite al GBA leer el archivo ejecutable que se le ha
configurado previamente. Además de esto debe demultiplexar el bus de datos y
direcciones del cartucho, entregando los datos y direcciones independientemente
para poderlos usar en la aplicación.
Figura 28. Diagrama de bloques de la configuración dentro del la Xport
El módulo DecodeBus es un archivo provisto por el fabricante (de extensión .ngc)
y que se encarga de hacer la demultiplexión del bus de datos y direcciones del
50
cartucho, entregando los buses de direcciones y datos de tal forma que puedan
ser utilizados por el programador. Este bloque también genera las señales RD y
WR, lectura y escritura, que el GBA genera en el momento de lectura y escritura
respectivamente. La Figura 30 nos muestra las señales de entrada y salida del
bloque Decode bus.
Figura 29. Pines del cartucho del Gameboy
Figura 30. Módulo DecodeBus, provisto por el fabricante
El módulo Addres Decoder es un decodificador de direcciones que se usa para la
interfase con los periféricos que se quieran utilizar dentro o fuera de la FPGA. Por
medio de este bloque se generan las señales de selección para cada periférico
implementado, dependiendo de la dirección en la cual se esté escribiendo. En este
51
caso se asigna un intervalo de direcciones en vez de asignar solo una para cada
periférico de tal forma que la decodificación sea más sencilla. Este módulo recibe
las señales desde el cartucho y entrega la dirección y las señales de RD y WR.
Las señales de datos (CartData) son las únicas bidireccionales.
Pasando al decodificador de direcciones, este se utiliza para la interfase con los
periféricos que se quieran tener dentro de la arquitectura. Por medio de este, se
generan las señales de selección CS para cada periférico dependiendo de la
dirección en la cual se está escribiendo. Normalmente se establecen un conjunto
de direcciones para cada periférico para hacer que la decodificación sea más
sencilla.
Figura 31. Decodificador de direcciones
El bus de direcciones del cartucho es bidireccional por lo que se requiere un
módulo que controle cuando se está escribiendo y cuando leyendo. Para este
motivo se implementa un módulo de control de entrada y salida denominado
ENTRADA SALIDA.
Figura 32. Decodificador de entrada salida
Finalmente el bloque Driver Flash funciona como un bus para unir los datos y las
direcciones del Gameboy y la memoria Flash cuando se escribe en las posiciones
inferiores de memoria. Por lo tanto, también es necesario generar una señal de
52
selección cuando detecte que se escribe en la parte baja de las direcciones.
Normalmente, el GBA se encuentra leyendo datos de la memoria flash por lo cual
se debe dar un correcto paso a las señales de control de la memoria como Fce,
FOe y Fwe, además del bus de datos y direcciones. El Gameboy lee datos desde
la memoria en las posiciones inferiores, cuando el bit más significativo de las
direcciones es siempre cero, en otro caso podremos utilizar esta condición para
escribir en posiciones de memoria superior y hacer una buena interfaz hacia el
exterior.
Figura 33. Diagrama de bloques más detallado del sistema de coordinación
con eCos.
Para mandar datos desde el hardware al sistema operativo se usan interrupciones.
Cada vez que se quiera enviar un dato al sistema operativo se debe generar una
interrupción por cartucho, usando el pin CartIReq, y en este momento se envian
53
los datos al programa en C utilizando una misma posición de memoria. Una vez se
genere, el programa entra a una rutina distinta a la normal y ejecuta el código
especificado. En este caso el programa actualiza una variable donde se guarda el
valor recibido para luego dibujarla en la pantalla.
Para el desarrollo del control se han escogido posiciones de memoria superiores a
0FFEC00Hex, para hacer la interfase con el periférico que es el ADC. Se debe
generar una señal de selección dependiendo si se esta escribiendo o no en esta
parte de la memoria. Como las direcciones vienen demultiplexadas desde el GBA,
la dirección que se usa en los programas implementados en C no es la misma que
se debe decodificar en la FPGA, para convertir las direcciones se usa la siguiente
fórmula:
2.3 APLICACIÓN SOFTWARE El programa en C se encarga de la visualización de la temperatura en tiempo real,
usando las librerías gráficas se dibuja una línea entre el valor actual y el anterior,
el eje X se aumenta en 1 cada vez que llega una interrupción y sobre el eje Y se
dibuja el valor de temperatura. Es necesario ajustar la escala de ese valor que
llega de 0 hasta 255 a un valor entre cero y 240. La pantalla se actualiza cada
0,08 segundos, es decir que la FPGA le genera interrupciones al programa cada
vez que transcurre ese tiempo y se actualiza una variable donde se guarda el dato
de temperatura.
54
Figura 34. Diagrama de flujo del programa en C
Figura 35. Aspecto de la pantalla del Gameboy
55
2.4 SECCIÓN DE POTENCIA
Las lámpara se controla con un Triac que maneja el paso del voltaje por la misma
mediante un control PWM que se ajusta con un detector de cruce por cero para
evitar saltos de voltaje que puedan dañar la lámpara. Para este sistema se utilizó
un MOC3031 [9], este es un Opto acoplado, separa la parte de potencia de la
parte digital, el cual fue el principal criterio de selección, ya que si no se
desacoplan esas dos etapas, se pueden inducir ruidos a la parte digital que
terminan dañando la los circuitos digitales que son la parte más costosa de todo el
diseño. Este integrado se conseguía fácilmente y a bajo costo en el comercio,
además el fabricante facilita la configuración implementada viene en un
encapsulado DIL de 6 pines y se puede apreciar en la figura 35 [27]. Es ideal para
el manejo de la lámpara ya que evita los saltos de voltajes que se presentarían si
no se usara un detector de cruce por cero y que podrían quemarla.
Figura 36. Sección de potencia
El Triac seleccionado es uno que puede manejar hasta 26 Amperios y 800 voltios
[28]; se seleccionó porque fue el de manejo de corriente más cercano al consumo
de la lámpara cuando se enciende al 100% (13 Amperios).
56
Figura 37. MOC 3031.
2.4.1 Lámparas Se trata de lámparas Halogenas que se caracterizan por tener una pendiente de
calentamiento muy rápida, la de 1500 Watt alcanza los 2.4° C/s, y las de 500 watt
sobrepasan 1° C/s.
Figura 38. Lámpara Halógena de 500W
Poseen una impedancia caracteristica, aproximadamente de 3 entre 9 Ohmios; en
cuanto al consumo de potencia, la de 1500 Watt consume, cuando se polariza
directamente, alrededor de 13 A y la otra consume alrededor de 4 A.
57
2.5 ADQUISICIÓN DE TEMPERATURA Está conformado por una Termocupla tipo K, un amplificador para controlarla y un
conversor análogo-digital de 8 bits. Además, existe un módulo en vhdl que
controla la conversión de datos y la generación de interrupciones al sistema
operativo.
El tipo de sensor de temperatura se seleccionó debido a su disponibilidad, a su
rango de operación, ya que otros dispositivos no alcanzan las temperaturas
máximas del horno, (220 ºC) y por último a su bajo costo. Son ampliamente
usadas sobre todo para aplicaciones que requieran situaciones de alta
temperatura [8].
Figura 39. Diagrama de conexiones del módulo de adquisición de
temperatura.
Para adaptar la Termocupla es necesario un circuito que caracterice la impedancia
de la misma y provea una salida de voltaje proporcional a la temperatura. La
solución más simple fue usar el AD595. Este es un amplificador de
instrumentación y un compensador de juntura necesario para la operación de las
Termocuplas tipo K [11]. Fue obtenido como muestra gratis, es fácil de usar,
funciona a 5 voltios y provee 10 m Voltios por grado Centígrado. Para adaptar el
58
rango de salida de voltaje al de entrada del ADC se amplificó la señal 2 veces con
un amplificador operacional. De esta forma, la señal tiene un rango de 0 a 5
voltios, debido a que la temperatura máxima de operación establecida para el
horno son 250º C.
Para digitalizar los datos de temperatura se usa el ADC0804 [28], en un principio
se pensó usar uno de más resolución, pero para simplificar el diseño se usó este
de 8 bits. Fue seleccionado por la disponibilidad, y debido al conocimiento previo
que sobre este se tenía. Es controlado por la FPGA para visualizar la temperatura
en el Gameboy Advance (GBA).
2.5.1 Generación de las señales de conversión Este bloque programado dentro de la FPGA se encarga de generar la señal de
inicio de conversión (WR), recibe la señal que indica que terminó la conversión
(INTR) y los datos del ADC para entregar los datos validados tanto al módulo de
control de temperatura como al programa en C. Para que el procesador reciba los
datos se le debe generar una señal de interrupción llamada Ready_int, cada vez
que esta señal pase a 1, el programa en C actualizará la variable de temperatura
para graficarla en pantalla.
Figura 40. Diagrama de bloque del módulo que controla la conversión de
datos
59
Internamente está compuesto por dos procesos que corren en paralelo, el primero
genera la señal de interrupcion al procesador y el segundo controla el proceso de
conversión. En la Figura 41 podemos observar la forma de funcionamiento de este
módulo.
Figura 41. Diagrama de flujo del módulo que controla la conversión
2.5.2 ADC 0804
Este conversor recibe una entrada análoga de 0 a 5 V y la convierte en un valor
digital entre cero y 255. Posee tres señales de entrada para control: CS, RD y WR;
la primera es un chip select que habilita el funcionamiento del dispositivo, la
segunda es un habilitador de salida de datos y, por ultimo, WR controla el inicio de
conversión de datos. Para la aplicación desarrollada CS y RD están siempre
habilitados para habilitar el chip y para que siempre haya una salida presente en el
bus de datos. Entonces, la conversión se controla con la señal WR que inicia la
conversión y con la señal de salida INTR que avisa cuando hay datos válidos a la
salida. Este control se realiza desde la FPGA quien genera la señal WR y espera a
que se active INTR para empezar un nuevo ciclo de conversión.
60
Figura 42. Diagrama de pines del ADC0804
En la Figura 43 vemos la forma de operación del ADC con la señal RD en cero
todo el tiempo para habilitar la salida, una vez la señal CS se habilite, -es la más
importante porque activa el dispositivo- y la señal WR baje a cero, el ADC empieza
a leer datos de entrada y transcurrido el tiempo de conversión, los datos en la
salida serán válidos y se genera la señal INTR.
Figura 43. Diagrama de tiempos del ADC
Fuente: AD 0804 datasheet, National
Fuente: AD 0804 datasheet, National
61
2.5.3 AD595 Es un amplificador de instrumentación y un compensador de juntura necesario
para la operación de las Termocuplas tipo K. Combina el punto de referencia frío
con un amplificador precalibrado para producir un nivel alto (10mv / °C) de salida
directamente de la señal de salida de la Termocupla.
Diagrama de conexión
Figura 44. Diagrama de conexión del AD595 Se elige debido a su bajo costo ya que evita el tener que caracterizar la
impedancia de la Termocupla y hacer un circuito de adaptación adicional
2.5.4 TERMOCUPLAS Son ampliamente usadas sobre todo para aplicaciones que requieran situaciones
de alta temperatura. Se basan en el efecto Seebeck, un fenómeno donde un
voltaje proporcional a la temperatura se produce con un circuito consistente en dos
cables de distinto metal.
Fuente: AD 595 datasheet, Analog Devices
62
Figura 45. Esquema de la Termocupla
Por ejemplo, una Termocupla hecha de hierro y otro metal de aleación genera un
voltaje de aproximadamente 35 µV/°F. Podemos pensar que en los extremos de
las junturas de cada metal se produce un metal, de tal forma que el voltaje neto es
la diferencia entre los voltajes de las junturas. Una juntura está en el probador y
se le llama la juntura caliente la otra juntura se mantiene a cierta temperatura de
referencia y se le llama la juntura fría o de referencia.
En la práctica los cables de la Termocupla deben ser conectados en algún punto a
cables de cobre, de tal forma que existen realmente tres junturas. Sin embargo el
voltaje en las dos uniones de cobre es el mismo que en la unión sin cobre de la
figura anterior, de tal forma que el análisis es el mismo.
Figura 46. Junturas de cobre de la Termocupla
Tradicionalmente la juntura fría se mantenía en un baño de agua con hielo a 32° F,
se hacia así porque era la única forma de producir una temperatura conocida para
que la relación quedara como:
Fuente: Modern control Technology, Killian
Fuente: Modern control Technology, Killian
63
Vhot = Vnet + constant
Los sistemas modernos eliminan la necesidad del agua fría. Un método es
mantener la juntura fría a temperatura constante con un sistema de control, otro
método es simplemente buscar en una tabla (look up table) el valor de Vcold para
la temperatura ambiente y añadir este valor a Vnet para hallar Vhot. De la misma
forma, se puede usar un diodo sensible a temperatura al cual se le añade un
pequeño circuito y se mantiene aislado para mantener su temperatura constante.
Figura 47. Respuesta en temperatura de los tipos de Termocuplas.
Las Termocuplas se encuentran disponibles con distintos grados de sensibilidad
(medida en voltios/grados). Como vemos en las gráficas características, las tipo J
tienen la más alta sensibilidad pero el rango de temperaturas más bajo. Las tipo k
tienen más baja sensibilidad pero un mayor rango y, finalmente, las tipo R tienen
la más baja sensibilidad pero el rango es mucho mas amplio.
Además son bastante simples y requieren de electrónica extra para lidiar con la
baja sensitividad y los problemas con la juntura fría. Como son lineares (sobre un
rango limitado), fiables y estables gozan de una amplia aceptación midiendo altas
temperaturas en hornos y calderas.
Fuente: Modern control Technology, Killian
64
Para la implementación del módulo de adquisición de temperatura se decidió usar
la Termocupla tipo K debido a que cumple con los requisitos de respuesta en
voltaje para el rango de temperaturas en las cuales se desempeña el horno
(temperatura ambiente hasta 250° C), pero además, es la más popular en el
comercio y la de más bajo costo.
3. RESUMEN DE COSTOS A continuación se presenta una lista de los costos en materiales que tuvo el proyecto. Lámpara halógena de 500 watt $ 4.000 Triac BTA 26 800 $ 9.000 Moc 3031 $ 2.400 Resistencias y condensadores $ 3.500 Cable para alta temperatura $ 3.000 Horno tostador usado $ 50.000 Gameboy Advance usado $100.000 Tarjeta xport 2.0 $333.000 ADC0804 $ 8.000 Ventilador metálico $ 15.000 Termocupla $ 7.000 Materiales varios $ 20.000 Amplificador operacional $ 800 TOTAL ……………………. $555.700
65
4. METODOLOGÍA PARA SOLDAR DISPOSITIVOS BGA En primer lugar el perfil de temperatura usado para este tipo de dispositivos no es
el mismo que el de los SMD convencionales. A diferencia de este, el perfil para
soldar dispositivos BGA tiene distintos parámetros. En la figura 6 se muestran las
etapas por las que pasa en el proceso de reflujo. A medida que el componente
pasa por las 4 fases en el horno, toman lugar varias acciones para preparar una
superficie limpia de metal para que la pasta de soldar se humedezca y se derrita
reaccionando con el entorno y solidificándose a la tarjeta. Los valores de un perfil
típico se presentan en la tabla 1.
Figura 48. Perfil típico para BGA
Tabla 1. Valores típicos del Perfil para BGA
Fase Descripción Valor
Precalent. Calentamiento rampa Temperatura pico
1 – 3º C/s 100 - 150º C
Preflujo Activación de la pasta Duración
120–170 º C 60-120 seg
Reflujo
Tiempo encima de 183º C Temp. Pico de refujo
60-120º C 200-210º C
Enfriam. Tasa enfriamiento 1 – 3º C
66
Antes de someter los dispositivos al calentamiento, hay que colocarlos sobre la
tarjeta y alinearlos con los pads. Si la precisión en el alineamiento entre la tarjeta y
las bolas es pobre, y el desalineamiento ocurre, pero la posición normal se
recupera automáticamente durante el reflujo, este fenómeno se conoce como auto
alineamiento. Como regla, el máximo desplazamiento tolerable del componente
debe ser menor o igual al diámetro del pad [18].
5. CONCLUSIONES Y TRABAJO A CONTINUAR El diseño implementado bajo esta arquitectura de sistemas embebidos posee una
gran flexibilidad gracias a que reúne las fortalezas del diseño compartido software-
Hardware. Se aprovecha la capacidad de procesamiento en paralelo de las
FPGAs y CPLDs cuando se tienen restricciones de tiempo y la gran facilidad de
implementación con el uso del procesador del GBA.
Se logró implementar el sistema a bajo costo tal como era el objetivo y usando una
plataforma de sistemas embebidos. El uso del GBA y la tarjeta Xport brindan
amplias posibilidades de configuración y de interfaz las cuales pueden ser
explotadas aun más en futuros trabajos sobre el tema.
En posteriores trabajos se puede profundizar sobre el desarrollo de la interfaz con
el usuario y tener más opciones de configuración del proceso de reflujo, así como
tener la posibilidad de describir un perfil ingresado por el usuario.
El uso de sistemas operativos en tiempo real, nos entrega una metodología de
diseño mucho más moderna para cuando se tiene que trabajar con información
que requiere un procesamiento en un margen limitado de tiempo.
67
Se logró usar un sistema de calentamiento más económico al propuesto
inicialmente, que tiene características similares pero un costo muy inferior. Por lo
cual se redujeron bastante los costos previstos inicialmente
Para futuras aplicaciones se puede pensar en diseñar un módulo adicional para
tener comunicación con un computador y poder acceder a más recursos, por
ejemplo el hecho de poder acceder por Internet al sistema bajo alguna aplicación
web, para ya sea configurar o poner en funcionamiento el sistema.
Se diseñó un control PWM que facilitó la implementación del sistema de
calentamiento, otros controles por frecuencia o amplitud resultan complicados y
costosos, por lo tanto se obtuvo una solución ingeniosa que simplificó en gran
medida el diseño.
El uso de eCos como sistema operativo hace más sencilla la implementación de
cualquier diseño ya que permite añadir más Hardware sin necesidad de hace
grandes modificaciones al programa en C. Lo que abre la puerta a añadir más
periféricos o mejoras en cuanto a Hardware para futuras actualizaciones.
Debido a que el sistema de control es básico es posible hacer un desarrollo futuro
usando alguna metodología más sofisticada para controlar el proceso o para
mantener la temperatura constante cuando se requiera.
El consumo de potencia de las lámparas de calentamiento es muy elevado, se
podría pensar en implementar un sistema mas eficiente, es decir, el mismo
desempeño pero con menos consumo de corriente.
68
BIBLIOGRAFÍA [1] Sourface Mount Devices. [Online]. Disponible en: http://www.carrera-design.co.uk/smt.htm [2] Tecnologías de montaje de componentes electronicos. [Online]. Disponible en: http://www.smtsolutions.com.ar/Introduccion.htm [3] Sourface Mount Tecnologies. [Online]. Disponible en: http://www.answers.com/topic/surface-mount-technology [4] Circuitos integrados. [Online]. Disponible en: http://electronred.iespana.es/electronred/circuitosintegra.htm [5] Easy reflow, build an SMT Reflow oven controller. Robert Lacoste, Circuit Cellar, no 168. [6] Reflow soldering guidelines for surface mount devices, Altera Corporation, application note 81. [7] How to profile a PCB, Automated Production Systems, Inc, 2004 [8] Modern Control Technology, Components and Systems, Christopher T. Kilian, versión electrónica. [9] Reflow handbook. [Online]. Disponible: http://www.research-intl.com/reflowtechbook.htm [10] The codesign of embedded systems, Kumar, Aylor, Jonson y Wolf, Kluwer academic publishers, 1996. [11] Diseño e implementación de equipo básico de laboratorio utilizando sistemas embebidos y FPAAs, Ovalle, Méndez, Tesis de pregrado Universidad Nacional, 2005. [12] Optimizing Solder Reflow Process for Xilinx BGA Packages, Xilinx aplication note xapp425, 2002. [13] Lo-cost Reflow Soldering Oven, Atmel AVR 2004 Design Contest, 2004. [14] Package Information Including Surface Mount, Fast and Ls TTL, 2005. [15] Analog Devices home page: www.analog.com [16] Xport user guide, Charmed Lasbs, 2003. [17] Xport 2.0 custom configuration tutorial, Charmed Labs, 2004. [18] eCos reference manual, Red Hat Inc, 2000. [19] eCos user’s guide, Red Hat Inc, 2000 [20] Xport eCos user guide, charmed labs 2004. [21] Surface Mount Soldering Recommendations, Teccor Electronics, 2002 [22] Guidelines for Soldering Surface Mount Components to PC Boards, Fairchild Electronics, 2002 [23] Guidelines for Handling and Processing Moisture
69
[24] Sensitive Surface Mount Devices (SMDs), Intersil, 2000 [25] Solder Reflow Guide for Surface Mount Devices, Lattice Semiconductor Corporation, 2004 [26] Answers Home page: www.answers.com [27] Renesas surface mount package, Renesas Technology, 2003 [28] Encapsulados. [Online]. Disponible: http://electronred.iespana.es/electronred/circuitosintegra.htm [29] Tecnologías de montaje de componentes electrónicos. [Online]. Disponible: http://www.smtsolutions.com.ar/introduccion.htm [30] Charmed Labs Home page: www.charmedlabs.com [31] Optimizing Solder Reflow Process for Xilinx BGA Packages, Xilinx , 2004 [27] 6-pin DIP zero cross optoisolator triac driver output, Fairchild, 2004 [28] BTA/ BTB24, BTA25, BTA26 and T25 series, Snubberless & Stardar [29] ADC 0804 8 Bit uP compatible A/D converter, National Semiconductors, 1999 [30] Sistema operativo en tiempo real para MicroPP-ARM, Rodríguez Rafael.
70
ANEXO 1
Figura 49. Aspecto del Horno
Figura 50. Aspecto de la visualización y vista frontal
Figura 51. Horno en funcionamiento, distintos grados de calentamiento