Visite mi Nuevo Sitio Web
Datos Personales

Nombre:
Mauricio Giovagnini
Edad:
33 años
Titulo:
Ingeniero Eléctrico Electrónico
Profesión:
Desarrollador de Firmware para Microcontroladores y Software para plataforma PC.
E-mail:
mgiovagnini < at > maunix.com.ar Vea el CV de Mauricio Giovagnini's en LinkedIn




Formación
. Nivel Universitario
Título: Ingeniero Eléctrico Electrónico
Institución: Universidad Católica de Córdoba
Año: 2000
 
. Idiomas
Título: First Certificate in English. Intermediate Level
Institución: Cambridge Institute, Buenos Aires, 1992




Experiencia Laboral
 

2005 a la Actualidad

Me desempeño como Ingeniero de Desarrollo de Firmware y Software en Fiplex Communications Inc., una empresa de equipos de telecomunicaciones.
Los equipos, de diversa índole, cuentan con microcontroladores para el control y gestión de los mismos, con múltiples opciones de conexión para aplicaciones Máquina a Máquina con la posibilidad de ser administrados en forma local mediante softwares desarrollado para PC y en forma remota por interfaces inalámbricas como GSM (SMS, GPRS), iDEN.
Los sistemas son placas con uno o varios microcontroladores con un esquema de conexión del tipo maestro/esclavo. Soy el responsable de diseñar y testear los protocolos microcontrolador-microcontrolador y microcontrolador-PC.
También soy el responsable de diseño/codificación/testeo del software de PC que se comunica con los microcontroladores.

 
  2003 a 2005

Me desempeñé como independiente en sociedad con un amigo y colega. Durante este período desarrollamos firmware, software y hardware para aplicaciones automotrices algunas en tiempo real.
También desarrollé firmwares y software como externo para Fiplex Communications Inc., la empresa para la cual actualmente trabajo.
La dinámica de los desarrollos y la gran interacción con el diseño, pruebas, modificaciones así como el incremento de complejidad de los desarrollos nuevos previstos hizo que mi socio y yo fueramos invitados a formar parte del staff permanente de dicha companía.
 
  2000 a 2003

Trabajé en una empresa de Peajes en la provincia de Córdoba (Caminos de las Sierras), como responsable del Mantenimiento Electrónico y de Software.
El sistema allí instalado presentaba problemas y mi función fue la de analizar las causas y buscar e implementar las soluciones que permitan al sistema funcionar en un esquema de 24x365.
Los cambios realizados fueron numerosos en cuanto al software, al hardware (a la configuración y la instalación) así como en la metodología de trabajo.
Durante mi estadía en dicha empresa estuve en la instalación, configuración, adaptación de numerosos dispositivos de hardware a enumerar: UPS (sistemas de alimentación ininterrumpida), enlaces de voz y datos, redes LAN, Centrales telefónicas, sensores de diversa índole, Servidores NT, PC industriales.
El software era realizado por una empresa tercerizada la cual trabajaba bajo mi tutela y coordinación.
 
  2000 a 2003

Trabajé como consultor externo part-time para Fiplex Communications Inc. realizando numerosos softwares con microcontroladores.
 
  1998 a 2000

Me desempeñe como independiente realizando Servicio Técnico y Reparación de PC y Centrales Telefónicas.
Tambien realicé pequeñas automatizaciones con microcontroladores.


Para tener una idea más completa de mi experiencia laboral, lo invito a ver la sección de Proyectos.
 
Habilidades
 
  Microcontroladores
  • Ocho años de experiencia utilizando Microcontroladores en especial los provistos por Microchip.
  • Profundo conocimiento de la arquitectura de los PICs.
  • Desarrollo de Código en ANSI C y en Assembly.
  • Habituado al uso de macros y librerías que permitan la reutilización del código y agilizar la programación.
  • Aplicaciones en tiempo real, uso de máquinas de estados, buffers de E/S, tareas simultáneas, aprovechamiento y optimización de los recursos que brindan los microcontroladores.
  • Aplicaciones con gestión local y remota.
  • Aplicaciones M2M (Máquina a Máquina o "Machine To Machine").
  • Desarrollo de Sistemas Microcontrolados cuyos parámetros de operación deban ser ajustados y/o modificados posterior a su instalación permitiendo que el sistema siga funcionando sin intervención de personal especializado.
  • Aplicaciones críticas de requieren un alto grado de disponibilidad.
  • Aplicaciones con interfaz de usuario con pantallas LCD de Texto y Matriciales.
  • Sistemas multi-microcontrolador en un esquema maestro-esclavo, donde cada dispositivo se aboca a una tarea específica coordinada por un microcontrolador central.
 
  PC
  • Desarrollo de aplicaciones con Borland Delphi para controlar y comunicarse con dispositivos microcontrolados.
  • Desarrollo de aplicaciones orientadas a facilitar las tareas productivas en aplicaciones que requieran de PC y microcontroladores.
  • Automatizaciones diversas utilizando PCs en formato SBC, PC-104 y otras.
  • Desarrollo de aplicaciones de adminstración y control locales y remotas usando paquetería TCP/IP y UDP/IP.
  • Programación Orientada a Objetos, desarrollo de componentes.
  • Conocimiento de Hardware de PC, sistemas operativos, administración de sistemas con varios años de experiencia realizando servicio técnico de equipos al tiempo en que cursaba mi carrera universitaria y durante el período en que realicé mi trabajo final y rendí las últimas materias.
 
