Selección de componentes: Microcontrolador (μC) del bloque maestro

Antes de seleccionar el microcontrolador que se utilizará en el nodo maestro, se debe seleccionar el modo en el que este se comunicará con el ordenador.

Comunicación con el PC

Para la comunicación del nodo maestro con el PC se han barajado distintas alternativas. Actualmente, los ordenadores disponen principalmente de dos formas accesibles de comunicación; estas son el puerto serie y el puerto USB.

El puerto serie o RS-232, se caracteriza por ser el más sencillo de utilizar. Permite un rango bastante ámplio de velocidades, de 2400bps a 115200bps, y se encuentra implementado en multitud de microcontroladores con un coste bajo. No obstante, hoy en día está siendo desplazado por el USB y está cayendo en desuso; actualmente está limitado a ordenadores de escritorio, habiendo desaparecido prácticamente de los ordenadores portátiles. Esta situación desaconseja su uso.

El puerto USB (Universal serial bus) es un estándar para las comunicaciones serie. Inicialmente ideado para reemplazar a los puertos serie y paralelo, su uso ha ido creciendo hasta haberse convertido hoy en día en el estandar de comunicación entre el PC y cualquier otro dispositivo. Este puerto es fácil de usar para el usuario ( PnP o Plug and Play), es fácilmente expandible ( como se muestra más adelante) y permite la alimentación del dispositivo mediante el bus eliminando así la alimentación externa. En cuanto a la velocidad, la especificación USB 2.01 contempla tres modos de operación: Low Speed (LS) a 1.5Mb/s, Full Speed (FS) a 12Mb/s y High Speed (HS) 480Mb/s. Dada esta versatilidad, su topología es mucho más complicada que la de un puerto serie o paralelo. Su uso es mucho más complicado para el diseñador que el uso del puerto serie ya que debe implementar una serie de drivers propios o los definidos por alguna clase estándar. Una clase provee las especificaciones de un grupo de drivers comunes a distintos periféricos, es decir cómo se comunica el periférico con el maestro o host. El estándar contempla diversas clases entre las cuales se encuentra la clase CDC, Communications Device Class, que permite, entre otras cosas, emular un puerto serie, es decir físicamente es un puerto USB pero de cara al sistema operativo se comporta como un puerto serie. No obstante, la implementación de esta clase no es sencilla y precisa de conocimientos avanzados del estándar.

Por lo tanto el uso del USB supone las siguientes ventajas para el proyecto:

  • El nodo maestro no necesita de una fuente de alimentación externa pues se puede alimentar mediante el bus USB. El bus USB proporciona, según el estándar, una tensión de 5V y una corriente comprendida entre 100mA y 500mA dependiendo del host y del número de dispositivos conectados.
  • Facilita la conexión y el uso del nodo maestro por el usuario.
  • Permite el uso del nodo maestro en ordenadores portátiles de nueva generación.

Según lo expuesto, se concluye que el uso del puerto USB es recomendable frente al del puerto serie. Es por esto que se utilizará una comunicación USB entre el maestro y el PC. Esta comunicación utilizará la clase CDC para virtualizar un puerto serie lo que implica un desarrollo sencillo al disponer los sistemas operativos actuales del driver y un software para el PC sencillo pues deberá comunicarse con un puerto serie.

Se pueden encontrar en el mercado dispositivos que contienen dos transceptores, uno USB y otro RS-232. El dispositivo implementa la clase CDC simplificando así la conexión entre el microcontrolador y el ordenador a una conexión RS-232. También existen microcontroladores con un transceptor USB integrado. Estos últimos suponen un menor costo pero la implementación de la clase CDC la debe realizar el programador.

El componente que se utilizará es un microcontrolador de Microchip de la gama PIC18 con un transceptor USB integrado puesto que Microchip proporciona las implementaciones de las clases estándar HID (Human Interface Device) utilizada principalmente para ratones y teclados, CDC (Communications Device Class) y MSD (Mass Storage Device) utilizada para memorias o discos duros externos. Esta implementación está soportada por los microcontroladores PIC18F2455/2550/4455/4550. Las diferencias entre estos se muestra a continuación.

Dado que las necesidades del proyecto no son elevadas, la solución de compromiso es el microcontrolador PIC18F2455 dado que dispone del menor número de lineas de entrada/salida y del menor número de memoria Flash.

Para hacer uso de la implementación de Microchip de la clase CDC no se precisan demasiados conocimientos sobre el USB, no obstante, se puede encontrar información en el estándar o en páginas en castellano.

Notas
1

La especificación USB 1.1 unicamente contempla los modos LS y FS.

Referencias

Microchip AN956 Migrating Applications to USB from RS-232 UART with Minimal Impact on PC Software.

Microchip USB design center.

Microchip PIC 18F2455/2550/4455/4550 Datasheet.

USB.org USB 2.0 Specification.

Craig Peacock USB in a NutShell.

No hay comentarios: