PROYECTOS INTERNET
18 elektor, electronics worldwide - 4/2008
EIR – la radio por InEscuche la radio con los chips más moderPor Von Harald Kipp y Dr. Thomas Scherer
Qué tiempos aquellos cuando aún era necesario modular los sonidos de forma analógica a una frecuencia alta para recibirlos después y de ahí conseguir algo más o menos “audible“. Hoy en día esto se hace de otra manera: se comprime la señal de audio, se organiza en paquetes IP, se transmite en flujo, se recibe, se almacena en la memoria intermedia, se descomprime y así se tiene acceso a todas las radios de Internet del mundo. Todo muy sencillo gracias al hardware de última generación del que os vamos a hablar hoy...
La radio a través de Internet es algo muy suyo, ya que frente a esta oferta de mú-sica e información ningún receptor de onda corta, por más sensible que sea, tiene nada que hacer y el tema de la ca-lidad de sonido mejor lo dejamos. Dado que estas “emisoras de Internet” no ne-cesitan emitir cientos de kW de alta fre-cuencia que generaría aún más “elec-trosmog”, el uso de una emisora de este tipo para grupos de usuarios pequeños resulta realmente barato. Cabría elucubrar sobre las múltiples ven-tajas de este nuevo tipo de radios (véase el recuadro), sin embargo lo más impor-tante es aclarar la siguiente pregunta:
¿Por qué no puro software? En primer lugar, cabe destacar que exis-ten múltiples programas (WinAmp, iTu-nes, VLC, etc.) completamente gratuitos para la mayoría de los sistemas opera-tivos existentes con los que se puede es-cuchar la radio a través de Internet. De todas formas, en pleno siglo XXI todo el mundo tiene un ordenador personal, un Mac o una máquina Linux por algún lado. ¿Por qué pagar por un aparato fí-sico, no virtual, o incluso construirlo no-sotros mismos? Pues bien, por un lado, la base de hard-ware de una radio de software necesi-ta energía y, en este caso, no poca. Las personas que escuchan mucho la radio con el ordenador a través de Internet no son muy conscientes de lo nocivo que resulta para el medio ambiente. La solu-ción que presentamos hoy tiene un con-sumo de energía de tan sólo 1 W. Un
ejemplo: con un funcionamiento de 10 h diarias, en un año habrías amortizado el uso la EIR (únicamente por el ahorro de energía) si lo comparamos con el or-denador de un “gamer” utilizado como radio.Por otro lado, existen aplicaciones con las que el ordenador no funciona de for-ma inteligente: al conectarlo a un equi-po de música estéreo, por ejemplo. Una radio por Internet casera construida con código abierto se puede ampliar fácil-mente y adaptar a cualquier requisito es-pecial y, a fin de cuentas, la EIR continúa funcionando cuando el ordenador se queda colgado o deja de funcionar ;-)
El principio Dado que la EIR es un proyecto com-plejo en el que se utiliza la técnica más moderna, resulta imposible abordar to-dos los aspectos relevantes en un único artículo. Por lo tanto, en esta entrega nos centraremos en la descripción del hard-ware, su montaje y su puesta en funcio-namiento. Encontrará más información en los documentos recogidos en la pá-gina web relativos a este artículo (www.elektor.es), en el sitio web de proyectos [1] y en futuras entregas. El hecho de que tengamos que recibir, almacenar en memoria intermedia y de-codificar los flujos de datos de la radio por Internet debería estar claro. Sin un microcontrolador adecuado no tenemos nada que hacer. Tal y como ya indica-mos en la última entrega [3], una CPU ARM7-CPU [4] nos proporcionaría la po-tencia necesaria.
La figura 1 muestra el montaje básico: la CPU está situada en el centro, hacia la parte superior, y tiene acceso a los 64 MB de SD-RAM: suficiente para la me-moria intermedia y muchas “otras” co-sas. La CPU tiene espacio suficiente para el firmware y, además, disponemos tam-bién de 4 MB de memoria Flash para al-macenar datos. Un reloj de tiempo real, compensado con un Supercap, nos per-mite crear un radio-despertador o cual-quier otra aplicación con función de tiempo. Para no saturar completamente la capacidad de la CPU ARM-7, en te-mas de decodificación de audio dispo-ne de la ayuda del chip especializado VS1053 [5]. Y en lo que respecta al número de in-terfaces, la EIR no se queda corta: junto con el puerto Ethernet obligatorio (de al-guna manera tendrá que acceder la EIR a Internet), dispone de una interfaz de programación USB para la transmisión de nuevo firmware, un puerto en serie y un puerto JTAG (para el debugging), así como tres conectores de ampliación tipo puerto. Si también deseamos grabar progra-mas, disponemos de una ranura para una tarjeta de memoria MMC-SD.
Aspectos generales Por lo general, los flujos de datos en-trantes suelen estar comprimidos de tal manera que los datos estéreo típi-cos, con una resolución de 16 bits y un muestreo de 44,1 kHz, se tienen que dar por satisfechos, en lugar de con aprox. 1,4 Mbit/s, con menos de una décima
071081-SP Radio internet.indd 18 8/3/08 21:34:23
194/2008 - elektor, electronics worldwide
nternet de Elektordernos
parte, concretamente con 192 Kbit/s o menos. Por lo tanto, para conseguir una memoria temporal de aproximadamente 10 s tan sólo se necesitan alrededor de 256 KB de RAM. Hoy en día esto pare-ce poco, pero para un microcontrolador todavía es bastante. Y si queremos estar seguros y, además, deseamos tener sitio para sutilezas de Internet y “otras apli-caciones”, nos ponemos en un momen-to en los 512 KB y más. La CPU ARM-7 elegida viene equipada con memoria SD-RAM y, de esta manera, gracias a sus 64 MB disponibles, la EIR no ten-drá problema alguno de capacidad de memoria.Como sistema operativo elegimos el re-lativamente modesto Nut/OS (en com-paración con Linux) y que tiene suficien-te con menos de 40 KB. Al fin y al cabo, para el software son necesarios aprox. 200 KB. Para los datos tendremos su-ficiente con 1 MB. Dado que la propia CPU dispone de más de 512 KB de me-moria Flash para el software y de RAM en masa, no tendremos dificultades. Todo el software es de código abierto, con excepción del programa Flash de Atmel.Además, el controlador es lo suficiente-mente potente como para utilizar la tar-jeta SD para una grabación paralela del segundo flujo de audio. Y seguro que no pasará mucho tiempo hasta que alguien de la comunidad del código abierto im-plemente estas y cualquier otra función imaginable.Para no limitar en ningún sentido las po-sibles ampliaciones, en la placa no se ha montado ningún elemento de mando
específico,tales como bo-
tones o pantallas. Sin em-bargo, es- tos pueden conectarse sin problemas a través de los conectores de ampliación disponibles. La EIR ha sido diseñada como base para ampliaciones personalizadas y, en este sentido, el fir-mware instalado está pensado para lle-var a cabo el control a través de un sitio web integrado. Dado que el firmware es completamente libre, esto no tiene por qué seguir siendo así...
DetallesSi echamos un vistazo al esquema de conexiones que aparece en la figura
2, nos damos cuenta en seguida de la complejidad del proyecto. Por este mo-tivo, la descripción que aparece a con-tinuación está basada en los diferentes bloques funcionales:
EthernetLa conexión a Internet se establece a tra-vés de una interfaz Ethernet con trans-formador integrado y dos LED. El LED verde se enciende durante la transferen-cia de datos, mientras que el LED ama-rillo señaliza la existencia de una co-nexión a la red. Un chip dedicado (IC10 = DM9000W) regula el tráfico Ethernet. La memoria intermedia IC9 hace posi-ble la utilización de la entrada WAIT de la CPU con ampliaciones.
Alimentación5 a 24V
Codificadorde audio VS1053
Botónde Reset
TarjetaMMC/SD
AT91SAM7SE512
64 MByteSD RAM
4 MByteDataFlash
RTC / SuperCap
DM9000EEthernet
Dispositivo/Prog.USB
RS232
Conectorde expansión
ConectorJTAG
Interfaz Web
Mando táctil OLED(Actualización
posterior)
Figura 1. Circuito básico de una radio por Internet Elektor.
071081-SP Radio internet.indd 19 8/3/08 21:34:25
PROYECTOS INTERNET
20 elektor, electronics worldwide - 4/2008
12
34
56
78
910
1112
1314
1516
1718
1920
2122
2324
2526
2728
2930
3132
3334
K2
3536
3738
3940
Po
rtB
12
34
56
78
910
1112
1314
1516
1718
1920
2122
2324
2526
2728
2930
3132
3334
K1
3536
3738
3940
Po
rtA
12
34
56
78
910
1112
1314
1516
1718
1920
2122
2324
2526
2728
2930
3132
3334
K3
3536
3738
3940
Po
rtC
VB
US
K4
GN
D
US
B -
B
D–
D+S
1
S2
1 2 3 4
R1 27
R2 27
C5
22p
C6
22p
C8
10n
C7
1n
C9
22p
C10
22p
R3
1k5
R4
1k
X1
X1
= 18
,432
MH
z
21
43
65
87
109
1211
1413
1615
1817
2019
K6
JTA
G
R49A100k8 1
R49B100k7 2
R49C100k6 3
R49D100k5 4
+3V
3
NR
ST
TD
I
TM
S
TC
K
TD
O
S1
RE
SE
T
R6
10k
R5
1k
+3V
3
(op
tio
nal
)
PA1
PA2
PA3
PA4
PA5
PA6
PA7
PA8
PA9
PA10
PA11
PA12
PA13
PA14
PA15
PA16
PA17
PA18
PA19
PA20
PA21
PA22
PA23
PA24
PA25
PA26
PA27
PA28
PA29
PA30
PA31
PA1
PA2
PA3
PA4
PA5
PA6
PA7
PA8
PA9
PA10
PA11
PA12
PA13
PA14
PA15
PA16
PA17
PA18
PA19
PA20
PA21
PA22
PA23
PA24
PA25
PA26
PA27
PA28
PA29
PA30
PA31
C1
100n C
4
100n
JP1
12
34
56PA
10
PA9
PA6
PA5
MA
X32
22
R1O
UT
T1O
UT
T2O
UT
R2O
UT
SH
DN
IC2
T1I
N
R1I
N
R2I
N
T2I
N
EC
WN
C1–
C1+ C2+
C2–
EN
V+ V-
18 14
12
1617
13
15
11 10
5 6
1
7
42
3
8 9
PA7
PA8
PB
0
PB
1
PB
2
PB
3
PB
4
PB
5
PB
6
PB
7
PB
8
PB
9
PB
10
PB
11
PB
12
PB
13
PB
14
PB
15
PB
16
PB
17
PB
18
PB
19
PB
20
PB
21
PB
22
PB
23
PB
24
PB
25
PB
26
PB
27
PB
28
PB
29
PB
30
PB
31
PB
0P
B1
PB
2P
B3
PB
4P
B5
PB
6P
B7
PB
8P
B9
PB
10P
B11
PB
12P
B13
PB
14P
B15
PB
16P
B17
PB
18P
B19
PB
20P
B21
PB
22P
B23
PB
24P
B25
PB
26P
B27
PB
28P
B29
PB
30P
B31
PC0
PC1
PC2
PC3
PC4
PC5
PC6
PC7
PC8
PC9
PC10
PC12
PC13
PC14
PC15
PC16
PC17
PC18
PC19
PC20
PC21
PC22
PC23
C95
100n
C3
100n
C2
100n
L3
BL
M31
A
+3V
3
K5
RS
232
1 2 3 4 56 7 8 9
R48
A
228
1
R48
C
226
3
R48
B
227
2
R48
D
225
4
C11
C12
C13
C14RX
D
RT
S
TX
D
CT
S
G1
G2
BZ
A40
88
IC3
6 5
13
4
2
PC
0P
C1
PC
2P
C3
PC
4P
C5
PC
6P
C7
PC
8P
C9
PC
10
PC
12P
C13
PC
14P
C15
PC
16P
C17
PC
18P
C19
PC
20P
C21
PC
23P
C22 4x
220
p
NR
ST
+3V
3
PC
11
PC11
PA0
PA0
AD4
AD6
AD7
0710
81 -
11A
PC
[0...
23]
PB
[0...
31]
PA[0
...31
]
SD
CK
NR
ST
12
34
56
12
34
56
C97
100n
R46
15k
R47
22k
R10
1
0
PB
23
SH
IEL
D-U
TR
ST
RT
CK
R10
50
R45
1k
R10
2
0S
HIE
LD
-R
AD
4
AD
6A
D7
+VR
EF
AD
5
AD5
+3V
3
R10
5 n
ot
mo
un
ted
SH
DN
VIN
R10
6
0
ER
AS
EJT
AG
SE
L
+3V
3+3
V3
Sh
ort
1 -
3 a
nd
2 -
4 fo
r D
BG
US
ho
rt 3
- 5
an
d4
- 6
for
US
AR
T0
Sh
ort
K3
pin
s 34
an
d 3
6to
era
se f
irm
war
e
Sh
ort
K3
pin
s 33
an
d 3
5fo
r b
ou
nd
ary
scan
tes
t
PA23
/SC
K1/
NW
R1/
NB
CS
1/C
FIO
R
PC20/A22/REG/NANDCLE/NCS7
PA18
/RD
/NB
S3/
CF
IOW
/AD
1
PA19
/RD
/NB
S4/
CF
CS
0/A
D2
PA20
/RF
/NC
S2/
CF
CS
1/A
D3
PC15/D15/NCS3/NANDCS
PA21
/RX
D1/
NC
S6/
CF
CE
2
PA22
/TX
D1/
NC
S5/
CF
CE
1
PA17
/TD
/A17
/BA
1/A
D0
PA26
/DC
D1/
NC
S1/
SD
CS
PC21/NWR0/NWE/CFWE
PB
16/T
IOB
1/A
16/B
A0
PB
0/T
IOA
0/A
0/N
BS
0
PB
1/T
IOB
0/A
1/N
BS
2
PB
17/P
CK
1/A
17/B
A1
AT
91S
AM
7SE
512-
AU
PC19/A21/NANDALE
PA0/
PW
M0/
A0/
NB
S0
PA1/
PW
M1/
A1/
NB
S2
PC17/A19/NANDOE
PC18/A20/NANDWE
PC23/CFRNW/NCS0
PA16
/TK
/A16
/BA
0
PA24
/RT
S1/
SD
A10
PA25
/CT
S1/
SD
CK
E
PB
10/N
PC
S2/
A10
PB
15/T
IOA
1/A
15
PB
22/N
PC
S3/
D20
PB
26/T
IOA
2/D
24
PB
27/T
IOB
2/D
25
PB
28/T
CL
K1/
D26
PB
29/T
CL
K2/
D27
PB
30/N
PC
S2/
D28
PC14/D14/NPCS1
PC16/A18/NWAIT
PA11
/NP
CS
0/A
11
PA27
/DT
R1/
SD
WE
PA31
/NP
CS
1/D
31
PB
11/P
WM
0/A
11
PB
12/P
WM
1/A
12
PB
13/P
WM
2/A
13
PB
14/P
WM
3/A
14
PB
18/P
CK
2/D
16
PB
20/IR
Q0/
D18
PB
21/P
CK
1/D
19
PB
23/P
WM
0/D
21
PB
24/P
WM
1/D
22
PB
25/P
WM
2/D
23
PB
31/P
CK
2/D
29
PC10/D10/PCK0
PC11/D11/PCK1
PC12/D12/PCK2
PC22/NRD/CFOE
PA10
/DT
XD
/A10
PA12
/MIS
O/A
12
PA13
/MO
S1/
A13
PA14
/SP
CK
/A14
PA28
/DS
R1/
CA
S
PA30
/IRQ
1/D
30
PB
3/N
PC
S3/
A3
PB
4/T
CL
K0/
A4
PB
5/N
PC
S3/
A5
PB
8/A
DT
RG
/A8
PB
9/N
PC
S1/
A9
PB
19/F
IQ/D
17
PA29
/RI1
/RA
S
PB
2/S
CK
0/A
2
PB
6/P
CK
0/A
6
PB
7/P
WM
3/A
7
PC8/D8/RTS1
PC9/D9/DTR1
PA2/
PW
M2/
A2
PA4/
TW
CK
/A4
PA5/
RX
D0/
A5
PA6/
TX
D0/
A6
PA7/
RT
S0/
A7
PA8/
CT
S0/
A8
PA9/
DR
XD
/A9
PA15
/TF
/A15
PA3/
TW
D/A
3
PC13/D13
AR
M7T
DI
JTAGSEL
PC0/D0
PC1/D1
PC2/D2
PC3/D3
PC4/D4
PC5/D5
PC6/D6
PC7/D7
PLLRC
ERASE
XOUT
NRST
SDCK
IC1
106
105
104
103
102
101
100
117
116
115
114
113
112
111
110
109
108
107
DDM121
DDP122
TDI
TMS
TCK
TDO
127
126
XIN125
TST
AD4
AD5
AD6
AD7
69 68 67 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 44 43 42 41 40 39 38 37 36 35 34 3399
98
93
92
91
90
89
88
87
86
85
84
83
82
81
80
79
32 31 30 29 28 27 26 25 24 20 19 18 17 16 15 14 13 12 11 10
65
77
76
66
78
74
73
75
97
9
6
5
4
3
JTA
GS
EL
ER
AS
E
PA8
PA7
TX
DJP
RX
DJP
Figura 2. El circuito de la EIR pone de manifiesto de inmediato que se trata de un proyecto muy exigente.
2a
071081-SP Radio internet.indd 20 8/3/08 21:34:26
214/2008 - elektor, electronics worldwide
K10
RC
T
TX
+
TX
-
TC
T
RX
+
RX
-
NC
NC
10 1112
S1
S2
91 2 3 4 5 6 7 8
D1
PM
EG
3005
AE
A
X4
32.6
78kH
z
C34
22p
C35
100n
C36
5V5
0F33
Su
per
Cap
R34
100k
R33
10k
R32
10k
+3V
3
R35 0
RT
CB
ZA
4088
IC6
6 5
13
4
2
BZ
A40
88
IC8
6 5
13
4
2
K8
3 5 124
Au
dio
Ou
t
C18
47n
+3V
3
R12 10
R11 10
R16
10
R15
22
R14
22 C21
10n
C22
10n
C23
47n
K9
3 5 124
Au
dio
In
C29
47n
+3V
3
C24
1C25
1
R21 47
0
R19 47
0
X2
12.2
88M
Hz
R17 1M
C20
22p
C17
22p
R22
100k
C26
1
C27
10n
C28
10n
R13
100k
R9
100k
R10
100k
+3V
3
PA12
PA13
PA14
PA31
PA30
AT
45D
B32
1D-S
U
IC5
SC
K
RS
T
WP
SI
CS
SO
1
6 7
2
34
58
C19
100n
+3V
3
CD
/DA
T3
SH
IEL
D
SH
IEL
D
DA
T1
VC
C3
DA
T0
DA
T2
K7
CH
2
CM
D
GN
D
CL
K
GN
D CMN
CH
1
CDCD
WPWP
8 1234567 9
C
R50A10k8 1
R50B10k7 2
R50C10k6 3
R50D10k5 4
C15
10
C16
100n
+3V
3
R7 0
R80
MM
C/S
D-C
ard
So
cket
PA19
PA18
PA16
PA17
PA15
PA20
R24
50 1%
R25
50 1%
PC
0
PC
1
PC
2
PC
3
PC
4
PC
5
PC
6
PC
7
PC
8
PC
9
PC
10
PC
11
PC
12
PC
13
PC
14
PC
15
PC
17
PC
21
PC
22
+3V
3
R27
1k
R26
1k
+3V
3
R29
50 1%
R30
50 1%
C31
100n
X3
25M
Hz
C32
22p
C33
22p
R31
6k8 1%
R28
1k
+3V
3
PC
0
PC
1
PC
2
PC
3
PC
4
PC
5
PC
6
PC
7
PC
8
PC
9
PC
10
PC
11
PC
12
PC
13
PC
14
PC
15
PB
2
PB
3
PB
4
PB
5
PB
6
PB
7
PB
8
PB
9
PB
10
PB
11
PB
13
PB
14
PB
16
PB
171
6
IC9.
A
PC
16
R23
10k
+3V
310
/100
Mb
it E
ther
net
DM
9000
EL
INK
AC
T
CL
K20
MO
WA
KE
UP
PW
_RS
T
IOW
AIT
LIN
K_O
RX
_CL
K
TX
_CL
K
LIN
K_I
SP
EE
D
TX
_EN
RX
_DV
RX
_ER
TE
ST
1
TE
ST
2
TE
ST
3
TE
ST
4
TE
ST
5
BG
RE
S
GP
IO0
GP
IO1
GP
IO2
GP
IO3
IC10
SD
10
SD
11
SD
12
SD
13
SD
14
SD
15
TX
O+
TX
O-
RX
I+
RX
I-
IO16
TX
D0
TX
D1
TX
D2
TX
D3
RX
D0
RX
D1
RX
D2
RX
D3
MD
IO
EE
DO
EE
DI
EE
CK
EE
CS
SD
0
SD
1
SD
3
SD
4
SD
5
SD
6
SD
7
SD
8
SD
9
SD
2
SA
9
SA
8
SA
7
SA
6
SA
5
SA
4
DU
P
IOW
IOR
RS
T
CM
D
INT
100
AE
N
CR
S
CO
L
MD
C
2221
98 97 96 95 94
11
93
12 13 89 88 87 86 85 84 83 82
X1
X2
10 62 61 60 33 34 29 30
7980 149291 54 43 44 45 46 50 51 52 53 38 39 40 41 56 57 59 78 47 49 37
SD
24
16 17 18 19 48 65 64 66 67 2668 69 70 716 7 98
2 1 4 3
PB
2
PB
20 PA20
PA12
PA13
PA14
PA11
PC
F85
63T
IC11
OS
C1
OS
C0
SD
A
SC
L
INT
CL
K
1
5
8 4
6
2
3 7
PB
31
PB
19
PB
30
PA27
PA25
PA4
PA3
PA29
MT
48L
C32
M16
A2
SD
RA
M
IC4
DQ
ML
DQ
MH
D10
A10
D11
A11
D12
A12
D13
D14
D15
BA
0
BA
1
CA
S
RA
S
CK
E
CL
K
23A
0D
024
A1
D2
25A
2
D3
26A
3
D4
29A
410
D5
30A
511
D6
31A
613
D7
32A
742
D8
33A
844
D9
34A
945
22
4735
4836
50 51 53
20 21 19C
S16
WE
153917 18
3738
D1
2 5 7 84
PA23
PB
0
PA28
PC18
PC19
PC
18
PC
19
PA24
PB
0
MP
3 D
eco
der
PC
[0...
23]
PB
[0...
31]
PA[0
...31
]
SD
CK
NR
ST
SD
CK
64M
Byt
e S
DR
AM
4 M
Byt
eS
eria
l Fla
sh
+3V
3
IC95 2
C96
100n
IC9
= N
C7W
Z07
P6X
0710
81 -
11B
gre
en
Act
ivit
y
yello
w
Lin
k
A
A
R10
3
0
R L R L
34
IC9.
B
C30
100n
R10
4
0
GP
104/
I2S
_LR
OU
T
GP
107/
I2S
_SD
ATA
GP
105/
I2S
_MC
LK
GP
106/
I2S
_SC
LK
GP
103/
SD
ATA
XD
CS
/BS
YN
C1
GP
102/
DC
LK
MIC
P/L
INE
1
VS
1053
B-L
LIN
E2
XR
ES
ET
GP
101
GP
100
XTA
LO
XTA
LI
RIG
HT
XT
ES
TIC
7
RC
AP
MIC
N
LE
FT
GB
UF
DR
EQ
SC
LK
VC
O
XC
S
12
44
112536103433
1718
484639 42
15132328S
I29
SO
30
32
RX
26
TX
27
9
1 2
8
3
R20
100k
C99
100
16V
C98
100
16V
R18
0
R10
0
0
C10
0
10n
PA26
SH
IEL
D-C
SH
IEL
D-N
(VS
1053
may
be
rep
lace
d b
yV
S10
33)
Do
no
t m
ou
nt
R10
0b
efo
re r
emov
ing
R18
!
2b
071081-SP Radio internet.indd 21 8/3/08 21:34:27
PROYECTOS INTERNET
22 elektor, electronics worldwide - 4/2008
Aunque un ARM7 podría llegar a ser suficiente para la decodificación me-diante software de datos en formato MP3 y AAC, un chip más especializa-do, como el IC7, descargaría en gran medida a la CPU de trabajo y decodi-ficaría, además del formato MP3 habi-tual, también los formatos HE-AAC e incluso Ogg Vorbis. Al mismo tiempo, resulta evidente que el software nece-sario también se simplificaría. En nues-tros prototipos utilizamos un modelo de VLSI. Si tenemos problemas para en-contrarlo, también podremos utilizar la variante VS1033 (sin Ogg Vorbis). Aun-que la CPU dispone de una salida de 1,8 V para el suministro de los periféri-cos, por motivos de estabilidad para el IC7 se instaló un regulador de tensión de 1,8 V propio. Dado que la variante VS1033 necesita 2,5 V, las resistencias R39 y R42 tuvieron que modificarse a 100 k cada una.
Dado que, en este caso, se trata de una placa multicapa equipada con minúscu-los SMD montados muy cerca unos de otros (véase la figura 3 y la figura 4),con los diferentes pines IC separados tan sólo 0,5 mm entre sí, Elektor ofrece una placa con todos los SMD ya montados (con VS1053). Así, sólo tendremos que montar los componentes convencionales y nos evitamos cometer errores impre-visibles. Independientemente de esto, el montaje casero con ayuda del modelo es completamente libre.
Prueba de funcionamiento Para una primera prueba del suminis-tro eléctrico, la parte de 3,3 V debería recibir algunos mA, es decir, no funcio-nar en vacío. A partir de 4 V registrados a la entrada, el regulador de conmu-tación debería comenzar a funcionar y, según la carga, soportar entre 50 y 150
Para manejar la radio se han de alma-cenar múltiples configuraciones, que de-berán estar disponibles incluso después de un corte de corriente: ¡sobre todo la lista de emisoras! Esto sería posible con la memoria Flash interna de la CPU, pero resulta complicado y molesto es-cribir en ella. Para simplificar este pro-ceso se añadió una memoria Flash (IC5) en serie de 4 MB en la que podemos almacenar múltiples listas de emisoras y mucho más.
Para que la EIR consumiera realmente poca energía se equipó con un regula-dor de conmutación en torno al IC12. Con tensiones de entrada entre 5 V y 24 V, disponemos de aproximadamente 5 W en el caso de 3,3 V. Dado que la EIR sólo necesita 1 W, aún nos queda sufi-ciente energía para nuestras ampliacio-nes de hardware.
K12
2
3
1
500mA F
F1
D4
SM6T24CA
L1
DLW5BTN102SQ2
21
34
D2
PMEG3005AEA
R36
10k
C40
125V
C41
125V
C42
100n
C37
10n
D5
PMEG3005AEA KP-1608URC
D3PMEG3005AEA
LT1616
BOOSTIC12
SHDN
GND
VIN
SW
FB
2
5
6
4
3
1
L2
10
C39
10
R41
10k
1%
R37
16k5
1%
R40
180
LED1C43
1
+3V3
LTC1844ES5IC13
SHDN
VOUT
GND
VIN
ADJ
-SD
2
1
43
5
R38
10k
R39
200k
1%
R42
470k
1%
C38
1n
C44
10
VX
C52
10
C51C50C49C48C47C46C45
10
6x 100n
C58C57C56C55C54C53 C59 C60
10
R43
22
+3V3+3V3+1V8
7x 100n
POWER
+VREF
C72C71 C73C70
10
C68C67 C69C66
10
C63C62 C64C61
10
C65
R44
0
+3V3VX
A
C84C83C82C81C80C79 C85
7x 100n
C78
10
C77C76C75C74
10
+3V3+3V3
3x 100n
MT48LC128M16A2POWER
IC4
VDD VSS
VDD
VDD
VSS
VSS
VDDQ VSSQ
VDDQ
VDDQ
VSSQ
VSSQ
VDDQ VSSQ
28
14
27
41
54
43
12
46
49 52
1
3 6
9
DM9000E
AVCC3
POWER
AVCC3
AVCC3
VCC3N
VCC3N
VCC3N
VCC3N
VCC3N
VCC3N
VCC3N
IC10
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
35 32
28 31
27 25
99
81
76
63
58
42
23
15
73
72
55
36
20
90
5
VS1053C-L
IOVDD0
IOVDD1
IOVDD2
DGND0CVDD0
CVDD1
CVDD2
CVDD3
AVDD0
AVDD1
AVDD2
DGND1
DGND2
DGND3
DGND4
AGND0
AGND1
AGND2
AGND3
IOGND
POWER
IC7
24
31
14
19
38
43
45
16
20
21
22
37
40
41
47
35
5 4
7
6
AT91SAM7SE512-AU
VDDFLASH
VDDCORE
VDDCORE
VDDCORE
VDDCORE
VDDCORE
ADVREF
VDDOUT
VDDPLL
VDDIN
VDDIO
VDDIO
VDDIO
VDDIO
VDDIO
IC1
GN
D
118
128
GN
D
120
123
GN
D
GN
D
GN
D
GN
D11
9G
ND
124
23
47
72
96
21
22
46
95
45 70 94
71
2
8 1
7
C94C93C92C91C90
10
+3V3
C89C88C87C86
10
+3V3
3x 100n 4x 100n 071081 - 11C
4x 100n
5V ...24VDC
red
SHDN
VIN
Replace R39 and R42 with 100k 1%for VS1033 (VX = 2V5)
+3V3
3x 100n
3x 100n
2c
071081-SP Radio internet.indd 22 8/3/08 21:34:28
234/2008 - elektor, electronics worldwide
mA. En el caso de 24 V, esto se reduce a entre 30 y 50 mA. Todo funciona co-rrectamente: se enciende el LED 1. Una vez montados los circuitos integrados, con ayuda de un osciloscopio podemos comprobar la función de los cuarzos. Si el cuarzo X1 oscila, deberíamos poder acceder a la CPU. La CPU viene programada de fábrica con un cargador inicial (boot loader) que, ade-más de la mera transferencia de nuevo firmware, también hace posible la comu-nicación desde y hasta la memoria RAM y con la memoria Flash. En la página web de Atmel [6] encontramos el archivo “AT91-ISP.exe”, que, una vez descompri-mido, contiene el programa de Windows “SAM-BA”. Una vez instalado éste, conec-taremos la EIR con el ordenador a través del puerto USB. Al conectar la alimenta-ción de corriente, Windows debería activar el controlador adecuado. Ahora ya pode-mos iniciar el SAM-BA. A continuación, debemos seleccionar “USB” como tipo de conexión y “AT91SAM7SE512-EK” como aparato compatible en gran medida con la EIR (figura 5).Desde la página web de Elektor (en la sección del artículo) se puede descargar un firmware sencillo para fines de prue-ba. Con este firmware y la CPU funcio-nando correctamente, además de la in- Figura 3. El plano de montaje. Para evitar problemas, existe una placa con los componentes SMD ya montados.
R1, R2 = 27 , SMD 0402 R3 = 1k5, SMD 0402 R4, R5, R28, R45 = 1k, SMD 0402 R6, R23, R32, R33, R36, R38 = 10k, SMD
0402R7, R8, R18, R35, R44 = 0 , SMD 0402 R9, R10, R13, R20, R22, R34 = 100k, SMD
0402R11, R12, R16 = 10 , SMD 0603 R14, R15, R43 = 22 , SMD 0402 R17 = 1M, SMD 0402 R19, R21 = 470 , SMD 0402 R24, R25, R29, R30 = 50 1%, SMD 0402 R26, R27 = 1k, SMD 1206 R31 = 6k8 1%, SMD 0603 R37 = 16k5 1%, SMD 0603 R39 = 200k* 1%, SMD 0402 R40 = 180 , SMD 1206 R41 = 10k 1%, SMD 0402 R42 = 470k* 1%, SMD 0402 R46 = 15k, SMD 0402 R47 = 22k, SMD 0402 R48 = 22 , Array CAY16 R49 = 100k, Array CAY16 R50 = 10k, Array CAY16 R100...R106 = 0 *, SMD 1206 (no es
necesario)* véase el texto
(SMD cerámica de 6,3 V, salvo indicación en contrario)
C1...C4, C16, C19, C30, C31, C35, C42, C46...C51, C53...C59, C62...C65, C67...C69, C71..C73, C75...C77, C79...C85, C87...C89, C91...C97 = 100n, SMD 0402
C5, C6, C9, C10, C17, C20, C32, C33, C34 = 22p, SMD 0402
C7, C38 = 1n, SMD 0402 C8, C21, C22, C27, C28, C37, C100 =
10n, SMD 0402 C11...C14 = 220p, SMD 0402 C15, C39, C44, C45, C52, C60, C61,
C66, C70, C74, C78, C86, C90 = 10μ, SMD 0805
C18, C23, C29 = 47n, SMD 0402 C24...C26, C43 = 1μ, SMD 0805 C36 = 0,1F, Double Layer Cap
FG0H104Z135C40, C41 = 1μ/25V, SMD 1206 C98, C99 = 100μ/16V Tantalo, SMD
L1 = DLW5BTN102SQ2 (Murata) L2 = 10μ, MSS5131 (Coilcraft) L3 = BLM31A (Murata)
D1...D3, D5 = PMEG3005AEA (Philips) D4 = SM6T24CA (STM) IC1 = AT91SAM7SE512-AU (Atmel) IC2 = MAX3222ECWN (Maxim) IC3, IC6, IC8 = Diodenarray BZA408B IC4 = MT48LC32M16A2 IC5 = AT45DB321D-SU (Atmel) IC7 = VS1053C-L (VLSI)* IC9 = NC7WZ07P6X (Fairchild)
IC10 = DM9000E (Davicom) IC11 = PCF8563T (Philips) IC12 = LT1616 (Linear Technology) IC13 = LTC1844ES5-SD (Linear Technology) LED1 = KP-1608URC, rot, SMD 0603
(Kingbright)
X1 = cuarzo de 18,432MHz, SMD HC49SM X2 = cuarzo de 12,288MHz, SMD HC49SM X3 = cuarzo de 25,000MHz, SMD HC49SM X4 = cuarzo de 32,678kHz, SMD MC-146 F1 = fusible, 0,5A rápido con soporte, SMD
OMNI-BLOK (fusible Littel) K1, K2, K3 = bloque de 40 pines, módulo
de 2,54 mm, de dos filas K4 = conector USB-B, AMP-787780 K5 = conector Sub-D de 9 clavijas, acodado
, Norma US K6 = conector plano de 20 pines, módulo
de 2,54 mm, de dos filas K7 = ranura para tarjeta SD, SMD
FPS009-2700 (Yamaichi) K8, K9 = enchufe hembra estéreo de 3,5
mm, SMD SJ1-3515 (CUI) K10 = conector RJ-45 con transmisor Ether-
net y LEDs, SMD, RJLD-043TC (Taimag) K12 = conector DC con clavija de 2 mm,
TDC-002-3 JP1 = bloque de 6 pines con 2 puentes, mó-
dulo de 2,54 mm, de dos filas S1 = botón, SMD. LSH (Schurter) Placa o placa con SMD montados EPS
071081-1Software de la página web de Elektor
071081-SP Radio internet.indd 23 8/3/08 21:34:31
PROYECTOS INTERNET
24 elektor, electronics worldwide - 4/2008
terfaz en serie, podemos probar ahora otros componentes, tales como Ethernet y el decodificador de audio. Una vez car-gado el firmware, aún nos queda decirle a la EIR que, a partir del siguiente reini-cio, debe arrancar desde ese firmware.
vés del puerto en serie mediante un cable null modem (pines 2 y 3 cruzados) y, me-diante una emulación de terminal (para Windows se recomienda TeraTerm [7], para Linux, Miniterm y en el caso de los Mac siempre hay un terminal disponible), con 115,2kBaud a través de 8/0/1 (bits de datos, paridad y detención) podemos seguir las salidas de la EIR.
Escuchar la radio Antes de que esto sea posible, debemos desinstalar el firmware de prueba de la EIR y cargar el firmware de la radio. Para poder volver a cargar el firmware, debe-mos puentear en primer lugar los pines 34 y 36 en K3 con un puente, pulsamos el botón “Reset” y, a continuación, volve-mos a retirar el puente. A continuación, la EIR arranca de nuevo con el cargador inicial y con el SAM-BA cargaremos el firmware de la radio. Ahora conectaremos la EIR a la red lo-cal a través de la línea Ethernet (a tra-vés de un concentrador/conmutador o un “router” con varios puertos) y en la salida de audio conectaremos unos auriculares o un amplificador.Si la LAN o el direccionador existen-te disponen de un servidor DHCP acti-vo, la EIR captura una dirección válida y comienza a reproducir la emisora de radio preconfigurada. En caso de que prefiramos direcciones IP fijas: Durante la instalación del Nut/OS ya instalamos en el ordenador la pequeña herramien-ta “Discover”, con la que siempre po-dremos encontrar la EIR (figura 5) y, a continuación, configurar la dirección IP deseada. Tal y como muestra la figura6, en la opción “Gateway” (pasarela) in-troduciremos la dirección del direccio-nador. A partir de entonces, debería ser posible escuchar la radio a través de di-recciones IP fijas.
Para ello, en el apartado “Scripts” de-bemos seleccionar la rutina “Boot from Flash (GPNVM2)” y hacer clic en “Execu-te”. A continuación, cerramos el SAM-BA y pulsamos el botón de reinicio. A partir de ahora, la EIR accede a la CPU a tra-
Figura 4. El prototipo equipado completamente nos muestra que soldar manualmente no resulta tan sencillo en este caso.
1 PA0 Libre 2 PA1 Libre3 PA2 Libre 4 PA3 TWI SDA5 PA4 TWI SCL 6 PA5 UART0 RxD a través de JP17 PA6 UART0 TxD a través de JP1 8 PA7 UART0 RTS9 PA8 UART0 CTS 10 PA9 DBUG RxD a través de JP111 PA10 DBUG TxD a través de JP1 12 PA11 DataFlash Chip Select13 PA12 SPI MISO 14 PA13 SPI MOSI15 PA14 SPI SPCK 16 PA15 MMC Chip Select17 PA16 MMC Clock 18 PA17 MMC Command19 PA18 MMC DAT0 20 PA19 MMC DAT1 a través de R721 PA20 MMC DAT2 a través de R8 22 PA21 Libre23 PA22 Libre 24 PA23 SDRAM DQMH25 PA24 SDRAM A10 26 PA25 SDRAM CKE27 PA26 SDRAM Chip Select 28 PA27 SDRAM WE29 PA28 SDRAM CAS 30 PA29 SDRAM RAS31 PA30 IRQ1, MP3 Interrupt 32 PA31 MP3 Command Select33 Vref Referencia del convertidor AD 34 3.3V Alimentación35 AD4 Entrada analógica, libre 36 AD5 Entrada analógica, libre37 AD6 Entrada analógica, libre 38 AD7 Entrada analógica, libre39 GND Dimensiones 40 GND Dimensiones
Figura 5. Captura de pantalla del SAM-BA en Windows 2000.
Figura 6. Con el software (en este caso bajo Linux KDE) es posible encontrar la EIR también en direcciones IP desconocidas.
071081-SP Radio internet.indd 24 8/3/08 21:34:34
254/2008 - elektor, electronics worldwide
Futuras perspectivas Como ya hemos mencionado en varias ocasiones, la EIR es un concepto com-pletamente abierto. Tanto el software como el hardware se pueden ampliar a voluntad (a través de conectores de am-pliación) y en Elektor seguro que dispon-dremos de muchas cosas para seguir le-yendo al respecto. En lo que respecta a las herramientas y fuentes de software, así como a las po-sibles actualizaciones de los mismos, lo mejor es echar un vistazo de vez en cuan-do a la página web de proyectos [1] de la empresa egnite. Aquí encontraremos tex-tos fuente e instalaciones para Windows, Linux y OS X. Además, también encontra-remos enlaces a entornos de desarrollo y otros proyectos de código abierto. Todo es posible. Algo obvio sería, por ejemplo, un par de botones y una pan-talla LCD, para que podamos utilizar la
EIR no sólo a través del navegador web, sino de forma mucho más elegante: como aparato independiente. La ranura para tarjetas pide a gritos poder ser utili-zada además como reproductor MP3.
(071081Ie)
www.ethernut.de/de/hardware/eir/
de.wikipedia.org/wiki/Internet-Radio
Elektor marzo de 2008.
www.atmel.com/products/at91/
www.vlsi.fi/en/products/vs1053.html
www.atmel.com/dyn/resources/prod_docu-ments/Install%20AT91-ISP%20v1.10.exe
ttssh2.sourceforge.jp/
1 PB0 SDRAM DQML 2 PB1 Libre3 PB2 Bus de dirección A2 4 PB3 Bus de dirección A35 PB4 Bus de dirección A4 6 PB5 Bus de dirección A57 PB6 Bus de dirección A6 8 PB7 Bus de dirección A79 PB8 Bus de dirección A8 10 PB9 Bus de dirección A9
11 PB10 Bus de dirección A10 12 PB11 Bus de dirección A1113 PB12 Libre 14 PB13 Bus de dirección A1315 PB14 Bus de dirección A14 16 PB15 Libre17 PB16 SDRAM BA0 18 PB17 SDRAM BA119 PB18 Libre 20 PB19 FIQ, RTC Interrupt21 PB20 IRQ0, Ethernet Interrupt 22 PB21 Libre23 PB22 DataFlash Chip Select 24 PB23 Monitor USB25 PB24 Libre 26 PB25 Libre27 PB26 Libre 28 PB27 Libre29 PB28 Libre 30 PB29 Libre31 PB30 MP3 Data Select 32 PB31 MP3 Hardware Reset33 3,3 V Alimentación 34 3,3 V Alimentación35 No utilizado 36 No utilizado37 No utilizado 38 NRST Hardware Reset39 GND Dimensiones 40 GND Dimensiones
1 PC0 Bus de datos D0 2 PC1 Bus de datos D13 PC2 Bus de datos D2 4 PC3 Bus de datos D35 PC4 Bus de datos D4 6 PC5 Bus de datos D57 PC6 Bus de datos D6 8 PC7 Bus de datos D79 PC8 Bus de datos D8 10 PC9 Bus de datos D911 PC10 Bus de datos D10 12 PC11 Bus de datos D1113 PC12 Bus de datos D12 14 PC13 Bus de datos D1315 PC14 Bus de datos D14 16 PC15 Bus de datos D1517 PC16 Bus de datos D16 18 PC17 Bus de datos D1719 PC18 Bus de datos D18 20 PC19 Bus de datos D1921 PC20 Libre 22 PC21 Bus de dirección/datos NWE23 PC22 Bus de dirección/datos NRD 24 PC23 Ethernet Chip Select25 No utilizado 26 No utilizado27 No utilizado 28 No utilizado29 No utilizado 30 No utilizado31 No utilizado 32 No utilizado33 3,3 V Alimentación 34 3,3 V Alimentación35 JTAGSEL Boundary Scan Enable 36 ERASE Firmware Erase37 VIN 5-24 V estabilizados a través
R10638 SHDN Power Shutdown
39 GND Dimensiones 40 GND Dimensiones
Un vistazo a Internet y nos quedamos atónitos: si introducimos en Goo-gle la palabra clave “Internetradio”, recibiremos como respuesta más de 2,3 millones de entradas. Se trata, por lo tanto, de un tema de máxima actualidad. Los primeros experimentos con “programas” transmitidos en paquetes datan de 1993, casi al mismo tiempo que el primer navegador aprovechable, el NCSA Mosaic, y, por decirlo de alguna manera, en la hora cero del Internet comercial. Las primeras emisoras de radio “reales” comenzaron muy pronto a distribuir también vía Internet-streaming sus programas que, hasta ese momento, sólo habían sido retransmitidos por radio. Hoy en día, con una conexión normal a Internet podemos acceder a decenas de miles de programas de radio. Junto con una gran canti-dad de programas de diferentes temáticas, también tenemos ya acceso a casi todas las emisoras públicas y comerciales.
Por “streaming” integrado, técnica para la transmisión actual de datos (por ejemplo, audio y vídeo) en tiempo real entendemos flujos de datos lo más continuados posibles de entre los que la emisora debe ofrecer
por cliente un flujo extra, algo que genera muchísimo tráfico y, por lo tanto, podría resultar bastante costoso para muchos oyentes. Para man-tener la tasa de transmisión de datos dentro de unos límites razonables, los datos se comprimen antes de su envío y se descomprimen una vez llegados a su destino. Una radio por Internet, ya sea basada en software o como hardware, debe disponer de un decodificador de streaming como MP3, Ogg Vorbis o Real Audio.
Dado que con los protocolos http y ftp habituales de Internet no se puede garantizar un tiempo de ejecución estable para los distintos paquetes de datos, el receptor precisa una memoria intermedia de datos suficiente, lo que retrasa algunos segundos la recepción y sólo es capaz de ofrecer una reproducción “casi en vivo”. El zapping rápido queda por lo tanto descartado. En lugar de ello, gracias a la digitalización con una calidad de sonido estable, nos conformamos con un alcance internacional y una variedad ilimitada de programas en comparación con la radiodifusión clásica. Además, en principio es posible la “recepción” de conservas (= programas que nos hemos perdido) en forma de “Audio on Demand”, algo que la radio convencional no puede ofrecer.
071081-SP Radio internet.indd 25 8/3/08 21:34:34