Proyectos
  He sido parte de numerosos proyectos de diversa índole, cada uno con sus particularidades. Es en ellos en donde se ve plasmada la necesidad de combinar diversas disciplinas que relacionen el diseño adecuado del hardware, del análisis correcto del software para la PC, del correcto planteo del firmware y de las interfaces de comunicación.

He aquí un listado donde enumero los proyectos más relevantes en los que he participado:

  • Sistema de Monitoreo y Control de repetidores y dispositivos varios: actualmente en una etapa avanzada de desarrollo, es un proyecto que estoy realizando en la empresa para la que trabajo.
    El proyecto consiste en un sistema genérico que permite controlar y monitorear dispositivos de diversas características y numerosos protocolos de comunicación, con posibilidad de ser visualizados en forma centralizada y unificada.
    Se lo denomina OMS como abreviatura de Operation and Maintenance System.
    El proyecto consta de varios módulos a enumerar:

    • Software OMS central: es una aplicación Servidor, que consta de un motor de bases de datos SQL y varios Servicios que interactúan con él. Cada servicio es encargado de manipular uno o varios protocolos de comunicación, y trabajan sobre la base de datos para actualizar su información.
      Son estos servicios los que están en vínculo directo con los dispositivos que se monitorean y controlan.

    • Software Cliente central: como su nombre o indica es una aplicación cliente que se conecta al servidor OMS. Permite que n usuarios diferentes puedan observar, analizar y modificar el estado de los dispositivos, ver reportes de anomalías, programar tareas de mantenimiento.

    • Software de Administración: Vinculado directamente con el software OMS central, ésta aplicación es la que permite crear usuarios, configurar permisos y armar grupos con un perfil determinado. Se pueden configurar permisos por grupo o individualmente por usuario.

    • Software OMS portátil: es una aplicación sin vinculación directa con el sistema central que permite conectarse en forma directa con un dispositivo. Dependiendo de los permisos que tenga el usuario podrá realizar desde un solo monitoreo de estado hasta modificar por completo los parámetros de funcionamiento del dispositivo. Esta aplicación también permite conectarse a dispositivos de diversas características. Permite conectarse en forma local o remota, dependiendo del tipo de conexión que se posea ya que soporta numerosas interfaces de hardware para comunicarse con los dispositivos deseados.

    • Firmware en los dispositivos: cada dispositivo tiene un firmware determinado, específico y a medida del hardware que se debe controlar y monitorear, de todas formas esto no impide que estos se puedan conectar con el OMS central o con el OMS portátil.


    Me desempeño como responsable y líder del proyecto. Participo en todos los aspectos que tengan que ver con la conceptualización de la idea y de su implementación. En cuanto al código, documentación y demás mis principales funciones son las siguientes:

    • Diseño, desarrollo, pruebas e implementación del firmware de los dispositivos. El firmware de los microcontroladores es realizado en ANSI C y Assembly.

    • Diseño de los protocolos de comunicación, en su gran mayoría del tipo HDLC.

    • Desarrollo de componentes visuales en Borland Delphi en especial los relacionadas con mostrar información de cierto hardware en donde es muy importante conocer en detalle el dispositivo que es controlado para mostrar la información en forma adecuada. Estos componentes permiten encapsular la complejidad de estas tareas a la vez de facilitar su reutilización.

    • Co-Desarrollador de la aplicación OMS portátil en Borland Delphi, enfocándome en aspectos relacionados con la interfaz de comunicación con el hardware a través de varias interfaces: Ethernet (UDP/IP, SNMP), RS232, RS485, iDEN (UDP/IP), GSM (SMS, UDP/IP por GPRS).

    • Desarrollo de funciones de alto nivel en Borland Delphi que solucionen problemas específicos, de forma de que puedan ser reutilizadas por otro desarrollador o desarrolladores.



  • Sistema de Monitoreo y Control de repetidores HBCS-126, un repetidor bidireccional para iDEN
    Se trata de un amplificador bidireccional remotizable totalmente configurable. Mi ingerencia en este proyecto fue la del desarrollo del firmware, del software que iba en el equipo y del software de notebook que pueda ser utilizado en una PC para control externo. También el desarrollo del protocolo de comunicación con el software del Centro de Operación y Mantenimiento.
    El equipo está compuesto por varios módulos: Amplificadores, Filtros Heterodinos, Atenuadores, Sensores de Alarmas y el Módulo de Gestión y Monitoreo que se reporta al Centro de Operacion y Mantenimiento.
    Se permite que la configuración de hardware sea variable lo cual hace más versátil al producto comercial desde el punto de vista del hardware aunque más complicado al software y al firmware.

    El sistema se puede dividir en varias partes:

    • Firmware para microcontroladores: Cada uno de los módulos de que se compone el Repetidor, está monitoreado/controlado por un microcontrolador y su hardware asociado, con una función específica y autónoma. Los módulos funcionan como dispositivos esclavos en una red RS485, con un protocolo propietario tipo HDLC desarrollado por mi.

    • Software para PC en el HBCS-126: Es el módulo de monitoreo y gestión, encargado de recopilar y concentrar información, de coordinar y distribuir tareas. Otra de sus funciones es la de reportar cualquier cambio y/o anomalía al Sistema Central.
      El equipo PC cuenta con un Sistema Operativo Windows 2000. Para esta aplicación desarrollé un Servicio de Windows en Borland Delphi. Esta, por ende, es una aplicación no gráfica que no requiere inicio de sesión por parte del usuario y por ende se permitiendo que esté siempre funcionando sin mediar intervención del mismo. Esta aplicación es un sistema multitarea la cual, mediante varios hilos de ejecución, gestiona el monitoreo del hardware interno y la comunicación con el exterior mediante iden, mediante RS232 y Ethernet.

    • Software de Gestión Local para PC: desarrollado también en Delphi permite hacer operaciones de mantenimiento y gestión in-situ a través de una conexión RS232, Ethernet o en forma remota si se cuenta con una vínculo iDEN.

    • Software de Operación y Mantenimiento en el centro de opraciones: Mi función fue la de diseñar el protocolo de comunicación a la vez de coordinar y dirigir las tareas con el desarrollador que llevó a cabo dicho software.



  • Firmware y Software de Sistema Autosintonizable: en este proyecto mi función era la de desarrollar el firmwrae y el software de control. El firmware debe detectar la frecuencia que ingresa al equipo y mediante un algoritmo de aproximación y el empleo de cavidades de dimensión variable utilizando motores paso a paso, modificar la frecuencia de resonancia para maximiar la transferencia de potencia minimizando las pérdidas. Todo esto se puede visualizar con un software aplicativo para PC desarrollado en Borland Delphi que permite además interactuar con el equipo y modificar parámetros de operación.


  • Firmwares Varios para Equipos de Comunicación: He realizado numerosos firmware de control para amplificadores de radiofrecuencia. En los mismos, el firmware debe controlar consumo, programar el equipo en una frecuencia determinada emplendo sintetizadores digitales de frecuencia, disminuir la potencia de salida mediante el uso de atenuadores digitales, anular la entrega de potencia si se detecta alguna anomalía y mostrar información al usuario mediante leds, displays 7 segmentos o pantallas de LCD de acuerdo al equipo.


  • Firmwares de Generador de Frecuencia Portátil Programable: es una aplicación en la que el usuario mediante un teclado y una pantalla LCD puede modificar la frecuencia en la que el equipo generará un tono de RF.


  • Firmware y software para grabación de memorias i2c a través de una PC . El dispositivo cuenta con la posibilidad de comunicarse con la PC, recibir comandos y detectar posibles errores , informándolos al usuario.


  • Variador Real de Avance del Punto Muerto Superior: diseñado para vehículos que funcionen con GNC o GLP y que tengan inyección de combustible, de muy bajo costo y excelente perfomance con control sobre sonda lambda y emulación de inyectores. El equipo aún sigue siendo comercializado en la actualidad.


  • Probador de Variador de Avance Equipo de testeo de vehículos a inyección para prueba y testeo de los equipos fabricados para aplicaciones automotrices. Esta herramienta permite detectar fallos en el software/hardware a tiempo. Los fallos de hardware de informan detalladamente.


  • Generador de Sensor de PickUp de motores a inyección: Firmware que emula el funcionamiento de un vehículo a inyección, utilizado para detectar bugs de software y/o averías en el hardware. Genera señales de diversos tipos de ruedas dentadas tanto de sensores inductivos o de tipo Hall.


  • Medidor de RPM: Firmware que en función de la rueda dentada de un vehículo a inyección, detecta la conformación de la misma y calcula las RPM en forma instantánea. Tiene numerosas posibilidades de conexión con el exterior de forma de poder ver la información de numerosas formas.


  • Firmware de Control para máquinas de imprenta de Formulario Continuo: el firmware en cuestión permite controlar a lazo cerrado, la velocidad y registro de una máquina de imprenta del tipo de formulario contínuo. El equipo destaca en su bajo costo y fiabilidad, su interfaz amigable con el usuario y en la posibilidad de conectarle un software de PC para actualizar/modificar parámetros de configuración.


  • Firmware de Control de Numeradora para imprenta: permite determinar cuando numerar, controlar el número de copias realizadas y/o el número de copias que se vienen llevando a cabo. También muestra la velocidad actual de impresión y permite modificarla.


 
