Tarjeta de Evaluación para Universal Socket
Transcripción
Tarjeta de Evaluación para Universal Socket
www.agelectronica.com Tarjeta de Evaluación para Universal Socket1 Nota de Aplicación 004 Documentos asociados: No Dispositivo: Universal Socket1 Telefonía, Ethernet, Bluetooth, WiFi, GSM/GPRS Resumen La siguiente nota de aplicación describe el concepto de Universal Socket1 así como el hardware necesario para desarrollar aplicaciones que incluyan comunicación por modem telefónico, ethernet, bluetooth, wifi, GSM/GPRS y EDGE. Además se muestra la facilidad con la que se puede comunicar un microcontrolador con puerto de comunicación RS232 a un protocolo más complejo como los mencionados anteriormente a través de los Módulos Embebidos de Multietch2. 1. Introducción Las innovaciones tecnológicas avanzan muy rápidamente, al grado de que la implementación de hardware y software, para protocolos de comunicación cada vez más complejos, requiere de mayores tiempos y costos de desarrollo. La respuesta ante la demanda de soluciones de conectividad debe ser tal que ahorre tiempo, asegure calidad y mantenga a la vanguardia. La plataforma Socket Universal1 ofrece todo lo anterior, tiene como característica principal una estructura de hardware común e independiente del protocolo de comunicación a ser empleado, esto permite migrar entre protocolos de comunicación con un mínimo de esfuerzo en rediseño y además permite que el diseño pueda ser actualizado a futuras tecnologías de comunicación. En cuanto a software, la implementación del protocolo está a cargo del socket por lo que sólo se necesita configurarlo y comandarlo para obtener la conectividad, de esta forma el desarrollador se preocupa más por la aplicación que por la implementación del protocolo. Esta nota de aplicación abarca las conexiones iniciales de hardware, empleando una tarjeta de evaluación, para hacer una comunicación y configuración rápida de Universal Socket1. 2. Conectividad Embebidos. vía Dispositivos Los sistemas embebidos se han hecho muy comunes, el término alude a un circuito que consiste de electrónica programable (hardware y software) 1, 2 especialmente diseñada para soluciones específicas; y que generalmente estará instalado en un sistema mayor. Como ejemplo representativo una tarjeta de audio en una tarjeta madre de PC. Fig. 1. Ejemplo de Sistema Embebido (soundcard). En el caso de los módulos Universal Socket1 de Multitech2 entran dentro de esta categoría, la función principal es como puente entre dos protocolos, uno es el RS-232 y el otro puede ser PSTN, Ethernet, WIFI, Bluetooth, GSM/GPRS, con lo cual su principal aplicación es comunicar microcontroladores, FPGA’s o cualquier otro dispositivo con comunicación serial RS-232 a los protocolos anteriormente mencionados. 2.1. Plataforma de hardware universal (intercambiables). Esta característica define la ubicación de las terminales (foot-print) de alimentación, Reset y de comunicación RS232 siempre en la misma posición y dependiendo del tipo de socket tendrá o no los pines Universal Socket y Multitech son marcas registradas por Multitech Systems Inc. [email protected] (JZB81) -1- Rev.B 23/06/2008 www.agelectronica.com empleados para el protocolo de comunicación al cual hará el puente. Por ejemplo en el socket GSM/GPRS los pines empleados son: Alimentación, RST, comunicación serial, y como dicho protocolo es inalámbrico, sólo necesita de una antena para lograr la comunicación. No es el mismo caso para el Socket Modem de red telefónica conmutada, el cual tiene los mismos pines mencionados anteriormente, pero además tiene los pines tip y ring para conectarlos a un conector hembra RJ11, en la figura 2 se muestra la estructura de hardware, en color azul los pines físicos del Módulo y en negro los que no emplea. 2.3. Modo Datos y Modo Comando. Modo Comando se refiere a la comunicación de datos en la que es necesario una serie de mnemónicos para transmitir y recibir información. Modo Datos o Transparente se refiere a una comunicación en la cual los datos son enviados o recibidos sin necesidad de manipular la comunicación, los datos son encapsulados en el protocolo empleado y el receptor los recibe en la forma en que se enviaron. Fig. 2. Plataforma de hardware universal. 2.2 Protocolo de interfaz RS-232. Para el puerto serial RS-232 que incluyen estos módulos hay dos versiones en cuanto a niveles de comunicación, RS232-TTL y RS232-LVTTL. En el caso de comunicación con un microcontrolador la interfaz es directa, pero hay que tener en cuenta que dicho microcontrolador deberá manejar niveles 3.3V en el caso de emplear módulos con RS232-LVTTL. En caso de que la comunicación sea con una PC se necesita de un transmisor/receptor (transceiver) convertidor de niveles de señal, MAX232N para 5 V o MAX3233 para 3.3V. Esto permite desarrollar un protocolo propio (seguridad) para enviar y recibir datos empleando como puente al Módulo Socket Universal. 2.4. Configuración por comandos. Dependiendo del tipo de conexión que se requiere en ocasiones es necesario dar algunos parámetros del módulo, en este caso se deben emplear una serie de comandos, los cuales se encuentran en las Guías de Referencia de Comandos para cada Módulo. Fig. 3. Interfaz RS232 y TTL. Fig. 3. Interfaz RS232, TTL. 1, 2 Universal Socket y Multitech son marcas registradas por Multitech Systems Inc. [email protected] (JZB81) -2- Rev.B 23/06/2008 www.agelectronica.com La mayoría de los sockets son compatibles con comandos AT, para hacer una prueba de comunicación con el Módulo bastará con conectar el hardware a la PC y emplear un programa que nos permita una comunicación serial, en este caso uno de los más recomendados es Hyperterminal, y configurarlo de acuerdo a los siguientes parámetros de fábrica para cada Módulo, cabe resaltar que esto también nos sirve para actualizar el firmware de algún módulo: • 9600, 8,N, 1: Bluetooth • 115200, 8,N, 1: Ethernet, WI-FI • Autobaud: Modem, GSM/GPRS Fig.6. Kit de desarrollo Universal y Socket GSM/GPRS Es importante señalar que dicho kit solo contiene accesorios y software, los módulos se venden por separado. 2.6. Mobile Phone Tools Para aplicaciones de telefonía celular se recomienda el software Mobile Phone Tools, esta herramienta permite emular un teléfono celular y monitorear los comandos enviados al modem GSM/GPRS para cada una de las funciones. La versión 4.0 tiene una duración de 15 días y se puede descargar de internet desde el sitio http://www.avanquest.com Fig. 4. Modo comando. 2.5. MTSMI-UDK Es el kit de desarrollo Universal, como su nombre lo indica está preparado para soportar cualquiera de los módulos Socket Universal, las principales características de este kit son: • Adaptación de niveles de voltaje 3.3V, 5V. • Hardware robusto. • Contiene antenas y cables para todos los Sockets Universales. Esta versión tiene las mismas funciones que la versión 3, además de algunas otras para soporte multimedia. La desventaja es que no se cuenta con los archivos de registro como modem de Multitech, lo cual limita la visualización de comandos. Fig. 5. Modo Datos o Modo Transparente. 1, 2 Universal Socket y Multitech son marcas registradas por Multitech Systems Inc. [email protected] (JZB81) -3- Rev.B 23/06/2008 www.agelectronica.com Fig.7. Mobile Phone Tools 3. Tarjeta de Evaluación para Universal Socket1. Fig.8. Vista Superior, tarjeta de evaluación. La tarjeta de evaluación de módulos Universal Socket está diseñada para integrar de forma inmediata comunicación telefónica, ethernet y tecnología inalámbrica como WiFi, Bluetooth y GSM/GPRS a bajo costo. Las características de la tarjeta de evaluación son: 1, 2 • Fuente de alimentación regulada 5V @ 1.5A integrada en la tarjeta, para una entrada de CD de 7V a 12V @ 1A (requiere un eliminador de baterías no incluido). • Comunicación Serial, Niveles TTL y RS232 (Rx, Tx, CTS y RTS). • Salida para altavoz de 8Ω 1W. • Entrada para micrófono de tipo electret. • Dispositivos soportados: SocketModem Dial UP, SocketEthernet, SocketWireless WiFi, SocketWireless Bluetooth, SocketWireless GSM/GPRS y RJModem. • Dispositivo no soportado: Socketmodem ISDN (descontinuado), versiones de sockets a 3.3V. Fig.9. Vista Inferior, tarjeta de evaluación. Universal Socket y Multitech son marcas registradas por Multitech Systems Inc. [email protected] (JZB81) -4- Rev.B 23/06/2008 www.agelectronica.com 3.1. Descripción de la tarjeta de evaluación para Universal Socket1 de Multitech2. Fig.10. Bloques de la tarjeta de evaluación. 1, 2 Universal Socket y Multitech son marcas registradas por Multitech Systems Inc. [email protected] (JZB81) -5- Rev.B 23/06/2008 www.agelectronica.com 3.2. Fuente de alimentación. La alimentación deberá de aplicarse a través del conector J1 o J2, empleando una fuente de alimentación de corriente directa (C.D.) con un rango de voltaje de 7V a 12V y corriente de 1A (mínimo). Al energizar la tarjeta deberá encender el LED indicador de “energizado” (PWR). Se recomienda no montar o desmontar el módulo mientras esté energizada la tarjeta ya que puede dañarse. En el conector J1 no hay indicación serigráfica de polaridad, por lo cual se debe de tener cuidado al momento de conectar alimentación. Para mayores detalles observe la siguiente figura: Fig.12. Configuración de conector DCE, las señales corresponden al lado de la PC 3.3.2. Conexión DTE a DCE. Para una conexión de PC (Data Terminal Equipment – DTE) a la tarjeta de evaluación de Socket Univesal se debe emplear un cable tipo paralelo o uno a uno. Las líneas de datos habilitadas para el flujo y control de datos son: RX, TX, RTS y CTS. La máxima velocidad de comunicación es de 115200 bps. Fig.11. Fuente de alimentación. 3.3. Conectores de comunicación. La tarjeta cuenta con tres conectores de Entrada/Salida de datos, los cuales son: comunicación serial RS-232, comunicación telefónica y comunicación ethernet. 3.3.1. Comunicación serial RS-232. La comunicación serial es de tipo DCE (conector DB9 hembra- Data Comunication Equipment), por lo cual dependiendo del tipo de conexión se debe seleccionar adecuadamente el cable de conexión. Para hacer pruebas iniciales se recomienda hacer un LOOPBACK, en este caso, para probar la comunicación serial colocar un puente entre Tx y Rx y empleando Hyperterminal o XCTU (software propietario de radios DIGITM) verificar la conexión. Fig.13. Conexión DTE a DCE y configuración del cable correspondiente (uno a uno). 3.3.3. Conexión DCE a DCE o DTE a DTE. Para una conexión de PC (DTE) a PC (DTE) o bien un Kit de evaluación de microcontrolador (DCE) con comunicación serial, a la tarjeta de evaluación de socket Universal (DCE) se debe emplear un cable tipo cruzado o bien NULL MODEM. Fig.14. Conexión DCE a DCE 1, 2 Universal Socket y Multitech son marcas registradas por Multitech Systems Inc. [email protected] (JZB81) -6- Rev.B 23/06/2008 www.agelectronica.com Fig.15. Configuración de cable Null Modem. 3.3.4. Comunicación Telefónica La comunicación telefónica es habilitada empleando Socket Modem, el conector hacia la línea telefónica es un RJ14. La numeración de pines de un RJ14 hembra (jack 6P4C) sigue la convención de izquierda a derecha mientras se le mantiene con los contactos hacia arriba y la apertura para el plug mirando hacia usted. Aunque en el caso del de este PCB diseñado se tomo en forma inversa, afortunadamente las entradas del socket modem no son sensibles a la polaridad y por lo tanto no afecta. Fig.16. RJ14 en tarjeta de evaluación. Para pruebas iniciales y de configuración se recomienda emplear el circuito para comunicación de modem a modem mostrado en la figura y un modem de PC. Fig.18. Configuración de RJ11/14. El cable empleado es cualquier extensión telefónica con conectores RJ11. Fig.19. Extensión telefónica Hook-up. 3.3.5. Comunicación Ethernet. La comunicación IP es habilitada empleando Socket Ethernet, el conector hacia la Red Local es del tipo RJ45, de este conector se emplean solo los pines 1, 2, 3 y 6. Fig.17. Circuito para conexión de modem a modem. 1, 2 Universal Socket y Multitech son marcas registradas por Multitech Systems Inc. [email protected] (JZB81) -7- Rev.B 23/06/2008 www.agelectronica.com El módulo Socket ethernet emplea un chip de MICREL, el cual tiene la característica autocrossover que permite emplear un cable uno a uno o un cruzado indistintamente, el siguiente procedimiento se realiza de forma convencional para evitar confusiones. Fig.23. Configuración de cable cruzado (crossover). En caso de usar un switch se debe de emplear un cable de tipo CAT5E Uno a Uno (Patch), ya que internamente el switch cruza las líneas. Fig.20. RJ45 en tarjeta de evaluación. Fig.21. RJ45 en tarjeta de evaluación. Para pruebas iniciales y de configuración se debe emplear un cable de tipo CAT5E cruzado para comunicación directa con la PC, ethernet emplea 2 líneas para Tx y 2 para Rx las cuales se deben cruzar en una comunicación punto a punto (PC a PC, switch a switch) Fig.24. Conexión en Red Local y configuración de cable uno a uno (Patch). 3.4 Entrada/Salida de Audio La entrada de audio para el amplificador del altavoz es compartida por la salida del socket universal (SU) y el RJ modem (RJ), para habilitar una de la dos se debe poner un jumper en JP3. JP3 Pin Nombre Función 1y2 SP RJ RJ modem a Altavoz 3y4 SP SU Módulo SU a Altavoz 5y6 MI SU Micrófono a SU. Fig.22. Conexión punto a punto empleando cable tipo crossover. 1, 2 Universal Socket y Multitech son marcas registradas por Multitech Systems Inc. [email protected] (JZB81) -8- Rev.B 23/06/2008 www.agelectronica.com R18 es el control de volumen y LS1 es la salida del amplificador hacia el altavoz. Mic1 es la entrada para un micrófono de electret, el cual se debe de habilitar con un jumper en JP3. Entrada de Micrófono JP3 Fig.26. Configuración de red de la PC. Con esto la configuración de la PC está terminada. Salida para altavoz R18 Fig.25. Vista de los headers de entrada de micrófono y salida para altavoz. A continuación se muestra un ejemplo con uno de los sockets, en este caso se emplea el MTXCSEM, pero en otras notas de aplicación se emplearan otros. 3.5. Ejemplo de comunicación UDP en red de área local. La conexión para este ejemplo es el mostrado en la figura 22 (red punto a punto), para esto la PC debe de contar con una tarjeta de red, en este caso se emplea el socket MTXCSEM para hacer una conexión UDP y de esta forma tener una comunicación de datos en modo transparente en la red de área local. La configuración de red para la PC es asignarle una dirección IP fija, en Windows la ruta es: de red Panel de control conexión de área local. Conexiones Una vez en la ventana de “Propiedades de conexión de área local” ir a: Protocolo Internet (TCP/IP ) Propiedades. En la ventana “Propiedades de Protocolo Internet (TCP/IP)” asignar una dirección IP y la máscara de red, en este ejemplo se emplea la dirección 192.168.1.76 con máscara 255.255.255.0. La comunicación serial se hace en la misma PC, tiene la siguiente configuración: 115200, 8,n,1, y en este caso se emplea Hyperterminal para abrir el puerto COM1. Una vez conectado el hardware se tiene que configurar el socket por el puerto serial para hacer la conexión por UDP. Los siguientes comandos son para configurar al Módulo MTXCSEM como servidor UDP y una vez que está configurado se guarda en la memoria flash. 3.5.1. Modo Fábrica MTXCSEM Al energizar por primera vez el Módulo MTXCSEM saldrá el siguiente mensaje en puerto serial. Booting... Type “d” to enter download mode Ready (eth0 ip address : 192.168.1.40) OK Login: (poner admin) Password: (poner admin) Logged in successfully # Después de haber hecho esto aparece el prompt (#) donde podemos empezar a escribir los comandos de configuración. 3.5.2. Configuración general de socket. Los siguientes comandos son de configuración general, en el caso de Hyperterminal se pueden copiar y pegar en la ventana. #set boot-messages disable Deshabilita los mensajes de boot. #set login disable Deshabilita password y el login al inicio. #set ip eth0 dhcp-client disable Se deshabilita el cliente DHCP, es importante deshabilitarlo ya que si no se hace no se le puede cambiar la dirección ip del módulo. 1, 2 Universal Socket y Multitech son marcas registradas por Multitech Systems Inc. [email protected] (JZB81) -9- Rev.B 23/06/2008 www.agelectronica.com #set ip eth0 ip-address 192.168.1.200 mask 255.255.255.0 Se introduce la dirección apropiada a la red donde se va a utilizar el módulo. En este caso para la aplicación es 192.168.1.83 y mascara: 255.255.255.0. #show ip eth0 configuration Muestra la configuración del puerto ethernet. En caso de algún problema en la conexión del Módulo MTXCSEM se recibirá la respuesta: Tiempo de espera agotado para esta solicitud En caso contrario se recibirá: Respuesta desde 192.168.1.200: bytes =32 ... 3.5.3. Módulo MTXCSEM como Servidor UDP. La configuración como servidor UDP permite que un cliente (PC u otro módulo Ethernet) se conecte en un tiempo determinado a través de un socket UDP (dirección formada por la unión de la dirección IP y el número de puerto), si durante cierto tiempo el cliente no envía un dato, el Módulo MTXCSEM lo desconecta y permanece en espera hasta que otro cliente se conecte, al conectarse, el led DCD indica la conexión. Es importante señalar que el proceso de conexión en el protocolo UDP no requiere de una instrucción específica basta con mandar datos a la dirección IP y puerto a emplear (si servidor esta configurado para aceptar conexiones) para iniciar la comunicación. Para configurar el Módulo MTXCSEM como servidor UDP se emplean los siguientes comandos. # set serial s0 host-interaction-mode disable # set ip auto-dialout enable # set serial s0 auto-dialout enable # set serial s0 auto-dialout-port 10002 Puerto de comunicación con la aplicación en la PC. # set serial s0 auto-dialout-protocol udp # set serial s0 flow-control rts-cts (Control de flujo por hardware deshabilitado) # set serial s0 dialout-monitor dtr # set ip udp inactivity enable Habilita el tiempo para desconectar el Módulo MTXCSEM si no recibe un dato, y espera la siguiente conexión, el tiempo minimo recomendado es 2 segundos dependiendo de la velocidad del microcontrolador a ser conectado. # set ip udp inactivity-timeout 2 # set ip udp terminate-monitor disable # save Una vez hecha la configuración se puede hacer la conexión UDP. La primera prueba de conexión se puede hacer empleando el comando ping para ver si el Módulo MTXCSEM esta conectado. Abrir símbolo de sistema y enviar el comando a la direccion IP del Socket: Una vez que obtenemos una respuesta satisfactoria se puede emplear el software Netcat para hacer una conexión UDP transparente, este es un programa bajo ambiente MS-DOS para conexiones TCP/IP . Nuevamente desde símbolo de sistema y teniendo el ejecutable de Netcat en raíz hacemos la conexión como cliente hacia el Módulo MTXCSEM con las siguientes instrucciones: C:\>nc Cmd line: -u 192.168.1.200 10002 Y se tiene una comunicación transparente de datos 3.5.4 Ejemplo de Control y Monitoreo UDP. Se desarrolló una aplicación para la PC como cliente, en Delphi y Action Script, el funcionamiento es muy sencillo. Como la comunicación de datos es transparente se implementó un protocolo sencillo para monitorear y controlar variables a través de un microcontrolador. Fig.27. Vista del software con comunicación UDP. La aplicación despliega los valores recibidos, los cuales vienen de la comunicación serial entre el Módulo MTXCSEM y el microcontrolador, para esto detecta una cadena del siguiente tipo: FFFFFFPPPPTTBB C:\>ping 192.168.1.200 1, 2 Universal Socket y Multitech son marcas registradas por Multitech Systems Inc. [email protected] (JZB81) - 10 - Rev.B 23/06/2008 www.agelectronica.com Donde: FFFFFF: 3 bytes de reconocimiento, si el software no detecta esto en la cadena recibida solo se imprime el dato (o datos recibidos). PPPP: 2 bytes contemplados para un convertidor A/D de 12 bits (0xFFF). Este valor de 0 a 4094 manipula la posición del automóvil en un eje. TT: 1 byte para un convertidor A/D de 8 bits conectado a un sensor de temperatura. BB: 1 byte para una entrada digital, obtiene el valor 1 ó 0 y lo despliega haciendo girar al gauge. La aplicación obtiene del control PWM representado con una araña un valor de 0 a 0xFF que envía hacia el Módulo MTXCSEM en un paquete de la forma: Fig.29. Comunicación Serial-UDP con XCTU. FFFFFFxx Donde: FFFFFF: 3 bytes de reconocimiento, xx: 1 byte de PWM con valo de 0x00 a 0xFF. Este paquete es recibido por el Módulo MTXCSEM y del lado de la comunicación serial se obtiene en forma transparente. Inicialmente está contemplado para manipular la intensidad lumínica de una lámpara, a través de un microcontrolador AVR. En cuanto al firmware del AVR se adjunta el archivo fuente y las instrucciones para compilarlo. Si no se quiere emplear un microcontrolador y sólo se desea hacer una prueba de conexión, basta con tener un software como XCTU de DIGI, el cual es libre, para enviar cadenas hexadecimales. La configuración debe ser 115200, 8, N, 1 Fig.28. Configuración de XCTU. 1, 2 Universal Socket y Multitech son marcas registradas por Multitech Systems Inc. [email protected] (JZB81) - 11 - Rev.B 23/06/2008 www.agelectronica.com Referencias. Documentos. S000342F.pdf; Hardware Guide for Developers S000278I.pdf; Serial-to-Ethernet Device Servers, SocketEthernet IP (MTXCSEM), MultiConnect SE (MTS2EA, MTS2EA-R) AG Electrónica S.A. de C.V. División de Ingeniería Republica del Salvador N.20 Desp. 501 Col. Centro México D.F. C.P. 06000 Tel. (55) 5130-7210 www.agelectronica.com Autor: Ing. Javier Zamudio Bautista Paginas web www.multitech.com www.wikipedia.com Desarrollo de software. Ing. Jorge Macias Ortíz Ing. Omar Cazarez Software libre. Desarrollo de Firmware. Jorge Valencia Martinez UAM Azcapotzalco Netcat http://netcat.sourceforge.net/ Primera revisión: 13/Mayo/2008 Rev. A. Ingeniería. Segunda revisión: 18/mayo/2008 Rev. B. Capacitación. XCTU http://www.digi.com/support/productdetl.jsp?pid=33 52&osvid=57&tp=4&s=316 Software de prueba Mobile Phone Tools http://www.avanquest.com 1, 2 Universal Socket y Multitech son marcas registradas por Multitech Systems Inc. [email protected] (JZB81) - 12 - Rev.B 23/06/2008