4.1. Trabajos Futuros - Universidad Nacional de Colombia

Anuncio
4.1.
Trabajos Futuros
Basados en el diseño realizado en la tesis, se plantearon varias ideas para
realizar los siguientes proyectos:
En el sistema embebido, implementar y comparar diversos protocolos
de comunicación y transmisión de señales biomédicas, ya sean propios
o utilizando los estándares internacionales que existen para la transmisión. De tal forma que permitan comparar el desempeño, eficiencia
y calidad en la transmisión de la información.
Realizar un análisis de la compresión, detección de errores y encriptación de las señales biomédicas, teniendo en cuenta los recursos de
hardware y software disponible en el sistema embebido.
Analizar la robustez y la seguridad eléctrica del sistema implementado
en la tesis, con el fin de realizar las pruebas técnicas establecidas en la
norma NTC 60601-1.
Calcular el costo computacional de los programas ejecutados en el
sistema embebido al realizar la comunicación con el sistema de información SARURO, con el fin de establecer la eficiencia del Software en
el Sistema Embebido y de esta forma determinar las posibles mejoras
que se le pueden realizar para optimizar el diseño.
Explorar nuevas aplicaciones para el sistema embebido, como la detección de variables ambientales (temperatura, humedad, nivel de presión
sonora) para la transmisión y control de las condiciones de un invernadero o para realizar sistemas de monitorización y control en una
industria.
Modificar las caracterı́sticas del hardware y software para la medición
de otros parámetros que permitan la exploración de nuevos temas de
estudio como los WSN (Wireless Sensor Networks).
Trabajar en la implementación de protocolos de comunicación para
sistemas embebidos con estas caracterı́sticas.
64
Apéndices
65
Apéndice A
Productos
A.1.
Sistema Embebido
El sistema embebido permite el almacenamiento, adaptación y transmisión al sistema de información SARURO [104], por redes WPAN, WLAN,
LAN y redes celulares, de la información correspondiente a: nivel de saturación de oxı́geno, presión arterial, frecuencia cardiaca y electrocardiografı́a.
A.2.
Ponencia
En el “IV Seminario Internacional de Procesamiento y Análisis de Imágenes Médicas”, llevado a cabo del 24 al 27 de noviembre del 2008, se realizó la
ponencia Titulada “ Plataforma Web para Telemedicina basada en RIMHL7”, la cual se anexa en el CD con el respectivo certificado de presentación.
En esta ponencia se presentó el dispositivo desarrollado en BioIngenium para la telemonitorización de señales biomédicas ( Es el primer equipo con
estas caracterı́sticas integrado en Colombia, que se encuentra en proceso de
certificación ante el INVIMA).
A.3.
Conferencias
Se presentaron dos conferencias:
En la Universidad Pedagógica Nacional (UPN) se desarrollo una conferencia titulada “Design and Implementation of an Embedded System”,
la cual se anexa en el CD con la carta de agradecimiento por la participación en esta actividad. La conferencia se realizó en Septiembre 29
66
de 2009. Se expuso los conceptos fundamentales de los sistemas embebidos, entre los que se encuentran: la definición, las aplicaciones, los
conceptos de Linux Embebidos, la arquitectura general, boards comerciales y herramientas de desarrollo.
En la Universidad de San Buenaventura (USB), sede Bogotá, se dictó la
conferencia titulada “Introducción a los Sistemas Embebidos”, la cual
se anexa en el CD con la carta de agradecimiento por la participación en esta actividad. La conferencia se realizó en Septiembre 09 de
2010. Se presentó una introducción a las temáticas relacionadas con los
sistemas embebidos, software libre, hardware libre, Linux Embebido,
herramientas de desarrollo y el sistema diseñado en la tesis.
A.4.
Artı́culos
En el 2009 se presento un abstract del proyecto titulado “Monitoreo
Remoto De Señales Biomédicas Vı́a Celular ” al “Cartagena Telemedicine
Conference 2009 ”, el cual se aprobó para presentarlo como ponencia, pero
por dificultades de tiempo y económicas no se asistió al certamen. En el CD
se anexa el artı́culo, el abstract y la carta de confirmación.
A.4.1.
Artı́culos en Edición
Actualmente, se están preparando los siguientes artı́culos:
Titulo: “Desing and Implementation of an Embedded System for Acquiring and Transmission of Biomedical Signals through Cellular Network”.
Titulo: “Diseño de un sistema embebido como herramienta de comunicación para transmitir por redes inalámbricas”.
Titulo: “Implementación de un dispositivo electrónico, basado en un
sistema embebido, para aplicaciones médicas”.
A.5.
Reporte Técnico
Se desarrolló el reporte técnico titulado: “MARCO LEGAL DE LOS
DISPOSITIVOS MÉDICOS EN COLOMBIA”, en el cual se identifican las
67
normas y estándares técnicos que debe cumplir un equipo médico de telemonitorización de señales biomédicas en Colombia.
68
Apéndice B
Conexiones de los FTDIs y
del Hub TUSB
En las Figuras B.1, B.2 y B.3 se presentas los esquemáticos diseñados
para el módulo de comunicación y adquisición que se presentaron en la
Sección 3.5.
69
Figura B.1: Diagramas de conexión de los FTDIs.
70
Figura B.2: Diagramas de conexión de los FTDIs.
71
Figura B.3: Diagrama de conexión del Hub TUSB2077A.
72
Apéndice C
Arquitecturas de
Procesadores
En la Tabla C.1 se muestran las arquitecturas de procesadores usadas
para la implementación de sistemas embebidos con su respectivo enlace.
Arquitectura
ARM
AVR
x86
MIPS
Hitachi SuperH
PowerPC
Enlace
Anotación
http://www.arm.com/
Es una familia de procesadores RISC diseñado
por Acorn Computers y desarrollado por Advanced RISC Machines Ltd.
Es una familia de microprocesadores RICS de
ATMEL.
Introducido por Intel en 1985.
http://www.atmel.com/
products/avr/
http://en.wikipedia.
org/wiki/X86_
architecture
http://www.mips.
com/products/
architectures/
http://www.renesas.
com/products/mpumcu/
superh/superh_landing.
jsp
http://www-03.ibm.com/
systems/p/hardware/
whitepapers/power/ppc_
arch.html
73
Recibe este nombre por las iniciales de “Microprocessor without Interlocked Pipeline Stages” corresponde a una familia de microprocesadores de arquitectura RISC desarrollados
por MIPS Technologies.
Introducido por Hitachi a principios de los
1990. Es un conjunto de microcontroladores y
microprocesadores basados principalmente en
una arquitectura RISC.
También es conocido como PPC. Desarrollado
por IBM, Motorola y Apple.
Arquitectura
Motorola 68000
Blackfin
Enlace
Anotación
http://en.wikipedia.
org/wiki/Motorola_
68000
http://www.
analog.com/en/
embedded-processing-dsp/
blackfin/processors/
index.html
También se conoce como m68k, es un microprocesador desarrollado por Motorola y es el
primero de la familia 68000.
Es una familia de microprocesadores que incorpora las funciones de un DSP, es producido
por Analog Devices.
Tabla C.1: Principales arquitecturas de procesadores utilizadas en los Sistemas Embebidos.
Arquitecturas ARM: el primer prototipo de estos procesadores fue el
ARM1 desarrollado en 1985. En 1986 se construyó el primer procesador comercial ARM2 que tenı́a un bus de datos de 32 bits, con bajo
consumo de energı́a y con un alto rendimiento para su época. Posteriormente se diseño el ARM3 que poseı́a una memoria caché de 4KB.
En 1990 la empresa Acorn decidió dividir las funciones de fabricar y
diseñar, creando la empresa Advanced RISC Machines Ltd. que se encargó de mantener y promover esta familia de procesadores, diseñando
CPUs basadas en los núcleos ARM para los consumidores. Esto dio
un gran impulso al uso de núcleos ARM en la fabricación de procesadores por parte de muchas empresas, entre las que se encuentran:
Intel, Toshiba, Samsung, Freescale, IBM, Texas Instruments, Nintendo, Philips, Atmel y Sharp. En la Figura C.1 se muestra el diagrama
del SoC AT91RM9200, utilizado en el diseño del TES ROv2.0.
74
Figura C.1: Diagrama de bloques de la arquitectura interna del AT91RM9200, extraı́do
de la hoja de especificaciones.
75
Apéndice D
Componentes de Software en
el Sistema TES ROv2.0
En este Apéndice se describe los componentes de software utilizados en
el sistema TES ROv2.0 y la adecuación que se realizó.
D.1.
Darrell’s Loader
Es una pequeña aplicación basada en u-boot (ver sección D.2). Las actividades que permite realizar este programa son: configurar la memoria
SDRAM externa, transferir aplicaciones por medio del protocolo XModem
a esta memoria, configurar el puerto serie, controlar la memoria DataFlash
y almacenar aplicaciones en ella [19, 31, 44]. El código fuente del programa
se puede descargar con el siguiente comando:
$svn co http://svn.arhuaco.org/svn/src/emqbit/ECB_AT91_V2/darrell-loader/
Para la instalación de esta aplicación se realiza la compilación cruzada
del código fuente, esto genera un archivo binario denominado loader.bin que
se transfiere a la tarjeta usando minicom1 con el protocolo XModem. El
loader es ejecutado, inicialmente, desde la SRAM del SoC desplegando el
menú con las siguientes opciones:
1. Upload Darrell’s loader to Dataflash
1
Minicom es un programa equivalente al Hiyper Terminal de Windows. Generalmente
se utiliza para emular un terminar y establecer una consola serial remota [3]. En la página: http://wiki.emqbit.com/configureminicomtousetheserialconsole se especifica la
configuración del minicom como consola serial.
76
2. Upload u-boot to Dataflash
3. Upload Kernel to Dataflash
4. Start u-boot
5. Upload Filesystem image
6. Memory test
A continuación, se selecciona la opción 1 para almacenar el archivo binario en la memoria DataFlash, permitiendo que el sistema lo cargue y lo
ejecute siempre que se reinicie la tarjeta.
D.2.
u-boot
Es un gestor de arranque (Universal Bootloader [34]) para varias arquitecturas de procesadores, entre las que se encuentra ARM. Permite cargar
archivos utilizando varios periféricos como: Ethernet, puertos seriales, memoria SD, Flash, NAND y NOR.
Esta aplicación conduce la inicialización del hardware a bajo nivel para
después arrancar la imagen de kernel de Linux y cederle el control. En el
sistema embebido, el archivo binario del gestor (llamado u-boot.bin) se almacenado en la DataFlash seleccionando la opción 2 y se ejecuta seleccionando
la opción 4 del Darrell’s Loader.
D.3.
Kernel
El kernel es el componente fundamental del sistema embebido (Ver Sección 2.3.2), el cual necesita ser configurado para desarrollar una actividad y
soportar una arquitectura de hardware especı́fica. La adaptación del kernel
requiere de la ejecución de varios paso que permiten realizar su compilación
e implementación en el sistema.
A continuación se presentan los pasos realizados con los respectivos comandos ejecutados en consola2 (La imagen del kernel que se utilizó en el sistema
fue la versión linux-2.6.30.5 ).
2
La consola o terminal es una herramienta muy usada en Linux para ejecutar comandos, similar a la ventana de DOS en Windows. Dos ejemplos de estas herramientas son:
Terminal y Konsole.
77
1. Descargar la imagen del Kernel:
$wget
tar.bz2
http://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.5.
2. Descomprimir la imagen:
$tar xjf linux-2.6.30.5.tar.bz2
3. Descargar el parche para el kernel: ingresar a la carpeta que contiene la
imagen del kernel usando el comando “cd linux-2.6.30.5/” y descargar
el parche con:
$wget http://maxim.org.za/AT91RM9200/2.6/2.6.30-at91.patch.gz
4. Aplicar el parche para el kernel:
$zcat 2.6.30-at91.patch.gz — patch -p1
5. Adaptar el kernel: se deben comentar 2 lineas en el archivo at91 mci.c
ubicado en drivers/mmc/host/, después de aplicar el parche al kernel,
que corresponden a:
if (host->bus_mode == MMC_BUSMODE_OPENDRAIN)
cedro|=AT91_MCI_OPDCMD;zcat 2.6.30-at91.patch.gz | patch -p1
En este punto tenemos el kernel listo para realizar la compilación cruzada con
las herramientas GNU3 y generar un archivo ejecutable para la arquitectura
ARM. A continuación se identifican los pasos para la compilación del kernel.
6. Modificar la variable PATH: exportar al PATH la ubicación de los
ejecutables de las herramientas usadas en la compilación cruzada4 .
$export PATH=$PATH:/media/linuxdatos/oe/ecbat91/outAT91/cross/armv4t/bin/
Para reducir los comandos usados en la compilación se crea el alias:
$alias crossmake=’make ARCH=arm CROSS COMPILE=arm-angstrom-linuxgnueabi- ’
7. Crear una configuración por defecto:
$crossmake ecbat91 defconfig
Esto genera un archivo oculto .config que contiene la configuración del
sistema embebido.
3
Para tener acceso a las herramientas de compilación cruzada para el ARM, primero
se tienen que crear el toolchain o usar un entorno de desarrollo como OPENEMBEDDED
(Ver Sección D.5. La creación del Toolchain se detalla en [19] o en el enlace http://wiki.
emqbit.com/howtocross-compileforthearm
4
Para este proyecto se usa el entorno de desarrollo de linux embebido OPENEMBEDDED, el cual permite crear un toolchain apropiado para la arquitectura ARM.
78
8. Configurar el kernel para el sistema:
$crossmake menuconfig
En este punto se modifican la configuración del kernel. Ejemplo: Para
el sistema embebido se necesita activar la opción eabi (embeddedapplication binary interface), eliminar la opción MMC debugging que
se encuentra en el menú device drivers - MMC, adaptar los servicios de
red (Ejemplo: dar soporte al protocolo PPP), activar las caracterı́sticas del kernel para poder integrar los dispositivos usados y establecer
los módulos5 necesarios para prestar los servicios.
El método escogido para realizar la configuración del kernel es mediante el uso de la interfaz gráfica en el terminal o método por menús.
9. Crear la imagen del kernel para el sistema embebido:
$crossmake -j2
Con este comando se compila y se obtiene la imagen del kernel denominada vmlinux, con un tamaño aproximado de 4.8MB, la cual tiene
las caracterı́sticas necesarias para funcionar en el sistema embebido6 .
10. Compresión del kernel: como el sistema embebido tiene un espacio
aproximado a 1.7MB en la memoria DataFlash, donde se almacena
la imagen del kernel, es necesario realizar una compresión. Además,
se tiene que establecer la extensión .gz para la imagen, porque es la
extensión compatible con el u-boot utilizado.
A continuación se presentan las instrucciones usadas para comprimir
el kernel y establecer la extensión adecuada.
$arm-angstrom-linux-gnueabi-objcopy -O binary -R .note -R .comment -S
arch/arm/boot/compressed/vmlinux linux.bin
$gzip -c -9 linux.bin > linux.bin.gz
Con la primera instrucción se comprime el archivo vmlinux, eliminando
la información de depuración, y se obtiene el archivo linux.bin con
tamaño de 1.776MB. En el segundo comando se usa la herramienta
5
“Los módulos son pequeñas piezas de código que pueden ser cargadas y descargadas
en el kernel en el momento que sea necesario. Ellos extienden la funcionalidad del kernel,
sin la necesidad de reiniciar el sistema y recompilar el kernel. Por ejemplo, un tipo de
módulo es el controlador de dispositivo, el cual permite al kernel acceder a un dispositivo
hardware conectado al sistema.” [19]
6
El 2 en el comando corresponde al número de procesadores que tiene el host.
79
gzip y se crea el archivo linux.bin.gz con un tamaño de 1.764MB, el
cual tienen el tamaño adecuado y es compatible con el u-boot.
Finalmente, para realizar la instalación de la imagen linux.bin.gz, primero
se tiene que reiniciar la tarjeta y al momento de cargar el Darrell’s loader
interrumpir el proceso oprimiendo cualquier tecla, de esta forma se puede
escoger la opción 3 que transfiere la imagen a la memoria DataFlash, por
medio del protocolo XModem. Posterior al almacenamiento de la imagen se
debe esperar a que se despliegue el menú del Darrell’s XModem (Ver Sección
D.1) y escoger la opción 4 para arrancar el u-boot, el cual se encarga de
inicializar el kernel y le transfiere el control del sistema.
Una vez se inicializa el kernel, este transfiere el control del sistema a un
nivel independiente de la arquitectura, en el que se inicializa la abstracción
de alto nivel, se monta el Root Filesystem y se ejecutar el primer proceso en
el espacio de usuario llamado init process [19, 110]. Una de las actividades
iniciales realizadas por el kernel consiste en establecer un dispositivo para
la interacción con el usuario. Para esta plataforma corresponde a la consola
serial (/dev/console).
D.4.
Root Filesystem
El Root Filesystem esta almacenado en una microSD (Ver Figura 3.13),
la cual trabaja con el sistema de archivos Ext3. El Root Filesystem esta
compuesta por los siguientes directorios:
/: es el directorio raı́z, tiene la jerarquı́a más alta.
bin: contiene las aplicaciones binarias, las cuales son programas ejecutables que forman parte de linux.
dev: contiene los archivos de los dispositivos que permiten establecer la
comunicación con los distintos elementos de hardware. Ejemplo: discos
duros-hda, Console y puertos USB-ttyUSB.
home: almacena los directorios del usuario.
mnt: es un directorio usado para los montaje temporales.
sbin: contiene archivos binarios esenciales para el sistema.
usr: contiene una replica de otros subdirectorios importantes.
80
boot: contiene la información necesaria para la inicialización del sistema.
etc: contiene los archivos de configuración del sistema.
lib: contiene las librerı́as y los módulos del kernel.
media: punto de montaje para las unidades extraı́bles.
srv: datos de servicios ofrecidos por el sistema.
tmp: almacena los archivos temporales.
var: contiene los archivos con información variable.
D.5.
Herramienta de Desarrollo Openembedded
En el proceso de diseño e implementación de los sistemas embebidos se
usan: compiladores, enlazadores (linkers), interpretes, herramientas y ambientes de desarrollo. Por este motivo, en la construcción de los componentes
de software se utiliza un host o maquina huésped que alberga las herramientas que intervienen en la construcción del sistema (Ver Figura 3.13).
Particularmente, en este proyecto se trabajo con un computador personal con sistema operativo linux, en donde se implementaron para el diseño
del sistema embebido, dos herramientas principales que son: Openembedded(es un sistema de software para crear distribuciones de Linux destinadas
principalmente a los sistema embebidos) y BitBake(es una herramienta para la ejecución de tareas y administrador de metadatos, similar a Make de
GNU [60]) .
Openembedded: [11, 31, 79] consiste en una colección de metadatos
usados, principalmente, para desarrollar una cadena de herramientas
(Toolchain) necesarias en la compilación cruzada y para desarrollar
imágenes completas de varias distribuciones de linux, por ejemplo:
OpenZaurus y Angstrom, los cuales constan de la construcción de
Root Filesystem y del kernel7 . En este proyecto se usa el OE para
crear el toolchain y el Root Filesystem.
7
La información necesaria para el uso de OE se puede consultar en http:
//wiki.openembedded.net/index.php/Getting_started o en http://www.emqbit.com/
mediawiki/index.php/Main_Page/ecb_at91/OE.
81
El toolchain generado con el OE se presenta a continuación. Se destacan las herramienta gcc y g++ usadas en la compilación cruzada de
programas en C y C++.
nelson@nelson-laptop:/media/linuxdatos/aux_kernel/linux-2.6.27$ arm-angstrom
-linux-gnueabiarm-angstrom-linux-gnueabi-addr2line arm-angstrom-linux-gnueabi-gfortran
arm-angstrom-linux-gnueabi-ar
arm-angstrom-linux-gnueabi-gprof
arm-angstrom-linux-gnueabi-as
arm-angstrom-linux-gnueabi-ld
arm-angstrom-linux-gnueabi-c++
arm-angstrom-linux-gnueabi-nm
arm-angstrom-linux-gnueabi-c++filt
arm-angstrom-linux-gnueabi-objcopy
arm-angstrom-linux-gnueabi-cpp
arm-angstrom-linux-gnueabi-objdump
arm-angstrom-linux-gnueabi-g++
arm-angstrom-linux-gnueabi-ranlib
arm-angstrom-linux-gnueabi-gcc
arm-angstrom-linux-gnueabi-readelf
arm-angstrom-linux-gnueabi-gcc-4.2.4 arm-angstrom-linux-gnueabi-size
arm-angstrom-linux-gnueabi-gccbug
arm-angstrom-linux-gnueabi-strings
arm-angstrom-linux-gnueabi-gcov
arm-angstrom-linux-gnueabi-strip
82
Bibliografı́a
[1] Analogy of Promising Wireless Technologies on Different Frequencies: Bluetooth,
WiFi, and WiMAX, 2007.
[2] Doug Abbott. Linux for Embedded and Real time Applications. Newnes, 2003.
[3] Alioth.debian.org. minicom. https://alioth.debian.org/projects/minicom/.
[4] ANSI/AAMI. Safe current limits for electromedical apparatus: American national
standard: Ansi/aami es1’1993. Association for the Advancement of Medical Instrumentation, 1993.
[5] ATMEL. Arm920ttm- based microcontroller at91rm9200. www.atmel.com/dyn/
resources/prod_documents/doc1768.pdf, 2005.
[6] Andre E. Aubert, Frank Beckers, and Bart Verheyden. Wiley Encyclopedia of Biomedical Engineering, chapter Electrodes, pages 1318–1334. John Wiley & Sons, Inc.,
2006.
[7] J. J. Bailey, A.. S. Berson, A. Garson, L. G. Horan, P. W. Macfarlane, D. W. Mortara, and C. Zywietz. Recommendations for standardization and specifications in
automated electrocardiography bandwidth and digital signal processing a report for
health professionals by an ad hoc writing group of the committee on electrocardiography and cardiac electrophysiology of the Council on Clinical Cardiology, pages
730–739. American Heart Association., 1990.
[8] BandaAncha.st. Huawei e156. http://wiki.bandaancha.st/Huawei_E156.
[9] Roger C. Barr. The Biomedical Engineering HandBook, chapter 19 Basic Electrophysiology, pages 19–1–19–18. CRC Press, third edition, 2006.
[10] Edward J. Berbari. The Biomedical Engineering Handbook, chapter 24 Principles of
Electrocardiography, pages 24–1–24–11. CRC Press, third edition, 2006.
[11] BerliOS. Project: Bitbake build tool - summary. http://developer.berlios.de/
projects/bitbake.
[12] Richard P. Buck. The Biomedical Engineering HandBook, volume 1, chapter 51
Bioanalytic Sensors. CRC Press, second edition, 2000.
[13] C. Camargo. Ecbot: Arquitectura abierta para robots móviles. IEEE Colombian
Workshop on Circuits and Systems, 2007.
[14] C. Camargo. Ecbot y ecb at91 plataformas abiertas para el diseño de sistemas
embebidos y co-diseño hw/sw. VIII Jornadas de Computación Reconfigurable y
Aplicaciones, Madrid España, 2008.
83
[15] C. Camargo. Hardware copyleft como herramienta para la enseñanza de sistemas
embebidos. Congreso Argentino de Sistemas Embebidos CASE 2011, Buenos Aires
Argentina, March 2011.
[16] C. Camargo. Metodologı́a para la transferencia tecnológica en la industria electrónica basada en software libre y hardware copyleft. XVII Workshop de Iberchip, Bogotá Colombia, 2011.
[17] C. Camargo. Sie: Plataforma hardware copyleft para la enseñanza de sistemas
digitales. XVII Workshop de Iberchip, Bogotá Colombia, February 2011.
[18] Carlos Ivan Camargo. Debian gnu linux on the ecb at91 single board computer.
2006.
[19] Carlos Ivan Camargo. Técnicas de Auto Organización de Sistemas Paralelos Inspirados en la Naturaleza. PhD thesis, Universidad Nacional de Colombia, 2009.
[20] John Catsoulis. Designing Embedded Hardware. O’Reilly Media, Inc., second edition,
2005.
[21] Diego Fernando Urbano Chaves. Diseño del módulo de telecardiologı́a para el proyecto cubesat ud. Master’s thesis, Universidad Distrital Francisco José de Caldas,
2008.
[22] Diego Méndez Chaves. Desarrollo de una plataforma para prototipaje flexible de
aplicaciones wsn. Master’s thesis, Universidad de los Andes, 2007.
[23] FTDI Chip. Future technology devices international ltd. http://www.ftdichip.
com/.
[24] Cisco. CCNA 1 and 2 Companion Guide. Cisco Press, 2004.
[25] Arnon Cohen. The Biomedical Engineering HandBook, volume 1, chapter 52 Biomedical Signals: Origin and Dynamic Characteristics; Frequency-Domain Analysis.
CRC Press, second edition, 2000.
[26] M. Conti and D. Moretti. System level analysis of the bluetooth standard. pages
118–123 Vol. 3, 2005.
[27] Centro de Información Cardiovascular. El sistema de conducción.
texasheart.org/HIC/Anatomy_Esp/cond_sp.cfm.
http://
[28] Sociedad Vasco Navarra de Pediatrı́a. Abc del electrocardiograma web page. http:
//www.svnp.es/Documen/ecg.htm.
[29] Max Domeika. Software Development for Embedded Multi core Systems. Newnes,
2008.
[30] Encore Electronics. Enuwi-g2 adaptador usb 2.0 inalámbrico 802.11g. http://www.
encore-usa.com/cl/product/ENUWI-G2.
[31] EmQbit. emqbit linux powered devices company. http://www.emqbit.com/.
[32] EmQbit. Debian gnu linux embebido en el ecb at91. http://www.emqbit.com/,
2006.
[33] EmQbit. Introducción a los sistemas embebidos. 4 Congreso de Control, Electronica
y Comunicaciones-UD, 2008.
[34] DENX Software Engineering. U-boot. http://www.denx.de/wiki/U-Boot.
[35] Roberto Espinosa Espinosa. Redes Telefónicas. Universidad Pedagógica Nacional,
2000.
84
[36] Ferato.
Electrocardiograma.
Electrocardiograma.
http://www.ferato.com/wiki/index.php/
[37] Ross Flewelling. The Biomedical Engineering HandBook, chapter 86 Noninvasive
Optical Monitoring. CRC Press, third edition, 2000.
[38] Behrouz A. Forouzan. Transmisión de Datos y Redes de Comunicaciones. McGrawHill, 2002.
[39] Behrouz A. Forouzan. Data Communications and Networking. McGraw-Hill, 2007.
[40] Behrouz A. Forouzan. TCP/IP Protocol Suite. MCGraw-Hill, 2009.
[41] Dimitris I. Fotiadis, Aristidis Likas, Lampros Michalis, and Costas Papaloukas. Wiley Encyclopedia of Biomedical Engineering, chapter Electrocardiogram (ECG): Automated Diagnosis, pages 1259–1275. John Wiley & Sons, Inc., 2006.
[42] Ary L. Goldberger. Harrison’s Principles of Internal Medicine, volume II, chapter
210 Electrocardiography. McGraw-Hill Companies, Inc., 2006.
[43] Centro de Telemedicina Grupo de Investigación BioIngenium. SARURO TELE CARE BOX (TCB-081) Dispositivo de Telemonitorización de Signos Vitales. Manual
de Instalación, Operación y Mantenimiento., Octubre 2008.
[44] Darrell Harmon. Darrell harmon’s homepage. http://dlharmon.com/.
[45] Simon Haykin. Sistemas de Comunicación. Noriega, 2005.
[46] Steve Heath. Embedded Systems Design, Second Edition. Newnes, second edition,
2002.
[47] P.S. Henry and Hui Luo. Wifi: what’s next? Communications Magazine, IEEE,
40(12):66 – 72, dec 2002.
[48] G. Patricia López Herranz. Oximetrı́a de pulso: A la vanguardia en la monitorización
no invasiva de la oxigenación. Revista Médica del Hospital General de México,
66(3):160–169, Julio–Septiembre 2003.
[49] Doan B. Hoang and Andrew J. Simmonds. Biomedical Information Technology,
chapter Chapter 10 Data Communication and Network Infrastructure, pages 229–
248. Elsevier Inc., 2008.
[50] Huawei. Huawei device. http://www.huaweidevice.com/worldwide/productInfo.
do?pinfoId=2209&directoryId=2582&treeId=582.
[51] ICONTEC. Instituto colombiano de normas técnicas y certificación web page. www.
icontec.org.
[52] IEEE. Ieee the world’s leading professional association for the advancement of
technology. http://www.ieee.org/portal/site, 2009.
[53] National Instruments. Labview for ecg signal processing. http://zone.ni.com/
devzone/cda/tut/p/id/6349.
[54] INVIMA. Instituto nacional de vigilancia de medicamentos y alimentos web page.
www.invima.gov.co/.
[55] Armin Javanshir, Farzad Kamrani, and Pegman Serri. Platform independent computer simulator (armputer). Master’s thesis, Chalmers University of Technology and
Götenborg University, 2004.
[56] P. Johansson, M. Kazantzidis, R. Kapoor, and M. Gerla. Bluetooth: an enabler for
personal area networking. Network, IEEE, 15(5):28–37, 2001.
85
[57] Mike Jones. Interfacing fast ethernet to processors. Micrel Inc.
[58] Amal Jubran. Pulse oximetry. Critical Care, 3(2):R11–R17, 1999.
[59] Christian Javier Cifuentes De la Portilla and José Tobı́as Fuentes Dı́az. Diseño e
implementación de un módulo de oximetrı́a de propósito general. Pasantı́a realizada
para optar al Titulo de Ingeniero Electrónico, 2008.
[60] Michael Mickey Lauer. Building embedded linux distributions with bitbake and
openembedded. http://fosdem.org/2010/, 2005.
[61] William Lehr and Lee W. McKnight. Wireless internet access: 3g vs. wifi? Telecommunications Policy, 27(5-6):351 – 370, 2003. Compeitition in Wireless: Spectrum,
Service and Technology Wars.
[62] Qing Li and Caroline Yao. Real Time Concepts for Embedded Systems. CMP Books,
2003.
[63] SUSE LINUX. Chapter 17. wireless communication / 17.2. bluetooth. http:
//www-uxsup.csx.cam.ac.uk/pub/doc/suse/suse9.2/suselinux-adminguide_
en/ch17s02.html, 2009.
[64] P. Mcdermott-Wells. What is bluetooth? Potentials, IEEE, 23(5):33–35, 2005.
[65] medlab GmbH. medlab. http://www.medlab.eu/.
[66] Steve Meek and Francis Morris. ABC of Clinical Electrocardiography, chapter 2
Introduction. II Basic terminology. BMJ Books, 2003.
[67] Steve Meek and Francis Morris. ABC of Clinical Electrocardiography, chapter 1
Introduction. I Leads, rate, rhythm, and cardiac axis, pages 1–4. BMJ Books, 2003.
[68] Yitzhak Mendelson. Pulse oximetry: Theory and applicationsfor noninvasive monitoring. Clinical Chemistry, 38(9), 1992.
[69] MICREL. Micrel innovation trough technology. http://www.micrel.com/.
[70] Luis M. Molinero. Métodos estadı́sticos en estudios de cronoterapia, una introducción. 2006.
[71] John Moyle. Pulse Oximetry. BMJ Books, 2002.
[72] Michael R. Neuman. The Biomedical Engineering HandBook, volume 1, chapter 48
Biopotential Electrodes, pages 889–900. CRC Press, second edition, 2000.
[73] Newcardio. Ecg workhorse cardiac assessment tool. http://www.newcardio.com/
what-we-do-ecg-cardiac-assessment-tool.php.
[74] L.D.M. Nokes, D. Jennings, T. Flint, and B.C.H. Turton. Introduction to Medical
Electronics Applications. Butterworth-Heinemann, 1995.
[75] Robert B. Northrop. Analysis and Application of Analog Electronic Circuits to
BiomedicalInstrumentation. CRC PRESS, 2004.
[76] Michael Opdenacker. Embedded linux kernel and driver development. http://
free-electrons.com/, 2004.
[77] Michael Opdenacker and Thomas Petazzoni. Introduction to embedded linux. Free
Electrons, 2010.
[78] Michael Opdenacker and Thomas Petazzoni. Linux kernel introduction. Free Electrons, 2010.
86
[79] OpenEmbedded. Welcome to openembedded. http://wiki.openembedded.net/
index.php/Main_Page.
[80] Thomas Petazzoni and Michael Opdenacker. Embedded linux system development.
Free Electrons, 2009.
[81] Huyu Qu, Jie Cheng, Qiang Cheng, and Le Yi Wang. Wifi-based telemedicine
system: Signal accuracy and security. volume 2, pages 1081 –1085, aug. 2009.
[82] P Raghavan, Amol Lad, and Sriram Neelakandan. Embedded Linux System Desing
and Development. Auerbach Publications, 2005.
[83] M. Rahnema. Overview of the gsm system and protocol architecture. Communications Magazine, IEEE, 31(4):92–100, 1993.
[84] Marco Di Rienzo, Paolo Castiglioni, and Gianfranco Parati. Wiley Encyclopedia of
Biomedical Engineering, chapter Arterial Blood Pressure Processing, pages 98–109.
John Wiley & Sons, Inc., 2006.
[85] Eduardo Romero and Alfonso Lozano. Manual de Telemedicina. SENA - Universidad Nacional de Colombia, 2009.
[86] Nelson Felipe Rosas. Design and implementation of an embedded system for acquiring and transmission of biomedical signals through cellular network, 2009.
[87] Nelson Felipe Rosas and Juan Camilo Sanchez. Monitoreo remoto de señales
biomédicas vı́a celular. Trabajo de Grado para optar al Titulo de Ingeniero Electrónico, 2006.
[88] Sairam, N. Gunasekaran, and S. R. Redd. Bluetooth in wireless communication.
Communications Magazine, IEEE, 40(6):90–96, 2002.
[89] Cesar Sanchez and Eduardo Romero. Hospital virtual universitario.
[90] Mischa Schwartz. Telecommunication Networks: Protocols, Modeling and Analysis.
Prentice Hall, 1988.
[91] Mischa Schwartz. Mobile Wireless Communications. Cambridge University Press,
2005.
[92] John W. Severinghaus. Takuo aoyagi: Discovery of pulse oximetry.
[93] John W. Severinghaus and Yoshiyuki Honda. History of blood gas analysis. vii.
pulse oximetry. Journal of Clinical Monitoring and Computing, 3(2):135–138, 2004.
[94] J.W. Severinghaus. The history of clinical oxygen monitoring. International Congress Series, 1242:115–120, 2002.
[95] Slackware. Bluetooth en slackware. http://www.slackware.cl/index.php?q=node/
868.
[96] William Stallings. Data and Computer Communications. Prentice Hall, 2006.
[97] César Sánchez, Andrea Rueda, and Eduardo Romero. A granular prototype for
telemedicine based on hl7 information model. Congreso Colombiano de Computación
- CCC 2007 Pontificia Universidad Javeriana, Bogotá D.C., 2007.
[98] Christopher Tacke and Tim Bassett. eMbedded Visual Basic: Windows CE and
Pocket PC Mobile Applications. Sams, 2001.
[99] Andrew S. Tanenbaum. Redes de Computadoras. Prentice Hall, 2003.
[100] Andrew S. Tanenbaum. Modern Operating Systems. Prentice Hall, 2007.
87
[101] Xiao Fei Teng and Yuan Ting Zhang. Wiley Encyclopedia of Biomedical Engineering,
chapter Blood Oxygen Saturation Measurements, pages 605–613. John Wiley &
Sons, Inc., 2006.
[102] Bruce C. Towe. Standar Handbook of Biomedical Engineering and Design, chapter
17 Bioelectricity and its Measurement. McGraw-Hill, 2004.
[103] Neil Townsend and Michaelmas Term. Medical electronics: Pulse oximetry. 2001.
[104] Unal. Sistema de información del centro de telemedicina saruro, grupo de investigación bioingenium universidad nacional de colombia. https://168.176.61.27/
TelemWeb/.
[105] Dan Fitton-Lancaster University.
lancs.ac.uk/java_bt.php, 2009.
Java bluetooth howto.
http://www.caside.
[106] Carlos A. Vallecorsa. Las enfermedades cardiovasculares. http://www.gratisweb.
com/cvallecor/Index.htm, 2004.
[107] Anthony Varghese. The Biomedical Engineering HandBook, volume 1, chapter 11
Membrane Models. CRC Press, second edition, 2000.
[108] M W Wukitsch, M T Petterson, D R Tobler, and J A Pologe. Pulse oximetry: analysis
of theory, technology, and practice. Journal of clinical monitoring, 4(4):290–301,
1988.
[109] Karim Yaghmour. Building Embedded Linux Systems. O’Reilly & Associates, Inc.,
2003.
[110] Karim Yaghmour, JonJason Brittain, Ian F. Darwin Masters, Gilad Ben Yossef, and
Philippe Gerum. Building Embedded Linux Systems. O’Reilly Media, Inc., second
edition, 2008.
[111] Xiaofeng Zhang, Nadine Smith, and Andrew Webb. Biomedical Information Technology, chapter Chapter 1 Medical Imaging, pages 3–28. Elsevier Inc., 2008.
88
Descargar