elektor 301 (junio)

76
Sistema de desarrollo ARM Sistema de desarrollo ARM Hacia los 32 bits Hacia los 32 bits Sistemas de peaje en carretera Sistemas de peaje en carretera Pagar sin parar Pagar sin parar Curso de Delphi Curso de Delphi Generación de ondas Generación de ondas Baterías de Super Litio Baterías de Super Litio Llegan los “pesos ligeros” Llegan los “pesos ligeros” Analizador SC 2005 Analizador SC 2005 comprobador de transistores comprobador de transistores Todas las revistas del año 1992 en CD Todas las revistas del año 1992 en CD ibida la reproducción, duplicación, o alquiler de sin la expresa autorización de los propietarios del copyright. D.L.: G U .3 - 1 9 8 0 1992 1992 Enero Febrero Marzo Abril Mayo Junio Julio Agosto Septiembre Octubre Noviembre Diciembre ¿QUÉ MICRO ELEGIR? ¿QUÉ MICRO ELEGIR?

Upload: cesar-segundo

Post on 08-Aug-2015

796 views

Category:

Documents


97 download

TRANSCRIPT

Page 1: Elektor 301 (Junio)

LA REVISTA INTERNACIONAL DE ELECTRONICA Y ORDENADORES Nº 301 4 €

Sistema de desarrollo ARMSistema de desarrollo ARMHacia los 32 bitsHacia los 32 bits

Sistemas de peaje en carreteraSistemas de peaje en carreteraPagar sin pararPagar sin parar

Curso de Delphi Curso de Delphi Generación de ondasGeneración de ondas

Baterías de Super LitioBaterías de Super LitioLlegan los “pesos ligeros”Llegan los “pesos ligeros”

Analizador SC 2005Analizador SC 2005comprobador de transistorescomprobador de transistores

Todas las revistas del

año 1992 en CD

Todas las revistas del

año 1992 en CD

ibida la reproducción, duplicación, o alquiler de p,sin la expresa autoriza

ción de l

os pr

opiet

arios

del

cop

yrig

ht.

D.L.

: GU.

3-19

80

19921992EneroFebrero

MarzoAbrilMayoJunioJulioAgostoSeptiembreOctubreNoviembre

Diciembre

¿QUÉ MICRO ELEGIR?¿QUÉ MICRO ELEGIR?

Page 2: Elektor 301 (Junio)
Page 3: Elektor 301 (Junio)

Montajes de Proyectos34 Sistema de Desarrollo LPC210x

“ARMee” (II)

46 Analizador SC 2005

Articulos Informativos6 Hechos para Medir la Potencia de

Procesamiento

58 Baterías de Súper Litio

70 Delphi para Ingenieros Electrónicos (IV)

66 Nuevo Sistema de Peaje en Carretera

Regulares20 Noticias

31 Ojeada al próximo número

32 PCB

33 Nuevos Libros

54 Libros

55 EPS

Contenido

Nº 301JUNIO 2005

RedacciónVIDELEC, S.L.

DirecciónEduardo CorralColaboradoresJose Mª Villoch, Pablo de la Muñoza, Andrés Ferrer,José Muñoz Carmona.

PublicidadDirección: Julio [email protected]: Gema Sustaeta [email protected]

Delegación CataluñaAD PRESS, S.L. Director:Isidro Á. IglesiasPublicidad:Laura MuñozComte d’Urgell, 165-167, B-1º-3ª 08036 BarcelonaTel.: +34 93 451 89 07 - Fax: +34 93 451 83 23email: [email protected]

EDITORMartín Gabilondo ViqueiraSUBDIRECTOR GENERAL José Manuel Alonso VigueraDIRECTOR COMERCIALAmador MorenoDIRECTOR DE EXPANSIÓNRafael MorilloDIRECTOR DE PRODUCCIÓNAndrés ValladolidDIRECTOR DE PUBLICACIONESJuan Francisco CalleDIRECTORA DE ADMINISTRACIÓNMar MolpeceresREDACCIÓN, PUBLICIDAD Y SUSCRIPCIONESC/Valportillo Primera, 11, 28108 Alcobendas, MadridTeléfono: 91 662 21 37 Fax: 91 662 26 54www.grupov.es

ServiciosRedacción, traducciones y maquetaciónVIDELEC, S.L.

ImprimeIBERGRAPHI 2000 S.L.L.

Distribución en España:S.G.E.L. Avda. Valdelaparra, 29Tel.: 91 657 69 00

Distribución en el ExteriorArgentinaImportadorEdilogo S.A. Av. Belgrano 225, 1º, B C1276ADB Buenos AiresDistribución CapitalDISTRIREDDistribución InteriorD.G.P.ChileImportadorIberoamericana de Ediciones, S.A.C/ Leonor de la Corte, 6035. Quinta Normal. Santiago de ChileMéxicoImportador exclusivoCompañía Importadora de Revistas S.A. de C.V. (“CIRSA”)Negra modelo Nº 6. Col. Alce Blanco Municipio de Naucalpan de Juárez. (53330) Estado de México Tel.: (52-55) 5360-4167 - Fax: (52-55) 5560-7774Distribución Estados: CitemDistribución D.F.: Unión de VoceadoresPortugalImportadorEdiber-Edicao e distrib. de Public. L.D.A.Rua D. Carlos Mascarenhas, 15 - 1000, Lisboa

VenezuelaDistribuidora Continental

ColombiaDisunidas, S.A.

Depósito legal: GU.3-1980ISSN 0211-397X30/Junio/2.005

Reservados todos los derechos de edición.Se prohíbe la reproducción total o parcial del contenido de este número,ya sea por medio electrónico o mecánico de fotocopia, grabación u otrosistema de reproducción, sin la autorización expresa del editor.Las opiniones expresadas a lo largo de los distintos artículos, así como elcontenido de los mismos, son responsabilidad exclusiva de los autores.Así mismo, del contenido de los mensajes publicitarios son responsablesúnicamente los anunciantes.Copyright=1996 Segment BV

PVP en Canarias: 7,65 € (sobretasa aérea)

Page 4: Elektor 301 (Junio)

6 34

En la etapa de diseño para circuitos conmicrocontrolador, los diseñadores profesionales yaficionados a menudo se debaten sobre quémicrocontrolador usar, ya que en el mercado haymiles de diferentes tipos disponibles. Este artículopretende ser una guía de ayuda para la selección.

La mayoría ya conoce los PICs, AVRs y 8051. Elpasado mes intentamos descubrir losmicrocontroladores ARM de 32 bits y elinnegable comienzo para todos los dispositivosdiscutidos en ese artículo era el Philips LPC210x.Este mes nos introduciremos de forma real:entraremos en ARMee, una placa de desarrolloARM increíblemente potente que podemosconstruir y programar nosotros mismos.

Hecho a medida Procesando energía

LPC210x ‘ARMee’ Sistema de desarrollo (II)

Page 5: Elektor 301 (Junio)

Las nuevas y sofisticadas redes alemanasusan GPS, GSM y tecnología infrarrojos.Desde principios de año, elDepartamento de Transporte del ReinoUnido ha anunciado su intención deintroducir un sistema similar.

58 6646

Los modernos equipos electrónicosportátiles demandan dispositivos dealmacenamiento cada vez más potentes.Los fabricantes de baterías de todo elmundo se mueven muy rápido y los nuevosdesarrollos, que sustituyen a viejastecnologías, son rápidamente seguidos portecnologías más nuevas todavía. En esteestado, hay un flujo constante con nuevassorpresas cada día.

Casi todos los circuitos electrónicoscontienen transistores bipolares, FETso diodos. La mayoría de losaficionados electrónicos disponen decomponentes de este tipo que hanretirado de viejas placas de circuito.Un comprobador para hacer contactoen las patillas y medir lascaracterísticas es una herramientamuy útil.

Baterías de Súper Litio Nuevos sistemas depeaje en carretera

Analizador SC 2005

Page 6: Elektor 301 (Junio)

HECHOS PARA MEDIR LA POTENCIA D

La mayoría de la circuitería electrónica moderna utiliza unmicrocontrolador como elemento central. En la etapa dediseño de este tipo de circuitos, tanto los diseñadores profe-sionales como aficionados, se enfrentan a menudo con lacuestión de tener que decidir cuál es el mejor microcontrola-dor a utilizar, ya que en el mercado hay más de mil modelosdiferentes. Este artículo está pensado como guía y ayuda anuestros lectores frente a esta basta oferta.

elektor 6

Christian Tavernier

Page 7: Elektor 301 (Junio)

Cuando el autor de este artículo comenzó a estudiar losmicrocontroladores, hace ya 25 años, la respuesta aesta cuestión era bastante sencilla. Sólo había dos o tresfabricantes activos en este campo y ninguno de ellosofrecía más de dos o tres modelos diferentes. Compa-rando los distintos modelos podía determinarse fácil-mente cuál de ellos era el que mejor se adaptaba a nues-tras necesidades. Todo era pues bastante sencillo (y con-siderando el estado de los negocios en aquel momento,lo más importante era saber cuál de ellos tenía el menornúmero de inconvenientes).Sin embargo, hoy día hay multitud de diferentes mode-los provenientes de docenas de fabricantes, todos ellosdescendientes de distintas familias que, en ocasiones,compiten con sus propios orígenes. Por otra parte, lacomparación laboriosa de las características de los dis-tintos tipos de microcontroladores supondría perdernosentre cientos de hojas de características de dispositi-vos. Por lo tanto, debemos tomar un camino diferente yel propósito de este artículo es ayudar a nuestros lecto-res en esta función, sugiriéndoles unas pocas cuestio-nes que deberían preguntarse ellos mismos. Tambiéntendremos en cuenta las distintas respuestas que nues-tros lectores pueden espera recibir sobre estas cuestio-nes y, a continuación, decidir qué familia de microcon-trolador presenta las mejores prestaciones para nuestraaplicación específica. Sin embargo, tampoco queremosengañarles: no vamos a darles ninguna fórmula mágicaque les permitan seleccionar el microcontrolador másadecuado, por la sencilla razón de que esto no es posi-ble. De hecho, todos los modelos de microcontrolado-res pueden trabajar prácticamente con casi cualquiertipo de tarea, lo cual les hace tan potentes. Esto tam-bién significa que lo que hace potente y permite traba-jar a una aplicación no son las prestaciones puras quepresenta el microcontrolador, sino más bien el modo enque vayamos a usarlo.

EncuestaDe acuerdo con una reciente encuesta de usuarios ameri-canos, llevada a cabo por la mayoría de los desarrolla-dores de aplicaciones basadas en microcontroladores, laimportancia relativa de los criterios de selección podríaresumirse en los siguientes puntos:– Disponibilidad de los programas de desarrollo: 67 %.– Precio: 51 %.– Número de terminales de E/S y periféricos internos dis-

ponibles: 40 %.– Disponibilidad de kits para los desarrolladores: 35 %.– Compatibilidad del código generado: 27 %.

Probablemente nuestros lectores habrán notado que sisumamos todos estos valores obtenemos una cifra bas-tante mayor del 100 %, lo cual se debe a que laencuesta permitía múltiples respuestas. Las respuestas

también nos dan una buena imagen de los problemaspropuestos por las distintas cuestiones y lo difícil que esidentificar un criterio predominante.

¿Tiene experiencia?La primera pregunta que nos debemos hacer es si tene-mos experiencia con alguna familia de microcontrolado-res en particular. Si es así, deberíamos concentrar nues-tro mayor interés en los microcontroladores de dichafamilia, a menos que no estemos totalmente satisfechoscon los mismos. La ventaja de tomar este camino es queya estamos más preparados y conocemos las "peculiari-dades" del fabricante, de manera que no tendremos queaprender de nuevo todos los detalles de un conjunto deinstrucciones, modos de direccionamiento, nombres deregistros, cómo trabajar con las entradas y las salidas, ymuchos más detalles.Si además hemos invertido dinero y esfuerzo en distintasherramientas de desarrollo, tales como un entorno dedesarrollo, un programador y quizás, incluso, un emula-dor, probablemente seremos capaces de continuar utili-zando dichas herramientas (aunque puede que sea nece-sario actualizarlas).Por otro lado, si no tenemos ninguna experiencia conningún tipo de microcontrolador, nuestra opción estátotalmente abierta y podemos utilizar los criterios deselección que se describen a continuación.

¿Lenguaje ensamblado o de alto nivel?Aunque esta cuestión solamente afecta al programa, larespuesta está muy estrechamente relacionada con loscomponentes electrónicos seleccionados. Desde otropunto de vista, la elección de un tipo de programa enparticular puede llevarnos, como resultado, a la selec-ción de determinados componentes electrónicos que pue-den trabajar más fácilmente con dichos programas.Esta cuestión apenas si tenía importancia hace algu-nos años, ya que en esos momentos la cantidad dememoria de programa que tenían los microcontrola-dores era tan pequeña que la opción de realizar laprogramación en lenguaje ensamblado (más cono-cido, aunque erróneamente, como "ensamblador")era la más idónea. Si programamos en un lenguajede alto nivel tenemos que permitir y aceptar que uncompilador convierta nuestro código a un lenguajeensamblado, lo cual implica que cada línea decódigo en un lenguaje de alto nivel genera, normal-mente, bastantes más líneas de código en lenguajeensamblado. Esto significa que si hacemos nuestroprograma en un lenguaje de alto nivel, necesitaremosun microcontrolador con una capacidad de memoriarelativamente grande.

elektor 7

DE PROCESAMIENTOselección delmicrocontroladorcorrecto

Page 8: Elektor 301 (Junio)

Aunque los compiladores más modernos han progresadoenormemente en la optimización del código generado,aún no han sido capaces de alcanzar los tamaños deprogramas de lenguaje ensamblado, al menos cuando laprincipal actividad del código es la manipulación de bitsen registros, como suele ser el caso típico de aplicacio-nes que utilizan microcontroladores. Los compiladorespara lenguajes de alto nivel suelen tener problemas rela-cionados con este tipo de operaciones. Por ejemplo, con-sideremos la instrucción:

output_D(i);

El propósito de esta instrucción es colocar el valorentero de 8 bits “i” en el puerto de salida D de unmicrocontrolador. La mayoría de los mejores compilado-res C para los PICs actuales convierten esta instrucciónen lo siguiente:

MOVLW 00BSF 03.5MOVWF 08BCF 03.5MOVF 20,WMOVWF 08

Un programador de código en lenguaje ensambladopuede hacer la misma operación utilizando tan sólo dosinstrucciones. En este ejemplo particular (pero realista),el uso de un compilador incrementa las necesidades dememoria en un factor de 3 si lo comparamos cuando uti-lizamos lenguaje ensamblado.Si nuestra aplicación requiere realizar operaciones queutilizan dígitos después del punto decimal u operacionescon números científicos, o si estamos utilizando funcionesmatemáticas complejas, tales como fórmulas trigonomé-tricas, el uso de un lenguaje de alto nivel es práctica-mente inevitable. ¡Cualquiera que haya calculado uncoseno en lenguaje ensamblado estará de acuerdo connosotros!Por lo tanto, la elección del lenguaje de programacióndepende en una gran medida del tipo de cálculos quevayamos a realizar en nuestra aplicación. Si todo loque nuestro programa tiene que hacer es manipularentradas y salidas y realizar cálculos sencillos, el len-guaje ensamblado será la mejor elección. En el ladocontrario, si el programa tiene que realizar numerososcálculos o utilizar funciones matemáticas complejas,entonces tendremos que elegir un lenguaje de altonivel.Existe una excepción a esta regla: si estamos muy experi-mentados en el uso de un lenguaje de alto nivel, aunqueno sea el lenguaje más adecuado para aplicaciones conmicrocontroladores, es muy probable que queramos utili-zarlo para evitar tener que aprender cómo programar enlenguaje ensamblado. Sin embargo, siempre deberemostener en mente que esta opción nos dará unos resultadosinevitables en la reducción de potencia de proceso paranuestra aplicación.Antes de dejar el tema de la elección del programa,debemos señalar que, salvo muy pocas excepciones, losúnicos lenguajes de alto nivel disponibles para microcon-troladores son Basic y C.Incluso después de que hayamos elegido un lenguaje deprogramación, lo más seguro es que aún no seamoscapaces de saber qué familia de microcontroladoresdeberíamos seleccionar. Sin embargo, una cosa sí quees cierta: si queremos utilizar un lenguaje de alto nivelnecesitaremos una cantidad de memoria de programarelativamente grande.

elektor 8

Figura 1. Aunque elprograma MPLAB

es gratuito, se tratade un completo

entorno de desarro-llo con un editor y

un ensambladorque incluso incluyeun simulador. Todoello junto funciona

perfectamente.

Figura 2. El entorno de des-arrollo PCWH del

compilador C “CCS”para los microcon-

troladores PIC estambién un buen

ejemplo de una inte-gración con muy

buenos resultados.

Figura 3.El popular programa

gratuito IcProg(www.icprog.com)puede usarse paraprogramar varios

tipos de microcontro-ladores que utilizan

programadores muysencillos.

Page 9: Elektor 301 (Junio)
Page 10: Elektor 301 (Junio)

Entorno de desarrolloEl entorno de desarrollo incluye normalmente distintosprogramas e interfaces, entre los que se encuentran:–Un editor de texto para escribir los programas.–Un programa ensamblador si estamos utilizando len-

guaje ensamblado, o un compilador si estamos utili-zando un lenguaje de alto nivel, aunque un compiladorsiempre está acompañado por un ensamblador aso-ciado.

–Un simulador, que no es más que un programa quepuede usarse para simular el programa que hemos cre-ado para su verificación.

–Un simulador, que es una mezcla de circuito y de pro-grama que emplearemos para verificar el programaantes de que sea programado sobre el correspondienteentorno de la aplicación.

–Un programador, para programar el microcontroladorcon el programa que hemos desarrollado.

Aparte del simulador y del emulador, que son módulosopcionales, todos estos elementos son indispensables.Hoy día, nos podemos encontrar a menudo con paque-tes en los que tenemos el denominado "Entorno de Des-arrollo Integrado" (IDE). Estos programas, la mayoría delos cuales corren bajo Windows, producen una granimpresión cuando nos presentan su gran ventana, y nospermiten, rápidamente, saltar desde el editor al ensam-blador o al compilador, o incluso al simulador o al emu-lador, si están integrados en el paquete. Las capturas depantalla realizadas para este artículo muestran algunosejemplos del entorno de desarrollo MPLAB de la casaMicrochip y del entorno de desarrollo PCWH para elcompilador C de la casa CCS.Excepto el emulador y el programador, los cualesestán formados parcialmente por circuitos que tenemosque pagar de manera adicional, la mayoría de estas

herramientas están constituidas totalmente por progra-mas. Algunos fabricantes de microcontroladores utili-zan en estos casos un truco comercial muy curioso:proporcionan estos programas totalmente gratuitospara sus clientes. Esto puede parecer extraño, pero laconsecuencia lógica de esta manera de hacer nego-cios es que los desarrolladores preferirán utilizar estosprogramas y, en consecuencia, se verán inclinadostambién a utilizar los microcontroladores del mismofabricante.Aunque estos programas son gratuitos, en realidad no setrata de programas de segunda categoría. De hecho,MPLAB es uno de los mejores programas que el autor deeste artículo ha utilizado. A pesar del hecho de que esteentorno de desarrollo nos permite programar en len-guaje ensamblado (viene totalmente equipado con uneditor, un ensamblador y un simulador), puede trabajarcasi automáticamente con compiladores y emuladores deotros fabricantes. Estos programas están tan bien integra-dos en el entorno de desarrollo que parece que pertene-cen al mismo entorno.Esta "generosidad" con respecto a las herramientas dedesarrollo se limita tan sólo a la programación en len-guaje ensamblado. Prácticamente todos los diseñado-res de compiladores actuales para lenguajes de altonivel piden dinero por sus productos. Por fortuna,muchos suministradores de compiladores (para Basic yC) ponen a disposición del usuario versiones de demos-tración que son muy adecuadas para los aficionados yque permiten a los profesionales verificar rápidamentesus productos.La tabla que acompaña a este artículo lista todos losentornos de desarrollo disponibles por los fabricantes demicrocontroladores. Podemos descargar estos productosy probarlos sin tener que utilizar un microcontroladoractual. Esto nos a una oportunidad de encontrar cuál de

elektor 10

Ahora que los microcontroladores con una capacidad dememoria de programa respetable están disponibles de mane-ra comercial, un nuevo concepto se está convirtiendo en algobastante popular: el cargador de arranque.

Un cargador de arranque es un programa muy pequeño queestá programado en la parte alta o baja de la memoria delmicrocontrolador montado en el circuito que se está desarro-llando. Este programa puede comunicarse con las herramien-tas de desarrollo (usados para escribir el código del progra-ma), a través de un puerto serie o algún otro tipo de enlaceserie, como puede una interfaz USB, I2C o un bus CAN.

El programa cargador de arranque puede interpretar un cier-to número de comandos relacionados con la lectura, progra-mación y borrado de la memoria de programa del microcon-trolador asociado. El principio de trabajo es básicamentebastante simple.

Cuando el programa que está siendo desarrollado está listopara su verificación, se inicia la comunicación con el progra-ma cargador de arranque. El programa cargador de arran-que carga el código de programa en la memoria de progra-ma del microcontrolador, lo que evitará la necesidad de utili-zar un programador externo.

Una vez que esta operación se ha completado, el programacargador de arranque transfiere el control al programa car-gado y, a continuación, el usuario puede ejecutar y verificar

el programa cargado. Podemos cargar un nuevo programautilizando el programa cargador tantas veces como sea nece-sario (después de que el programa haya sido borrado pre-viamente).

La ganancia de velocidad obtenida utilizando este métodotiene un factor de 10 con relación al método tradicional deprogramación, el cual, naturalmente, tiene un efecto positivoen el proceso entero de desarrollo.

Probablemente nuestros lectores ya se hayan dado cuenta deque el microcontrolador tiene de cumplir un cierto número derequerimientos para permitir que se pueda utilizar un progra-ma cargador de arranque. En particular, estos requisitosdeberían ser:

– Suficiente memoria de programa para alojar el programacargador de arranque además del programa que está siendodesarrollado.

– Soporte interno para borrar y programar la memoria deprograma.

– Un puerto RS 232 o cualquier otro tipo de enlace seriecomo el bus USB o el CAN bus.

Si estos requisitos se cumplen, será muy fácil utilizar un carga-dor de arranque. Actualmente existe un gran número de pro-gramas de prueba gratuitos disponibles en Internet para fami-lias de microcontroladores que soportan la carga de arranque.

No se limite a programar el microcontrolador.¡Cargue su arranque!

Page 11: Elektor 301 (Junio)
Page 12: Elektor 301 (Junio)

ellos es el más práctico de utilizar. Si deseamos (o tene-mos) que utilizar un lenguaje de programación de altonivel, es una buen idea verificar si existe un compiladorintegrado para dicho lenguaje, lo que aumenta la impor-tancia de las versiones de demostración.Por último, está el programador, ya que tarde o tem-prano, naturalmente, tendremos la necesidad de progra-mar nuestro microcontrolador. La tendencia actual eneste área va encaminada hacia la programación en elpropio sistema (In System Programmation, ISP) o la pro-gramación serie en el circuito (In Circuit Serial Program-mation, ICSP). Estas técnicas permiten programar elmicrocontrolador después de haberlo montado en laplaca del circuito, utilizando una conexión con tan sólotres o cuatro terminales. El programador que se requierees bastante sencillo y en Elektor ya han sido publicadosdiversos diseños posibles para varias familias de micro-controladores. La disponibilidad, el precio y/o dificultadde construir el programador son factores que deberemostener en cuenta cuando seleccionemos una familia demicrocontroladores.Otro desarrollo reciente es el denominado "cargadorde arranque", y se trata de una herramientas verdade-ramente útil en la etapa del desarrollo de un programa.Hemos dedicado un apartado independiente a estetema. Sin embargo, los cargadores de arranque sólopueden emplearse con microcontroladores que puedanprogramar su propia memoria de programa. Los fabri-

cantes están empleando esta técnica cada vez más, demanera lenta pero segura, ya que muchos de ellostodavía no se han inclinado hacia ella. En resumen, deesta discusión sobre las herramientas de desarrollopodemos decir que para un aficionado o una pequeñaempresa que no pueda abordar una gran inversión, ladisponibilidad de un sencillo programador o uno quese pueda construir a bajo coste, junto con las herra-mientas de desarrollo gratuitas, pueden ser un factordecisivo a la hora de realizar la selección de la familiade microcontroladores. De nuevo desearíamos señalarque la tabla que acompaña a este artículo puede ayu-darles de manera considerable a la hora de hacer suselección.

¿8, 16 ó 32 bits?Los microcontroladores mantienen su proceso de creci-miento con respecto a su potencia de proceso. Los mode-los de 4 bits ya han desaparecido prácticamente delmercado y los microcontroladores actuales pueden traba-jar con 8, 16 e incluso con datos de 32 bits. Sinembargo, no debemos llegar a la conclusión de que losmodelos de 32 bits son necesariamente los más potentesy que estamos anticuados si utilizamos un microcontrola-dor de 8 bits.De hecho, si nuestro programa sólo controla unaspocas entradas y salidas y no usa cálculos complejos

elektor 12

Fabricante Internet Bus de Datos Familia Arquitectura Núcleo IDE Gratuito

Analog Device www.analog.com8 bits ADUC8xx CISC 8051 –

32 bits ADUC7xx RISC ARM7 –

Atmel www.atmel.com

8 bits AT89xxx CISC 8051 programas independientes

8 bits TS87xxx CISC – programas independientes

8 bits AVR RISC – AVR studio

16 bits AT91xxx RISC ARM7/9 –

Cirrus Logic www.cirrus.com32 bits EP73xxx RISC ARM7 –

32 bits EP93xxx RISC ARM9 –

Cygnal www.silabs.com 8 bits C8051F CISC 8051 –

Freescale (ex. Motorola) www.freescale.com

8 bits HC05 CISC 6800 –

8 bits HC08 CISC 6809 Code Warrior

8 bits HC11 CISC 6809 –

16 bits HC12 CISC – –

16 bits HCS12 CISC – Code Warrior

16 bits HC16 CISC – –

16 bits 56800 CISC – –

32 bits 68K CISC 68000 –

32 bits ColdFire CISC – –

32 bits MAC7100 RISC ARM7 –

Fujitsu www.fujitsu.com8 bits F2MC–8 CISC – –

16 bits F2MC–16 CISC – –

32 bits FR RISC – –

Infineon www.infineon.com

8 bits C5xxx, C8xxx CISC 8051 –

16 bits C16xxx CISC – –

16 bits XC16xxx CISC – –

32 bits TCxxx CISC – –

Intel www.intel.com8 bits MCS251 CISC 8051 –

16 bits MCS96/296 CISC – –

Maxim (Dallas) www.maxim-ic.com

8 bits DS80Cxxx CISC 8051 –

8 bits DS83Cxxx CISC 8051 –

8 bits DS89Cxxx CISC 8051 –

16 bits MAXQ RISC – –

Microchip www.microchip.com8 bits PIC 10,12,16,18 RISC – MPLAB

16 bits dsPIC RISC – MPLAB

Sección Tabla: Esta tabla lista las

distintas familias delos principalesfabricantes. La

columna “Núcleo”indica el tipo de

arquitectura o uni-dad de proceso que

compone la basedel microcontrola-

dor. La columna“IDE Gratuito” listalos nombres de los

entornos de des-arrollo que pueden

descargarse delcorrespondiente

sitio de Internet delfabricante involu-

crado.

Page 13: Elektor 301 (Junio)
Page 14: Elektor 301 (Junio)

o grandes bases de datos, un modelos de 8 bits esuna opción bastante mejor que un modelo de 16 ó 32bits. Esto puede parecer algo ilógico, pero el siguienteejemplo nos demostrará rápidamente que no es así. Sinuestra aplicación utiliza un enlace serie RS 232 eldato será tratado como palabras de 8 bits. Esto esdebido a que los caracteres ASCII son transmitidos através de este enlace y, como todos sabemos, loscaracteres ASCII tienen un tamaño de 7 u 8 bits(según elijamos el conjunto de caracteres estándar o elconjunto extendido). Un microcontrolador de 32 bitstiene una desventaja en una situación de este tipo, yaque tiene que procesar datos de 8 bits como si fuesenpalabras de 32 bits, lo que significa que deben des-cartarse 24 bits. Si tenemos que realizar cálculosmatemáticos o científicos en nuestra aplicación, unmicrocontrolador de 16 o de 32 bits será la mejoropción, naturalmente, ya que podrá procesar cálculosen coma flotante mucho más rápidamente que con unmicrocontrolador de 8 bits.También podemos inclinarnos por una solución decompromiso en nuestra selección, optando por unmicrocontrolador de 16 bits. Sin embargo, en vista delos desarrollos actuales, no recomendamos esta solu-ción. Esto es debido a que cada vez más los microcon-troladores de 32 bits son más fáciles de encontrar enel mercado y a precios más razonables, además deque los microcontroladores de 8 bits cada vez son más

potentes y menos caros. Esto hace deja a los microcon-troladores de 16 bits "fuera de lugar", ya que si deseacambiar o actualizar su microcontrolador de 8 bitsporque no es suficientemente potente para una aplica-ción en particular, probablemente la mejor opción seacambiar directamente a un microcontrolador de 32bits porque, actualmente, la diferencia de precio rela-tiva con los modelos de 16 bits es prácticamente des-preciable.

Memorias ROM, OTPROM, EEPROM y FlashTodos estos términos pertenecen a diferentes tipos dememoria que, a veces, forman un componente específicode datos de los microcontroladores. Esto sin tener quédecir que tipo de microcontrolador es preferible, si unocon memoria EEPROM u otro con memoria Flash, ya quetambién existen los modelos que pueden programarse,borrarse y reprogramarse de manera electrónica hastavarios miles de veces si es necesario.Una vez que nuestro prototipo ha sido desarrollado utili-zando un microcontrolador con memoria EEPROM omemoria Flash, económicamente es atractivo usar unmicrocontrolador con una memoria programable una solavez (OTPROM) para una producción en masa depequeña escala. Estos componentes pueden programarse

