
La radio
por Internet refiere al método
de retransmisión continua
de las emisiones radiofónicas
a través de Internet, de
forma similar a como se hace por
radio terrestre. Este artículo
describe un proyecto de radio por
Internet que también tiene
la posibilidad de emitir audio en
formato MP3 desde una tarjeta SD,
por lo que resulta que se puede
doblar como un reproductor MP3.
El diseño también
utiliza conectividad Ethernet y
un display de LED. Este artículo
cataloga las opciones de diseño
realizadas durante el proyecto y
las razones detrás de ellas.
Fuente: Farnell y Bluetechnix
Desde el punto de vista del ingeniero
de desarrollo, el sistema es bastante
complejo y se tienen que resolver
muchos desafíos que plantea
el software y hardware, para poder
construir un prototipo plenamente
operativo. La aplicación
de radio por Internet está
basada en un módulo central
CM-BF537E de Bluetechnix, el cual
contiene el procesador Blackfin
ADSP-BF537 de Analog Devices. La
familia Blackfin ha sido diseñada
para aplicaciones industriales y
multimedia, encajando perfectamente
con esta aplicación. Los
módulos centrales Bluetechnix
ofrecen las funcionalidades clave
para muchas de estas aplicaciones
en pequeños módulos
de hardware que pueden enchufarse
o soldarse a una placa base personalizada.
Sistemas de ingeniería
El sistema de radio por Internet
puede construir usando un desarrollo
estándar y las placas de
extensión mostradas en la
Figura 1. Ya sea para recuperar
la información radiofónica
a través de una conexión
Ethernet o del puerto de la tarjera
SD, la radio por Internet utiliza
el CM-BF537E para procesar la información
y el Audio Codec AD1836 para la
salida de audio. La radio por Internet
puede ser controlada por el usuario
a través de un monitor TFT,
botones o la combinación
de ambos.
En general, el desarrollo de sistemas
embebidos siempre consiste en un
co-desarrollo de hardware y software
para conseguir lanzar el producto
al mercado más rápidamente.
Pero esto requiere que los ingenieros
de desarrollo del software tengan
un hardware estable para empezar
a desarrollar la aplicación,
y los ingenieros encargados de desarrollar
el hardware tengan los controladores
de software para verificar su diseño.
Por lo tanto, en el desarrollo de
cualquier prototipo se acostumbra
a reducir el riesgo, tiempo y coste
del desarrollo mediante el uso de
diseños de referencia y estructuras
de desarrollo de hardware y software.
Hardware de radio por Internet
Construir un diseño hardware
personalizado basado en Blackfin
desde cero usando los diseños
de referencia y adaptando los códigos
de muestra disponibles consume mucho
tiempo y tiene sus riesgos, ya que
la depuración del hardware
y software no estable tiene muchas
posibilidades de alargar los plazos
del proyecto. Como alternativa a
lo descrito anteriormente, el prototipo
de radio por Internet fue construido
usando plataformas de hardware modulares
de Bluetechnix.
El prototipo inicial fue construido
sin tener que diseñar un
PCB: simplemente apilando las placas
de extensión encima de la
placa de desarrollo DEV-BF5xxDA-Lite
y modificando las asignaciones de
los pines de entrada/salida de las
plazas con algunos cables. Esto
permite el inicio de la fase de
diseño de software sin interrumpir
el diseño del nuevo hardware.
Las ventajas de realizar prototipos
con estos módulos centrales
basados en Blackfin y placas de
desarrollo pueden resumirse en:
* Menor riesgo de fallo en el diseño
del hardware con módulos
probados.
* Evitar la producción y
ensamblaje de prototipo PCB, incorporando
pasos finos BGA.
* Las placas de extensión
agilizan el proceso de desarrollo.
* El tamaño del modulo central
de 31x36mm permite un prototipo
tan pequeño como será
el diseño final.
* Soporte de estructura uClinux
y controlador BLACKSheep de base
VDK.
En la segunda fase del prototipo,
la placas de extensión y
desarrollo se reducen a una simple
placa base de dos capas, mientras
que el módulo central CM-BF537E
que comprende el transceptor de
procesador, RAM, Flash y Ethernet
fue reutilizado y enchufado a la
placa base personalizada.
La propuesta de software
La primera decisión de diseño
es escoger el sistema operativo
apropiado, si fuera necesario, y
desarrollar cualquier controlador
de hardware que faltase. Para la
radio por Internet, se pueden considerar
son propuestas: una propuesta con
base VDK e uClinux. uClinux fue
la propuesta escogida en este caso,
ya que ofrece las siguientes ventajas:
* Soporta todos los procesadores
Blackfin como los modulo centrales
Bluetechnix
* Todos los controladores de dispositivo
están disponibles, con pequeñas
modificaciones
* uClinux suporta muchos protocolos
de red y servidores web
* Soporta códecs MP3
* Interfaces communes de control
Aunque se eligió uClinux
para este proyecto, no siempre es
esta opción la mejor solución;
depende en gran medida de la aplicación
de software y la “re-usabilidad”
de los controladores del software.
Sin embargo, debido a las ventajas
mencionadas más arriba, uClinux
fue escogido por su capacidad de
agilizar el tiempo de desarrollo.
El distribuidor oficial de uClinux
en http://blackfin.uclinux.org contiene
un núcleo Linux que está
adaptado a las necesidades de los
procesadores embebidos, así
como a las herramientas y a los
ejemplos de aplicación.
La Figura 2 muestra los módulos
de software que necesita la aplicación.
Todos los controladores de dispositivo
fueron compilados en el núcleo
y activados en modo núcleo.
Los módulos sombreados en
verde estaban disponibles en uClinux
y soportados por el BSP de los módulos
centrales o las placas de extensión.
Las modificaciones que se realizaron
están sombreadas en naranja
y en rojo, los módulos que
tuvieron que ser escritos de cero.
Para recuperar la información
de la conexión de Ethernet,
se seleccionó el dispositivo
ADSPBF537. Además del paquete
de software usado por la configuración
de red (dhcpcd, ifconfig, route),
también están disponibles
protocolos de red de alto nivel
como SMB y sistemas de ficheros
remotos NFS. Podrían usarse
también controladores de
dispositivo para memorias flash
en placa y entradas GPIO listas
para ser utilizadas. Sin embargo,
el dispositivo de bloqueo de tarjeta
SD/MMC tuvo que ser arreglado ya
que era inestable.
Para la salida gráfica, se
desarrolló un controlador
de dispositivo para el TFT de color
320x240 de Hitachi, utilizando controladores
de dispositivo similares como plantilla,
y se implementó una biblioteca
gráfica simple, pero suficiente.
Para el códec de audio AD1836A,
ya existía un controlador
de dispositivo para la necesaria
salida estéreo, la cual podía
permitir salida de sonido Surround
5.1 si así se especifica.
Cualquier configuración requerida
del códec se hizo a través
del menú de configuración
del núcleo. Se escogieron
dos aplicaciones de software para
gestionar la salida de audio y éstas
fueron adaptadas ligeramente para
encajar con los requerimientos de
la aplicación; un reproductor
MP3 con biblioteca de decodificación
para emitir audio local y de red,
con una aplicación de mezclador.
Finalmente, la lógica de
funcionamiento de la radio por Internet,
que controla la interacción
del usuario, fue desarrollada. Para
su configuración, el software
contiene un servicio web protegido
con una contraseña desarrollada
por las aplicaciones CGI. Funciona
independientemente de la aplicación
central en el servidor “boa”
integrador.
Conclusión
El objetivo del desarrollo de radio
por Internet era reproducir retransmisiones
de radio y ficheros de audio de
nuestra red local y tarjeta SD,
y los módulos centrales y
placas de desarrollo de Bluetechnix
ayuda a centrarse en desarrollos
de aplicación, en lugar de
hacerlo en problemas relacionados
con el hardware. Usando uClinux,
un sistema operativo plenamente
funcional que ofrece una amplia
gama de controladores, protocolos
y aplicaciones de espacio de usuarios,
reduce los plazos de desarrollo
del software. Y gracias a todos
estos factores, se pudo desarrollar
un prototipo de radio por Internet
totalmente operativo y desarrollado
en su totalidad en pocas semanas.