Sobre mí
La semilla del Ingeniero

Me gusta programar desde que tomé contacto con mi primer computadora personal, allá por el año 1985. Se trataba de una Sinclair 1000, no era mucho lo que se podía hacer con ella pero para ese entonces era lo más avanzado que uno podía acceder.
Comencé tirando algunas líneas en el rudimentario Basic que contaban y desde allí en mi vida todo fue enfocado a las computadoras y afines. En 1988, ya comenzando el colegio secundario seguí con una Toshiba MSX, con 64K de RAM y 16K de Video RAM. Que tiempos aquellos!. Con ella seguí con el Basic, con los juegos (por supuesto) y me interioricé en el mundo de las bases de datos con el por entonces famoso D-BASE II y con un rudimentario MS-DOS.
En el 1991 mi familia adquirió su primer ordenador PC, un AT-286. En él aprendí a trabajar con un sistema operativo, a usar planillas de cálculo, software de bases de datos, procesadores de texto, aplicaciones para presentaciones gráficas, y comencé a usar el Turbo Pascal. Todo lo que llegaba a mis manos me producía curiosidad.
En el 1991 y 1992, participé de las Olimpíadas provinciales de informática en mi provincia, saliendo en primer lugar en ambos años. También por ese entonces, me la pasaba armando y desarmando mi PC, lo que despertó en mí la curiosidad por seguir Ingeniería Electrónica (y no una carrera meramente informática).
Durante mi carrera universitaria, seguí en estrecho contacto con mi fasceta de programador, probando de todo y ya conociendo más del hardware a bajo nivel, me animaba a desarrollar pequeñas aplicaciones que accedieran directamente al hardware.
Fue durante mis últimos años de carrera que me interesé por los microprocesadores y microcontroladores. Mi experiencia programando para PC en tiempos donde no había un "API" que resolviera las cosas y uno mismo debía gestionar desde la cosa más simple a la más compleja, hizo que la adaptación a los microcontroladores sea un paso natural.
Mi proyecto de final de carrera fue una automatización de un tambo, en donde interactuaban varios microcontroladores y un PC recopilaba la información de ellos.
Ya en el campo laboral, me desempeñaba integrando el conocimiento de PC y de hardware, realizando pequeñas automatizaciones las cuales poco a poco fueron ganando lugar en mi vida hasta que decidí dedicarme a eso a tiempo completo. El conocimiento del Pascal hizo que le paso natural fuera seguir usando el Borland Delphi aunque actualmente también utilizo el C y el Assembly.


Hobbies, Deportes, Gustos y aficiones

Mi mayor hobby es la música... suelo pasar horas oyendo música de los años '70 y 80, y si tengo algo más de tiempo toco mi guitarra eléctrica o el teclado (organo electrónico). Me encantan los animales; si enciendo mi televisor en general será para ver algún documental. Si hablamos de animales domésticos mi preferencia es sin lugar a dudas un perro. En cuanto a deportes me gusta practicar fútbol y natación. Tengo afición por la lectura, sobre todo novelas de aventuras, de ciencia ficción o policiales aunque también me puedo sentir atraído por otro tipo de literatura como alguna novela histórica. Me gustan las películas de acción, de ciencia ficción, las comedias francesas y ciertas películas de cine independiente.
Me gustan los video juegos, donde me considero atraído por los juegos de estrategia o de acción en primera persona.