elektor 14

Fabricante Internet Bus de Datos Familia Arquitectura Núcleo IDE Gratuito

NS www.national.com

8 bits COP8xxx CISC – Webench

16 bits CR16Cxxx CISC – –

16 bits CP3000 RISC – –

Philips www.semiconductors.philips.com

8 bits P8xxx CISC 8051 –

16 bits Xaxxx CISC – –

32 bits LPC2000 RISC ARM7 –

Rabbit Semiconductor www.rabbitsemiconductor.com8 bits Rabbit2000 CISC – –

8 bits Rabbit3000 CISC – –

Renesas www.renesas.com

8 bits 740 CISC – –

16 bits H8 CISC – HEW

16 bits H8S CISC – HEW

16 bits M16C CISC – –

16 bits 7700 CISC – –

32 bits H8SX CISC – –

32 bits Super H CISC – HEW

ST www.stm.com

8 bits ST5 CISC – Visual FIVE

8 bits ST6 CISC – –

8 bits ST7 CISC – STVD 7

8 bits ST9 CISC – STVD 9

16 bits ST9 CISC – STVD 9

16 bits ST10 CISC – –

32 bits ARM7 RISC ARM7 –

Texas Instruments www.ti.com

8 bits MSC12xxx CISC 8051 –

16 bits MSP430 CISC – Eclipse

32 bits TMS470 RISC ARM7 –

Toshiba chips.toshiba.com

8 bits 870 CISC – –

16 bits 900/900H CISC – –

32 bits 900/900H CISC – –

Ubicom (ex. Scenix) www.ubicom.com 8 bits SXxx RISC – –

Zilog www.zilog.com

8 bits Z8xxx CISC Z80 –

8 bits Z8Encore ! CISC Z80 –

8 bits eZ80Aclaim CISC Z80 –

Page 15: Elektor 301 (Junio)
Page 16: Elektor 301 (Junio)

utilizando las mismas herramientas y modelos que lasmemorias que se pueden borrar, con la diferencia de queya no pueden volver a borrarse. Estos componente nor-malmente son más baratos que sus equivalentes en memo-rias EEPROM y Flash, las cuales han sido pensadas ydiseñadas para ser utilizadas en etapas de desarrollo.

Nota: No siempre hay versiones con diferentes tipos dememoria para todos los tipos de microcontroladores de unfabricantes en particular. Por lo tanto, siempre consultare-mos la página web del fabricante para verificar la disponi-bilidad de varios tipos de memoria para diferentes modelosde microcontroladores específicos. También debemos pres-tar atención a que hay microcontroladores diseñados parausarlos en masas de producción de gran escala, los cualestienen una memoria ROM que solamente puede ser progra-mada utilizando una máscara. Sin embargo, podemos olvi-darnos de utilizar este tipo de memorias a menos que nece-sitemos varios miles de componentes idénticos.

Entradas, salidas y periféricosinternosUno de los aspectos más atractivos de los microcontro-ladores es que permiten que la circuitería externapueda mantenerse a niveles mínimos o incluso que

pueda eliminarse completamente. Si conocemos lo quenuestra aplicación necesita, entonces todo lo que ten-dremos que hacer es una lista con los siguientes ele-mentos:– Número de entradas y salidas en paralelo.– Número y tamaño (8, 16 ó 32 bits ) de los temporiza-

dores necesarios.– Disponibilidad de uno o más puertos PWM.– Disponibilidad de un conversor analógico a digital,

incluyendo la resolución y el número de entradas.– Disponibilidad de un puerto serie síncrono o SPI.– Disponibilidad de interfaces para buses específicos

como pueden ser USB, CAN, I2C, etc.– Disponibilidad de interfaces específicas como la de

control de una pantalla LCD.

Una vez que hemos rellenado esta lista, sencillamentetendremos que compararla con los datos de las fami-lias de microcontroladores que quedan después dehaber hecho una selección previa utilizando nuestroscriterios anteriores. En vista de la gran cantidad demicrocontroladores que existen en el mercado, lo másprobable es que no sea nada difícil encontrar unmodelo que se adapte en muchas de las familias dis-ponibles.Si nuestra aplicación exige una alta demanda demicrocontroladores, nuestra elección podría recaer casiautomáticamente en un microcontrolador "pesopesado", el cual también podría ser demasiado caropara nuestra aplicación. Naturalmente también pode-mos buscar una solución de compromiso. Por ejemplo,si necesitamos un conversor A/D y no está disponibleen la familia deseada, es posible utilizar un conversorexterno con un interfaz I2C o SPI. Si necesitamos unpuerto USB, nos daremos cuenta rápidamente de quenuestra elección estará limitada a los modelos reciente-mente aparecidos en el mercado, los cuales tambiéntienen todo tipo de sonidos y silbidos que probable-mente no necesitaremos. Afortunadamente, tambiénpodemos encontrar en el mercado excelentes controla-dores USB externos que pueden realizar fácilmente lafunción de interfaz con el microcontrolador que hemosseleccionado.

Velocidad y consumo de corrienteLas velocidades de reloj de los microcontroladores toda-vía siguen aumentando. Los primeros modelos trabaja-ban a la nada despreciable velocidad de 1 MHz, perohoy día podemos encontrar modelos con velocidades dereloj de hasta 100 MHz. En nuestra eterna búsqueda delas mejores prestaciones, a menudo tendemos a seleccio-nar, de manera automática, el microcontrolador con lavelocidad de reloj más elevada. Aunque una velocidadde reloj más rápida en principio nos lleva a un microcon-trolador más rápido, en este caso nos conviene cambiarde perspectiva.Hay muchas razones que nos impiden tomar la veloci-dad de reloj como una indicación de la velocidadefectiva de un microcontrolador. Por un lado, la veloci-dad de reloj a menudo se divide internamente, demanera que la frecuencia real de trabajo casi nuncasuele ser la misma que la que está marcada en el cir-cuito integrado. Dependiendo de la arquitectura delmicrocontrolador (RISC o CISC), las instrucciones sepueden ejecutar en un único ciclo de reloj (RISC) o envarios ciclos de reloj (CISC), donde "varios" puede seruna cantidad de 10 o más. Si nos limitamos a unejemplo en concreto, un 8051 que trabaja a una velo-cidad de reloj de 30 MHz tiene unas prestaciones infe-

elektor 16

Acerca del autorChristian Tavernier es uningeniero electrónico de con-sulta asociado con la univer-sidad y un experto legal enel campo de la informática yla electrónica. Ha escritosnumerosos libros y artículosy se ha especializado en elárea de microcontroladoresdurante 25 años, de maneraque estamos encantados depoder disponer y disfrutarde su experiencia para esteartículo.

www.tavernier-c.com [email protected]

Page 17: Elektor 301 (Junio)

Y además...

CD ESPECIAL SEGURIDAD

DESCUBRELA NUEVA

Más de 200 páginas con:

● Las últimas novedadesen equipos, aplicaciones,gadgets, multimedia...

● Pruebas, análisisy comparativas.

● Reportajes prácticos.● Empresa, equipos

profesionales.● Modding

Y mucho más...

ANTIVIRUSANTISPYWAREFIREWALLSPRIVACIDAD Y ENCRIPTACIÓN

4,95 t Una publicación dewww.grupov.es

Page 18: Elektor 301 (Junio)

riores que las de un ARM de la casa Atmel que trabajaa una velocidad de reloj de tan sólo 10 MHz (porsupuesto, ejecutando ambos el mismo programa). El8051 tiene una arquitectura CISC y necesita 12 ciclosde reloj para ejecutar algunas de sus instrucciones,mientras que el AVR tiene una arquitectura RISC y eje-cuta prácticamente todas sus instrucciones en un únicociclo de reloj. Al incrementar la velocidad de reloj tam-bién se incrementa la cantidad de interferencias elec-tromagnéticas que están siendo radiadas, y dichasinterferencias también ponen más dificultad al controlde las altas frecuencias. Todos los productos electróni-cos actuales tienen que cumplir los requerimientos delas directivas EMC europeas, por lo que este aspectosencillamente no puede ignorarse.Por último, también debemos tener en cuenta el con-sumo de corriente de nuestro dispositivo. Cuanto másrápido trabaja el microcontrolador, más corriente con-sume. Las "velocidades endemoniadas" deberían puesestar reservadas a aplicaciones donde la fuente de ali-mentación no suponga ningún problema. Por supuesto,todos los modernos circuitos integrados están imple-mentados en tecnología CMOS, pero esto no garan-tiza un bajo consumo de corriente. Deberemos teneren mente que los componentes CMOS solamente con-sumen corriente durante la conmutación y, por lotanto, cuanto más rápida sea la velocidad de relojmás rápida será su conmutación. Si el consumo decorriente es una consideración importante en nuestroproyecto, tendremos que atender a la velocidad dereloj y, por lo tanto, deberemos también seleccionar unmicrocontrolador que disponga de un modo de reposoo de "descanso". En estos modos, el microcontroladorno hace nada, lo que significa que el consumo decorriente es, en la mayoría de los casos, más de milveces inferior al que presenta en su modo de funciona-miento normal. Es posible que se pregunte para quésirve disponer de un microcontrolador que no estáhaciendo nada. La respuesta es que simplementeestará esperando hasta que una llamada le "des-pierte" y comience a hacer su trabajo. Esta situaciónsucede a menudo en muchas aplicaciones que tienenrelación con la comunicación con el entorno humano.Por ejemplo, lo único que un termostato programablehace es medir la temperatura durante algunos minutosy esperar a ver si el usuario realiza alguna operaciónsobre el teclado. Por lo tanto, este microcontroladorpodrá estar funcionando en su modo de reposo lamayor parte del tiempo, algo que suele suceder con lamayoría de los dispositivos actuales. Por este motivopueden funcionar durante más de un año con unaúnica batería totalmente cargada.

¡No se olvide del encapsulado!Por último, supongamos que ya hemos encontrado elmicrocontrolador de nuestros sueños y que estamos lis-tos para comenzar a diseñar la placa de circuitoimpreso. Comenzaremos nuestra búsqueda febril a tra-vés de las distintas hojas de características de circuitointegrado para encontrar la huella de su encapsulado,algo que hasta ahora había ignorado totalmente... yen este momento nos damos de bruces con el pro-blema.En particular, si hemos seleccionado uno de los micro-controladores más reciente o uno con una gran abun-dancia de periféricos internos, tendremos que olvidar-nos de los tradicionales y viejos encapsulado DIL, yaque el número de terminales de estos dispositivos,sobre todo para ciertos tipos de microcontroladores,

puede superar fácilmente la cantidad de 100.No sería extraño que nuestro microcontrolador sóloestuviese disponible en una versión PLCC o PGA. Estono tiene por qué ser un desastre, ya que existen zóca-los disponibles para estos encapsulados. Pero si elencapsulado es difícil de montar utilizando el procedi-miento de soldadura manual, tendremos un gran pro-blema. La primera generación de componentes SMD,con una separación de terminales de 1,27 milímetros,puede soldarse con un poco de paciencia y una puntade soldadura muy fina, pero los últimos circuitos SMDtienen una separación de terminales de tan sólo 0,64milímetros, lo que hace prácticamente imposibles sol-darlos sin utilizar una máquina de soldadura. Pero si apesar de todo asumimos este reto, la soldadura manualserá completamente imposible con el encapsuladoBGA, que cada vez es más popular. Si estos términosno significan nada para nuestros lectores, imagine unapequeña placa cerámica cuadrada cubierta con ungran número de pequeñas bolitas hemisféricas (que sonlos terminales de acceso), y entonces entenderá el pro-blema. Por lo tanto, antes de realizar la elección final,es muy aconsejable consultar las hojas de característi-cas de los fabricantes para ver qué encapsulado estádisponible para los modelos seleccionados. En laactualidad (principios del año 2005), este problemaestá limitado a los modelos más recientes de microcon-troladores.

Microcontroladores “Ghostware”(sobre papel)Esto no significa que los microcontroladores hayannacido en los viejos castillos de Escocia, sencillamentehace referencia a los microcontroladores que sólo exis-ten en papel. Así, la casa Motorola (que ahora se llamaFreescale) se vio desbordada en su momento con la fami-lia 68HC05, la cual prometía mucho más sobre elpapel, pero que en la actualidad tan sólo está formadapor uno o dos modelos.Esto se transforma en un segundo problema para unagran compañía, ya que si deseamos pedir variosmiles de microcontroladores a partir de su catálogo,el fabricante no tendrá problemas en suministrarlos,pero si, en otro caso diferente, sólo necesitamos unascuantas piezas, incluso sólo una, es muy convenienteverificar si existe un distribuidor que en la actualidadtenga dichos componentes en su almacén (y en elencapsulado correcto) antes de comenzar nuestrodiseño.

ConclusiónAl principio de este artículo les avisábamos que nopodríamos concluir con la frase "he aquí su microcontro-lador...". Por ello, nos propusimos que tras leer este artí-culo nuestros lectores fueran capaces de preguntarse ydarse las respuestas correctas a determinadas cuestionespor sí mismos, después de lo cual probablemente yapodrían realizar una selección inicial utilizando la tablaque se acompaña.

(050003-1)

elektor 18

Page 19: Elektor 301 (Junio)
Page 20: Elektor 301 (Junio)

elektor 20

ias noticias noticias noticias noticias noticias noti

EPCOS, empresa represen-tada en España por Anatro-nic, S.A., ha desarrollado losnuevos núcleos EPX9/9/9para transformadores de apli-caciones DSL. Combinados con los bobinasSMD de Duroplast, estosnúcleos EPX, que se encuen-tran disponibles en materia-les ferrita de banda anchastate-of-the-art T38, T57, T66y N45, y se caracterizanpor un mayor espacio debobina.La tecnología digital subscri-ber line (DSL) es una de lasque está teniendo un creci-miento más rápido en aplica-ciones de acceso a Internet debanda ancha. Esta tecnologíademanda transformadores deinterface con mínima distor-sión de señal y pérdidas. Gracias a la serie EPX, el ren-dimiento de estos transforma-dores se ha mejorado, a pesarde la reducción de sus dimen-siones. Las tecnologías de accesocon ratios de transmisión dedatos simétricos, como

SHDSL, son cada vez máspopulares, ya que destacanpor ratios de datos muy ele-vados en direcciones ups-

tream y downstream. SHDSLes particularmente adecuadapara entornos de oficinas,donde los usuarios tienen que

descargar grandes volúmenesde datos del servidor, asícomo para entretenimientoonline.

AXIOMTEK Co., Ltd., em-presa representada en Españapor Anatronic, S.A., anun-cia el ordenador monotarjeta(SBC) PICMG SBC81870, quesoporta procesadores Intel®Pentium® M de hasta 1.8GHz con 400 FSB y el chipsetIntel® 855GME con ICH4 yCRT, LVDS y LCD. Este SBC, que tambiénsoporta Intel® Celeron-M dehasta 1.3 GHz como alterna-tiva a la CPU, es ideal parauso en chasis de montaje enrack 1U de elevado rendi-miento y en micro-box, comoAX6052 y AX60501, paramejorar las prestaciones delos Pentium III.

El SBC posee dos tomasDIMM DDR SDRAM de 266

/ 333 MHz y 184 pines queson capaces de soportar 2

GB de memoria. Gracias alchipset Intel® 855GME, el

Ordenador Monotarjeta PICMG Pentium M de Elevado Rendimiento

Núcleos EPX para Transformadores de Aplicaciones DSL

Nuevos núcleos para aplicaciones DSL.

El nuevo SBC81870 soporta procesadoresIntel® Pentium® M hasta 1.8 GHz.

Page 21: Elektor 301 (Junio)

La revista para losamantes de la fotografía

Encontrarás análisis de material fotográfico, cámaras,objetivos y accesorios, reportajes de naturaleza y viajes con magníficas imágenes, artículos prácticospara hacer mejores fotografíasy técnicas para profundizar más sobre fotografía

...y además, el concurso fotográfico“Book Super Foto”abierto a todos los aficionadoscon 6.000 t en premios.

Incluye la mayor guíade cámaras y objetivos

del mercado de ocasión.

La revista Nº1 de la fotografíaLa revista Nº1 de la fotografía

Una publicación de

www.grupov.es

REGALOREGALOVisita nuestra nueva web:www.grupov.es GUÍA

PRÁCTICA COMO HACER

BUENAS FOTOSCON NIKON

GUÍAPRÁCTICA

COMO HACER BUENAS FOTOS

CON NIKON

Page 22: Elektor 301 (Junio)

Atmel Corporation, em-presa representada en Españapor Anatronic, S.A., anunciacuatro nuevos miembros de lafamilia de microcontroladoresFlash AVR® LCD.Los modelos mega329, 649,3290 y 6490 han sido dise-ñados para responder a losrequerimientos de aplicacionesportátiles y alimentadas porbatería como controladores dedispositivos domésticos, equi-pos de Audio / Vídeo y pro-ductos sanitarios.El mega329 y el 649 tienenun controlador LCD de 100segmentos integrado y se pre-sentan en un encapsulado de64 pines, mientras que elmega3290 y el 6490 poseenun controlador LCD de 160segmentos y un encapsuladode 100 pines. La familia AVR LCD de micro-controladores Flash sólo con-sume 300 μA con una fre-cuencia operativa de 1 MHz yalcanza un rendimiento de 2MIPS por mW. En modo‘power-down’, todos los peri-féricos, a excepción de inte-rruptores externos, se apagan

y el consumo cae a 100 nA.Los cuatro dispositivos ofrecenuna magnífica respuesta anteeventos externos, tanto enmodo activo como en ‘powerdown’. La interrupción dehasta 18 entradas desde un

modo ‘power down’ se `puederealizar en menos de un micro-segundo, lo que supone unamejora 6X.Los nuevos microcontroladoresAVR LCD ayudan a los inge-nieros de diseño a reducir los

costes de desarrollo, tiempode diseño y coste de produc-ción. Estos dispositivos combi-nan un microcontrolador po-tente y eficiente con una tec-nología de memoria Flash debaja potencia.

Soporta DDR, DualView, SATA-150, PATA-133 y USB 2.0Con el objetivo de adecuarse alos requerimientos de rendimientode sistema, coste total de propie-dad y diseño térmico, AXIOM-TEK Co., Ltd., empresa repre-sentada en España por Anatro-nic, S.A., anuncia su nuevafamilia Smart PIII-level.

Esta familia con controladornorth bridge VIA CLE266 secaracteriza por gráficos Dual-View y south bridge VT8237 einterface de almacenamientode elevada velocidad SerialATA-150. Todos los miembros de la fami-lia (SBC826A0, SBC826A1,SBC836A0 y SBC836A1) so-

portan gran cantidad de peri-féricos, incluyendo DDR, SerialATA-150, USB 2.0 y ParallelATA-133 para optimizar el sis-tema.Las tarjetas CPU half-size PCISBC826A0 y SBC826A1 po-seen la tecnología display másavanzada del mercado, DVI(Digital Video Interface), siendo

la solución ideal para displaysde gran tamaño, como los uti-lizados en aplicaciones deinformación al público. Ade-más, la característica de LANdual es cada vez más popularen nuevas aplicaciones deautomatización. Los modelos SBC836A0 ySBC836A1 de SBC embebi-

elektor 22

ias noticias noticias noticias noticias noticias noti

SBC81870 ofrece funcionesde display dual, incluyendoCRT y LVDS LCD.El SBC81870 tiene una tomaadicional para CompactFlashcompatible con el módulo de

memoria Flash, garantizandounas capacidades de expan-sión excepcionales.Además, este ordenadormonotarjeta adopta el contro-lador LAN Intel 82562EM

para Ethernet 10/100 Mbps eIntel 82541 para Ethernet10/100/1000 Mbps. Otras características a desta-car del SBC81870 son dospuertos COM, cuatro puertos

USB 2.0 de elevada veloci-dad, AC’97 Codec, conecto-res de teclado / ratón, dosinterfaces EIDE (UDMA 33 /66 / 100) y un puerto deimpresora.

Nuevos Microcontroladores AVR LCD

Nueva Familia Smart PIII de Ordenadores Monotarjeta

Los nuevos AVR LCD ayudan a reducir los costes de desarrollo, diseño y producción.

Page 23: Elektor 301 (Junio)

nn Transferencia bancaria a EDITORIAL GRUPO V (Caja Madrid. Agencia 2.831 de Madrid. C/C n.º 6000040643). (Importante: Poner nombre, apellidos y provincia del remitente.)

nn Cheque bancario a nombre de EDITORIAL GRUPO V .nn Contra reembolso (más 2,7 t de gastos de reembolso).nn Domiciliación bancaria: NIF: ...........................................

nn Con Tarjeta de Crédito:nn VISA nn 4B/Mastercard

Recorta y envía este cupón o copia del mismo debidamente relleno a:GRUPOV S.L.U. C/ Valportillo Primera, nº 11 • 28108 Alcobendas (Madrid)(Oferta válida únicamente en España)

N.º ENTIDAD N.º AGENCIA N.º DE CUENTAD. C.

N.º Tarjeta

Firma: (misma que en la tarjeta)

Mes Año

Caducidad Tarjeta

BOLETÍN DE SUSCRIPCIÓN

El interesado tiene derecho a conocer, rectificar, cancelar u oponerse al tratamiento de la información que le concierne y, autoriza a que pase a formar parte del fichero de EDITORIAL GRUPO V, C/ Valportillo Primera, 11. 28108 ALCOBENDAS (Madrid), ante el cual podrá ejercitar sus dere-chos, y a que sea utilizada para mantener la relación comercial y recibir información y publicidad de productos y servicios de nuestra empresa y de otras relaciondas con los sectores de telecomunicaciones, financiero, ocio, formación, gran consumo, automoción, energía, agua, ONGs. Sino desea ser informado de nuestros productos o servicios, o de los de terceros, señale con una X esta casilla. nn (Ley Orgánica 15/1999 de 13 de Diciembre de Protección de Datos).

S í, deseo suscribirme a la revista ELEKTOR por el período de un año. El precio de esta suscripción es de 40 t, incluye 12 números de la revista al precio de 10.

Nombre

Apellidos

Domicilio

Población

Provincia C. Postal

Teléfono ___________ ____________

E-Mail

TU SUSCRIPCIÓN MÁS RÁPIDA POR TELÉFONO: 91 662 21 37, POR FAX: 91 662 26 54O POR E-MAIL: [email protected]

¡Suscríbete ahora!

Y consigue números al precio de

12

10

Page 24: Elektor 301 (Junio)

dos Petit de 5.25” sonsoportados por LVDS Dual,cuatro puertos COM e inter-faces de expansión de bajoperfil. Estos dos SBC, queposibilitan una solución sinventiladores, se presentancon procesadores VIA EDENde baja potencia de hasta 1GHz. Con todas estas ventajas ycaracterísticas, el cliente pue-de disfrutar de un diseño desistema más fiable sin tenerque recurrir a ventiladores. La familia Smart PIII-level sepuede actualizar fácilmente yes la mejor respuesta a lasdemandas del mercado en tér-minos de consumo térmico yeléctrico.

elektor 24

ias noticias noticias noticias noticias noticias noti

Mejoran la eficiencia y reducenel coste de circuitos de controlde motor DCZetex Semiconductors,empresa representada enEspaña por Anatronic, S.A.,anuncia su nueva gama detransistores bipolares que, gra-cias una operación eficientede elevada corriente, cumplecon todos los requerimientosde rendimiento en aplicacio-nes de control de motor DC.Presentados en un encapsu-lado SOT89, estos transistoresson una alternativa más efec-tiva a dispositivos de mayoresdimensiones. Con una tensión de receptor –emisor de 60 V, los transisto-res bipolares ZX5T851Z NPNy ZX5T951Z PNP responden alas demandas de tensión decircuitos de drive de motor depotencia media. Sus características hold-up deganancia de corriente y lastensiones de baja saturaciónde los bipolares aseguran quelas pérdidas on-state se redu-cen al mínimo. La resistencia equivalente delos transistores NPN y PNP es

de 30 mΩ a 6 A y 32 mΩ a 5A, respectivamente. Los mode-los NPN pueden gestionar unacorriente continua de 5 A y unpico de hasta 20 A, mientrasque las figuras equivalentespara los dispositivos PNP sonde 4.3 y 15 A. Las caracterís-

ticas de elevada ganancia delos dos transistores están espe-cificadas a 10 A. Los transistores, que se pre-sentan en encapsuladosSOT89, con unas dimensio-nes PCB de 4.4 x 4.0 mm ycapacidad de disipación de

2.1 W se convierten en unaalternativa viable a los dis-positivos tradicionales enencapsulados SOT223 yDPAK, haciendo posible unareducción de espacio y cos-tes en circuitos de drive demotor DC.

En un encapsulado SOT89 cumplen todos los requerimientos para control de motores DC.

Nuevos Transistores Bipolares

Una solución sin ventiladores con procesadores VIA EDEN de hasta 1 GHz.

Page 25: Elektor 301 (Junio)
Page 26: Elektor 301 (Junio)

Los modelos ZX5T851Z yZX5T951Z forman parte deuna serie de ocho transisto-

res SOT89 que cubren unrango VCEO de 25 a 140 Vy cumplen los requerimientos

de una amplia gama de cir-cuitos de elevada corriente,incluyendo control de motor

DC, iluminación de emer-gencia y gestión de carga deautomoción.

EPSON, empresa represen-tada en España por Ana-tronic, S.A., anuncia elS1D13702, su segundo con-trolador de display dirigidoal mercado creciente de sis-temas electrónicos y de entre-tenimiento con displays dediodos orgánicos emisoresde luz (OLED). El nuevo producto soportapaneles OLED con 260.000colores, respuesta rápida y dis-plays solapados, y contribuyea facilitar el diseño, reduciendolos costes de sistemas OLED. El S1D13702 ofrece mejorasen funcionalidad sobre su pre-decesor, el S1D13701, queha tenido un excelente reci-biendo por parte de los fabri-cantes de vehículos. Diseñado para minimizar lacarga de la CPU, cuando seusa con paneles de 256 pun-tos x 64 líneas x 6 bpp

(260.000 colores), el chipcontrolador soporta imágenesde vídeo en movimiento.

El nuevo dispositivo se sitúa comoun producto esencial junto a laserie de Motores Gráficos Móviles

para teléfonos móviles equipadoscon cámara en la línea de contro-ladores de display de EPSON.

Buehler Motor Group,empresa representada enEspaña por Anatronic, S.A.,anuncia su nuevo motor DCPM 1.13.057 con un diámetrode 25.8 mm y una longitud de60 mm como estándar,pudiéndose realizar productosa medida para requerimientosespecíficos. El motor trabaja con dos ten-siones, 12 y 24 V, con unapotencia de 8 W, depen-diendo del modelo y las con-diciones operativas. La fuerzade torsión promediada de 1.8Ncm se produce con una velo-cidad promediada de 4155rpm.

elektor 26

ias noticias noticias noticias noticias noticias noti

Nuevo Controlador de Display para Dispositivos de Audio con OLEDen Vehículos

Motor DC PM

El S1D13702 soporta paneles OLED con 260.000 colores.

El DC PM 1.13.057 tiene undiámetro de 25,8mm.

Page 27: Elektor 301 (Junio)

282 283 284 285

286 287 288 289

290 291 292 293

Sí, deseo recibir contra reembolso los números de ELEKTOR que indico a continuación, al precio de portada, más

gastos de envío. (Se servirán sólo los números que no estén agotados al tiempo de recibir la orden de pedido).

Deseo Recibir los números: _______________________________________________________

Nombre:..................................... Apellidos:....................................................................................................

Dirección:..................................................................................................................... Nº:......... Piso:...........

Tel.:.....................C.P.:............ Población:.......................................................................................................

Provincia:...............................................e-mail:..............................................................................................

Enviar este cupón a LARPRESS, S.A. C/ La Forja, 27-29 Torrejón de Ardoz 28850 Madrid. Tel.: 91 677 70 75 Fax: 91 676 76 65 [email protected]

Usted tiene derecho a acceder a la información que le concierne, recopilada en nuestro fichero de datos y a cancelarla o rectificarla de ser erronea. Si no desea

recibir información comercial de esta u otras empresas, le rogamos nos lo haga saber mediante comunicación escrita con todos sus datos personales.

COMPLETATU COLECCIÓN

pubp

ress

Enviar este cupón a: Grupo V S.L.U. C/ Valportillo Primera, 11, 28108 Alcobendas, Madrid Tel.: 91 662 21 37 Fax: 91 662 26 54 E-mail: [email protected]

Page 28: Elektor 301 (Junio)

El encapsulado, desarrolladocon tecnología ‘deep-dra-wing’, que destaca por unacero protegido ante la corro-sión con anillo de refuerzo yendshield plástico diseñadoespecialmente, es ideal para

uso en condiciones poco favo-rables. El encapsulado tam-bién puede ser anexado en laparte frontal mediante dos oje-tes para tornillos M3. El motor posee dos conexio-nes de soldadura de tipo

plug para todo tipo de alter-nativas de fuente de alimen-tación. Con su rango de tem-peratura de 0 a +70°, latransmisión está particular-mente indicada para produc-tos de oficina y electrodo-

mésticos y, por supuesto, apli-caciones industriales.

Para más información:Anatronic, S.A.Tel: 913660159/Fax: 913655095E-Mail: [email protected]

elektor 28

ias noticias noticias noticias noticias noticias noti

El Parlamento Europeodecidió reducir ciertas sus-tancias con riesgos,mediante la directivaROHS 2002/95/CE, enartículos eléctricos y elec-trónicos.El plomo, entre otras sus-tancias, deberá eliminarsea partir del 01.07.06 delos productos eléctricos yelectrónicos que se comer-cialicen en Europa.CIRCUITOS IMPRESOS2CI, SA eliminó el plomoen la fabricación de suscircuitos impresos hace yaocho años con unos resul-tados excelentes, aca-bando los circuitos enníquel-oro, con OROELECTROLÍTICO.El oro electrolítico tieneventajas con respecto aotros acabados por estarexento de plomo, tenermayor conductividad su-perficial, no se deforma lamáscara anti-soldante alsoldar por ola, no se oxiday es extremadamente plano.Éstas ventajas proporcionanmenor contaminación en todo

el proceso, facilita la coloca-ción del SMD, tiene mejor con-tacto siendo ideal para tecla-

dos o conectores de boca decarta y soporta más tiempo enel almacén.

Para más información:+Info: www.2cisa.com

Renesas Technology Corp.anuncia la última incorpora-ción a su familia SH-Mobile deprocesadores de aplicación,dirigida a teléfonos móviles degama media. El SH-MobileJ3 (SH7326) secaracteriza por soporte decámara de 4 Megapíxeles y

aceleradores de hardwarepara proceso de imagen on-chip, desarrollados original-mente para los modelos high-end. El nuevo procesador es un pro-ducto SiP (System in Package)que ofrece funciones de pro-ceso de imagen similares a las

del SH-MobileJ2 (SH7316) deRenesas Technology para telé-fonos móviles de gama media. Las aplicaciones de los teléfo-nos se han ampliado rápida-mente para incluir juegos, fun-cionalidad de cámara, funcio-nes de organización personal ymúsica. Además, como estas

aplicaciones ahora sólo estándisponibles en teléfonos móvileshigh-end y próximamente seofrecerán en modelos degama media, el SH-MobileJ3ha sido desarrollado en con-cordancia con la evolución delmercado e incorpora SDRAMde 128 Mbit para incrementar

Circuitos Impresos sin Plomo

El SH-MobileJ3 dota de Funciones HIGH-END a Móviles de Gama Media

2CI, S.A. se adelantó 8 años a las directivas europeas eliminando el plomo de sus circuitos.

Page 29: Elektor 301 (Junio)

potencia de proceso. El SH-MobileJ3 soporta 4Megapíxeles en comparacióncon los 2 Megapíxeles del SH-MobileJ2, y dos interfaces decámara (antes sólo uno). Lasmejoras en el proceso de ima-gen incluyen la provisión deun acelerador de hardwareMPEG-4 2 con capacidad dedecodificar 30 frames porsegundo (fps) en un displayQVGA, y un acelerador dehardware JPEG que ya hasido probado en chip decámara digital. Todo el proceso de imágenesMPEG-4 y JPEG lo realiza elhardware y, por lo tanto, dis-minuye la demanda de presta-ciones en la CPU y el consumode potencia, y se mejora elrendimiento. El buffer de

cias noticias noticias noticias noticias noticias noti

El SH-MobileJ3 soporta cámaras de hasta 4 megapixeles.

Page 30: Elektor 301 (Junio)

memoria requerido para ges-tionar el proceso de imagenJPEG también se reduce, per-mitiendo compresión y exten-sión unas diez veces más rápi-das en el display. El SH-MobileJ3 se caracterizapor un núcleo CPU SH3-DSPde 32 bit de elevado rendi-miento con una frecuenciaoperativa máxima de 133MHz. También destaca por el

elektor 30

ias noticias noticias noticias noticias noticias noti

aumento de la capacidadSRAM de alta velocidad on-chip para uso como memoriade trabajo, desde los 32Kbytes del SH-MobileJ2 a los128 Kbytes actuales, paramanejar diferentes aplicacio-nes sin problemas. También incluye las funciones

periféricas para modelos degama media de próxima gene-ración, tales como controlador

LCD compatible con panel decristal líquido a color TFT y uni-dad de salida de vídeo, uninterface IrDA para comunica-ciones por infrarrojos y funciónUSB 2.0 (full speed), facilitandola implementación de unaamplia variedaad de funciones. La capacidad de la memoriaFlash, que se puede conectar aun interface de memoria FlashNAND / AND, se ha incre-

mentado sustancialmente desde512 Mbit a 4 Gbit, ayudandoa implementar mejoras funcio-nales en los móviles, como laexpansión de la capacidad dealmacenamiento de datos. El encapsulado usado es unCSP de 281 pines (9 x 11 x1.4 mm), un SiP con SDRAMde 128 Mbit on-chip querequiere un área de montajereducido.

Renesas Technology Corp.ha lanzado su primer driver /controlador monochip conmemoria no volátil para dis-plays de resolución QVGA(240 x 320 píxeles) y 260 kcolores. Hasta ahora, una pan-talla QVGA demandaba unaconfiguración de dos chip. El R61505 reduce el consumode potencia y en número decomponentes en los panelesLCD a color TFT de elevadorendimiento, que requieren losteléfonos móviles con funcionesde cámara de alta resolución,televisión y flujo de vídeo. El nuevo controlador / driver secaracteriza por una RAM de dis-play on-chip de unos 172 Kbytesy permite visualizar 260 k colo-res, lo que ha popularizado lasaplicaciones de juegos y vídeoen microteléfonos móviles. La memoria no volátil de sóloescritura de 10 bit on-chipreduce la necesidad de memo-ria externa, previamente utili-zada para el almacenamientode datos de ajuste de calidadde imagen, un código ID dedestino para la gestión de envíoy otra información adicional. El formato monochip y lamemoria integrada on-chippermiten a los fabricantes demicroteléfonos móviles reducirla lista de componentes usa-dos y, por lo tanto, el costetotal de implementar pantallasde elevada calidad.

El nuevo dispositivo tambiénsoporta paneles LCD angula-dos, que son cada vez máspopulares, con un rango detensión de drive LCD de 4.5 a6.0 V. El R61505 ofrece un secuen-ciador de hardware integradopara gestionar el arranque dela fuente de alimentación. Elsoftware integrado posee unainstrucción start-up para estesecuenciador, permitiendo lareducción de los errores deprogramación de usuario y lamejora de la eficiencia de des-arrollo.

Los mismos modos de ‘displayde 8 colores’, ‘standby’ y ‘deepstandby’ que en productos pre-vios se ofrecen como funcionespara disminuir el consumo deenergía. Las dimensiones delchip también se han reducidoen 2 mm, posibilitando la intro-ducción de paneles LCD demarco delgado en el mercadode los microteléfonos móviles.

Renesas Technology Corp.Renesas Technology Corp., diseña yfabrica soluciones de sistemas semi-conductores integrados para losmercados de informática móvil,

redes, automoción, industrial yaudiovisual. Fundada el 1 de abrilde 2003 como joint venture entreHitachi Ltd (TSE:6501, NYSE:HIT) yMitsubishi Electric Corporation(TSE:6503), con sede central enTokio (Japón), Renesas Technologyes una de las mayores compañíasde semiconductores del mundo y elproveedor número uno de microcon-troladores a nivel global. Ademásde microcontroladores, RenesasTechnology ofrece LSI de sistema,componentes para tarjetas inteli-gentes, productos de señal mixta,memorias flash y SRAMs. Para másinformación: www.renesas.com

Primer Controlador / Driver Monochip para Displays TFT QVGA deTeléfonos Móviles

Page 31: Elektor 301 (Junio)

próximo número próximo número próximo númeropróximo mes en elektor

Sistemas de Bus SerieTendremos dos artículos quetratarán con detenimiento lavariedad de sistemas disponi-bles para llevar las señaleshacia y entre equipos, al mismotiempo que se intenta utilizar lamenor cantidad de hilos posi-ble. En dichos artículos se des-criben los protocolos y especifi-caciones, así como una guíapara los diseñadores.

USB - GPSEste proyecto describe una interfaz entre apli-

caciones de navegación y un módulo GOPS enminiatura acoplado a una pequeña antena

activa. La estructura modular del proyecto per-mite utilizar los elementos seleccionados para

nuestras propias aplicaciones.

Emulador 27C512A pesar del avance de la tecnología de las memorias Flash, una gran cantidad deaplicaciones con microcontroladores aún continúa usando una memoria EEPROMpara el almacenamiento de programas. Las razones se pueden resumir probable-mente en dos palabras: “coste” y “tradición”. El punto más débil de una memoriaEEPROM es la necesidad de un emulador cuando está haciéndose la depuracióndel programa. Nuestro emulador está basado en una combinación de una FPGA yun controlador AT 90S8515. Como medio de conexión ofrece interfaces SPI, JTAGy RS 232.

Page 32: Elektor 301 (Junio)

elektor 32

circuitos impresos circuitos impresos circuitos impsos

Todos los circuitos están a tamaño real(100%) excepto indicación en contra.

Sistema de Desarrollo LPC210x “ARMee” (040444-2)

040444-2(C) ELEKTOR

040444-2

(C) E

LEK

TOR

04

04

44

-1

Page 33: Elektor 301 (Junio)

elektor 33

libros libros libros libros libros libros libros libros

Java 2 v5.0 Por F. Javier MoldesISBN 84-415-1832-7416 páginasEditorial Anaya Multimedia

Este libro contiene toda lainformación imprescindiblepara estudiar el lenguaje Javatanto en sus primeros nivelescomo en fases más avanza-das, sin más ayuda que elesfuerzo personal del usuario.Encontrará múltiples ejem-plos que ayudarán a consoli-dar sus conocimientos.Podrá establecer un nuevoestilo de programación apro-vechando las funcionalidadesde la versión 5.0, tal como lanueva técnica de lectura dedatos con la clase Scanner, lainnovadora estructura forpara la iteración de arrays ycolecciones, el uso de mar-cas para colecciones genéri-cas, que posibilitan un códi-go más simple y más seguro.La guía comienza con progra-mas con interfaz en la consoladel sistema, con ejemplos sim-ples que van mostrando lasdiferentes construcciones de laprogramación orientada al obje-to, pasando por el acceso aficheros, la comunicación entresistemas a través de y accesoremoto a objetos (RMI). Paraterminar estudia el diseño de

aplicaciones con interfaz gráficoswing y applets mostrando losnuevos diseños (LookAndFeel)que presenta esta versión.

El PC. Los mejores trucosPor Jim AspinwallISBN 84-415-1820-3336 páginasEditorial Anaya Multimedia

Hacer que el inicio del PC seamás rápido, mejorar su fiabili-dad, utilizar múltiples siste-mas operativos o poder recu-perarse de forma rápida... ElPC. Los mejores trucos le pro-pone sacar el máximo partidoal software y al hardware desu equipo y hacer que suexperiencia frente al ordena-dor sea más satisfactoria.Hallará un truco para cadaaspecto de su PC, desde lafuente de alimentación al puer-to del ratón, desde el vídeo a lasconexiones de red, y tendrá laoportunidad de aprender sobrecada una de las secciones deun PC a lo largo del camino. Sinecesita controlar su RAM,configurar discos duros y llevara cabo particiones, modificar suplaca base, CPU, periféricos ysistema operativo, tiene unaayuda única en este libro pararesolver éstas cuestiones.Esta obra combina un estilosencillo con el tratamiento delhardware informático máspopular del mundo. Se presen-

ta en un formato claro y direc-to y contempla tanto Windowscomo Linux, convirtiéndose enla garantía de que mejorará yajustará su forma de conseguirel mejor rendimiento posible.

C++ estándarPor British StandardsInstitute ISBN 84-415-1830-01.008 páginasEditorial Anaya Multimedia

C++ ha evolucionado para res-ponder a los nuevos desafíos,con un importante esfuerzo delcomité de normalización paramejorar y desarrollar áreasespecíficas como la de lasbibliotecas. Los resultados deesa labor y la base de todo eltrabajo futuro con C++ se plas-man en el siguiente estándar:el código escrito de acuerdocon el mismo le asegura sufuncionamiento durante años.C++ Estándar es la obra dereferencia clave para producirimplementaciones seguras ycorrectas, al establecer conclaridad las reglas existentesy contribuir a la resolución delos problemas de compatibili-dad. Encontrará una descrip-ción exhaustiva de las carac-terísticas que definen al len-guaje, lo que la convierte ade-más en el mejor recurso pararealizar consultas rápidas ensu trabajo con C++.

Programación en C/C++ Por Manuel Alfonseca,Alejandro Sierra ISBN 84-415-1821-1400 páginasEditorial Anaya Multimedia

C continúa siendo hoy una refe-rencia clave, como un lenguajeestructurado de alto nivel y pro-pósito general que tenía el obje-tivo inicial de ser utilizado para laprogramación de sistemas. Laextensión de este lenguaje, reci-bió el nombre de C++ y se haconvertido en uno de los len-guajes dominantes para la apli-cación de estas técnicas.El libro describe de forma con-junta C y C++, analizando suscaracterísticas estándar, paraconseguir que el lector seacapaz de construir programasque puedan funcionar indis-tintamente.Encontrará un amplio trata-miento de los conceptos co-munes a ambos lenguajes; sinembargo, se señalan al mismotiempo las diferencias de tra-tamiento y las extensionesintroducidas por C++, que amenudo simplifican notable-mente la programación. Deesta manera, esta guía puedeser útil indistintamente tantopara el lector que no conozcaninguno de los dos lenguajes,como para el experto en C quedesconozca C++.

Page 34: Elektor 301 (Junio)

Tony Dixon

Parte 2:construcción y programación de la placa ARMee

elektor

Sistema de Desarrollo

34

Page 35: Elektor 301 (Junio)

tensión de red DC estándar capaz deproporcionar una tensión comprendidaentre 9 y 15 V DC. Un adaptador capazde suministrar una corriente de alre-dedor de unos 500 mA, será más quesuficiente para alimentar la tarjeta delsistema de desarrollo y cualquier can-tidad razonable de dispositivos conec-tados a la tarjeta de desarrollo.En la placa hija del procesador, losreguladores de tensión proporcionanlas distintas tensiones de alimenta-ción para alimentar al LPC 210x: 1,8V para el núcleo de la CPU y 3,3 Vpara sus periféricos y sus dispositivosde E/S. El microprocesador LPC 210xdispone de E/S que soportan tensio-nes de +5 V y que son capaces decontrolar de manera directa puertaslógicas TTL de 5 V.Al igual que muchos procesadoresmodernos, el LPC 210x proporciona uncircuito de reset de manera interna, deforma que tan sólo es necesaria unaresistencia externa de "pull-up" paraacabar el diseño. El pulsador S2 estádisponible para permitir que se puedarealizar un reset manual.La comunicación a través del puertoserie RS 232 se proporciona por mediodel conector K5 y dicho interfaz estámontado alrededor del circuito inte-grado IC1, un circuito transceptor RS232 MAX 3232, que proporciona doscircuitos controladores y dos circuitosreceptores. El circuito integrado MAX3232 se alimenta a través de una ten-

sión de 3,3 V y un multiplicador internoproporciona las tensiones de +12 y de-12 V necesarias para la interfaz RS232. La placa dispone de la opción deuna segunda interfaz RS 232 en elconector K6, proporcionado por elsegundo controlador y receptor RS 232del circuito integrado IC1. Los puentesJP6 y JP7 deben estar montados en suposición correcta para permitir el usodel segundo puerto RS 232.Si no se requiere el uso de las dos inter-faces RS 232, el conector K6 puede pro-porcionar una interfaz RS 485 con ter-minales compatibles Modbus. La inter-faz RS 485 está controlada por elcircuito integrado IC2, un circuito trans-ceptor RS 485 MAX 3082 de la casaMaxim, el cual también se alimenta dela tensión de alimentación de + 3,3 V.Los puentes JP6 y JP7 deben estarmontados en la posición correcta parapermitir el uso del puerto RS 485 enlugar del segundo puerto RS 232.Como ya se ha mencionado anterior-mente, la interfaz RS 485 es del tipocon terminales compatibles con elModbus. Sin embargo, el Modbus uti-liza el terminal 5 de un conector sub-D de 9 terminales como una línea deseñal, mientras que para una interfazRS 232 el terminal 5 está conectado ala señal de masa. Para superar esteproblema, es necesario que el puenteJP4 también esté montado de maneracorrecta para seleccionar que el ter-minal 5 funcione como una señal en

35elektor

A lo largo de los años Elektor hapublicado un cierto número de placasde desarrollo con microcontroladoresy este artículo es el último de unalarga lista de este tipo de artículos. Loque hace diferente este artículo y estediseño es que en lugar de basarse enun dispositivo de ocho bits como unmicrocontrolador PIC [1], un AVR [2] oun 8051 [3], este diseño utiliza unmicrocontrolador ARM de 32 bits: elLPC 210x, de la casa Philips Semicon-ductor. Este dispositivo tiene todoaquello que podríamos pedir a unmicrocontrolador, lo cual nuestros lec-tores pueden consultar en el apartado"Principales características de la placaARMee y del microcontrolador LPC210x". Sin embargo, también debe-mos mencionar que este dispositivono tiene una interfaz para un conver-sor AD, ni una interfaz de busexterno. Pero a pesar de ello, el LPC210x es un verdadero microcontrola-dor, aunque no tenga una interfazpara bus externo que permita aumen-tar la capacidad de memoria utili-zando memoria Flash externa o cir-cuitos integrados para memoriaSRAM, o añadir nuevos periféricos.

El circuitoEl esquema eléctrico del circuito delsistema de desarrollo se muestra en laFigura 1. La placa madre puede ali-mentarse a partir de un adaptador de

¿Está aburrido de los PICs, AVRs y 8051 y con lo que cada uno de

ellos hace? El mes pasado tratamos los microcontroladores ARM de

32 bits y la familia LCP 210x de la casa Philips, innegable estrella de

todos los componentes de los que se habló en dicho artículo. Este mes

veremos la ARMee, una placa de desarrollo ARM de increíble

potencia que podemos construir y programar nosotros mismos.

o LPC210x “ARMee”

Page 36: Elektor 301 (Junio)

una interfaz RS 485 o como una señalde masa en una interfaz RS 232.El conector K4 proporciona la opción deconectar una pantalla LCD alfanuméricaestándar a la placa del sistema. La inter-faz LCD comparte algunos de los mis-mos terminales de E/S del LPC 210x conel conjunto de conmutadores DIL de 8unidades. Para utilizar la pantalla LCDcada posición de comunicación del con-mutador DIL debe estar configurada ensu posición de "OFF" (apagado). Se uti-liza un potenciómetro "preset" P1 paraajustar el contraste de la pantalla LCD.La señal R/W de la pantalla LCD, termi-nal 5 del conector K4, debe llevarse a 0V para evitar de esta forma que un pro-grama pueda volver a leer cualquierdato que esté presente en la pantallaLCD. Por lo tanto, un programa deberíautilizar un pequeño retardo para permi-tir que la pantalla LCD tenga tiemposuficiente como para procesar el últimocomando recibido. Las líneas digitalesde E/S, P0.22 y P0.23 controlan las seña-les RS y E respectivamente de la panta-lla LCD. Si el módulo LCD lleva inte-grado una luz de fondo, ésta puede ali-mentarse a través de la resistencialimitadora de corriente R22.En la placa se dispone de un conjuntode 16 diodos LEDs (D1 a D16). Los dio-dos LEDs están conectados a las 16 pri-meras líneas digitales de Entrada /Salida (E/S) del microcontrolador LPC210x y pueden usarse para indicar elestado y para monitorizar la actividad deperiféricos tales como una actividad enla UART. El diodo LED D1 está conec-tado a la línea P0.00, el diodo LED D2 loestá a la línea P0.01 y así sucesiva-mente. Debemos señalar que los diodosLEDs también comparten los terminalesde E/S del LPC 210x con otras funcionescomo puedan ser la UART0 o la UART1.

Los diodos LEDs están divididos endos grupos de 8 elementos. El primergrupo, D1 a D8, está habilitado por elpuente JP1 que conecta dichos dio-dos a la tensión de 0 V, mientras queel segundo grupo, D9 a D16, estáhabilitado por el puente JP2 que tam-bién conecta los diodos a 0 V.Un conmutador DIL de 8 elementos,S1, comparte los mismos terminales deE/S del LPC 210x que el conector inter-faz de la pantalla LCD y solamentedebe usarse si no hay ningún módulo

LCD montado sobre el sistema. Pode-mos utilizar estos conmutadores parapropósitos de depuración o como con-mutadores de configuración.En la placa madre se dispone de unconector DIN 41612 A + C, K2, para laconexión de una circuitería externa alsistema de desarrollo. Este conectorllevar las líneas de la tensión de ali-mentación de +5 V y de +3,3 V, lasseñales de reset y de reloj y las 32líneas de E/S provenientes del LPC210x. El conector también proporciona

elektor 36

K1

+3V3

K2

+3V3

+5V

P0.17/TRST

P0.5/MISO

P0.6/MOSI

P0.7/SSEL

P0.8/TXD1

P0.9/RXD1

P0.18/TMS

P0.19/TCK

P0.20/TDI

P0.21/TDO

P0.0/TXD0

P0.1/RXD0

P0.3/SDA

P0.4/SCK

P0.2/SCL

LPC210x

VDD1 .8 VDD3-2VDD3-1

P0.14

P0.22

P0.23

P0.24

P0.10

P0.11

P0.12

P0.25

P0.26

P0.13

P0.15

P0.16

P0.27

P0.28

P0.29

P0.30

P0.31

IC1

VS

S1

VS

S2

VS

S3

VS

S4

RTCK

DBG

RST

X1 X2

11 12

21 44

1740

19 31 43

22

23

24

26

27

28

29

30

32

33

34

35

36

37

38

39

41

45

46

47

48

13

10

14

15

18

NC

16

NC20

NC25

NC42

5

7

1

2

3

6

8

9

4

C4

100n

C5

100n

+3V3

C1

100n

+1V8

X1

16MHz

C3

33p

C2

33p

LMS8117AMP-1.8IC3

C7

10μ 16V

C8

10μ 16V

+1V8+5V

LMS8117AMP-3.3IC2

C6

10μ 16V

+3V3+5V

040444 - 2 - 11a

P0.3/SDA

P0.4/SCK

P0.5/MISO

P0.6/MOSI

RTCK

DBG

P0.7/SSEL

P0.8/TXD1

P0.9/RXD1

P0.22

P0.23

P0.24

P0.10

P0.11

P0.12

P0.25

P0.26

P0.13

P0.14

P0.15

P0.16

P0.17/TRST

P0.18/TMS

P0.19/TCK

P0.20/TDI

P0.21/TDO

RST

P0.27

P0.28

P0.29

P0.0/TXD0

P0.1/RXD0

P0.30

P0.31

P0.2/SCL

Figura 1. Esquema eléctrico del circuito del Sistema de Desarrollo ARMee. Hay queseñalar que el módulo procesador se puede desconectar de la placa principal.

LPC210x (2104/2105/2106):

– Núcleo del procesador ARM7TDMI-S de 16/32 - bits.

– Memoria Flash de programa de 128 kB.

– Memoria SRAM de datos de 16 / 32 / 64 kB.

– ISP e IAP.

– Entradas / Salidas digitales; 2 UARTs.

– Interfaces SPI e I2C.

– Temporizador de captura y salidas PWM.

– Interfaz de depuración JTAG.

Sistema de Desarrollo ARMee:

– Linealidad directa con los sistemas de desarrollo anteriorespublicados en Elektor.

– Módulo de procesador desconectable disponible ya mon-tado con un LPC2106.

– Diodos LEDs para visualizar el estado de los puertos.

– Ocho líneas de conmutadores DIL para entradas conmutadas.

– Conector para enlace con un módulo LCD alfanuméricoestándar.

– Conexión con el mundo real a través de dos conectoressub-D de 9 terminales: 2 x RS232 ó 1 x RS232.

– 1 x Modbus con terminales compatibles con la interfaz RS 485.

– Conector de expansión DIN 41612 I/O en placa madre.

– Placa Eurocard de 160 x 100 mm.

– Compiladores “C” GNU y GCC gratuitos de multi-plataforma.

– Una amplia selección de programas de desarrollo ARMcomerciales y gratuitos.

Principales características de la placa ARMee y del LCP210x

Page 37: Elektor 301 (Junio)

las señales para los interfaces inde-pendientes I2C y SPI. Debemos seña-lar que en el microcontrolador LPC210x, un terminal de E/S puede pro-porcionar más de una función, en estecaso, el terminal de E/S puede ser com-partido con la UART, la interfaz I2C, lainterfaz SPI u otras señales. Tambiéndebería señalarse que los diodos LEDsde la placa, el conmutador DIL de 8 ele-

mentos y las conexiones para elmódulo LCD, comparten señales deE/S en el conector DIN 41612.

Las placas de circuitoimpresoEn la Figura 2 (a y b) se muestran losdiagramas de pistas y los planos deimplantación de componentes de la

placa madre y de la placa hija delprocesador que se puede acoplar a laprimera.La placa hija que contiene el procesa-dor está disponible en el mercado yamontada, con la referencia 040444-91(con el microcontrolador LPC 2106montado), o totalmente limpia de com-ponentes, con la referencia 040444-1;para ello puede ver las páginas de

elektor 37

+3V3

K8

+3V3

+5V

P0.4/SCK

P0.5/MISO

P0.6/MOSI

RTCK

P0.7/SSEL

P0.8/TXD1

P0.9/RXD1

P0.22

P0.23

P0.24

P0.10

P0.11

P0.12

P0.25

P0.26

P0.13

P0.14

P0.15

P0.16

P0.17/TRST

P0.18/TMS

P0.19/TCK

P0.20/TDI

P0.21/TDO

RST

P0.27

P0.28

P0.29

P0.0/TXD0

P0.1/RXD0

P0.30

P0.31

P0.2/SCL

P0.3/SDA

K7

R20

10

k

DBG

K2

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

2 0

2 1

2 2

2 3

2 4

2 5

2 6

2 7

2 8

2 9

3 0

3 1

3 2

3 3

3 4

3 5

3 6

3 7

3 8

3 9

4 0

4 1

4 2

4 3

4 4

4 5

4 6

4 7

4 8

4 9

5 0

5 1

5 2

5 3

5 4

5 5

5 6

5 7

5 8

5 9

6 0

6 1

6 2

6 3

6 4

2

3

4

5

6

7

8

9

1

+5V +3V3

P0.16

P0.17/TRST

P0.18/TMS

P0.19/TCK

P0.20/TDI

P0.21/TDO

P0.22

P0.23

P0.24

P0.25

P0.26

P0.27

P0.28

P0.29

P0.30

P0.31

P0.14

P0.16

P0.7/SSEL

P0.5/MISO

P0.3/SDA

P0.0/TXD0

P0.1/RXD0

P0.2/SCL

P0.3/SDA

P0.4/SCK

P0.5/MISO

P0.6/MOSI

P0.7/SSEL

P0.8/TXD1

P0.9/RXD1

P0.10

P0.11

P0.12

P0.13

P0.14

P0.15

P0.13

P0.15

RST

P0.6/MOSI

P0.4/SCK

P0.2/SCL

+5V +3V3

R21k

D1

R31k

D2

R41k

D3

R51k

D4

R61k

D5

R71k

D6

R81k

D7

R91k

D8

JP1

R101k

D9

R111k

D10

R121k

D11

R131k

D12

R141k

D13

R151k

D14

R161k

D15

R171k

D16

JP2

8x 10k1

2 3 4 5 6 7 8 9

R1

S1

1 6 1 01 11 21 31 41 5

1 2 3 4 5 6 7 8

9

+3V3

K4

VS

S

VD

D

R/W

VO

RS

D0

D1

D2

10

D3

11

D4

12

D5

13

D6

14

D7

15 161 2 3 4 5 6

E

7 8 9A K

LCDisplay 2 x 16

10k

P1

+5V

1 2

3 4

5 6

7 8

9 10

11 12

13 14

15 16

17 18

19 20

K1

+3V3

P0.22

P0.23

P0.24

P0.25

P0.26

P0.27

P0.28

P0.29

P0.30

P0.31

R22

33

Ω

+5V

P0.0/TXD0

P0.1/RXD0

P0.2/SCL

P0.3/SDA

P0.4/SCK

P0.5/MISO

P0.6/MOSI

P0.7/SSEL

P0.8/TXD1

P0.9/RXD1

P0.10

P0.11

P0.12

P0.13

P0.14

P0.15

P0.23

P0.24

P0.25

P0.26

P0.28

P0.29

P0.30

P0.31

P0.17/TRST

P0.20/TDI

P0.18/TMS

P0.19/TCK

RTCK

P0.21/TDO

RST

S2

RESET

R19

10

k

+3V3

K5

SUB D9

1

2

3

4

5

6

7

8

9

K6

SUB D9

1

2

3

4

5

6

7

8

9

MAX3082

IC3

RO

RE

DE

DI

5

8

2

1R

D

3

4

7

6A

B

JP6

JP7

JP4

JP5

MAX3232

T1OUT

T2OUT

R1OUT

R2OUT

R1IN

IC1

T1IN

T2IN

R2IN

C1–

C1+

C2+

C2–

11

12

10

13

14

15

16V+

V-

7

89

3

1

4

5

2

6

C2

100n

C3

100n

C9

100n

C5

100n

C4

100n

+3V3

+3V3

R23

12

C1

100n

R24

R25

*

*

P0.0/TXD0

P0.1/RXD0

P0.9/RXD1

P0.8/TXD1

JP3

R18

10

k+3V3

P0.14

SERIALBOOTENABLE

7805

IC2K3D17

1N4007C6

100μ 25V

C7

22μ 25V

C8

100n

R21

1k5

D18

+5V

see text*

040444 - 2 - 11b

R26

10

k

+3V3

R27

10

k

+3V3

P0.

13

P0.

10

Page 38: Elektor 301 (Junio)

nuestro Servicios de Lectores o acer-carse a nuestra tienda "On-Line".El microcontrolador LPC 210x es uncomponente de montaje superficial(SMD) de 48 terminales, que necesitaestar soldado directamente sobre laplaca de circuito impreso. La placa decircuito impreso limpia, con referencia040444-1, viene ya con una capa deestaño. Por tanto, para montar este com-ponente, colocaremos cuidadosamenteIC1 sobre los "pads" SMD y, a continua-ción, utilizando una punta de soldadormuy fina, soldaremos cada esquina del

circuito integrado. Si consideramos quela posición del circuito integrado escorrecta, continuaremos soldando cui-dadosamente el resto de los terminalesdel circuito integrado. La soldadura sehará con precaución, pero no debe pre-ocuparse demasiado si un exceso deestaño conecta varios terminales, ya quebasta con emplear una trencilla paradesoldar a cada cortocircuito realizadoen los terminales, de manera que apli-cando el soldador durante unos instan-tes consigamos que la trencilla absorbala mayor parte del estaño sobrante. Una

vez que el cortocircuito ha sido retirado,volveremos a aplicar la punta del solda-dor sobre el terminal correspondiente y,si fuese necesario, aplicaríamos un pocomás de estaño para conseguir la solda-dura correcta.La placa de circuito impreso sin compo-nentes de la placa madre también estádisponible, ya fabricada, a través denuestro Servicios de Lectores y en nues-tra tienda "On-Line", con la referencia040444-2. Cuando se monten los com-ponentes sobre la placa de circuitoimpreso habrá que observar cuidadosa-

elektor 38

040444-2

C1

C2

C3

C4

C5

C6C7

C8

C9

D1

D2

D3

D4

D5

D6

D7

D8

D9D10

D11

D12

D13

D14

D15

D16

D17

D18

H5

IC1

IC2

IC3

JP1

JP2

JP3JP

4

JP5

JP6

JP7

K1

K2

K3

K4

K5

K6

K7 K8

P1

R1

R2

R3

R4

R5

R6

R7

R8

R9

R10

R11

R12

R13

R14

R15

R16

R17

R18

R19

R20

R21

R22

R23

R24

R25

R26

R27

S1

S2

040444-2

Figura 2a. Diseño de la placa de circuito impreso de la placa madre del ARMee en tamaño Eurocard

LISTA DEMATERIALES Placa Madre ARMEee

Resistencias:R1 = 10 KΩ array SIL de 8 elementos R2-R17 = 1kΩR18,R19,R20,R26,R27 = 10kΩR21 = 1kΩ5R22 = 33ΩR23 = 120ΩR24,R25 = ver textoP1 = 10kΩ potenciómetro preset

Condensadores:C1-C5,C8,C9 = 100nFC6 = 100μF, condensador electrolítico

de 25 V radial

C7 = 10μF, condensador electrolítico de25 V radial

Semiconductores:D1-D16,D18 = Diodo LED de baja

corriente, 3 mmD17 = 1N4007IC1 = MAX3232CPEIC2 = 7805IC3 = MAX3082CP

Varios:JP1,JP2,JP3,JP5 = Conector tipo

“pinheader” de dos terminales con puenteJP4,JP6,JP7 = Conector tipo “pinheader”

de tres terminales con puenteK1 = Conector tipo “boxheader” de 20

terminalesK2 = Conector DIN 41612AC de 2 x 32

terminales

K3 = Conector de adaptador de tensiónde red para montaje en placa decircuito impreso

K4 = Módulo LCD de propósito generalde 2 x 16 caracteres

K5,K6 = Conector sub-D hembra de 9terminales, en ángulo recto paramontaje en placa de circuito impreso.

K7,K8 = Conector tipo “header” hembraSIL de 20 terminales

S1 = Microconmutador DIP de 8elementos

S2 = Pulsador de montaje en placa decircuito impreso, por ejemplo, DTS6

Radiador, Fischer SK 104 25,4 STCPCB, Placa de Circuito Impreso con

código de pedido nº 040444-2.Disco con los programas del proyecto

(LEDTest) con código de pedido nº040444-11, o por descarga gratuita.

Page 39: Elektor 301 (Junio)

mente la polaridad de los diodos, la delos condensadores electrolíticos y la delos diodos LEDs. Los circuitos integra-dos IC1 e IC3 de la placa madre puedenmontarse sobre zócalos. Una vez quetodos los componentes han sido mon-tados, inspeccionaremos visualmente laplaca y compararemos el fruto de nues-tros esfuerzos con la placa prototipoque se muestra en la Figura 3, antes deaplicar la alimentación a nuestra placa.

Herramientas deprogramaciónEl microprocesador LPC 210x puedeprogramarse fácilmente mediante ellenguaje de programación C. Para laarquitectura ARM podemos encontraren el mercado un gran número decompiladores C comerciales (ver losenlaces sugeridos en la web). Aque-llos usuarios que no deseen comprar

un compilador C comercial pueden uti-lizar el compilador C GNU, que es uncompilador C de código fuente abiertoconsiderado por muchos tan buenocomo el mejor de los compiladorescomerciales que se ofrecen en el mer-cado. El inconveniente principal de uti-lizar el compilador GNU es que no dis-ponemos de un proceso de instalaciónsencillo, como es habitual en un com-pilador comercial.

elektor 39

040444-2(C) ELEKTOR

040444-2

Page 40: Elektor 301 (Junio)

El propio circuito integrado LPC 210xpuede programarse utilizando elconector JTAG que lleva incorporado oel cargador de arranque serie interno.

¡Utilicemos el JTAG!La interfaz JTAG puede usarse paramás funciones que la de programaciónde un circuito integrado. Tambiénpuede emplearse para depurar un pro-grama durante su ejecución sobre elmicroprocesador LPC 210x. Para utili-

elektor 40

C6

C7

C8

IC1

K1K2

X1 040444

C1

C2

C3

C4C

5

IC2

IC3

(C) ELEKTOR040444-1

Figura 2b. Diseño de la placa de circuito impreso de la placa del procesador LCP 210x, que se puede desconectar de su placa madre.

LISTA DEMATERIALES Placa Hija LPC 210x

Condensadores:C1,C4,C5 = 100nF, encapsulado 0805C2,C3 = 33pF, encapsulado 0805C6,C7,C8 = 10μF condensador

electrolítico de 16 V radial

Semiconductores:IC1 = LPC210x (2104/2105/2106)

IC2 = LMS8117AMP-3.3IC3 = LMS8117AMP-1.8

Varios:K1,K2 = Conector tipo “pinheader” SIL

de 20 terminalesX1 = Cristal de cuarzo de 16 MHzPCB Placa de Circuito Impreso (sin

componentes) con código de pedidonº 040444-1.

Placa de Circuito Impreso (concomponentes y con el LCP 2106), concódigo de pedido nº 040444-91.

Figura 3. Nuestro prototipo acabado y verificado de la Placa de Desarrollo ARMee. El módulo procesador puede ser adaptadoa la aplicación final!

Page 41: Elektor 301 (Junio)

zar la interfaz JTAG se necesita unmódulo interfaz de depuración JTAGque se conecta entre el sistema dedesarrollo para el LPC 210x y el orde-nador que lo aloja. En el mercadopodemos encontrar distintos módulosinterfaces JTAG comerciales, así comovarias interpretaciones no comercialesde los mismos. Estos módulos puedenser fáciles de encontrar con tan sólobuscar un poco en Internet, o consul-tando en nuestros enlaces en la webque se proporcionan al final de esteartículo.Si no necesita usar una interfaz JTAGde depuración, puede programar elprocesador LPC 210x utilizando elcargador de arranque serie integrado.

elektor 41

Figura 4. Programa de descarga de la memoria Flash de la casa Philips.

Figura 5. Módulo Editor del Programador VIDE.

Bus Sencillo de Entrada / Salida - SIOBEl Bus Sencillo de Entrada / Salida (SIOB) es tan sencillo como lo sería un bus de expansión. 32 señales digitales de E/S sonllevadas a un conector DIN 41612 de una tarjeta y están disponibles como un puerto de expansión. Las líneas digitales de E/Spueden ser configuradas, bien como entradas o bien como salidas, dependiendo del tipo de interfaz de expansión requerido.El programador de la tarjeta de desarrollo es responsable de la configuración del registro de dirección de datos del microcon-trolador, de acuerdo con sus requerimientos de Entradas / Salidas digitales.

Además de las señales digitales de E/S, el bus SIOB también ofrece en la posibilidad de una expansión serie en la forma de uninterfaz SPI y un interfaz I2C. En el bus también están presentes una pequeña cantidad de señales de selección de circuitos SPI. Lapresencia de los interfaces SPI e I2C permitirá que los sistemas de desarrollo puedan ser ampliados de distintas maneras. Por ejem-plo, un sistema podría ser ampliado con conversores Analógicos a Digitales (CAD) y conversores Digitales a Analógicos (CDA)basados en el bus I2C, o la ampliación podría hacerse a través del bus SPI que controlaría señales de E/S digitales.

El bus está completado por las señales de alimentación de + 5 V y de + 3,3 V, una señal reloj, una señal RESET y una señal RESET.

Una nota final sobre el bus SIOB, los terminales de señal del LCP 210x no solamente son utilizados como E/S digitales, sinotambién como otras funciones tales como UART, I2C, SPI, PWM, Captura de Temporizadores, depuración JTAG, etc. En aque-llos lugares donde un terminal de señal se esté utilizando para, por ejemplo, controlar un interfaz UART, dicho terminal ya noestará más disponible como una señal digital de E/S y, por lo tanto, tampoco estará disponible para el bus SIOB. Si un sistemarequiere el uso de interfaces como una UART, JTAG de depuración y para pantallas LCD, entonces nos encontraremos con quetendremos muy pocas señales digitales de E/S disponibles para el bus SIOB. En estos casos, la expansión del sistema se reali-za de mejor manera a través de los interfaces I2C o SPI disponibles en el bus SIOB.

Esto permite emplear para otras fun-ciones adicionales las cinco líneasdigitales de E/S que usa la interfazJTAG.

Cargador de arranque serie

Para utilizar el cargador de arranqueserie, el puente JP3 tiene que estarmontado. El puente JP3 coloca el ter-minal P0.14 a masa y, generando unaseñal de reset desde el LPC 210x,fuerza a que el LPC 210x ejecute unprograma cargador de arranque serieinterno que está ubicado en los 8 Kprimeros de su memoria Flash.Utilizando un programa de ordenadorgratuito, proporcionado por la empresaPhilips Semiconductor (ver Figura 4), yun cable serie conectado entre el orde-nador que aloja el programa y laUART0 del microcontrolador LPC 210x

Page 42: Elektor 301 (Junio)

(Puerto 1 RS 232 en la placa ARMee),podemos realizar la programación delmicrocontrolador LPC 210x.

Uso de GNU y GCC conlos procesadores ARM:¿Por qué queremos utilizar un compi-lador GNU GCC? En primer lugar, lasherramientas, en virtud de sus oríge-nes y del método de soporte de sususuarios comunes, se proporcionan

para su uso gratuito en la página webde la Fundación de Software Gratuito(FSF). Estas herramientas están dis-ponibles a través de proyectos GNUbajo una licencia pública general GNU.Históricamente, los programas paraGNU/FSF estaban pensados para eje-cutarse bajo el sistema operativoUNIX, y GNU no es más que la formaabreviada de “GNU’s Not Unix” (esdecir, GNU que no son de Unix), mien-tras que GCC es la forma abreviada de

“GNU Compiler Collection” (es decir,Colección de Compiladores GNU).GNU GCC se puede encontrar en doce-nas de plataformas residentes paraLinux, Microsoft Windows, UNIX ySolaris, además de otras muchas. GNUGCC ha sido diseñado para producirficheros ejecutables para una gran can-tidad de arquitecturas de microproce-sadores diferentes que van desde elrango del Intel/AMD x86 hasta elMotorola 68x00, el PowerPC, ARM7 yARM9. GNU GCC también cubre dis-tintas arquitecturas de microcontrola-dores, algunas de las cuales puedenser MSP 430 de la casa TI, AVR deAtmel y la del 68HC11 de Motorola.Otra buena razón es la de los errores,es decir, los fallos en los programas.El conjunto de herramientas GNU seactualiza de manera regular, lo quesignifica que un fallo detectado yreportado puede solucionarse de unmodo relativamente rápido.Pero, ¿cuál es el mayor inconveniente deutilizar GNU GCC? Para contestar a estapregunta, lo primero que tenemos quehacer es pensar en el rango de platafor-mas y sistemas disponibles. Tendremosque verificar si GCC está disponible paranuestra plataforma de trabajo y, a conti-nuación, comprobar si nuestro procesa-dor, con el que estamos trabajando, estárecogido dentro de los dispositivos posi-bles. Por último, tendremos que decidir sicrear el GCC (por ejemplo, un compila-dor) nosotros mismos o si deseamos tra-bajar con una aplicación binaria precre-ada. Sin embargo, para la mayoría de loscomponentes podemos encontrar lasarquitecturas de destino más comunes,tanto para Win32 como para Linux, yambos modelos en código fuente y enbinario. Pero no todo es tan fácil, noesperemos encontrar un sencillo pro-grama de instalación o un Entorno deDesarrollo Integrado (IDE) (ésta es lapesadilla de los desarrolladores paraprototipos domésticos). Si deseamos dis-poner de un instalador y un entorno IDEsencillo, lo más cómodo es comprobaralguna de las compañías que ofrecenversiones de herramientas GNU pre-configuradas. Las herramientas GNU-Xde Microcoss y GNUPro de Redhat, sondos buenos ejemplos de herramientasGNU comerciales.Si por el contrario queremos construirnuestros propios ficheros binarios, ten-dremos que descargarlos a partir de lapágina web FSF/GNU y seguir las ins-trucciones que se proporcionan endicho sitio. Sin embargo, nosotrostomaremos uno de los muchos ficherosbinarios ya construidos y lo usaremospara compilarlo con nuestro código C.

elektor 42

Más Utilidades Binarias ARMaddr2line Convierte direcciones en nombres de ficheros y números de líneas.

ar Utilidad de Archivado (creación, modificación y extracción de archivos).

gprof Presentación de la información de perfiles.

nlmconv Convierte el código objeto en un NLM.

nm Lista símbolos a partir de los ficheros objeto.

ranlib Genera un índice del contenido de un archivo.

readelf Muestra la información de cualquier fichero objeto en formato ELF.

size Lista la sección de tamaños de un fichero objeto o un archivo.

strings Lista las tramas que se pueden imprimir de los ficheros.

strip Descarta los símbolos.

Ofertas ComercialesSi somos de esas personas que nos gustaría proporcionar algunos detalles personalesa Keil, podemos descargarnos de manera gratuita su versión IDE uVision y reconstruiruna copia de las herramientas GNU. Estas herramientas no tienen ninguna restricciónde uso para la generación de código con la única limitación (por ahora) de que sudepurador está limitado a un tamaño de programa de 16 KBytes. Las herramientas deKeil están basadas sobre su entorno desarrollo IDE uVision 3, donde la captura de lapantalla muestra el entorno IDE configurado para GNU GCC.Las empresas Redhat y Microcorss proporcionan herramientas GNU para construirque, según dicen, se encadenan sobre nuestros proyectos de destino o plataformasde trabajo. La empresa Rowley Associates también proporciona un entornos dedesarrollo comercial basado en la herramienta GNU encadenada, pero que utilizasu propia librería y entorno IDE.

Configuración del entorno IDE uVision de Keil para GNU GCC.

Page 43: Elektor 301 (Junio)

Para nuestro ejemplo usaremos el GNUGCC binario, versión 3.4 Win32, pre-construido, del sitio de Internetwww.gnuarm.com. También podemosseleccionar, si lo deseamos, la plata-forma Linux. En Internet podemosencontrar otros ficheros binarios pre-construidos, para ello, basta con buscaren Google [GNU], [ARM] y [binaires] ycomprobar la cantidad de informaciónque tenemos. Así que ¡descargue losficheros binarios de GNUARM e instá-lelos en su ordenador!

Compilador C GNUEn el subdirectorio GNUARM, dondehemos instalado los ficheros, miraremoslas lista de ficheros y veremos uno quese llama arm-elf-gcc-exe. De forma simi-lar, si estamos usando un microprocesa-dor basado en la arquitectura SH3,encontraremos el fichero sh3-elf-gcc-exe.Ahora, el fichero arm-elf-gcc-exe es uncompilador GNU GCC orientado a laarquitectura ARM que utiliza el For-mato de Linkado Extendido (ELF)para el formato del fichero objeto. Siestábamos utilizando el Formato deFichero de Objeto Común (COFF),deberíamos encontrar un fichero conel nombre arm-coff-gcc-exe. ELF yCOFF son dos formatos diferentes deestructura de ficheros en los que elGCC puede salvar el fichero objeto desalida del compilador.Nuestra primera tarea será la de asegu-rarnos que el compilador GCC ha sidoinstalado de forma correcta. Una pruebamuy rápida consiste en ver el mensajede versión del compilador GCC. Paraello, abriremos una ventana de coman-dos en Windows o una ventana MS-DOSy escribiremos el comando arm-elf-gcc-v. Si no conseguimos ver el mensaje conla versión de GCC, probablemente nece-sitemos añadir el directorio GCC ennuestro camino del entorno.Para utilizar el compilador abriremosla ventana DOS y escribiremos elcomando:

arm-elf-gcc -c ledtst.c

El programa actual se encuentra des-crito en el apartado "Test de LED – Unejemplo de uso de la placa ARMee".Con este artículo (040444-11) se obtie-nen unos ficheros, disponibles gratui-tamente para su descarga, que con-tienen el código ensamblador y losficheros resultado del proceso de "lin-kado" y de compilación.El compilador GCC tiene una serie deopciones que pueden ser invocadas,pero su número es tan grande que nose pueden listar en este artículo.

Algunas de las principales opcionesde la línea de comando son:

-c: sólo para compilar y no llega a "lin-kar" el fichero objeto.-Wall: para permitir que se produzcacada condición de aviso y de error que elcompilador pueda producir-o nombrefichero: para cambiar elnombre del fichero del fichero objetogenerado-S: para producir un listado ensambla-dor intercalado con el código C original-g: para incluir información dedepuración

Así, el comando

arm-elf-gcc -Wall ledtst.c -o ledtst

nos proporcionará la compilación delfichero ledtst.c con todos los avisoshabilitados generados por el compila-dor y producirá un fichero objeto quese llamará ledtst.o.

Cuando invocamos al compilador GCC,normalmente éste realiza todo el pro-ceso de compilación, ensamblado y "lin-kado". Sin embargo, podemos decirle alcompilador que no "linke" ninguno delos ficheros objeto utilizando la opción"-c". Cuando optamos por esta opción,podemos utilizar el "linkador" GNUpara combinar nuestros ficheros objetoen un único fichero de salida.

Linkador GNULos ficheros objetos producidosdurante la etapa de compilación estánpor sí mismos incompletos. Aún nece-

sitemos resolver las variables internasy las referencias a las funciones paralos ficheros objeto y es en este puntoes donde el programa "linkador"(enlazador) entra el juego. El trabajodel programa enlazador es el de com-binar los ficheros objeto y resolvercualquier símbolo y referencias a fun-ciones que estén aún por resolver.

La línea de comando GNU del pro-grama "linkador" ld (o arm-elf-ld),toma los nombres de los ficheros obje-tos que tienen que ser enlazados jun-tos como argumentos, así como cual-quier opción y salida, para proporcio-nar un único fichero objeto reasignado.Si tenemos varios ficheros para com-pilar y "linkar" (enlazar), podríamosescribir los comandos siguientes:

arm-elf-gcc -c module1.carm-elf-gcc -c module2.carm-elf-gcc -c module3.c

arm-elf-ld module1.o module2.omodule3.o -o prog1

No hay direcciones de memoria asigna-das a las secciones de código y de datosen el fichero objeto reasignado. Parahacer esto, necesitamos un programa"asignador" que asigne las direccionesde memoria físicas para cada sección decódigo y de datos. El "linkador" GNUdispone de una función de asignaciónde memoria incorporada que puedeasignar las secciones de código y dedatos del programa a zonas específicasde la memoria, lo cual se traduce en unaimagen binaria totalmente asignada.

elektor 43

Fichero de InicioPara poder utilizar nuestro programa C compilado lo primero que necesitamos haceres inicializar los punteros de la pila del procesado y la configuración de la memoria.Un fichero objeto independiente, denominado el "fichero de arranque" realiza normal-mente esta función. Habitualmente, un fichero de arranque tendrá un hombre similar a:startup.s, boot.s o crt0.s. El fichero de arranque esta enlazado al resto de los ficherosobjeto compilados durante la etapa de "linkado" de programas. Así, podemos verifi-car los ficheros ejemplo del grupo de ficheros para el LPC 2000, en Yahoo, paracrt0.s o boot.s, que son los ficheros ejemplo típicos de los fichero de arranque ARM.ThEl código de arranque debe proporcionar lo siguiente:

1. Deshabilitar todas las interrupciones.

2. Copiar las variables inicializadas desde la memoria ROM a la memoria RAM.

3. Poner a cero las variables de datos no inicializadas.

4. Asignar espacio para la zona de la pila e inicializarla.

5. Inicializar la pila.

6. Crear e inicializar la zona heap.

7. E

8. Habilitar las interrupciones.

8. Saltar al programa principal: main ().

Page 44: Elektor 301 (Junio)

El "linkador" incluye un lenguaje decomandos que puede ser utilizadopara controlar el proceso de enlazadoasí como para controlar el ordenexacto de las secciones de código y dedatos dentro del programa que se vaa asignar. También podemos asignardirecciones de memoria a la seccionesde código y de datos. Así, podemosllamar a un fichero "script" utilizandola opción en la línea de comandos "-T", seguida por el nombres del fichero"script", como por ejemplo:

arm-ekf-ld -Tlpc2106-rom.ld

GNU MakeEl fichero "Make" ("realizador") se uti-lizar para mecanizar el proceso de com-pilación. En esencia, la utilidad del pro-grama "realizador" sigue un conjuntode reglas definidas por el usuario, demanera que estas reglas son procesa-das en la forma de una secuencia. Porejemplo, en lugar de escribir las cuatrolíneas de comando para el ejemplo de"linkado" que se ha mostrado previa-mente, podríamos escribir y salvarestos comandos en un fichero de textoindependiente denominado "makefile"u otro nombre de fichero que se desee.Para compilar dicho ejemplo podríamosescribir el comando:

make makefile

La utilidad "Make" determinará queficheros de código fuente han cam-biado desde la última vez que se eje-cutó dicha utilidad y sólo compilaráaquellos ficheros que han cambiado.También podemos incluir condicionesde compilación, según deseemos,haciendo uso de las funciones del pre-procesador de la utilidad Make.

La DepuraciónEl conjunto de herramientas GNUGCC también viene con una herra-mienta de línea de comandos dedepuración denominada GDB.GNU GDB es una de esas herramien-tas cuyo funcionamiento y el grannúmero de opciones podría llegar aocupar un libro entero, dejando vacíoun único artículo. No vamos a inten-tar utilizar GDB con la Placa de Des-arrollo ARMee. En su lugar vamos autilizar el programa de descarga Flahsproporcionado por la empresa Philips(ver Figura 4). Por lo tanto, para esteartículo vamos a dejar de lado lamayoría de las funcionalidades de lautilidad GDB, pero aquellos lectoresque deseen disponer de mayor infor-

elektor 44

Test de LED – Un Ejemplo de Uso de la Placa ARMeeEn la comunidad de desarrollo de sistemas "embebidos" el primer programa que normal-mente se escribe con un nuevo compilador o una plataforma de destino, es un programade encendido de diodos LED. Se trata de algo estándar, como sucede con el programa"Hola mundo" para los programadores y desarrolladores de PC, y nosotros no somosdiferentes. Nuestro programa ejemplo estará formado por un programa en lenguaje Cque hará parpadear un diodo LED en la placa desarrollo ARMee. Ver el Listado 1!.Deberemos incluir el fichero cabecera Philips ARM LPC 2100 C, el fichero de arran-que ARM (boot.s) y el fichero de instrucciones de "linkado" GCC (lpc2106-rom.ld)en el mismo directorio que tengamos nuestro programa de prueba de diodos LEDs.Desde la línea de comandos escribiremos los siguientes comandos GCC:

arm-elf-gcc -c ledtst.carm-elf-ld -Tlpc2106-rom.ld -nostartfiles, -nostdlib -s -o led boot.o ledtst.oarm-elf-objcopy —output-target ihex test test.hex

Ahora deberíamos obtener un fichero hexadecimal "linkado" y compilado, listopara ser enviado a la tarjeta de Desarrollo ARMee. Para podernos ahorrar eltener que volver a escribir los comandos GCC, podemos escribir los comandosGCC anteriores dentro de un editor del texto y guardarlos como un fichero bat,como puede ser ledtst.bat, o crear un fichero "Makefile".Por último, en lugar de utilizar una herramienta de depuración GBD incluida con elprograma GNU GCC, vamos a poder utilizar el sencillo programa de descarga dememoria Flash, proporcionado por la casa Philips Semiconductor, tal y como pode-mos ver en la Figura 4. Seleccionaremos el nombre del fichero de nuestro ficherohexadecimal de diodos LED y lo descargaremos sobre la tarjeta de destino.Una vez que el programa ha sido volcado, presionaremos sobre el botón de reseten la tarjeta ARMee y el diodo LED D1 debe comenzar a parpadear.Felicidades! Acaba de compilar, "linkar" y descargar correctamente su programade prueba utilizando el compilador y las herramientas GNU GCC.

#include “LPC2000.h”

void Delay (unsigned long a){

while (—a!=0);}

int main (void) {

/* System Init *//* Init PLL */SCB_PLLCFG = 0x23;SCB_PLLFEED = 0xAA; SCB_PLLFEED = 0x55;

SCB_PLLCON = 0x01; /* Enable PLL */SCB_PLLFEED = 0xAA; SCB_PLLFEED = 0x55;

while ( !(SCB_PLLSTAT & PLOCK) ); /* Wait for PLL to lock */

SCB_PLLCON = 0x03; /* Connect PLL as clock source */SCB_PLLFEED = 0xAA; SCB_PLLFEED = 0x55;

/* Init MAM & Flash memory fetch */MAM_MAMCR=0x2; /* MAM = flash */MAM_MAMTIM=0x4;SCB_VPBDIV=0x1; /* PCLK = CCLK */

/* Init GPIO */GPIO_IODIR = 0x000000001; /* P0.0 as output */GPIO_IOSET |= 0x00000001; /* LED off */

/* main loop */while (1) {

GPIO_IOSET |= 0x00000001; /* LED off */Delay (1000000);

GPIO_IOCLR |= 0x00000001; /* LED on */Delay (2000000);

}

} /* End of main () */

Page 45: Elektor 301 (Junio)

mación sobre la herramienta GNUGDB pueden dirigirse a la página webdonde Bill Gatliff dispone de unaexcelente introducción.En esencia, la herramienta GDB esun depurador de código fuente.Dicha herramienta está conectada ala tarjeta de destino a través de unenlace serie donde se comunica einteractúa con un programa de tipomonitor en la placa de destino. Paralanzar la herramienta GDB debere-mos escribir:

arm-elf-gdb ledtst

Una vez que la herramienta GDB estáen ejecución podemos trabajar dentrode la consola GDB donde podemosescribir los distintos comandos dedepuración. A continuación, podemoscargar nuestro programa en la placade destino utilizando el comando:

(gdb) load

Una vez que el programa ha sido car-gado, podemos ir pasando a travésdel código fuente, seleccionar puntosde ruptura, investigar que funcioneshan sido llamadas para llegar a lasactuales líneas de código fuente o uti-lizar cualquiera de las otras opcionesde depuración que ofrece la herra-mienta GDB.

Otras HerramientasEl conjunto de herramientas GNUtambién incluye un cierto número deherramientas adicionales, las binutils,las cuales nos pueden ayudar durantenuestro desarrollo. Dos de estasherramientas más usadas son objcopyy objdump.La utilidad objcopy (o arm-elf-objcopy)se utiliza para convertir los ficherosobjeto de un formato a otro formato.Por ejemplo, podemos transformar unfichero partiendo de una imagen bina-

ria en un formato de tipo "s-record":arm-elf-objcopy -O srec ledtst.oledtst.s19

mientras que la utilidad objdump (oarm-elf-objdump) puede ser utilizadapara desensamblar los ficherosobjeto. Con los ficheros ya desen-samblados podemos ver donde el pro-grama "linkador" ha colocado las dis-tintas secciones de texto, datos y bssen nuestro fichero objeto. El coman-dos sería:

arm-elf-objdump -disassembleledtst.o

También podemos añadir códigofuente a la salida desensambladaañadiendo la opción -S a la línea decomandos. Si deseamos ver la tablade símbolos de nuestro ficheroobjeto, sencillamente tendremos queincluir la opción -syms en la línea decomandos.

En la Tabla 1 se listan algunas de lasfunciones adicionales incluidas enbinutils.

IDEUna vez que ha sido instalada, la apli-cación GNU no nos proporciona nin-gún tipo de entorno de desarrollointegrado (IDE). Para solucionar esteproblema podemos instalar la aplica-ción VIDE (ver Figura 5), uno de losentornos de desarrollo generales máspopulares que se pueden utilizar conel conjunto de herramientas GNU. La aplicación VIDE proporciona a losprogramadores un enlace con un edi-tor de texto y un entorno GUI para laejecución de las herramientas GNU.También existen otros entornos dedesarrollo IDE, tanto gratuitos comocomerciales, que están disponibles enel mercado para ser utilizados conmuestras herramientas GNU. Basta

con que echemos una ojeada enInternet para darnos cuenta que estoes cierto, o entrar en algunos de losforos, o en nuestra página web, parapoder contactar con los seguidores delas tarjetas ARM.

(040444-2)

Referencias:1. Sistema de Desarrollo PICee, de

Elektor Electronics, Abril de 20032. Sistema de Desarrollo AVRee, de

Elektor Electronics, Mayo de 20033. Placa Microcontroladora Flash

89S8252, de Elektor Electronics,Enero de 2002

Como Lectura Adicional1. Programming Embedded Systems in C

and C++, Michael Ball; O’Reilly(www.oreilly.com)

2. An Introduction to GCC, Brian J.Gough, foreword by Richard M.Stallman; pdf copy athttp://www.network-theory.co.uk/gcc/intro/

Direcciones de Internet:www.geocities.com/tonydixon2k1/index.ht

ml (página web de soporte de ARMee)www.gnu.org (página web Principal GNU)www.fsf.org (página web de la Fundación

de Software Gratuito)www.gnuarm.com (GNU Binarios para

procesadores ARM)http://groups.yahoo.com/group/lpc2000

/ (Grupo de discusión Philips LPC2000ARM)

http://groups.yahoo.com/group/gnuarm/ (Grupo de discusión GNU ARM)

www.objectcentral.com/vide.htm (VIDEWindows IDE)

www.billgatliff.com (Excelente tutorialGNU de Bill Gatliff)

http://www.dreamislife.com/arm/(Tutoriales LPC2106 de Senz)

www.keil.com (GNU GCC yCompiladores C Comerciales)

www.rowley.co.uk (GNU GCC yCompiladores C Comerciales)

www.redhat.co.uk (Cadenas deHerramientas GNU GCCComerciales)

www.microcross.co.uk (Cadenas deHerramientas GNU GCC Comerciales)

Page 46: Elektor 301 (Junio)

Prácticamente todos los circuitos electrónicos contienen transistoresde tipo bipolares, FETs o diodos. Por otra parte, la mayoría de losaficionados a la electrónica tienen una fuente de alimentación concomponentes procedentes de placas viejas. Nos resultaría muyútil, por tanto, una herramienta para comprobar los pines y medirlas características de dichos componentes.

Comprobador de dispositivossemiconductoresMichel Waleczek

2005Analizador SC

Page 47: Elektor 301 (Junio)

Si las marcas del dispositivo todavíapueden leerse, normalmente podría-mos consultar sus características mecá-nicas en un libro de características, en elcaso contrario sólo podremos supo-nerlo. Mediante este comprobadormanual podremos identificar de formarápida los tipos de dispositivos semi-conductores más usados (transistoresbipolares, JFETs, MOSFETs y diodos),incluyendo componentes SMD. Ade-más de identificación de pines, el com-probador calcula varios parámetros,tales como la HFE para transistoresbipolares, VTH, IDSS y RDSON paraJFETs, la tensión de disparo para losMOSFETs y la tensión/corriente directay de ruptura para los diodos. Toda estainformación se ve de forma clara en unapantalla LCD (compatible).

Principio de operaciónCada una de las tres patillas del dis-positivo desconocido se conecta amasa o a +5 V a través de resisten-cias con valores conocidos. Se puedenusar los siguientes valores de resis-tencias: 100 Ω, 1 kΩ, 5,6 kΩ, 5,6 kΩ y100 kΩ. Para cada configuración, semiden tres tensiones usando unmicrocontrolador PIC16F876.El microcontrolador siempre empiezacon una medida rápida, áspera, paradeterminar si el dispositivo es untransistor bipolar. Esto se hace conec-tando dos de las tres patillas del tran-sistor a masa mientras que la tercerapatilla se conecta a +5 V a través deuna resistencia de 5,6 KΩ. El micro-controlador mide la caída de tensiónen la resistencia y almacena el valormedido. Se realizan más de dos medi-das de esta clase con diferentessecuencias, cada una de ellas en launión de la resistencia de 5,6 KΩ y eltransistor. Esto supone tres valoresque tienen una relación especificacon el tipo de transistor.La Tabla 1 muestra los valores quedeberían medirse teóricamente paralos transistores NPN y PNP. Aquí elsigno menos corresponde a una cone-xión a masa a través de una resisten-cia de 100 Ω y el signo más para unaconexión a +5 V a través de una resis-tencia de 5,6 KΩ. Un transistor NPNnos da dos valores de aproximada-mente 5 V y uno de aproximada-mente 0,7 V, mientras que un transis-tor PNP nos da un valor simple de 5 Vy dos valores de 0,7 V.La primera prueba también es sufi-ciente para identificar la patilla basedel transistor, ya que es la patilla cuyos

valores difieren de los valores de lasotras dos patillas. Una vez identificadoel transistor de esta manera, se com-prueba su ganancia de corriente. Comolas posiciones del emisor y colector sondesconocidas, la ganancia de corrientese mide para cada uno de las dos com-binaciones posibles. El último valor setoma para ser mayor que los dos valo-res medidos.Si las tensiones medidas no respon-den a ninguna de las combinacionesde la Tabla 1, el dispositivo debesometerse a comprobaciones espe-ciales para otros tipos de componen-tes (MOSFET, diodo y JFET). Paracomprobar si el dispositivo es unMOSFET, la ganancia de corriente semide de forma similar para las seisposibles disposiciones de pines. Sinembargo, algunos transistores bipo-lares también pueden presentarresultados diferentes a los mostradosen la Tabla 1. Esto ocurre primordial-mente con transistores que tienen undiodo de protección entre el colectory el emisor, en cuyo caso, la ganancia

de corriente se mide también para lasseis disposiciones posibles.

LimitacionesPara evitar posibles errores, debe-mos decir que el analizador SC 2005no puede usarse para medir tiristo-res o transistores Darlington.

Medida de la gananciade corriente para transistores bipolaresLas medidas descritas en la parte dearriba nos han permitido identificar lapatilla de la base del transistor yahora las otras dos patillas se identi-fican conectando el transistor en unaconfiguración de colector común, sies un transistor bipolar, o en una con-figuración de seguidor de fuente, sies un MOSFET (ver Figura 1).La ganancia del transistor se deter-mina midiendo VB y VE. Las fórmulaspara este parámetro son:

VE = RE x (β + 1) x (VB ÷ RB ) β = [(VE x RB ) ÷ (VB x RE )] – 1

El circuito puede medir valores deganancia en el rango de 5 a 999. UnMOSFET de canal N (Figura 1c) sepuede distinguir de un transistorbipolar porque su ganancia decorriente es prácticamente cero. Eneste caso, la tensión de disparocorresponde a la tensión VCC-VE(para uno de canal N). Para que elcomprobador pueda identificar ade-cuadamente al MOSFET, debe teneruna tensión de disparo menor de 4,5V, lo cual debe ser un tipo de mejora

elektor 47

Tabla 1Medidas iniciales

Tipo E B C Valormedido

NPN

– – + 5 V

+ – – 5 V

– + – 0.7 V

PNP

– – + 0.7 V

+ – – 0.7 V

– + – 5 V

RB

100k

RC

230

Ω

RSW

65Ω

RE

1k

NPN

PNP

RSW

65Ω

RE

1k

RB

100k

RC

230

Ω

+5V +5V

A S

D

GNMOS

RSW

030451 - 12

Ω

RE

1k

RB

100k

RC

230

Ω

+5V

E

C

B

B

C

E

C

B

VE

= (

5V -

VT

H)

• R

E

(RE

+ R

SW

)

VE

= R

E •

β •

I B

VE

= R

E •

β •

I B

VB

= R

B •

I B

VB

= R

B •

I B

VB

= 0

V

VGS = VTH

Figura 1. Configuraciones para medir el valor de b para un transistor y la tensiónde disparo de un MOSFET.

Page 48: Elektor 301 (Junio)

(en la mayoría de los casos). El otrotipo de MOSFET es el llamado de tipovaciamiento y raramente se usa.

Medida de paráme-tros FETLos transistores de efecto de campo(FETs) se caracterizan por un cierto

número de parámetros, pero nosotrossólo estamos interesados en tres deellos: VTH (tensión disparo puerta-fuente), IDSS (corriente saturación/dre-nador) y RDSON (resistencia en estado‘on’). La determinación de estos pará-metros es más complicada que unasimple medida de la ganancia decorriente de un transistor bipolar.

La topología del circuito es adecuadapara hacer medidas directas, así puesusaremos un método indirecto basadoen un modelo matemático del FET (elmodelo de Schichman–Hodges) paradeterminar los valores de los tres pará-metros arriba mencionados. De lostres parámetros principales de estemodelo estático, el cual es usado prin-cipalmente en simulación Spice, aquísólo necesitamos dos porque el tercerparámetro (λ) no tiene efecto algunoen el último cálculo (ver en el interior).Con respecto a la determinación de losvalores de esos dos parámetros, esnecesario examinar dos puntos opera-tivos para obtener un set de dos ecua-ciones. En el primer caso, el FET espolarizado en región de funcionamientolineal (Figura 2a) usando una resisten-cia RG para forzar VGS1 a aproximada-mente 0,6 V. Algunos FETs con bajacorriente de saturación se pueden pola-rizar en su región de saturación en estaconfiguración, y en esos casos se usauna variación en el circuito mostrado enla Figura 2, pero esto no se describe enningún sitio. El primer campo de confi-guración fija los valores para VDS1, VGS1e ID1. El segundo punto de operación seobtiene configurando el transistor paraoperar como una fuente de corriente(Figura 2b), el cual nos da un segundoset de valores (VDS2, VGS2 e ID2).A continuación todo se complica unpoco, porque el segundo punto de ope-ración puede caer en la región lineal ola región de saturación. La región deoperación no puede determinarsehasta que se conozca la tensión de dis-paro VTH. No hay otra opción que cal-cular el valor de VTH para cada regiónde operación y después escoger elvalor adecuado de los dos resultantescomprobando las correspondientesregiones de operación.Las resistencias RSW de los interrupto-res analógicos se muestran en elesquema eléctrico que se puede ver en laFigura 3. Estas tienen un valor de apro-ximadamente 65 Ω. Los valores exactosse determinan usando un procedimientode calibración automático. La resisten-cia de drenador, la cual es aproximada-mente de 230 Ω, consta de una resis-tencia de 100 Ω, la resistencia del inte-rruptor analógico (65 Ω) y la resistenciade salida del microprocesador (65 Ω).Otro factor que debemos de tener encuenta es que la mayoría de los FETsson simétricos, lo cual significa que eldrenador y la fuente son intercambia-bles. Así es imposible identificar esasdos patillas separadamente, por lo queel comprobador sólo puede identificar

elektor 48

RG10

0kRD

230

Ω

RSW

65Ω

RS

135

Ω

RSW

65Ω

RD

230

Ω

RG

100k

RS

135

Ω

+5V +5V

JFET N JFET N

D

S

G

D

S

GVDS2

VGS2

VGS = 0V6

VDS

ID

VDS1

ID2ID1

VGS1

A

A

B

030451 - 13

tendencia en zona lineal

circuito

5V

12mA5VGS2

VGS2'

VDS

ID

B

tendencia en zona lineal

circuito

5V

12mA5

zona saturación

65Ω

65Ω

R9

1k

5

16 2 15

3

PIC16F873

74HC4052

13AN3

65Ω

25Ω

+5V

B

C

E

030451 - 14

Figura 2. Configuración para medir los parámetros JFET.

Figura 3. El circuito Kelvin evita errores debidos a la resistencia interna del74HC4052.

Page 49: Elektor 301 (Junio)

la patilla de la puerta. Las patillas dre-nador y fuente están indicadas deacuerdo a la configuración usada paracalcular los parámetros del transistor.Intercambiando las patillas de fuentey drenador no cambiará la informaciónmostrada en la pantalla del analizadorSC 2005, pero los resultados del cál-culo siempre corresponden con la dis-posición de pines indicada.

Esquema del circuitoEl esquema completo del circuito semuestra en la Figura 4. El circuito con-sume aproximadamente 6 mA (excepto

cuando tiene luz de fondo que necesitaunos 20 mA) y está alimentado por unapila de 9 V. Un regulador de tensión78L05, combinado con tres condensa-dores de desacoplo, reduce la tensiónexactamente a 5 V para alimentar elPIC16F876, el LCD (con luz de fondo) ylos tres multiplexores 74HC4502.El módulo display comunica con elmicrocontrolador en modo 4 bit a tra-vés de cinco patillas del Puerto C y lapatilla RA5 del Puerto A. El PIC16F876tiene un reloj de aproximadamente 1MHz a través de la red R10/C4. ElPIC16F876 se diferencia del clásico16F84 por tener un conversor A/D que

utilizaremos en este circuito. El pinReset se puede conectar directamenteal pin + 5 V, ya que el microcontroladortiene una función de reset automática.Las tres señales de control para eltransistor que está comprobándosevienen de RC4, RC5 y RC6 del PuertoC. Esas señales, que tienen unos nive-les de 0 ó 5 V, están rutadas a los tresterminales de prueba a través de lostres multiplexores analógicos parainsertar resistencias con valores espe-cíficos entre las salidas del microcon-trolador y cada uno de los terminalesde prueba. Los valores de resistenciaestán determinados por la selección

elektor 49

Las características estáticas de un JFET se pueden representarmediante un conjunto de fórmulas que expresen la corriente dedrenador como una función de las tensiones VGS y VDS del FET.Hay dos fórmulas diferentes, porque el modelo distingue entrela región lineal 0 ≤ VDS ≤ (VGS – VTH) y la región de saturaciónVDS ≥ (VGS – VTH), donde Vth es la tensión de disparo del FET.

El modelo completo utiliza los tres parámetros: β, λ y VTH. El paráme-tro β está relacionado con la corriente de saturación y la tensión de dis-paro, mientras que el parámetro λ representa el factor de modulaciónde la longitud del canal y se ha suprimido en nuestros cálculos (λ = 0).El modelo matemático que usamos aparece de la siguiente forma:

Para la región lineal, definida como 0 ≤ VDS ≤ (VGS – VTH),se aplica la siguiente fórmula:

ID = β·VDS·[2(VGS – VTH) – VDS ]·(1 + λ·VDS )

Para la región de saturación, definida como VDS ≥ (VGS –VTH), se aplica la siguiente fórmula:

ID = β·(VGS – VTH )2·(1 + λ·VDS )

Como hemos visto en la primera configuración el FET está enla región lineal con una IDSS adecuadamente grande, por loque la primera fórmula llega a ser:

ID1 = β·VDS1·[2·(VGS1 – VTH ) – VDS1 ] [1]

En la segunda configuración, el FET puede estar en la regiónlineal con:

ID2 = β·VDS2·[2·(VGS2 – VTH ) – VDS2 ] [2]

O puede estar en el modo saturación con:

ID2 = β·(VGS2 – VTH )2 [3]

De esta forma, obtenemos un par de ecuaciones en las cualesVTH y β son los desconocidos. Dependiendo de la región defuncionamiento del FET, debemos usar la fórmula [2] o la [3].

Si asumimos que el FET está operando en la región lineal, lasfórmulas [1] y [2]:

VTHLIN = C – (VGS2 – VDS2 )2/(VDS2 – VK ) [4]

donde

VK = (ID2 ID1 )·VDS1

y

C = VGS22 + VK·(VDS1 – 2·VGS1 ) [5]

Consecuentemente podemos calcular la constante B de lasiguiente forma:

B = 2·(VK – VGS2 ) [6]

Si el punto de operación del FET está en la región de satura-ción, mediante las fórmulas [1] y [3] obtenemos una ecua-ción de segundo orden:

VTH2 + B·VTH + C = 0

De manera que ahora tenemos dos soluciones para VTH:

VTH1 = –B + ⎟ [B2 – 4·(C ÷ 2)] [7]

y

VTH2 = VTHSAT = –B – ⎟ [B2 – 4·(C ÷ 2)] [8]

Sólo una de estas soluciones es físicamente posible, lo cual sedetermina evaluando las dos expresiones. Todo esto lo deja-mos para determinar V1 y V2 en lo que se refiere a la regiónde operación real del FET en la segunda configuración:

V1 = VGS2 – VTHLIN – VDS2

V2 = VGS2 – VTHSAT – VDS2

Si V1 > 0 y V2 < 0, el FET está operando en la región linealy Vth = Vthlin .

Si V1 < 0 y V2 > 0, el FET está operando en la región desaturación y VTH = VTHSAT.

Si el FET está operando en la región de saturación, el paráme-tro Idss se corresponde con la corriente de drenador para VGS= 0. Para VDS tomamos el valor correspondiente al límite de laregión de saturación, la cual es VDS = VGS – VTH = - VTH

Sustituyendo para VDS en la ecuación [2] ó [3]:

IDSS = β·VTH2

El valor se puede calcular fácilmente reordenando la fórmula[1] de la siguiente forma:

β = ID1 ÷ { VDS1·[2·(VGS1 – VTH) – VDS1 ]}

La resistencia RDSON corresponde al salto que se produce enel origen de la curva característica:

VDS = f(ID) if VGS = 0

Finalmente, en la fórmula [1] se alcanza el siguiente resulta-do cuando VDS alcanza 0 V:

ID = –2·β·VDS·VTH

RDSON = dVDS / dID = –[1 ÷ (2·β·VTH )]

Medidas en FETs Con el modelo Schichman–Hodges

Page 50: Elektor 301 (Junio)

de los pares RB4 y RB5 para la señalcorrecta (J1), RA2 para la señal cen-tral (J2) y RB1 y RB2 para la señal de laizquierda (J3). Las tensiones presen-tes en los terminales de prueba lasmide el PIC15F876 a través de lasentradas analógicas AN0, AN1 y AN3.En lo que se refiere a compensar losefectos de las resistencias internas delos interruptores analógicos cuandohacemos medidas de corriente, dichasmedidas se hacen usando un segundointerruptor en cada 74HC4052, enlugar de directamente a las patillasdel transistor desconocido.La operación de esta disposición semuestra esquemáticamente en laFigura 3 con la resistencia R9 conec-tada en el circuito. La resistenciainterna de la salida del microcontro-lador, la cual es de unos 30 Ω, tam-bién se debe tener en cuenta. Porúltimo, tres condensadores de 1 nFproporcionan cierta cantidad de fil-trado para las señales medidas.

SoftwareEl software está escrito en su totalidaden lenguaje ensamblador y ocupa unagran parte del espacio de memoria del

PIC16F876. Aproximadamente la mitaddel espacio ocupado se usa para calcu-lar los parámetros válidos para FETs. Sipodemos programar nuestro propiomicrocontrolador, descargaremos elfichero hex de la página de Elektor(www.elektor-electronics.co.uk). Elfichero de este artículo se encuentra enformato pdf (Abril 2005). Para los queno tengan acceso a Internet hay un dis-quete en el Servicio al Lector, código depedido 0304051-11. Naturalmente,podemos pedir el microcontrolador pro-gramado al Servicio al Lector bajocódigo de pedido 030451-41.

ConstrucciónEn la Figura 5 se muestra la cara depistas y de componentes de la PCB.Nos aseguraremos que los zócalos delos circuitos integrados, los conden-sadores electrolíticos, el regulador de5 V y los cuatro integrados se colo-quen en la posición adecuada.Las resistencias del 1% se puedensustituir por resistencias de películametálica del 5% cuidadosamenteseleccionadas usando un polímetropreciso y fiable. Los conmutadoresanalógicos deben ser de tipo 74HC,

ya que la resistencia interna de lasseries normales 4000 es demasiadogrande para esta aplicación.El módulo display se puede colocar en lacara de pistas de la placa de circuito.Para facilitar la conexión del display hayun conector de 16 pines en fila simple(macho) en la placa de circuito, el cualtiene el conector hembra complementa-rio en la placa de circuito del display.Nosotros hemos preferido usar cualquiermodelo de display de los llamados‘PLED’ (ver la sección del ‘OLED y PLED’en este artículo), pero también puedeusarse cualquier módulo LCD basado (ocompatible con) el Hitachi HD44780,aunque la disposición de pines puedeser diferente de la del display que usa-mos aquí. Observe que la disposición depines del display que usamos aquí espoco usual, con los pines 15 y 16 para laluz de fondo colocados junto al pin 1.Al lado de las patillas de prueba conclips, también hay un circuito especialde prueba que está conectado a laplaca de circuito impreso principal yque se puede usar para comprobar deforma simplificada dispositivos SMD(diodos y transistores). Usaremos trespines cortos y flexibles para conectar elsoporte SMD a la placa principal y ase-

elektor 50

R1

100k

R2

5k6

R3

1k

R4

100Ω

R5

100k

R6

5k6

R7

1k

R8

100Ω

R9

100k

R10

5k6

R11

1k

R12

100Ω

R14

47

k

R13

5k

6 C5

100n

+5V

C4

100p

LC DISPLAY

LCD1

VS

S

VD

D

R/W

VO

RS

D0

D1

D2

10

D3

11

D4

12

D5

13

D6

14

D7

1 2 3 4 5 6

E

7 8 9

+5V

C1

10μ25V

C3

10μ25V

C2

100n

S1 78L05

IC1

+5V+9V

POWER

+5V

030451 - 11

T.U.T.J2

J1

J3

1%

1%

1%

1%

1%

1%

1%

1%

1%

C6

1n

C7

1n

C8

1n

JP1

+5V

IC3

16

8 7

IC4

16

8 7

IC5

16

8 7

C9

100n

R15

33

Ω

R16

27Ω

C10

10μ 16V

10k

P1

K1

16 15

A

CONTRAST

K

D1

1N4001

PIC16F876

RA4/T0CKI

MCLR/VPP

RB6/PGC

RB7/PGD

OSC2

OSC1

IC2

RC0

RC1

AN3

RA2

RC3

RC4

RA5

RC6

RC7

RC2

RB0

AN1

AN0

RC5

RB3

RB1

RB2

RB4

RB5

20

10

28

27

26

25

24

23

22

21

11

12

13

14

16

15

17

18

198

1

9

3

2

4

6 5

7

74HC4052

IC3

MDX

G4

12

14

15

11

13

10

4x 6

10

51

22

43

0

1

2

3

3

19

0 03

74HC4052

IC4

MDX

G4

12

14

15

11

13

10

4x 6

10

51

22

43

0

1

2

3

3

19

0 03

74HC4052

IC5

MDX

G4

12

14

15

11

13

10

4x 6

10

51

22

43

0

1

2

3

3

19

0 03

Figura 4. Esquema completo del analizador SC 2005.

Page 51: Elektor 301 (Junio)

gurar que se mantiene la secuenciaadecuada (como vimos con anteriori-dad: contacto 1 a J1, contacto 2 (medio)a J2, y contacto 3 a J3). Aunque esto

apenas importa para las medidas, esimportante para la identificación depatillas. El contacto central siempre sedebe conectar a J2. Naturalmente, tam-

bién podemos usar patillas flexibles conminiclips. La placa de circuito está dise-ñada para fijarla en una caja estándarcon un compartimento de pila de 9 V.

CalibraciónDespués de encender el comprobadoraparecerá un mensaje de bienveniday se verá la versión de software (Ana-lizador SC 2005 Elektor Rev. 1.0e). Sino vemos este mensaje, intentaremosajustar el control del contraste con P1para mejorar la situación.Lo primer que debemos hacer es calibrarla resistencia interna de los interruptoresanalógicos. Cuanto más conocidos seanesos valores, más exactas serán lasmedidas de los diferentes parámetrosdel transistor. Si no realizamos esta cali-bración, usaremos por defecto un valorde 65 Ω en cada interruptor. Cada vezque encendemos el comprobador, el soft-ware verifica si ha tenido lugar la com-probación y si no se ha producido, apa-rece en pantalla ‘Cal error’ durante apro-ximadamente un segundo.El procedimiento de calibración es fácily se ejecuta de forma automática. Pararealizar el procedimiento, fijaremos unjumper en la posición JP1 mientrasque el comprobador se apaga y poneen corto las tres patillas de prueba;después se enciende el comprobador.Ahora, deberíamos quitar el jumper, yel procedimiento de calibracióncomenzará. Se miden tres resistenciasuna tras otra y sus valores se mues-tran de forma sucesiva. Después, apa-recerá el mensaje ‘Short RSH XX Ω’’ y

elektor 51

Figura 5. Cara de pistas y componentes para la placa de circuito impresoasociada. Los componentes SMD se pueden comprobar convenientemente usandouna pequeña placa de circuito.

ELEKTOR

1 2

3

1 3

2

(C) ELEKTOR030451-1

C1

C2

C3

C4

C5

C6 C7 C8C9

D1

IC1

IC2

IC3 IC4 IC5

JP1

K1

P1

R1

R2

R3

R4

R5

R6

R7

R8

R9

R10

R11

R12

R13

R14

R15

S1

J1 J2 J3

14

030451-1+-

11516

LCD1

ELEKTOR

1 2

3

1 3

2

(C) ELEKTOR030451-1

LISTADO DECOMPONENTESResistencias:R1,R5,R9 = 100kΩ, 1%R2,R6,R10,R13 = 5k6R3,R7,R11 = 1kΩ, 1%R4,R8,R12 = 100Ω, 1%R14 = 47kΩR15 = 33ΩR16 = 27ΩP1 = 10kΩ preset

Condensadores:C1,C3 = 10μF 25V radialC2,C5,C9 = 100nFC4 = 100pFC6,C7,C8 = 1nF MKTC10 = 10μF 16V radial

Semiconductores:D1 = 1N4001IC1 = 78L05IC2 = PIC16F876-20/SP (programado,

código de pedido 040409-41)IC3,IC4,IC5 = 74HC4052 (¡solo HC!)

Varios:S1 = interruptor deslizante on/off LCD1 = LCD estándar con 2 x 16

caracteres, por ejemplo ASI-G-162FS-GF-EWS/W (con luz de fondo) o LCD162C BL (P-LED con luz de fondo activo)

Conector 16 pines SIL con conector ocable plano para conexión a display

JP1 = jumper de 2 vías macho3 mini clips*3 zócalos DIL16 patillas1 zócalo DIL 28 patillasCaja , por ejemplo, Hammond 1591BTBUPila de 9-V con clip5 cables de puentePCB, código de pedido 030451-1 (ver

página del Servicio de Lectores owww.elektor-electronics.co.uk)

Disco, fichero código hex del PIC,código de pedido 030451-11 odescarga gratuita desde www.elektor-electronics.co.uk

* ver texto

Configuracióndel μC El microcontrolador se debe configu-rar con las siguientes opciones:

– Oscilador en modo RC

– Temporizador watchdog(WDT) inhabilitado

– 'Tiempo de reset en el encen-dido' habilitado

– Reset de apagado inhabilitado

– Protección de EEPROM inha-bilitada

– Escritura a memoria Flashinhabilitada

– Modo depurador inhabilitado

– Código de protección inhabi-litado

Page 52: Elektor 301 (Junio)

a continuación podremos desconectarlos tres terminales de prueba y el com-probador cambiará automáticamenteal modo de prueba y se visualizará elmensaje ‘No component *–*–*’.La calibración se puede realizar siem-pre que lo deseemos repitiendo elprocedimiento anterior (apagaremosel interruptor de encendido, colocare-mos el jumper, y encenderemos denuevo el interruptor).Si nos encontramos cualquier pro-blema, comprobaremos que los cincocables de puente están colocados en susitio. También nos verificaremos que latensión de alimentación está presenteen los zócalos del circuito integrado.

OperaciónDespués de que el mensaje de bien-venida nos muestre la versión de soft-

ware (Analizador SC 2005 Elektor Rev.1.0e), el display debería mostrar lasiguiente información (Fotografía 1).La primera línea muestra el tipo detransistor y el valor de uno de los pará-metros característicos. La segundalínea muestra la disposición de pinesdel transistor y, si es relevante, elsegundo parámetro.

Transistor bipolar La primera línea del display muestrala polaridad del transistor (PNP oNPN), el tipo de material semiconduc-tor (silicio o germanio), y el parámetroHFE. La segunda línea muestra la dis-posición del transistor y la corriente decolector. La corriente tiene un valoraproximado de 1,5 a 4 mA, depen-diendo de la ganancia de corriente. Elanalizador SC 2005 visualiza el tipo dematerial semiconductor (‘Ge’ para ger-

manio o ‘Si’ para silicio) de acuerdo alvalor VBE medido (Fotografía 2).Si el transistor está parcial o comple-tamente cortocircuitado, el analizadorSC 2005 marcará los terminales aso-ciados con una ‘X’. Consideramos quehay un corto si la resistencia medidaentre los dos terminales es menor de50 Ω (Fotografía 3).

FETsLos valores de los parámetros VTH,IDSS y RDSON se muestran aproximada-mente cada dos segundos. El analiza-dor SC 2005 determina arbitrariamentelos terminales drenador y fuente, perose corresponde con la configuraciónusada realmente para determinar losparámetros. Si cambiamos los termi-nales drenador y fuente del transistorbajo prueba (TUT), podemos obtenerlos valores para la configuración

elektor 52

OLED y PLEDLos LEDs orgánicos (OLED) y poliméricos (PLED) son los des-arrollos más recientes en la tecnología LED. El efecto de losOLED fue descubierto en los primeros años 80 por EastmanKodak, pero sólo recientemente se ha usado de forma prácti-ca en aplicaciones tales como PDAs y reproductores MP3. Lacámara digital Kodak LS633 fue uno de los primeros dispositi-vos que colocaron una pantalla OLED. Algunos de los repro-ductores de Packard Bell también tiene un buen display OLED.

Los OLEDs están basados en tecnología LCD. Un sándwichformado por varias capas de películas orgánicas está coloca-do entre dos electrodos cargados: un cátodo de metal y unánodo transparente. Hay cuatro películas orgánicas en total:una capa de inyección, una de transporte, una capa de emi-sión y una de transporte de electrón. Tan pronto como seaplica una tensión, las cargas positivas y negativas se combi-nan en la capa de emisión para generar luz electroluminis-cente. Al contrario que los LCDs, que necesitan una fuente deluz externa (luz de fondo), los OLEDs emiten luz activa.

Un desarrollo incluso más reciente es el PLED, en el cual unpolímero no dopado tiene un sándwich entre dos electrodos.El polímero se ilumina cuando se aplica una tensión. Estedispositivo puede producir un amplio rango de colores y esrelativamente barato comparado con otras tecnologías, talescomo LCD y OLED.

Las ventajas de PLED son que sólo requieren una pequeñacantidad de potencia para obtener un alto brillo, son relati-vamente ligeros, robustos y rápidos y operan en un rangode temperaturas relativamente grande.

Comentario sobre nuestro personal de diseño:Como habrá podido suponer somos entusiastas de las pro-piedades visuales del display PLED usado en este proyecto.Sin embargo, tenemos que decir que estamos en total des-acuerdo con el diseño de este display. Genera enormespicos de corriente con amplitudes de varios cientos demiliamperios, lo cual crea mucho ruido en la línea de la ten-sión de alimentación. En nuestra opinión, esto se debe a undiseño hardware bastante pobre (Versión A), con una inade-cuada atención de los tiempos de conmutación requeridospor los drivers del display. Debido a este problema, nos

hemos visto forzados a incluir una red RC extra en la ali-mentación de +5 V.

Desconocemos si los displays PLED de otros fabricantes tie-nen este mismo problema. Si podemos conseguir otro mode-lo de display PLED diferente, sería interesante medir lospicos de corriente que consume.

030451 - 15Polarizer

Glass

Glass

ITO anode

Gluing

Cathode

Organic light-emitting layer

OLED DISPLAY

Corte de sección de un display OLED.La estructura de un PLED es similar.

Page 53: Elektor 301 (Junio)

inversa, ya que los transistores deefecto de campo tienen estructurassimétricas, no debería de haber gran-des diferencias en los valores medidos.Considerando el método usado parahacer las medidas, la precisión de losvalores proporcionados por el analiza-dor SC 2005 es más que adecuada.Para Idss es ± 5 %, y para RDSON es ± 5Ω. Sin embargo, el valor medido de latensión de disparo puede diferir delvalor verdadero en 0,5 V para ciertostransistores, aunque en general seobtiene una precisión de 50 mV. Untipo particular de FET de un fabricantepuede alcanzar un valor que está muycercano al valor real, mientras que elmismo tipo de un fabricante diferentepuede diferenciarse en varios cientosde milivoltios. En la práctica, la preci-sión está relacionada con la precisióndel modelo Schichman–Hodges yrevela las limitaciones de este modelo(en lo que se refiere a la intercalación).

Tensión de disparoLa tensión de disparo es negativapara los FETs de canal N y positivapara los FETs de canal P. El valormáximo está limitado a ±20 V porsoftware. La resolución es 10 mV paravalores de hasta ±9,99 V y 100 mVpara valores mayores (Fotografía 4).

Corriente de saturaciónSe muestra la corriente de saturación(con la puerta cortocircuitada con lafuente). El valor de los rangos de lacorriente de saturación va desde 0 a99,9 mA. La resolución es 10 μA paracorrientes de hasta 10 mA, y 100 μApara corrientes de hasta 100 mA(Fotografía 5).

Resistencia drenador/fuenteÉsta es la resisencia drenador-fuentecuando el FET está completamente en‘on’ con VGS = 0 V. La medida tiene unrango de 0 – 999 W (Fotografía 6).

MOSFETsLa tensión presentada corresponde ala tensión de disparo del MOSFETpara una corriente de drenador deaproximadamente 2 mA. El rango demedida es de 0 – 4,5 V, con una reso-lución de 10 mV. Para una identifica-ción adecuada de un dispositivo MOS-FET, la corriente de ruptura de puertano debe exceder 0,5 μA (Fotografía 7).

DiodosLos diodos se pueden conectar entrelos terminales izquierdo y derecho delcomprobador. El analizador SC 2005

indica las posiciones del ánodo ycátodo. Se visualizan tres pantallasde forma secuencial con un intervaloaproximado de 2 segundos. La pri-mera pantalla muestra la tensión ycorriente del diodo a través de unaresistencia de aproximadamente 400Ω. La corriente máxima es limitadaalrededor de 12 mA (Fotografía 8).En la segunda pantalla aparece lamisma información, pero esta vez conuna resistencia aproximada de 5,9kΩ, la cual provoca que la corrientemáxima sea limitada a aproximada-mente 800 μA (Fotografía 9).La tercera pantalla representa lacorriente en sentido inverso y la ten-sión de prueba. La resolución es de100 nA (Fotografía 10).

SMDsPosiblemente se habrá preguntadocómo usar la parte de SMD del compro-bador. Los terminales del componentea ser comprobado deben estar en con-tacto con las correspondientes áreas decobre de la placa de circuito. Los diodosSMD se deben conectar entre las áreas1 y 3. Debemos usar una pequeña vari-lla de plástico para poder presionar deforma conveniente el dispositivo de talforma que hagan un buen contacto.

ConclusiónEl analizador SC 2005 es un instrumentomuy manejable y que se construye fácil-mente, con un gran número de caracte-rísticas, las cuales pueden ser muy úti-les para todos los aficionados y profe-sionales de la electrónica. Una brevelista de posibles aplicaciones incluye labúsqueda de un tipo equivalente, com-probando la operación del dispositivo, elcortocircuito, medida de transistores sinmarca y la determinación de la disposi-ción de pines sin hojear el data book. Eshora de calentar la punta del soldador.

(030451-1)

Enlaces Internet

Página del Autor:www.mwinstruments.com

Direcciones de FAQ:www.mwinstruments.com/SCA2005/sca2005.html

e-mail del autor:[email protected]

Microchip:www.microchip.com/download/lit/pline/picmicro/families/16f87x/30292c.pdf

elektor 53

Sobre elautorEl autor nació en 1965 y estudió enla Escuela Nacional Superior deElectrónica y Radioelectricidad deGrenoble (ENSERG), Francia.Trabajó como ingeniero durantesiete años en el departamento deinvestigación de un gran fabricantefrancés de equipos de pesado.Después, se pasó a la rama france-sa de Hameg, donde tenía el puestode Director de Desarrollo. Entre sustrabajos encontró un poco de tiempopara diseñar instrumentos de medi-da para aficionados electrónicos.

1

2

3

4

5

6

7

8

9

10

Page 54: Elektor 301 (Junio)

elektor 54

ros libros libros libros libros libros libros librosElektor ofrece a sus lectores una selección de libros técnicos de gran valor para aficionados y profesionales. Todos ellos están escritos en inglés,el idioma más utilizado en el ámbito técnico.

SERIE 300. Circuitos y aplicaciones:

301 CircuitsPrecio: 27,05 €

Agotado

305 CircuitsPrecio: 39,67 €

307 CircuitsPrecio: 46,28 €

Data Book 4 -Peripherical ChipsPrecio: 29,45 €

Construcción de equipos completos:

Build your ownHigh-end AudioEquipmentPrecio: 39,67 €

Build your ownElectronic test instrumentsPrecio: 42,07 €

Agotado

304 CircuitsPrecio: 34,26 €

303 CircuitsPrecio: 29,45 €

Agotado

302 CircuitsPrecio: 27,05 €

Short course8051/8032 microcontrollersand assemblePrecio: 27,05 €

Data Sheet Book 2Precio: 27,05 €

Agotado

ST62MicrocontrollersPrecio: 66,11 €

SCSI The insand outsPrecio: 66,11 €

PICs in practicePrecio: 66,11 €

The I2C BusPrecio: 66,11 €

Build yourown AudioValveAmplifiersPrecio: 39,67 €

Nombre

Domicilio

C.P.

Tel. Fax Fecha

CUPON DE PEDIDOPor favor envíen este pedido a:ADELTRONIKApartado de Correos 3512828080 MadridESPAÑATel. (91) 327 37 97

Forma de pago (vea la página contigua para más detalles)Nota: Los cheques serán en pesetas y conformados por una entidad bancaria.

❏ Cheque (nominativo a VIDELKIT, S.L.)

❏ Giro postal. Cuenta Postal (BBVA)

Nº 0182-4919-74-0202708815

❏ Fecha de caducidad:

Número de tarjeta:

Por favor envíenme los siguientes libros.

Cant. Título Precio/unid. TotalIVA incl. €

Sub-totalGastos envioTotal

Los precios y las descripciones están sujetas acambio. La editorial se reserva el derecho decambiar los precios sin notificación previa. Losprecios y las descripciones aquí indicadas anulanlas de los anteriores números de la revista.

3,01

Firma:

Data Book 3- PeriphericalChipsPrecio: 29,45 €

Microprocesadores, periféricos y técnicas:

MicroprocessorData BookPrecio: 29,45 €

Agotado

SMT ProjectsPrecio: 27,05 €

Agotado

Page 55: Elektor 301 (Junio)

elektor 55

servicio lectores servicio lectores servicio lectoreses

CONDICIONES GENERALES

Los circuitos impresos, carátulas autoadhesivas, ROMs, PALs, GALs, microcontroladores y disquetes que apa-recen en las páginas de ELEKTOR se encuentran a disposición de los lectores que lo requieran. Para solicitar-los es necesario utilizar el cupón de pedido que se encuentra en las páginas anexas.Este mismo cupón también puede utilizarse para efectuar pedidos de los libros de la colección de ELEKTOR (enversión original inglesa).- Los items marcados con un asterisco (*) tienen una vigencia limitada y su disponibilidad solo puede garanti-zarse durante un cierto periodo de tiempo. - Los items que no se encuentran en esta lista no están disponibles.- Los diseños de circuitos impresos se encuentran en las páginas centrales de la Revista. En ocasiones y porlimitación de espacio no se garantiza la publicación de todos los circuitos. En estos casos los lectores interesa-dos pueden solicitar los diseños, utilizando el mismo cupón de pedido y les serán enviados a su domicilio con-tra reembolso de 500 pts. (incluidos gastos de envio).- Los EPROMs, GALs, PALs, (E)PLDs, PICs y otros microcontroladores se suministrarán ya programados.Los precios y las descripciones de los diferentes productos estan sujetos a cambios. La editorial se reserva elderecho de modificar los precios sin necesidad de notificación previa. Los precios y las descripciones incluidasen la presente edición anulan los publicados en los anteriores números de la Revista.

FORMA DE ENVIO

Los pedidos serán enviados por correo a la dirección indicada en el cupón de las páginas anexas. Además loslectores pueden formular pedidos por teléfono llamando al número 91 327 37 97 de lunes a viernes en horariode 9,30 a 14 h y de 16 a 19 h. Fuera de este horario existe un contestador telefónico preparado para recogerlas demandas. Los gastos de envio serán abonados por el comprador, tal como se indica en el cupón.

FORMA DE PAGO

Todos los pedidos deberán venir acompañados por el pago, que incluirá los gastos de envio, tal como se indi-có anteriormente.El pago puede realizarse mediante cheque conformado de cualquier banco residente en territorio español, giropostal anticipado, tarjeta VISA (en este caso debe indicarse la fecha de caducidad, domicilio del propietario dela tarjeta y firma del mismo).Nunca se deberá enviar dinero en metálico con el pedido. Los cheques y los giros postales deben ser nominati-vos a la orden de VIDELEC S.L.

SUSCRIPCIONES A LA REVISTA Y EJEMPLARES ATRASADOS

Las suscripciones o pedido de números atrasados, si se encuentran disponibles, se realizarán a LARPRESS, C/La Forja, nº 27 - 28850 Torrejón de Ardoz (Madrid). Telf: 91 677 70 75, Fax: 91 676 76 65. E-mail:[email protected] precios de ejemplares atrasados son de 3,60 € más gastos de envio.

COMPONENTES UTILIZADOS EN LOS PROYECTOS

Todos los componentes utilizados en los proyectos ofrecidos en las páginas de la Revista se encuentran gene-ralmente disponibles en cualquier establecimiento especializado o a través de los anunciantes de este ejemplar.Si existiera alguna dificultad especial con la obtención de alguna de las partes, se indicará la fuente de suminis-tro en el mismo artículo. Lógicamente los proveedores indicados no son exclusivos y cualquier lector podráoptar por su suministrador habitual.

CONDICIONES GENERALES DE VENTA

Plazo de entrega: El plazo normal será de 2-3 semanas desde la recepción del pedido. No obstante no pode-mos garantizar el cumplimiento de este periodo para la totalidad de los pedidos.Devoluciones: Aquellos envios que se encuentren defectuosos o con la falta de alguno de los componentespodrán ser devueltos para su reposición, solicitando previamente nuestro consentimiento mediante llamadatelefónica al número (91) 3273797 en horario de oficina. En este caso la persona que llame recibirá un númerode devolución que deberá hacer constar al devolver el material en un lugar bien visible. En este caso correrápor nuestra cuenta el gasto de envio de la devolución, debiéndolo hacer así constar el remitente en su oficinapostal. A continuación se le enviará nuevamente el pedido solicitado sin ningún gasto para el solicitante.En cualquiera de los casos anteriores, solo se admitirán las devoluciones en un plazo de tiempo de 14 diascontados a partir de la fecha de envio del pedido.Patentes: Algunos de los circuitos o proyectos publicados pueden estar protegidos mediante patente, tanto enla Revista como en los libros técnicos. La editorial LARPRESS no aceptará ninguna responsabilidad derivadade la utilización inadecuada de tales proyectos o circuitos para fines distintos de los meramente personales.Copyright: Todos los dibujos, fotografias, artículos, circuitos impresos, circuitos integrados programados, dis-quetes y cualquier otro tipo de software publicados en libros y revistas están protegidos por un Copyright y nopueden ser reproducidos o transmitidos, en parte o en su totalidad, en ninguna forma ni por ningún medio,incluyendo fotocopiado o grabación de datos, sin el permiso previo por escrito de Editorial LARPRESS. No obstante, los diseños de circuitos impresos si pueden ser utilizados para uso personal y privado, sin nece-sidad de obtener un permiso previo.Limitación de responsabilidad: Todos los materiales suministrados a los lectores cumplen la NormativaInternacional en cuanto a seguridad de componentes electrónicos y deberán ser utilizados y manipuladossegún las reglas universalmente aceptadas para este tipo de productos. Por tanto ni la editorial LARPRESS, nila empresa suministradora de los materiales a los lectores se hacen responsables de ningún daño producidopos la inadecuada manipulación de los materiales enviados.

CONSULTORIO TECNICO

Existe un Consultorio técnico telefónico gratuito a disposición de todos los lectores. Este sevicio se prestatodos los lunes y martes laborables en horario de 17 a 19 h.El número de teléfono para consultas es el 91 375 02 70.

Código Precio(€)

E301 JUNIO 2005Sistema de Desarrollo LPC210x “ARMee” :

- Processor board, ready-made and tested 040444-91 40,00

Analizador SC 2005:- PCB 030451-1 11,00- Disco, project software 030451-11 10,50- PIC16F876-20/SP, programado 030451-41 27,50

E300 MAYO 2005Amplificador de Potencia de Altas Prestaciones:

- Amplifier PCB 040198-1 16,13- Indicador PCB 040198-2 13,29- Supply PCB 040198-3 13,29- Fuse PCB 040198-4 7,49

Comprobador de Amplificador Operacional:- PCB 030386-1 11,00

Medidor de Temperatura Remoto para Placa PIC18F:- Disco, project software 040441-11 10,28

Oscilador de Cristal Programable Vía Serie, Compacto y Universal:- Disco, project software 040351-11 10,28

E299 ABRIL 2005Detector RFID a 13,56 MHz:

- PCB 040299-1 19,00

Bicho Caminador:- Disco, código fuente y hex 040071-11 11,38- AT90S2313-10PI, programado 040071-41 17,29

E298 MARZO 2005Placa de desarrollo para PIC18Flash:

- PCB 040010-1 20,35- Disco, utilidades del software 040010-11 9,12

E297 FEBRERO 2005BUS casero-I2C:

- PCB 040033-1 22,56- Disco, código fuente y hex 040033-11 9,12

E296 ENERO 2005Filtros de Supresión de Ruido:

- PCB 030217-3 25,00

E295 DICIEMBRE 2004Amplificador de Clase T de 2 x 300 W ClariTy:

- PCB 030217-2 30,00

E294 NOVIEMBRE 2004Amplificador Clase-T 2x300 W:

- Placa amplificador con SMD premontado; núcleos para L1 y L2 030217-91 59,00

Dado rodante:- Set de PCB’S (6 caras) 040248-1 26,00- Disco, código fuente y hex 040248-11 9,00- AT89C2051-12PI, programado 040248-41 16,00

Cuchillo del Ejercito Suizo:- Set de PCB’S: MCU, RS232, USB 030448-1 17,71- Set de discos (a+b), todo el software del proyecto 030448-11 12,12- AT89S8252-24PC, programado 030448-41 48,00

E293 OCTUBRE 2004Analizador R/C:

- Disco, PIC código fuente 030178-11 9,12- PIC16F627-4/CP, programado 030178-41 19,00

Convertidor USB Controlado a través de HTML:- Disco, programas ejemplo 044034-11 9,12

E292 SEPTIEMBRE 2004Micro Servidor Web con placa MSC1210:

- Placa microprocesador, ensamblada y comprobada 030060-91 119,00- Placa de expansión de red, ensamblada y comprobada 044026-91 78,00- Paquete combinado (incluyendo 030060-91 + 044026-91 y todos los artículos) 044026-92 195,00- Placa de expansión de red, sólo PCB 044026-1 20,00

E291 AGOSTO 2004Multi Programador:

- PCB 020336-1 16,45- Disco, firmware y código fuente 020336-11 9,12

Pocket Pong:- Disco, software PIC 030320-11 9,12

Router de vías:- PCB 030403-1 20,19- Disco, software PC Y PIC 030403-11 9,12- PIC16F877-20/P, programado 030403-41 40,02

Operador Silencioso:- Disco, PIC software 030209-11 9,12- PIC16F84-10P, programado 030209-41 27,41

JUNIO 2005

Page 56: Elektor 301 (Junio)

elektor 56

res servicio lectores servicio lectores servicio lector

E290 JULIO 2004Diseño de Nuestro Propio Circuito Impreso:

- PCB 030385-1 29,00

Preamplificador de Gama Alta Controlado Digitalmente (2):- PCB placa principal 020046-1 16,00- PCB placa de relés 020046-2 14,00- PCB placa de alimentación 020046-3 12,50- Disco 020046-11 9,00- PIC18LF452-I/L, programado 020046-41 52,00

Medidor de Velocidad y Dirección del Viento:- Disco, software del proyecto 030371-11 9,00- PIC16F871, programado 030371-41 33,00

E289 JUNIO 2004Construya su Propio Receptor DRM:

- PCB 020148-1 16,00- Disco, proyecto ejemplo 020148-11 9,12

Caja De Música y el Sonido de Pandora:- PCB 030402-1 20,00- Disco, código fuente y hex 030402-11 9,12- PIC16F871/P, programado 030402-41 38,50

Explorador de VHF de Banda Baja:- PCB 020416-1 16,50

E288 MAYO 2004Construya su Propio Receptor DRM:

- PCB 030365-1 17,00- Disco, programa DRM.exe 030365-11 9,00

Cerradura Codificada:- PCB 020434-1 14,40- Disco, código fuente y hex 020434-11 9,00- PIC16F84A-4P, programado 020434-41 27,41

Multicanal Seguro para Modelos Controlados por Radio:- Disco, código fuente 020382-11 9,00- AT89C52-24JI, programado 020382-41 16,24

Medidor de Frecuencia Multifunción:- PCB 030136-1 17,50- Disco, software del proyecto 030136-11 9,00- AT90S2313-10PC, programado 030136-41 15,00

E287 ABRIL 2004Reloj Digital con Alarma:

- Disco, PIC código fuente y hex 030096-11 9,11- PIC16F84-04/P, programado 030096-41 28,36

iAccess:- Disco set, código fuente y control 020163-11 14,02- AT89S8252-12PC, programado 020163-41 25,94

Sencillo Inversor de Tensión de 12V a 230V:- PCB 020435-1 16,00

Conmutador Controlado por Tacto:- Disco, PIC código fuente 030214-11 9,12- PIC12C508A04/S08, programado 030214-41 11,49

E286 MARZO 2004Placa flash 64-K 80C552:

- PCB 030042-1 17,45- Disco, misc. software del proyecto 030042-11 9,12- 29F010, programado 030042-21 18,66- GAL 16V8D15QP, programado 030042-31 11,38

Registrador Climático:- PCB 030076-1 14,44- Disco, software Windows 030076-11 9,12

Codificador FMS para Simulador de Vuelo:- PCB 030066-1 19,03- 87LPC767BN, programado 030066-11 31,74

Ruleta a Diodos Led:- PCB 030168-1 33,00- Disco, código fuente y hex 030168-11 9,12- 89C2051-12PC, programado 030168-41 15,02

Nombre

Domicilio

C.P.

Tel. Fax Fecha

Por favor envíen este pedido a:ADELTRONIKApartado de Correos 3512828080 MadridESPAÑATel. 91 327 37 97

Forma de pago (vea la página contigua para más detalles)Nota: Los cheques serán en euros y conformados por una entidad bancaria.

❏ Cheque (nominativo a VIDELKIT, S.L.)

❏ Giro postal. Cuenta Postal (BBVA)

Nº 0182-4919-74-0202708815

❏ Fecha de caducidad:

Número de tarjeta:

Firma:

Por favor envíenme los siguientes materiales. Para circuitos impresos, carátulas, EPROMs, PALs, GALs,microcontroladores y disquetes indique el número de código y la descripción.

Cant. Código Descripción Precio/unid. TotalIVA incl. €

Sub-totalGastos envioTotal

Los precios y las descripciones están sujetas acambio. La editorial se reserva el derecho de cam-biar los precios sin notificación previa. Los pre-cios y las descripciones aquí indicadas anulan lasde los anteriores números de la revista.

3

CUPON DE PEDIDO

Código Precio(€)

Código Precio(€)

Page 57: Elektor 301 (Junio)

elektor 57

es servicio lectores servicio lectores servicio lectore

Controlador LCD de bajo coste (ii):- PCB 020114-1 16,79- Disco, software del proyecto 020114-11 9,46

Control de luz nocturna:- Disco, código fuente y hex 020115-11 9,46- AT90S2313-10PC, programado 020115-41 24,89

Tarjeta de desarrollo XA Universal (II):- PCB 010103-1 25,55- Disco, código GAL, EPROM, XADEV 010103-11 9,46- EPROM IC8, 27C256-90, programado 010103-21 19,36- EPROM IC9, 27C256-90, programado 010103-22 19,36- GAL 16V8, programado 010103-31 9,30

E278 JULIO 2003Temporizador descendente:

- Disco, código fuente y hex 020296-11 9,40- AT90S1200, programado 020296-41 26,00

Grabador de audio USB:- Disco, código EPROM 012013-11 9,40- EPROM 27C512, programado 012013-21 28,00

Amplificador Final a Válvulas (2):- Placa amplificador (1 canal) 020071-1 28,40- Placa fuente alimentación 020071-2 18,80

E277 JUNIO 2003Controlador de luces de discoteca de 8 canales:

- PCB 010131-1 25,34- 87C750 or 87C71, programado 010131-4 44,70

Pico PLC:- PCB 010059-1 36,00- Disco, programa de test 010059-11 9,00

Simple chip para Control de Tono:- PCB 020054-4 21,00

E276 MAYO 2003Fuente de Alimentación Conmutada de 17 V/10 A:

- PCB 020054-3 19,40

Unidad de conmutación complementaria para modelismo R/C:- PCB 020126-1 19,00- Disco, código fuente y hex 020126-11 10,00- PIC16C712-041/SO, programado 020126-41 32,00

Sistema de Desarrollo AVRee:- PCB 020351-1 27,36- Disco, programas ejemplo 020351-11 10,00

Caja de conmutación con efectos de guitarra:- PCB 020181-1 27,00

Temporizador Inteligente para Ventilador:- Disco, software del proyecto 020170-11 10,00- MSP430F1121, programado 020170-41 23,50

Sustitución del SAA3049:- PCB 020085-1 27,00- Disco, código fuente y hex 020085-11 10,00- 87LPC764BN, programado 020085-41 20,60

Desplazamiento de luces bicolor:- PCB, controlador 010134-1 17,00- PCB, placa LED 010134-2 22,00- Disco, software del proyecto 010134-11 10,00- AT89C2051-12PC, programado 010134-41 15,00

E275 ABRIL 2003Analizador Lógico 20/40 MHz:

- PCB 020032-1 32,00- Disco, programa demostración 020032-11 10,00- AT90S8515-8PC, programado 020032-41 31,28

Sistema de Altavoces Activo (II):- PCB 020054-2 16,46

Medidor de Capacidad con Escala Automática:- PCB 020144-1 15,00- Disco, código fuente y hex 020144-11 10,00- PIC16F84A-20/P, programado 020144-41 32,00

Reloj de arena electrónico:- PCB 020036-1 38,00- Disco, software del proyecto 020036-11 10,00- PIC16F84A-04/P, programado 020036-41 32,00

E274 MARZO 2003Sistema de altavoces activo (I):

- PCB 020054-1 16,00

Lanzador de Dado RPG Electrónico:- PCB 020005-1 23,00- Disco, código fuente 020005-11 11,14- AT90S4433-8PC, programado 020005-41 70,24

Ahuyentador de roedores:- PCB 020110-1 27,00

Conectores de red controlados SMS:- PCB 020157-1 25,00

E285 FEBRERO 2004Receptor de Control Remoto en FM:

- PCB 034044-1 19,00

Cronómetro de Proyectos:- Disco, códigos fuente y objeto 020350-11 9,12- PIC16F84-10P, programado 020350-41 24,52

Descubriendo el motor paso a paso (II):- Disco, código fuente 020127-11 9,12

Generador de Reloj Universal:- Disco, código fuente 020395-11 9,12

Enlace RS232 sin hilos:- PCB 030204-1 16,24

E284 ENERO 2004Contador de revoluciones para modelos de radio-control:

- PCB 024111-1 33,00- Disco, código fuente y hex 024111-11 9,00- 89C2051-12PC, programado 024111-41 16,00

Visualizador de Texto con Desplazamiento:- Disco, código fuente y hex 020407-11 9,00

Conversor USB analógico:- PCB 020374-1 14,00- Disco, códigos hex y software Windows 020374-11 9,00- PIC16C765, programado 020374-41 25,00

E283 DICIEMBRE 2003Generador de Señal de RF con DDS:

- PCB, generador 020299-1 22,00- PCB, control/alimentación 020299-2 23,00- AT90S8515 8PC, programado 020299-41 57,00

Detector de metal por inducción balanceada:- PCB 020290-1 17,00

E282 NOVIEMBRE 2003Generador de imágenes ATV:

- Disco, código fuente y hex 020295-11 9,12- AT90S8515-8PC, programado 020295-41 28,37- AT90S1200-12PC, programado 020295-42 25,70

Interruptor remoto mediante teléfono DTMF:- PCB 020294-1 22,00- Disco, software del proyecto 020294-11 9,12- PIC16F84A-20/P, programado 020294-41 27,50

Display de Cristal Líquido con Bus I2C:- PCB 030060-2 14,00

PICProg 2003:- PCB 010202-1 17,00- Disco, software Windows 010202-11 9,12- PIC16F874-20/P, programado 010202-41 44,00

Central de Medida de Precisión (2):- Placa ensamblada y comprobada 030060-91 68,00

Preamplificador a válvulas (I):- PCB, placa amplificador 020383-1 22,00- PCB, placa alimentación 020383-2 21,00- PCB, placa I/O 020383-3 19,00

E281 OCTUBRE 2003Mini Generador de Carta de Ajuste:

- Disco, código fuente 020403-11 9,46

Selector de Disco Duro:- PCB 034050-1 18,33

Herramienta de Programación para el ATtiny 15:- PCB 030030-1 14,60- Disco, software del proyecto 030030-11 9,46

Amplificador de coche en puente cuádruple:- PCB 034039-1 16,79

E280 SEPTIEMBRE 2003Adición de un destello:

- Disco, código fuente y hex 020293-11 9,29- PIC12C509A-04/SM, programado 020293-41 14,33

Programador AT90S2313:- PCB 034036-1 17,50

Mini display para texto en movimiento:- Disco, código fuente 020365-11 10,00

Control Remoto de Luz con Regulador de Intensidad:- Disco, código fuente y hex 020337-11 9,46- AT89C2051-12, programado 020337-41 12,09

E279 AGOSTO 2003Tenis TV con AVR:

- PCB principal 030026-1 15,40- PCB pulsadores 030026-2 16,70- Disco, código fuente AVR 030026-11 9,46- AT908515, programado 030026-41 29,43

Agenda electrónica de bolsillo:- Disco, software PC y controlador 020308-11 9,46- AT90S2313-10PCprogramado 020308-41 24,40

Código Precio(€)

Código Precio(€)

Page 58: Elektor 301 (Junio)

BATERÍAS DE SÚUlrich Passern

La moderna electrónica de los móviles demanda cada vezdispositivos más potentes y portátiles de almacenamiento. Losfabricantes de baterías de todo el mundo aumentan susinvestigaciones para conseguir adelantos, de manera que losnuevos desarrollos están sustituyendo a las viejas tecnologías, eincluso las nuevas tecnologías se sustituyen con mejores avances.Hay un estado de movimiento constante con sorpresas diarias.

elektor 58

Todo lo que siempre ha querido saber so

Existen tres tecnologías de baterías que dominan el mer-cado. La más antigua, y la que técnicamente está más aco-modada, es la batería de plomo-ácido. Su robustez casilegendaria y su bajo precio garantizan que pueda servirpara alimentar el motor de arranque de los vehículos y paraalmacenar energía para alimentaciones de emergencia.

La familia del níquel consta de dos productos muy conoci-dos: la batería de níquel-cadmio (NiCd) y la de níquel-metalhidruro (NiMH). Esto cambiará pronto, ya que el cadmio delas baterías de NiCd es dañino para el medioambiente yestá sometido a regulación en la Unión Europea; estas bate-rías desaparecerán del mercado en el año 2008. La indus-

Page 59: Elektor 301 (Junio)

tria está preparada para esto y ha promovido el desarrollode pilas de NiMH hasta el punto de que la sustitución de laspilas de NiCd es un problema. Las pilas de NiCd y NiMHtienen una carga química de reserva y son relativamenteinsensibles a sobrecargas o a descargas profundas.Durante algún tiempo ha sido imposible satisfacer losrequerimientos energéticos de los teléfonos móvilesmodernos, portátiles y PDAs usando pilas de níquel y, deforma inadvertida para muchos, una tercera familia debaterías ha ganado recientemente una importancia con-siderable. Éstas son las baterías de ión litio: Litio-ión (Li-ion) y polímero litio (Polímero de Litio). La tecnología dellitio cubre muchos de los requerimientosde los investigadores porque, con un electrodo de tensiónestándar de 3,04 V, se coloca a la altura de los modernosequipos electrónicos portátiles, ya que son ligeras, peque-ñas y tienen una densidad de energía extremadamente alta.Sería un error creer que hemos alcanzado el final delcamino: el desarrollo de una batería avanzada, especialpara portátiles. Sin embargo, se están alcanzandopotentes fuentes de energía, y en unos pocos años la tec-nología de las baterías de litio lo logrará. La siguientegeneración en fuentes de energía móviles ya está apare-ciendo en el horizonte: la pila de combustible

Un alma sensibleDurante mucho tiempo se pensó que los ingenieros nopodrían controlar procesos complejos en una pila delitio, pero un gran esfuerzo ha hecho posible que laspilas de litio sustituyan a las de níquel en casi todas lasaplicaciones clave. Sin embargo, tal y como observarán los asiduos lectoresde Elektor, hasta hace muy poco tiempo ha sido práctica-mente imposible comprar pilas individuales de Li-ión o Polí-mero de Litio. Ello se debe a que no ha sido posible equi-par a las pilas de litio con la ‘carga reserva’ que mencio-namos antes, de manera que éstas son extremadamentevulnerables. Si una pila de Li-ión o Polímero de Litio estásensiblemente sobrecargada, comienza a producir gasesy puede romperse (Figura 1). Dichos gases son muyvenenosos. Además, si una pila de litio está demasiadocargada puede producir fuego y, excepcionalmente,puede llegar a explotar. Por otra parte, el fuego producidopor el litio es muy difícil de apagar, ya que el agua secomporta como combustible, agravando el fuego, por loque no debe usarse en estos casos, en los cuales es mejorusar una manta, un extintor adecuado, o incluso tierra.

Protección electrónicaLa industria ha sustituido la ‘carga reserva’ de las pilasde litio con un circuito de protección inteligente que estáincluido en el pack de pilas (ver Figura 2) y usa un

número de sensores para proteger las pilas contra sobre-carga o corto-circuito (Figura 3). En las pruebas reali-zadas hasta ahora por los clientes se ha encontrado queestos packs de baterías son bastante seguros. Sería irresponsable distribuir la electrónica de seguridad:recordemos las noticias de la prensa sobre la explotaciónde teléfonos móviles Nokia, ahora podrían aparecer packsde baterías baratos sin protección frente a corto-circuito.

elektor 59

ÚPER LITIOobre las baterías de litio…

Figura 1. No esnormal que unabatería de Polímerode Litio se rompa.En casos extremospuede llegar aexplotar.

Figura 2. Loscircuitos demonitorizaciónintegrados enbaterías de litioindustrial secontrolan siempremediantemicroprocesador.

Figura 3. Lamonitorizaciónusando múltiplessensores protege ala batería de lasobrecarga.

Page 60: Elektor 301 (Junio)

Litio-polímero en la cimaDentro de la familia del litio hay dos miembros que estáncompitiendo por la superioridad en los últimos dos años. Elmercado de las pilas Li-ión ha caído de forma estrepitosamientras que las pilas de Polímero de Litio ganan terreno. Elfondo de esto es bastante sencillo: las pilas de Li-ión contie-nen un líquido electrolítico y, por lo tanto, deben estar pro-tegidas por un pesado recubrimiento de acero. Las pilas dePolímero de Litio, por otro lado, usan una película de polí-mero para contener el electrolito que puede empaquetarseen una fina capa de aluminio (Figura 4). Las pilas de Polí-mero de Litio pueden, por tanto, ofrecer más energía en unmenor volumen y son considerablemente más ligeras quelas baterías de Li-ión. Sin embargo, la fina caja de aluminiose daña fácilmente, por lo que estas pilas deben almace-narse y manejarse con cuidado.

La construcción plana de la pila de Polímero de Litio, quefue descrita en el número de Mayo del 2000 de Elektor,hace fácil su uso en muchas aplicaciones. Existe un ampliorango de pilas de Polímero de Litio con capacidad de 250mAh a 6.000 mAh. Sin embargo, los precios son bastantealtos, desde los 6 euros para una pila de 350 mAh hastalos 45 para la pila de 2.100 mAh, dependiendo de lacalidad, capacidad y efectividad bajo carga.Una gran demanda, especialmente de los modelistas, hasignificado que en el último año muchos fabricantes ysuministradores hayan comenzado a ofrecer pilas indivi-duales de Polímero de Litio o listas para ensamblar enpaquetes (generalmente sin protección electrónica). Enesta conexión hay un aviso importante: las pilas de Polí-mero de Litio se deben almacenar siempre fuera delalcance de los niños, ya que parecen tiras de chicle.

Ensamblado de paquetes Las pilas de Li-ión y Li-polímero se pueden conectar en serie oen paralelo. La Figura 5 muestra un empaquetado industrialde Li-ión para portátil, donde las pilas están conectadas enpares y en paralelo; tres de estos pares están cableados enserie. La Figura 6 muestra el esquema de marcado están-dar que se ha desarrollado para estos paquetes de pilas.Si deseamos construir nuestro propio paquete de pilas dePolímero de Litio, hay un par de problemas que debemossolventar. Un inconveniente particular es que el terminalpositivo está hecho de aluminio y no se puede soldarusando un soldador normal. El fabricante, por lo tanto,coloca una pequeña tira de metal soldable al terminal(Figura 7), el cual, de acuerdo con la ley de Murphy, esnormal colocar en el lado equivocado cuando se va aensamblar el pack. Una alternativa mejor es usar un solda-dor especial de aluminio, el cual por desgracia no es muybarato. Las finas conexiones del terminal tienden a rompersefácilmente y debemos ejercer un alivio de tensión (Figura8). Para simplificar el trabajo del pack ensamblado, muchosfabricantes ofrecen unas placas de circuito impreso soldablecomo accesorio, o suministran las pilas con las conexioneshacia una pequeña placa de circuito.

Energía puraHay pilas de Polímero de Litio de diferentes tamaños y pue-den cablearse en paquetes de diversas formas; tambiénexisten unidades de alta potencia a un elevado precio. Losdos packs de potencia de Polímero de Litio (ver fotografíaal comienzo de este artículo) tienen una capacidad de 6

elektor 60

Figura 4. Esquemade construcción de

una batería dePolímero de Litio(información de

Varta).

Figura 5. Batería deLi-ión para

portátiles enconfiguración 3S2P

(tensión terminal10,8 V).

Figura 6. Esquemade etiquetado parabaterías de Li-ión y

Polímero de Litio.

Figura 7.Normalmente seusa un trozo de

estaño para fijar alterminal de

aluminio de unabatería de Polímero

de Litio.

Figura 8. Un grantrozo de cinta sirve

para sujetar loscables de conexión.

Page 61: Elektor 301 (Junio)

Ah, una tensión nominal de 18,5 V y pueden manejar unacarga continua de 8 C (48 A). Las dos baterías juntas pue-den entregar alrededor de 1.600 W, en un peso de sólo1,2 Kg. El par de baterías cuesta unas quinientas libras.La mejor relación calidad/precio la ofrecen las pilasHDHE de 850 mAh con un peso de 18 g fabricadas porKokam. Este modelo puede descargarse hasta 10 C (porejemplo hasta 8,5 A) con picos de carga de hasta 15 C.En la Figura 9 se muestra un paquete de pilas soldadasa mano. Aquí seis pilas están cableadas en paralelo paraformar un bloque y cinco de ellas están cableadas enserie. El paquete (5,1 Ah, 18,5 V, 30 pilas) puede suminis-trar hasta 51 A de forma continua con picos de hasta 76A, un peso de 850 g y un coste total de unos 300 euros.

Protección electrónica contra corto-circuitoLas baterías de Litio se pueden monitorizar durante la cargay durante la descarga para asegurar que no están sobrecar-gadas. Las medidas muestran que las pilas que forman unabatería de litio se comportan de forma diferente en el casode que se estén cargando (Figura 10) o descargando(Figura 11). Por tanto, se recomienda una monitorizaciónindividual de las pilas. Toda la batería se puede monitorizarusando un circuito entre las líneas que se muestran en laFigura 12: las baterías de seis pilas requieren dos cablesextra para permitir monitorizar las pilas individualmente. En este momento no hay estándar para estas conexiones extra.Algunos fabricantes usan conectores múltiples (Figura 13),mientras que otros usan un simple conector extra (Figura 14).

El circuito denominado ‘balanceador de Polímero de Litio’(Figura 15) está conectado a los cables extra para unamonitorización individual de la pila. El camino de lacorriente de los balanceadores pasa por las pilas comple-tamente cargadas y, por lo tanto protege las pilas (opaquetes de pilas conectadas en paralelo) de la sobre-carga. Esto permite cargar las pilas juntas con mayor rapi-dez, desviando la corriente a las otras pilas o paquetes depilas. Los balanceadores de Polímero de Litio no evitan lasobre-carga, pero al mantener las pilas juntas, una al ladode la otra, se incrementa la energía total disponible. Loscircuitos para mantener las pilas individuales en paquetesde baterías de Litio están aún en desarrollo.Los circuitos que se usan generalmente para interrumpir ladescarga de la batería funcionan cuando la tensiónalcanzada en la pila es de 3 V. Las pilas de Polímero deLitio sufren un daño permanente si la descarga baja de2,5 V y así este valor de disparo permite una cierta canti-dad de variación entre las pilas en el paquete de batería.

Técnicas de cargaLas baterías de Litio, al igual que las de plomo ácido, estáncargadas a una tensión constante. El cargador debe propor-cionar simplemente una tensión fija de 4,1 V por pila parabaterías de Li-ión con un cátodo de óxido de Litio Cobalto o4,2 V por pila para Polímero de Litio, con una tolerancia de0,05 V por pila. La corriente viene dada por la fórmula:

I = (Ucharger – Ubatt) / Ribatt

… y cae a cero cuando la batería está completamente car-gada. La sobrecarga es, en principio imposible, y la bateríase puede dejar conectada al cargador durante tanto tiempo

elektor 61

Figura 9. Una bateríade Polímero de Litiohecha a mano usatreinta pines de 850mAh en unaconfiguración 5S6P. El paquete de 5,1 Ah,18,5 V puedealcanzar corrientesde hasta 10 C (51 A).

Figura 13. Algunasconexiones extraincorporadas nospermitiríanmonitorizar las pilasindividuales.

Figura 10. Las pilasindividuales de unabatería de Polímerode Litio puedenalcanzar sustensiones de disparo.

Figura 11. Las pilastambién tienen uncomportamientodiferente cuando sedescargan, y por lotanto, se debenmonitorizar deforma individual.

Figura 12. Las pilasde Litio (Li-ión yPolímero de Litio)pueden conectarseen serie o paralelo.La figura muestra elprincipio con laspilas de NiMH.

Page 62: Elektor 301 (Junio)

como deseemos, aunque por razones de seguridad las bate-rías de Litio nunca deberían cargarse sueltas. En lo que serefiere a que la corriente no sea demasiado alta cuandocomience la carga (no debería exceder 1 C), los cargado-res baratos están simplemente dispuestos para tener unaresistencia interna adecuada. Los cargadores más avanza-dos proporcionan una limitación de corriente adecuada. Esmuy fácil construir un cargador de batería de Litio. LaFigura 16 muestra el cargador LiPo402 de Kokam, el cualse puede llevar con facilidad en el bolsillo. Este cargador

está controlado por microprocesador y se puede ajustar deforma adecuada a varios tipos de baterías de Polímero deLitio. El precio está alrededor de sesenta y cinco euros.Podemos construir nuestro propio cargador de baterías deLitio, teniendo un especial cuidado en observar los valoresde tensión y corriente de disparo exactos.

EnvejeciendoLas baterías de Litio generalmente exhiben una auto-des-carga muy baja y se pueden almacenar durante largotiempo sin necesidad de mucha atención. El inevitableenvejecimiento se minimiza si se descarga alrededor de un20 % de su carga normal y se almacena en una habitaciónseca y fría (alrededor de 10º C). El ciclo de vida de lasmodernas baterías de Litio es similar al de otras baterías:deberían alcanzarse sin dificultad alrededor de 300 a 500ciclos de carga/descarga si no se abusa de la batería. Elefecto ‘memoria’ o ‘batería perezosa’ encontrado en lasbaterías de níquel no se da en las baterías de Litio, por loque no necesitan descargarse antes de cargarlas.

El vistazo finalLos requerimientos de energía de los modernos dispositi-vos móviles están siempre en incremento y en todo elmundo hay una enorme inquietud por una nueva fuentede energía: la pila miniatura de combustible.

En el año 2003 Japón identificó la pila de fuel como una delas seis tecnologías más importantes para el futuro de la eco-nomía japonesa. Casi tan pronto como se anunció esto, trescompañías japonesas presentaron sus planes: NEC, Toshibae Hitachi, que ya tenían pilas de combustible funcionandoen laboratorios y estaban trabajando para iniciar la produc-ción masiva. Las pilas de combustible para PDAs de Hitachideberían aparecer en el mercado en el año 2005.El fabricante de teléfonos Nokia ya está probando apa-ratos Bluetooth alimentados por pilas de combustible.Para probar su eficiencia día a día, los dispositivos queestán probando están repartidos entre las casas de uncentenar de empleados de Nokia.

El objetivo perseguido por los fabricantes japoneses essustituir todas las baterías que se usan en la actualidadpor otras de combustible del mismo tamaño. Sinembargo, es más que probable que los diferentes tiposcoexistan, tal y como lo hacen los cientos de años de his-toria que muestran las baterías de plomo ácido. Sinembargo, tranquilidad, estamos ante un dispositivo quetiene un futuro excitante en las alimentaciones móviles.

(040168-1)

elektor 62

Sobre el autorUlrich Passern nació hace 52 años, el día después de que los hermanos Wright realizarán el primervuelo. Inspirado por su padre (un hombre de vuelos) desde una edad muy temprana, desarrolló unapasión por construir y volar en aviones. En su vida profesional encontró su segunda pasión: la electrónica.Después de estudiar ingeniería eléctrica comenzó su trabajo en una gran empresa de ordenadores.Después montó su propia consultoría de ingeniería para tecnología de medidas y construcción de maque-tas, y con esto el desarrollo de baterías de prueba, las cuales fueron desarrolladas para un cargador con-trolado por ordenador que tuvo mucho éxito, tanto en el mundo de la industria como en el de los dispositi-vos de modelismo. Por otro lado, Ulrich trabajó en el campo de las computadoras y realizó regularmentelos estudios comparativos de baterías y cargadores de la revista de modelismo alemana FMT.

Figura 14. Lasbaterías de

Polímero de Litio deGraupner están

fijadas con unconector especialpara permitir que

las pilasindividuales sean

monitorizadas.

Figura 15. Loscircuitos

balanceadores dePolímero de Litio

protegen la bateríade sobrecargas y

mantienen losbloques de pilas

uno junto a la otra.

Figura 16. LaLiPo402 de Kokam

es un moderno ycompacto cargador

para baterías dePolímero de Litio.

Page 63: Elektor 301 (Junio)

elektor 63

Comparación de capacidades energéticasNormalmente la capacidad de una batería se especificaen Amperios-hora (Ah). Usando esta unidad se puededeterminar casi de inmediato cuánta batería se puedesuministrar de forma continua bajo una carga dada. Porejemplo, para calcular cuánto puede funcionar una bom-billa de 21 W con una batería de coche de 44 Ah com-pletamente cargada haremos:

I = P / U = 21 W / 12 V = 1.75 A

y

44 Ah / 1.75 A = 25.1 h

En lo que se refiere a comparar las baterías con tensio-nes de terminal diferentes es mejor trabajar con la capa-cidad de energía de una pila en Watios-segundos oWatios-hora (Wh), y la energía especificada en Wh/kg.El término tan poco usado de ‘densidad de energía’ serefiere normalmente a la energía por unidad de volumen,en lugar de por unidad de peso.

Las siguientes páginas web tienen más información de lasbaterías de litio, circuitos de protección y cargadores:

http://www.PowerBox-Systems.com

http://www.graupner.de

http://www.ikarus-modellbau.de

Direcciones Web

Otro desarrollo es la batería con tecnología de litio-sulfuro (Li-S), la cual nos da una tensión de pila de 2,1 V. No debería-mos confundir ésta con la tecnología de dióxido de sulfurode Litio (LiSO2). La compañía Sion (www.sionpower.com) hadesarrollado un prototipo que tiene especificados 350Wh/kg. Esto es un gran avance en comparación con las tec-nologías que están comercialmente disponibles. Las pilas deNiMH en el Toyota Prius, por ejemplo, tienen una energíaespecífica de 46 Wh/Kg. La energía relativamente alta no esel único beneficio de esta tecnología: las baterías de Li-S pue-den entregar corrientes muy elevadas, y trabajar bien a tem-peraturas extremas, además de ser inmunes a sobrecargas.

Por supuesto, también hay desventajas cuando lo compara-mos con otros sistemas: después de unos 350 a 400 ciclosde carga, la capacidad de la mayoría de las baterías de Li-S cae alrededor del 80% de su valor original. Para la mayo-ría de aplicaciones se especifica un mínimo de 350 ciclosde carga, y 500 ciclos se ve como un objetivo deseable.

Una de las razones para la pérdida rápida de capacidades un efecto dado por la composición del líquido del cáto-do que sufre cambios lentos. Una película forma un electro-do fijo durante la descarga que afecta a las característicasde la batería. Es difícil mantener la pila en una condiciónestable y efectiva.

Baterías de litio-sulfuro

Las pilas recargables de níquel son ideales para alimentarmodernos equipos electrónicos tales como reproductoresMP3, dispositivos de comunicaciones móviles o cámarasdigitales, que requieren que las pilas puedan soportar ele-vadas corrientes durante cortos periodos de tiempo.

En el otro lado de la moneda está la duración del tiempode carga, o, alternativamente, el elevado costo de un car-gador que pueda cargar las pilas rápidamente sin (inclusomás rápidamente) destruirlas. Tales cargadores ‘inteligentes’utilizan de forma invariable un microcontrolador y sensoresde temperatura. Por supuesto, los microcontroladores consensores integrados que hacen que la unidad sea un pocomás pequeña y más barata, pero en el siguiente paso, inte-graremos la inteligencia en la pila, cosa que no se hahecho por razones de costo.

Rayovac (Varta) ha desarrollado recientemente la llamadapila I-C3 (‘con control de carga en la propia pila’), la cual sepuede recargar sin usar un cargador inteligente en 15 minu-tos, y, gracias a su optimizada construcción, también ofrecetiempos de descarga más rápidos. No hay electrónica en lapila; en su lugar hay un pequeño conmutador mecánico depresión. Esto no sólo es económico, sino también técnicamen-te elegante: la presión en el interior de la pila es la mejormedida, mejor aún que su temperatura o su tensión. Cuando

la tensión alcance un valor fijado (en el rango de 1.000 kPaa 3.500 kPa), un disco de muelle en el ánodo rompe laconexión: la pila está completamente cargada.

La Figura 1 nos muestra esta disposición cuando estácerrada, cuando la pila está siendo cargada. Cuando lapila se ha cargado completamente, el disco de muelle semueve y separa los contactos, interrumpiendo el flujo decorriente.

Pilas de NiMH con un conmutador de presión

1

Page 64: Elektor 301 (Junio)

elektor 64

La compañía americana Zinc Matrix Power (www.zmp.com)ofrece una nueva batería recargable con una tensión depila de 1,5 V, basada en zinc, un material cuyo uso enbaterías se establece mejor. Usando un polímero desarrolla-do especialmente, debería ser posible obtener capacidadesde hasta 240 Wh/kg. El polímero está diseñado para evi-tar que se produzca el óxido de zinc alrededor de la piladurante la descarga. Sin el polímero, el zinc debería serredepositado al azar en el ánodo durante la carga, redu-ciendo su área de superficie activa, y disminuyendo portanto la corriente que la pila podría liberar.

Hay un efecto mayor que completa el uso de las bateríasde zinc: la tensión de carga hace que el agua en el elec-trolito se separe en oxígeno e hidrógeno, y a menos quese tomen precauciones la pila se secará lentamente. En lapráctica esto significa que se deben añadir algunos meta-les pesados para evitar que el hidrógeno se libere.

Normalmente se usan más aditivos no peligrosos medioam-bientalmente, pero estos sólo son adecuados para pilasnormales, no para pilas recargables.

Polímero-Zinc

En breve los aviones de modelismo alimentados eléctrica-mente no serán raros. Menos conocido todavía es que losaeroplanos eléctricos más recientes son capaces de realizarvuelos tripulados. El primer aeroplano eléctrico tripuladovoló en 1973 con un motor austriaco HB-3 alimentado conun motor eléctrico Bosch de 10 kW y una batería VartaNiCd con un peso total de 125 kg. El contructor HeinoBrditschka pilotó su propio avión durante nueve minutos,alcanzando una altitud de 300 m.

La producción en masa de aeroplanos también se puedeaplicar a los planeadores sin motor. En lo que se refiere a laconsiderable mejora en tecnología de baterías, los aeropla-

nos alimentados con motores eléctricos están aún limitados acortos vuelos, por lo que no es fácil encontrar muchos clien-tes. Algunas cuestiones son diferentes con modernos planea-dores de motor, los cuales tienen un mecanismo que permitecolocar el motor completamente dentro del fuselaje detrásde la cabina del piloto cuando planea. El motor sólo senecesita para despegar y ganar altitud, para después poderplanear, o por ejemplo, volver a encenderse para alzar elvuelo y evitar una colina o estabilizarse frente a corrientestérmicas. La solución convencional es un motor de bajo con-sumo y un pequeño depósito de combustible. Esto tienevarias desventajas no compartidas por el sistema eléctrico,

Aeroplanos eléctricos

Usando este interruptor de presión patentado es posibleemplear cargadores relativamente sencillos que son rápidos ybaratos para cargar una pila en sólo 15 minutos medianteuna corriente de hasta 7,5 A, sin detrimento de la vida de lapila. Recargar pilas parcialmente cargadas no supone nin-gún problema, porque la corriente se interrumpe de formafiable cuando la pila se carga completamente. El coste delcircuito de carga está entre el 30% y el 50% menos de loscargadores rápidos convencionales. Las baterías también tie-nen una capacidad mayor (tamaño AA 2,0 Ah, tamaño AAA0,8 Ah), y no son significativamente más caras que las pilasde NiMH normales. Sólo se necesita alrededor de la mitaddel material del ánodo para absorber los gases producidosdurante la carga, lo cual significa que el cátodo se puedehacer más largo, incrementando la capacidad de la pila.

Las pilas I-C3 no están cargadas en un cargador de corrienteconstante, pero usan una tensión constante: esto hace que latemperatura suba menos durante la carga (Figura 2). Por razo-

nes de seguridad, el cargador I-C3 también incluye un tempori-zador que detiene la carga después de 15 minutos y un simpleinterruptor de temperatura. La medida de seguridad final es unaválvula externa, como la usada en las pilas de NiMH normales,las cuales se abren bajo una presión extrema, para evitar quelas pilas se rompan bajo cualquier condición.

Constantcurrent

Constantvoltage

Full charge

Rapid charging

Charge time [minutes]

Consumer AA cell 1,700 mAh

020

30

40

50

60

70

80

90

2 4 6 8 10 12 14

040168 - 11

16

Tem

pera

ture

[°C

]

2

Page 65: Elektor 301 (Junio)

elektor 65

incluyendo ruido, operación poco fiable (especialmentecuando comienza) y una tecnología relativamente compleja,incluyendo un arranque eléctrico, un freno y un dispositivopara detener el dispositivo en la posición correcta, todo elloen un muy pequeño espacio de tiempo.

El motor eléctrico es una elegante solución. La batería, des-graciadamente, no es ni tan pequeña ni tan ligera como untanque de combustible y almacena menos energía. El pri-mer motor eléctrico de planeador con mecanismo de retrac-ción fue el AE-1 Silent de Air Energy de Aachen enAlemania (www.airenergy.de), el cual realizó el primervuelo en 1997 y recibió la certificación alemana de aviónultra-ligero (12 m de envergadura, 200 kg de peso) en1998. El motor eléctrico equipado tiene 13 kW y un pesode 8,5 kg, mientras que la batería de NiMH pesa 40 kg yalmacena 1,4 kWh. Air Energy normalmente trabaja usan-do baterías más potentes de Li-ión. El paso de baterías deNiMH a baterías de Li-ión ya lo realizó Lange Flugzeugbaude Zweibrücken en Alemania (www.lange-flugzeugbau.com) en su motor de planeador Antares, elcual aprovecha de una manera óptima las tecnologías dis-ponibles y establece un nuevo estándar entre tales aviones.El sistema de propulsión usa un motor DC sin escobillas per-manentes con un rotor externo y proporciona una potenciade 42 kW, 250 Nm y una eficiencia del 98,5%, con unpeso de sólo 28 kg. El motor fue desarrollado por HTA Bielen Suiza. Como almacenador de energía se han usadosetenta y dos pilas Saft (www.saft.fr) VL41 M de Li-ión. Laspilas individuales tienen una capacidad de 39 Ah a 3,6 V,para un total de 10,1 kWh a 260 V con un peso de apro-ximadamente 76 kg. El Antares puede subir hasta 1.000 men menos de 4 minutos, y hasta un máximo de 3.000 m en13 minutos. Esta altitud es suficiente para planear durante1,5 horas y alcanzar un rango de unos 150 km. La electró-nica que controla el sistema de propulsión y la monitoriza-ción de la batería incluye un cargador interno (8 h de tiem-po de carga a 230 V). Las pilas Saft VL usadas aquí debe-rían tener unos 1.000 ciclos de carga durante 11 años. Lainformación de las pilas y hojas de características se puedeencontrar en www.saft.fr.

Por supuesto, la gente ya ha visto la posibilidad de alimen-tar aeroplanos eléctricos mediante pilas de combustible. Unequipo americano apoyado por Boeing anunció que haríanel primer vuelo el 17 de Diciembre del 2003 (en el primercentenario de los vuelos), pero a la hora de escribir esteartículo no tenemos noticias de que esto se haya consegui-do todavía.

Page 66: Elektor 301 (Junio)

NUEVO SISTEMA DE PConjunto de peaje automatizado

elektor 66

Ekkehard Scholz

Si tenemos que conducir un camión a lo largo del continenteeuropeo debemos estar al corriente de lo que podemos encontrar encualquier autopista antes de llegar al sistema de peaje. Así, enAlemania, existe una nueva y sofisticada red que utiliza tecnologíascomo GPS, GSM y rayos infrarrojos que está en funcionamientodesde principios de este año, y el Departamento de Transportes delReino Unido está analizando minuciosamente este sistema y haanunciado su intención de introducir uno similar en su país.

Page 67: Elektor 301 (Junio)

Después de un largo y cuidadoso nacimiento, el nuevosistema alemán de recogida de peaje en autovíaspara vehículos muy pesados ha visto finalmente la luzy está en funcionamiento. Entre las distintas caracterís-ticas de innovación que aporta, está el uso de siste-mas de posicionamiento GPS en la cabina del camión,así como la recogida de peajes automatizada. El flujode tráfico ya no se verá impedido por el lento tráficode los camiones y el coste de mantenimiento y cons-trucción de las autopistas se mantendrá en un mínimo,sin necesidad de la tradicional infraestructura para elpago del peaje. La especificación para este nuevo sis-tema de peaje fue muy demandada y requería unasnecesidades principales como:

– El sistema de peaje debería tener en cuenta la canti-dad de polución producida por los grandes vehículospesados y su cantidad de ejes.

– El sistema tendrá que permitir distintos niveles de peaje(de acuerdo al tiempo de trayecto y al fragmento desección de autopista utilizado).

– El pago del peaje debe realizarse de manera automá-tica sin necesidad de que el camión se detenga en labarrera de paso (sistema libre de paso).

– Los conductores de los camiones sin el sistema OBUpodrán pagar su peaje previamente, de maneramanual, utilizando terminales especiales instalados enlas estaciones de servicio. Esto debería impulsar demanera positiva el desarrollo de este tipo de equiposen el resto de los países europeos.

Además de cumplir totalmente estos requerimientos, loscomponentes del sistema deberían ser lo suficiente-mente flexibles para soportar otros sistemas de peajeeuropeos.

Herramienta de pago con las ventanas subidasEl nuevo sistema de peaje requiere una unidad de abordo (On Board Unit, OBU) que debe instalarse en elsalpicadero de cada camión de gran tonelaje (ver Figura1). Esta unidad tiene el tamaño de una radio de cocheestándar y permite el registro del peaje automáticocuando el camión pasa a través de la cabina de peajede la autopista. El conductor no tiene que escribir laentrada ni registrar ningún tipo de anotación. Cada uni-dad OBU tiene programada en su interior la especifica-ción individual de cada camión de gran tonelaje cuandose instala en el vehículo por primera vez.

Cuando se arranca el camión la primera vez, la unidadOBU se enciende y lee toda la información pregrabada.Al inicio de cualquier jornada no es preciso que elcamión tenga la misma configuración que la última vezque el camionero introdujo los detalles del correspon-diente viaje indicando:

elektor 67

PEAJE EN CARRETERA

Figura 1. La unidad de a bordo (OBU), instalada en elsalpicadero del camión, reconoce automáticamente las seccionesde peaje de la autopista. El conductor puede introducir lasvariables de configuración del vehículo (por ejemplo, el camiónpuede estar viajando sólo con la cabeza tractora). (Imagen:Grundig).)

Page 68: Elektor 301 (Junio)

– El peso bruto del camión (un camión sin remolquepuede pesar menos de 12 toneladas y, por lo tanto,puede viajar sin pagar peaje).

– El número de ejes que está utilizando (la tasa del peajedependerá del tipo de remolque montado).

– El centro de coste que será utilizado (esta entradaopcional ayuda a la compañía de transportes a identi-ficar un camión en particular el día que este camiónpase por los peajes a lo largo del mes).

Una vez introducidos los datos en la unidad OBU,ésta estará activa. La unidad utilizará ahora la infor-mación que reciba a partir de su receptor GPS ade-más de otros datos de posición (ver Figura 2) paracomparar sus coordenadas con un mapa digital alma-cenado en la memoria del sistema de autopistas ydeterminar si un peaje se tiene que pagar en la venta-nilla del peaje y continuar. El posicionamiento fun-ciona con el mismo principio que un sistema de nave-gación en automóvil. Se utilizan sensores de movi-miento adicionales para mejorar la precisión delsistema. Un giroscopio, fijado con sensores de lámi-nas piezoeléctricas, proporciona información inercialmientras que los datos provenientes del tacógrafo delvehículo suministran la información de la velocidad yla distancia. Este sistema de reconocimiento obsoletofunciona independientemente del sistema GPS. Losdatos de posición del vehículo de ambos sistemas secomparan continuamente. El sistema de reconoci-miento obsoleto asegura que la unidad OBU puedemantener su precisión de posición durante cortosperiodos de tiempo, cuando no está disponible lainformación del GPS.

La unidad OBU calcula el peaje basándose en la tarifaactual y en el fragmento de autopista que el camióntiene que atravesar. El peaje es almacenado y a conti-nuación enviado al centro de control de peajes utili-zando un enlace de telefonía móvil por GSM (ver Figura3).El dato se envía de forma periódica cuando la tarifadel peaje alcanza un valor predefinido o después de unintervalo de tiempo determinado.

Trescientas garantías de controlUna parte vital del sistema de peaje responsable de ladetección y comunicación con el vehículo está mon-tada sobre un total de trescientos pasos de peaje dise-minados sobre la red de autopistas de Alemania. Tanpronto como un vehículo se aproxima al paso de

elektor 68

Figura 2. El uso de la tecnología GPS (Global PositioningSystem, es decir, Sistema de Posicionamiento Global), junto conlos datos transmitidos por los tacógrafos y los giroscopios,permiten al terminal OBU indicar la posición de un camión enun mapa digitalizado y almacenado en memoria, con unaresolución de 10 m. Cualquier peaje de pago se envía a laoficina central de peaje utilizando una red de telefonía móvil(GSM). (Dibujo: Toll Collect).

Figura 3. Recogida de datos en un peaje automático con un camión equipado con un sistema OBU. (Dibujo de Toll Collect).

MapaDigital

GPS ylocalización

Radiofarode ayuda

GiroscopioInformacióndel Tacógrafo

1. Instalación enel vehículo

unidad de a bordo

El sistema GPS de satélite proporciona losdatos de navegación

compañía detransporte

por carretera

2. Introducciónde datos en elvehículo

3. La unidadOBU detecta laposición

4. El sistema OBUdetecta la secciónde autopista conpeaje de cargo

5. Verificación(estacionamientoy movimiento)

6. El sistema OBUcalcula el cargo delpeaje

8. Envío de la Central de Peaje a la compañía detransporte en carretera.

7. Cantidad debida enviada ala Central de Peaje por GSM

Page 69: Elektor 301 (Junio)

peaje, una unidad de detección y seguimiento (des-arrollada por la empresa Daimler-Chrysler) utiliza unsistema DSRC (Delicated Short Range Comunications,es decir, Comunicaciones Delicadas de Corto Alcance)para detectar la posición del vehículo y determinarcuándo llegará a pasar por dicho paso. En este punto,se captura un pequeño diseño en 3D del vehículo y seasigna la categoría de peso de dicho vehículo. Nin-gún camión con un peso bruto menor de doce tonela-das está obligado a pagar la correspondiente tasa,por lo que toda información recolectada sobre dichovehículo se borrará.Cuando el sistema determina que el peaje se tieneque pagar, el equipo montado sobre la barrera depaso interroga al vehículo utilizando señales de infra-rrojos DSRC , para determinar si dicho vehículo llevamontada una unidad OBU. Cuando no se recibe nin-guna respuesta se indicará una violación del peaje siel conductor no ha rellenado previamente su diario deviaje. En ese momento, una cámara graba el númerode registro y lo pasa a la oficina central de peaje,donde será comparado de manera automática contodos los números de registro que previamente hangrabado de manera manual su diario. Si el diario hasido rellenado y enviado, todos los datos del vehículoserán borrados de nuevo. Cuando no se encuentraningún diario que cumpla con los datos obtenidos, segraba el correspondiente incidente de violación depeaje.

Vigilancia del sistemaSituada sobre la mitad trasera de las cabinas de pasode control se encuentran las zonas donde la policía detráfico puede detener a los vehículos para su investiga-ción. Las cabinas de paso están equipadas con dos tiposde enlace de radio que permiten a la policía de tráficode la autopista, situada en la zona de aparcamiento oen una salida, comunicarse con el centro de peaje. Deesta manera, la información relacionada con aquellosvehículos que intentan evadir el peaje estará disponibleen cuestión de segundos una vez que el vehículo hapasado la cabina de control.También existe un equipo de unas trescientas unidadesde patrullas móviles repartidas en la red de autopistasque recogen y verifican el movimiento de tráficodurante las veinticuatro horas del día, asegurando queel peaje está reforzado. Estas unidades también ope-ran sobre el flujo de tráfico permitiendo que los opera-dores puedan verificar los detalles del vehículo paradeterminar si tienen que pagar el correspondientepeaje. La unidad móvil también puede determinar si elvehículo de gran tonelaje está registrado con el sis-tema de viaje y si la cantidad de ejes es correcta.Cualquier vehículo de gran tonelaje que no esté regis-trado será verificado con todos los vehículos almace-nados en el libro de registro en el Banco Central deDatos y si no coincide con ninguno de los camionesregistrados, será sancionado e investigado. La multaquedará registrada si el peaje no ha sido pagado pre-viamente.

Tanto la unidad fija de reconocimiento automático delvehículo como las unidades móviles que recogen losdetalles de los vehículos, lo hacen sin interrumpir el flujode tráfico. El sistema verifica si se ha pagado el peajecorrecto pero no realiza la recolección de multas.La posición del vehículo puede recogerse en un total

de 5.200 secciones de carretera que hace un total de12.000 kilómetros de autopista en Alemania. El sis-tema actual es relativamente nuevo y, por lo tanto, sólohan sido implementadas las prestaciones más básicaspara probar esta nueva tecnología. El próximo añoesperamos ver el concepto de "precio de la carretera"mucho más cerca de nosotros, cuando los camionesvengan ya equipados con la siguiente generación"dinámica" de las unidades OBU en su versión 2.0,de manera que se permita la inclusión de la mayor

cantidad de carreteras en el esquema. Esto deberíaevitar que los conductores de camiones de gran tone-laje tomen rutas alternativas para evitar los peajes. Enel caso del Reino Unido, las mejores estimaciones indi-can que un sistema equivalente para los vehículospesados no podrá estar en funcionamiento antes de2008, de manera que antes del año 2014 no podráintroducirse ningún otro sistema universal de pago encarretera. El Departamento de Transporte ha indicado que estesistema podría aplicarse en la red de autopistas deReino Unido si la unidad OBU puede determinar laposición del vehículo dentro de un espacio de 60 m(una resolución más pobre podría dar como resul-tado determinar que ciertos vehículos necesitanpagar el peaje cuando en realidad están viajando encarreteras gratuitas que circulan en paralelo a lascarreteras de peaje). La compañía que ha desarro-llado este sistema en Alemania (Toll Direct) afirmaque su sistema tiene una resolución de posición de10 m.

(045121)

elektor 69

Las autopistas están equipadas con sensores dereconocimiento de vehículos para el conjunto de peajes.(Imagen de Toll Collect).

Page 70: Elektor 301 (Junio)

elektuur70

DELPHI PARAINGENIEROS ELECTRÓNICOSParte 4: uso creativo de la tarjeta de sonido

CU

RSO

Herman Bulle

Casi todos los modernos ordenadores tienen una tarjeta desonido colocada sobre la placa madre o sobre una tarjeta deexpansión. Esta tarjeta se usa para convertir el dato digital enseñales sonoras analógicas. Esta tarjeta también se puedeemplear como un generador de funciones, aunque no debemosolvidar las limitaciones de las tarjetas de sonido. Hay variosprogramas que nos permiten hacer esto, pero no sería taninteresante ni divertido como escribir nuestro propio programaDelphi capaz de generar las señales definidas por el usuario.

Page 71: Elektor 301 (Junio)

En este artículo realizaremos el software para un genera-dor de funciones con una salida senoidal, diente de sie-rra o cuadrada a través de la tarjeta de sonido. Ade-más, haremos que el generador pueda leer un ficherodel disco duro y sacarlo como una forma de onda.El ancho de banda de una tarjeta de sonido típica es de unos20 KHz. Cuando usemos esta tarjeta para generar formas deonda podremos crear ondas senoidales con frecuencias dehasta 20 KHz. Para otras formas de onda necesitamos almenos el tercer armónico, el cual limita la frecuencia máximaa unos 7 KHz. Por tanto, deberíamos usar este método parahacer un generador de funciones con una salida de 1 MHz.Como con la mayoría de los proyectos que tienen algunacomplejidad, éste se puede dividir en un número de blo-ques conectados de forma lógica (diagrama de flujo).En este primer bloque se crea un ciclo completo de laforma de onda. Este dato tiene que convertirse en un for-mato adecuado para la tarjeta de sonido. Por último,tenemos que programar la tarjeta de sonido para sacaresta señal hasta que se pulse el botón de stop.

Creación de la forma de ondaPara las formas de onda más simples hemos declaradoun array sencillo TDataArray, al cual puede accedersedesde cualquier parte del programa (global). El númerode muestras almacenadas en el array se define por laconstante global NumOfSamples.Para una onda senoidal almacenamos un periodo de laseñal en el array. En la función para la onda senoidalhemos declarado el array SineAr, el cual es del tipoTDataArray. Esto se rellena con los valores de un periodosimple de onda senoidal. Debido a que el dato enviadoa la tarjeta de sonido es de enteros de 2 bytes, los valo-res tienen que redondearse primero.Para ayudarnos con el cálculo de la onda senoidal hemoshecho uso de una función especial que existe en Delphi.Se trata de la función sincos (phi, sin, cos) que esmucho más rápida que el cálculo normal para las funcio-nes seno y coseno, ya que está escrita completamente enensamblador por Borland y que nosotros vamos a utilizar.

FOR index := 0 TO NumOfSamples DO

BEGIN

Sincos(2 * pi * index / NumOfSamples, sin, cos);

SineAr[index] := round(amplitude * sin);

END;

Usaremos un método similar para crear una onda endiente de sierra y señales de tipo cuadrado:

FOR Index := 0 TO NumOfSamples - 1 DO

SawToothAr[Index]:= round(2 * Index *

Amplitude/NumOfSamples) – amplitude

FOR Index := 0 TO NumOfSamples DIV 2 - 1 DO

BEGIN

SquareAr[Index] := amplitude;

SquareAr[NumOfSamples - 1 - index] := -amplitude;

END;

Cuando queremos usar una forma de onda creadaexternamente tenemos que realizar una acción sensible-mente diferente.Utilizando Excel podemos crear una forma de onda. En elejemplo de Excel tenemos el fichero Signals.xls (que formaparte del proyecto software para este artículo y que podemosencontrar en la página de Elektor bajo el código 040240-4-11) que nos muestra cómo hacer una forma de onda queconsta de 100 ciclos a la máxima amplitud, seguida por otros

100 ciclos con una amplitud del 10%. Normalmente, este tipode señal se utiliza para comprobar la respuesta transitoria delos amplificadores. La forma de onda se exporta como unfichero CSV (Variables de Comando Separadas).Este fichero se lee en una variable de tipo TStringlist. Éstees un bloque de memoria que no tiene un tamaño definidoal principio. Este tipo de variable se llama variable diná-mica. Veremos más de estas variables un poco más ade-lante. Debido a que la declaración sólo define el tipo devariable nosotros debemos también establecer la direcciónde inicio, la cual usaremos para acceder a la variable. Estose hace con el método Create. En este caso, hemos decla-rado la variable DataIn para que sea del tipo TStringlist:

Var DataIn: TStringlist;

En el cuerpo del procedimiento se añade la siguiente línea:

DataIn := TStringlist.Create;

A continuación debemos inicializar esta variable parausarla. El nombre ya sugiere que este tipo se hace paraalmacenar cadenas.Debido a que los datos de Excel se almacenan en unfichero .CSBV (leer texto), podemos poner esos detalles enuna variable para un procesamiento mayor. Los chicos deBorland han creado un método (procedimiento) para facili-tar la lectura de este tipo de fichero desde el disco duro:

DataIn.LoadFromFile(‘signals.csv’)

Para flexibilizar el programa hemos añadido un fichero dediálogo desde Windows (File, Open), el cual se usa paraelegir el fichero. Este componente podemos encontrarlo enel Dialog y se conoce como OpenDialog. Aquí se usa dela siguiente forma:

IF OpenDialog1.Execute THEN

DataIn.LoadFromFile(OpenDialog1.FileName)

ELSE

BEGIN

//generate an error message

MessageDlg(‘File is not correct’, mtError,

[mbOK], 0);

//exit the procedure

exit;

END;

En este estado hemos creado o cargado la señal de datos.Ahora hemos convertido este dato en un formato que escompatible con el de la tarjeta de sonido.

Preparación de datos para la tarjeta de sonidoEngañaremos a la tarjeta de sonido de manera queparezca que está reproduciéndose un fragmento desonido. Un tipo de fichero adecuado para reproducir enuna tarjeta de sonido tiene el fichero con extensión ‘WAV’.Un fichero WAV consta de una cabecera de 44 bytes, lacual contiene información sobre el fichero, seguido por eldato real. Este dato se hace a partir de los valores de laseñal, muestreada a intervalos regulares. Si tomamos bas-tantes muestras a pequeños intervalos, podemos reprodu-cir la señal bastante bien. El proceso de muestreo estábasado en una amplia teoría, la cual no se estudió aquí.En la Figura 1 se ilustra un simple ejemplo de muestreo.Un fichero WAV es parte de un tipo de ficheros másamplio, entre los que se incluyen los ficheros de vídeo

elektuur 71

Page 72: Elektor 301 (Junio)

(tales como AVI). A nosotros sólo nos conciernen los detipo más sencillo. Esto significa que la cabecera sepuede mantener mucho más sencilla que lo que sesugiere en la documentación. Como resultado de estoaparecen algunos items dos veces en la cabecera.Toda la información dentro de la cabecera se combina en undisco, esto es un bloque de datos que contiene un número deitems (campos) de datos, que pueden ser de diferentes tipos,tales como cadenas, arrays, enteros, etc. Cuando se especi-fica una grabación nosotros fijamos un offset desde el iniciodel disco para todas las variables, al igual que su tamaño. Sicometemos un error, el compilador evitará el tipo de con-flicto, eludiendo los errores que se producen en el programa.Para mejorar el tiempo de acceso en complejas estructurasde datos (tales como discos) los campos a menudo se redon-dean por exceso a los 2, 4 u 8 bytes más próximos. La varia-ble ChunkID, por ejemplo, tiene una longitud de 3 bytes ydebe redondearse a 4 bytes. Todas las variables siguientes,por tanto, se incrementan en un byte, lo que hace que la tar-jeta de sonido no tenga la sensibilidad del disco. Para evitaresto podemos declarar el disco como de tipo PACKED.

Los nombres de los campos tienen que mantenerse tancerca como sea posible a los usados en la especificaciónde los ficheros WAV.

Type

TFormat = PACKED RECORD

ChunkID: ARRAY[0..3] OF Char;

ChunkSize: longword;

Format: ARRAY[0..3] OF Char

SubChunk1ID: ARRAY[0..3] OF Char;

SubChunk1Size: longword;

AudioFormat: word;

NumOfChannels: word;

SampleRate: longword;

ByteRate: longword;

BytesperSample: word;

BitsPerSample: word;

SubChunk2ID: ARRAY[0..3] OF Char;

SubChunk2Size: longword;

END;

Dentro de la cabecera hay mucha información que nuncacambia. Se llama al procedimiento PrepareHeader parafijar esos valores en la cabecera. Los valores mostradosdebajo se asignan entonces a los campos de la cabecera:

WITH header DO

BEGIN

ChunkID := ‘RIFF’;

Format := ‘WAVE’;

SubChunk1ID := ‘fmt ‘;

SubChunk1Size := $10;

AudioFormat := $01;

SubChunk2ID := ‘data’;

NumOfChannels := 1;

BytesperSample := 2;

BitsPerSample := 16;

END;

Como nosotros nos limitaremos a una señal de tipo monopara el tiempo, el valor de NumOfChannels (Númerode canales) es 1 (estéreo = 2). El tamaño de muestra sefija también a 16 bits (entero pequeño). La SampleRate es la frecuencia a la cual las muestras sesacan. Para señales de tipo ‘normal’ se saca un ciclo simple.La velocidad de muestreo es, por lo tanto, igual a la frecuenciade la señal multiplicada por el número de muestras en un ciclo.La ByteRate es el númro de bytes leídos por segundo y, portanto, igual a SampleRate x NumOfChannels x tamaño deuna (mono) muestra. En nuestro caso éste es 2 x SampleRate.Los campos restantes mantienen la información sobre eltamaño del bloque de datos:

Chunksize := data size (in bytes) +36SubChunk2Size := size of the data block

Ahora estamos en la etapa donde tenemos toda la informa-ción requerida para crear el fichero WAV. Tenemos que com-binar la cabecera y datos y enviarlos a la tarjeta de sonido.Delphi ofrece un camino muy flexible para reservar un áreade memoria y rellenarla con datos. Ésta utiliza partes de lafamilia TStream, la cual tiene varios miembros que nos-otros usaremos en el memorystream (TMemoryStream).TMemorystream ha heredado todas las propiedades deTstream y ha agregado algunas propias.Debido a que las cadenas son variables dinámicas, estetipo sólo se definirá cuando los programas se inicien y lavariable real todavía se tenga que crear. Como nosotrossólo podemos enviar un fichero WAV a la tarjeta de sonido,sólo necesitamos una variable de este tipo. La variable secrea al comienzo del programa en el método OnCreate:

Wavestream:=TMemoryStream.Create

Como con la Tstringlist, el tamaño de la variable no está defi-nido aquí. Esta propiedad hace muy flexible a la cadena.Antes de que la cabecera se copie en la Wavestream seborra primero:

WITH WaveStream DO

BEGIN

Clear;

WriteBuffer(Waveheader, sizeof(Waveheader));

WriteBuffer(ar, sizeof(ar));

END;

Después, se usa el método WriteBuffer para copiar lacabecera:

WriteBuffer(Waveheader, sizeof(Waveheader));

El primer parámetro es la variable que se escribe en lacadena y el segundo indica cuántos parámetros se tienenque escribir. El dato también se ha preparado y está espe-rando en un array. Éste se escribe en la cadena de lamisma forma. La cadena se mantiene con un puntero alfinal y comienza escribiendo desde esa posición. De estaforma los datos delante de la cabecera son:

WriteBuffer(ar, sizeof(ar));

Podemos leer o cambiar el valor del puntero mencionadoanteriormente usando la propiedad Position.

elektuur72

Figura 1. División de una señal muestreada en 16 pasos.

Page 73: Elektor 301 (Junio)

Ahora toda la información está lista para enviarla a la tar-jeta de sonido. La creación del fichero WAV se haceusando tres funciones predefinidas, nosotros hemos combi-nado PrepareHeader y WriteBuffer en un procedimiento:

Data2Wav(Sender: TObject; VAR ar: TDataArray)

Si sólo vemos la frecuencia de muestreo no sería muyútil, por tanto hemos establecido y mostrado la frecuen-cia de la señal. Debido a que ya sabemos cuántos datoshay, la relación entre la frecuencia de la señal y la velo-cidad de muestro viene dada directamente por:

WaveHeader.SampleRate = Freq * NumOfSamples;

Con la ayuda de una barra deslizante (trackbar) podemosfijar la frecuencia de la señal, usarlo para calcular la Sam-pleRate (velocidad de muestreo) y mostrarlo en el display.Después de inicializar una función de señal la posiciónde la FreqTrackBar se lee y la SampleRate se fija conel valor calculado.Una vez hecho esto podemos usar la FreqTrackBar paraajustar la frecuencia de señal. Después de leer la posi-ción del Trackbar se calcula la SampleRate.Posteriormente apagaremos el sonido durante unmomento (o más). El puntero en la cadena se pone acero, al comienzo de la cabecera y usamos WriteBufferpara copiar la cabecera modificada sobre la vieja.Ahora podemos activar de nuevo el sonido. Después decada cambio, la frecuencia del display se almacena.Cada vez que se mueve la barra del FreqTrackBar se realizandichas acciones. Por tanto, tiene sentido comenzar esas accio-nes a través del evento OnChange. Seleccione el trackbar yhaga doble clic en el evento OnChange bajo el tab paraEventos en el Objeto Inspector. Entonces añadiremos lossiguientes comandos en el procedimiento OnChange:

PROCEDURE TForm1.FreqTrackBarChange(Sender: TObject);

BEGIN

WITH FreqTrackBar DO

BEGIN

Waveheader.SampleRate := FreqTrackBar.Position *

NumOfSamples;

//turn sound off

PlaySound(NIL, 0, 0);

WaveStream.Position := 0;

WaveStream.WriteBuffer(Waveheader, sizeof(Wavehe-

ader));

//with ‘%5d’ numbers are displayed with

a field-width of 5 characters

FreqLabel.Caption := Format(‘%5d’, [FreqTrack-

Bar.Position]) + ‘ Hz’;

//turn sound on again

PlaySound(MStream.Memory, 0, SND_MEMORY OR

SND_LOOP OR SND_ASYNC);

END;

END;

La forma de onda importada aún tiene que convertirse en unfichero WAV. Esto ya se ha leído en el DataIn StringList, elcual es un tipo optimizado para cadenas. La StringList tieneuna propiedad, Count, que devuelve el número de cadenasleídas. Esto, por lo tanto, nos dice el número de muestras.Debido a que la forma de onda fue creada externamentehemos asumido que la velocidad de muestreo es de 50 KHz.La velocidad de muestreo se tiene que fijar en 2 bytes y por lotanto tiene un valor máximo de 64 KHz. Los 50 KHz estáncerca del máximo y es más fácil de usar en cálculos. Nosotrosya nos hemos asegurado que la amplitud máxima esté dentrode los límites cuando creamos los datos del fichero en Excel,

así que también nos despreocuparemos de esto. Podemosusar esta información para construir la cabecera de onda.Entonces leeremos la StringList muestra a muestra, convirtién-dola a un smallinteger y añadiéndola a la WaveStream:

FOR index := 0 TO SampleCount - 1 DO

BEGIN

sample := StrToInt(DataIn.Strings[index]);

WaveStream.WriteBuffer(sample, sizeof(sample));

END;

Una vez completada esta parte, la tarjeta de sonido sepuede cargar con el WaveStream y la reproducciónpuede comenzar.

Atacando a la tarjeta de sonidoLa unidad MMSystem tiene varios procedimientos quenecesitamos para controlar la tarjeta de sonido. El proce-dimiento más importante es el de reproducir un fichero:

PlaySound(<param1>,<param2>,<param3>)En el caso más simple param 1 es el nombre de unfichero WAV, por ejemplo: c:\winnt\media\chimes.wav.

También es posible pasar una dirección de memoria(puntero) a un fichero WAV almacenado en memoriapara usarlo después. Una MemoryStream tiene una pro-piedad de memory que es de tipo pointer. Ésta es laprincipal razón por la que elegimos este tipo de grupo.El primer parámetro está seguido por:

PlaySound(WaveStream.memory,<param2>,<param3>)

elektuur 73

Figura 2. Una salida de onda senoidal desde la tarjeta de sonido(2 kHz).

Figura 3. Así aparece el diente de sierra (también a 2 kHz).

Figura 4. Salida de onda cuadrada (2 kHz también).

Page 74: Elektor 301 (Junio)

LayoutHemos tenido un cuidado particular con el circuitoimpreso. Por primera vez hemos usado botones que con-tienen imágenes. Hemos escogido usar los llamados spe-edbuttons, ya que tienen varias propiedades útiles. Depen-diendo del estado de un botón, podemos mostrar diferen-tes imágenes. También es posible inhabilitar todos losdemás botones cuando pulsemos un botón cualquiera. Sino queremos seleccionar un grupo de botones tenemosque saber cuál es el estado de los demás. Esto se puedesaber a través de la propiedad groupindex. Cuandopulsamos un botón, todos los demás botones con el mismogroupindex son inhabilitados (groupindex > 0). Esto esuna solución ideal cuando queremos seleccionar un simplebotón, por ejemplo cuando elegimos una forma de onda.Se pueden añadir imágenes a través de la propiedadGlyph. Un glyph (un carácter o símbolo ‘rayado’) es un bit-map que contiene un máximo de cuatro imágenes, que sontodas del mismo tamaño y son seguidas de otra en una filahorizontal. El SpeedButton muestra una de esas imágenes,dependiendo del estado del botón (ver Figura 5).

Image 1 Botón no seleccionado Image 2 Botón inhabilitadoImage 3 Botón pulsado. Si groupindex=0 image 1

aparece de nuevoImage 4 Botón permanece pulsado.

Debemos decir que el speedbutton puede tener 4 imágenesen el glyph a través de la propiedad NumGlyphs=4.

Conclusión y resultadosAunque el fichero WAV generado externamente tenga unrango de frecuencia limitado (frecuencia de muestreo máximade 64 KHz), éste es un generador de funciones muy útil, por-que podemos usar ficheros con formas de onda generadasexternamente, lo que nos da un número infinito de formas deonda, lo cual convierte a este generador de señal en único.Podríamos ampliar el generador usando ambos canalesestéreo. Los canales izquierdo y derecho se pueden pro-gramar por separado. Como ejemplo, cuando trabaje-mos con señales complejas un canal se podría progra-mar con la señal y el otro podría usarse para una señalde disparo (trigger) con un retardo programable.Cuando usamos un analizador de espectro (Agilent4395A) para analizar una salida de onda senoidal,obtenemos unos resultados sorprendentes:

S/N ration: > 95 dB2nd harmonic: < – 65 dB3rd harmonic: < –80 dBMeasured with a 1 kHz signal at 0 dBm.

Esos valores fueron medidos en un ordenador arbitrarioque tenía su tarjeta de sonido en la placa base. Otrasplacas pueden dar un resultado muy diferente.Se buscaron un buen número de tarjetas de sonido paraproducir una distorsión significativa a los niveles desalida máximo. Es importante prestar atención a esto enlo que se refiere a la distorsión. Si fuera necesario, laamplitud máxima se debería fijar a un valor más bajo.Las formas de onda que se muestran en este artículo hansido capturadas por un osciloscopio digital (leCroy Wave-Runner LT344L).Todos los ficheros de programa para este artículo se pue-den encontrar en www.elektor-electronics.co.uk(040240-4-11).

(040240-4)

elektuur74

Figura 5. Parte de la forma de onda está creada en Excel. El ciclocompleto consta de una señal de 1 Hz, 500 ms y amplitud del 100

%, seguida por unos 500 ms a una amplitud del 10 %. Lafrecuencia de muestreo es de 50 KHz.

El parámetro 2 (param2), a menos que el sonido sea repro-ducido desde un CD, aunque no éste. Eligiendo un valoradecuado para el parámetro 3 (param3) la tarjeta desonido sabrá que el param1 no es un fichero, sino un pun-tero a una dirección de memoria. Param3 está formadopor una combinación de tres constantes que están defini-das en la unidad MMSytem. SND_MEMORY indica queparam1 es una dirección de memoria, SND_LOOP haceque el fichero se reproduzca de forma indefinida ySND_ASYNC nos dice que la reproducción se tiene queproducir de forma autónoma. El último valor se requiere encombinación con SND_LOOP. Si queremos enviar un flujode datos a la tarjeta de sonido usaremos el procedimiento:

PlaySound(WaveStream.Memory, 0, SND_MEMORY OR

SND_LOOP OR SND_ASYNC);

Para apagar el sonido usaremos PlaySound, pero conparámetros diferentes:

PlaySound(NIL,0,0)

Since the first parameter is a pointer, we can’t just put azero in it. Instead, we have to use a special type ofempty pointer, called NIL.Debido a que el primer parámetro es un puntero, nopodemos poner un cero en él. En su lugar, tenemos queusar un tipo especial de puntero vacío, llamado NIL.La única cosa que tenemos que hacer es fijar la amplitudde la señal, la cual hacemos a través de una función deWindows desde el Wave Amplitude Control (Control deAmplitud de Onda). Esto requiere de una variable de 4bytes, la cual maneja el nivel de señal. Los dos bytesmás significativos determinan el nivel de señal del canalizquierdo, mientras que los otros dos bytes son para elcanal derecho.Las dos funciones han sido definidas para ajustar amboscanales de forma independiente. Nosotros usaremos enprimer lugar waveoutgetvolume para leer el nivel devolumen actual. Entonces sustituiremos los dos bytes másaltos o más bajos y escribiremos la variable usandowaveoutsetvolume.La configuración de volumen sigue una regla logarítmica.Esto no se ha tenido en cuenta cuando mostramos laamplitud como un porcentaje del nivel de señal máximo.

Figura 6. La construcción de un bitmap para un SpeedButton.

Page 75: Elektor 301 (Junio)
Page 76: Elektor 301 (Junio)