Anda di halaman 1dari 180

Reproductor de MP3 con almacenamiento en Multimedia Card y comunicacin a travs de USB

David Martn de Vidales Mae

!utor del proyecto" #os $ntonio Boluda %rau


& David Martn de Vidales Mae ' ( #ulio )**+

Agradecimientos
$ mis padres' por su apoyo' ,nimo y paciencia' y por -a.er soportado estoicamente el desorden de mi -a.itacin todos estos meses/ $ Paola' por apoyarme en todo momento' estar conmi0o y soportar esos lar0os meses sin apenas salir/ $ mis compaeras de tra.a1o y todos los ami0os 2ue insistieron' casi a diario' en 2ue 3uese constante' siento no -a.eros -ec-o m,s caso/ Muy especialmente a mis a.uelos' 2ue no -an podido ver este proyecto concluido/

ndice de contenido
(/4ntroduccin//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////(5 (/( Presentacin//////////////////////////////////////////////////////////////////////////////////////////////////////////////(5 (/) 6.1etivos///////////////////////////////////////////////////////////////////////////////////////////////////////////////////(7 (/3 Contenidos////////////////////////////////////////////////////////////////////////////////////////////////////////////////(8 )/ 9stado de la tecnolo0a////////////////////////////////////////////////////////////////////////////////////////////////////(+ )/( Contenido//////////////////////////////////////////////////////////////////////////////////////////////////////////////////(+ )/) Reproductores de MP3/////////////////////////////////////////////////////////////////////////////////////////////(+ )/)/( :os primeros decodi3icadores///////////////////////////////////////////////////////////////////////////(+ )/)/( :os primeros reproductores//////////////////////////////////////////////////////////////////////////////(; )/)/) Clasi3icacin de los reproductores////////////////////////////////////////////////////////////////////)( )/)/3 Reproductores no comerciales//////////////////////////////////////////////////////////////////////////)< )/3 =ormato MP3////////////////////////////////////////////////////////////////////////////////////////////////////////////)5 )/3/( 6r0enes del MP3/////////////////////////////////////////////////////////////////////////////////////////////)5 )/3/) Principios psicoac>sticos//////////////////////////////////////////////////////////////////////////////////)7 )/3/3 4ntroduccin a la compresin de audio MP9% ////////////////////////////////////////////////); )/3/< $l0oritmo de codi3icacin MP9%?( :ayer 3////////////////////////////////////////////////////3* )/3/5 $l0oritmo de decodi3icacin MP9%?( :ayer 3////////////////////////////////////////////////33 )/< !ar1etas de memoria no vol,til//////////////////////////////////////////////////////////////////////////////////37 )/</( Memorias =las-/////////////////////////////////////////////////////////////////////////////////////////////////37 )/</) !ipos de tar1etas////////////////////////////////////////////////////////////////////////////////////////////////3+ )/5 9l inter3a de comunicacin USB/////////////////////////////////////////////////////////////////////////////<) )/5/( 6r0enes del USB/////////////////////////////////////////////////////////////////////////////////////////////<3 )/5/) Caractersticas del USB////////////////////////////////////////////////////////////////////////////////////<3 )/5/3 !opolo0a///////////////////////////////////////////////////////////////////////////////////////////////////////////<7 )/5/5 @ivel 3sico////////////////////////////////////////////////////////////////////////////////////////////////////////<7 )/5/7 Protocolo///////////////////////////////////////////////////////////////////////////////////////////////////////////<8 )/5/8 !ipos de trans3erencias en USB )/*//////////////////////////////////////////////////////////////////<+ )/7 Microcontroladores///////////////////////////////////////////////////////////////////////////////////////////////////5* )/7/( De3inicin y caractersticas///////////////////////////////////////////////////////////////////////////////5* )/7/) Seleccin del microcontrolador////////////////////////////////////////////////////////////////////////5( )/7/3 $plicaciones//////////////////////////////////////////////////////////////////////////////////////////////////////5( 3/ Diseo y desarrollo del -ardAare////////////////////////////////////////////////////////////////////////////////////5) 3/( 4ntroduccin//////////////////////////////////////////////////////////////////////////////////////////////////////////////5) 3/) Seleccin de componentes////////////////////////////////////////////////////////////////////////////////////////5) 3/)/( 9l microcontrolador//////////////////////////////////////////////////////////////////////////////////////////53 3/)/) 9l mdulo USB/////////////////////////////////////////////////////////////////////////////////////////////////55 3/)/3 :a tar1eta de memoria///////////////////////////////////////////////////////////////////////////////////////58 3/)/< 9l c-ip decodi3icador de MP3///////////////////////////////////////////////////////////////////////////5+ 3/)/5 :a pantalla :CD////////////////////////////////////////////////////////////////////////////////////////////////5+ 3/3 Pro0rama' -erramientas y metodolo0a utili ada/////////////////////////////////////////////////////7* 3/3/( Diseo///////////////////////////////////////////////////////////////////////////////////////////////////////////////7* 3/3/) =a.ricacin////////////////////////////////////////////////////////////////////////////////////////////////////////7( 3/3/3 !esteo////////////////////////////////////////////////////////////////////////////////////////////////////////////////7) 3/< Diseo de la PCB//////////////////////////////////////////////////////////////////////////////////////////////////////73 3/</( $limentacin/////////////////////////////////////////////////////////////////////////////////////////////////////73 3/</) Microcontrolador//////////////////////////////////////////////////////////////////////////////////////////////8* 3/</3 Mdulo USB/////////////////////////////////////////////////////////////////////////////////////////////////////8) 3/</< Decodi3icador VS(**(B////////////////////////////////////////////////////////////////////////////////////8+ 5

3/</5 !ar1eta Multimedia Card///////////////////////////////////////////////////////////////////////////////////+) 3/</7 Pantalla :CD/////////////////////////////////////////////////////////////////////////////////////////////////////+3 3/</8 Botonera////////////////////////////////////////////////////////////////////////////////////////////////////////////+5 3/</+ 6tros elementos////////////////////////////////////////////////////////////////////////////////////////////////+5 </ Diseo y desarrollo del 3irmAare////////////////////////////////////////////////////////////////////////////////////+8 </( 4ntroduccin//////////////////////////////////////////////////////////////////////////////////////////////////////////////+8 </) Cerramientas de desarrollo utili adas///////////////////////////////////////////////////////////////////////+8 </3 :i.reras desarrolladas//////////////////////////////////////////////////////////////////////////////////////////////+; </3/( 4ntroduccin//////////////////////////////////////////////////////////////////////////////////////////////////////+; </3/) :i.rera VS(**(D/////////////////////////////////////////////////////////////////////////////////////////////+; </3/3 :i.rera Multimedia Card/////////////////////////////////////////////////////////////////////////////////;7 </3/< :i.rera =$!(7////////////////////////////////////////////////////////////////////////////////////////////////(*3 </3/5 :i.rera de la pantalla :CD////////////////////////////////////////////////////////////////////////////(*; </3/7 :i.rera USB///////////////////////////////////////////////////////////////////////////////////////////////////((< </3/8 :ectura de 4D3v( y 4D3v)/////////////////////////////////////////////////////////////////////////////((5 </3/+ =unciones de visuali acin de datos y men>//////////////////////////////////////////////////((8 </< Protocolo de comunicacin Reproductor?PC//////////////////////////////////////////////////////////((+ </</( 4ntroduccin////////////////////////////////////////////////////////////////////////////////////////////////////((+ </</) Sistema de mensa1es////////////////////////////////////////////////////////////////////////////////////////((; </</3 4niciali acin de la comunicacin///////////////////////////////////////////////////////////////////()( </</< Comandos de nave0acin///////////////////////////////////////////////////////////////////////////////()) </</5 Comandos de control//////////////////////////////////////////////////////////////////////////////////////()< </</7 Comandos de reproduccin/////////////////////////////////////////////////////////////////////////////()5 </</8 Comandos para el decodi3icador/////////////////////////////////////////////////////////////////////()7 </</8 9rrores/////////////////////////////////////////////////////////////////////////////////////////////////////////////()8 </5 Pro0rama principal//////////////////////////////////////////////////////////////////////////////////////////////////()8 </5/( 4ntroduccin////////////////////////////////////////////////////////////////////////////////////////////////////()8 </5/) =uncin principal////////////////////////////////////////////////////////////////////////////////////////////()8 </5/3 =uncin tempori ada///////////////////////////////////////////////////////////////////////////////////////()+ </5/< 6tras 3unciones///////////////////////////////////////////////////////////////////////////////////////////////(3( 5/ Diseo y desarrollo de la aplicacin//////////////////////////////////////////////////////////////////////////////(3) 5/( 4ntroduccin////////////////////////////////////////////////////////////////////////////////////////////////////////////(3) 5/) Cerramientas de desarrollo utili adas/////////////////////////////////////////////////////////////////////(3) 5/3 :i.rera del mdulo USB////////////////////////////////////////////////////////////////////////////////////////(33 5/< :i.rera de control del reproductor/////////////////////////////////////////////////////////////////////////(3< 5/5 Modos de reproduccin//////////////////////////////////////////////////////////////////////////////////////////(37 5/5/( 4ntroduccin////////////////////////////////////////////////////////////////////////////////////////////////////(37 5/5/( Reproduccin remota de arc-ivos en el reproductor//////////////////////////////////////(37 5/5/) Reproduccin remota de arc-ivos en el ordenador/////////////////////////////////////////(38 5/5/3 Reproduccin local de arc-ivos en el reproductor//////////////////////////////////////////(38 5/5/< Reproduccin remota de streams de internet//////////////////////////////////////////////////(3+ 5/7 Podcastin0 y streamin0 a travs de internet////////////////////////////////////////////////////////////(3; 5/7/( 4ntroduccin////////////////////////////////////////////////////////////////////////////////////////////////////(3; 5/7/) 6.tencin e identi3icacin del tipo de recurso////////////////////////////////////////////////(3; 5/7/3 Streamin0////////////////////////////////////////////////////////////////////////////////////////////////////////(<* 5/7/< Podcastin0///////////////////////////////////////////////////////////////////////////////////////////////////////(<) 5/7/5 9misoras 3avoritas///////////////////////////////////////////////////////////////////////////////////////////(<< 7/ Presupuesto y plani3icacin///////////////////////////////////////////////////////////////////////////////////////////(<5 7/( 4ntroduccin////////////////////////////////////////////////////////////////////////////////////////////////////////////(<5 7/) Coste del so3tAare///////////////////////////////////////////////////////////////////////////////////////////////////(<5 7/3 Coste de las -erramientas///////////////////////////////////////////////////////////////////////////////////////(<7 6

7/< Coste de los componentes y PCB///////////////////////////////////////////////////////////////////////////(<8 7/5 Plani3icacin y mano de o.ra/////////////////////////////////////////////////////////////////////////////////(<+ 8/ Conclusiones y tra.a1o 3uturo////////////////////////////////////////////////////////////////////////////////////////(5( 8/( Conclusiones///////////////////////////////////////////////////////////////////////////////////////////////////////////(5( 8/) !ra.a1o 3uturo/////////////////////////////////////////////////////////////////////////////////////////////////////////(5) $PE@D4C9 4 Manual de usuario//////////////////////////////////////////////////////////////////////////////////////(5< (/ 4ntroduccin//////////////////////////////////////////////////////////////////////////////////////////////////////////////(5< )/ 9speci3icaciones tcnicas//////////////////////////////////////////////////////////////////////////////////////////(5< 3/ Re2uisitos del sistema///////////////////////////////////////////////////////////////////////////////////////////////(55 </ Reproductor//////////////////////////////////////////////////////////////////////////////////////////////////////////////(55 </( Vista 0eneral y controles////////////////////////////////////////////////////////////////////////////////////(55 </) $limentacin y recar0a de pilas/////////////////////////////////////////////////////////////////////////(58 </3 Pantalla :CD//////////////////////////////////////////////////////////////////////////////////////////////////////(58 </< Utili acin//////////////////////////////////////////////////////////////////////////////////////////////////////////(5; 5 $plicacin//////////////////////////////////////////////////////////////////////////////////////////////////////////////////(7( 5/( 4nstalacin//////////////////////////////////////////////////////////////////////////////////////////////////////////(7( 5/) Ventana principal////////////////////////////////////////////////////////////////////////////////////////////////(7< 5/3 Contenido de la tar1eta de memoria///////////////////////////////////////////////////////////////////(75 5/< Reproduccin de arc-ivos en la tar1eta de memoria//////////////////////////////////////////(75 5/5 Reproduccin en la aplicacin de arc-ivos de la memoria////////////////////////////////(77 5/7 Reproduccin de arc-ivos almacenados en el PC//////////////////////////////////////////////(78 5/8 Streamin0///////////////////////////////////////////////////////////////////////////////////////////////////////////(7+ $PE@D4C9 44 9structura de =$!(7//////////////////////////////////////////////////////////////////////////////////(8( 44/( 4ntroduccin///////////////////////////////////////////////////////////////////////////////////////////////////////////(8( 44/) 9structura de =$!(7///////////////////////////////////////////////////////////////////////////////////////////////(8( 44/)/( Master Boot Record///////////////////////////////////////////////////////////////////////////////////////(8( 44/)/) Sector de arran2ue de la particin//////////////////////////////////////////////////////////////////(8) 44/)/3 !a.la de asi0nacin de arc-ivos F=$!G//////////////////////////////////////////////////////////(8< 44/)/< Directorio ra ////////////////////////////////////////////////////////////////////////////////////////////////(85 44/)/5 Hrea de datos//////////////////////////////////////////////////////////////////////////////////////////////////(87 Bi.lio0ra3a////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////(88

ndice de imgenes
4ma0en )/( Primer c-ip decodi3icador de MP3 de Micronas F(;;<G//////////////////////////////////(+ 4ma0en )/) Primer prototipo de un reproductor de MP3 sin partes mviles F(;;<G///////////(; 4ma0en )/3 Reproductor MPMan =(*/////////////////////////////////////////////////////////////////////////////////(; 4ma0en )/< 4nterior del reproductor MPMan =(*///////////////////////////////////////////////////////////////(; 4ma0en )/5 Reproductor Diamon Rio PMP3**//////////////////////////////////////////////////////////////////)* 4ma0en )/7 4nterior del reproductor Diamon Rio PMP3**/////////////////////////////////////////////////)* 4ma0en )/8 Reproductor con disco duro P#B?(** F(;;;G///////////////////////////////////////////////////)* 4ma0en )/+ Reproductor MP3 de CDs Mam.o?I///////////////////////////////////////////////////////////////)* 4ma0en )/; @evera CentrlparB de J-irpool' con reproductor de DVD y MP3//////////////////)( 4ma0en )/(* Um.rales de sensi.ilidad y auditivo KCacBer**L///////////////////////////////////////////)8 4ma0en )/((/ Bandas crticas aproMimadas KPan;3L////////////////////////////////////////////////////////////)8 4ma0en )/() / Um.ral en silencio y um.ral de enmascaramiento //////////////////////////////////////)+ 4ma0en )/(3 Um.rales de enmascaramiento temporal KCun0L///////////////////////////////////////////)+ 4ma0en )/(< 9structura de codi3icacin MP3K:a0erstNm*(L/////////////////////////////////////////////3* 4ma0en )/(5 Representacin del 3iltro////////////////////////////////////////////////////////////////////////////////3* 4ma0en )/(7 $nc-os de .anda del 3iltro MP9%O$udio vs anc-o de las .andas crticasKPan;5L/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3( 4ma0en )/(8 9cuacin de la trans3ormacin MDC! KCun0L//////////////////////////////////////////////3( 4ma0en )/(+ =ormato del marco MP3/////////////////////////////////////////////////////////////////////////////////3) 4ma0en )/(; 91emplo de .it reservoir/////////////////////////////////////////////////////////////////////////////////33 4ma0en )/)* Dia0rama de .lo2ues del decodi3icador MP9%?( :ayer 3 ///////////////////////////33 4ma0en )/)( Dia0rama de .lo2ues de la decodi3icacin del 3lu1o de datos////////////////////////33 4ma0en )/)) 9cuacin del calculo de desescalado de las lneas de 3recuencia///////////////////3< 4ma0en )/)3 Dia0rama de .lo2ues del Mapeo de la 3recuencia al tiempo//////////////////////////35 4ma0en )/)< 9Mpresin analtica del MDC! inverso//////////////////////////////////////////////////////////35 4ma0en )/)< 9volucin prevista de la memoria @$@D 3las- se0>n la capacidad y tipo de aplicacin KSamsun0L//////////////////////////////////////////////////////////////////////////////////////////////////////////38 4ma0en )/)5 9volucin prevista de la memoria @$@D 3las-se0>n la capacidad' el tamao y la velocidad KSamsun0L////////////////////////////////////////////////////////////////////////////////////////////////////3+ 4ma0en )/)7 !ar1eta Compact=las-/////////////////////////////////////////////////////////////////////////////////////3+ 4ma0en )/)8 !ar1eta SmartMedia////////////////////////////////////////////////////////////////////////////////////////3; 4ma0en )/)+ !ar1eta Memory SticB Pro Duo Ma0ic%ate////////////////////////////////////////////////////<* 4ma0en )/); !ar1eta MD?Picture///////////////////////////////////////////////////////////////////////////////////////////<( 4ma0en )/3* !ar1eta Multimedia Card/////////////////////////////////////////////////////////////////////////////////<( 4ma0en )/3( !ar1etas SD' MiniSD y MicroSD////////////////////////////////////////////////////////////////////<) 4ma0en )/3) !erminales MicroUSB $ y MicroUSB B///////////////////////////////////////////////////////<3 4ma0en )/33 !opolo0a USB K$Melson*5L//////////////////////////////////////////////////////////////////////////<7 4ma0en )/3< Ca.le para loA speedK$nderson*(L///////////////////////////////////////////////////////////////<8 4ma0en )/35 Ca.le para 3ull y -i0- speedK$nderson*(L/////////////////////////////////////////////////////<8 4ma0en 3/3 Mdulo D:P?USB)<5M?%//////////////////////////////////////////////////////////////////////////////58 4ma0en 3/7 Pantalla :CD con controlador P-ilips PCD+5<</////////////////////////////////////////////5; 4ma0en 3/8 Materiales para reali ar el -ardAare/////////////////////////////////////////////////////////////////7* 4ma0en 3/+ Procesos para el diseo del circuito/////////////////////////////////////////////////////////////////7( 4ma0en 3/; Diseo modular del circuito/////////////////////////////////////////////////////////////////////////////73 4ma0en 3/(* Control de alimentacin USB/////////////////////////////////////////////////////////////////////////75 4ma0en 3/(( Circuito de car0a/////////////////////////////////////////////////////////////////////////////////////////////77 4ma0en 3/() =uncionamiento del diodo Pener como re0ulador//////////////////////////////////////////78 4ma0en 3/(3 Re0ulador de tensin !C((5//////////////////////////////////////////////////////////////////////////7+ 9

4ma0en 3/(< 9s2uem,tico del re0ulador !C((5 ////////////////////////////////////////////////////////////////7+ 4ma0en 3/(5 Re0ulador M$I(785/////////////////////////////////////////////////////////////////////////////////////7; 4ma0en 3/(7 9s2uem,tico del re0ulador M$I(785///////////////////////////////////////////////////////////7; 4ma0en 3/(8 9s2uem,tico del mdulo de alimentacin//////////////////////////////////////////////////////8* 4ma0en 3/(+ Microcontrolador (+:=<5)////////////////////////////////////////////////////////////////////////////8( 4ma0en 3/(; Con3i0uracin del cristal del microcontrolador//////////////////////////////////////////////8) 4ma0en 3/)* Dia0rama de .lo2ues del 3uncionamiento del =!)<5BM//////////////////////////////83 4ma0en 3/)( 9s2uem,tico del mdulo D:P?USB)<5M/////////////////////////////////////////////////////8< 4ma0en 3/)) Con3i0uracin de la alimentacin del USB////////////////////////////////////////////////////87 4ma0en 3/)3 Control de alimentacin se0>n especi3icaciones////////////////////////////////////////////87 4ma0en 3/)< ConeMin del mdulo USB con el microcontrolador/////////////////////////////////////88 4ma0en 3/)5 Crono0rama del ciclo de lectura USB////////////////////////////////////////////////////////////88 4ma0en 3/)7 Crono0rama del ciclo de escritura USB/////////////////////////////////////////////////////////8+ 4ma0en 3/)8 =uncionamiento del decodi3icador VS(**(B/////////////////////////////////////////////////8; 4ma0en 3/3( Circuito recomendado del VS(**(B//////////////////////////////////////////////////////////////+* 4ma0en 3/3) Circuito implementado del VS(**(B/////////////////////////////////////////////////////////////+* 4ma0en 3/)+ Crono0rama del inter3a SD4/////////////////////////////////////////////////////////////////////////+( 4ma0en 3/); Ciclo de lectura SC4///////////////////////////////////////////////////////////////////////////////////////+) 4ma0en 3/3* Ciclo de escritura SC4/////////////////////////////////////////////////////////////////////////////////////+) 4ma0en 3/3( ConeMin de la tar1eta MMC//////////////////////////////////////////////////////////////////////////+3 4ma0en 3/3) Pinout de la pantalla :CD//////////////////////////////////////////////////////////////////////////////+< 4ma0en 3/33 Circuito usado con la pantalla :CD///////////////////////////////////////////////////////////////+< 4ma0en 3/3< Crono0rama de comunicacin con la pantalla////////////////////////////////////////////////+5 4ma0en 3/35 Circuito de la .otonera///////////////////////////////////////////////////////////////////////////////////+5 4ma0en 3/37 9s2uem,tico de los inter3aces 4CSP y U$R!////////////////////////////////////////////////+7 4ma0en </( 9s2uem,tico usado con el M$I3)3)//////////////////////////////////////////////////////////////++ 4ma0en </) Pro0ramador de P4Cs////////////////////////////////////////////////////////////////////////////////////////++ 4ma0en </3 9s2uema de li.reras////////////////////////////////////////////////////////////////////////////////////////+; 4ma0en </< Pinout de la tar1eta MMC/////////////////////////////////////////////////////////////////////////////////;8 4ma0en </5 Dia0ramas de los protocolos MMC y SP4////////////////////////////////////////////////////////;+ 4ma0en </7 9structura de las respuestas R( y R)//////////////////////////////////////////////////////////////(** 4ma0en </8 Dia0rama de iniciali acin/////////////////////////////////////////////////////////////////////////////(*( 4ma0en </(* Mapeo de la memoria DDR$M en la pantalla/ 9Mtrado de las especi3icaciones del controlador PCD+5<<///////////////////////////////////////////////////////////////////////((* 4ma0en </(( Dia0rama de tiempos del envo de un .yte///////////////////////////////////////////////////(() 4ma0en </() 9structura del mensa1e//////////////////////////////////////////////////////////////////////////////////((; 4ma0en </(3 Dia0rama de iniciali acin de la comunicacin///////////////////////////////////////////()( 4ma0en </(< Dia0rama de 3uncionamiento del comando USBQD4RQ:4S!//////////////////////()) 4ma0en </(5 Dia0rama del 3uncionamiento del comando USBQD4RQ%9!/////////////////////()3 4ma0en </(7 Dia0rama de 3lu1o de la 3uncin principal////////////////////////////////////////////////////()+ 4ma0en </(8 Dia0rama de 3lu1o de la 3uncin tempori ada//////////////////////////////////////////////(); 4ma0en </(+ Dia0rama de 3lu1o de la compro.acin de la .otonera/////////////////////////////////(3( 4ma0en 5/( $r2uitectura del uso del driver USB D)II//////////////////////////////////////////////////(33 4ma0en 5/) 9structura interna de la li.rera de comunicacin//////////////////////////////////////////(35 4ma0en 5/3 Reproduccin remota de arc-ivos en el reproductor//////////////////////////////////////(37 4ma0en 5/< Reproduccin remota de arc-ivos en el PC////////////////////////////////////////////////////(38 4ma0en 5/5 Reproduccin local de arc-ivos remotos////////////////////////////////////////////////////////(3+ 4ma0en 5/7 Reproduccin de audio de S-outcast//////////////////////////////////////////////////////////////(<( 4ma0en 5/7 Podcast car0ado en el nave0ador de la aplicacin//////////////////////////////////////////(<) 4ma0en 5/8 :istado de Podcast 3avoritos///////////////////////////////////////////////////////////////////////////(<< 4ma0en 7/( Dia0rama de %antt//////////////////////////////////////////////////////////////////////////////////////////(<; 10

4ma0en 4/( Visin 0eneral del reproductor////////////////////////////////////////////////////////////////////////(55 4ma0en 4/) Detalles de la .otonera////////////////////////////////////////////////////////////////////////////////////(57 4ma0en 4/3 Pantalla :CD con el reproductor en espera/////////////////////////////////////////////////////(5+ 4ma0en 4/< Pantalla del listado de arc-ivos///////////////////////////////////////////////////////////////////////(5+ 4ma0en 4/5 Pantalla del listado de opciones//////////////////////////////////////////////////////////////////////(5+ 4ma0en 4/7 Descripcin de la in3ormacin en pantalla//////////////////////////////////////////////////////(5; 4ma0en 4/8 Ventana de instalacin del driver de USB///////////////////////////////////////////////////////(7) 4ma0en 4/+ $sistente de instalacin de la aplicacin (//////////////////////////////////////////////////////(7) 4ma0en 4/; $sistente de instalacin de la aplicacin )//////////////////////////////////////////////////////(73 4ma0en 4/(* $sistente de instalacin de la aplicacin 3////////////////////////////////////////////////////(73 4ma0en 4/(( $sistente de instalacin de la aplicacin <////////////////////////////////////////////////////(73 4ma0en 4/() 4niciacin de comunicacin//////////////////////////////////////////////////////////////////////////(7< 4ma0en 4/(3 Re0iones principales de la aplicacin///////////////////////////////////////////////////////////(7< 4ma0en 4/(< Contenido de la tar1eta de memoria//////////////////////////////////////////////////////////////(75 4ma0en 4/(5 Ventana de copia de un arc-ivo/////////////////////////////////////////////////////////////////////(75 4ma0en 4/(7 6pcin Reproduccin remota///////////////////////////////////////////////////////////////////////(77 4ma0en 4/(8 Reproduccin remota de arc-ivos en la tar1eta/////////////////////////////////////////////(77 4ma0en 4/(+ 6pcin Reproduccin local///////////////////////////////////////////////////////////////////////////(77 4ma0en 4/(; Reproductor local de audio///////////////////////////////////////////////////////////////////////////(78 4ma0en 4/)* :ista de reproduccin////////////////////////////////////////////////////////////////////////////////////(78 4ma0en 4/)( $adiendo arc-ivos al listado de reproduccin////////////////////////////////////////////(7+ 4ma0en 4/)) Detalle de los iconos del estado del arc-ivo/////////////////////////////////////////////////(7+ 4ma0en 4/)3 Podcast =avoritos//////////////////////////////////////////////////////////////////////////////////////////(7; 4ma0en 4/)< Contenido de un Podcast///////////////////////////////////////////////////////////////////////////////(7; 4ma0en 4/)5 P,0ina Ae. de SC6U!cast///////////////////////////////////////////////////////////////////////////(8* 4ma0en 44/( 9structura de una particin =$!(7////////////////////////////////////////////////////////////////(8) 4ma0en 44/) 91emplo de ta.la de asi0nacin/////////////////////////////////////////////////////////////////////(8<

11

12

ndice de tablas
!a.la )/( Di3erencias entre las tecnolo0as @6R y @$@D////////////////////////////////////////////////38 !a.la )/) Comparacin de los inter3aces m,s populares K$Melson*5L////////////////////////////////<5 !a.la )/3 Comparacin de los tipos de trans3erencia K$Melson*5L/////////////////////////////////////<; !a.la 3/( Caractersticas de la 3amilia (+=MM)///////////////////////////////////////////////////////////////////55 !a.la 3/) Comparacin de di3erentes inte0rados para el inter3a USB///////////////////////////////57 !a.la 3/< Comparacin de tar1etas de memoria//////////////////////////////////////////////////////////////////58 !a.la 3/5 Comparacin de decodi3icadores de MP3///////////////////////////////////////////////////////////5+ !a.la 3/7 Comparativa de pantallas :CD////////////////////////////////////////////////////////////////////////////5; !a.la 3/8 Ran0o de tensiones de los componentes//////////////////////////////////////////////////////////////7< !a.la 3/+ Consumo m,Mimo de los componentes///////////////////////////////////////////////////////////////7< !a.la 3/; ConeMiones del microcontrolador////////////////////////////////////////////////////////////////////////8) !a.la 3/(* 9Mplicacin del pinout del mdulo USB///////////////////////////////////////////////////////////85 !a.la 3/(( Pinout de la tar1eta Multimedia Card/////////////////////////////////////////////////////////////////+) !a.las </( =unciones SD4////////////////////////////////////////////////////////////////////////////////////////////////////;( !a.la </) Re0istros internos del decodi3icador///////////////////////////////////////////////////////////////////;( !a.la </3 Descripcin de los .its del re0istro M6D9/////////////////////////////////////////////////////////;) !a.la </< =recuencias se0>n los .its del re0istro $UD$!$///////////////////////////////////////////////;3 !a.la </5 Bits de los re0istros CD$!* y CD$!(///////////////////////////////////////////////////////////////;< !a.la </7 =unciones SC4//////////////////////////////////////////////////////////////////////////////////////////////////////;7 !a.la </8 Comandos m,s utili ados del protocolo SP4///////////////////////////////////////////////////////;; !a.la </+ Comparacin de las versiones de =$!///////////////////////////////////////////////////////////////(*< !a.la </(5 :neas de comunicacin de la pantalla :CD///////////////////////////////////////////////////(*; !a.la </(7 #ue0o de instrucciones de la pantalla :CD//////////////////////////////////////////////////////((( !a.la </(8 9structura de la eti2ueta 4D3v(///////////////////////////////////////////////////////////////////////((7 !a.la </(+ Comandos del protocolo de comunicacin//////////////////////////////////////////////////////()* !a.la 7/( Precio del So3tAare////////////////////////////////////////////////////////////////////////////////////////////(<7 !a.la 7/) Precio de las -erramientas/////////////////////////////////////////////////////////////////////////////////(<8 !a.la 7/3 Precio de componentes//////////////////////////////////////////////////////////////////////////////////////(<+ !a.la 7/< Valoracin del coste de mano de o.ra///////////////////////////////////////////////////////////////(5* !a.la 7/5 Coste total del proyecto/////////////////////////////////////////////////////////////////////////////////////(5* !a.la 44/( 9structura del Master Boot Record///////////////////////////////////////////////////////////////////(8( !a.la 44/) 9structura del re0istro de particin en el MBR////////////////////////////////////////////////(8) !a.la 44/3 9structura del sector de arran2ue de =$!(7/////////////////////////////////////////////////////(83 !a.la 44/< Calculo de la posicin de los elementos de una particin////////////////////////////////(83 !a.la 44/5 !amaos de cluster se0>n tamao de particin/////////////////////////////////////////////////(85 !a.la 44/7 9structura de entrada de directorio///////////////////////////////////////////////////////////////////(85

13

14

1.Introduccin
1.1 Presentacin
$ctualmente los sistemas multimedia est,n teniendo una 0ran importancia y una amplia variedad de dispositivos incluyen entre sus caractersticas la reproduccin de audio yOo vdeo/ Cada ve m,s estos dispositivos admiten una mayor variedad de 3ormatos y soportes de almacenamiento como discos duros' CDs' DVDs' memorias =las-' etc/ Muc-os de los dispositivos poseen una capacidad de almacenamiento limitado lo 2ue -ace necesario la utili acin de 3ormatos comprimidos 2ue permitan almacenar estos elementos multimedia con una calidad acepta.le y en muc-os casos sin prdida aparente de sta/ De la necesidad de o.tener un 3ormato de audio comprimido de alta calidad sur0i el est,ndar MP3' 0racias a l se puede o.tener audio comprimido a un ratio aproMimado de ("() con respecto al audio en PCM( y con perdidas poco aprecia.les/ %racias a este nivel de compresin -an sur0ido 0ran cantidad de dispositivos 2ue pueden ser utili ados como reproductores port,tiles de audio' como tel3onos mviles' PD$s y 0ran cantidad de reproductores de alta capacidad .asados en memoria =las-' disco duro o CD/ Pero el 3ormato MP3 no -a sido slo utili ado en dispositivos port,tiles' -oy en da puede encontrarse en reproductores para coc-e' mini cadenas' reproductores de DVD' duc-as' 3ri0or3icos' centralitas tele3nicas' etc/ 6tra venta1a del tamao reducido es 2ue es muy adecuado para transmisiones entre dispositivos ya sea a travs de USB' redes ca.leadas o inal,m.ricas/ 9sto permite al MP3 ser reproducido de 3orma remota' de -ec-o el MP3 es uno de los principales 3ormatos para la transmisin de audio por 4nternet/ 9l propsito 0eneral de este proyecto es el desarrollo de un dispositivo -ardAare capa de reproducir audio en 3ormato MP3 almacenado de 3orma local en el propio dispositivo y de 3orma remota siendo transmitido desde el ordenador a travs del inter3a USB/

( Pulse Code Modulation, representacin digital de una seal analgica donde la magnitud de la seal es muestreada y cuantificada a intervalos regulares.

15

1.2 Objetivos
9n el proyecto se pretende desarrollar un sistema 2ue conste de un dispositivo -ardAare y una aplicacin para el control y transmisin de datos desde el ordenador/ 9l o.1etivo principal de este proyecto es" El desarrollo de un dispositivo hardware que reproduzca ficheros en formato MP y pueda ser utilizado tanto como reproductor port!til como perif"rico conectado a un ordenador. El desarrollo de una aplicacin a trav"s de la cual se podr! controlar el dispositivo desde el ordenador cuando est" conectado a "ste, y el diseo del protocolo de comunicacin entre el dispositivo y la aplicacin. $ continuacin se enumeran las caractersticas 2ue tendr, el dispositivo"

$l tratarse de un dispositivo 2ue puede 3uncionar de 3orma autnoma estar, alimentado por pilas cuando no est conectado al ordenador y por USB cuando lo est/ 9stas pilas ser,n recar0a.les y podr,n car0arse mediante USB cuando el dispositivo est conectado/ !endr, un inter3a de usuario compuesto por una .otonera y una pantalla' 2ue permitan un control sencillo e intuitivo del dispositivo/ 9n la pantalla se mostrar, el ttulo y dem,s in3ormacin del 3ic-ero MP3 o.tenida de las eti2uetas 4D3 cuando estn disponi.les/ $lmacenar, los 3ic-eros MP3 en tar1etas de memoria =las- intercam.ia.les y 2ue podr,n ser ledas y 0ra.adas en cual2uier otro dispositivo/ Podr, conectarse a un ordenador mediante el inter3a USB ) y ser controlado por la aplicacin 2ue se desarrollar, para este propsito/

:as caractersticas de la aplicacin 2ue se e1ecutar, en el ordenador son las si0uientes"


:a aplicacin tendr, acceso a la estructura de 3ic-eros de la tar1eta introducida en el reproductor' de modo 2ue podr, nave0ar por ella/ Se podr, controlar la reproduccin de los 3ic-eros MP3 de la tar1eta de memoria/ Podr,n transmitirse 3lu1os de datos MP3 2ue ser,n reproducidos en tiempo real por el dispositivo/ De este modo se podr,n enviar para su reproduccin 3ic-eros 2ue se encuentren en el ordenador' 3ic-eros a los 2ue se acceda a travs de 4nternet o 3lu1os de audio procedentes de una radio a travs de 4nternet/ :a aplicacin podr, o.tener 3ic-eros 2ue se encuentren en la tar1eta de memoria' para su almacenamiento en el ordenador o para su reproduccin en tiempo real/ Podr, crear listas de reproduccin de 3ic-eros locales 2ue ser, reproducidos por el dispositivo/

9n cuanto a las caractersticas del protocolo de comunicacin' este de.er, permitir un control total de la reproduccin de 3ic-eros almacenados en la tar1eta de memoria' acceso a la estructura de 3ic-eros y control de di3erentes caractersticas y
) :a eleccin del USB como inter3a de coneMin ser, discutida en posteriores apartados/

16

con3i0uraciones' como el control del volumen/ 9n lneas 0enerales de.er, permitir reali ar las caractersticas de la aplicacin descritas/

1.3 Contenidos
:a memoria se -a dividido en di3erentes captulos para intentar mostrar de 3orma clara cada una de las partes del proyecto/ 9stos captulos desarrollan los si0uientes contenidos"

Captulo 1" 9nunciado y o.1etivos del proyecto' especi3icaciones del reproductor y resumen del contenido de la memoria/ Captulo 2" 9stado de la tecnolo0a' donde se relata los inicios del sistema de codi3icacin MP3' los primeros reproductores' las tar1etas de memoria eMistentes' y se da una visin 0eneral del 3uncionamiento de las di3erentes tecnolo0as de las 2ue se compone el dispositivo reali ado/ Captulo 3" 9Mplica el diseo -ardAare del dispositivo desarrolladoR seleccin de componentes' -erramientas utili adas y diseo de cada uno de los mdulos de los 2ue se compone el sistema Falimentacin' microcontrolador' USB' decodi3icador de MP3' pantalla' etc/G/ Captulo 4" Diseo del 3irmAare del microcontrolador/ Se detallan las -erramientas utili adas' las di3erentes li.reras implementadas Fdecodi3icador' tar1eta de memoria' =$!(7' pantalla' USB' 4D3' etc/G y el protocolo de comunicacin desarrollado para el control del reproductor desde una aplicacin en el ordenador/ Captulo 5" Diseo de la aplicacin/ 9Mplicacin de las -erramientas utili adas' y de la aplicacin implementada para el control del reproductor/ Captulo 6" 9stimacin econmica de los costes del proyecto y plani3icacin temporal de ste/ Captulo 7" Conclusiones y valoracin del resultado del proyecto' y posi.les desarrollos y me1oras 3uturas/ Apndice I" Manual de usuario/ Apndice II" 9structura del sistema de arc-ivos =$!(7/ i!liogra"a/

17

2. Estado de la tecnologa
2.1 Contenido
9n este captulo se -ar, una pe2uea eMplicacin de las tecnolo0as utili adas en el presente proyecto/ Primero se -a.lar, de los reproductores MP3 eMistentes' con un resumen de su -istoria y una clasi3icacin se0>n caractersticas/ Despus se eMplicar, el 3uncionamiento de la codi3icacin MP3' con una pe2uea introduccin a su ori0en' los principios psicoac>sticos en los 2ue se .asa y un resumen del al0oritmo de codi3icacin y decodi3icacin del 3ormato/ :os tres si0uientes apartados -acen re3erencia al -ardAare utili ado' el USB como inter3a de comunicacin' las tar1etas de memoria como medio de almacenamiento y el microcontrolador' utili ado para 0o.ernar el sistema/

2.2 Reproductores de MP3


9l 3ormato MP3 -a sido y si0ue siendo el 3ormato de audio m,s eMtendido y el n>mero de reproductores3 2ue se -a desarrollado y comerciali ado es enorme' lo 2ue -ace imposi.le una enumeracin de todos/ Por tanto se -ar, una pe2uea introduccin con los primeros dispositivos capaces de decodi3icar este 3ormato y' posteriormente' una clasi3icacin de los reproductores se0>n di3erentes caractersticas/ 2.2.1 Los primeros decodificadores 9l 3ormato de audio MP9%?( :ayer 3' m,s conocido como MP3 se convirti en est,ndar 4S6O49C a 3inales de (;;(' los primeros e2uipos capaces de reproducirlo 3ueron RacBs de (;SS creados y distri.uidos por =raun-o3er 44S para uso pro3esional' inicialmente se crearon para transmisin de audio de alta calidad por lneas tele3nicas RDS4 y para estaciones de radio/

#magen $.% Primer chip decodificador de MP de Micronas &%''() y tar*eta de PC codificadora &%''+)

9n (;;) Micronas<' un 3a.ricante de circuitos inte0rados' comen el desarrollo 1unto con del 44S el primer c-ip decodi3icador de MP3'el M$S35*8 F4ma0en )/(G' 2ue 3ue
3 Cuando nos re3erimos a reproductores en este teMto -acemos re3erencia a los dispositivos -ardAare capaces de reproducir MP3' salvo 2ue se indi2ue lo contrario Freproductores so3tAare' de DVD' etc/G < Realmente 3ue diseado por 4!! 4ntermetall' ad2uirido por Micronas/

18

presentado en el verano de (;;<' Micronas se encar0 del -ardAare y el 44S desarroll el so3tAare/ Con l se pretenda 2ue el MP3 lle0ase a la electrnica de consumo/ $un2ue todava tardaran unos aos en ser comerciali ados los primeros reproductores no tardaron en desarrollarse los primeros prototipos Fcomo el de la 4ma0en )/)G' al0unos .asados en este c-ip' otros pro0ramados en un DSP 0enrico y otros en PCs de tamao reducido con un reproductor so3tAare K=raunCistL/

#magen $.$ Primer prototipo de un reproductor de MP sin partes mviles &%''()

2.2.1 Los primeros reproductores. $un2ue eMistan inte0rados capaces de decodi3icar el 3ormato MP3 desde (;;< no 3ue -asta (;;+ cuando Sae-an 4n3ormation System' 3a.ricante coreano' comerciali un reproductor port,til' el MPMan =(* distri.uido por 9i0er :a.s F4ma0en )/3 e 4ma0en )/<G/ 9ste primer reproductor utili a el decodi3icador 3a.ricado por Micronas y como almacenamiento una memoria =las- interna de 3) MB Famplia.le a 7< envi,ndolo al 3a.ricanteG en la 2ue se puede almacenar 3* minutos de audio a una calidad e2uivalente a la de un CD de audio/ :a trans3erencia de datos desde el PC a la memoria interna se reali a a travs del puerto paralelo y utili a una .atera interna de @iMC 2ue le otor0a ; -oras de autonoma/ Poco despus este mismo 3a.ricante comerciali el MPMan =)*' un modelo muy similar tam.in con 3)MB de memoria interna pero eMpandi.le otros 3)MB mediante una tar1eta SmartMedia' en este caso el reproductor se alimenta.a mediante una pila $$ 2ue le otor0a () -oras de autonoma/

#magen $. ,eproductor MPMan -%.

#magen $.( #nterior del reproductor MPMan -%.. %. /0P y /1C de Phillips2 $. Controlador del 3C/ de 0amsung2 . Controlador de interfaces de Microchip2 (. /ecodificador MP hardware de Micronas2 4. 515/ flash de 0amsung.

19

$ pesar de ser el primer reproductor en salir al mercado poco meses despus salio el reproductor 2ue 3ue lder en ventas y re0alo por eMcelencia las navidades de ese ao' el Diamon Rio PMP3** F4ma0en )/5 e 4ma0en )/7G/ Su popularidad se de.i a un me1or diseo' una pantalla :CD mayor y unos me1ores controles/ Utili a tam.in el M$S35*8 y posee una memoria interna de 3)MB y' al i0ual 2ue el MPMan =)*' un slot de eMpansin para tar1etas SmartMedia' se conecta al PC mediante un inter3a paralelo propietario y se alimenta mediante una pila $$/ 9n (;;+ ,ecording #ndustry 1ssociation of 1merica demand a Diamond por violacin del 1udio 6ome ,ecording 1ct y lle0 a parali ar la distri.ucin del dispositivo' los 1ueces 3allaron a 3avor de Diamon allanando el camino de los reproductores MP3 port,tiles KMPManRevieAL/

#magen $.4 ,eproductor /iamon ,io PMP ..

#magen $.+ #nterior del reproductor /iamon ,io PMP ..

9l primer reproductor .asado en disco duro 3ue el P#B?(** F4ma0en )/8G diseado por Can%o 9lectronics Co/' :td/ y lan ado a 3inales de (;;;/ =ue distri.uido por Compa2' usa.a como CPUODSP el Motorola 573*; DSP con ()MB de R$M' un inter3a USB (/( y conta.a inicialmente con <'+%B de almacenamiento/ Puede reproducir 3ic-eros de + a 3)*D.itOs a muestreo de <</(DC ' la decodi3icacin MP3 la -ace la misma CPU 2ue 3unciona a 33MC y posee una pantalla :CD de ()+T7< pMeles KP#B(**L/ Poco despus aparecieron otros reproductores de Creative y $rc-os tam.in .asados en disco duro/ 9n ese mismo ao' (;;;' sali al mercado el Mam.o?I F4ma0en )/+G' primer reproductor de MP3 2ue usa.a el CD como almacenamiento y 2ue permite adem,s reproducir CDs de audio/

#magen $.7 ,eproductor con disco duro P89:%.. &%''')

#magen $.; ,eproductor MP de C/s Mam<o:=

20

2.2.2 Clasificacin de los reproductores 9Miste una 0ran cantidad de reproductores de MP3' en pocos aos -an sustituido al AalBman y los reproductores port,tiles de CD al i0ual 2ue los tel3onos mviles incorporan la posi.ilidad de leer este 3ormato/ $ continuacin se reali a una clasi3icacin se0>n las caractersticas de cada uno/ Podramos -acer una primera divisin entre los reproductores creados eMpresamente con ese propsito' como los anali ados en el apartado anterior' y los dispositivos cuyo propsito principal es otro distinto a la reproduccin de audio e incorporan la reproduccin de MP3 como caracterstica adicional/ 9ntre estos >ltimos dispositivos podramos encontrar" !el3onos mviles" inicialmente sur0ieron con la posi.ilidad de reproducir pe2ueos 3ic-eros como tono de llamada y se -an convertidos en autnticos dispositivos multimedia capaces de reproducir audio y vdeo' y con una capacidad de almacenamiento muy elevada 0racias a las tar1etas de memoria/ Reproductores DVD' 2ue al i0ual 2ue los mviles cada ve incorporan m,s variedad de caractersticas' como la posi.ilidad de ver =otoCDs' reproducir vdeos almacenados de 3orma remota por red Fca.leada o noG y en di3erentes 3ormatos/ U por supuesto pueden reproducir audio MP3' esto es as precisamente por2ue la codi3icacin de audio utili ada los VideoCDs es MP9%( :ayer 3' aun2ue en la pr,ctica suelen ser utili ados para este 3in/ @ave0adores %PS' al0unos modelos de alta 0ama tienen la posi.ilidad de reproducir audio y vdeo/ Consolas de vdeo 1ue0os' tanto las de so.remesa como las port,tiles incluyen esta capacidad en sus >ltimos modelos/ 9n 0eneral cual2uier electrodomstico puede tener un reproductor inte0rado' eMisten" neveras F4ma0en )/;G' columnas -idromasa1e' microondas' marcos de 3otos di0itales' etc/

#magen $.' 5evera Centrlpar> de ?hirpool, con reproductor de /@/ y MP

9n cuanto a los dispositivos cuya 3uncin principal es la reproduccin de audio se puede di3erenciar entre los 2ue la reproduccin de MP3 es su caracterstica principal y a2uellos 2ue la incorporan como un soporte m,s de audio 2ue son capaces de reproducir' como los $utoCDs o las cadenas musicales/ Sea cual sea el propsito por el cual un dispositivo tiene la capacidad de reproducir audio MP3 se pueden -acer distintas clasi3icaciones .as,ndonos en sus caractersticas internas' esto es" el soporte de almacenamiento' inter3a de coneMin con el ordenador' la variedad de codi3icaciones de audio admitidas' otras 3uncionalidades' etc/ 21

$dem,s de otras caractersticas menos evidentes como si la decodi3icacin la -ace un inte0rado especi3ico' se reali a mediante un DSP de propsito 0eneral o el reproductor se .asa en un SoC5/ Almacenamiento Dependiendo del almacenamiento utili ado se pueden clasi3icar los dispositivos se0>n utilicen" Memoria interna' en concreto utili an @$@D =las-/ Disco duro/ Un soporte ptico' ya sea CD o DVD/ !ar1etas de memoria Sin almacenamiento' reproduciendo el audio 2ue les lle0a mediante USB' puerto paralelo' et-ernet' etc/

:a mayora de dispositivos actuales creados espec3icamente para la reproduccin de MP3 utili an memoria interna o un disco duro como almacenamiento/ :a venta1a de la memoria interna es 2ue permite -acer dispositivos de menor tamao' mientras 2ue con el disco duro se o.tiene un almacenamiento mayor/ 9l soporte ptico lo utili an los reproductores de CD y DVD 2ue tienen la capacidad de reproducir MP3' las tar1etas de memoria suelen usarse como ampliacin de la capacidad de almacenamiento de los reproductores con memoria interna y los dispositivos sin almacenamiento son los menos comunes/ $dem,s de estos soportes muc-os reproductores disponen de un inter3a USB en el 2ue se puede conectar un dispositivo de almacenamiento masivo' normalmente un pendrive/ Inter"a# @o todos los reproductores disponen de un inter3a de coneMin al ordenador' esto depende principalmente del tipo de almacenamiento utili ado ya 2ue el inter3a suele usarse para acceder a la memoria y trans3erirle los arc-ivos MP3/ :os dispositivos 2ue suelen disponer de inter3a de coneMin son a2uellos 2ue utili an memoria interna o disco duro' mientras 2ue los 2ue utili an como medio de almacenamiento un soporte ptico no suelen tenerlos/ :os inter3aces normalmente utili ados son"
Puerto

paralelo' utili ado en los primeros reproductores' al0unos usa.an inter3aces paralelo propietario/ USB' la mayora de los reproductores con memoria interna o disco duro usan este inter3a para poder acceder a la memoria/ =ireAire' aun2ue son pocos eMisten al0unos reproductores 2ue lo utili an/ 9t-ernet' al0unos reproductores de so.remesa pueden conectarse a la red mediante ca.le o de 3orma inal,m.rica' pudiendo reproducir 3ic-eros remotos o radios 2ue emiten por 4nternet/ Sin inter3a de coneMin' como la mayora de los reproductores de CD o DVD/

5 System on a C-ip' es la inclusin de todo un sistema o dispositivo dentro de un circuito inte0rado/ :os sistemas .asados en SoC suelen necesitar tan solo un pe2ueo n>mero de elementos pasivos eMternos/

22

Codi"icaciones soportadas :a codi3icacin de audio m,s utili ada y eMtendida en los reproductores es el MP3 pero eMisten otros 3ormatos con calidades similares o superiores 2ue' cada ve m,s' est,n siendo soportadas por los reproductores/ De -ec-o es muy com>n 2ue las >ltimas versiones de los inte0rados decodi3icadores de MP3 incluyan al0uno de estos otros 3ormatos/ 9ntre los 3ormatos de codi3icacin soportados por los reproductores podemos encontrar adem,s del MP3" Real$udio' es un 3ormato de audio propiedad de Real@etAorBs utili ado principalmente para la retransmisin de audio en tiempo real por 4nternet/ JindoAs Media $udio' es un 3ormato propiedad de Microso3t conocido como JM$' es un competidor directo del MP3 y se0>n Microso3t con una calidad superior a este/ $dem,s este 3ormato posee otras caractersticas como el poder incluir tecnolo0a DRM7 en los 3ic-eros/ !iene una variante de compresin sin perdidas denominada JM$ :ossless/ $$C o $dvanced $udio Codin0' es un 3ormato desarrollado entre varias compaas' entre ellas" Dol.y' =raun-o3er 44S' $!V!' Sony y @oBia/ =ue declarado o3icialmente est,ndar en (;;8 y est, incluido en las especi3icaciones MP9%) parte 8 y MP9%< parte 3 aun2ue se suele -acer re3erencia a ella como MP9%< $$C o simplemente $$C/ Puede incluir DRM pero no es muy com>n/ Vor.is' 3ormato de audio de cdi0o a.ierto sur0ido a partir del anuncio en (;;+ de =raun-o3er %esellsc-a3t de co.rar royaltys por todos los codi3icadores o decodi3icadores de MP3 3uesen 0ratuitos o no/ MusePacB o MPC' otro 3ormato de cdi0o a.ierto especialmente desarrollado para .itrates altos/ =ormatos sin prdida como" $pple :ossless y =:$C/ 6tros 3ormatos menos comunes como" SpeeM' JavPacB' S-orten' etc/ pueden ser reproducidos en un iPod8 cam.i,ndole el 3irmAare por uno no o3icial denominado RocB.oM/

9n la actualidad muc-os reproductores 2ue se comerciali an dicen reproducir MP<' esto en realidad no es del todo cierto ya 2ue el MP< no es una 3ormato de codi3icacin de audio' sino un contenedor multimedia estandari ado como parte del MP9%< FMP9%< parte (<G y se usa como contenedor de audio y vdeo/ :os 3ic-eros de audio con el contenedor MP< suelen usar las eMtensiones /m<a o /mp< y normalmente utili an como codi3icacin $$C o MP3 Faun2ue soporta otrasG/ Por tanto estos reproductores lo 2ue reproducen adem,s del MP3 es el 3ormato $$C/ 6tro 3actor a tener en cuenta respecto a la codi3icacin de audio es 2ue es posi.le 2ue un reproductor no pueda reproducir todos los arc-ivos MP3/ Un arc-ivo con eMtensin /mp3 puede ser en realidad un MP) Fcodi3icado con MP9%( :ayer )G o estar codi3icado con unas tasas de .its o una 3recuencia de muestreo no incluido en el est,ndar +' tam.in es posi.le 2ue el reproductor no ten0a la capacidad de decodi3icar tasas de .its
7 Di0ital Ri0-ts Mana0ement o %estin de derec-os di0itales' -ace re3erencia a un con1unto de tecnolo0as diri0idas al control de los contenidos con el o.1etivo de prote0er los derec-os de autor/ 8 :nea de reproductores port,tiles de 0ran Mito desarrollados por $pple 4nc/ + 9n el est,ndar MP9%) se aadieron nuevas tasas de .its y muestreos' al i0ual 2ue en el est,ndar no o3icial MP9% )/5 creado por =raun-o3er para tasas de .its muy .a1as/

23

altos o no soportar VBR;/ @o o.stante los c-ips decodi3icadores actuales suelen soportar todas estas variantes/ $uncionalidades $dem,s de todas estas clasi3icaciones podemos ordenar los reproductores se0>n ten0an o no al0una 3uncionalidad especi3ica' stas pueden ser muy variadas/ $l0unos e1emplos de estas son" Capacidad de leer 4D3 =uncin de DaraoBe para ver la letra de las canciones/ ConeMin a red y posi.ilidad de reproducir radio por 4nternet/ 6r0ani aciones especiales autom,ticas" por ,l.um' autor' 0nero o ao/ 9tc/

2.2.3 Reproductores no comerciales 9Misten varios reproductores de MP3 no comerciales' al0unos -an sido reali ados como partes de proyectos o tesis y otros por personas con .uenos conocimientos de electrnica 2ue' .as,ndose en otros proyectos' -an decidido construir su propio reproductor Fen estos casos suele ser muy .,sicoG/ De -ec-o eMisten reproductores 2ue sur0ieron como un proyecto personal y -an terminado comerciali ,ndose u otros en los 2ue el autor vende un Bit con todos los componentes y el 3irmAare del microcontrolador para montarlo/ Un e1emplo es el reproductor Uampp?3' .asado en un microcontrolador $tmel y el decodi3icador VS(**(B/ :a mayora de estos reproductores suelen estar controlados por un microcontrolador Flos mas utili ados P4C' $tmel y MotorolaG' un c-ip para la decodi3icacin del audio Fde Micronas' S! microelectronics' V:S4 Solutions o !eMas 4nstrumentsG y como almacenamiento' al i0ual 2ue muc-os comerciales' un disco duro' tar1eta de memoria o CD/ 9l reproductor desarrollado en el presente proyecto implementa 3uncionalidades 2ue no est,n presentes en nin0uno de ellos' como el control total de la reproduccin mediante el puerto USB/ Son pocos los reproductores no comerciales 2ue incluyen coneMin USB' y los 2ue lo -acen lo utili an eMclusivamente para acceder a los arc-ivos almacenados en la memoria/ $dem,s se -a incluido la opcin de reproducir audio en 3ormato MP3 descar0ada en tiempo real de internet Fcomo arc-ivos de Podcast y radioG/

; Varia.le Bit Rate o tasa de .its varia.le' permite 2ue no todo el 3ic-ero este codi3icado con la misma tasa de .its' usando mayores cuando sea necesario y menores cuando no Fcomo en silenciosG/

24

2.3 Formato MP3


9l 3ormato de codi3icacin de audio MP9%( :ayer 3' m,s com>nmente conocido como MP3 de.ido a la eMtensin /mp3 2ue utili an sus arc-ivos' es un al0oritmo de compresin con perdidas diseado para reducir la cantidad de datos necesaria para almacenar audio sin de0radacin aprecia.le del sonido para el odo -umano/

2.3.1

rgenes del !"3

9n (;+8 se 3orma una alian a de investi0acin entre la universidad 9rlan0en? @urem.er0 y el =raun-o3er 4nstitute 3or 4nte0rated Circuits .a1o el marco de un proyecto de la Union 9uropea denominado 9UR9D$ para la radiodi3usin de audio di0ital FD$BG/ 9ste e2uipo de investi0acin cre un codi3icador 3uncional en tiempo real del al0oritmo :C?$!C F:oA CompleMity $daptive !rans3orm Codin0G como .ase de su investi0acin' -asta ese momento el :C?$!C eMista solo como simulacin por ordenador/ 9l sistema -ardAare esta.a compuesto por m>ltiples mdulos DSP y varias tar1etas de entrada y salida de audio y datos/ 9n (;+; Darl-ein Branden.ur0 termina su tesis doctoral so.re el 6C= F6ptimum Codin0 in t-e =re2uency DomainG' 2ue posee un 0ran n>mero de caractersticas 2ue se encuentran en la tecnolo0a MP3' como .anco de 3iltrado de resolucin de alta 3recuencia' cuanti acin no uni3orme' codi3icacin Cu33man y su estructura de in3ormacin/ :a parte so3tAare del sistema de tiempo real es desarrollada por Bern-ard %rill .a1o la supervisin del pro3esor %er-Wuser 2ue lidera el 0rupo de tra.a1o del =raun-o3er 44S/ 9n (;;( una nueva codi3icacin de audio de altas prestaciones denominado $SP9C F$daptive Spectral Perceptual 9ntropy Codin0G es presentada como resultado de di3erentes me1oras del 6C= y con contri.uciones de la universidad de Cannover' $!V! y !-omson/ 9sta codi3icacin se propone como nuevo est,ndar de audio al su.comit MP9% FMovin Picture 9Mperts %roupG' creado en enero de (;++ por 4S6O49C con la 3inalidad de desarrollar est,ndares de compresin de audio y vdeo di0ital/ MP9% reci.i un total de (< propuestas de codi3icacin de audio 2ue son com.inadas 3inalmente en cuatro propuestas entre las 2ue se encuentran incluidas $SP9C y MUS4C$M/ Despus de varias prue.as se su0ieren tres es2uemas de codi3icacin de audio .asados en $SP9C y MUS4C$M" :ayer ( es una variante de MUS4C$M de .a1a comple1idad' :ayer ) es una versin optimi ada de MUS4C$M y :ayer 3 est, .asado en $SP9C/ De.ido a su menor comple1idad :ayer ) es ele0ido como 3ormato de audio para la radiodi3usin de servicios de audio di0ital mientras 2ue $SP9CO:ayer 3' 2ue o3rece una codi3icacin m,s e3iciente al tiempo 2ue una mayor comple1idad' pasa a ser la clave en las transmisiones de audio de alta calidad en las lneas RDS4/ =raun-o3er 44S 3a.rica y vende rac>s a estaciones de radio pro3esionales con su codi3icacin $SP9C de 3orma 2ue la transmisin de audio de alta calidad por RDS4 en tiempo real entre estudios de radiodi3usin 3ue la primera aplicacin real de este al0oritmo de codi3icacin/

25

$l 3in en (;;) MP9% concluye su primer est,ndar de compresin' MP9%(' para el uso en VideoCDs/ 9n la seccin de audio se especi3ican tres 3amilias 0enricas de 3ormatos de codi3icacin F:ayer (' ) y 3G/ Siendo el m,s e3iciente de las tres codi3icaciones :ayer 3 pronto se convierte en una popular manera de almacenar m>sica en los relativamente pe2ueos discos duros de los ordenadores y trans3erir 3ic-eros de m>sica a travs de 4nternet mediante los modems de ordenador de )+/+D.ps/ K=raunCistL

2.3.2 "rincipios psicoac#sticos. :a audicin -umana es un proceso eMtraordinariamente comple1o' 2ue comien a cuando el sonido 0olpea el tmpano y es convertido de variaciones en la presin del aire a impulsos nerviosos/ De a- en adelante la psicolo0a se convierte en 3actor m,s importante para estudiar y anali ar los sonidos' as como las reacciones de las personas ante stos/ :a psicoac>stica puede ser de3inida simplemente como el estudio psicol0ico de la audicin/ 9l o.1etivo de la investi0acin psicoac>stica es averi0uar cmo 3unciona la audicin/ 9n otras pala.ras' el o.1etivo es descu.rir cmo los sonidos 2ue entran en el odo son procesados por ste y el cere.ro' con el 3in de dar a la persona 2ue escuc-a in3ormacin >til acerca del mundo eMterior/KVar0asDu2ue*(L :a mayora de codi3icaciones de audio actuales consi0uen la compresin aprovec-,ndose del -ec-o de 2ue in3ormacin irrelevante de la seal no es detecta.le por el oyente K:a0erstNm*(L/ :os cuatro aspectos m,s relevantes en el desarrollo de codi3icaciones de audio a lo 2ue psicoac>stica se re3iere son" el mnimo um.ral auditivo' las .andas crticas' los enmascaramientos y 1oint stereo/ %nimo um!ral auditi&o ' !andas crticas @uestros r0anos auditivos est,n preparados para sentir slo un ran0o de 3recuencias de vi.raciones de todo el espectro/ Por lo 0eneral los seres -umanos no pueden or 3recuencias por de.a1o de los )*C ni por encima de los )*BC / $dem,s' los -umanos perci.en el ran0o intermedio de 3recuencias me1or 2ue las altas y .a1as 3recuencias F4ma0en )/(* G' y esta sensi.ilidad a altas 3recuencias disminuye con la edad y con la eMposicin prolon0ada a vol>menes altos/ De -ec-o la mayora de los adultos no pueden or por encima de los (7BC / 9l ran0o de mayor sensi.ilidad se encuentra entre los )BC y los <BC -ec-o pro.a.lemente relacionado con la evolucin' ya 2ue la vo -umana se encuentra entre el ran0o de los 5**C y los )BC / KCacBer**L

26

#magen $.%. Am<rales de sensi<ilidad y auditivo B6ac>er..C

(nmascaramiento simult)neo10 9l odo reali a pe2ueos an,lisis de las .andas crticas donde se reali an trans3ormaciones tonotpicas en la mem.rana .asilar((/ :os espectros de ener0a no se representan en una escala de 3recuencias lineal sino en .andas de 3recuencia limitada llamadas .andas crticas F4ma0en )/((G/ 9l sistema de audicin puede descri.ir como un .anco de 3iltros pasa .anda' consistentes en 3iltros pasa .anda 3uertemente solapados con anc-os de .anda del orden de los 5*C a (**C para seales por de.a1o de 5**C y -asta 5BC para seales de 3recuencias altas/

#magen $.%%. 9andas crDticas aproEimadas BPan' C

(* 9nmascaramiento simultaneo o en 3recuencia' depende del autor/ (( !eora del 3uncionamiento del odo interno iniciada por Celm-olt y continuada por BBsy se0>n la cual la ona de mayor estimulacin de la mem.rana .asilar depende de la 3recuencia' es decir 2ue a cada 3recuencia corresponde una posicin espec3ica en la mem.rana .asilar/

27

9l enmascaramiento simult,neo es un 3enmeno del dominio de la 3recuencia donde una seal con nivel .a1o Fla enmascaradaG se -ace inaudi.le FenmascaradaG de.ido a una seal mas 3uerte 2ue ocurre simult,neamente Fla enmascaradoraG' si la enmascarada y la enmascaradora est,n muy cercana la una a la otra en 3recuencia F4ma0en )/()G/ 9ste enmascaramiento es mayor en la .anda crtica en la 2ue se encuentra el enmascarador' y su e3ecto es menor en las .andas vecinas K4999;8L/

#magen $.%$ . Am<ral en silencio y um<ral de enmascaramiento &sonidos por de<a*o de los um<rales de las mascaras no son audi<les) B3agerstFm.%C

(nmascaramiento temporal $dem,s del enmascaramiento simult,neo en el domino de la 3recuencia' el enmascaramiento temporal' tam.in llamado enmascaramiento no simult,neo' 1ue0a un rol importante en la percepcin auditiva -umana en el domino del tiempo/ Cuando dos seales aparecen en un corto intervalo de tiempo la seal m,s 3uerte puede enmascarar a la m,s d.il incluso si la enmascarada precede a la enmascaradora/ Dos e3ectos de enmascaramiento temporal ocurren antes y despus de una seal 3uerte/ Si la seal es enmascarada despus de una seal 3uerte se llama post? enmascaramiento' y si es enmascarada a continuacin se le denomina pre? enmascaramiento/ :os tiempos del pre y post enmascaramiento son di3erentes' la ona de pre?enmascaramiento es aproMimadamente )*ms antes de la seal enmascaradora' y la ona de post?enmascaramiento (7*ms despus KCun0L' como puede verse en la 4ma0en )/(3/

#magen $.% Am<rales de enmascaramiento temporal B6ungC

28

9l pre?enmascarado puede ayudar a enmascarar la aparicin de pre?ecos/ Si se considera el caso en el 2ue un periodo de silencio es se0uido por un sonido de percusin' estos sonidos transitorios causan una 0ran cantidad de errores de cuanti acin instant,neos/ 9stos pre?ecos pueden -acerse audi.les' especialmente con tasas de .it .a1as/ 9l e3ecto de los pre?ecos se puede miti0ar 0racias al e3ecto de pre?enmascarado en el dominio del tiempo si es de corta duracin/ *oint +tereo 9n realidad el #oint Stereo no es un principio psicoac>stico sino una tcnica usada para la compresin de audio estereo3nico aprovec-,ndose de la correlacin entre los dos canales de audio y la irrelevancia de la di3erencia de 3ase entre canales KPan;5L

2.3.3 Introduccin a la compresin de audio !"E$ 12 9l al0oritmo MP9%O$udio consiste en un al0oritmo de compresin de audio con prdidas 2ue se aprovec-a de principios psicoac>sticos de 3orma 2ue no -ayan prdidas aparentes para 2ue al odo -umano' por tanto es perceptualmente sin perdidas/ 9l est,ndar' desarrollado por el su.comit MP9% de 4S6O49C' 3ue el primer al0oritmo de compresin de audio estandari ado/ 9l est,ndar es r0ido >nicamente donde es necesario para ase0urar la interopera.ilidad' espec3ica la sintaMis del 3lu1o de .its codi3icados y de3ine el proceso de decodi3icacin/ 9sto de1a total li.ertad en la implementacin del codi3icador o3reciendo un 0ran potencial de diversidad/ :a codi3icacin MP9%O$udio tiene las si0uientes caractersticas" :a 3recuencia de muestreo puede ser de 3)' <</( o <+BC (3 Soporte para canales de audio/ Soporta uno o dos canales de audio en cuatro posi.les modos" Modo monotnico con un >nico canal de audio/ Modo dual?monotnico con dos canales de audio independientes Modo estreo' con dos canales 2ue comparten .its/ Modo #oint Stereo' 2ue aprovec-a la correlacin entre los canales de audio y la irrelevancia de la di3erencia de 3ase entre canales !asas de .it prede3inidas' el 3lu1o de .its puede utili ar una de las tasas de .it prede3inidas entre los ran0os 3) y ))<B.ps por canal/ $dem,s en est,ndar tiene un modo de tasa de .its li.re para soportar otras tasas de .its di3erentes a las prede3inidas/ Capas de compresin FlayersG' MP9% o3rece tres capas de compresin independientes/ 9sto o3rece un mayor ran0o de compromiso entre comple1idad de la codi3icacin y la calidad del audio comprimido/ :as capas son" :ayer (' la m,s simple/ :ayer )' con una comple1idad intermedia y tasas de .it alrededor de ()+B.ps por canal/ Usado para D$B y VideoCD/ :ayer 3' la m,s comple1a y la 2ue o3rece una mayor calidad de audio' se

() :a eMplicacin de la codi3icacin MP3 se reali a como re3erencia ya 2ue en este caso se -a utili ado un circuito inte0rado para la decodi3icacin MP3/ (3 9n el est,ndar MP9%?) se aadieron las 3recuencias (7' ))'*5 y )<BC para tasas de .it .a1as' y en el est,ndar no o3icial MP9% )/5 se aadieron +/***' ()/*** y ((/*)5C para tasas a>n m,s .a1as/

29

suele usar con tasas de .it de 7<B.ps por canal/ Deteccin de errores' soporta de manera opcional CRC para la deteccin de errores/ Datos complementarios' no utili ados en la decodi3icacin/ 2.3.% &lgoritmo de codificacin !"E$'1 La(er 3 9l al0oritmo de codi3icacin si0ue la estructura 2ue puede verse en la 4ma0en )/(</ :a entrada del codi3icador son datos normalmente codi3icados con PCM y separados en marcos de ((5) muestras/ Cada marco se divide a su ve en dos 0r,nulos de 587 muestras cada uno/ Cada uno de ellos se enva al .anco de 3iltros poli3,sico Fo de an,lisisG y al .lo2ue de trans3ormada de 3ourier r,pida F==!G/

#magen $.%( Estructura de codificacin MP B3agerstFm.%C

anco de "iltros poli")sico 9l .anco de 3iltros divide la seal de entrada en 3) su..andas de 3recuencia del mismo tamao' como puede verse en la 4ma0en )/(5/ :os 3iltros proveen una .uena resolucin temporal con una ra ona.le resolucin en 3recuencia F4ma0en )/(7G/ 9l i0ual tamao de las su..andas no re3le1a el sistema auditivo -umano dependiente de la 3recuencia/ Sin em.ar0o el tamao de las .andas crticas en 3uncin de la 3recuencia es un .uen indicador de su comportamiento/ Muc-os e3ectos psicoac>sticos son constantes con la escala de 3recuencias de una .anda crtica KPan;5L/

#magen $.%4 ,epresentacin del filtro

30

#magen $.%+ 1nchos de <anda del filtro MPEGH1udio vs ancho de las <andas crDticasBPan'4C

,rans"ormaci-n discreta del coseno modi"icada Despus de este proceso las muestras en cada su..anda est,n a>n en el dominio del tiempo/ $ travs de un trans3ormacin discreta del coseno modi3icada FMDC!G' cuya ecuacin puede verse en la 4ma0en )/(8' las muestras de cada su..anda son mapeadas en el dominio de la 3recuencia 2ue provee una me1or resolucin espectral/ 9l uso del procesado MDC! proporciona las si0uientes me1oras" Reduccin del aliasin0 Cuanti acin no uni3orme Bandas 3actor de escala' se aproMima a los tamaos de las .andas crticas/ Codi3icacin de entropa de los valores de los datos

#magen $.%7 Ecuacin de la transformacin M/CI B6ungC

lo.ue $$, $l mismo tiempo el .lo2ue ==! trans3orma los 0r,nulos de 578 muestras al dominio de la 3recuencia mediante una tras3ormada de =ourier/ /m!rales de enmascaramiento :as muestras en el dominio del tiempo procedentes del .lo2ue ==! pasan a travs de un modelo psicoac>stico para determinar la tasa de ener0a de cada um.ral de enmascaramiento para cada su..anda/ 9sto es utili ado por el cuanti ador para determinar cuantos .its son necesarios para codi3icar cada muestra/ !am.in se utili an para determinar si se necesitan cam.ios en las ventanas del .lo2ue MDC!/

31

(scalado ' cuanti#ado :os um.rales de enmascaramiento se usan para determinar iterativamente cuantos .its son necesarios en cada .anda crtica para codi3icar las muestras y por tanto el ruido de cuanti acin no sea audi.le/ %eneralmente el codi3icador tiene 2ue satis3acer unos re2uerimientos de tasa de .its 3i1ados K:a0erstNm*(L/ Codi"icaci-n 0u""man 9n este .lo2ue se reali a una codi3icacin de entropa de las lneas de 3recuencia cuanti adas usando el al0oritmo de codi3icacin Cu33man .asado en 3) ta.las Cu33man/ 9sta codi3icacin reali a una compresin sin prdidas y por tanto reduce la cantidad de datos sin prdida de calidad KCun0L/ $ormateo del "lu1o de !its 9l >ltimo .lo2ue del proceso de codi3icacin se encar0a de producir un 3lu1o de .its 2ue cumpla con MP9%?( :ayer 3/ 9l 3lu1o de .its est, particionado en marcos' cada uno representa ((5) muestras de audio/ Cada marco esta compuesto por las lneas de 3recuencia codi3icadas con Cu33man' in3ormacin secundaria y una ca.ecera del marco F4ma0en )/(+G/

#magen $.%; -ormato del marco MP

Ca.ecera" !iene un tamao de < .ytes y contiene in3ormacin de la capa' la tasa de .its' 3recuencia de muestreo y modo de estreo/ !am.in contiene () .its de sincronismo usado para encontrar un marco dentro de un 3lu1o de .its/ 0ide information o in3ormacin secundaria" Contiene in3ormacin necesaria para la decodi3icacin de los datos principales' como la seleccin de la ta.la Cu33man' 3actor de escalado' etc/ 9sta seccin tiene un tamao de (8 .ytes con canal simple y 3) .ytes en modo de do.le canal/ Datos principales" 9sta seccin contiene los valores de 3actor escalado codi3icados y las lneas de 3recuencia codi3icadas con Cu33man/ 9l tamao depende de la tasa de .its/ Datos auMiliares

:os marcos pueden no ser totalmente independientes entre s de.ido al uso de <it reservoir 2ue es un .u33er o deposito com>n de .its de los 2ue se puede disponer para codi3icacin eMtra F4ma0en )/(;G/ 9sto -ace 2ue los marcos no sean totalmente independientes unos de otros' en el peor de los casos se pueden necesitar ; marcos para empe ar la decodi3icacin/ 9l codi3icador puede donar .its al <it reservoir cuando necesita menos .its 2ue la media de n>mero de .its para codi3icar el marco/ $ su ve cuando el codi3icador necesita m,s n>mero de .its puede tomarlos del <it reservoir/

32

#magen $.%' E*emplo de <it reservoir.

2.3.) &lgoritmo de decodificacin !"E$'1 La(er 3 9l decodi3icador est, compuesto por tres partes principales" decodi3icacin del 3lu1o de .its' cuanti acin inversa y mapeo del tiempo a la 3recuencia F4ma0en )/)*G/ 9l 3lu1o de .its de entrada pasa a travs del primer .lo2ue para sincroni arse' eMtraer las lneas de 3recuencia cuanti adas y la in3ormacin de cada marco/ 9l .lo2ue de cuanti acin inversa decuanti a las lneas de 3recuencia procedentes del .lo2ue anterior/ =inalmente el >ltimo .lo2ue es un con1unto de operaciones inversas del MDC! y el .anco de 3iltros de poli3ase del codi3icador/ :a salida es una seal en 3ormato PCM KCun0L/

#magen $.$. /iagrama de <loques del decodificador MPEG:% 3ayer

2.3.).1 *ecodificacin del flu+o de bits 9ste .lo2ue de decodi3icacin reali a la sincroni acin y eMtraccin de las lneas de 3recuencia cuanti adas y de otra in3ormacin de cada marco/ 9s necesaria la sincroni acin al inicio del marco y donde se encuentran los datos/ 9l dia0rama de este .lo2ue puede verse en la 4ma0en )/)(/

#magen $.$% /iagrama de <loques de la decodificacin del flu*o de datos

33

+incroni#aci-n 9l propsito de este .lo2ue es reci.ir el 3lu1o de datos de entrada' identi3icar el contenido y pasar la in3ormacin a los si0uientes .lo2ues del decodi3icador/ 2ecodi"icaci-n 0u""man 9n este .lo2ue se reali a la decodi3icacin de los .its de cdi0o Cu33man/ De.ido a 2ue el cdi0o Cu33man es de lon0itud varia.le' una >nica pala.ra del cdi0o en medio del los .its del cdi0o no puede ser identi3icada sin empe ar a decodi3icar desde un punto en el cdi0o de .its conocido por ser el principio de la pala.ra del cdi0o/ In"ormaci-n para la decodi"icaci-n 0u""man 9ste .lo2ue sirve para iniciar todos los par,metros necesarios en el .lo2ue de decodi3icacin Cu33man para 2ue la decodi3icacin pueda e3ectuarse correctamente/ :a primera tarea a reali ar es o.tener todas las caractersticas de los .its del cdi0o Cu33man de la in3ormacin secundaria/ 2ecodi"icaci-n del "actor de escalado Decodi3ica los 3actores de escalado' la entrada del .lo2ue es la in3ormacin de los 3actores de escalado y la salida se utili a en el .lo2ue de cuanti acin inversa/ 2.3.).2 Cuanti,acin in-ersa. 9ste .lo2ue resta.lece los datos perceptualmente idnticos de las lneas de 3recuencia 0enerados por el .lo2ue MDC! del codi3icador/ 9l desescalado se .asa en las lneas de 3recuencia cuanti adas y escaladas procedentes de la codi3icacin Cu33man y del 3actor de escalado reconstruido en el .lo2ue de decodi3icacin/ :a ecuacin de desescalado puede verse en la 4ma0en )/))/

#magen $.$$ Ecuacin del calculo de desescalado de las lDneas de frecuencia

2.3.).3 !apeo de la frecuencia al tiempo. 9ste .lo2ue contiene varios su..lo2ues F4ma0en )/)3G para la trans3ormacin de las lneas de 3recuencia decuanti ada en una seal de audio PCM/

34

#magen $.$ /iagrama de <loques del Mapeo de la frecuencia al tiempo

3educci-n del aliasing Dentro del .lo2ue de MDC! del codi3icador se aplican reduccin del aliasin0/ Para o.tener una reconstruccin correcta los arte3actos del aliasin0 de.en ser aadidos de nuevo en el proceso de decodi3icacin %2C, in&erso $ las lneas de 3recuencia procedentes del .lo2ue de reduccin de aliasin0 se le aplica una inversin del MDC!/ :a eMpresin analtica puede verse en la 4ma0en )/)</

#magen $.$( EEpresin analDtica del M/CI inverso.

In&ersi-n de "recuencia +ntesis del !anco de "iltro de poli"ase Cada ve 2ue a las 3) muestras de cada 3) su..andas se le aplica la sntesis del .anco de 3iltro de poli3ase se calculan 3) muestras de audio consecutivas/

35

2.4 Tarjetas de memoria no vol til


:as tar1etas de memoria no vol,til se .asan en memoria 3las-' un tipo de memoria muy utili ada en los >ltimos aos para el almacenamiento de datos en dispositivos port,tiles como reproductores de m>sica' c,maras de 3otos y vdeo' tel3onos mviles' PD$s' etc/ :o 2ue -a -ec-o avan ar muc-o la tecnolo0a -aciendo memorias cada ve m,s r,pidas y .aratas y de tamaos cada ve m,s pe2ueos/

2.%.1 !emorias .las/ :a memoria 3las- es un tipo de memoria 99PR6M Fmemoria de solo lectura pro0rama.le y .orra.le elctricamenteG 2ue permiten el .orrado o la escritura de varias posiciones de memoria en una >nica operacin/ Son .,sicamente memorias de estado slido 2ue permiten el almacenamiento de in3ormacin en ausencia de corriente Fmemorias no vol,tilesG/ 9n las primeras versiones era necesario .orrar todo el c-ip' las posteriores versiones permiten el .orrado individual de .lo2ues m,s pe2ueos/ :a principal venta1a de estas memorias 3rente a otros sistemas de almacenamiento para dispositivos port,tiles es su 0ran capacidad en un espacio muy reducido y muy poco peso/ Por e1emplo' las tar1etas MMC Fmultimedia cardG permiten almacenar' en el tamao de un sello' -asta <%B de in3ormacin' y con un peso 2ue no alcan a los )0/ 6tra caracterstica de este tipo de memorias es su .a1o consumo y alta velocidad de datos/ !odo esto -ace 2ue no solo se utilice este tipo de memorias para tar1etas' sino 2ue se empie an a construir discos duros con este tipo de memoria' consi0uiendo 2ue sean m,s resistentes a condiciones am.ientales duras o a 0olpes 2ue los -acen ideales para al0unos tipos de sistemas/ 9Misten dos tipos de tecnolo0as de memorias =las-' se0>n se .asen en puertas @6R o @$@D' am.as tienen caractersticas di3erentes" :as memorias @6R poseen una alta velocidad de lectura y acceso aleatorio' son capaces de leer y escri.ir datos en una posicin espec3ica de memoria sin necesidad de acceder a la memoria de 3orma secuencial' pueden o.tener un >nico .yte de la memoria/ :as memorias @$@D tam.in pueden leer y escri.ir a alta velocidad pero su acceso es secuencial' accediendo a los datos en pe2ueos .lo2ues o p,0inas/ 9stas memorias pueden acceder a una >nica p,0ina' pero no a un >nico .yte como las @6R/

:as tar1etas de memoria 3las- 2ue se comerciali an -oy en da utili an @$@D 3las-' de.ido a 2ue esta memoria es m,s r,pida en operaciones de .orrado y escritura' y posee m,s densidad y menor coste' puede verse la evolucin de esta tecnolo0a en la 4ma0en )/)< e 4ma0en )/)5/ 9n la !a.la )/( se comparan las tecnolo0as @6R y @$@D/

36

Caracterstica
Capacidad I4PX Velocidad =ia.ilidad

@6R
Casta )57 MB Si Borrados muy lentos 9scrituras lentas :ecturas r,pidas 9st,ndar" !iene pro.lemas de inversin de .its' menos de (*Y 2ue las @$@D (*/*** ? (**/*** Menos de un (*Y 2ue las @$@D $leatorio $lmacenamiento de cdi0o $lmacenamiento de datos F.a1a capacidadG $lto

@$@D
Casta (7%B @o Borrado r,pido 9scritura r,pida :ectura r,pida Ba1a" Re2uiere al0oritmos de deteccin y correccin de errores de.ido a la inversin de .its/ Re2uiere control de sectores errneos (**/*** Z (/***/*** (* veces m,s 2ue las @6R Secuencial $lmacenamiento de datos

Ciclos de .orrado !iempo de vida Mtodo de acceso Uso

Precio

Ba1o

Ia<la $.% /iferencias entre las tecnologDas 5J, y 515/. Ke=ecute #n Place, ha<ilidad de una memoria de permitir la e*ecucin del cdigo que almacena.

#magen $.$( Evolucin prevista de la memoria 515/ flash segLn la capacidad y tipo de aplicacin B0amsungC.

37

#magen $.$4 Evolucin prevista de la memoria 515/ flashsegLn la capacidad, el tamao y la velocidad B0amsungC

2.%.2 0ipos de tar+etas 9Misten varios tipos de tar1etas de memoria' cada una la -a desarrollado una empresa o un 0rupo de empresas/ 9n este apartado se -ar, un pe2ueo resumen de las caractersticas de las m,s importantes/ ,ar1eta Compact$las4 =ue inicialmente especi3icado y producido por SanDisB Corp/ en (;;<' su 3ormato 3sico es utili ado en una 0ran variedad de dispositivos/ 9Misten dos su.divisiones de C=' el tipo 4 y el tipo 44/ 63recen compati.ilidad PCMC4$?$!$ y es 3uncionalmente compati.le con !rue4D9 con $!$O$!$P4?</

#magen $.$+ Iar*eta Compact-lash

38

Sus caractersticas principales son" Conector similar al PCMC4$' pero con 5* pines/ !asas de trans3erencia de -asta 77 MBOs Soporta dos tensiones de alimentacin' 3/3V y 5V $lmacenamiento de -asta (7%B

Son tar1etas 2ue actualmente est,n siendo muy utili adas' tanto en computadores port,tiles como en c,maras de vdeo' por lo 2ue su uso est, muy eMtendido y el precio es relativamente .a1o/ ,ar1eta +mart%edia :a tar1eta SmartMedia F4ma0en )/)8G lan ada en el verano de (;;5 creada por !os-i.a' ori0inalmente llamada Solid State =loppy DisB Card FSS=DCG/ Se utili an en dispositivos de port,tiles' so.re todo en c,maras de 3otos' pero $ctualmente su uso est, poco eMtendido/ =ue respaldada por =u1i y 6lympus' pero am.as la -an sustituido' =u1i se -a pasado a MD y 6lympus a Secure Di0ital/

#magen $.$7 Iar*eta 0martMedia

Sus caractersticas son" !amao reducido F<5/*T38/*T*/87mmG Capacidad limitada F-asta )57MBG !erminales planos con )) pins/ 4nter3a entradaOsalida de + .its Dos versiones' a 3/3V y 5V !asa de trans3erencia de )MBOs

$un2ue este tipo de tar1etas a>n se si0uen 3a.ricando por !os-i.a y Samsun0 est,n en claro retroceso y es previsi.le 2ue en poco tiempo desapare can/ ,ar1eta %emor' +tic5 :a tar1eta Memory SticB F4ma0en )/)+G 3ue lan ada por Sony en octu.re de (;;+' descri.e una 3amilia de tar1etas"

39

6ri0inal Memory SticB Memory SticB Memory SticB Select Memory SticB Ma0ic%ate Memory SticB Select Ma0ic%ate Memory SticB Pro Memory SticB Pro Memory SticB Pro Ci0-?Speed Memory SticB Duo Memory SticB Duo Memory SticB Duo Ma0ic%ate Memory SticB Duo $dapter Memory SticB Pro Duo Memory SticB Pro Duo Memory SticB Pro Duo Ci0- Speed Memory SticB Micro Memory SticB Pro?C%

#magen $.$; Iar*eta Memory 0tic> Pro /uo MagicGate

Se utili an en todo tipo de dispositivos port,tiles' con capacidades de -asta +%B/ Se trata de un 3ormato propietario' por lo 2ue Sony monopoli a este tipo de productos/ Cada tipo de memoria posee unas caractersticas' se0>n las necesidades del dispositivo' como pueden ser mayor capacidad o mayor velocidad de trans3erencia Fen Memory SticB Pro -asta )* MBOsG/ :as tar1etas Ma0ic%ate poseen adem,s un sistema de encriptacin' pensado para el mundo disco0r,3ico' de 3orma 2ue solo puedan ser ledas por dispositivos autori ados/ 9n cuanto a su inter3a ' Memory SticB usa un conector de tan solo (* pines/ De.ido a ser una tar1eta usada casi eMclusivamente por Sony' y la necesidad de cumplir con una licencia -ace complicado el diseo de dispositivos 2ue utilicen este tipo de tar1etas/ ,ar1eta 6278icture 9l 3ormato MD?Picture F4ma0en )/);G 3ue introducido en #ulio de )**) por 6lympus y =u1i3ilm para ser usadas en sus c,maras 3oto0r,3icas di0itales/ 9st, pensada para 2ue sea utili ada eMclusivamente en c,maras di0itales' y -asta el momento se usa eMclusivamente en c,maras 6lympus y =u1i/ 9Misten adem,s' nuevos modelos de tar1eta' llamados [!ipo M\ y [!ipo C\ 2ue no son compati.les con el 3ormato anterior y presentan una capacidad de -asta +%B/

40

#magen $.$' Iar*eta E/:Picture

:as caractersticas de esta tar1eta son" Reducido tamao F)*M)5M(/8mmG !asas de trans3erencia de -asta 5MBOs Capacidad de -asta +%B en MD?Picture !ipo M Uso eMclusivo en c,maras di0itales

,ar1etas %ultimedia Card 9%%C: Desarrolladas por SanDisB y Siemens $% en (;;5' las tar1etas MMC F4ma0en )/3*G -an sido utili adas en una 0ran variedad de dispositivos port,tiles' destacan por su reducido tamao F)< M 3)M (/5mmG/ Una caracterstica muy importante es su compati.ilidad con las tar1etas Secure Di0ital' de -ec-o estas >ltimas aparecieron a partir de las especi3icaciones de la MMC/

#magen $. . Iar*eta Multimedia Card

:as caractersticas principales de estas memorias son" Reducido tamao F)< M 3)M (/5mmG !asas de trans3erencia de -asta 5)MBOs F9speci3icaciones v<G Capacidad de -asta +%B Di3erentes modos de .us" (' < y + .its Ran0o de volta1e de (/75V a 3/7V Fse0>n versionesG Posi.ilidad de proteccin por contrasea Uso de protocolo MMC y SP4 Fpara compati.ilidad con SDG

9Misten 0ran cantidad de variantes de la multimedia card' como secureMMC' RS? MMC' MMCmicro' MMCmo.ile y MMCplus/ Dependientes todas de Multimedia Card $ssociation/ $dem,s' a partir de ella se desarroll la tar1eta secure di0ital' con sus correspondientes variantes/ 9l n>mero de pines va desde los 8 de la multimedia card ori0inal -asta los (< de la tar1eta MMCplus/ 41

,ar1eta +ecure 2igial 9n (;;; Matsus-ita 9lectric' SanDisB y !os-i.a anunciaron un acuerdo de cola.oracin para desarrollar tar1etas de memoria con un sistema de proteccin del copyri0-t para la industria disco0r,3ica/ 9n )*** anunciaron el nuevo est,ndar de tar1eta de memoria 2ue parta del est,ndar de la ya eMistente MMC y era compati.le con esta/ Secure Di0ital est, cu.ierto por una 0ran cantidad de patentes y marcas re0istradas y slo se puede licenciar a travs de la Secure Di0ital Card $ssociation' es necesario licencia para el desarrollo de tar1etas y del -ost FeMcluyendo la comunicacin SP4 compati.le con MMCG/ 9Misten tres versiones pu.licadas del est,ndar de SD y varios 3ormatos 2ue -an aparecido a partir de ella" miniSD y microSD tam.in llamada !rans3las-/ 9n la 4ma0en )/3( puede verse una comparacin de los distintos 3ormatos/

#magen $. % Iar*etas 0/, Mini0/ y Micro0/

:as caractersticas principales de estas memorias son" !amao compati.le con MMC Fson solo al0o m,s 0ruesasG !asas de trans3erencia de -asta )** M.itOs Capacidad con especi3icaciones SDCC +%B F-asta el momentoG Di3erentes modos de .us" ( y < .its Ran0o de volta1e de (/75V a 3/7V Fse0>n versionesG Proteccin de contenidos DRM Fdi0ital ri0-ts mana0ementG/ Uso de protocolo SD y SP4 Fpara compati.ilidad con MMCG

2.! "l inter#a$ de comunicacin %&'


9Misten varios inter3aces de comunicacin usados en la actualidad para la comunicacin entre un peri3rico y un ordenador/ :os inter3aces de comunicacin m,s comunes en un ordenador son" Puerto serie FRS?)3)G Puerto paralelo FCentronicsG USB =ireAire SCS4 Bluetoot

42

9n captulos posteriores de discutir, el por 2u de la eleccin del inter3a USB' podemos resumir 2ue la eleccin se de.e a 2ue todos los ordenadores actuales poseen dic-o inter3a ' a la necesidad de velocidad en las comunicaciones y por ser el m,s utili ado por los peri3ricos actuales/ $ continuacin se reali a una eMposicin de las caractersticas y una pe2uea introduccin al 3uncionamiento del inter3a USB/

2.).1

rgenes del 123

9l USB o Universal Serial Bus F.us serie universalG es un est,ndar de inter3a de comunicaciones entre dispositivos/ =ue desarrollado en (;;7 por 4BM' 4ntel' @ort-ern !elecom' Compa2' Microso3t' Di0ital 92uipment Corporation y @9C/ :a versin (/( sali en septiem.re de (;;+ aadiendo un nuevo tipo de trans3erencia' interrupt Jut/ :as especi3icaciones del USB )/* 3ueron li.eradas en a.ril de )*** y estandari adas por el USB?4=(< en )**(/ :a principal caracterstica de USB )/* es 2ue aade la opcin de una nueva velocidad de trans3erencia' la 6igh 0peed' manteniendo la compati.ilidad con las versiones anteriores/ 9n la actualidad la >ltima versin es el USB )/* con diversas revisiones' como el soporte de USB 6n?t-e?%o 2ue permite 2ue un dispositivo pueda actuar como maestro o como esclavo' y nuevos conectores' el >ltimo es el MicroUSB F4ma0en )/3)G cuyas especi3icaciones 3ueron li.eradas en a.ril de )**8/

4ma0en )/3) !erminales MicroUSB $ y MicroUSB B

2.).2 Caractersticas del 123 :os o.1etivos 2ue se .usca.an durante el diseo del USB 3ueron la 3acilidad de uso' trans3erencias de datos r,pidas y 3ia.les' 3leMi.ilidad' .a1o coste y a-orro de ener0a/ 9l resultado de dic-o desarrollo result en un inter3a con las si0uientes caractersticas" Un inter3a para m>ltiples dispositivos' el inter3a USB es muy vers,til y se puede utili ar para 0ran variedad de dispositivos con caractersticas di3erentes/ Con3i0uracin autom,tica' cuando un peri3rico se conecta al ordenador

(< USB 4mplementers =orum' es una or0ani acin sin ,nimo de lucro 3ormada por varias empresas 2ue promueve el uso del USB/

43

mediante USB el sistema operativo lo detecta y car0a los drivers apropiados/ =,cil coneMin' no es necesario a.rir el ordenador para conectar un peri3rico' las coneMiones son eMternas/ Ca.les sencillos' no se puede conectar mal el conector USB y su ca.le puede ser de -asta 5 metros de lar0o/ Si se utili an concentradores puede -a.er -asta 3* metros entre el peri3rico y el ordenador/ ConeMiones en caliente' no es necesario apa0ar el e2uipo para conectar el peri3rico/ Sin a1ustes del usuario' el usuario no necesita con3i0urar puertos ni interrupciones F4R]G @o se necesitan 3uentes de ener0a' el inter3a proporciona una alimentacin de 5V y corriente de -asta 5**ma/ $dem,s de estas caractersticas de 3acilidad de uso' el USB posee otras prestaciones 2ue lo -acen ser el m,s utili ado en los peri3ricos actuales/ 9n la !a.la )/) se comparan los inter3aces m,s populares/ ;elocidad Permite una transmisin de datos de alta velocidad' en concreto soporta tres velocidades" loA speed a ('5 M.Os' 3ull speed a () M.Os y -i0- speed a <+* M.Os/ @o o.stante el .us de.e transmitir m,s datos adem,s de los usados por el peri3rico como datos de control' estado y c-e2ueo de errores/ 9sto -ace 2ue el caudal e3ectivo para la transmisin de datos sea al0o menor' en concreto la velocidad m,Mima terica sera aproMimadamente" <)< M.Os para -i0- speed' ;'7 M.Os para 3ull speed y 7'< D.Os para loA speed K$Melson*5L/ $ia!ilidad :a 3ia.ilidad se de.e a dos elementos' el -ardAare y los protocolos transmisin/ :os controladores' receptores y ca.les est,n diseados para eliminar mayor cantidad de ruido 2ue causa errores en los datos/ $dem,s' el protocolo transmisiones puede detectar posi.les errores en los datos y noti3icarlo para retransmisin/ 9sto se -ace a nivel de -ardAare y no re2uiere pro0ramacin intervencin del usuario/ a1o coste $ pesar de una mayor comple1idad del USB 2ue la de los inter3aces anteriores' tanto los componentes como los ca.les son .aratos/ Un dispositivo con inter3a USB cuesta casi lo mismo o menos 2ue uno e2uivalente con un inter3a m,s anti0uo/ a1o consumo 9l cdi0o y circuitos de a-orro de ener0a pueden apa0ar autom,ticamente un peri3rico USB cuando no se est, utili ando/ 44 de la de su ni

Comunicaciones sin ca!les 9l USB 3ue ori0inalmente un inter3a ca.leado' pero eMisten diversas opciones actuales para 2ue dispositivos sin ca.les se puedan comunicar con el ordenador mediante USB/
Inter"a# $ormato <= de dispositi&os 9%)6imos: ()8 2istancia 9%)6imo> metros: ;elocidad 9%)6ima> !ps: /so com?n

/+

Serie' asncrona Serie Serie Paralelo Serie in3rarro1os' asncrona Serie' sncrona Serie' sncrona Bucle de corriente Paralelo

5 F-asta ); mG (/5M' ()M' <+*M Ratn' teclado' CD' audio' impresora' otros peri3ricos <++ m ;( m (+ m )m (*% 3/)% +M (7M Red de comunicaciones Vdeo y sistemas de almacenamiento 4nstrumentacin 4mpresoras y PD$s

(t4ernet I(((71394! 9$ire@ire 800: I(((7488 9A8I : Ir2A

(*)< 7< (5 )

I2C %icroBire %I2I 8uerto paralelo 3+7232 3+7485

<* + ) ) F+ con daisy? c-ainG ) 3)

5/5 m 3m (5 m 3?; m

3/<M )M 3(/5B +M

Comunicacin de microcontroladores Comunicacin de microcontroladores M>sica 4mpresoras' esc,neres' unidades de disco/ Mdem' ratn e instrumentacin $d2uisicin de datos y control de sistemas

Serie' asncrona Serie' asncrona Serie' sincrona

(5?3* m ())* m

)*B ? ((5B (*M

+8I

Comunicacin de microcontroladores/ Ia<la $.$ Comparacin de los interfaces m!s populares B1Eelson.4C

3m

)/(M

45

2.).3 0opologa :a topolo0a del .us es una estrella con niveles' en el centro de cada estrella -ay un concentrador y cada punto de la estrella es un dispositivo 2ue se conecta a un puerto en el concentrador' como se o.serva en la 4ma0en )/33/ 9l n>mero de puntos en cada estrella puede variar' un concentrador tiene normalmente )' < o 8 puertos/ 9l USB permite -asta 7 niveles' y en el nivel * FRa o ,ootG se encuentra el Controlador USB 2ue controla todo el tr,3ico de in3ormacin en el .us/ Solo un dispositivo puede comunicarse con el controlador del host a la ve ' por lo 2ue se suelen tener varios controladores de host para incrementar el anc-o de .anda disponi.le/

#magen $.

IopologDa A09 B1Eelson.4C

2.).) 4i-el fsico $ nivel 3sico' el USB utili a un ca.le de < conductores para transmitir una seal di3erencial FD^ y D?G y alimentacin FVBus _ 5V y %@DG por medio de coneMiones punto a punto/ :os dispositivos low speed van o.li0atoriamente e2uipados con un ca.le de lon0itud adecuada F-asta unos 3 m' dependiendo de sus caractersticas elctricasG F4ma0en )/3<G' mientras 2ue los full speed pueden ir e2uipados con un ca.le o utili ar ca.les independientes de -asta 5 m Ftam.in dependiendo de sus caractersticas elctricasG F4ma0en )/35G/

46

#magen $. ( Ca<le para low speedB1nderson.%C

#magen $. 4 Ca<le para full y high speedB1nderson.%C

:a comunicacin es .idireccional y utili a codi3icacin autorelo1 @RP4 Fla lnea cam.ia de nivel si se transmite un * y no cam.ia si transmite un (G con ` <it stuffing` Finsercin de un cero tras la transmisin de 7 unos' para ase0urar transiciones en la lneaG/ :os dispositivos disponen de un transmisor di3erencial' receptores di3erencial y 4O6 y resistencias de terminacin con los 2ue pueden transmitir y detectar varios estados elctricos distintos en la lnea K=u1itsu**L" !ransmisinORecepcin di3erencial de .its" 9stados D4==* y D4==(' denominados tam.in estados # y D/ S9* FSin0le?9nded *G" $m.as seales D^ y D? a *V/ Se utili a para detectar la coneMinOdesconeMin de dispositivos' para indicar el 96P F3in de pa2ueteG y para 0enerar reset/ 4D:9" reposo o lnea en alta impedancia' necesario para permitir trans3erencias semi?d>pleM' detectar la coneMin y desconeMin de dispositivos y discriminar entre dispositivos =S y :S/ 9l S6P Fprincipio de pa2ueteG se indica mediante una transicin 4D:9 a D/ 9l 96P F3in de pa2ueteG se indica mediante una secuencia S9* F) .itsG ^ # F( .itG ^ 4D:9/

2.).5 "rotocolo 9l protocolo de nivel 3sico se .asa en to>ens Ftesti0osG/ 9l controlador USB transmite to>ens 2ue incluyen la direccin del dispositivo destino' y el dispositivo 2ue detecta su direccin en el toBen responde y lleva a ca.o la trans3erencia de datos con el controlador/ De esta manera' el Controlador USB mane1a la parte m,s comple1a del protocolo' 0enerando los to>ens de trans3erencias de datos a <+* M.ps' () M.ps o a ('5 M.ps' y controlando la coneMin l0ica entre el sistema y las 3unciones internas de cada dispositivo/ 9l controlador USB tam.in mane1a el consumo en el .us a travs de las 3unciones SuspenderOContinuar' por medio de las cuales controla los modos ReposoO$ctivo de los dispositivos/ 9sta ar2uitectura permite el diseo de dispositivos eMtremadamente simples y de .a1o coste/ USB divide el tiempo en espacios de ( ms denominados marcos' durante las cuales se llevan a ca.o las comunicaciones a travs de !ransacciones' las cuales se componen a su ve de Pa2uetes/ 9Misten tres tipos de pa2uetes" !oBen' Dato y Validacin FCands-aBeG" 47

9l pa2uete !oBen contiene los campos" P4D Fidenti3ica el tipo de pa2ueteG/ !odos los P4Ds van prote0idos por .its redundantes' Direccin del elemento destino F8 .its de dispositivo ^ < .its de elemento interno al dispositivoG' y CRC/ Cada pa2uete del tipo Dato se compone de los campos" P4D' Datos' y CRC/ $l 3inal de la transaccin se enva un pa2uete de Validacin indicando 2ue no -a -a.ido errores/

$dicionalmente' el Controlador USB indica el principio de cada !rama y la transmisin -acia dispositivos loA speed mediante toBens especiales K=u1itsu**L/ 2.).6 0ipos de transferencias en 123 2.7 9l inter3a USB 3ue diseado para ser usado por una 0ran cantidad de peri3ricos distintos con distintos re2uerimientos en cuanto a tasa de trans3erencia' tiempo de respuesta y correccin de errores/ Por tanto se -an de3inido cuatro tipos de trans3erencia F!a.la )/3G para dar servicio a las di3erentes necesidades 2ue puedan tener los peri3ricos/ :os tipos de trans3erencia son" Control :as trans3erencias de control son las >nicas de tienen 3unciones de3inidas en las especi3icaciones USB/ :as trans3erencias de control permiten al host%4 leer in3ormacin so.re el dispositivo' 3i1ar su direccin y seleccionar otras con3i0uraciones y opciones/ !odos los dispositivos USB de.en soportar las trans3erencias de control/ %asi&a :as trans3erencias masivas se utili an cuando la tasa de trans3erencia no es crucial' como enviar un 3ic-ero a la impresora' reci.ir datos de un escaner o acceder a 3ic-eros en un disco/ Para este tipo de trans3erencias tener una r,pida tasa de trans3erencia es .ueno' pero se puede esperar si es necesario en el caso de 2ue el .us est ocupado/ Si el .us est, li.re las trans3erencias masivas son muy r,pidas/ Solo los dispositivos full y high speed pueden reali ar este tipo de trans3erencias Interrupci-n :as trans3erencias de interrupcin son para a2uellos dispositivos 2ue necesitan la atencin del host peridicamente/ 9ste tipo de trans3erencia solo est,n en los dispositivos loA speed/ Se usa para teclados' ratones' etc/

(5 Dispositivo maestro 2ue inicia la comunicacin' 0eneralmente el ordenador/

48

Is-crona :as trans3erencias iscronas tienen 0aranti ado el tiempo de entre0a de los datos pero no la correccin de errores/ Se utili a para la transmisin de vdeo y audio en tiempo real/ 9sta trans3erencia es la >nica 2ue no soporta retransmisin autom,tica de los datos reci.idos con errores ya 2ue errores ocasionales son acepta.les/ Solo los dispositivos full speed y high speed tienen este tipo de trans3erencia/

,ipo de trans"erencia /so com?n

Control 4denti3icacin y con3i0uracin Si Si (5/+8)

%asi&a 4mpresoras' escaneres y discos @o @o 53/)<+

Interrupci-n Ratones' teclados @o Si )</587

Is-crona =lu1o de audio y vdeo @o @o )</587

<ecesario 8ermite !a1a &elocidad 'tesCmilisegundos de datos por trans"erenciaD %)6imo posi!le por tu!era 9high speed:E 'tesCmilisegundos de datos por trans"erenciaD %)6imo posi!le por tu!era 9low speed:E 'tesCmilisegundos de datos por trans"erenciaD %)6imo posi!le por tu!era 9low speed:E 2irecci-n del "lu1o de datos

+3)

)((7

7<

(*)3

)<

@o permitida

*'+

@o permitida

9ntrada y salida 9ntrada o salida 9ntrada o salida FUSB (/* solo entradaG (*Y en lowHfull speed' )*Y en high speed Si Mensa1e @o @o @in0uno

9ntrada o salida

Anc4o de !anda reser&ado para todas las trans"erencias del tipo Correcci-n de errores %ensa1es o "lu1os de datos ,iempo de entrega garanti#ado Fatencia garanti#ada 9m)6imo tiempo entre trans"erencias:

;*Y en lowHfull speed' +*Y en high speed Fcom.inando iscrona e interrupcinG Si =lu1o @o Si @o =lu1o Si Si

Si =lu1o @o @o

X$sume 2ue las trans3erencias utili an el tamao m,Mimo de pa2uete/ Ia<la $. Comparacin de los tipos de transferencia B1Eelson.4C

49

2.( Microcontroladores.
2.5.1 *efinicin ( caractersticas Un controlador el dispositivo 2ue se emplea para 0o.ernar de uno o varios procesos/ $un2ue el concepto de controlador -a permanecido invaria.le a travs del tiempo' su implementacin 3sica -a variado 3recuentemente/ 4nicialmente los controladores se construan eMclusivamente con componentes de l0ica discreta' posteriormente se emplearon los microprocesadores' 2ue se rodea.an con c-ips de memoria y unidades de 9OS so.re una tar1eta de circuito impreso/ $ctualmente todos los elementos del controlador se -an podido incluir en un circuito inte0rado 2ue reci.e el nom.re de microcontrolador/ 9l microcontrolador es un circuito inte0rado 2ue incorpora la mayor parte de los elementos 2ue con3i0uran un controlador/ $un2ue sus prestaciones son limitadas' adem,s de dic-a inte0racin' su caracterstica principal es su alto nivel de especiali acin/ Un microcontrolador dispone normalmente de los si0uientes componentes" Procesador o CPU FUnidad Central de ProcesoG/ Memoria R$M para Contener los datos/ Memoria R6MOPR6MO9PR6M para almacenar el pro0rama/ Diversos mdulos para el control de peri3ricos " !empori adores 4nter3aces U$R!' SP4' 4)C' USB' etc/ Conversores $nal0icoODi0ital y Di0italO$nal0ico Jatc-do0 Comparadores anal0icos Modulador de anc-ura de pulsos PJM Puertas de 9OS di0itales de propsito 0eneral %enerador de impulsos de relo1 2ue sincroni an el 3uncionamiento de todo el sistema' aun2ue muc-os utili an un relo1 eMterno/

:as principales microcontroladores son"


venta1as

2ue

se

pueden

encontrar

con

el

uso

de

%estin e3iciente de procesos/ $umento de 3ia.ilidad/ Reduccin del tamao' consumo y coste/ Mayor 3leMi.ilidad/ 9Miste una 0ran diversidad de microcontroladores' la clasi3icacin m,s importante 2ue se puede reali ar es se0>n sean de <' +' (7 o 3) .its/ :os microcontroladores m,s utili ados -oy en da son los de + .its ya 2ue son apropiados para la mayora de aplicaciones/ @o o.stante los microcontroladores de (7 y 3) .its van 0anando terreno a medida 2ue las aplicaciones se van -aciendo m,s comple1as/

50

2.5.2 2eleccin del microcontrolador $ la -ora de esco0er el microcontrolador a emplear en un diseo concreto -ay 2ue tener en cuenta multitud de 3actores' como la documentacin y -erramientas de desarrollo disponi.les y su precio' la cantidad de 3a.ricantes 2ue lo producen y por supuesto las caractersticas del microcontrolador Ftipo de memoria de pro0rama' n>mero de tempori adores' interrupciones' etc/G :as caractersticas principales a tener en cuenta en la eleccin de un microcontrolador son" Procesamiento de datos" puede ser necesario 2ue el microcontrolador realice c,lculos crticos en un tiempo limitado/ 9n ese caso de.emos ase0urarnos de seleccionar un dispositivo su3icientemente r,pido para ello/ Por otro lado' -a.r, 2ue tener en cuenta la precisin de los datos a mane1ar" si no es su3iciente con un microcontrolador de + .its' puede ser necesario acudir a microcontroladores de (7 3) .its/ 9ntrada Salida" Reali ar un an,lisis de las lneas re2ueridas de entradaOsalida/ Consumo" muc-as aplicaciones utili an .ateras y un consumo .a1o es un 3actor muy importante/ Memoria" de.emos reali ar una estimacin de la cantidad de memoria' tanto de R$M como R6M' necesaria para nuestra aplicacin/ $nc-o de pala.ra" se de.e seleccionar el microcontrolador de menor anc-o de pala.ra 2ue satis3a0a los re2uerimientos de la aplicacin/ Usar un microcontrolador de < .its supondr, una reduccin en los costes importante' mientras 2ue uno de + .its puede ser el m,s adecuado si el anc-o de los datos es de un .yte/ :os microcontroladores de (7 y 3) .its' de.ido a su elevado coste' de.en reservarse para aplicaciones 2ue re2uieran sus altas prestaciones/ Diseo de la placa" la seleccin de un microcontrolador concreto condicionar, el diseo de la placa de circuitos/ De.e tenerse en cuenta 2ue 2ui , usar un microcontrolador .arato encare ca el resto de componentes del diseo/

2.5.3 &plicaciones Cada ve eMisten m,s productos 2ue incorporan un microcontrolador con el 3in de aumentar sustancialmente sus prestaciones' reducir su tamao y coste' me1orar su 3ia.ilidad y disminuir el consumo/ :os microcontroladores est,n siendo empleados en multitud de sistemas presentes en nuestra vida diaria' como pueden ser 1u0uetes' -ornos microondas' 3ri0or3icos' televisores' ordenadores' impresoras' mdems' el sistema de arran2ue de nuestro coc-e' etc/ U otras aplicaciones al0o menos comunes como instrumentacin electrnica' control de sistemas en una nave espacial' etc/ Una aplicacin tpica podra emplear varios microcontroladores para controlar pe2ueas partes del sistema/ 9stos pe2ueos controladores podran comunicarse entre ellos y con un procesador central' pro.a.lemente m,s potente' para compartir la in3ormacin y coordinar sus acciones K$0uayo*<L/

51

3. *ise8o ( desarrollo del /ard9are


3.1 )ntroduccin
Una de las partes m,s importantes en la creacin de un peri3rico es el diseo del -ardAare ya 2ue condiciona el desarrollo del 3irmAare' las caractersticas 3inales del dispositivo y su coste/ Primero se va -a reali ar una seleccin de componentes y de las -erramientas utili adas para el diseo' la creacin y el testeo del -ardAare/ Una ve seleccionados los componentes principales se reali a una eMposicin del diseo del dispositivo dividido en mdulos m,s simples/ $l 3inal se eMplican los pro.lemas sur0idos durante la implementacin del dispositivo y las modi3icaciones reali adas al diseo 3inal/

3.2 &eleccin de componentes


Como se -a dic-o una de las partes m,s importantes en la creacin de un peri3rico es el diseo del -ardAare' y en este diseo la primera tarea es la seleccin de unos componentes adecuados/ 9n esta seleccin de componentes se van a tener diversos 3actores en cuenta" Cumplir los re2uisitos para la reali acin de la aplicacin 2ue se 2uiere disear es el primer y m,s importante 3actor a tener en cuenta/ Simplicidad' una ve seleccionados a2uellos elementos componentes 2ue cumplan los re2uisitos se -an de seleccionar a2uellos 2ue posean una mayor simplicidad' ya 2ue comple1idad eMtra no aporta nada/ 9n cuanto a la simplicidad los elementos 2ue se eval>an son" Protocolos de comunicacin simples/ Mnimo n>mero de componentes' tanto de circuitos inte0rados como de elementos pasivos/ 9ncapsulados de 3,cil soldadura' ya 2ue la soldadura se reali ar, a mano/ =,ciles de conse0uir y econmicos' se descartar,n a2uellos componentes 2ue sean de muy di3cil o.tencin/

:o primero por tanto ser, recordar los re2uisitos del reproductor y ver como a3ectan al diseo/ De.e ser un reproductor alimentado por pilas' capa de reproducir MP3 y con coneMin al ordenador su3icientemente r,pida como para 2ue pueda reproducir un 3ic-ero enviado en tiempo real Fen nuestro caso -emos ele0ido el USB 2ue adem,s permite la car0a de pilasG' de.e almacenar los 3ic-eros en un tar1eta de memoria y mostrar los datos en una pantalla/ Por tanto el dispositivo se compondr, de" Un microcontrolador para 0o.ernarlo/ Un inte0rado 2ue se encar0ue de decodi3icar el MP3/ Con conversor DO$ y' si es necesario' un pe2ueo ampli3icador para la salida de audio/ Un inte0rado 2ue se encar0ue de la comunicacin USB si el microcontrolador no incorpora este inter3a / Una tar1eta de memoria' donde se almacenar,n los 3ic-eros/

52

Una pantalla :CD para mostrar los datos/ Un re0ulador de tensin para alimentar al circuito a partir de las pilas/

3.2.1 El microcontrolador :o primero 2ue se -a de reali ar es seleccionar entre un microcontrolador de +' (7 o 3) .its Flos de < parecen claramente insu3icientesG/ Como de.emos seleccionar a2uel m,s simple 2ue cumpla con los re2uisitos se decide usar uno de + .its' ya 2ue tienen unas prestaciones su3icientes para implementar el control del reproductor/ 9l microcontrolador ser, el responsa.le de leer los 3ic-eros de la tar1eta de memoria' enviar el 3lu1o de datos al c-ip decodi3icador de MP3' de la comunicacin con el ordenador' de controlar la .otonera y de re3rescar los datos en la pantalla :CD/ :os principales microcontroladores 2ue se -an considerado son la 3amilia $!Me0a de $tmel ' P4C de Microc-ip y Motorola/ :os pros y contras 2ue se -an encontrado para cada uno son" :os microcontroladores P4C de microc-ip soportan un amplio ran0o de volta1es' son r,pidos pero al0o menos 2ue los m,s r,pidos de $tmel o Motorola' son econmicos y 3,ciles de conse0uir' poseen 0ran variedad de inter3aces de comunicacin' como el SP4' utili ado en al0unas tar1etas de memoria/ $dem,s su len0ua1e ensam.lador me es conocido y eMiste 0ran cantidad de documentacin disponi.le/ :os microcontroladores Motorola tam.in son r,pidos y poseen 0ran variedad de inter3aces' pero no son tan econmicos y 3,ciles de conse0uir como los P4C de Microc-ip' no tienen un ran0o de volta1es tan 3leMi.le y no eMiste tanta documentacin' e1emplos y -erramientas como en los P4C o los microcontroladores $tmel/ :os $!Me0a de $tmel son r,pidos' poseen 0ran variedad de inter3aces' un amplio ran0o de volta1es' 0ran cantidad de R$M' son econmicos y 3,ciles de conse0uir/

!anto los microcontroladores P4C como los $!Me0a parecen los m,s apropiados/ :os $!Me0a son al0o m,s potentes y poseen mayor cantidad de R6M y R$M' pero los P4C poseen un len0ua1e ensam.lador y ar2uitectura conocida' ya 2ue se -an estudiado y utili ado durante la carrera' ello disminuye en 0ran medida el coste de aprendi a1e por lo 2ue 3inalmente se selecciona este tipo de microcontrolador/ :os re2uisitos para el microcontrolador son" $l menos (7 DB de memoria =las- para el cdi0o de pro0rama/ $l menos (DB de memoria R$M' es necesaria al menos esa cantidad de memoria ya 2ue las lecturas y escrituras de tar1etas de memoria suelen ser en .lo2ues de 5() .ytes/ Poseer memoria 99PR6M para almacenar in3ormacin no vol,til como el volumen actual/ Como la cantidad de datos a 0uardar es muy .a1a son su3icientes unos pocos .ytes/ Poseer su3icientes lneas de entradaOsalida para la coneMin de todos los elementos del dispositivo' esto depender, del resto de elementos seleccionado/

53

9ntre los microcontroladores P4C de + .its podemos encontrar cuatro 3amilias principales' las P4C(*' P4C()' P4C(7 y P4C(+/ !an slo los microcontroladores de la 3amilia P4C(+ poseen los re2uisitos necesarios' ya 2ue nin0uno de los microcontroladores del resto de las 3amilias poseen la su3iciente memoria =las- y R$M/ 9l microcontrolador ele0ido -a sido el (+=<5)(7 ya 2ue es uno de los m,s potentes de la 3amilia P4C(+ y los microcontroladores P4C con .us USB incorporado no est,n disponi.les con memoria =las-(8/ 9n la !a.la 3/( puede verse una comparativa de las caractersticas de la 3amilia (+=MM)/ 9l microcontrolador (+=<5) en cuestin tiene las si0uientes caractersticas" 3)BB de memoria =las- para el cdi0o del pro0rama/ (537 Bytes de memoria R$M/ )57 Bytes de memoria 99PR6M/ =recuencia de relo1 de -asta <*MC F(* M4PSG usando multiplicador de relo1/ Multiplicacin por -ardAare en un >nico ciclo de instruccin/ 3 lneas de interrupcin/ 3< lneas de entradaOsalida/ < tempori adoresOcontadores' con di3erentes caractersticas como ser de + o (7 .its' tener preescalador' etc/ (+ ) mdulos CCP FCapturadorOComparadorOPJM G Modulo MSSP FPuerto serie maestro sncronoG con dos modos de operacin" Como puerto SP4 Fsoporta los < modos SP4G Como puerto 4)C Fmodo maestro y esclavoG Modulo US$R! F!ransmisor?Receptor asncrono universalG Modulo PSP Fpuerto paralelo esclavoG Conversor anal0icoOdi0ital de (* .its/ 6tras caractersticas como" ?atchdog Iimer FJD!G' 9rown:out ,eset FB6RG' Power:on ,eset FP6RG' Power:up Iimer FPJR!G' Jscillator 0tart:up Iimer F6S!G' 4CSP' etc/

(7 $ctualmente para nuevos diseos Microc-ip recomienda usar el P4C (+=<5)*/ (8 $ctualmente -ay microcontroladores P4C con inter3a USB y memoria =las-' pero no -a.a en el momento de la eleccin de componentes de este proyecto/ (+ Modulador de anc-ura de pulsos/

54

Ia<la .% CaracterDsticas de la familia %;-EE$

9n concreto se va a usar el P4C (+:=<5) 2ue es la versin de .a1o volta1e ya 2ue' como se ver, posteriormente' se va a utili ar un volta1e de 3'3 V para alimentarlo de.ido a las necesidades del resto de componentes/ 9n cuanto a la 3recuencia del relo1 se utili ar, la m,s .a1a posi.le 2ue sea su3iciente para el 3uncionamiento correcto del dispositivo' despus de reali ar varias prue.as se -a decidido utili ar una 3recuencia de )* M- ' adem,s no se de.en usar 3recuencias mayores con volta1es tan .a1os' pese a ser la versin de .a1o volta1e/ 9n cuanto al encapsulado se decide utili ar el encapsulado D4P ya 2ue es m,s adecuado para prototipos al no necesitar estar soldado pudiendo ser sustituidos 3,cilmente' y sus adaptadores son econmicos y 3,ciles de encontrar/

3.2.2 El mdulo 123 Como se -a indicado en el apartado anterior el microcontrolador no posee un inter3a USB por lo 2ue necesitamos un inte0rado 2ue proporcione esta 3uncionalidad/ :as caractersticas de este inte0rado de.en ser" 4nter3a sencillo para 3acilitar la comunicacin con el microcontrolador Mnimo n>mero de componentes eMternos/ ]ue sea un componente 3,cil de conse0uir/ Ca de poseer drivers para AindoAs y a ser posi.le para otros sistemas operativos' con e1emplos de su utili acin/

:os inte0rados considerados para esta 3uncin -an sido el PD4USBD()D de P-ilips y de =!D4 C-ip los inte0rados =!)3)MB y =!)<5MB' todos compati.les con USB )/*/ :as caractersticas de cada uno se pueden ver en la ta.la comparativa 3/)/ 55

PD4USBD()D Comunicacin con el microcontrolador @>mero de pines Velocidad de trans3erencia MaM/con el microcontrolador Cantidad de componentes eMternos 6.tencin =leMi.ilidad Paralelo F+ .itsG )+ ) MBOs

=!)3)BM Serie FRS?)3)G 3) ( M.itOs

=!)<5BM Paralelo F+ BitsG 3) ( MBOs

Ba1a Relativamente di3cil $lta Fse pueden disear 0ran variedad de dispositivosG

Ba1a =,cil Ba1a

Ba1a =,cil Ba1a

Sistemas 6perativos y De.es crear tus propios /rives /rivers

!iene di3erentes drivers o3iciales para varios sistemas operativos" JindoAs F;+O)***OM9OIPOVista///G' :inuM y M$C 6S F+O;OIG Ba1a Ba1a

Comple1idad de utili acin Cantidad de documentacin y e1emplos de uso

$lta

Ba1a

$lta

$lta Si

Mdulo para @o Si prototipos Ia<la .$ Comparacin de diferentes integrados para el interfaz A09

9l inte0rado PD4USBD()D tiene la venta1a de ser m,s 3leMi.le 2ue los de =!D4' pudindose reali ar casi cual2uier tipo de clase de dispositivo e implementando el driver a medida/ Por contra es muc-o m,s complicado de utili ar y la necesidad de implementacin de drivers propios -ace muc-o m,s costosa la reali acin del dispositivo/ :os inte0rados de =!D4 son muc-o m,s simples y cmodos de usar pero menos 3leMi.les' sin em.ar0o para el diseo de este dispositivo es su3iciente' no compensando la 3leMi.ilidad 2ue aporta el inte0rado de P-ilips su comple1idad/ Por tanto 2ueda ele0ir entre los dos inte0rados de =!D4/ $m.os son muy similares entre s' su principal di3erencia es el inter3a de comunicacin con el microcontrolador' uno serie y el otro paralelo' siendo m,s r,pido este >ltimo/ :a mayor rapide en las trans3erencias del inte0rado con inter3a paralelo F=!)<5BMG y la mayor 3acilidad de uso con respecto al desarrollado por P-ilips -acen 2ue sea el ele0ido para usarse en este dispositivo/ Ca.e destacar otra importante caracterstica de los modelos de =!D4' am.os cuentan con mdulos para el desarrollo de prototipos de 3orma m,s r,pida sin necesidad de preocuparse de los componentes eMternos necesarios ni de la soldadura del inte0rado F.astante comple1a de reali ar a manoG' ya 2ue todo est, montado en un pe2ueo circuito en 3ormato D4P/ 9n concreto se va a utili ar el modulo D:P?USB)<5M?% 2ue monta el inte0rado =!)<5BM' puede verse en la 4ma0en 3/3/

56

#magen . Mdulo /3P:A09$(4M:G

3.2.3 La tar+eta de memoria Para almacenar los 3ic-eros en 3ormato MP3 se va a utili ar una tar1eta de memoria' 2ue el microcontrolador se encar0ar, de leer y enviar los datos al c-ip decodi3icador de MP3/ 9n el captulo anterior se mostra.an las caractersticas de las principales tar1etas de memoria del mercado' de entre ellas las m,s utili adas -oy en da y por tanto las 2ue se van a considerar son las tar1etas" Compact -lash' Multimedia Card &MMC) y 0ecure /igital &0/)/ 9n la !a.la 3/< podemos ver una comparativa de al0unas caractersticas de estos tres tipos de tar1etas/

Compact =las@>mero de pines !amao .us de datos Velocidad de trans3erencia Modo SP4 :icencia para -acer un dispositivo $limentacin 5* (7 .its 57 MBytesOs @o @o

Multimedia Card 8 ( .it )* M.itsOs 6pcional @o

Secure Di0ital ; ( o < .its )** M.itOs Si Si )'8 Z 3'7 V

3'3 Z 5 V )'8 Z 3'7 V Ia<la .( Comparacin de tar*etas de memoria

:a desventa1a principal de las tar1etas Compact =las- 3rente a los otros dos tipos es el elevado n>mero de pines' ya 2ue el n>mero de puertas de entradaOsalida del microcontrolador es limitado/ Por contra tanto las tar1etas MMC como SD tienen un n>mero de pines muy reducido y la posi.ilidad de acceder mediante el protocolo SP4' 2ue est, implementado por -ardAare en el microcontrolador/ $dem,s' las tar1etas MMC y SD son compati.les entre s' tanto 3sica como elctricamente' por tanto un dispositivo 2ue utilice el modo SP4 en una tar1eta MMC podr, utili ar tar1etas SD y viceversa/ De.ido a 2ue es necesario el pa0o de una licencia para implementar un dispositivo 2ue utilice tar1etas SD Fal menos si usan el protocolo SDG en este proyecto se utili ar, como medio de almacenamiento tar1etas MMC 2ue incorporen el modo SP4 Factualmente todas las tar1etas 2ue se comerciali an incorporan este modo de accesoG/ $dem,s' en el reproductor se podr, utili ar tar1etas SD y' mediante adaptadores' tar1etas RS?MMC' MMCmicro' miniSD y microSD/

57

3.2.% El c/ip decodificador de !"3 Para la reproduccin del audio en 3ormato MP3 es necesario un c-ip 2ue decodi3i2ue los datos MP3' un conversor di0italOanal0ico y un pe2ueo ampli3icador para 2ue la seal anal0ica pueda escuc-arse en unos auriculares/ :os c-ips decodi3icadores candidatos anali ados son" S!$*(3 de S! Microelectronics' VS(**(D de V:S4 Solutions y M$S35*8D de Micronas/ 9n la !a.la 3/5 se puede ver una comparacin de estos decodi3icadores/

S!$*(3 @>mero de pines @ecesita iniciali acin 4n3ormacin disponi.le 4ncluye conversor $OD !ensin de alimentacin Comunicacin )+ Si Poca @o )'(?3'7v

VS(**(D )+ @o Muc-a Si )'+?3'7v

M$S35*8D << @o Poca @o )'+5?3'7v 4)C

4)C SP4 Ia<la .4 Comparacin de decodificadores de MP .

9l decodi3icador S!$*(3 tiene la principal desventa1a en su iniciali acin' ya 2ue es necesario el envo de un 3ic-ero de ) BB cada ve 2ue se inicia' lo 2ue -ace m,s comple1a su utili acin y el uso de ) BB de memoria del microcontrolador es este 3ic-ero de iniciali acin/ 9n cuanto a la in3ormacin disponi.le para el diseo el VS(**(D' adem,s de disponer de las especi3icaciones' eMisten varias application notes y un .uen soporte del 3a.ricante Fse pueden -acer consultas a los diseadores en un 3oroG lo 2ue -ace el diseo de dispositivos m,s sencillo/ $dem,s' este decodi3icador no necesita un conversor anal0icoOdi0ital eMterno' ya 2ue lo incluye en el propio inte0rado' y con una seal de salida su3iciente para ser usada directamente en unos auriculares/ 9l decodi3icador M$S35*8D tiene la desventa1a de usar un encapsulado m,s di3cil de soldar 2ue el resto' menos in3ormacin disponi.le y con la necesidad de un conversor $OD eMterno/ 9s por todo esto 2ue se decide utili ar el decodi3icador VS(**(D en este proyecto/

3.2.) La pantalla LC* Como inter3a de usuario se va a utili ar una .otonera y una pantalla :CD en la 2ue se le mostrar, al usuario in3ormacin so.re las m>sica 2ue est, escuc-ando' as como tam.in se 3acilitar, la nave0acin por el ,r.ol de directorios de la tar1eta de memoria/ 9Misten dos tipos principales de pantallas' las pantallas de caracteres y las pantallas 0r,3icas/ :as venta1as de las pantallas de caracteres son la 3acilidad para ad2uirirlas' utili an un inter3a est,ndar(;' eMiste muc-a documentacin so.re su uso e incluyen un mapa de caracteres interno' aun2ue tam.in admiten caracteres de3inidos por el usuario/ :as principales desventa1as son el n>mero de pines necesarios F(< 3uncionando en modo de + .its y (* en modo < .itsG y menos versatilidad 2ue una pantalla 0r,3ica/
(; 4nter3a CD<<8+* desarrollado por Citac-i y utili ado por la mayora de 3a.ricantes/

58

9n cuanto a las pantallas 0r,3icas' son normalmente muc-o m,s caras 2ue las de caracteres' m,s comple1as de usar y necesitan el envo de todos los pMeles' aun cuando se desean mostrar caracteres/ Sin em.ar0o son muc-o m,s vers,tiles 2ue las de caracteres' pudiendo mostrar cual2uier di.u1o e icono 1unto al teMto' di3erentes tamaos y 3uentes de teMto' por lo 2ue son m,s apropiadas para un inter3a de usuario donde se desea mostrar muc-a in3ormacin' sustituyendo parte de esta in3ormacin por pe2ueos iconos/ $3ortunadamente se -a encontrado un :CD 0r,3ico econmico' muy 3,cil de ad2uirir' muy documentado y con un inter3a serie de tan solo + lneas 2ue utili a el .us SP4/ Se trata de las pantallas utili adas por @oBia en sus tel3onos mviles 33(* y 3)(* 2ue utili an el controlador P-ilips PCD+5<</ 9n la !a.la 3/7 se puede comparar las caractersticas de la pantalla 0r,3ica con controlador PCD+5<< y una pantalla de caracteres de )*M</

:CD )*M< @>mero de pines Mapa de caracteres 4nter3a Documentacin !amao !ensin de alimentacin =acilidad de ad2uirir Precio (< F(* en modo < .itsG Si 9st,ndar CD<<8+* Muy documentado )*M< car,cteres 5V Muy 3,cil

:CD 0r,3ico PCD+5<< + @o Comunicacin sencilla' acceso por SP4 Muy documentado +<M<+ pMeles' e2uivalente a (<M7 caracteres de tamao 7M+ )/8?3/3 V =,cil Fcomo recam.io de tel3ono mvilG 9conmica

9conmica Ia<la .+ Comparativa de pantallas 3C/

=inalmente se decide la utili acin de la pantalla 0r,3ica con el controlador P-ilips PCD+5<<' 2ue puede verse en la 4ma0en 3/7' por la posi.ilidad de o3recer mayor in3ormacin en pantalla de 3orma m,s intuitiva Fmediante iconosG' por necesitar menos puertos de comunicacin del microcontrolador' ser econmica y estar su3icientemente documentada/

#magen .+ Pantalla 3C/ con controlador Philips PC/;4((

59

3.3 Pro*rama+ ,erramientas - metodolo*.a utili$ada


Para el diseo' 3a.ricacin y testeo del dispositivo' en lo 2ue al -ardAare se re3iere' se -an empleado una serie de pro0ramas y -erramientas en cada uno de los procesos de creacin' stos son" diseo' implementacin y testeo/ 9n la 4ma0en 3/8 se puede ver un resumen de los materiales utili ados para cada una de las 3ases del desarrollo del -ardAare del reproductor/

#magen .7 Materiales para realizar el hardware

3.3.1 *ise8o Para el diseo del es2uem,tico y el tra ado o layout del circuito impreso se -a utili ado el pro0rama 9a0le de CadSo3t' se trata de un pro0rama muy utili ado para el diseo de circuitos impresos y 2ue posee una versin 0ratuita Fcon al0unas limitaciones como el uso de como m,Mimo dos capas y el uso no comercial de los diseosG/ :as principales venta1as de este pro0rama son" su 3acilidad de uso' 2ue muc-os de los componentes utili ados ya se encuentran en su li.rera o en 4nternet y pueden ser importados' y 2ue muc-as compaas de 3a.ricacin de circuitos impresos admiten su 3ormato directamente' sin necesidad de eMportarlos a 3ormato %er.er)*/ 9n la 4ma0en 3/+ se puede ver el proceso se0uido para el diseo del circuito impreso/

)* =ormato de 3ic-ero est,ndar usado para la 3a.ricacin de circuitos impresos 2ue contiene in3ormacin de patrones de pistas' vas' in3ormacin corte' m,scaras de soldadura' etc/

60

#magen .; Procesos para el diseo del circuito

9l primer paso en el diseo del circuito impreso es la colocacin en el dia0rama es2uem,tico de los componentes 2ue van a ser utili ados y di.u1ar las coneMiones entre ellos/ Para una me1or comprensin del es2uema en su con1unto se divide en di3erentes mdulos' de 3orma 2ue las lneas de un mdulo se interconectan con otro mediante eti2uetas' para -acer m,s claro el sistema/ Una ve 3inali ado el diseo del es2uem,tico se reali a una compro.acin de las coneMiones mediante el sistema autom,tico de compro.acin de re0las elctricas 9RC FElectrical ,ule Chec>G/ Una ve 2ue se -a compro.ado 2ue el es2uem,tico est, .ien interconectado se pasa -a reali ar el tra ado del circuito impreso/ :o primero es la colocacin de los componentes en el circuito' colocando cerca a2uellos componentes 2ue estn interconectados' teniendo especial importancia los condensadores de desacoplo y los cristales/ Despus se procede al enrutado del circuito' este paso se reali a tanto de 3orma manual como autom,tica' reali ando de 3orma manual a2uellas lneas 2ue se consideren m,s crticas o 2ue no sean 3,cilmente enruta.les por el sistema autom,tico/ =inalmente se reali a una compro.acin de las re0las de diseo o DCR F/esign ,ule Chec>G' esto comprue.a 2ue no eMistan solapamientos y 2ue se cumplan las especi3icaciones de3inidas para el circuito' como un mnimo 0rosor de pistas y vas' las distancias entre pistas y componentes' etc/

3.3.2 .abricacin Se -an reali ado dos implementaciones del circuito' la primera 3ue reali ada nte0ramente de 3orma manual a partir de placas 3otosensi.les' y la se0unda se encar0 a una empresa 2ue -i o la placa de circuito impreso' sold,ndose posteriormente a mano los componentes/ :os motivo de reali ar dos prototipos 3ueron al0unos cam.ios en el diseo inicial' principalmente en el circuito de alimentacin ya 2ue no cumpla con las eMpectativas' y el deterioro por oMidacin del prototipo inicial' 2ue lo -i o muy inesta.le/ Para la 3a.ricacin de la placa del circuito impreso del primer prototipo se utili una placa 3otosensi.le positiva de do.le cara' -o1as de transparencias usadas como 3otolito' una insoladora reali ada a partir de .om.illas de .a1o consumo' un SreveladorS consistente en una disolucin de sosa c,ustica y un SatacadorS a partir de perMido de -idr0eno y ,cido clor-drico/ 9l proceso es el si0uiente"

61

(/ Se imprime el circuito en las transparencias' teniendo en cuenta su orientacin/ )/ Se su1etan las transparencias F3otolitosG mediante cristales a la placa 3/
3otosensi.ili ada en condiciones de .a1a iluminacin' teniendo especial cuidado en la concordancia de las dos caras del circuito/ Se insola cada una de las caras de la placa aproMimadamente 5 minutos mediante una insoladora reali ada a partir de .om.illas de .a1o consumo y elevada potencia lumnica)(/ Para el c,lculo del tiempo se de.en reali ar prue.as previamente' ya 2ue el tiempo depender, del 3a.ricante de la placa y la cantidad de lu ultravioleta con 2ue la 2ue se insole/ Despus de la insolacin se reali a el revelado de la placa/ 9ste proceso elimina la capa 3otosensi.le de las onas en las 2ue la lu -a incidido/ 9l revelador consiste en una disolucin de sosa c,ustica aproMimadamente a un (Y y a unos )5aC/ $ mayor concentracin y temperatura m,s r,pido ser, el revelado/ 9l si0uiente paso es el atacado de la placa" eMisten dos tipos de atacado' r,pido y lento/ 9l lento consiste en una disolucin de cloruro 3rrico' y el r,pido' 2ue es el 2ue se -a utili ado' es una me cla a partes i0uales de a0ua' perMido de -idr0eno al 33Y Fa0ua oMi0enada de ((* vol>menesG y ,cido clor-drico Fsal3um,nG/ :a velocidad del atacado variar, se0>n la concentracin de la me cla y su temperatura))/ 9l proceso de atacado elimina la capa de co.re no prote0ida por la pintura 3otosensi.le/ Una ve atacada la placa se elimina la pintura 3otosensi.le con acetona/ 9l >ltimo paso es el mecani ado de la placa/ Para ello se utili a un minitaladro y .rocas de distinto tamao con las 2ue se reali aran cada una de las vas/

</

5/

7/ 8/

Para la soldadura de los componentes' tanto en la placa 3a.ricada como en la encar0ada' se -a utili ado un soldador de ((J y punta muy 3ina' soldadura de estaoOplomo y 3luM para 3acilitar la soldadura/ 9n el primer prototipo' 3a.ricado mediante el proceso anteriormente descrito' es necesario tam.in la coneMin elctrica de am.as caras a travs de las vas' para lo 2ue se usa el -ilo de co.re de un ca.le 3ino 2ue se pasar, por la va y se soldar, en cada una de las caras/

3.3.3 0esteo Para la compro.acin de las coneMiones elctricas del circuito se utili a un polmetro' con el 2ue se comprue.a la continuidad de todas las pistas' vas y soldaduras/ Para la compro.acin l0ica y depuracin se utili a tanto el polmetro como un osciloscopio/ 9n concreto se utili a un osciloscopio di0ital con una 3recuencia de muestreo de 5* MC ' su3iciente para este diseo/

)( Son m,s econmicas 2ue los tu.os y .om.illas para insoladora' emiten menor cantidad de lu ultravioleta 2ue stas pero la su3iciente como para reali ar la insolacin en pocos minutos/ )) 9s de eMtrema importancia tomar precauciones cuando se tra.a1a con estos productos 2umicos' en especial con el perMido de -idr0eno/ Se de.en utili ar 0uantes y 0a3as protectores' y el atacado se reali ar, en un lu0ar muy ventilado de.ido a los 0ases tMicos 2ue se desprenden/

62

3.4 /ise0o de la PC'


Para reali ar el diseo es2uem,tico del circuito ste se -a dividido en di3erentes mdulos interconectados' para simpli3icar su diseo y la compresin del es2uema completo/ 9n la 4ma0en 3/; se puede o.servar el diseo modular y la interconeMin de cada mdulo' estos mdulos ser,n eMplicados en cada una de las secciones de este apartado/

#magen .' /iseo modular del circuito

3.%.1 &limentacin :a alimentacin es un elemento 3undamental del circuito' se de.e ase0urar 2ue el circuito de alimentacin sea capa de suministrar su3iciente corriente al resto del circuito con una tensin lo m,s esta.le posi.le/ De.ido a la naturale a del circuito -ay 2ue intentar 2ue la alimentacin 0enere el menor ruido' ya 2ue de lo contrario este ruido' aun2ue no a3ectase al 3uncionamiento de los elementos di0itales' puede ser audi.le en la salida anal0ica de los auriculares/ $s pues lo primero a determinar ser, la tensin con la 2ue se de.e alimentar el circuito y la corriente m,Mima 2ue consumir,/ 9n la !a.la 3/8 podemos o.servar cada unos de los componentes di0itales con sus respectivos ran0os de tensiones de alimentacin' a partir de la cual se puede eMtraer el ran0o de tensiones 2ue se pueden usar para alimentar todos los componentes/ Como se o.serva' el lmite in3erior lo marca la parte anal0ica del circuito VS(**(D y la superior la pantalla :CD' 2uedando el ran0o entre )'+?3'3V/ De.ido a 2ue 3'3V es una tensin est,ndar para la 2ue eMisten di3erentes re0uladores de tensin' diodos Pener' etc/ es la ele0ida para alimentar el circuito/ 63

Componente P4C (+:=<5) VS(**(D Fanal0icoG VS(**(D Fdi0italG MMC

,ensi-n de alimentaci-n )?5'5V)3 )'+?3'7V )'3?3'7V )?3'7V

:CD )'8?3'3V Ia<la .7 ,ango de tensiones de los componentes

9n cuanto a la corriente necesaria para alimentar el circuito' en la !a.la 3/+ podemos o.servar los consumos m,Mimos de los distintos componentes del circuito/ 9l resultado de la suma de los consumos m,Mimos de todos los componentes es de ;5m$' aun2ue el consumo real del circuito ser, muc-o menor ya 2ue los consumos tpicos de los componentes' so.re todo de la parte anal0ica de inte0rado VS(**D' son menores 2ue el m,Mimo/ 9n el caso de la parte anal0ica del VS(**D su consumo tpico es de 5'5m$' y los picos de corriente son paliados por la inductancia 2ue se coloca en la entrada de alimentacin de este circuito' esto se eMplicar, en la seccin dedicada al diseo del circuito del VS(**(D/ Por tanto se decide 2ue la 3uente de alimentacin -a de poder suministrar una corriente de (**m$' lo 2ue ase0ura una correcta alimentacin de todo el circuito aun coincidiendo picos de consumo simult,neo de todos los componentes/
Componente P4C (+:=<5) VS(**(D Fanal0icoG VS(**(D Fdi0italG MMC Consumo m)6imo <'8*m$)< <*m$)5 (5m$ 35m$)7

:CD 3**u$ Ia<la .; Consumo m!Eimo de los componentes

9n todos estos c,lculos no -emos tenido en cuenta el mdulo USB ya 2ue este se alimenta de 3orma autnoma a partir del puerto USB/ !ampoco se -a contado la corriente 2ue consume el circuito de la .otonera y los elementos pasivos 2ue acompaan a los inte0rados por ser consumos muy .a1os' no o.stante se -a dado un mar0en de 5m$ para estos consumos eMtra/ Resumiendo' el circuito de alimentacin -a de suministrar a partir de pilas o del puerto USB Fsi este est, conectadoG una tensin de salida de 3'3V y al menos (**m$ de corriente' adem,s de car0ar las pilas cuando el puerto USB est conectado/ 9n cuanto a las pilas y su car0a' de.ido a 2ue la tensin de las lneas de alimentacin del puerto USB es de 5V se pueden car0ar unas pilas 2ue ten0an como m,Mimo esta tensin' por tanto se decide alimentar el circuito con dos pilas tipo $$ recar0a.les' por ser lo m,s com>n en este tipo de reproductores y no superar esta tensin/
)3 :a tensin mnima depende de la 3recuencia del relo1 )< Consumo m,Mimo aproMimado a 3'5V y )*MC ' el consumo tpico a 3'3V ronda los <')m$ Fa una temperatura de )5aG )5 De pico a plena car0a' el consumo tpico es 5'5m$ )7 9sto depende del 3a.ricante' la 3recuencia y la tensin de alimentacin/ $un 2ue el est,ndar permite -asta (**m$ de consumo en lectura se usar,n tar1etas con un m,Mimo de 35m$ Fla mayoraG

64

Alimentaci-n por /+ Cuando el puerto USB est conectado el reproductor de.er, alimentarse de este' adem,s de car0ar las pilas si stas est,n conectadas/ 9sto supone un consumo de corriente del .us USB 2ue de.er, ser de.idamente noti3icado durante el proceso de enumeracin/ $ntes de dic-o proceso el dispositivo no podr, consumir m,s de (**m$ por tanto se -a decidido 2ue el circuito no se alimente del USB -asta 2ue el proceso de enumeracin -aya 3inali ado/ Para ello se utili a la lnea PJR9@b del mdulo USB 2ue se pone a nivel .a1o despus de 2ue 3inalice el proceso de enumeracin' indicando 2ue ya se puede empe ar a consumir corriente del puerto USB de 3orma normal/ 9n la 4ma0en 3/(* se puede ver el circuito 2ue controla la alimentacin del USB' el transistor M6S=9! de canal P FPIM7(P*3G controla la alimentacin del circuito' cuando la lnea PJR9@b pasa a nivel .a1o el transistor permite el paso de corriente entre la 3uente y el drenador/ 9n la puerta del transistor se puede o.servar una resistencia y un condensador 2ue reali an una 3uncin de soft start 2ue limita el pico de corriente cuando el transistor se activa/ 9s importante tener en cuenta 2ue el transistor PIM7(P*3 tiene una impedancia de *'35 o-mios entre la 3uente y el drenador' por lo 2ue -ay una cada de tensin dependiente del consumo/ Se -a ele0ido especialmente este transistor por su .a1a resistencia entre la 3uente y el drenador' en el primer prototipo se utili el transistor BS)5* pero su resistencia de 3'5c)8 era eMcesiva/

#magen .%. Control de alimentacin A09

Circuito de carga Para simpli3icar la alimentacin' el circuito de car0a ser, lo m,s sencillo posi.le' esto es' una corriente pasando por las pilas 3orma continua y sin control de car0a/ 9n circuitos m,s comple1os la car0a se reali a mediante ciclos de car0a dependiendo de la car0a de la pila' aun2ue esto tam.in depende del tipo de pila/ 9n la 4ma0en 3/(( se puede ver el circuito de car0a' ste consta >nicamente de las pilas' una resistencia y un diodo/ :a tensin de car0a -a de ser superior a la tensin nominal de las pilas' esto 0enera una corriente 2ue pasa a travs de las pilas y las va car0ando K:inden*)L KBuc-mannL KCarrison*<L/

)8 9n este transistor la resistencia 3uente?drenador depende del 3a.ricante' pudiendo ser de -asta (< o-mios

65

#magen .%% Circuito de carga

$l no -a.er control de car0a se -a de controlar de 3orma manual el tiempo de car0a de las pilas' no de1,ndolas car0ando un tiempo eMcesivo/ Se aconse1a el uso de un car0ador eMterno para la car0a de pilas y usar el car0ador del reproductor de 3orma ocasional cuando no se dispon0a de uno eMterno/ Para evitar los pro.lemas de so.recar0a de las pilas estas se car0an con una corriente .a1a' esto incrementa el tiempo de car0a pero la -ace m,s se0ura/ Se opta por una car0a de las pilas mediante una corriente CO7)+' donde C es la capacidad de las pilas' tom,ndose pilas de (+**m$- como re3erencia/ Por tanto la corriente de car0a de las pilas ser, de 3**m$- y el tiempo de car0a de unas + -oras/ :a 3rmula 3/( calcula el valor de la resistencia" Vp es la tensin a la 2ue se alimenta el circuito de car0a' V. es la tensin nominal de las pilas y 4c es la corriente de car0a/

R _ FVp Z V.G O 4c
-rmula .%

:a tensin nominal de las pilas es de )'<V F(')V cada una de las pilas en serieG' y la tensin de alimentacin es de 5V);/ !eniendo en cuenta la cada de tensin del diodo Sc-ottBy F*'3VG V. sera )'8V' por lo 2ue" F5 Z )'8G O *'3** _ 8'77c/ !eniendo en cuenta la resistencia del transistor M6S=9! F*'35cG el valor de la resistencia -a de ser 8'3c/ 9n el circuito se puede o.servar un diodo Pener de 3'7V' este diodo no 3orma parte del circuito de car0a de las pilas sino 2ue sirve para cuando las pilas no estn conectadas en el reproductor/ 9n ese caso es necesario lo0rar una tensin de 3'3V en Vout' el diodo Pener 3i1a una tensin de 3'7V y el diodo Sc-ottBy la .a1a a 3'3V/ Para el correcto 3uncionamiento del diodo Pener es necesario una corriente mnima sin dependencia del consumo del reproductor/ 9n la 4ma0en 3/() podemos ver una simpli3icacin del circuito' donde R: es la car0a del reproductor y de.emos seleccionar el valor de R de 3orma 2ue el diodo Pener est en 3uncionamiento cuando la car0a sea m,Mima y cuando el circuito est sin car0a Fconectado al USB pero sin pilas y con el reproductor apa0adoG/

)+ Usando una corriente CO(* se elimina el pro.lema de so.recar0a' pudiendo de1ar car0ando las pilas de 3orma inde3inida' pero el tiempo de car0a seria eMcesivo F(7 -orasG y no cumplira con los re2uisitos del Pener ); 9sta es la tensin tpica 2ue suministra el .us USB' pero el est,ndar da un mar0en de <'5V a 5'5V' para simpli3icar los c,lculos tomaremos 5V/

66

#magen .%$ -uncionamiento del diodo Mener como regulador.

9l diodo Pener ele0ido es el BPI+5C3V7' es un diodo Pener de 3'7V' 4P mnima de 7*m$ y disipa -asta (J/ Por tanto es capa de soportar un m,Mimo de corriente de ( O 3'7 _ )88m$/ Se de.en anali ar dos puntos importantes' el diodo Pener no de.e 2uedarse sin corriente y de.e soportar la corriente y no 2uemarse cuando no eMista car0a/ Suposicin de car0a m,Mima Si la car0a del reproductor es m,Mima ste consume (**m$' m,s los 7*m$ de la corriente del Pener son (7*m$/ :a =rmula 3/) muestra el c,lculo para el valor m,Mimo de la resistencia' 2ue en este caso es ,= 53'7 / *'*7*'( =+'85 c/ ,= @ @ M # Mmin # 3maE

-rmula .$

Suposicin de circuito sin car0a 9n este caso el peli0ro es 2ue el Pener se 2ueme' a partir de la =rmula 3/) podemos calcular el valor de la resistencia mnima 2ue se de.e colocar' esta es" ,= 53'7 / *')88* =5 c/ ,= @ @ M # MmaE # 3min

-ormula .

Por tanto la resistencia -a de encontrarse entre 5 y +'85 o-mios' como se puede o.servar los 8'77c de resistencia del circuito de car0a se encuentra entre estos m,r0enes/ 9l valor de resistencia est,ndar m,s cercano es de 8'3c' esto sumado a la resistencia lineal del transistor M6S=9! tenemos una resistencia total de 8'75c/

67

(l regulador de tensi-n Cuando el USB est conectado la tensin estar, re0ulada por el diodo ener y el circuito se alimentar, con 3'3V' pero cuando sean las pilas las 2ue ten0an 2ue suministrar la ener0a al circuito ser, necesario el uso de un conversor DCODC 2ue pase la tensin de las pilas de )'<V a los 3'3V necesarios/ 9n el prototipo inicial se utili el re0ulador de tensin conmutado !C((5 de microc-ip' este re0ulador es capa de suministrar una corriente de (<*m$ con una tensin de entrada de )V' tiene una e3iciencia de un +*Y a (**m$ y est, recomendado para sistemas alimentados con entre ( y 3 pilas' por lo 2ue a priori cumple los re2uisitos y es una .uena eleccin/ 9n cuanto al encapsulado' 2ue puede verse en la 4ma0en 3/(3' se trata de un S6!?+; de soldadura super3icial con 5 pines/ 9n cuanto a los elementos eMternos' el re0ulador necesita dos condensadores' un diodo y una inductancia' como muestra el es2uem,tico de la 4ma0en 3/(< eMtrada de las especi3icaciones del re0ulador/ Despus de reali ar diversas prue.as con di3erentes car0as se pudo compro.ar 2ue con una car0a de (**m$ el re0ulador se volva muy inesta.le de1ando en ocasiones de 3uncionar/ 9ste pro.lema se de.a a la inductancia' ya 2ue 3ue imposi.le ad2uirir una inductancia del valor necesario y una resistencia en lnea muy .a1a' y la 2ue se utili da.a pro.lemas con corrientes altas de.ido a una cada de tensin eMcesiva/ $ pesar de ello el primer prototipo pareca 3uncionar de 3orma correcta' no o.stante al no poder ase0urar un correcto 3uncionamiento en el caso de un consumo de (**m$ se opt por cam.iar este re0ulador por otro 2ue suministrase m,s corriente y con elementos m,s 3,ciles de o.tener/

#magen .% ,egulador de tensin IC%%4

#magen .%( Esquem!tico del regulador IC%%4

68

9n el diseo 3inal se -a utili ado el re0ulador de tensin M$I(785 de MaMim/ 9ste re0ulador de tensin es capa de suministrar -asta ))*m$ a partir de una entrada de tan solo *';V y una e3iciencia de -asta un ;<Y con )**m$ de car0a/ !iene un consumo de tan solo (7d$' elimina la necesidad de usar un diodo eMterno y me1ora la e3iciencia media/ 9n la 4ma0en 3/(5 puede o.servarse el pinout del re0ulador' en este caso el encapsulado es un dM$I' tam.in de soldadura super3icial y al0o m,s pe2ueo 2ue el !C((5 lo 2ue di3iculta muc-o la soldadura manual/

#magen .%4 ,egulador M1=%+74

:os elementos eMternos necesarios en este re0ulador son tres condensadores y una inductancia/ Como puede o.servarse en el es2uem,tico de la 4ma0en 3/(7' eMtrado de las especi3icaciones' se coloca un condensador a la entrada y la salida del re0ulador' y otro 2ue -ace la 3uncin de <ypass conectando la entrada de re3erencia del re0ulador con tierra/ 9n este caso la inductancia necesaria es de ))dC' a3ortunadamente en este caso se pudo encontrar una pe2uea inductancia de soldadura super3icial 3a.ricada por Panasonic con una resistencia lineal de tan solo *'*(5c/

#magen .%+ Esquem!tico del regulador M1=%+74

69

9l diseo 3inal lo podemos ven en la 4ma0en 3/(8' adem,s de los circuitos anteriormente descritos se -a aadido un conmutador 2ue permite encender y apa0ar el reproductor' y una lnea conectada a la entrada R$* del microcontrolador para poder controlar la car0a de las pilas/

#magen .%7 Esquem!tico del mdulo de alimentacin.

3.%.2 !icrocontrolador Como se indic en la seccin de seleccin de componente se va a utili ar el microcontrolador P4C (+:=<5) 3a.ricado por Microc-ip/ Se trata de un microcontrolador de .a1a tensin de + .its con 3< pines de entrada y salida' un set de 85 instrucciones y varios mdulos" receptorOtransmisor universal asncronoOsncrono direcciona.le F$US$R!G' inter3a serie de peri3ricos FSP4G' circuitos inter?inte0rados de dos -ilos 4eC' conversor anal0icoOdi0ital de (* .its' < tempori adores' etc3*/ 9l encapsulado ele0ido es un D4P de <* pines por su 3acilidad de monta1e y posi.ilidad de sustitucin/ Como ya se -a eMplicado tra.a1ar, a )*MC y se alimentar, con una tensin de 3'3V/ 9n la 4ma0en 3/(+ puede verse el pinout del microcontrolador eMtrado de las especi3icaciones/

3* Para m,s in3ormacin so.re las caractersticas y ar2uitectura del microcontrolador consultar las -o1as de especi3icaciones KP4C(+=II)L/

70

#magen .%; Microcontrolador %;3-(4$

9l microcontrolador tiene toda la l0ica de 3uncionamiento del dispositivo y se encar0a de interconectar y 0estionar todos los elementos del reproductor/ :os peri3ricos 2ue se conectan al microcontrolador y sus 3unciones principales son" !ar1eta MMC" $cceder a la estructura de 3ic-eros de la tar1eta de memoria/ Decodi3icador MP3" Con3i0urar el c-ip decodi3icador y enviarle el 3lu1o de datos codi3icado para 2ue sean reproducidos/ Pantalla :CD" Mostrar la in3ormacin necesaria para el control del reproductor/ Botonera" 6.edecer a las pulsaciones de los .otones reali adas por el usuario/ Mdulo USB" Comunicarse con el ordenador mediante dic-o mdulo/

$dem,s de los elementos mencionados se -a optado por colocar en el circuito dos conectores' uno conectado a las lneas 4CSP del microcontrolador para poder repro0ramar ste sin necesidad de eMtraerlo' el otro permite la comunicacin mediante RS)3) 2ue se utili a para la depuracin del cdi0o/ 4nicialmente se utili tam.in la comunicacin RS)3) para actuali ar el firmware del microcontrolador a travs de un <ootloader' pero se opt por sacar las lneas 4CSP para reali ar actuali aciones m,s r,pidas y de.ido a 2ue la actuali acin mediante software 3alla.a en al0unas ocasiones/ 9l microcontrolador utili a para la seal de relo1 un cristal de )*MC ' por lo 2ue se -a con3i0urado en modo CS FCi0- Speed CrystalG/ 9l monta1e para este tipo de con3i0uracin se puede ver en la 4ma0en 3/(;R se -an utili ado condensadores de 33p= y no -a sido necesario el uso de la resistencia Rs/

71

#magen .%' Configuracin del cristal del microcontrolador

9l resto de pines se conectan se0>n indica la !a.la 3/;' en cuando a los pines de alimentacin se -an colocado pe2ueos condensadores prMimos al microcontrolador para esta.ili ar la tensin y minimi ar posi.les ruidos/ 9n las secciones correspondientes a cada componente se detalla la coneMin de cada uno de ellos con el microcontrolador/ Como puede o.servarse -ay lneas 2ue est,n conectadas a varios elementos' como las correspondientes al inter3a SP4 2ue se utili a para la comunicacin con el decodi3icador MP3' la pantalla :CD y la tar1eta de memoria' -a.iendo para cada uno una lnea de chip select para seleccionar el correspondiente cada ve /

8ines RD*?RD8 RB*' RB)' RB<' RB5' RB7 RC3' RC<' RC5' R$)' RB8 RB(' RB3' RC7' RC8 R$3' R$<' R$5' RC3 RC5 R$(' RC3' RC<' RC5 RC*' RC(' RC)' R9*' R9(' R9) 4CSPQVPP' %@D' RB7' RB8 RC7' RC8

(lemento Bus de datos del mdulo USB :neas de control del mdulo USB Con3i0uracin del decodi3icador MP3 =lu1o de datos MP3 del decodi3icador :CD Multimedia Card Botonera 4CSP U$R!

R$* !ensin de pilas Ia<la .' ConeEiones del microcontrolador.

3.%.3 !dulo 123 Para la comunicacin USB se va a utili ar el inte0rado =!)<5BM' 2ue proporciona un inter3a transparente desde el punto de vista del microcontrolador para comunicarse con el ordenador/ De.ido a la 0ran cantidad de elementos eMternos 2ue necesita y el tipo de encapsulado Fmuy complicado para una soldadura manualG se -a optado por el uso del mdulo D:P?USB)<5M 2ue incluye los componentes pasivos necesarios' adem,s de 3acilitar la inte0racin en el circuito al no ser necesario soldarlo a ste y pudiendo ser 3,cilmente sustituido/

72

:a 4ma0en 3/)* es el dia0rama de .lo2ues simpli3icado del 3uncionamiento del c-ip' como se puede o.servar tiene un <uffer de recepcin de ()+ Bytes y un <uffer de transmisin de 3+< Bytes/ Utili a un cristal de 7 MC con un multiplicador 2ue 0enera los ()MC y <+ MC 2ue utili an para tra.a1ar el S49 FSerial 4nter3ace 9n0ineG y el transductor USB respectivamente/ 9n el es2uema tam.in puede o.servarse un inter3a para una memoria 99PR6M FeMterna y opcionalG donde se almacena la con3i0uracin del dispositivo' y un re0ulador de tensin de 3'3V 2ue no se utili a de.ido a 2ue slo suministra 5m$/

#magen .$. /iagrama de <loques del funcionamiento del -I$(49M

9l es2uem,tico del mdulo utili ado puede verse en la 4ma0en 3/)(' como se o.serva el mdulo slo incluye los elementos pasivos necesarios para el 3uncionamiento del =!)<5BM y una memoria 99PR6M ;3C<7 2ue se utili a para 0uardar las con3i0uraciones .,sicas 2ue caracteri an al dispositivo USB' como su nom.re' n>mero de serie' USB V4D' P4D' consumo' etc/ 9n la !a.la 3/(* se listan los pines del mdulo F2ue a eMcepcin del pin ( corresponden a los pines del c-ipG y su descripcin' as como si son pines de entrada o salida/

73

#magen .$% Esquem!tico del mdulo /3P:A09$(4M

8in (

<om!re Board 4D

,ipo Salida

2escripci-n Se utili a para sa.er si el mdulo es el D:P?USB)<5M o el D:P?USB)3)M/ 9n el D:P?USB)<5M el pin est, a nivel .a1o/ !ierra Sirve para resetear el c-ip =!)<5BM/ $ctivo a nivel .a1o/ Salida del 0enerador de reset interno/ @o se -a utili ado/ !ierra Salida del re0ulador de tensin lineal de 3'3V/ Se puede utili ar -asta un m,Mimo 5m$ de corriente/ @o utili ado/ !ierra Corresponde al pin PJR9@b del c-ip' se pone a nivel .a1o despus del proceso de enumeracin del dispositivo/ Sirve para controlar el consumo del dispositivo/ 4niciali a el proceso de fdespertadog del dispositivo si se encuentra en estado suspendido/ Si el dispositivo no est, suspendido sirve para 3or ar el envo de los datos del <uffer de transmisin/ @o utili ado/ !ensin de re3erencia para las entradas/ 9n este caso 3'3v/ $limentacin del c-ip' en este caso se conecta a la alimentacin del USB FP6R!VCCG

) 3 < 5 7 8 +

%@D R9S9!b R9S9!6 %@D 3V3 %@D S:99P

? 9ntrada Salida ? Salida ? Salida

S@DOJUP

9ntrada

(* ((

Vcc46 9I!VCC

9ntrada 9ntrada

74

() (3

P6R!VCC RI=b

Salida Salida

$limentacin del puerto USB' se puede consumir -asta un m,Mimo de 5**m$/ Cuando est, a nivel .a1o al menos un .yte est, esperando en el <uffer de .ytes reci.idos para ser ledo/ 9st, a nivel alto si el <uffer est, vaco/ Cuando est, a nivel alto indica 2ue el <uffer de transmisin esta lleno' por tanto de.e esperarse antes de escri.ir nuevos datos/ Cuando se pasa de nivel alto a .a1o el c-ip lee los + .its de la lnea de datos y mete el .yte en el <uffer de transmisin/ :os datos del .u33er de transmisin son transmitidos al ordenador en el timeout del <uffer de transmisin Fcon3i0ura.le de ( a )55msG $l ponerlo a nivel .a1o el primer .yte en el <uffer de recepcin se pone en las lneas de datos/ Cuando se pasa de nuevo a nivel alto las lneas de datos se ponen en estado de alta impedancia/

(<

!I9b

Salida

(5

JR

9ntrada

(7

RDb

9ntrada

(8?)<

D8?D*

9ntradaO Bits de datos/ Salida Ia<la .%. EEplicacin del pinout del mdulo A09

Con"iguraci-n de alimentaci-n 9l c-ip =!)<5BM permite di3erentes con3i0uraciones de alimentacin se0>n las necesidades del sistema" $limentado por el .us USB" tanto el c-ip como el resto del circuito son alimentados por el .us/ $limentacin propia" la alimentacin proviene de una 3uente eMterna' no se eMtrae corriente del .us/ $limentado por el .us utili ando l0ica de 3'3V" el .us alimenta directamente el c-ip =!)<5BM y sirve como entrada de alimentacin de un re0ulador de tensin de 3'3V 2ue se utili a para alimentar el resto de circuito y a la 2ue se conecta la lnea VCC46' 2ue sirve como re3erencia para la tensin de las lneas de entradaOsalida/ $limentacin propia con l0ica 3'3V" eMiste alimentacin propia tanto para el =!)<5BM como para el resto del circuito/ 9l =!)<5BM se alimenta con 5V y el resto del circuito' incluyendo la lnea VCC46 con 3'3V/

9n este caso la con3i0uracin utili ada es la tercera' se utili a la alimentacin del .us para el =!)<5BM' para car0ar las pilas Fen caso de estar conectadasG y es la entrada del re0ulador de 3'3V 2ue alimenta el resto del circuito/ :a con3i0uracin puede verse en la 4ma0en 3/))' la alimentacin proveniente del puerto USB FP6R!VCCG se conecta a la lnea 2ue alimenta el =!)<5BM F9I!VCCG y a la lnea de reset' 2ue no se utili a por el microcontrolador/ $ su ve la lnea de alimentacin del USB est, conectada al re0ulador de tensin 2ue alimenta todo el circuito con 3'3V/ VCC46 est, conectada a los 3'3V de la alimentacin del circuito' ya 2ue es la tensin 2ue se va a utili ar en los pines de entradaOsalida/

75

#magen .$$ Configuracin de la alimentacin del A09

9n los circuitos alimentados por USB de.e -a.er un control del consumo/ 9l est,ndar USB permite un m,Mimo de (**m$ de consumo antes de la enumeracin' y en modo suspendido tan solo se puede consumir un m,Mimo de 5**u$' por tanto se de.e controlar el proceso de enumeracin y la entrada en estado suspendido/ Como se adelant en la seccin de alimentacin' la lnea S:99P del mdulo FPJR9@b en el c-ipG se utili a para el control de la alimentacin del circuito/ 9sta lnea pasa a nivel .a1o despus de la enumeracin del dispositivo y cuando este sale del estado suspendido' y est, a nivel alto antes de la enumeracin y cuando pasa a estado suspendido/ 9n la 4ma0en 3/)3 puede verse la 3orma de controlar la alimentacin se0>n recomiendan las -o1as de especi3icaciones' como puede o.servarse eMiste un circuito 0oft 0tart 2ue limita el pico de corriente cuando el transistor se activa/ 9l circuito implementado puede verse en la 4ma0en 3/(* de la seccin de alimentacin/

#magen .$ Control de alimentacin segLn especificaciones.

8rotocolo de comunicaci-n 9l mdulo USB se comunica con el microcontrolador mediante un .us de datos de + .its y cuatro lneas de control/ 9n la 4ma0en 3/)< puede verse la coneMin entre el mdulo y el microcontrolador/

76

#magen .$( ConeEin del mdulo A09 con el microcontrolador

Para reali ar una lectura se -a de esperar a 2ue la lnea RI=b se pon0a a nivel .a1o' lo 2ue si0ni3ica 2ue -ay datos en el <uffer de recepcin para ser ledos/ Una ve con3irmada la eMistencia de datos para ser ledos se de.e poner la lnea RDb a nivel .a1o' esto -ace 2ue el primer .yte del <uffer se pon0a en el .us de datos para ser ledo/ Despus de leer los datos el microcontrolador vuelve a poner a nivel alto la lnea RDb lo 2ue -ace 2ue el .us de datos se pon0a en alta impedancia a la espera del si0uiente ciclo de lectura/ 9n la 4ma0en 3/)5 se puede ver el crono0rama del ciclo de lectura/

#magen .$4 Cronograma del ciclo de lectura A09

77

Para el control del ciclo de escritura se utili an las lneas !I9b y JR' en la 4ma0en 3/)7 puede verse el crono0rama/ $ntes de iniciar el ciclo de escritura se comprue.a 2ue !I9b este a nivel .a1o' de lo contrario indicara 2ue el <uffer de transmisin est, lleno y -a.ra 2ue esperar/ Una ve veri3icado 2ue eMiste espacio en el <uffer se pone JR a nivel alto y el .yte a transmitir en el .us de datos' una ve esta.les los datos F)*nsG JR se pone a nivel .a1o' lo 2ue provoca la lectura de los datos del .us/

#magen .$+ Cronograma del ciclo de escritura A09

3.%.% *ecodificador :21771; 9l c-ip decodi3icador de MP3 est, compuesto internamente por dos partes' un procesador DSP y un decodi3icador di0ital?anal0ico FD$CG estreo/ 9l VS(**(B reci.e el 3lu1o de datos MP3 por un .us serie esclavo 2ue es decodi3icado por el procesador DSP' estos datos pasan lue0o por el decodi3icador di0ital?anal0ico de (+ .its y un pe2ueo ampli3icador 2ue proporciona una salida anal0ica a la 2ue se puede conectar directamente unos pe2ueos auriculares sin ampli3icacin adicional/ 9stas dos partes' el DSP y el D$C' tienen la alimentacin independiente' denominadas Vcc di0ital y Vcc anal0ica respectivamente' para evitar inter3erencias en el D$C/ 9n la 4ma0en 3/)8 puede verse el 3uncionamiento interno del c-ip/

78

#magen .$7 -uncionamiento del decodificador @0%..%>

9n cuanto a sus caractersticas' el VS(**(B decodi3ica MP9% layer 3 de MP9%? (' MP9%?) y MP9%?)/5' a todas las tasas de muestreo y de .it tanto en mono como en estreo/ Soporta tasa de .it varia.le FVBRG' utili a un D$C estreo de alta calidad y es capa de soportar auriculares de 3* c de car0a sin ampli3icacin adicional/ Como ya se -a dic-o tra.a1a con una tensin de )'+V a 3'7V y usa un cristal de ()?(3MC Fcon multiplicadorG o )<?)7MC Fsin multiplicadorG3(/ Circuito ' cone6i-n al microcontrolador 9n la 4ma0en 3/3( puede verse el circuito recomendado por las -o1as de especi3icaciones del VS(**(B/ 9l circuito est, compuesto >nicamente por unos pocos componentes pasivos eMtra/ 9l c-ip tiene dos entradas de alimentacin como ya se -a indicado' est,n separadas por inductancias y tienen un par de condensadores cada una' lo 2ue -ace 2ue las lneas estn m,s aisladas' con tensiones m,s esta.les y ten0an menos ruido/ 9n cuanto a la seal de relo1 se utili a un cristal de )<'587MC ' aun2ue como se -a comentado puede usarse de ()?(3MC o )<?)7MC dependiendo de si se utili a el multiplicador de relo1 o no/ 9l decodi3icador de conecta al microcontrolador a travs de dos inter3aces' el SC4 compuesto de cuatro lneas y el SD4 compuesto de tres/ $dem,s eMisten una lnea de reset y DR9]' 2ue indica al microcontrolador 2ue tiene espacio en el <uffer para m,s datos MP3/ 9l circuito implementado -a sido el 2ue se muestra en el es2uem,tico de la 4ma0en 3/3)' muy similar al descrito en las -o1as de especi3icaciones/ 9n este caso se -a utili ado un cristal de (3MC con el multiplicador F)7MC G para poder reproducir 3ic-eros MP3 a todas las tasas de .it' tam.in puede o.servarse dos *umpers y resistencias a la salida de los auriculares/ Cuando los *umpers est,n cerrados la salida de audio se utili a como salida para auriculares y cuando est,n a.iertos como salida en lnea' tal y como indican las -o1as de aplicacin del VS(**(B KVS(*II$@6U!L/

3( @o a todas las 3recuencias se pueden decodi3icar los MP3 con tasas de .it m,s altas/

79

#magen . % Circuito recomendado del @0%..%>

#magen . $ Circuito implementado del @0%..%>

80

8rotocolo de comunicaci-n 9Misten dos inter3aces para comunicarse con el VS(**(B' am.os .asados en el inter3a de comunicacin serie SP4/ 9l primero se denomina inter3a de datos serie FSD4G y se utili a para enviar el 3lu1o de datos MP3 al decodi3icador/ 9l se0undo es el inter3a de comandos serie FSC4G y se utili a para enviar instrucciones y controlar el c-ip/ 9l inter3a SD4 puede utili arse en modo maestro o esclavo' en este caso se -a usado como esclavo/ 9l 3lu1o de datos slo circula del microcontrolador al decodi3icador ya 2ue esta lnea es >nicamente para el envo del 3lu1o de datos MP3/ Como se puede ver en el crono0rama de la 4ma0en 3/)+ el inter3a est, compuesto por tres lneas' BSU@C indica el comien o del primer .it' en SD$!$ se introducen los .its de datos y DC:D es la seal de relo1/ :os datos son ledos en el 3lanco de su.ida o .a1ada de la seal de relo1 dependiendo de como se -aya con3i0urado el decodi3icador/ 9n cuanto al orden de los .its' se puede seleccionar si se 2uiere primero el m,s o el menos si0ni3icativo/ 9l uso de BSU@C no es o.li0atorio aun2ue si muy recomenda.le' si no se usa de.e ponerse a nivel alto/ :a lnea DR9] indica 2ue -ay espacio en el <uffer para reci.ir datos' cuando la lnea est, en estado alto -ay al menos 3) .ytes li.res en el <uffer/

#magen .$; Cronograma del interfaz 0/#

:a comunicacin por el inter3a SC4 consiste en un .yte de instruccin' un .yte de direccin y una pala.ra de (7 .its/ Cada ciclo de lectura o escritura puede leer o escri.ir un >nico re0istro/ 9l tipo de operacin es especi3icada por el cdi0o de operacin" *M3 para las lecturas y *M) para las escrituras/ 9n la 4ma0en 3/); puede verse el ciclo de lectura mediante el inter3a SC4/ Primero la lnea ICS Fchip selectG se pone a nivel .a1o' lo 2ue le indica al dispositivo 2ue l es el seleccionado para la prMima transmisin3)/ 9ntonces' el cdi0o de operacin de lectura F*M3G es transmitido por la lnea S4 se0uido de un .yte con la direccin/ Despus de transmitir la direccin el dispositivo pone en la lnea S6 los (7 .its de datos correspondientes al re0istro de la direccin transmitida/ :a lnea ICS se de.e poner a nivel alto una ve aca.ada la transmisin de los datos indicando la 3inali acin del ciclo de lectura/

3) 9l inter3a SP4 soporta m>ltiples dispositivos en el mismo .us' mediante la lnea chip select se selecciona cual es el dispositivo activo cada ve /

81

#magen .$' Ciclo de lectura 0C#

Como en el ciclo de lectura' el ciclo de escritura se inicia poniendo a nivel .a1o la lnea ICS/ Despus se enva la instruccin de escritura' la direccin y los datos a escri.ir por la lnea S4/ 9n este caso S6 no es utili ado/ 9n la 4ma0en 3/3* puede verse el crono0rama del ciclo de escritura/ Despus de esta secuencia' al i0ual 2ue en el ciclo de lectura' ICS se pone a nivel alto/

#magen . . Ciclo de escritura 0C#

3.%.) 0ar+eta !ultimedia Card 9l pinout de la tar1eta de memoria Multimedia Card est, compuesto por siete lneas' tres lneas de alimentacin y cuatro para la transmisin de datos/ 9n la !a.la 3/(( se puede ver el listado de pines y su descripcin para una comunicacin en modo SP4/

8in G ( ) 3 < 5 7 8

<om!re CS SD4 Vss Vcc SC:D Vss)

,ipo 9ntrada 9ntrada $limentacin $limentacin 9ntrada $limentacin

2escripci-n Chip select 9ntrada de datos F/ata inG !ierra $limentacin Relo1 !ierra

SD6 Salida Salida de datos F/ata outG Ia<la .%% Pinout de la tar*eta Multimedia Card

82

:a tar1eta utili a para la comunicacin un inter3a SP4' por tanto sus lneas se conectan a los pines correspondientes al puerto SP4 del microcontrolador/ 9ste puerto est, tam.in conectado al inte0rado VS(**(B y' como se ver,' a la pantalla :CD' utili ,ndose el pin CS para seleccionar un componente u otro/ 9n la 4ma0en 3/3( puede verse como se conecta la tar1eta a los puertos del microcontrolador' se pueden apreciar dos resistencias en pull:up en las lneas SD4 y SD6 para prote0er el .us cuando la tar1eta no est, insertada o cuando est, en alta impedancia KSanDisB*3L/

#magen . % ConeEin de la tar*eta MMC

8rotocolo de comunicaci-n :as tar1etas Multimedia Card tienen dos modos de comunicacin' el modo Multimedia Card y el SP4/ 9n este caso se usa el modos SP4 por ser m,s simple' tener implementado un puerto SP4 por -ardAare en el microcontrolador y' so.re todo' por ser compati.le con las tar1etas Secure Di0ital FSDG' de 3orma 2ue se puedan usar tar1etas MMC o SD de 3orma indistinta/ 9l inter3a SP4 ya -a sido eMplicado en el apartado anterior/ Durante la iniciali acin de la tar1eta Fmomento en el 2ue est, en modo Multimedia CardG se -a de seleccionar 2ue tipo de protocolo de comunicacin 2ue se va a utili ar/ :os detalles so.re los comandos de iniciali acin' con3i0uracin' lectura' escritura' etc/ se eMplican en la seccin de firmware del microcontrolador' en la li.rera del la MMC/

3.%.5 "antalla LC* :a pantalla ele0ida es una pantalla :CD 0r,3ica de +<M<+ piMels' utili ada por los tel3onos mviles @oBia 3)(* y 33(*/ 9sta pantalla utili a slo oc-o lneas' con un inter3a SP4 simpli3icado' ya 2ue slo tiene comandos de escritura y por tanto no tiene la lnea SD6/ 9n la 4ma0en 3/3) se puede ver el pinout de la pantalla' la comunicacin se reali a mediante las lneas SD4@' SC:D y SC9' correspondientes al inter3a SP4' y las lneas DOC y R9S' todas ellas entradas/ 83

#magen . $ Pinout de la pantalla 3C/

9l circuito 2ue conecta la pantalla F4ma0en 3/33G consta de tan slo dos componentes pasivos adicionales' un condensador 2ue conecta Vout Fde uso interno por el controlador del :CDG a tierra' y una resistencia en pull:up en la lnea SC9/ :as lneas SD4@ y SC:D se conectan al puerto SP4 del microcontrolador' utili ,ndose SC9 Fchip ena<le) para indicar a la pantalla 2ue es la destinataria de la si0uiente comunicacin enviada por el .us SP4

#magen .

Circuito usado con la pantalla 3C/

8rotocolo de comunicaci-n 9l microcontrolador se comunica con la pantalla por un inter3a SP4 simpli3icado con comunicacin >nicamente en una direccin m,s la lnea DOC 2ue selecciona el tipo de instruccin/ 9n la 4ma0en 3/3< se puede ver el crono0rama de una comunicacin con la pantalla/ :a pantalla puede reci.ir dos tipos de instrucciones 2ue se seleccionan mediante la lnea DOC' si DOC est, a nivel .a1o el .yte enviado por el .us es interpretado como un comando y si est, a nivel alto los si0uientes .ytes reci.idos se almacenan en la memoria R$M de la pantalla cuyos .its corresponden a pDEeles de la pantalla/ :os datos se transmiten enviando primero el .it m,s si0ni3icativo y son capturados en los 3lancos de su.ida de la seal de relo1/ :os detalles so.re los comandos' iniciali acin y utili acin se eMplican en la seccin de firmware del microcontrolador' en la li.rera del :CD/

84

#magen . ( Cronograma de comunicacin con la pantalla

3.%.6 3otonera Para la interaccin del usuario con el reproductor se -an dispuesto un con1unto de seis .otones mediante los cuales se reali ar,n las acciones de control de reproduccin' con3i0uracin' volumen' nave0acin por el ,r.ol de directorios' etc/ :os .otones son pulsadores 2ue est,n conectados a las lneas RC*?RC) y R9*?R9) del microcontrolador F4ma0en 3/35G de 3orma 2ue cuando el .otn est, pulsado la lnea est, en estado alto y cuando no en estado .a1o/

#magen . 4 Circuito de la <otonera

3.%.<

tros elementos

9l reproductor tiene dos inter3aces para coneMin eMterna 2ue 3acilitan el desarrollo del mismo' un conector para pro0ramar el microcontrolador sin necesidad de eMtraerlo de la placa F4CSPG y un puerto U$R! para conectar al puerto serie de un ordenador y depurar con m,s 3acilidad el firmware/ 9l es2uem,tico de estos puede verse en la 4ma0en 3/37/

85

#magen . + Esquem!tico de los interfaces #C0P y A1,I

86

%. *ise8o ( desarrollo del firm9are


4.1 )ntroduccin
Una ve diseado el -ardAare del dispositivo el si0uiente paso es el desarrollo del 3irmAare del microcontrolador/ 9l microcontrolador se encar0a del control de los distintos componentes del dispositivo" el c-ip decodi3icador MP3' el mdulo de comunicacin USB' la tar1eta de memoria' la pantalla :CD y la .otonera/ $dem,s incorpora diversas li.reras donde se implementa el protocolo de comunicacin con el ordenador' el sistema de 3ic-eros =$!' la lectura de la in3ormacin 4D3 y otras 3unciones/

4.2 1erramientas de desarrollo utili$adas


De.ido a la comple1idad y 0ran cantidad de cdi0o a desarrollar el 3irmAare del microcontrolador se -a reali ado en len0ua1e C' utili ando de 3orma puntual al0una instruccin en ensam.lador donde -a sido necesario un incremento de la e3iciencia del cdi0o en 3unciones donde la velocidad es un 3actor crtico/ 9l compilador utili ado para el desarrollo del cdi0o es el PCJC de la empresa CCS/ 9ste compilador permite la operacin de tipo de datos de (' +' (7 y 3) .its' posee 0ran cantidad de 3unciones y li.reras 2ue ayudan al diseo' permite la insercin de cdi0o ensam.lador en cual2uier punto' soporta 3unciones inline Flo 2ue me1ora la e3iciencia de dic-as 3uncionesG' etc/ Estas' entre otras caractersticas' -acen 2ue sea el compilador 3inalmente ele0ido/ @o o.stante esta no es una eleccin crtica' el uso de otro compilador es posi.le aun2ue pro.a.lemente incrementase el tiempo de diseo/ !am.in es posi.le el paso del cdi0o desarrollado en ste a otro compilador' reali ando al0unos cam.ios para adaptar los elementos y 3unciones especi3icas de este compilador al otro/ Ara!aci-n del "irmBare 9n la 0ra.acin3< del 3irmAare se -an utili ado varios medios/ Para la 0ra.acin de 3orma directa del microcontrolador se -a 3a.ricado un pro0ramador de P4Cs del tipo #DM y para la 0ra.acin en el propio circuito se -an empleado dos tcnicasR actuali acin de ste por so3tAare conectando el reproductor al puerto serie del ordenador y mediante un inter3a 4CSP35/ :a actuali acin por so3tAare se reali a conectando el puerto U$R! del microcontrolador a un pe2ueo circuito .asado en el inte0rado M$I3)3)37 2ue a su ve se conecta al puerto serie del ordenador' en la 4ma0en </( puede verse el es2uem,tico tpico montado en este circuito/
33 =uncin 2ue al compilar el cdi0o ste se repite en cada llamada' esto -ace 2ue el cdi0o se e1ecute m,s r,pido a costa de al0o m,s de memoria de pro0rama/ 3< Se utili a la pala.ra 0ra.acin y no pro0ramacin del microcontrolador para evitar con3usin con la pro0ramacin en C del 3irmAare/ 35 9ste 3ue incluido en el se0undo prototipo del reproductor/ 37 Un transductor 2ue trans3orma la tensin de 3'3V usada por el microcontrolador a la tensin est,ndar del RS)3)/

87

#magen (.% Esquem!tico usado con el M1= $ $

De.ido a la lentitud de las actuali aciones mediante so3tAare' los errores durante este tipo de actuali aciones y el espacio eMtra 2ue supone el cdi0o de actuali acin en la memoria del microcontrolador se opt por el uso del inter3a 4CSP para la actuali acin in situ del firmware/ @o o.stante la 3orma 3inalmente m,s utili ada para la actuali acin del firmware -a sido mediante un pro0ramador de P4Cs' en el primer prototipo se emple el pro0ramador 3a.ricado a tal e3ecto' pero para el se0undo prototipo se ad2uiri un pro0ramador al0o m,s comple1o F4ma0en </)G 2ue 0ra.a el firmware en menos tiempo e incorpora la salida 4CSP/

4ma0en </) Pro0ramador de P4Cs

9n cuanto al so3tAare utili ado para la 0ra.acin se -an utili ado dos pro0ramas' con el primer pro0ramador se -a utili ado el pro0rama 4C?Pro0 y con el se0undo el pro0rama JinPic+**/ $m.os son pro0ramas 0ratuitos' el se0undo tiene m,s opciones y se puede 0ra.ar m,s r,pido 2ue con el 4C?Pro0 pero no 3unciona con el pro0ramador #DM 3a.ricado ya 2ue se -a utili ado un es2uema demasiado simple para este pro0rama/ 88

4.3 2ibrer.as desarrolladas


%.3.1 Introduccin Para -acer un cdi0o m,s le0i.le y estructurado se -a decidido dividir las 3unciones en diversas li.reras/ 9stas li.reras a0rupan las 3unciones de cada uno de los elementos del reproductor y las 3unciones a3ines como pueden ser las de acceso a la estructura de 3ic-eros =$!/ 9stas 3unciones son posteriormente utili adas por el pro0rama principal o por otras li.reras' -aciendo as una estructura de capas de modo 2ue en el pro0rama principal se utili an slo 3unciones de alto nivel/ 9n la 4ma0en </3 puede verse el es2uema del 3irmAare del microcontrolador' compuesto por el pro0rama principal y el con1unto de li.reras/

#magen (. Esquema de li<rerDas.

%.3.2 Librera :21771= 9sta li.rera contiene las 3unciones necesarias para el control del c-ip decodi3icador de MP3 VS(**(D/ Como ya se -a indicado en la descripcin del -ardAare' el VS(**(D tiene dos inter3aces de comunicacin' el SD4 por el 2ue se le enva el 3lu1o de datos MP3 y el SC4 por el 2ue se con3i0ura y se o.tiene in3ormacin so.re el MP3 en reproduccin/ 9l protocolo de comunicacin mediante estos inter3aces se -a eMplicado en el captulo anterior/ :a li.rera se compone de las 3unciones para la comunicacin por SD4 y SC4' y otras 3unciones de m,s alto nivel 2ue utili an las anteriores para el control del decodi3icador/

89

$unciones +2I 9n las si0uientes ta.las F!a.las </(G se listan las 3unciones 2ue -acen uso del inter3a SD4' su eMplicacin y dia0rama de 3lu1o/

void sdi_out(byte data)

=uncin de .a1o nivel 2ue enva el .yte data a travs del inter3a SD4/ @o se comprue.a el <uffer/

void sdi_send()

9sta 3uncin utili a sdiNout para enviar los 3) .ytes de la varia.le 0lo.al vsQdata/

void morezeroes(void)

9nva )*<+ f*g por el inter3a SD4/ =uncin necesaria para la reproduccin de MP3/
void sine_test(byte val, byte tms)

%enera un pitido durante tms ^ (5* milise0undos/ @al es un valor entre <+ y ((; 2ue se de3ine por" =s4dM_Fval?<+G mod ; R =Sin_Fn?<+GO; =s4dM es un valor de entre * y + 2ue especi3ica la 3recuencia Fde <+DC a +DC G y =Sin' valor entre * y 8' especi3ica el n>mero de muestras Fde 3)/*** a </***G38

38 Para m,s in3ormacin so.re las ta.las de 3recuencias y muestras consultar las -o1as de especi3icaciones del decodi3icador VS(**(B

90

Ia<las (.% -unciones 0/#

$unciones +CI Como se -a indicado' el inter3a SC4 se utili a para el envi de comandos al decodi3icador/ 9stos comandos consisten en lecturas o escrituras de los re0istros de con3i0uracin de (7 .its/ 9n la !a.la </) se listan los re0istros accesi.les mediante este inter3a y si se trata de un re0istro de lectura o escritura/

<om!re M6D9 S!$!US 4@!Q=C!:C C:6CD= D9C6D9Q!4M9 $UD$!$ JR$M JR$M$DDR CD$!* CD$!( $4$DDR V6: Reservados $4C!R:KML

,ipo :O9 :O9 ? :O9 :ectura :ectura 9scritura 9scritura :ectura :ectura :O9 :O9 ?

2irecci-n * ( ) 3 < 5 7 8 + ; (* (( ()

$unci-n Re0istro de control 9stado del VS(**(B Re0istro interno Con3i0uracin del relo1 !iempo decodi3icado' en se0undos 4n3ormacin del audio decodi3icado Re0istro para su.ir pro0ramas a la R$M Direccin .ase para escri.ir en la R$M 4n3ormacin de ca.ecera 4n3ormacin de ca.ecera Direccin de inicio de la aplicacin Control de volumen

:O9 (3^M Para acceder a los pro0ramas car0ados Ia<la (.$ ,egistros internos del decodificador

:os re0istros JR$M' JR$M$DDR y $4C!R:KML se utili an para su.ir pro0ramas a la R$M del decodi3icador' de 3orma 2ue e1ecute pe2ueas aplicaciones como un ecuali ador/ $l no -a.erse desarrollado nin0>n pro0rama de este tipo estos re0istros no -an sido utili ados/ $ continuacin se reali a una eMplicacin m,s detallada de los re0istros de los 2ue -ace uso la li.rera desarrollada"

91

M6D9 :a descripcin de los .its de este re0istro se puede ver en la !a.la </3/
it * ( ) 3 < 5 7 8 + ; (* (( <om!re SMQD4== SMQ==JD SMQR9S9! SMQU@US9D( SMQPD6J@ SMQU@US9D) SMQU@US9D3 SMQB$SS SMQD$C! SMQB4!6RD SMQ4BM6D9 SMQ4BC:D Realce .assOtre.le F0ravesOa0udosG =lanco de relo1 para SD4 6rden del .its en el .us SD4 Modo del .us $pa0ado $unci-n Di3erencial Fen estreo crea un virtual surroundG $vance r,pido Reseteo so3tAare ;alor * ( * ( * ( * * ( * * * ( * ( * ( * ( $pa0ado 9ncendido Su.ida Ba1ada Primero MSB hltimo MSB 9sclavo Maestro 9ncendido $pa0ado 2escripci-n =ase de audio normal Canal i 2uierdo invertido $vance normal $vance r,pido @ormal Reset

Relo1 del .us cuando est, en * 5() BC modo maestro/ ( (*)< BC Ia<la (. /escripcin de los <its del registro MJ/E

S!$!US Controla el estado interno del VS(**(B' los .its * y ( sirven para el control de la salida anal0ica de volumen y el .it 3 para apa0ar la parte anal0ica del c-ip/ 9ste re0istro no es realmente necesario' estas 3unciones se pueden controlar con otros re0istros/ C:6CD= Se utili a para indicar la 3recuencia del relo1 2ue se est, utili ando/ :a 3rmula para calcular esta 3recuencia es" =recuencia de cristal O )***/ :os valores v,lidos para este re0istro son *//3)878' el .it m,s si0ni3icativo se utili a para indicar si se activa o no el multiplicador de relo1/ Cay 2ue recordar 2ue por de.a1o de )<'587 M- el c-ip no es capa de decodi3icar a todas las tasas de .it/ D9C6D9Q!4M9 9ste re0istro almacena el tiempo en se0undos del 3lu1o de datos 2ue se est, decodi3icando en este momento/ 92

$UD$!$ Cuando se decodi3ican datos correctos la tasa de .its se muestra en este re0istro en los .its +//*/ 9n los .its ()//; se muestra la 3recuencia de muestreo se0>n la !a.la </<' y el .it (5 sirve para indicar si el sonido es mono FS*SG o estreo FS(SG/ 9l resto de .its no se utili an y est,n a S*S/
its 12DD9 *.**** *.***( *.**(* *.**(( *.*(** *.*(*( *.*((* *.*((( *.(*** $recuencia de muestreo Desconocido <<(** C <+*** C 3)*** C ))*5* C )<*** C (7*** C ((*)5 C ()*** C

*.(**( +*** C Ia<la (.( -recuencias segLn los <its del registro 1A/1I1

JR$M 9ste re0istro se utili a para su.ir pro0ramas a la memoria R$M del decodi3icador/ :a direccin de inicio de.e ser iniciali ada FJR$M$DDRG antes de la primera llamada a JR$M/ Son necesarias dos escrituras en el re0istro JR$M F(7 .its cada unoG para escri.ir una pala.ra del pro0rama F3) .itsG' siendo el .yte m,s si0ni3icativo el primero/ Despus de cada escritura el puntero interno es autoincrementado/ JR$M$DDR 9ste re0istro se utili a para indicar la posicin de memoria en la 2ue se escri.ir,n los datos del pro0rama trans3eridos posteriormente con el re0istro JR$M/ 9l espacio disponi.le para pro0ramas de usuario se encuentra entre las direcciones *M<*** y *M<333/ 9n este proyecto no se -an utili ado pro0ramas de usuario e1ecut,ndose en el decodi3icador' por tanto los comandos JR$M y JR$M$DDR no se -an utili ado/

93

CD$!* y CD$!( 9n estos re0istros se almacena la in3ormacin de ca.ecera eMtrada del 3lu1o de datos MP9% cuando se est, decodi3icando/ 9n la !a.la </5 se detalla el si0ni3icado de cada unos de los .its de los re0istros/
it CD$!(K(5"5L CD$!(K<"3L $unci-n Pala.ra sincronismo 4D ;alor )*<8 3 ) ( * CD$!(K)"(L Capa 3 ) ( * CD$!(K*L CD$!*K(5"()L CD$!*K(("(*L Bit Proteccin !asa de .it !asa de Muestreo
3+

(6plicaci-n Datos v,lidos 4S6 (((8)?3 (/* MP9% )/* F(O)?rateG MP9% )/5 F(O<?rateG MP9% )/5 F(O<?rateG 4 44 444 Reservada Sin CRC Con CRC 4S6 (((8)?3 Reservada 3)O(7O+ BC <+O)<O() BC <<O))O(( BC 0lot adicional Marco normal Mono /ual Channel 8oint 0tereo 9streo 4S6 (((8)?3 Con copyri0-t :i.re 6ri0inal Copia CC4!! #/(8 Reservado 5*O(5 microse0

( * 3 ) ( *

CD$!*K;L CD$!*K+L CD$!*K8"7L

Pad <it Bit privado Modo

( * 3 ) ( *

CD$!*K5"<L CD$!*K3L CD$!*K)L CD$!*K("*L

9Mtensin Copyri0-t 6ri0inal En3asis ( * ( * 3 ) (

* Sin n3asis Ia<la (.4 9its de los registros 6/1I. y 6/1I% 3+ Si el campo 4D es S(S se utili a la tasa de muestreo m,s alta' si es S*S la intermedia y si es S)S o S3S la m,s .a1a/

94

$4$DDR 9ste re0istro indica la direccin de inicio del cdi0o del pro0rama escrito antes mediante los re0istros JR$M$DDR y JR$M/ Como no se utili a un pro0rama de usuario este re0istro no es iniciali ado/ V6: 9l re0istro V6: controla el volumen de reproduccin/ Se esta.lece un valor entre * y )55 para cada canal' esto de3ine la atenuacin desde el nivel m,Mimo de volumen en pasos de *'5 dB/ 9l .yte m,s si0ni3icativo controla el canal i 2uierdo y el menos si0ni3icativo el derec-o/ Poner el volumen con silencio total F)55 para am.os canalesG desconecta la alimentacin anal0ica' lo 2ue 0enera un pe2ueo clic> en los auriculares/ Para evitar esto se -a utili ado el nivel )5< como mnimo volumen' ya 2ue es pr,cticamente inaudi.le/ $4C!R:KML 9l re0istro $4C!R: se utili a para acceder al pro0rama de usuario del decodi3icador/ @o se -a utili ado en este proyecto/ 9n la !a.la </7 se descri.en las 3unciones implementadas en la li.rera del VS(**(B y utili an el protocolo SC4 -aciendo uso de los re0istros 2ue se aca.an de descri.ir/

byte SCI(byte out)

9nva el .yte out por el .us SC4 al decodi3icador' y devuelve el .yte de respuesta/
int16 vs1001_SCI_Read(byte Adr)

:ee y devuelve el .yte de la posicin 1dr/


void vs1001_SCI_Write(byte Adr, byte dataH, byte dataL)

%ra.a los .ytes data6 y data3 en la direccin 1dr/


void vs1001_swreset()

%enera un reset so3tAare del decodi3icador/


void get_vol()

Devuelve el valor del volumen del decodi3icador/

95

void set_vol(byte vol)

9sta.lece el valor vol como volumen del decodi3icador/ 9l mismo volumen para am.os canales/ Vol/ m,Mimo _ *R Vol/ mnimo_)55
void get_mp3_info()

:ee la in3ormacin los datos MP3 2ue se est,n siendo decodi3icados actuali ando las varia.les" vsQ.itrate" tasa de .it del 3lu1o de datos MP3 vsQsamplerate" 3recuencia de muestreo/ vsQstereo" mono_* estreo_( vsQmin" minuto del 3lu1o de datos 2ue se est, decodi3icando/ vsQse0" se0undo del 3lu1o de datos 2ue se est, decodi3icando/
void vs1001_PutBass(int1 actv)

Si actv es ( activa el 9ass:Ire<le' si es * lo desactiva/


void vs1001_PutDiff(int1 actv)

Si actv es ( activa el modo diferencial Fsi el sonido es estreo crea un @irtual 0urroundG' si es * lo desactiva/
Ia<la (.+ -unciones 0C#

%.3.3 Librera !ultimedia Card 9n la li.rera Multimedia Card se -an implementado las 3unciones para el control a .a1o nivel de la tar1eta de memoria/ 9stas 3unciones son principalmente de iniciali acin' con3i0uracin y lectura/ @o se -an implementado las 3unciones de escritura ya 2ue no se -an utili ado en la reali acin del presente proyecto/ Como ya se indic en el apartado anterior las tar1etas de memoria multimedia card pueden utili ar dos protocolos' el protocolo propio Fmodo Multimedia CardG y el SP4' compati.le con las tar1etas Secure Di0ital/ 9n este caso se -a optado por la utili acin del protocolo SP4 por su compati.ilidad con las tar1etas Secure Di0ital y por ser de m,s 3,cil implementacin ya 2ue el microcontrolador posee un modulo SP4 -ardAare/ 9l modo de comunicacin se esta.lece durante la iniciali acin de la tar1eta/ 9n la 4ma0en </< puede verse la 3uncin de cada pin de la tar1eta dependiendo del modo de comunicacin seleccionado/

96

#magen (.( Pinout de la tar*eta MMC

9n un mismo .us de MultimediaCard pueden conectarse -asta un m,Mimo de 3* tar1etas de memoria' el mtodo para seleccionar una tar1eta determinada depende del modo de comunicacin seleccionado/ 9n el modo MMC la tar1eta se selecciona mediante una direccin relativa FRC$' relative card addressG 2ue corresponde a un nom.re >nico asi0nado a la tar1eta durante el proceso de identi3icacin' y la tar1eta es seleccionada especi3icando su direccin relativa/ 9n modo SP4 cada tar1eta de memoria tiene un pin de seleccin de la tar1eta FCS' c-ip selectG' de esta 3orma una tar1eta se selecciona poniendo esta lnea a nivel .a1o/ Para un dispositivo con 0ran n>mero de tar1etas en un mismo .us sera pre3eri.le el uso del modo MMC' ya 2ue sera necesario un 0ran n>mero de lneas para controlar todas las tar1etas Funa lnea CS por tar1eta de memoriaG/ 9n este caso' al controlarse >nicamente una tar1eta' se considera m,s adecuado el uso el modo SP4 ya 2ue simpli3ica tanto la iniciali acin como la seleccin de la tar1eta/ 8rotocolo del !us 9n la 4ma0en </5 se puede ver el dia0rama es2uem,tico del protocolo en cada modo/ 9n modo MMC el inter3a consta de tres seales" relo1' comando y datos/ :a seal de relo1 se utili a para mantener la sincroni acin entre el sistema y la tar1eta' la seal de comando se usa para mandar comandos del microcontrolador a la tar1eta y devuelve la respuesta de la tar1eta' y la seal de datos se utili a para leer y escri.ir datos de la tar1eta/ :as seales de comando y datos son .idireccionales/ 97

9n modo SP4 el inter3a consta de cuatro seales" relo1' entrada de datos' salida de datos y seleccin del c-ip/ 9l relo1' como en el modo MMC' se utili a para mantener la sincroni acin entre el sistema y la tar1eta/ :a entrada de datos de utili a para enviar comandos a la tar1eta y escri.ir datos' mientras 2ue la salida de datos se utili a para reci.ir la respuesta de la tar1eta y para leer datos/ :as seales de entrada y salida de datos son unidireccionales/ :a seal de seleccin del c-ip se utili a para seleccionar una tar1eta en particular cuando -ay varias conectadas al .us/

#magen (.4 /iagramas de los protocolos MMC y 0P#

9Misten tres modos de trans3erencia" trans3erencia de solo un .lo2ue' trans3erencia de m>ltiples .lo2ues y trans3erencia en 3lu1o/ 9l modo MMC soporta los tres mtodos de trans3erenciaR mediante un comando se especi3ican el n>mero de .lo2ues a trans3erir' uno o m,s dependiendo si se utili a el mtodo de un solo .lo2ue o m>ltiples/ Para las trans3erencias en 3lu1o no eMiste el concepto de .lo2ueR se trans3ieren .ytes -asta 2ue la trans3erencia es detenida/ $ partir del est,ndar 3/( de la MMC$ Fpu.licado en 1unio de )**(G el modo SP4 soporta tanto trans3erencias de un solo .lo2ue como m>ltiples' el tamao del .lo2ue se cam.ia de la misma 3orma 2ue en modo MMC/ 9Misten un total de 5; comandos' aun2ue no todos 3uncionan en am.os modos/ 9n la !a.la </8 se listan un con1unto de los comandos m,s usuales en modo SP4/

98

Comando CMD*

Argumento @o

3espD R(

<om!re

2escripci-n

%6Q4D:9QS!$!9 Resetea la tar1eta/ Si CS est, a nivel .a1o la tar1eta entra en modo SP4 S9@DQ6PQC6@D $ctiva el proceso de iniciali acin de la tar1eta/ S9@DQCSD S9@DQC4D S9@DQS!$!US Usado para leer la in3ormacin CSD Usado para leer la in3ormacin C4D :ee la in3ormacin del re0istro de estado/

CMD( CMD; CMD(* CMD(3 CMD(7

@o @o @o @o K3("*L !amao del .lo2ue K3("*L Direccin

R( R( R( R) R(

S9!QB:6CD:9@ Cam.ia el tamao del .lo2ue utili ado por los comandos CMD(8 y CMD)<3; R9$DQS4@%:9QB Comando para leer datos de la :6CD tar1eta' empe ando desde la direccin especi3icada como ar0umento' con un tamao de .lo2ue introducido por CMD(7 JR4!9QB:6CD 9scri.e datos en la tar1eta' empe ando desde la direccin especi3icada y con un tamao de .lo2ue introducido por CMD(7

CMD(8

R(

CMD)<

K3("*L Direccin

R(

CMD3) CMD33 CMD3+ CMD5+ CMD5;

K3("*L Direccin K3("*L Direccin K3("*L @o importa @o K3("(L @o importa K*"*L CRC

R( R( R( R( R(

!$%QS9C!6RQS! 9sta.lece la direccin del primer $R sector del ran0o 2ue se va a .orrar !$%QS9C!6RQ9@ 9sta.lece la direccin del >ltimo D sector del ran0o 2ue se va a .orrar 9R9$S9 R9$DQ6CR CRCQ6@Q6== Reali a el .orrado en el ran0o especi3icado :ee el contenido del re0istro 6CR

$ctiva o desactiva la opcin de CRC/ Si CRC_( se activa Si CRC_* se desactiva Ia<la (.7 Comandos m!s utilizados del protocolo 0P#

9n modo SP4 la tar1eta puede devolver dos tipos de respuestas dependiendo del tipo de comando enviado" R( y R)/ 9l tipo de respuesta R) es una respuesta de (7 .its 2ue se devuelve despus de un comando CMD(3' y el tipo R( es una respuesta de + .its 2ue se devuelve despus de cual2uier otro tipo de comando/ 9n 4ma0en </7 aparece la estructura de am.os tipos de respuesta/

3; $l0unas tar1etas solo permiten tamaos de .lo2ue de 5() .ytes' por tanto solo se -a utili ado este tamao de .lo2ue/

99

#magen (.+ Estructura de las respuestas ,% y ,$

$unciones de la li!rera Comunicacin .,sica !oda la comunicacin se .asa en la 3uncin"


byte SPI(byte out)

9s la 3uncin m,s .,sica' 2ue enva un .yte por el puerto SP4 del microcontrolador y devuelve la respuesta/ :a se0unda 3uncin .,sica de la li.rera de control de la tar1eta es"
byte MMCCommand(byte AdrH, byte CRC) CMD, unsigned int16 AdrH, unsigned int16

Cada comando consiste en <+ .its F7 .ytesG 2ue comprenden un .it de inicio Fsiempre *G' un .it de trans3erencia Fsiempre (G' 7 .its indicando el comando' < .ytes con los ar0umentos del comando' 8 .its de CRC y un .it de 3in Fsiempre a (G/ 9sta 3uncin enva un comando a la tar1eta' de 3orma 2ue SCMDS es el primer .yte enviado F2ue incluye el comandoG' S$drCS y S$dr:S son los ar0umentos del comando' y SCRCS es el >ltimo .yte 100

enviado F2ue incluye el CRCG/ :a 3uncin devuelve una respuesta R( de la tar1eta Fpara una respuesta R) sera necesario -acer una llamada adicional a la 3uncin SP4G/ Si 3uese necesario el envo o lectura de datos despus de un comando' ste se -ara mediante llamadas a la 3uncin SPI/ 4niciali acin $ntes de poder utili ar la tar1eta -ay 2ue iniciali arla ya 2ue inicialmente la tar1eta entra en modo MMC/ 9n la 4ma0en </8 se puede ver un dia0rama del proceso de iniciali acin utili ado en la 3uncin"
byte MMCInit()

#magen (.7 /iagrama de inicializacin

101

9l proceso de iniciali acin es el si0uiente"

(/ 4nicialmente se pone a nivel alto la seal CS' de 3orma 2ue se desactiva la )/ 3/ </
tar1eta/ Se envan +* pulsos de relo1 para la iniciali acin :a seal CS se pone a nivel .a1o/ Se enva el comando CMD* F%6Q4D:9QS!$!9G/ :a tar1eta a>n est, en modo MMC y por tanto se -a de enviar el mensa1e en este 3ormato/ 9n concreto se enva" *M<*' *M**' *M** y *M;5' donde *M<* es el comando y *M;5 el CRC/ $ partir de este momento la tar1eta pasa a modo SP4 y la respuesta est, en 3ormato R(/ 9sta respuesta de.e ser *M*(' de lo contrario -a ocurrido un error y se de.e comen ar de nuevo el proceso de iniciali acin/ Se desactiva y se vuelve a activar la seal CS/ Se enva el comando CMD( FS9@DQ6PQCMDG -asta 2ue la respuesta sea *M**/ Se -a 3i1ado un m,Mimo de ()+ intentos antes de dar error y por tanto reiniciali ar todo el proceso/ Se leen los re0istros C4D' CSD y 6CR mediante los comandos CMD(*' CMD; y CMD5+ respectivamente/ Se comprue.an 2ue las respuestas a estos comandos sean *M**/ :a tar1eta ya est, iniciali ada en modo SP4 correctamente/ Se 3i1a el tamao del .lo2ue de 5() .ytes para posteriores lecturasOescrituras mediante el comando CMD(7/

5/ 7/ 8/ +/ ;/

Con3i0uracin Durante la iniciali acin se con3i0ura la tar1eta de memoria de 3orma 2ue pueda ser leda y escrita mediante en modo SP4/ :a >nica con3i0uracin adicional necesaria 2ue se -a de e3ectuar despus de esta iniciali acin es la modi3icacin del tamao del .lo2ue' si dic-a modi3icacin 3uese necesaria/ Para este propsito se -a implementado la 3uncin"
void MMCSetDataMode(byte bytes)

Donde S.ytesS es el tamao del .lo2ue en .ytes' 2ue por de3ecto despus de la iniciali acin es 5()/ 9s importante tener en cuenta 2ue al0unas tar1etas de memoria solo soportan escrituras con un tamao de .lo2ue de 5() .ytes' por lo 2ue esta 3uncin no tendra e3ecto/ Para 3i1ar el tamao del .lo2ue se -ace una llamada al comando CMD(7 FS9!QB:6CDQ:9@%!CG/ :ectura Se -an implementado tres 3unciones de lectura" para leer un .yte' dos .ytes y un .lo2ue de datos/ 9sto se -a -ec-o as para optimi ar el cdi0o de 3orma 2ue se llame a una u otra 3uncin dependiendo de lo 2ue se 2uiera leer y acelerando la e1ecucin del cdi0o en al0unas partes crticas o.teniendo me1ores tasas de trans3erencia/ :as 3unciones son" 102

byte eeC!ar(int32 dir) int16 eeInt1"(int32 dir) int MMC eeBlo#ue(int32 dir, byte *Gbuffer)

:as dos primeras 3unciones 3i1an un tamao de .lo2ue de ( y ) .ytes respectivamente -aciendo una llamada a la 3uncin MMCSetDataMode' reali an la lectura de los datos en la posicin SdirS mediante el comando CMD(8 FR9$DQS4@%:9QB:6CDG y restauran el tamao del .lo2ue con el valor inicial/ :a 3uncin MMC:eeBlo2ue lee mediante el comando CMD(8 un .lo2ue de datos con el tamao 2ue -aya 3i1ado antes de la llamada a la 3uncin y escri.e los datos en S%.u33erS/ 9scritura $un2ue 3inalmente no -a sido necesario el uso de la escritura en la tar1eta de memoria en este proyecto' se -a implementado una 3uncin de escritura de .lo2ue para 3acilitar la adicin de 3uturas 3uncionalidades/ :a 3uncin es"
int MMC$ra%aBlo#ue(int32 dir, byte *Gbuffer)

9scri.e en la direccin SdirS desde S%.u33erS tantos .ytes como el tamao del .lo2ue de3inido en ese momento/ Para ello -ace uso del comando CMD)< FJR4!9QB:6CDG' posteriormente se enva un to>en inicio de .lo2ue y los datos a escri.ir/ :a 3uncin devuelve * si -a -a.ido al0>n error' de lo contrario devuelve (/

%.3.% Librera .&015 Para almacenar los arc-ivos mp3 en la tar1eta de memoria es necesario una estructura mediante la cual se or0anice la in3ormacin almacenada/ 9l sistema de arc-ivos es el responsa.le de la or0ani acin de los datos en una unidad de almacenamiento/ Se -a ele0ido el uso del sistema de arc-ivos =$!(7 ya 2ue es el m,s utili ado en las tar1etas de memoria y los dispositivos 2ue las utili an' por tanto la tar1eta podr, ser utili ada y leda en di3erentes dispositivos/ @o o.stante el sistema de arc-ivos =$!(7 tiene una serie de limitaciones 2ue -ay 2ue tener en cuenta' stas son"

755(8 arc-ivos como m,Mimo/ 5() arc-ivos como m,Mimo en el directorio ra / @om.res de arc-ivos de +^3 caracteres Fsin uso del sistema de nom.res !amao m,Mimo del volumen de ) %B F< %B con tamao del cluster de

lar0osG

7< DBG/ 9stas limitaciones no son un inconveniente en este proyecto' siempre y cuando no se 2uieran usar tar1etas de memoria de m,s de ) %B/ 9n la !a.la </+ podemos ver una comparacin de los distintas versiones de =$!/ 103

$A,12 M,Mimo tamao de arc-ivo @>mero m,Mimo de arc-ivos :on0itud m,Mima del nom.re de arc-ivo 3) MB <'*88 +/3

$A,16 ) %B 75'5(8 +/3 FSin :=@G

$A,32 < %B )7+'<35'<38 )55 usando :=@ + !B

!amao m,Mimo de 3) MB ) %B F<%B con volumen clusters de 7<DBG Ia<la (.; Comparacin de las versiones de -1I

(structura de $A,16 :a estructura del sistema de arc-ivos =$!(7 se detalla en el apndice 44/ $unciones de la li!rera 9n la li.rera de 3unciones para el acceso al sistema de arc-ivos las 3unciones se pueden clasi3icar en cuatro tipos" 3uncin de inicili acin' 3unciones de acceso a .a1o nivel' 3unciones de acceso a alto nivel' 3unciones de lectura de MP3/ 9n las 3unciones de acceso a .a1o nivel se tra.a1a directamente con posiciones de memoria y n>meros de cluster' mientras 2ue las de acceso a alto nivel se simpli3ica el acceso al sistema de arc-ivos de 3orma 2ue se utili an mane1adores para a.rir' leer y cerrar arc-ivos/ :as 3unciones de lectura de MP3 son una versin modi3icada de las 3unciones de lectura de arc-ivos de 3orma 2ue aumente la velocidad de lectura y se puedan reproducir MP3 de tasas de .it altos/ 4niciali acin :a 3uncin de iniciali acin void MMC&at1"_Ini() se encar0a de .uscar en la memoria la primera particin a partir del MBR' o.tener datos necesarios para el acceso al contenido de la particin Fsectores por =$!' sectores por cluster' .ytes por cluster' etcG y de locali ar la ta.la =$! Fse utili a la primeraG' el directorio ra y el ,rea de datos/ 9stos datos se introducen en varia.les 0lo.ales 2ue posteriormente utili ar, el resto de 3unciones de la li.rera/ $cceso a .a1o nivel
int1 IsReg'alido(int32 dir)

9l valor SdirS es la direccin a.soluta de una entrada dentro de un directorio Fel directorio ra o cual2uiera de sus su.directoriosG/ :a 3uncin devuelve S(S si se trata de una entrada v,lida F2ue este en uso y no .orradaG' de lo contrario devuelve S*S/

104

int1 Is&i(!ero(int32 dir)

:a 3uncin Is&i(!ero es similar a IsReg'alido' SdirS -a de ser la direccin a.soluta de una entrada dentro de un directorio/ 9n este caso la 3uncin comprue.a si la entrada es de un arc-ivo' devolviendo S(S en caso de 2ue lo sea o S*S en caso de 2ue sea una entrada no v,lida o un directorio/
int16 )e*tCluster(int16 (luster)

9sta 3uncin comprue.a en la ta.la =$! cual es el si0uiente cluster al cluster pasado' y lo devuelve /
int32 MMCDir&romCluster(int16 (luster)

:a 3uncin MMCDir&romCluster devuelve la direccin a.soluta del cluster pasado como par,metro/
int32 MMC&ileSize(int32 dir)

9l par,metro SdirS de la 3uncin MMC&ileSize es la direccin a.soluta de una entrada dentro de un directorio correspondiente a un arc-ivo/ :a 3uncin devuelve el tamao de dic-o arc-ivo/
int16 MMC&irstCluster(int32 dir)

9l par,metro SdirS de la 3uncin MMC&irstCluster es la direccin a.soluta de una entrada dentro de un directorio correspondiente a un arc-ivo/ :a 3uncin devuelve el primer cluster donde se almacenan los datos de dic-o arc-ivo/
void MMC&ile)ame(int32 dir+,byte -nom%re)

9l par,metro SdirS de la 3uncin MMC&ile)ame es la direccin a.soluta de una entrada dentro de un directorio correspondiente a un arc-ivo/ :a 3uncin escri.e en Snom.reS el nom.re completo FeMtensin incluidaG de dic-o arc-ivo/
void MMC&ile)ame)o.*t(int32 dir+,byte -nom%re)

9l par,metro SdirS de la 3uncin MMC&ile)ame)o.*t es la direccin a.soluta de una entrada dentro de un directorio correspondiente a un arc-ivo/ :a 3uncin escri.e en Snom.reS el nom.re de dic-o arc-ivo sin la eMtensin/

105

void MMC&ile.*t(int32 dir+,byte -e*t)

9l par,metro SdirS de la 3uncin MMC&ile)ame)o.*t es la direccin a.soluta de una entrada dentro de un directorio correspondiente a un arc-ivo/ :a 3uncin escri.e en Se*tS la eMtensin de dic-o arc-ivo/ $cceso a alto nivel Para la nave0acin entre directorios' listado de arc-ivos en directorios y lectura de arc-ivos se -an implementado 3unciones 2ue usan mane1adores 2ue -acen re3erencia a un arc-ivo o directorio determinado/ :a li.rera permite la apertura simultanea de varios arc-ivos y directorios' identi3icando cada uno de ellos mediante un mane1ador 2ue -ace re3erencia a una estructura de datos/ :a estructura de datos del mane1ador de arc-ivos es la si0uiente"
t/pedef,stru(t,0 ,int1",Root_(luster1,,,,22Primer,Cluster, ,int1",Current_Cluster1,22Cluster,a(tual ,int1",)e*t_Cluster1,,,,22Siguiente,(luster ,int33,Cluster_4ffset1,22Desplazamiento,desde,el,ini(io,del,(luster ,int33,Current_5ddrs1,,22Posi(ion,a(tual,en,el,ar(!ivo ,int33,Size1,,,,,226aman/o,del,fi(!ero ,int33,Read1,,,,,22B/tes,leidos,7posi(ion,logi(a,en,el,fi(!ero8 ,int33,dir_addr1,22Dire((ion,de,la,entrada,del,ar(!ivo ,%/te,usado1,,,,,22Si,el,mane9ador,esta,siendo,usado,o,no, :,6&;andle1

:a estructura de datos del mane1ador de directorios es la si0uiente"


t/pedef,stru(t,0 ,int33,dire((ion1,22Dire((ion,del,ini(io,del,dire(torio ,int33,dirpadre1,,22Dire((ion,del,dire(torio,padre ,int1",root(luster1,22Primer,(luster ,int33,(ursor1,22Indi(a,la,posi(ion,a(tual,en,el,dire(torio ,%/te,usado1,,,22Si,el,mane9ador,esta,siendo,usado,o,no :,6D;andle 6&;andle,&!andle<M5=_&I .S>1 6D;andle,D;andle<M5=_DIR>1

Se de3inen dos vectores' uno de cada tipo' de 3orma 2ue el mane1ador del arc-ivo o directorio es el ndice del vector donde se encuentran los datos de ese arc-ivo o directorio' y donde el tamao del vector determina el n>mero de arc-ivos o directorios 2ue pueden estar a.iertos de 3orma simult,nea"
byte MMC4pen&ile(int32 dir)

:a 3uncin MMC4pen&ile a.re un arc-ivo y devuelve el mane1ador de este/ 9l par,metro SdirS es la direccin a.soluta de la entrada del arc-ivo a a.rir dentro de un directorio/ 106

byte MMCReset&ile(byte !and)

:a 3uncin MMCReset&ile pone el cursor de lectura del arc-ivo especi3icado por el mane1ador S-andS al principio del arc-ivo/ Devuelve S*S si el mane1ador corresponde a un arc-ivo no a.ierto y S(S si se la operacin -a tenido Mito/
void MMCClose&ile(byte !and)

:a 3uncin MMCClose&ile cierra el arc-ivo al 2ue -ace re3erencia el mane1ador S-andS/


byte MMCRead&ile(byte !and+,byte -$%uffer)

:a 3uncin MMCRead&ile lee tantos .ytes como estn de3inidos como tamao de .lo2ue de la tar1eta Fnormalmente se utili an 5() .ytesG del arc-ivo al 2ue -ace re3erencia el mane1ador S-andS a partir del cursor de lectura del arc-ivo Flectura secuencialG' y los escri.e en S%.u33erS/ 9sta 3uncin -ace 2ue el cursor de lectura del arc-ivo avance tantos .ytes como -an sido leidos/ Si se o.serva la estructura de datos del mane1ador de arc-ivos' no eMiste nin0>n par,metro ScursorS propiamente dic-o/ 9ste se calcula a partir del valor de los par,metros SCurrentQClusterS y SClusterQo33setS/
byte MMCRead&ilePos(byte !and+ byte -$%uffer+ int16 size+ int32 ini)

:a 3uncin MMCRead&ilePos lee los .ytes indicados por el par,metro Ssi eS Fm,Mimo 5()G del arc-ivo 2ue -ace re3erencia el mane1dor S-andS/ :a lectura comien a en la posicin del arc-ivo indicada por el par,metro SiniS' y los escri.e en S%.u33erS/ :a 3uncin devuelve S*S si se -a e3ectuado correctamente' S)S si el n>mero de .ytes a leer es superior a 5()' S3S si la posicin de inicio de lectura SiniS m,s el n>mero de .ytes a leer supera el tamao del arc-ivo' y S(S si -a -a.ido un error durante la lectura/ 9sa 3uncin a3ecta a la posicin del cursor de lectura del arc-ivo 2ue se posiciona despus del >ltimo .yte ledo/
byte MMC4penDir(int32 dir+,int32 dir_padre)

:a 3uncin MMC4penDir a.re un directorio y devuelve el mane1ador/ 9l par,metro SdirS es la direccin a.soluta de la entrada del directorio Fal i0ual 2ue en era la direccin de la entrada del arc-ivoG/ 9l par,metro SdirQpadreS es la direccin de la entrada del directorio padre/
byte MMCResetDir(byte d;and8

:a 3uncin MMCResetDir pone en la posicin inicial el cursor del directorio al 2ue -ace re3erencia el mane1ador SdCandS/ 9l cursor se utili a para o.tener cada una de las 107

entradas dentro de un directorio de 3orma secuencial mediante llamadas a las 3unciones MMC)e*tReg o MMC)e*t&ile/
void MMCCloseDir(byte d;and8

:a 3uncin MMCCloseDir cierra el directorio al 2ue -ace re3erencia el mane1ador S-andS' li.erando recursos para 2ue se puedan a.rir m,s directorios/
int32 MMCDire(tor/Dir(byte d;and8

:a 3uncin MMCDire(tor/Dir devuelve la direccin de la entrada del directorio al 2ue -ace re3erencia el mane1ador SdCandS/
int32 MMC)e*tReg(byte d;and8

:a 3uncin MMC)e*tReg devuelve la direccin de la entrada v,lida al 2ue apunta el cursor y avan a el cursor una posicin/ 9sta 3uncin se utili a para listar de 3orma secuencial las entradas v,lidas dentro de un directorio/
int32 MMC)e*t&ile(byte d;and8

:a 3uncin MMC)e*t&ile es similar a MMC)e*tReg/ 9n este caso se devuelve la primera entrada v,lida 2ue sea un arc-ivo' salt,ndose los directorios/ !ras la llamada el cursor se sit>a despus de la entrada del arc-ivo devuelto/
int32 MMC$et.ntr/Position(byte d;and+,int16 pos8

:a 3uncin MMC$et.ntr/Position devuelve la direccin a.soluta de la entrada v,lida SposS dentro del directorio al 2ue -ace re3erencia SdCandS/ :a 3uncin >nicamente tiene en cuenta entradas v,lidas dentro del directorio' por tanto el directorio de.er, tener' al menos' tantas entradas validas como indi2ue el par,metro SposS/ =unciones de lectura de MP3 Para la reproduccin de los arc-ivos MP3 es necesario optimi ar las 3unciones de lectura/ Por ello se -an implementado tres 3unciones 2ue no utili an mane1ador y son especi3icas para la 3uncin encar0ada de leer el 3lu1o de datos MP3 y enviarlo a decodi3icador/ :as 3unciones son"
void MMC4penMP3&ile(int32 dir8 int16 MMCReadMP3&ile1(byte -$%uffer8 byte MMCReadMP3&ile3(int16 offset8

:a 3uncin MMC4penMP3&ile es muy similar a la 3uncin MMC4pen&ile pero no devuelve nin0>n mane1ador' ste es interno' ya 2ue no se puede a.rir m,s de un arc-ivo simult,neo para ser usado con estas 3unciones/ Una ve a.ierto el arc-ivo se utili an las 3unciones MMCReadMP3&ile1 y MMCReadMP3&ile3 para e3ectuar las lecturas/ 9l 108

3uncionamiento de estas 3unciones es muy similar al de MMCRead&ile' pero en este caso las operaciones 2ue reali an las 3unciones se -an dividido en dos/ :a primera 3uncin reali a la lectura de los datos del arc-ivo MP3 a.ierto' los escri.e en S%.u33erS y devuelve la posicin relativa del cursor dentro del cluster 2ue est, leyendo/ :a se0unda 3uncin -a de ser llamada siempre despus de la primera pas,ndole como par,metro el So33setS devuelto por la primera/ 9sta 3uncin reali a todos los c,lculos necesarios para determinar si se -a alcan ado el 3inal del arc-ivo' si se -a alcan ado el 3inal del cluster' determinar cu,l es el si0uiente cluster' etc/ 9l 3uncionamiento de estas 3unciones es el si0uiente"

(/ Se a.re el arc-ivo MP3 a reproducir con la 3uncin MMC4penMP3&ile/ )/ Se -ace una llamada a la 3uncin MMCReadMP3&ile1/ 3/ Se envan al decodi3icador de MP3 una parte de los datos ledos' lo 2ue
permite tenerlos en el .u33er de lectura del decodi3icador y empe ar su reproduccin/ </ Se -ace una llamada a la 3uncin MMCReadMP3&ile3 pas,ndole como par,metro el resultado devuelto por MMCReadMP3&ile1 para 3inali ar los c,lculos necesarios para la prMima lectura/ 5/ Se enva el resto de datos leidos al decodi3icador/ 7/ Ua se puede empe ar otro ciclo de lectura Fpaso )G/ %racias a esta divisin de la 3uncin de lectura se evita 2ue se vace el .u33er de reproduccin del decodi3icador mientras se reali an los c,lculos necesarios para las prMimas lecturas/

%.3.) Librera de la pantalla LC* Se -a utili ado una pantalla :CD 0r,3ica monocromo de +<M<+ pMeles 2ue utili a un controlador P-illips PCD+5<</ 9sta pantalla se utili a en tel3onos mviles @oBia 33(* y son econmicas y relativamente sencillas de conse0uir/ 9l inter3a de comunicacin consta de 5 lneas' 2ue pueden verse en la !a.la </(5/
<om!re SC:D SD4@ DOC SC9 R9S 9ntrada de datos Seleccin datoOcomando Seleccin del c-ip Fchip selectG ,eset Ia<la (.%4 3Dneas de comunicacin de la pantalla 3C/ 2escripci-n Relo1 para el .us de datos SD4@

9structura de la memoria 9l controlador se compone de una memoria R$M interna FDDR$M' /isplay /ata ,amG donde se almacenan los datos 2ue son mostrador por la pantalla :CD/ :a memoria se divide en 7 .ancos de +< .ytes cada uno F7 M + M +< .itsG/ 9l controlador re3resca continuamente la pantalla con el contenido de la memoria DDR$M de 3orma 2ue cada .it de la memoria es un piMel en la pantalla' dependiendo de si est, con3i0urada en modo normal o inverso un .it a S(S corresponder, a un piMel encendido o apa0ado/ 9n la 109

4ma0en </(* puede verse como se mapean los datos contenidos en la memoria DDR$M en la pantalla/ 9l direccionamiento dentro de la memoria se reali a mediante un puntero con dos direccionesR una direccin I cuyo ran0o es de * a +3 y corresponde a las comunas' y una direccin U cuyo ran0o es de * a 5 y corresponde a los .ancos F0rupos de + 3ilasG/ 9n modo de direccionamiento vertical despus de cada .yte la direccin U del puntero se incrementa' despus de la >ltima direccin de U FU_5G' U vuelve a la posicin * y I se incrementa/ 9n el modo de direccionamiento -ori ontal ocurre de una 3orma similar' despus de cada .yte se incrementa I' cuando I alcan a su lmite vuelve a la posicin * y se incrementa U/ Cuando el puntero supera el >ltimo .yte FI_+3' U_5G vuelve a la posicin F*'*G/

#magen (.%. Mapeo de la memoria //,1M en la pantalla. EEtraDdo de las especificaciones del controlador PC/;4((.

Comunicacin 9n la comunicacin entre el microcontrolador y el controlador de la pantalla :CD se pueden distin0uir dos tipos de instrucciones" si la lnea DOC est, a nivel .a1o el .yte enviado por la lnea SD4@ es interpretado como un comando/ Si la lnea DOC est, a nivel alto los datos enviados por SD4@ se escri.en en la memoria DDR$M del controlador/ Despus de cada escritura en la memoria el puntero es incrementado autom,ticamente/ 9l nivel de la lnea DOC es ledo durante el >ltimo .it del .yte de datos enviado por SD4@/ 9l inter3a serie se iniciali a cuando la lnea SC9 est, a nivel alto' y se -a.ilita en el 3lanco de .a1ada de esta' indicando el comien o de una transmisin de datos/ Primero se transmite el .it m,s si0ni3icativo de cada .yte' y las instrucciones pueden enviarse en 110

cual2uier orden/ 9l valor de la lnea SD4@ es capturado en los 3lancos de su.ida de la seal de relo1 SC:D/ 9n la !a.la </(7 se muestra el 1ue0o de instrucciones/
Instrucci-n 0H0 o 1 @6P #ue0o de instrucciones * * * * * * * ( * * * * * PD * V * C @o operacin PD" Control de apa0ado V" Direccionamiento vertical C" #ue0o eMtendido de instrucciones/ 2CC Comando 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 2escripci-n

9scri.ir dato 0H0 Reservado Control :CD Reservados Pone direccin U de DDR$M Pone direccin I de DDR$M 0H1 Reservados Control de temperatura Reservados Sistema .ias Reservados =i1a el Vop

( * * * *

D8 * * * *

D7 * * * (

D5 * * * *

D< * * ( *

D3 * ( M *

D) ( D M U)

D( M * M U(

D* 9scri.e el .yte en la DDR$M M 9 M Reservados Pone la con3i0uracin del :CD Reservados

U* Pone la direccin U del puntero *iUi5 I* Pone la direccin I del puntero * i M i +3

I7

I5

I<

I3

I)

I(

* * * * * * *

* * * * * * (

* * * * * (

* * * * * M

* * * * ( M

* * * ( * M

* * ( M M

* (

( M

Reservados Reservados

!C( !C* Pone el coe3iciente de temperatura M M M M Reservados Reservados

BS) BS( BS* Pone el valor al sistema .ias

Vop7 Vop5 Vop< Vop3 Vop) Vop( Vop* =i1a el valor de Vop Ia<la (.%+ 8uego de instrucciones de la pantalla 3C/

:as instrucciones S#ue0o de instruccionesS y SControl :CDS permiten 3i1ar el valor de varios re0istros" PD" S*S_j c-ip activoR S(S_j c-ip en modo Sapa0adoS/ V" S*S_j direccionamiento -ori ontalR S(S_j direccionamiento vertical/ C" S*S_j 1ue0o de instrucciones .,sicoR S(S_j instrucciones eMtendidas/ D y 9" ** pantalla en ne0roR (* modo normalR *( todos los se0mentos encendidosR (( modo de vdeo inverso/

:a instruccin SControl de temperaturaS 3i1a el coe3iciente del control de temperatura' 2ue controla la tensin de alimentacin del :CD en 3uncin a la temperatura/ :as 3unciones para 3i1ar el valor de <ias y Vop Ftensin operacionalG sirven para el control de la tensin del :CD y su contraste/ 9n la 4ma0en </(( se puede ver el dia0rama de tiempos del envo de un .yte/ 111

#magen (.%% /iagrama de tiempos del envDo de un <yte

4niciali acin Despus de encender la pantalla :CD el valor de los re0istros y la memoria no est,n de3inidos y se de.e resetear el controlador/ 9l reset 3i1a unos valores determinados en los re0istros' pero el contenido de la memoria contin>a siendo indeterminado/ Por tanto' despus de esta.lecer los valores de tensin operacional' .ias y modo -ori ontal o vertical' se -a de reali ar un .orrado de la pantalla/ 9l proceso de iniciali acin utili ado es el si0uiente"

(/ )/ 3/ </ 5/ 7/ 8/ +/

Reset del controlador 9nvo de instruccin para activar el 1ue0o de comandos eMtendidos/ Se de3ine Vop Se de3ine el valor .ias Se selecciona el modo -ori ontal o vertical Fen este caso -ori ontalG Se enciende el display Fcomando *M*;G Se .orra la memoria DDR$M/ Se sit>a el puntero en la posicin inicial F*'*G/

=unciones de la li.rera 9Misten dos 3unciones internas de la li.rera' 2ue se -an implementado para ser utili adas por otras 3unciones de la li.rera y no eMternamente/ 9stas son"
void void CD_write_(ommand(byte (md8 CD_write_data(byte data8

$m.as 3unciones son similares' envan el .yte 2ue se les pasa como par,metro' en el caso de CD_write_(ommand la lnea DOC se pone a nivel .a1o para indicar 2ue se trata de un comando' y en CD_write_data a nivel alto/ 9l resto de 3unciones' 2ue -acen uso de estas' son"
void CD_Init(8

=uncin de iniciali acin del controlador de la pantalla :CD/ Si0ue el al0oritmo de iniciali acin descrito anteriormente/ 112

void

CD_goto*/(byte *_pos+,byte /_pos8

9sta 3uncin esta.lece la posicin del puntero de escritura de la memoria DDR$M en la posicin I_S*_posS y U_Sy_posS/
void CD_(lean_ddram(8 CD_(lean_ddram

:a 3uncin ponindola a S*S/


void

.orra el contenido de la memoria DDR$M

CD_(!ar(byte (ara(ter8

9l controlador no dispone de una ta.la de caracteres' por tanto se -an de3inido dos vectores 2ue contienen los caracteres al3anumricos tanto en may>sculas como en min>sculas FSS incluidaG/ 9st,n descritos por un con1unto de 5 .ytes cada uno 2ue de3inen su representacin 0r,3ica como una matri de 5M+ Fen realidad cada car,cter es una matri de 5M8' la >ltima 3ila de de1a en .lanco para separar lneas de caracteresG/ 9l par,metro ScaracterS es el car,cter en 3ormato $SC44 2ue es trans3ormado al ndice del vector donde se almacena su representacin' la cual se enva al controlador :CD para 2ue la escri.a en la memoria DDR$M en la posicin en la 2ue se encuentre el puntero en ese momento/
void CD_write_minnum(byte numero8

:a 3uncin CD_write_minnum es similar a CD_(!ar/ 9n este caso la 3uncin escri.e >nicamente n>meros utili ando una 3uente m,s pe2uea' de <M8 pMeles por n>mero/
void CD_%itmap(byte pos*+ ,byte pos/+ ,byte *_size+byte /_size+, byte logini8

$dem,s del vector de caracteres se -a de3inido un vector de im,0enes/ :a 3uncin CD_%itmap escri.e en la posicin I_Spos*S U_Spos/S la ima0en situada en el vector en la posicin SloginiS y con un tamao S*_sizeS M S/_sizeS/
void CD_i(on(byte *+,byte /+,byte num8

:a 3uncin CD_i(on es similar a CD_%itmap' en este caso se utili a un vector de iconos con un tamao prede3inido de ()M+ piMels/ :os par,metros SMS e SyS son la posicin en la 2ue se escri.ir,n los datos y SnumS el ndice dentro del vector de iconos/

113

%.3.5 Librera 123 Como se comenta.a en el captulo del desarrollo -ardAare' el mdulo USB consta de un .us de + Bits y varias lneas de comunicacin' de las cuales se -an utili ado las si0uientes" RI=b FsalidaG" Cuando est, a nivel .a1o al menos un .yte est, esperando en el .u33er de .ytes reci.idos del modulo USB a ser ledos por el microcontrolador/ 9st, a nivel alto si el .u33er est, vaco/ !I9b FsalidaG" Cuando est, a nivel alto indica 2ue el .u33er de transmisin est, lleno' por tanto de.e esperarse antes de escri.ir nuevos datos/ JR FentradaG" Cuando se pasa de nivel alto a .a1o el mdulo USB lee los + .its de la lnea de datos y mete el .yte en el .u33er de transmisin/ :os datos del .u33er de transmisin son transmitidos al ordenador en el periodo de tiempo determinado por el timeout del .u33er de transmisin Fcon3i0ura.le de ( a )55msG RDb FentradaG" $l ponerlo a nivel .a1o el primer .yte del .u33er de recepcin se pone en las lneas de datos/ Cuando se pasa de nuevo a nivel alto las lneas de datos se ponen en estado de alta impedancia/ S:99P FSalidaG" Corresponde al pin PJR9@b del c-ip' se pone a nivel .a1o despus del proceso de enumeracin del dispositivo/ Sirve para controlar la alimentacin del dispositivo y detectar su enumeracin por parte del host/

:as 3unciones desarrolladas en la li.rera USB son muy .,sicas y se encar0an de la iniciali acin' compro.acin del estado del mdulo USB y transmisin de .ytes/ Son las si0uientes"
void Ini_?SB(8

4niciali a los re0istros internos del microcontrolador para usar las lneas de comunicacin con el mdulo USB de 3orma correcta/
int1 is?SB.numerado(8

:a 3uncin devuelve S(S si el mdulo USB esta conectado a un host FordenadorG y -a sido enumerado por ste' y de lo contrario devuelve S*S/
int1 ;a/Datos?SB(8

:a 3uncin devuelve S(S si eMisten datos para ser ledos en el .u33er del mdulo USB' y de lo contrario devuelve S*S/
void (lear_?SB_out%uffer(8

:a 3uncin (lear_?SB_out%uffer limpia el .u33er de lectura del mdulo USB/

114

void put_?SB(byte data8

9nva el .yte SdataS al mdulo USB Fpara ser transmitido al ordenadorG/


byte get_?SB(8

:a 3uncin get_?SB lee y devuelve un .yte del .u33er de lectura del mdulo USB' si el .u33er est, vaco se espera -asta 2ue se reci.e al menos un .yte/
byte get_?SB_timer(byte timeout8

:a 3uncin get_?SB_timer es muy similar a get_?SB' en este caso si el .u33er est, vaco se espera un tiempo 3i1ado por el par,metro StimeoutS FtimeoutO(* msG' si en este tiempo el mdulo no -a reci.ido nin0>n .yte la 3uncin devuelve *M== y pone la varia.le de error F!ime6ut9rrorG a S(S/
void ?SB_.nviaBlo#ue(int16 nB/tes+,byte -datos8

:a 3uncin ?SB_.nviaBlo#ue enva al mdulo USB tantos .ytes como indica el par,metro SnBytesS de la varia.le SdatosS/

%.3.6 Lectura de I*3-1 ( I*3-2 9l 3ormato de audio MP3 no dispone de 3orma nativa de nin0una 3orma de almacenar in3ormacin so.re su contenido/ 9l 3ormato 4D3 es un sistema muy popular y utili ado de eti2uetas 2ue se almacenan en los arc-ivos de audio MP3 aadiendo in3ormacin so.re estos' como el ttulo de la cancin' artista' ao' 0nero' etc/ 9Misten di3erentes versiones de 4D3 compati.les entre s' de 3orma 2ue un mismo arc-ivo MP3 puede contener eti2uetas de la versin (/( y de la versin )/*/ 9Misten dos versiones principales del 3ormato 4D3" la versin 4D3v( Fla >ltima especi3icacin es la (/( 2ue aade a la (/* in3ormacin del n>mero de pistaG 2ue almacena la in3ormacin al 3inal del arc-ivo' y la versin 4D3v) Factualmente la >ltima especi3icacin es la )/<G 2ue almacena la in3ormacin al inicio del arc-ivo/ Se -an implementado dos 3unciones para leer parte de la in3ormacin contenida en las eti2uetas 4D3 Fsi est,n presentesG para ser posteriormente mostrada por pantalla/ :a in3ormacin leda es el ttulo' autor y ,l.um de la cancin/ :as 3unciones son"
int ID3v1(byte !and8 int ID3v3(byte !and8

:a primera 3uncin lee la in3ormacin de la eti2ueta 4D3v(' y la se0unda de la eti2ueta 4D3v) sin ca.ecera eMtendida/ :as 3unciones devuelven S(S si se -a podido leer la eti2ueta correctamente y de lo contrario devuelven S*S/ 9l par,metro !and es el mane1ador del arc-ivo MP3/ :os datos ledos se 0uardan en varia.les 0lo.ales 2ue -acen re3erencia al MP3 en uso/ $ continuacin se reali a una pe2uea eMplicacin de am.as versiones/ 115

4D3v( :a eti2ueta 4D3v( se almacena en los >ltimos ()+ .ytes de los arc-ivos MP3/ $l ser una eti2ueta de tamao 3i1o y reducida' la in3ormacin 2ue almacena es .,sica y no permite aadir nuevos elementos/ 9n la !a.la </(8 puede verse la composicin de la eti2ueta 4D3v(/

,amaIo 3 Bytes 3* Bytes 3* Bytes 3* Bytes < Bytes 3* Bytes ( Byte f!$%g

Contenido !tulo de la cancin $rtista Hl.um $o Comentarios Fen la versin (/( el >ltimo .yte es el n>mero de pistaG

%nero Fndice de una lista de +* 0nerosG Ia<la (.%7 Estructura de la etiqueta #/ v%

4D3v) De.ido a las limitaciones de las versiones (/M Flon0itud de eti2uetas insu3iciente' uso >nicamente de caracteres $SC44' n>mero de eti2uetas insu3iciente' etc/G se -a desarrollado una nueva versin 2ue aporta muc-a m,s 3leMi.ilidad/ :as me1oras m,s si0ni3icativas son" Utili acin de car,cteres unicode/ 9ti2uetas al inicio del arc-ivo' lo 2ue 3acilita su di3usin mediante streaming ya 2ue no es necesario descar0arlo completamente/ @o -ay restricciones respecto a la lon0itud de las eti2uetas FeMiste una restriccin m,Mima de (7 MB por marco y )57 MB en totalG/ 9s posi.le incluir elementos no teMtuales' como im,0enes/ Se pueden incluir eti2uetas de3inidas por el usuario/ Contiene un fes2uema de desincroni acing 2ue evita 2ue el decodi3icador intente reproducirla/ Soporta in3ormacin encriptada/

:a eti2ueta 4D3v) esta compuesta por una ca.ecera' un cuerpo y un con1unto de marcos' y cada marco contiene una ca.ecera y uno o m,s campos de datos/ 9s un sistema relativamente comple1o y por tanto no se van a eMplicar a2u los detalles de su estructura/ :a 3uncin implementada comprue.a la eMistencia de la eti2ueta Ff4D3g en los primeros .ytesG y .usca la in3ormacin de ttulo' artista y ,l.um en el primer marco/

116

%.3.< .unciones de -isuali,acin de datos ( men# Se trata de un con1unto de 3unciones 2ue -acen uso de la li.rera de la pantalla :CD y la li.rera =$!(7 para mostrar los datos del arc-ivo en reproduccin' as como tam.in men>s 2ue permiten la nave0acin por el ,r.ol de directorios y la seleccin de diversas opciones/ Visuali acin de datos Son las 3unciones 2ue muestran en pantalla los datos del MP3 en reproduccin/ :as 3unciones de visuali acin de datos son"
CD_St ogo" Muestra el icono con la in3ormacin del tipo de audio Festreo' mono' virtual surround' diferentialG CD_5rtistS(roll" Muestra en la pantalla el nom.re del autor eMtrado del MP3 en modo scroll/ CD_'olume" Muestra las .arras del volumen actual/ CD_Pla/_Data" Muestra el icono MP3 en la pantalla' si est, activado el modo de realce de .a1os y el tiempo de reproduccin/

=unciones .,sicas de men> 9Misten dos men>s distintos' el de nave0acin por el ,r.ol de directorios y el de 3unciones/ $m.os men>s tienen 3unciones en com>n" mostrar un listado de elementos y recorrerlo/ $s 2ue se -an implementado las si0uientes 3unciones .,sicas de men>"
Ini_Menu" 4niciali a 5dd ist" Se le pasa

el sistema de men>/ un elemento con un nom.re e icono para 2ue sea aadido a

la lista/
Reset_Menu" Resetea el men> F.orra sus elementosG )e*tMenu" Selecciona el si0uiente elemento dentro del men>/ PrevMenu" Selecciona el anterior elemento dentro del men>/ S!woMenu" Muestra el men> en pantalla/

:as 3unciones utili an una estructura de datos 0lo.al 2ue puede ser leda por el pro0rama principal para pasarles datos o averi0uar cual es el elemento seleccionado/ 9l modo de 3uncionamiento de las 3unciones es el si0uiente"

(/ )/ 3/ </

Se inicia el sistema de men>s llamando a la 3uncin 4niQMenu/ Se aaden los elementos del men> a la lista Fun m,Mimo de 5G Se llama a la 3uncin S-oAMenu para mostrar el men> en pantalla/ Se e3ect>an las llamadas a @eMtMenu o PrevMenu se0>n los .otones presionados por el usuario/ 5/ Se lee el elemento seleccionado/ 7/ Para mostrar otro listado se llama a la 3uncin ResetMenu y se pasa al paso )/

117

@ave0acin por el ,r.ol de directorios 9stas 3unciones -acen uso de las 3unciones de men> .,sicas para mostrar en pantalla el listado de directorios y arc-ivos de la tar1eta de memoria y permiten la nave0acin por la estructura de directorios de esta/ :as 3unciones son las si0uientes"
Menu istaDir"

4nicia el men> listando los arc-ivos y directorios de un directorio

determinado/
&iles6oMenu" $ade un arc-ivo o directorio al listado Fusado por Menu istaDirG/ &i(!eroSiguente" Selecciona el si0uiente arc-ivo o directorio del listado/ &i(!ero5nterior" Selecciona el anterior arc-ivo o directorio del listado/ Menu.ntrar" Si el elemento seleccionado es un directorio entra dentro de l'

listando su contenido en el men>/ Si es un arc-ivo MP3 lo selecciona como el arc-ivo activo y enva el comando CMDQP:$U al .ucle principal/ Men> de opciones $l i0ual 2ue el men> de nave0acin' el men> de opciones utili a las 3unciones .,sicas del men> para listar distintas opciones de reproduccin 2ue se pueden activar o desactivar/ :as 3unciones son las si0uientes"
Menu4p(iones@ 4nicia el men> listando las opciones posi.les/ 4p(ionSiguente@ Selecciona la opcin si0uiente/ 4p(ion5nterior@ Selecciona la opcin anterior/ 4p(iones.ntrar@ $ctiva o desactiva la opcin seleccionada' se0>n

sea el caso/

4.4 Protocolo de comunicacin Reproductor3PC


%.%.1 Introduccin Para poder controlar el reproductor desde un ordenador y poder reali ar di3erentes 3unciones como la trans3erencia de arc-ivos o la reproduccin remota' se -a de3inido un protocolo de comunicacin so.re el inter3a USB/ Cuando el reproductor est, conectado al ordenador mediante USB y en este se est, e1ecutando la aplicacin de control del reproductor' el reproductor entra en un estado en el 2ue es completamente controlado por la aplicacin mediante un con1unto de comandos/ :a comunicacin en el lado del reproductor -ace uso de la li.rera de USB descrita en el apartado anterior/ 9n el lado del ordenador' la aplicacin -ace uso de los controladores suministrados por =!D4 C-ip para la comunicacin con el reproductor mediante el mdulo USB/

118

%.%.2 2istema de mensa+es :a comunicacin entre el reproductor y el ordenador se .asa en un intercam.io de mensa1es/ 9s la aplicacin en el ordenador la 2ue toma el control en la comunicacin y se encar0a de enviar los mensa1es' denominados comandos' a los 2ue el reproductor de.e responder/ 9l reproductor e3ect>a la accin de3inida por el comando reci.ido y devuelve una respuesta al ordenador/ 9structura de los mensa1es :os mensa1es enviados desde el ordenador al reproductor se denominan comandos/ :as estructura de los comandos consta de tres partes" un .yte 2ue de3ine el tipo de comando' un .yte 2ue de3ine el comando y unos par)metros 2ue dependen del comando en cuestin/ 9n la 4ma0en </() puede verse esta estructura/

#magen (.%$ Estructura del mensa*e

:a respuesta a los comandos enviados por la aplicacin pueden ser mensa1es de respuesta simples consistentes en un .yte Fmensa1e $CD o mensa1es de errorG o pueden ser mensa1es m,s ela.orados' correspondientes a respuestas de peticin de in3ormacin' como por e1emplo el listado de arc-ivos de un directorio/ 9stos mensa1es m,s ela.orados constan de un .yte indicando el tipo de mensa1e y un con1unto de datos correspondientes a la in3ormacin pedida por el comando/ $l0unos comandos pueden necesitar de m,s de un mensa1e de respuesta' sto depender, del comando en cuestin/ !ipos de comandos y mensa1es :os comandos se -an dividido en cuatro tipos dependiendo de su naturale a" Comandos de nave0acin" son comandos utili ados para nave0ar por la estructura de directorios del la memoria MMC y enviar arc-ivos del reproductor al ordenador/ Comandos de control" se utili an para controlar al0unos par,metros del reproductor/ Comandos de reproduccin" se utili an para controlar la reproduccin remota de arc-ivos MP3/ Comandos para el decodi3icador" se trata de comandos 2ue envan in3ormacin directamente al decodi3icador de MP3/

9n la !a.la </(+ se listan todos los comandos y mensa1es de los 2ue -ace eso el protocolo de comunicacin/

119

<om!re USBQ@U:: USBQPCQPR9S9@!X USBQUSBQPR9S9@!X USBQPCQ$SD4@4X USBQ!CMDQD9BU%X USBQ!CMDQD4RX USBQ!CMDQ6PX USBQ!CMDQP:$UX USBQ!CMDQVSX USBQ!CMDQ:CDX USBQD4RQ%6!6QR66! USBQD4RQ%6!6 USBQD4RQ:4S! USBQD4RQ=4:9 USBQD4RQ9@DD4R USBQD4RQ%9! USBQD4RQ%9!D$!$ USBQD4RQ9@D%9! USBQD4RQS!6P%9!D$!$ USBQ6PQR9S9! USBQ6PQS9!V6: USBQ6PQ%9!V6: USBQP:$UQP:$U USBQP:$UQP$US9 USBQP:$UQS!6P USBQP:$UQ9@DP:$U USBQVSQCR9S9! USBQVSQSR9S9! USBQVSQS9@D USBQVSQCMD USBQVSQB99P( USBQVSQ!9S!QS9@D

C-digo 4e6adecimal *M** *M*( *M*) *M*3 *M(* *M(( *M() *M(3 *M(< *M(5 *M)* *M)( *M)) *M)3 *M)< *M)5 *M)7 *M)8 *M)+ *M3* *M3( *M3) *M<* *M<( *M<) *M<8 *M5* *M5( *M5) *M53 *M5< *M55

(6plicaci-n Comando nulo' no reali a nin0una accin/ Comando de iniciali acin 2ue enva el PC Comando de iniciali acin 2ue enva el dispositivo USB Peticin de iniciali acin por parte del PC Despus va una cadena terminada en @U:: Comandos de directorio Comandos de con3i0uracin Comandos de reproduccin Comandos para el control a .a1o nivel del c-ip MP3 Comandos para el control a .a1o nivel del :CD 4r al directorio root 4r a el directorio especi3icado Pide el listado del directorio actual Cada uno de los elementos de un directorio 4ndica la 3inali acin del listado del directorio Pide o.tener un arc-ivo Manda pa2uetes de datos del arc-ivo 4ndica 2ue -a 3inali ado la transmisin del arc-ivo 4nterrumpe el envo de arc-ivos Resetea el dispositivo Modi3ica el volumen 6.tiene los valores de volumen Reproduce el arc-ivo indicado Pausa el arc-ivo en reproduccin Para el arc-ivo en e1ecucin $visa de la 3inali acin del arc-ivo MP3 Reset CardAare del VS(**(D Reset So3tAare del VS(**(D 9nva datos al VS(**(D 9nva un comando al VS(**(D %enera un pitido en el reproductor Comando de !est de envo de datos

USBQ$CDX *M$$ Comando de aceptacin Fusado en iniciali acinG USBQ$CD)X *M$B USBQS!6PBU!9 *MBB USBQR9C6( *MC$ USBQC$@C9:X *MD$ USBQ9RR(X *M=$ Cdi0o de error ( USBQ9RR)X *M=B Cdi0o de error ) / USBQCMD!U@DX *M=D !ipo de comando desconocido USBQCMDU@DX *M=9 Comando desconocido X 9stos mensa1es no llevan delante un !ipo de Comando Ia<la (.%; Comandos del protocolo de comunicacin

120

%.%.3 Iniciali,acin de la comunicacin $ntes de 2ue el reproductor pueda empe ar a contestar a los comandos enviados por la aplicacin en el ordenador am.os -an de iniciali ar la comunicacin' de modo 2ue el reproductor 2uede en un estado de espera de comandos/ 9l proceso de iniciali acin es el si0uiente"

(/ :a aplicacin enva el comando USBQPCQPR9S9@! si detecta 2ue el


reproductor est, conectado a un puerto USB y est, enumerado/ 9ste comando le indica al reproductor 2ue la aplicacin est, conectada y 2uiere iniciar la comunicacin/ )/ 9l reproductor comprue.a peridicamente si -a sido enumerado por el host USB/ Si lo est, comprue.a si se le -a enviado el comando USBQPCQPR9S9@!' en caso de reci.irlo enva como respuesta USBQUSBQPR9S9@!/ 9sto le indica a la aplicacin 2ue el reproductor -a reci.ido el mensa1e de la aplicacin y 2ue l tam.in est, en disposicin de iniciar la comunicacin/ 3/ :a aplicacin lee la respuesta del reproductor y le pide' mediante el comando USBQPCQ$SD4@4' 2ue se inicie la comunicacin/ </ 9l reproductor responde al USBQPCQ$SD4@4 con el mensa1e USBQ$CD indic,ndole 2ue -a iniciado la comunicacin y est, en disposicin de reci.ir cual2uier tipo de comando/ Despus de este mensa1e el reproductor entra en un .ucle de lectura a la espera de comandos por parte de la aplicacin Fmodo USBQ4D:9G/ :a 3uncin de iniciali acin se llama de 3orma peridica' para detectar si se -a conectado el reproductor a un puerto USB y si la aplicacin de comunicacin est, presente/ 9n la 4ma0en </(3 puede verse el dia0rama de iniciali acin 2ue se aca.a de descri.ir/

#magen (.% /iagrama de inicializacin de la comunicacin

121

%.%.% Comandos de na-egacin USBQD4RQ%6!6QR66! Par,metros" Sin par,metros/ Direccin" PC_jReproductor =uncin" 9sta.lece el directorio root del sistema de arc-ivos como directorio actual/ Respuesta" USBQ$CD USBQD4RQ%6!6 Par,metros" un entero de (7 .its 2ue indica el directorio a a.rir/ Direccin" PC_jReproductor =uncin" 9sta.lece como directorio actual el directorio indicado por el par,metro/ 9l par,metro -ace re3erencia al ndice de la entrada dentro del directorio actual/ Respuesta" USBQ$CD USBQD4RQ:4S! Par,metros" Sin par,metros/ Direccin" PC_jReproductor =uncin" Pide la lista de arc-ivos y directorios del directorio actual/ Respuesta" 9nva un con1unto de mensa1es USBQD4RQ=4:9' uno por cada entrada dentro del directorio actual/ =inali a mediante un mensa1e USBQD4RQ9@DD4R/ 9n la 4ma0en </(< se muestra el 3uncionamiento del comando USBQD4RQ:4S!/

#magen (.%( /iagrama de funcionamiento del comando A09N/#,N3#0I

122

USBQD4RQ=4:9 Par,metros" Se envan dos par,metros' un entero de (7 .its indicando el ndice de la entrada dentro del directorio' y un con1unto de 3) .ytes correspondientes a la entrada del elemento dentro del sistema de arc-ivos =$!(7/ Direccin" Reproductor_jPC =uncin" 9nva una entrada Farc-ivo o directorioG del directorio actual/ 9s la respuesta del reproductor a un comando USBQD4RQ:4S!/ USBQD4RQ9@DD4R Par,metros" Sin par,metros Direccin" Reproductor_jPC =uncin" 4ndica 2ue se -a terminado de trans3erir todas las entradas dentro del directorio actual/ 9s el >ltimo mensa1e 2ue se enva como respuesta al comando USBQD4RQ:4S!/ USBQD4RQ%9! Par,metros" un entero de (7 .its 2ue indica el arc-ivo a enviar/ Direccin" PC_jReproductor =uncin" Pide al reproductor 2ue le trans3iera el arc-ivo indicado por el par,metro/ 9l par,metro indica el ndice dentro del directorio actual 2ue corresponde al arc-ivo a enviar/ Respuesta" Se enva un con1unto de mensa1es USBQD4RQ%9!D$!$ con los datos del arc-ivo' al 3inali ar el envo se enva USBQD4RQ9@D%9!/ 9n la 4ma0en </(5 se muestra el 3uncionamiento del comando USBQD4RQ%9!/

#magen (.%4 /iagrama del funcionamiento del comando A09N/#,NGEI

123

USBQD4RQ%9!D$!$ Par,metros" Se envan dos par,metros' un entero de (7 .its indicando el n>mero de .ytes de datos 2ue se envan en el mensa1e' y un con1unto de .ytes 2ue corresponden al contenido del arc-ivo/ Direccin" Reproductor_jPC =uncin" Se enva como respuesta a un comando USBQD4RQ%9!' enva el contenido del arc-ivo solicitado/ Cada mensa1e enva 5() Bytes de datos' eMceptuando el >ltimo mensa1e' 2ue enva los datos restantes/ USBQD4RQ9@D%9! Par,metros" Sin par,metros Direccin" Reproductor_jPC =uncin" 4ndica 2ue se -a terminado de trans3erir los datos de arc-ivo solicitado/ 9s el >ltimo mensa1e 2ue se enva como respuesta al comando USBQD4RQ%9!/ USBQD4RQS!6P%9!D$!$ Par,metros" Sin par,metros Direccin" PC_j Reproductor =uncin" 4nterrumpe el envo de datos por parte del reproductor' 3ruto de un comando USBQD4RQ%9!/ Respuesta" USBQ$CD

%.%.) Comandos de control USBQ6PQR9S9! Par,metros" Sin par,metros Direccin" PC_j Reproductor =uncin" Resetea el microcontrolador/ Respuesta" USBQ$CD USBQ6PQS9!V6: Par,metros" un .yte correspondiente al volumen 2ue se desea 3i1ar/ Direccin" PC_j Reproductor =uncin" =i1a el volumen de reproduccin/ Respuesta" USBQ$CD

124

USBQ6PQ%9!V6: Par,metros" Sin par,metros Direccin" PC_j Reproductor =uncin" Devuelve un .yte con el volumen de reproduccin/ Respuesta" un .yte con el volumen y USBQ$CD

%.%.5 Comandos de reproduccin USBQP:$UQP:$U Par,metros" un entero de ) .ytes 2ue corresponden a la posicin del arc-ivo MP3 2ue se -a de reproducir' dentro del directorio actual/ Direccin" PC_j Reproductor =uncin" 4nicia la reproduccin del arc-ivo MP3 indicado por el par,metro pasado/ Respuesta" USBQ$CD USBQP:$UQP$US9 Par,metros" Sin par,metros/ Direccin" PC_j Reproductor =uncin" Pausa la reproduccin activa/ Respuesta" USBQ$CD USBQP:$UQS!6P Par,metros" Sin par,metros/ Direccin" PC_j Reproductor =uncin" Para la reproduccin activa/ Respuesta" USBQ$CD USBQP:$UQ9@DP:$U Par,metros" Sin par,metros/ Direccin" Reproductor _j PC =uncin" :e comunica a la aplicacin 2ue se -a alcan ado el 3inal del arc-ivo MP3 y se -a 3inali ado la reproduccin/

125

%.%.6 Comandos para el decodificador USBQVSQCR9S9! Par,metros" Sin par,metros/ Direccin" PC_j Reproductor =uncin" Reali a un reset -ardAare del decodi3icador MP3/ Respuesta" USBQ$CD USBQVSQSR9S9! Par,metros" Sin par,metros/ Direccin" PC_j Reproductor =uncin" Reali a un reset so3tAare del decodi3icador MP3/ Respuesta" USBQ$CD USBQVSQS9@D Par,metros" !iene dos par,metros' el primero es un entero de ) .ytes 2ue indica el tamao en .ytes del se0undo/ 9l se0undo es un con1unto de .ytes de datos/ Direccin" PC_j Reproductor =uncin" 9nva en con1unto de datos reci.ido como par,metro 1unto con el comando al decodi3icador MP3 por el inter3a SD4/ Sirve principalmente para la reproduccin en el reproductor de un 3lu1o de datos MP3 enviados por la aplicacin/ Respuesta" USBQ$CD USBQVSQB99P( Par,metros" Sin par,metros/ Direccin" PC_j Reproductor =uncin" 9nva el decodi3icador un comando para 2ue este 0enere un <eep/ Respuesta" USBQ$CD USBQVSQ!9S!QS9@D Par,metros" !iene dos par,metros' el primero es un entero de ) .ytes 2ue indica el tamao en .ytes del se0undo/ 9l se0undo es un con1unto de .ytes de datos/ Direccin" PC_j Reproductor =uncin" Se trata de un comando de prue.a y depuracin/ Devuelve como respuesta los mismos datos 2ue -a reci.ido como datos/ Respuesta" 9l con1unto de datos reci.idos como par,metros/

126

%.%.6 Errores Si durante la comunicacin el reproductor reci.e un comando no v,lido o no esperado le devuelve a la aplicacin un mensa1e de error/ :os mensa1es USBQ9RR( y USBQ9RR) se utili an durante el proceso de iniciali acin/ 9l mensa1e USBQCMD!U@D indica a la aplicacin 2ue el tipo de comando es incorrecto y el mensa1e USBQCMDU@D le indica 2ue el comando es incorrecto/ Si durante la comunicacin eMistiera al0>n pro.lema y el reproductor devolviese mensa1es di3erentes a USBQ$CD o varios mensa1es de error se0uidos' la aplicacin puede intentar recuperar la comunicacin .orrando los <uffers de entrada y salida' y enviando una serie de comandos USBQ@U::/

4.! Pro*rama principal


%.).1 Introduccin 9l pro0rama principal est, compuesto por una 3uncin principal' 2ue inicia el microcontrolador y contiene el .ucle principal del pro0rama' una 3uncin tempori ada' 2ue se e1ecuta peridicamente y se encar0a del control del inter3a de usuario' y un pe2ueo con1unto de 3unciones/ !odas ellas -acen uso de las li.reras anteriormente descritas/

%.).2 .uncin principal 9n la 4ma0en </(7 puede verse el dia0rama de 3lu1o de la 3uncin principal 2ue se inicia al arrancar el reproductor/ Primero se iniciali an los distintos elementos del reproductor as como los re0istros internos del P4C y la 3uncin tempori ada/ Despus entra en un .ucle 2ue atiende a los comandos CMDQP:$U y CMDQS!6P 2ue inicia y 3inali a la reproduccin del arc-ivo MP3 seleccionado/ Cuando el reproductor se conecta por USB al ordenador y se iniciali a la comunicacin con la aplicacin el .ucle cede el control a la li.rera de comunicacin/

127

#magen (.%+ /iagrama de flu*o de la funcin principal

%.).3 .uncin tempori,ada :a tarea de control del inter3a de usuario la asume una 3uncin 2ue es llamada de 3orma peridica por un tempori ador del microcontrolador Fcada 5)'< msG/ 9sta 3uncin se encar0a del re3resco de la in3ormacin en la pantalla :CD' de controlar la .otonera del reproductor y de compro.ar si se -a conectado el puerto USB del reproductor a un ordenador/ 9l dia0rama de 3lu1o de la 3uncin puede verse en la 4ma0en </(8/

128

#magen (.%7 /iagrama de flu*o de la funcin temporizada

:a tarea m,s importante de esta 3uncin es la compro.acin de la .otonera' 2ue -ace 2ue el usuario pueda controlar el reproductor/ 9n la 4ma0en </(+ Dia0rama puede verse su dia0rama de 3lu1o/

129

130

#magen (.%; /iagrama de flu*o de la compro<acin de la <otonera

%.).%

tras funciones

$dem,s de las li.reras y 3unciones ya descritas se -an implementado otras 3unciones entre las 2ue destacan"
void Pla/(int32 dir8

Reproduce el arc-ivo MP3 indicado por el par,metro/ 9l par,metro SdirS es la direccin a.soluta de la entrada del arc-ivo a reproducir dentro de un directorio/ :a lectura del arc-ivo -ace uso de las 3unciones MMC6penMP3=ile y MMCReadMP3=ile 2ue est,n optimi adas para la reproduccin de MP3 con tasas de .it altas/
void Set..PR4M'alues(8

%ra.a en la memoria 99PR6M interna del microcontrolador la in3ormacin de volumen' modo de reproduccin y modo de audio/
void $et..PR4M'alues(8

:ee de la memoria 99PR6M interna del microcontrolador la in3ormacin de volumen' modo de reproduccin y modo de audio 2ue -an sido 0uardados anteriormente' y los esta.lece como valores actuales/

131

). *ise8o ( desarrollo de la aplicacin


!.1 )ntroduccin
Para el control del reproductor desde un ordenador se -a desarrollado una aplicacin AindoAs en la cual se muestran las distintas posi.ilidades 2ue o3rece" @ave0acin por la estructura de arc-ivos del reproductor/ Descar0a al ordenador de arc-ivos almacenados en el reproductor/ Reproduccin en el reproductor de arc-ivos almacenados en ste/ Reproduccin en el reproductor de arc-ivos almacenados en el ordenador/ Reproduccin en el ordenador de arc-ivos almacenados en el reproductor/ Reproduccin en el reproductor de stream MP3 transmitidos a travs de internet/

Se -a decidido encapsular todo el protocolo de comunicacin en una li.rera D:: 2ue proporcione un inter3a 3,cil de utili ar' de 3orma 2ue se puedan desarrollar distintas aplicaciones de 3orma r,pida sin necesidad de preocuparse de la capa de comunicacin con el reproductor/

!.2 1erramientas de desarrollo utili$adas


=!D4 C-ip' el 3a.ricante del mdulo de comunicacin USB' proporciona di3erentes li.reras y drivers para 3acilitar el desarrollo de aplicaciones en di3erentes plata3ormas<*/ 9Misten dos mtodos para reali ar la comunicacin" utili ar el driver VCP 2ue crea un puerto C6M virtual' o utili ar el driver D)II 2ue proporciona un acceso directo al dispositivo USB a travs de una li.rera D::/ Para disponer de un mayor control y velocidad de transmisin se -a utili ado esta >ltima opcin/ !anto la li.rera de comunicacin con el reproductor como la aplicacin se -an desarrollado para la plata3orma /@9! de Microso3t/ 9sto es as por varios motivos' en primer lu0ar se -a ele0ido desarrollar la aplicacin para sistemas operativos JindoAs por2ue es el sistema 2ue tiene actualmente mayor di3usin en entornos domsticos' y adem,s =!D4 C-ip proporciona drivers m,s completos y documentados para JindoAs 2ue para otro sistema/ 9n se0undo lu0ar se -a ele0ido la plata3orma /@9! por ser un entorno actual 2ue Microso3t est, 3omentando con nuevas y completas -erramientas de desarrollo/ Por todo ello' y por 2ue ya se tena eMperiencia en el desarrollo de aplicaciones en Cb para plata3orma /@9!' se -a optado por esta opcin/ Para una mayor compati.ilidad la li.rera se -a desarrollado para /@9! (/(' 2ue puede ser utili ada en versiones superiores/ :a aplicacin se -a desarrollado para /@9! )/* ya 2ue proporciona me1oras con respecto a la (/(/

<* 9Misten drivers para todas las versiones de AindoAs superiores al ;+' M$C 6S I' :inuM' JindoAs C9 y JindoAs Mo.ile entre otros/

132

9l entorno de desarrollo utili ado para la pro0ramacin -a sido di3erente en cada caso/ Para la li.rera se -a utili ado el pro0rama S-arpdevelop (/(' se trata de un entorno de desarrollo 0ratuito 2ue -ace uso de las li.reras SDD de la plata3orma /@9! (/(/ Para el desarrollo de la aplicacin se -a utili ado el Visual Studio )**5' 2ue proporciona un entorno de desarrollo con m,s opciones 2ue los pro0ramas 0ratuitos' y so.re todo 3acilita los tra.a1os de depuracin' como puntos de interrupcin' e1ecucin paso a paso' etc/ 9n la versin (/( de S-arpdevelop las opciones de depuracin son casi ineMistentes/ 9n am.os casos se -a utili ado el Cb como len0ua1e de pro0ramacin/

!.3 2ibrer.a del mdulo %&'


9l driver D)II proporcionado por =!D4 permite 2ue las aplicaciones se comuni2uen con el mdulo USB a travs de una li.rera D::/ :a ar2uitectura del driver D)II consiste en un driver JindoAs JDM 2ue se comunica con el dispositivo a travs de la pila USB de JindoAs y una li.rera D:: 2ue act>a como inter3a entre la aplicacin y el driver JDM/ 9n la 4ma0en 5/( se pueden ver la ar2uitectura de una aplicacin 2ue -a0a uso del driver D)II/

#magen 4.% 1rquitectura del uso del driver A09 /$==

133

De.ido a 2ue la li.rera D:: proporcionada por =!D4 no est, desarrollada para /@9! -a sido necesario crear un wrapper(% o envoltura mediante la cual poder acceder desde el resto del cdi0o como si se tratase de una li.rera /@9!' encapsul,ndose as el inter3a D)II en las clases =!Device' =!Device4n3o y =!Mana0er/ :as 3unciones del inter3a D)II incluidas en el Arapper y utili adas para implementar estas clases son"
pu%li(,FT_STATUS &6_4pen(int,deviceNumber, out,int,pHandle); pu%li(,FT_STATUS &6_4pen.*(string pvArg1, FT_O !N d"Flags, out,int, #tHandle); pu%li(,FT_STATUS &6_Close(int,#tHandle); pu%li(,FT_STATUS &6_Read..(int,#tHandle, int,d"$%rdO##set, out,us!ort, lp"&alue); pu%li( FT_STATUS &6_Write..(int,#tHandle, int,d"$%rdO##set, us!ort, "&alue); pu%li(,FT_STATUS &6_.rase..(int,#tHandle); pu%li(,FT_STATUS &6_Write(int,#tHandle, %/te'( lp)u##er, int, d")*tesT%$rite%ut, out,int,lpd")*tes$ritten); pu%li(,FT_STATUS &6_ istDevi(es(out,int,c%unt, int,arg+, FT_,-ST arg.); pu%li(,FT_STATUS &6_4pen.*(-nt tr pArg1, int,Flags, out,int,pHandle); pu%li(,FT_STATUS &6_Read(int,#tHandle, %/te'( lp)u##er, int,n)u##erSi/e, out,int,lp)*tes0eturned); pu%li(,FT_STATUS &6_CreateDevi(eInfo ist(out,int,lpd"Num1evs); pu%li(,FT_STATUS &6_$etDevi(eInfoDetail(int,d"-nde2, out,int,lpd"Flags, out,int,lpd"T*pe, out,int,lpd"-1, out,int,lpd",%c-d, String)uilder pcSerialNumber, String)uilder pc1escripti%n, out,int,#tHandle); pu%li(,FT_STATUS &6_$etAueueStatus(int,#tHandle, out,int, lpd"Am%unt-n023ueue); pu%li(,FT_STATUS &6_Purge(int,#tHandle, int,d"4as5); pu%li(,FT_STATUS &6_ResetDevi(e,(int,#tHandle); pu%li(,FT_STATUS &6_ResetPort,(int,#tHandle); pu%li(,FT_STATUS &6_C/(lePort,(int,#tHandle); pu%li(,FT_STATUS &6_$etStatus(int,#tHandle, out,int,lpd"Am%unt-n023ueue, out,int,lpd"Am%unt-nT23ueue, out,int,lpd"!ventStatus);

!.4 2ibrer.a de control del reproductor


Como se -a comentado' todo el protocolo de comunicacin se -a implementado en una li.rera de 3orma 2ue se puedan desarrollar distintas aplicaciones de 3orma m,s sencilla sin necesidad de preocuparse de la capa de comunicacin con el reproductor/ 9n la 4ma0en 5/) puede verse la estructura interna de la li.rera de comunicacin/ $l principio la aplicacin -a de compro.ar si el reproductor est, conectado y -acer una llamada a la 3uncin de iniciali acin de la comunicacin/ Si la iniciali acin de la comunicacin -a 3inali ado con Mito se puede comen ar a reali ar llamadas a las 3unciones de la li.rera' estas llamadas son trans3ormadas en mensa1es 2ue son encolados en una cola de envo de mensa1es/ Un -ilo comprue.a peridicamente las colas de envo' enviando al reproductor los mensa1es FcomandosG 2ue encuentre/ 9Misten dos colas de envo' una m,s prioritaria y otra con prioridad normal/ Se -an creado estas dos colas para poder enviar mensa1es 2ue -an de ser atendidos de 3orma inmediata mientras la cola de prioridad normal est, llena con otros mensa1es/ Un e1emplo de la necesidad de estas dos colas es el si0uiente" la aplicacin manda un 3lu1o de datos
<( Se -a tomado como .ase un Arapper en Cb proporcionado como e1emplo por =!D4/

134

MP3 para 2ue sean reproducidos en tiempo real' estos son almacenados como mensa1es en la cola de prioridad normal/ $ la ve la aplicacin llama a la 3uncin de cam.io de volumen' en este caso la li.rera crea un mensa1e 2ue introduce en la cola con mayor prioridad' de esta 3orma no es necesario 2ue se enven todos los mensa1es encolados antes de la llamada' y sta es atendida inmediatamente/ :as respuestas devueltas por el reproductor son ledas por un -ilo 2ue peridicamente comprue.a el .u33er de recepcin/ Dependiendo del tipo de respuesta el -ilo introduce nuevos mensa1es en la cola de envo o 0enera los eventos necesarios para in3ormar a la aplicacin de la in3ormacin 2ue se -a reci.ido del reproductor/

#magen 4.$ Estructura interna de la li<rerDa de comunicacin

$ continuacin se listan los mtodos m,s importantes de la clase USBComMP3' 2ue es la 2ue encapsula todo el protocolo de comunicacin"
pu%li(,%ool,DIR$otoRoot() pu%li(,%ool,DIR ist(%ool, ri%ritari%) pu%li(,%ool,DIR$otoDir(s!ort,p%siti%n, %ool, ri%ritari%) pu%li(,%ool,DIR$et&ile(s!ort,p%siti%n) pu%li(,%ool,Pla/&ile(s!ort,p%siti%n) pu%li(,%ool,Pla/_Stop() pu%li(,%ool,Pla/_Pause() pu%li(,%ool,'S_;ardReset() pu%li(,%ool,'S_SoftReset() pu%li(,%ool,'S_SendData(%/te,'( data) pu%li(,%ool,4P_'olumen(%/te,&%lumen) pu%li(,%ool,4P_ResetDevi(e() pu%li(,v%id PurgarR=() pu%li(,v%id Purgar6=() pu%li(,v%id PurgarCola.nvio()

135

:a li.rera tam.in incluye varias clases de ayuda para 3acilitar la utili acin de la clase de comunicacin' estas son" =ile4n3o' 2ue 3acilita la eMtraccin de los datos de un arc-ivo a partir de los datos de la entrada devueltos por el reproductor/ MP3=ileSender' enva un arc-ivo MP3 al reproductor para 2ue sea reproducido en tiempo real/ MP3@etStreamSender' enva al reproductor un 3lu1o de datos MP3 descar0ado de la red para su reproduccin en tiempo real/

!.! Modos de reproduccin


).).1 Introduccin 9n los reproductores de MP3 comunes las aplicaciones permiten tan solo un acceso a los arc-ivos almacenados en la memoria interna del reproductor pero no permiten su control de 3orma remota/ 9n este caso' adem,s del acceso a la estructura de directorios y la descar0a de arc-ivos' la aplicacin permite un control remoto muy completo del reproductor' pudindose reproducir tanto arc-ivos almacenados en el propio reproductor' como enviarse un 3lu1o de datos MP3 desde el ordenador para su reproduccin en tiempo real/ ).).1 Reproduccin remota de arc/i-os en el reproductor :a reproduccin remota de arc-ivos en el reproductor -ace re3erencia al control de la reproduccin en el propio dispositivo de arc-ivos 2ue se encuentran en la memoria MMC/ 9n la 4ma0en 5/3 se puede ver una captura de la ventana de control de reproduccin de la aplicacin/ 9s el mtodo m,s sencillo y consiste .,sicamente en sustituir las rdenes procedentes de la .otonera por los comandos enviados por la aplicacin/ 9l proceso es el si0uiente"

(/ Se iniciali a la comunicacin Fsi no se -a iniciali ado a>nG )/ Mediante la clase USBComMP3 se nave0a por la estructura de directorios
-asta el directorio donde se encuentra el arc-ivo 2ue se desea reproducir/ 3/ Se reali a una llamada al mtodo Play=ile con la posicin del arc-ivo dentro del directorio' y el reproductor comien a su reproduccin/ </ Si se desea detener o pausar la reproduccin se utili an los mtodos PlayQStop y PlayQPause/

#magen 4. ,eproduccin remota de archivos en el reproductor.

136

).).2 Reproduccin remota de arc/i-os en el ordenador 9l reproductor permite reproducir un 3lu1o de datos enviado desde la aplicacin sin necesidad de almacenarlos en la memoria' por tanto es posi.le reproducir un arc-ivo MP3 almacenado en el ordenador directamente en el reproductor/ 9n la 4ma0en 5/< se pueden ver los controles y la lista de reproduccin de los arc-ivos almacenados en el ordenador 2ue son reproducidos en el reproductor/ 9l proceso es el si0uiente"

(/ Se iniciali a la comunicacin Fsi no se -a iniciali ado a>nG )/ Se instancia la clase MP3=ileSender con la ruta del arc-ivo a enviar/ 9sta clase
utili a los mtodos VSQCardReset' VSQSo3tReset y VSQSendData de la clase USBComMP3 para actuar directamente so.re el c-ip decodi3icador/ 3/ Para detener la reproduccin se utili a el mtodo Stop de la clase MP3=ileSender/

#magen 4.( ,eproduccin remota de archivos en el PC

).).3 Reproduccin local de arc/i-os en el reproductor :a aplicacin permite tam.in reproducir en tiempo real en el ordenador arc-ivos MP3 almacenados en la memoria MMC del reproductor sin necesidad de almacenarlos previamente en el disco duro/ Para ello utili a los mtodos de descar0a de arc-ivo pero enva los datos a una li.rera de reproduccin de MP3 en ve de almacenarlos en disco/ 9l proceso de reproduccin es el si0uiente" 137

(/ Se iniciali a la comunicacin Fsi no se -a iniciali ado a>nG )/ Mediante la clase USBComMP3 se nave0a por la estructura de directorios
-asta el directorio donde se encuentra el arc-ivo 2ue se desea reproducir/ 3/ Se utili a el mtodo D4R%et=ile con la posicin del arc-ivo 2ue se desea reci.ir/ </ Mediante el evento 6n%et=ileData de la clase USBComMP3 se reci.en los datos del arc-ivo solicitado/ 5/ 9stos datos son enviados a una li.rera 2ue se encar0ue de su reproduccin/ :a li.rera utili ada para la reproduccin local de arc-ivos MP3 es B$SS' una li.rera de audio muy completa y 0ratuita para uso no comercial/ De.ido a 2ue la li.rera no est, desarrollada para /@9! se -a utili ado un wrapper para acceder a su inter3a desde la aplicacin/ 9n la 4ma0en 5/5 se muestra el control del reproductor local Fen la aplicacinG y el listado de arc-ivos en la carpeta 2ue se est, reproduciendo/

#magen 4.4 ,eproduccin local de archivos remotos.

).).% Reproduccin remota de streams de internet :a opcin de reproducir 3lu1os de datos MP3 procedentes de internet es similar a la reproduccin remota de arc-ivos en el ordenador/ :a >nica di3erencia es 2ue la 3uente del 3lu1o de datos no es un arc-ivo almacenado en el disco duro' sino un arc-ivo remoto o un 3lu1o de datos o.tenido de internet/ 9n este caso la clase utili ada es MP3@etStreamSender 2ue' al i0ual 2ue MP3=ileSender' eMtiende la clase MP3SreamSender la cual se encar0a realmente de la interaccin con el reproductor' envi,ndole los datos de un stream' ya sea de un arc-ivo local o descar0ado de la red/ 9l proceso es el si0uiente"

138

(/ Se iniciali a la comunicacin Fsi no se -a iniciali ado a>nG )/ Se instancia la clase MP3@etStreamSender con la direccin UR: del arc-ivo o
stream de audio a enviar/ 3/ Para detener la reproduccin se utili a el mtodo Stop/

!.( Podcastin* - streamin* a trav4s de internet


).5.1 Introduccin 9l streamin0 es una tecnolo0a 2ue permite la emisin de contenidos audiovisuales utili ando 4nternet' en este caso audio en 3ormato MP3/ 9Misten numerosas emisoras de radio y otro tipo de contenidos de audio 2ue utili an el 3ormato MP3 para di3undir sus contenidos en internet' ya sea una emisin reali ada en tiempo real o en di3erido/ Se -a 2uerido aprovec-ar esto para incluir una 3uncionalidad poco com>n en los reproductores port,tiles' la posi.ilidad de reproducir en tiempo real el 3lu1o de audio MP3 directamente descar0ado de internet' sin necesidad de almacenarlo previamente/ Para reali ar esto' la aplicacin es la encar0ada de o.tener los datos en MP3 de una 3uente en internet' ya sea una radio emitiendo o un arc-ivo/ 9ste 3lu1o de datos es enviado al reproductor MP3 conectado por USB el cual se encar0a de reproducirlos/ Se puede clasi3icar en dos tipos el audio 2ue la aplicacin puede o.tener se0>n el tipo de 3uente" los arc-ivos MP3 almacenados en un servidor 2ue son descar0ados y enviados al reproductor se0>n se van descar0ando' y el 3lu1o de datos enviado por un servidor' por e1emplo de una radio/

).5.2

btencin e identificacin del tipo de recurso

Se -a incluido en la aplicacin un nave0ador Ae. 2ue permite locali ar y descar0ar el 3lu1o de datos MP3 2ue se van a reproducir/ Cada ve 2ue se -ace clic en al0>n enlace el nave0ador captura el enlace al 2ue se va a acceder y comprue.a si se trata de un recurso conocido' de serlo cancela la nave0acin a este enlace y e3ect>a las acciones necesarias para comen ar la descar0a de los datos MP3 y envi,rselas al reproductor/ :os recursos reconocidos por la aplicacin son" $rc-ivos MP3' son detectados por su eMtensin o por el tipo M4M9 de los datos" audioOmpe0' audioOM?mpe0?3' audioOmpe03' audioOmp3 o audioOmp0/ 9n este caso se comien a la descar0a del arc-ivo y sus datos son enviados al reproductor con3orme se van descar0ando/ $rc-ivos P:S' son detectados por su eMtensin o por el tipo M4M9 de los datos" teMtOpls' audioOM?scpls' audioOmpe0url' audioOscpls o audioOM?mpe0url/ 9stos arc-ivos contienen in3ormacin so.re un servidor 2ue est, emitiendo el 3lu1o de datos MP3/

139

$rc-ivos IM:' su eMtensin puede ser varia.le' normalmente RSS<) y son detectados por el tipo M4M9" applicationOMml o teMtOMml/ Se intentan car0ar en el nave0ador con en un 3ic-ero de trans3ormacin de IM: FIS:!G para tipos de arc-ivo podcast/

).5.3 2treaming 9Misten di3erentes 3ormas de -acer streamin0 o di3usin de datos multimedia a travs de internet/ 9n el caso del audio MP3 los datos suelen ser transmitidos por un servidor a travs del protocolo -ttp indicando como tipo M4M9 de los datos" audioOmpe0' audioOM?mpe0?3' audioOmpe03' audioOmp3 o audioOmp0/ :a 3orma en la 2ue se anuncia en la Ae. la direccin y el puerto donde se encuentran el servidor 2ue est, transmitiendo los datos suele ser mediante un arc-ivo P:S Fplaylist o lista de reproduccinG/ 9ste arc-ivo es a.ierto por el reproductor de m>sica predeterminado en el ordenador cliente 2ue o.tiene la direccin y el puerto del servidor' el ttulo de la cancin o 3lu1o de datos' y el tamao del arc-ivo Fsi es un 3lu1o de datos el tamao es ?(G =ormato P:S :os arc-ivos P:S son arc-ivos de teMto 2ue almacenan una lista de reproduccin' ya sea de arc-ivos locales' remotos o de servidores 2ue emiten un 3lu1o de datos/ 9l arc-ivo est, compuesto por una ca.ecera' un con1unto de entradas y un pie KP:SR9=L<3/ :a ca.ecera est, compuesta por dos lneas" KplaylistL &#ndica el tipo de fichero) @um.er639ntries_nLmero &#ndica el nLmero de entradas en el fichero) 9l 3ormato de las entradas es el si0uiente FI es el n>mero de la entradaG" =ileI_/ireccin &3ocalizacin del fichero o flu*o de datos) !itleI_IDtulo &IDtulo de la pista) :en0t-I_Iamao &Iamao en segundos. 0i no est! definido :%) 9l pie del 3ic-ero es el si0uiente" Version_) &@ersin del fichero, actualmente $) $ continuacin se muestra un e1emplo de 3ic-ero P:S"

<) =ormato de arc-ivo IM: para la sindicacin o redi3usin de contenidos/ <3 @o eMiste est,ndar o3icial del 3ormato P:S' pero es ,mpliamente conocido y est, muy eMtendido/

140

'pla*list( NumberO#!ntries6+ File167ttp899e:empl%deservid%r;c%m8<= Title160adi% >ue emite en #%rmat% 4 . ,engt716?1 File+67ttp899miservid%r;c%m9canci%n;mp. Title+6Arc7iv% 4 . rem%t% ,engt7+6+.= &ersi%n6+

9l nave0ador Ae. inte0rado en la aplicacin captura las direcciones de los arc-ivos P:S cuando se -ace clic so.re ellos' los descar0a y eMtrae la direccin del primer servidor o MP3 2ue contiene' iniciando su reproduccin/ Un arc-ivo P:S utili ado para pu.licar la direccin de una radio o 3lu1o de audio similar contiene >nicamente la entrada 2ue indica el servidor 2ue o3rece el 3lu1o de datos/ Cuando se trata de emisiones con muc-a demanda pueden incluir otras entradas con servidores 2ue o3recen el mismo contenido' por si el servidor principal -a alcan ado el lmite de cliente a los 2ue puede servir y est, saturado/ 9n cual2uier caso la aplicacin solo utili a la primera entrada/ Una de las principales opciones 2ue o3rece la aplicacin para el acceso a stream de audio descar0ados de internet es la Ae. S-outcast/ :a aplicacin contiene un enlace directo a esta p,0ina Ae. 2ue o3rece cientos de emisoras de radio' una 0ran mayora en 3ormato MP3' y 2ue permite di3erentes opciones de .>s2ueda/ 9n la 4ma0en 5/7 puede verse la Ae. car0ada en el nave0ador inte0rado y so.re ella los controles de reproduccin/ Para reproducir una emisora tan solo -ay 2ue presionar el .otn f Iune #nOg 2ue es un enlace a un arc-ivo P:S como el descrito/

#magen 4.+ ,eproduccin de audio de 0houtcast.

141

).5.% "odcasting 9l podcast sur0i de los trminos iPod y .roadcast' el reproductor iPod de $pple 3ue el primero en aceptar scripts para descar0ar contenido de la Ae. 2ue posteriormente sera trans3erido al reproductor/ Un podcast es un con1unto de arc-ivos multimedia 2ue se distri.uyen a travs de internet utili ando la sindicacin mediante arc-ivos RSS o atom<</ :a aplicacin' al i0ual 2ue -ace con los arc-ivos P:S' captura y descar0a los arc-ivos RSS/ 9n esta ocasin muestra su contenido a travs del nave0ador Ae. inte0rado 3ormateado mediante un 3ic-ero de trans3ormaciones IS: FIS:!<5G 2ue lo trans3orma en un arc-ivo C!M: con los enlaces a los elementos sindicados/ 9n la 4ma0en 5/7 puede verse un podcast de la universidad de Sevilla/

#magen 4.+ Podcast cargado en el navegador de la aplicacin

=ormato de arc-ivo podcast :os arc-ivos podcast est,n .asados en las especi3icaciones RSS )/*/ De.en incluir una serie de eti2uetas determinadas 2ue in3orman del contenido de cada uno de los elementos sindicados KP6DC$S!R9=L/

<< $m.os son 3ormatos de sindicacin de contenidos .asados en IM:/ <5 Por motivos de eMtensin del presente documento no se va a eMplicar el 3uncionamiento y 3ormato de los arc-ivos IS:!/

142

9l arc-ivo est, compuesto por una eti2ueta inicial Skc-anneljS' dentro de esta se sit>a la in3ormacin 0eneral de todos los elementos contenidos en el podcast" title' linB' copyri0-t' itunes"aut-or' itunes"summary' description' etc/ Cada uno de los elementos sindicados se introducen dentro de Skc-anneljS mediante la eti2ueta SkitemjS/ 9sta contiene las si0uientes eti2uetas" title' itunes"aut-or' itunes"su.title' pu.Date' itunes"duration' etc/ 9l enlace al recurso MP3 se indica mediante la si0uiente eti2ueta 2ue contiene la direccin del recurso' el tamao y su tipo" @encl%sure
url6A7ttp899serv;c%m9recurs%;mp.A lengt76ABCB=<<DA t*pe6Aaudi%9mpegA 9E

$ continuacin se muestra un e1emplo de arc-ivo podcast"


@F2ml versi%n6A1;=A enc%ding6AUTF?<AFE @rss 2mlns8itunes6A7ttp899""";itunes;c%m9dtds9p%dcast?1;=;dtdA versi%n6A+;=AE @c7annelE @titleETitul% del p%dcast@9titleE @lin5E7ttp899""";e:empl%;c%m9p%dcasts9inde2;7tml@9lin5E @itunes8subtitleESubtitul%@9itunes8subtitleE @itunes8aut7%rE1avid 4artin@9itunes8aut7%rE @itunes8summar*E-n#%rmaci%n@9itunes8summar*E @descripti%nE1escripci%n@9descripti%nE @itunes8image 7re#6A7ttp899e:empl%;c%m9p%dcasts9imagen;:pgA 9E @itemE @titleETitul% 1@9titleE @itunes8aut7%rEAut%r@9itunes8aut7%rE @itunes8subtitleESubtitul% 1@9itunes8subtitleE @itunes8summar*E0esumen@9itunes8summar*E @encl%sure url6A7ttp899e:empl%;c%m9recurs%;mp.A lengt76A<G+G.1=A t*pe6Aaudi%9mpegA 9E @pub1ateE$ed, 11 Hun +==< 1D8==8== I4T@9pub1ateE @itunes8durati%nEG8=J@9itunes8durati%nE @9itemE @itemE @titleETitul% +@9titleE @itunes8aut7%rEAut%r@9itunes8aut7%rE @itunes8subtitleESubtitul% +@9itunes8subtitleE @itunes8summar*E0esumen@9itunes8summar*E @encl%sure url6A7ttp899e:empl%;c%m9recurs%+;mp.A lengt76A.G+G.1=A t*pe6Aaudi%9mpegA 9E @pub1ateE$ed, 11 Hun +==< 1D8=B8== I4T@9pub1ateE @itunes8durati%nE.8=J@9itunes8durati%nE @9itemE @9c7annelE @9rssE

:os arc-ivos pueden contener 0ran cantidad de eti2uetas y su implementacin puede cam.iar/ Cada lectorOreproductor de arc-ivos podcast pueden aceptar un su.con1unto de estas eti2uetas' i0norando el resto/ @o o.stante se -an indicado las m,s importantes y 2ue se suelen incluir en todos los arc-ivos/

143

).5.) Emisoras fa-oritas Para almacenar la direccin de un con1unto de arc-ivos y servidores de audio mp3 se -a implementado en la aplicacin una opcin similar a la de f3avoritosg de los nave0adores/ De esta 3orma el usuario puede almacenar 3,cilmente las 3uentes de sonido 2ue considere m,s interesantes para escuc-arlas en un 3uturo/ 9n este caso es utili a la inter3a 0r,3ica del nave0ador Ae. inte0rado en la aplicacin de 3orma 2ue las 3uentes aadidas al arc-ivo de 3avoritos se almacenan internamente en un arc-ivo IM: similar al de podcastin0/ 9ste arc-ivo es trans3ormado por un arc-ivo IS:! en un cdi0o C!M: le0i.le por el nave0ador/ Se -an aadido enlaces para .orrar o aadir nuevas 3uentes al listado' el evento 0enerado al presionar so.re estos enlaces es capturado por la aplicacin 2ue muestra una ventana para eliminar o aadir un nuevo elemento/ Se -an creado dos listas de 3avoritos' una para los podcast 3avoritos y otra para las radios 3avoritasR el listado de podcast 3avoritos puede verse en la 4M%/

#magen 4.7 3istado de Podcast favoritos

144

5. "resupuesto ( planificacin
(.1 )ntroduccin
9n esta seccin se van a detallar los costes econmicos derivados de la de reali acin del presente proyecto/ Para ello se -an dividido los costes a0rup,ndolos se0>n la naturale a de los mismos/ Ca.e destacar 2ue estos costes corresponden a la reali acin del prototipo y no corresponden al coste unitario de la produccin en serie del reproductor/ :os costes se -an a0rupado se la si0uiente manera" So3tAare" a2u se incluye todo el so3tAare necesario para la reali acin del proyecto' pero 2ue no 3orma parte de l' como sistema operativo' pro0ramas C$D' entornos de pro0ramacin' etc/ Cerramientas" a este 0rupo pertenecen todas la -erramientas F3sicasG 2ue se -an utili ado para la reali acin del proyecto/ Componentes y 3a.ricacin del PCB" se incluye el coste del circuito impreso y todos los componentes 2ue la componen/ Mano de o.ra" coste de los recursos -umanos 2ue -an sido necesarios/

Por >ltimo indicar 2ue el coste de los componentes y materiales de esta seccin corresponden a precios sin 4V$/

(.2 Coste del so#t5are


9l so3tAare utili ado para el desarrollo del sistema consta de sistema operativo' -erramienta C$D para el diseo del circuito impreso' compilador C para el 3irmAare del microcontrolador' entornos de desarrollo de Cb' Microso3t /@9! =rameAorB SDD )/* y otras aplicaciones para el diseo de iconos y 0r,3icos' tanto los mostrados por la pantalla :CD como los de la aplicacin AindoAs/ Se -a utili ado el sistemas operativo JindoAs IP para el desarrollo y prue.as del proyecto' aun 2ue tam.in se -a podido pro.ar su 3uncionamiento en JindoAs Vista/ 9l pro0rama de C$D utili ado -a sido 9a0le de Cadso3t' en concreto una versin 0ratuita con limitacin a dos capas como m,Mimo y al uso no comercial del diseo/ 9n cuanto a la pro0ramacin' el compilador utili ado para el 3irmAare del microcontrolador es PCJC de CSS' 2ue tam.in tiene una versin 0ratuita limitada' y para la pro0ramacin de la li.reras y la aplicacin JindoAs se -an utili ado el entorno S-arpdevelop (/( y el Visual Studio )**5/ %racias al proyecto /ream0par> de Microso3t los estudiantes universitarios espaoles pueden o.tener acceso 0ratuito a este so3tAare y por tanto no se -a conta.ili ado su coste/ :as aplicaciones utili adas para pro0ramar el microcontrolador -an sido 4C?Pro0 y JinPic+**' am.os 0ratuitos/ :a redaccin de esta memoria se reali a con la aplicacin' tam.in 0ratuita' 6pen 633ice/

145

$dem,s se -an utili ado otras aplicaciones de car,cter 0ratuito para tareas menores' como el pro0rama %4MP y =ast:CD Desi0ner' aun2ue por su poco uso y car,cter 0ratuito no se -an aadido a la !a.la 7/( donde aparecen des0losados el coste de los pro0ramas/
8rograma JindoAs IP 9a0le Demo Compilador PCJC Visual Studio )**5 S-arpDevelop (/( JinP4C+** 4C?Pro0 ,otal Ia<la +.% Precio del 0oftware 8recio 69M Fprecio incluido en el coste del PCG */**l 3)*l */**l */**l */**l */**l 320J

Cay 2ue recordar 2ue la !a.la 7/( muestra el precio del producto' el coste depende del n>mero de proyectos 2ue -a0an uso de l y por tanto de la amorti acin de cada uno/

(.3 Coste de las ,erramientas


Como -erramientas se entiende todo el -ardAare utili ado para el desarrollo del proyecto' tanto los ordenadores como -erramientas para el monta1e y testeo del circuito impreso/ Para el desarrollo del proyecto se -a empleando un ordenador de so.remesa cuyas principales caractersticas son las si0uientes" Procesador $MD $t-lon 7< I) 3+**^ Memoria R$M )%B Disco duro de 3)* %B Monitor (8SS Sistema operativo JindoAs IP

9n cuanto a las -erramientas para el monta1e' testeo y pro0ramacin del circuito se -an utili ado"

146

Cerramientas de soldadura" soldador' .ase del soldador' estao' 3luM y malla de desoldar/ Placa 3otosensi.le para el primer prototipo y materiales de revelado y atacado/ Microtaladro y .rocas usadas en el primer prototipo Polmetro/ 6sciloscopio di0ital !eBMeter !CM55*/ Pro0ramador #DM Pilas recar0a.les

$l0unos elementos menores como pin as para su1etar componentes' pin as de eMtraccin de c-ips' 3leMo para iluminar y similares no se -an incluido/ 9n la !a.la 7/) se lista el precio de cada uno de los elementos indicados/ Como en el caso del so3tAare se trata del precio nte0ro de los elementos' el coste depende del uso 2ue se -a0a de ellos en otros proyectos y de su amorti acin/

(lemento 6rdenador de so.remesa Cerramientas de soldadura Placa 3otosensi.le y materiales de reveladoOatacado Microtaladro y .rocas Polmetro 6sciloscopio Pro0ramador #DM Pilas recar0a.les ,otal Ia<la +.$ Precio de las herramientas

8recio +5*l <*l (5l (5l (*l )5*l (5l 5l 1D200J

(.4 Coste de los componentes - PC'


Se -an reali ado dos prototipos de circuito impreso' el primero se reali de 3orma fartesanalg como se indica en el captulo del desarrollo -ardAare' el se0undo tan solo modi3ica el circuito de alimentacin del primer prototipo' y en esta ocasin se mand 3a.ricar la placa del circuito ya 2ue se necesita.a un circuito de una mayor calidad/ De.ido a la 0ran variedad de elementos discretos 2ue se -an utili ado en el circuito al0unos se -an a0rupado' este es el caso por e1emplo de los condensadores y resistencias/ $l0unos elementos' como el mdulo USB' se -an empleado en am.os prototipos y no -a sido necesario ad2uirirlos por duplicado/ 6tros elementos' como el microcontrolador' -an sido conse0uidos como muestras 0ratuitas/ 9n la !a.la 7/3 se lista el precio de todos los componentes/

147

(lemento Placa de circuito impreso P4C (+:=<5) Pantalla :CD Mdulo USB Decodi3icador MP3 VS(**(D M$I(785 !C((* !ar1eta de memoria Ca.le USB Cristales de )*MC y (<MC Condensadores Resistencias 4nductancias Diodos !ransistor Mos3et Conector MMC Conector de audio 1acB 3'5mm 4nterruptor Botones Separadores -eMa0onales 9spadines Pcalo para inte0rado de <* pines Portapilas ) $$ ,otal Ia<la +. Precio de componentes

8recio <5l *l ()l (+l )*l *l *l (+l )'5*l (l 3'5*l *'7*l ('+*l *'7*l *'5*l 3l *'3*l *')*l 3l )l *'5*l *'<*l *'5*l 133>40J

(.! Plani#icacin - mano de obra


!odas las tareas del presente proyecto -an sido reali adas por el proyectista' no o.stante el coste de la mano de o.ra se van a dividir dependiendo de su tipo en coste estimado de -orasO-om.re de in0eniero y de tcnico/ 9l coste de la -ora de in0eniero se -a valorado en )* lO-ora y el de tcnico en () lO-ora<7/ 9n la 4ma0en 7/( se presenta el dia0rama de %antt de la estimacin de la duracin del proyecto inte0rando el tiempo' como si -u.iese -a.ido una dedicacin eMclusiva a ste/ Des0raciadamente esto no -a sido posi.le de.ido a otras o.li0aciones acadmicas y' so.re todo' la.orales/ 4nicialmente se muestra la tarea de .>s2ueda .i.lio0r,3ica y documentacin' no o.stante la documentacin y la consulta de manuales de re3erencia y especi3icaciones se -a reali ado durante todas las partes del proyecto/

<7 Valoracin o.tenida a partir de las ta.las salariales del convenio la.oral de f9mpresas de in0eniera y estudios tcnicosg

148

#magen +.% /iagrama de Gantt

149

%ran parte del desarrollo del 3irmAare del microcontrolador se -a reali ado simult,neamente con la aplicacin ya 2ue tareas como la comunicacin comparten elementos 2ue -acen necesario su desarrollo y depuracin en paralelo/ 9n la !a.la 7/< se muestra el n>mero de -oras de in0eniero y tcnico empleadas/ @o se -an conta.ili ado 3ines de semana/ :as -oras de tcnico corresponden a las tareas de monta1e y testeo de las placas de circuito impreso/
8ersonal 4n0eniero !cnico ,otal 0orasC0om!re (/35* 5* Coste )8/*** l 7** l

1D400 27D600 J Ia<la +.( @aloracin del coste de mano de o<ra.

9n la !a.la 7/5 se resumen el coste total del proyecto' no o.stante -ay 2ue recordar 2ue los costes de so3tAare y -erramientas utili adas son los precios de los mismos' y su coste real depende de los proyectos 2ue se realicen con ellos y su amorti acin/
Concepto So3tAare Cerramientas Componentes Mano de o.ra ,otal Ia<la +.4 Coste total del proyecto Coste 3)* l (/)** l (33'<*l )8/7** l 29D253>40J

150

6. Conclusiones ( traba+o futuro


6.1 Conclusiones
Despus de reali ar las prue.as so.re el reproductor y aplicacin desarrollados se puede concluir 2ue se -an cumplido los o.1etivos planteados al inicio del proyecto/ Se -a conse0uido desarrollar con Mito un circuito impreso microcontrolado capa de acceder al sistema de arc-ivos =$!(7 y reproducir arc-ivos de audio en 3ormato MP3 almacenados en una tar1eta de memoria Multimedia Card o Secure Di0ital/ 9l inter3a de usuario consta de una .otonera para el control de reproductor y una pantalla 0r,3ica :CD de +<M<+ pMeles donde se muestra in3ormacin del arc-ivo en reproduccin eMtrada de la eti2ueta 4D3/ 9l reproductor permite adem,s comunicarse con una aplicacin en un ordenador mediante el inter3a USB' esta aplicacin puede controlar por completo el reproductor' acceder al sistema de arc-ivos y descar0ar arc-ivos almacenados en la tar1eta de memoria/ :a aplicacin desarrollada permite el control de distintos modos de reproduccin" Reproduccin de arc-ivos almacenados en la tar1eta de memoria/ Reproduccin en tiempo real Fen el reproductorG de arc-ivos almacenados en el ordenador/ Reproduccin en tiempo real en la aplicacin de arc-ivos almacenados en la tar1eta de memoria/ Reproduccin de 3lu1os de audio descar0ados de internet Fcomo radios a travs de internet y podcastin0G

Se -a de3inido un protocolo de comunicacin entre el reproductor y la aplicacin' y se -a implementado una li.rera D:: 2ue encapsula el protocolo para poder desarrollar m,s 3,cilmente aplicaciones 3uturas/ :os elementos principales del reproductor desarrollado son"

Un microcontrolador P4C(+:=<5)' uno de los m,s potentes y con m,s memoria de su 3amilia' de.ido a las necesidades del proyecto/ @o o.stante se -a tenido 2ue optimi ar tanto la velocidad de e1ecucin del cdi0o como su tamao para 0aranti ar una reproduccin sin cortes con arc-ivos MP3 de tasas de .it altas/ :a decodi3icacin del audio MP3 se -a reali ado mediante el inte0rado VS(**(B' 2ue incorpora adem,s un decodi3icador DO$ y un pe2ueo ampli3icador 2ue permite conectarlo directamente a unos auriculares/ :a comunicacin USB se -a reali ado mediante el inte0rado =!)<5BM de =!D4 C-ip' 2ue proporciona unos drivers 2ue 3acilitan la comunicacin/ De.ido al tipo de encapsulado de este inte0rado' de di3cil soldadura' se -a utili ado un mdulo 2ue 3acilita el desarrollo de prototipos al contener los elementos .,sicos 2ue necesita y utili ar un 3ormato D4P/

151

:a pantalla :CD utili ada es una pantalla 0r,3ica monocromo de +<M<+ pMeles con un inter3a serie de tan solo oc-o lneas y 3,cil de o.tener' ya 2ue se utili a en los tel3onos mviles @oBia 33(*/ :a alimentacin' si no est, conectada por USB a un ordenador' la proporcionan dos pilas $$ 2ue -acen del reproductor un dispositivo port,til/ Si el reproductor est, conectado por USB se de.en utili ar pilas recar0a.les ya 2ue el reproductor' adem,s de alimentarse por este puerto' recar0a las pilas/ :a tar1eta de memoria utili ada para el almacenamiento de los arc-ivos MP3 puede ser tanto Multimedia Card como Secure Di0ital' ya 2ue el protocolo utili ado es compartido por am.as/ Se pueden utili ar tar1etas de -asta )%B y -an de estar 3ormateadas en =$!(7' 2ue al ser un 3ormato de arc-ivos muy di3undido pueden ser ledas y escritas por casi cual2uier dispositivo/

9n de3initiva se -an cumplido los o.1etivos planteados al inicio del proyecto' siendo un reproductor porta.le' con un inter3a de usuario 3,cil e intuitivo' capa de car0ar las pilas mediante el puerto USB y ser controlado por completo mediante una aplicacin 2ue permite' adem,s de acceder al sistema de arc-ivos de la memoria' la reproduccin tanto de arc-ivos almacenados localmente como de arc-ivos almacenados en el ordenador y 3lu1os de datos descar0ados de internet en tiempo real/

6.2 Trabajo #uturo


$dem,s de todas las 3uncionalidades incluidas tanto en el reproductor como en la aplicacin' el uso tanto de una pantalla 0r,3ica como de una coneMin USB 2ue permite la comunicacin con el reproductor' y no es simplemente un dispositivo de almacenamiento masivo' o3recen la posi.ilidad del desarrollo de m,s 3uncionalidades/ Un e1emplo de las me1oras 3uturas 2ue se proponen son"

Permitir la 0ra.acin de arc-ivos desde el PC/ $umentar los modos de reproduccin del reproductor' como por e1emplo" reproduccin aleatoria dentro de un directorio' aleatoria en toda la memoria' modo shuffle' etc/ Posi.ilidad de crear listas de reproduccin/ $adir 3unciones de BaraoBe' 2ue muestren la letra de la cancin en la pantalla 0r,3ica a partir de un arc-ivo con los tiempos/ Desarrollar' a partir de la li.rera de comunicaciones' un servicio 2ue permita el control del reproductor de 3orma remota' como una p,0ina Ae. o desde una aplicacin en una PD$/ 9sto puede ser interesante si' por e1emplo' se desea conectar el reproductor a un sistema de -ilo musical y controlar de 3orma remota lo 2ue se est, reproduciendo/

152

Permitir la 0ra.acin de audio en 3ormato MP3' para ello -a.ra 2ue cam.iar el inte0rado de decodi3icacin de MP3 por otro 2ue permita tam.in la codi3icacin Fpor e1emplo el M$S35+8=G

153

&">4*ICE I !anual de usuario


1. )ntroduccin
9l reproductor de m>sica utili a memorias Multimedia Card o Secure Di0ital para almacenar los arc-ivos de audio en 3ormato MP3/ :as caractersticas principales son las si0uientes" Reproduccin de arc-ivos de audio MP3/ Soporte 4D3 versin ( y )/ $lmacenamiento en memoria Multimedia Card o Secure Di0ital @ave0acin por el ,r.ol de directorios Pantalla 0r,3ica :CD monocromo de +<M<+ pMeles Seis .otones ConeMin al ordenador mediante USB $plicacin para el control del reproductor desde el ordenador/ Descar0a de arc-ivos Reproductor?jPC Reproduccin directa de arc-ivos almacenados en el ordenador Reproduccin en la aplicacin de arc-ivos almacenados en la tar1eta de memoria/ Reproduccin de radio a travs de internet/

2. "speci#icaciones t4cnicas
$ continuacin se listan las especi3icaciones del reproductor"

Decodi3icacin

!ar1eta de memoria Sistema de arc-ivos Pantalla $limentacin 4nter3a USB Resolucin del D$C Canales Respuesta en 3recuencia <8 Ran0o din,mico Relacin SealORuido Salida de audio <+ Consumo

$utonoma<;

" $udio MP9% (O) :ayer 3 CBR y VBR Casta 3)* B.ps " Multimedia Card y Secure Di0ital " =$!(7 " :CD monocromo de +<M<+ pieles " ) pilas $$ " Compati.le con USB (/( y )/* " (7 .its " 9streo " )* C Z )*DC " ;* d. " +8 d. " Mini?#acB 3 m F$uricularesOSalida en lineaG " (** m$ Fde las pilasG " 3** m$ Fdel USB si est, car0ando las pilasG " (+ -oras

<8 Datos de ran0o din,mico y relacin SOR se0>n especi3icaciones del decodi3icador de MP3/ <+ Consumo m,Mimo en reproduccin' depende de varios 3actores' como el volumen del audio/ <; $utonoma aproMimada' depende principalmente de la capacidad de las pilas/

154

3. Re7uisitos del sistema


:os re2uisitos del sistema son" Sistema operativo JindoAs ;+ O M9 O )*** O IP O Vista =rameAorB /@9! )/* Un puerto USB li.re/ :ector CDODVD para la instalacin de los drivers y la aplicacin/ Se recomienda tar1eta de sonido' para la reproduccin local/ ConeMin a internet' para reproducir radio a travs de internet y podcastin0/

4. Reproductor
%.1 :ista general ( controles

#magen #.% @isin general del reproductor

155

9n la 4ma0en 4/( puede verse una visin 0eneral del reproductor' en la 2ue destacan lo si0uientes elementos" Botonera' compuesta de 7 .otones Fsu.ir volumen' .a1ar volumen' opcionesOarc-ivos' anterior' reproducirOpausar y si0uienteG Pantalla :CD Pilas' dos pilas $$/ Conector USB 4nterruptor de encendidoOapa0ado Conector de salida de audio/ 8umpers auricularesOsalida en lnea' seleccionan si en la salida de audio se van a conectar unos auriculares F*umpers conectadosG o se va a usar de salida en lnea F*umpers sin conectarG/ !ar1eta de memoria' del tipo Multimedia Card o Secure Di0ital/

9n la 4ma0en 4/) se muestra la 3uncin de cada .otn de la .otonera/

#magen #.$ /etalles de la <otonera

:os .otones pueden variar la 3uncionalidad se0>n la pantalla en la 2ue se encuentre en cada momento/ :os .otones de su.ir y .a1ar volumen son los >nicos 2ue mantienen una 3uncionalidad en todo momento/ :as 3uncionalidades del resto de .otones son las si0uientes" 6pcionesO$rc-ivos" cuando el reproductor est, parado este .otn sirve para entrar en la pantalla del listado de arc-ivos/ Cuando est, en reproduccin se utili a para entrar en el men> de opciones de sonido/ $nterior" dentro de la pantalla del listado de arc-ivos sirve para seleccionar el arc-ivo anterior' mientras 2ue en la de opciones la opcin anterior/ Si el reproductor se encuentra reproduciendo pasa a reproducir el arc-ivo de audio anterior/

156

Si0uiente" e2uivalente al .otn anterior' selecciona el arc-ivo o la opcin si0uiente/ Reproducir" en el listado de arc-ivos sirve para reproducir el arc-ivo seleccionado o entrar en el directorio seleccionado/ 9n el men> de opciones para activar o desactivar la opcin seleccionada/ Si se est, reproduciendo un arc-ivo' sirve para pausar o para detener la reproduccin Fsi se mantiene el .otn presionado un par de se0undosG

%.2 &limentacin ( recarga de pilas 9l reproductor utili a pilas de tipo $$' tanto recar0a.les como no recar0a.les/ Si se utili an pilas no recar0a.les es importante eMtraerlas antes de conectar el reproductor al puerto USB' de lo contrario se podran daar tanto las pilas como el reproductor/ Cuando el reproductor est, conectado mediante el puerto USB a un ordenador ste le suministra la alimentacin necesaria para 3uncionar y adem,s car0a las pilas recar0a.les' en caso de estar conectadas/ Para la recar0a de pilas es necesario 2ue el interruptor de encendido est en posicin de encendido' en ese momento el reproductor comen ar, la recar0a de las pilas tanto si est, en uso como si no Fel ordenador de.e estar encendidoG/ Cay 2ue recordar 2ue el reproductor no es un car0ador de pilas y posee un circuito de car0a muy .,sico/ 9s recomenda.le car0ar las pilas en un car0ador convencional si se dispone de l/ 9n caso de no estar disponi.le el reproductor puede usarse para recar0ar pilas de tipo @iMC y @iCd de (/5 voltios/ 9l tiempo de car0a depender, de la capacidad de las pilas' para unas pilas de (+**m$- el tiempo de car0a es de + -oras/ 9s aconse1a.le no reproducir a la ve 2ue se reali a la car0a' de lo contrario el tiempo de car0a aumenta/ Durante el tiempo 2ue el reproductor est, conectado al puerto USB de un ordenador al0uno componentes del circuito pueden calentarse' esto es normal/ Cay 2ue evitar tocar los elementos del circuito cuando ste est car0ando las pilas/

%.3 "antalla LC* :a pantalla :CD muestra tres pantallas principales dependiendo del estado del reproductor' estas son" pantalla de espera o reproduccin F4ma0en 4/3G' listado de arc-ivos F4ma0en 4/<G y men> de opciones F4ma0en 4/5G/

157

#magen #. Pantalla 3C/ con el reproductor en espera.

#magen #.( Pantalla del listado de archivos

#magen #.4 Pantalla del listado de opciones

Durante la reproduccin de un arc-ivo MP3 en la pantalla aparece in3ormacin tanto del 3ormato del arc-ivo como del contenido' ledo de la eti2ueta 4D3/ Si el arc-ivo no posee una eti2ueta 4D3 aparece el nom.re del arc-ivo/ 9n la 4ma0en 4/7 aparece detallada la in3ormacin 2ue puede verse durante la reproduccin/ $ continuacin se eMplican cada uno de los elementos 2ue aparecen en la pantalla" 158

9l icono indica 2ue estamos escuc-ando un arc-ivo MP3/ 9l icono indica el modo de reproduccin' en este caso normal Freproduccin de los arc-ivos se0>n el orden en el directorioG/ $ continuacin aparece la tasa de .it' puede ir de + B.ps a 3)* B.ps/ Si se est, reproduciendo un arc-ivo con tasa de .it varia.le FVBRG este n>mero ir, cam.iando/ De.a1o de la tasa de .it aparece la 3recuencia de muestreo del arc-ivo MP3' las valores posi.les son" + BC ' (( BC ' () BC ' (7 BC ' )) BC ' )< BC ' 3) BC ' << BC ' <+BC / $rri.a a la derec-a aparece un icono 2ue indica si se trata de un arc-ivo estreo o mono3nico/ Si el arc-ivo es estreo aparece el icono ' si es mono3nico aparece / Si est, activada la opcin differential y el arc-ivo es estreo se crea un @irtual 0urround y aparece el icono ' si se trata de un arc-ivo mono aparece / De.a1o de este icono aparece la pala.ra fB$SSg o f@6RMg dependiendo de si est, activada la opcin de realce de .a1os o no/ 9n la si0uiente lnea aparece el n>mero del arc-ivo dentro del directorio' el tiempo de reproduccin y un 0r,3ico de .arras 2ue indican el nivel del volumen/ 9n las tres si0uiente lneas aparece la in3ormacin eMtrada de la eti2ueta 4D3 del arc-ivo/ 9n las dos primeras lneas aparece el ttulo de la cancin' y en la si0uiente aparece el autor y el ,l.um entre parntesis' mediante un teMto desli ante/

#magen #.+ /escripcin de la informacin en pantalla

%.% 1tili,acin $ntes de empe ar a utili ar el reproductor -ay 2ue ase0urarse de 2ue la tar1eta de memoria est insertada y no eMtraerla mientras est encendido/ Se -an de utili ar pilas de tamao $$' si se va a conectar el reproductor al puerto USB del ordenador estas -an de ser recar0a.les/ 9l reproductor puede utili arse sin pilas si est, conectado al puerto USB' ya 2ue se alimenta de ste/

159

Reproduccin de un arc-ivo Una ve encendido el reproductor la pantalla muestra la apariencia de la 4ma0en 4/3/ 9n este momento se puede presionar el .otn de fReproducirg para comen ar la reproduccin del primer arc-ivo MP3 del directorio ra / Si se desea reproducir un arc-ivo en concreto se puede seleccionar accediendo a la lista de arc-ivos/ Para ello se -a de presionar el .otn f6pcionesO$rc-ivosg' sto a.rir, un nave0ador 2ue permite acceder al ,r.ol de directorios y arc-ivos de la memoria F4ma0en 4/<G/ :os .otones fSi0uienteg y f$nteriorg cam.ian el elemento seleccionado' y el .otn fReproducirg inicia su reproduccin en caso de 2ue se trate de un arc-ivo MP3/ 9n caso de 2ue el elemento seleccionado sea un directorio el .otn fReproducirg entra dentro de l/ Cuando 3inali a la reproduccin de un arc-ivo comien a a reproducirse el si0uiente arc-ivo dentro del directorio' en caso de tratarse del >ltimo arc-ivo dentro del directorio 3inali a la reproduccin/ Controles de reproduccin Durante la reproduccin se puede cam.iar de arc-ivo presionando los .otones fSi0uienteg y f$nteriorg' 2ue inician la reproduccin de los arc-ivos si0uiente y anterior respectivamente del arc-ivo en ese momento en reproduccin/ Para pausar la reproduccin se -a de presionar el .otn fReproducirg una ve ' esto pausa la reproduccin y permite retomarla en el punto en el 2ue se -a 2uedado/ Para volver a retomar la reproduccin -ay 2ue presionar de nuevo el .otn fReproducirg/ Si se desea detener totalmente la reproduccin de un arc-ivo se -a de presionar de 3orma continuada el .otn fReproducirg durante un par de se0undos/ Control de volumen Para aumentar o disminuir el volumen de audio del reproductor se -a de presionar los .otones fSu.ir volumeng o fBa1ar volumeng/ @o es necesario 2ue el reproductor est reproduciendo para cam.iar el nivel de volumen/ :os cam.io reali ados se almacenan de 3orma 2ue ser,n recordados la prMima ve 2ue se encienda el reproductor/ 9l nivel del volumen puede verse en la pantalla representado por un con1unto de .arras' como poda verse en la 4ma0en 4/7/ Men> de opciones Para entrar en el men> de opciones se de.e presionar el .otn f6pcionesO$rc-ivog durante la reproduccin de un arc-ivo/ 9l men> de opciones puede verse en la 4ma0en 4/5' las opciones son" fB$SSg' fVirtual Surroundg y fReproduccin

160

@ormalg5*/ $l i0ual 2ue con el listado de arc-ivos' se utili an los .otones fSi0uienteg y f$nteriorg para cam.iar el elemento seleccionado' y el .otn fReproducirg para activar o desactivar la opcin/ Para salir del men> de opciones sin e3ectuar nin0>n cam.io se presiona de nuevo el .otn f6pcionesO$rc-ivog/ 9l icono delante del nom.re de la opcin indica si sta est, activada o desactivada/ 9n caso de estar activada aparece el icono y si est, desactivada /

! 8plicacin
).1 Instalacin $ntes de iniciar la instalacin de la aplicacin de control del reproductor MP3 -an de estar instaladas una serie de drivers y li.reras/ 4nstalacin de Microso3t /@9! =rameAorB )/* 9n primer lu0ar se -a de instalar el /@9! =rameAorB )/* de Microso3t 2ue se encuentra en el CD de instalacin ad1unto o se puede descar0ar la la p,0ina Ae. de Microso3t"
7ttp899""";micr%s%#t;c%m9d%"nl%ads9details;asp2FFamil*-16=<BCeacb?J.C+? Jb=d?<edd?aab1BcBe=J#BKdispla*lang6es

Una ve descar0ado el pro0rama de instalacin de Microso3t /@9! =rameAorB )/* se e1ecuta y se si0uen los pasos indicados durante el proceso de instalacin' 2ue puede durar varios minutos/ Para m,s in3ormacin so.re la instalacin de Microso3t /@9! =rameAorB )/* acudir a la Ae. anteriormente mencionada o ponerse en contacto con el servicio tcnico de Microso3t/ 4nstalacin de los controladores de USB 9l CD de instalacin ad1unto incluye un instalador de los drivers de USB necesarios 2ue se -an de instalar antes de la aplicacin de control/ Despus de e1ecutar el pro0rama de instalacin ste instala autom,ticamente todos los drivers necesarios sin necesidad de reali ar nin0una accin/ 9n la 4ma0en 4/8 puede verse la ventana de instalacin/

5* Solo est, disponi.le el modo de reproduccin normal' en 3uturas actuali aciones pueden incluirse otros modos de reproduccin' como el aleatorio/

161

#magen #.7 @entana de instalacin del driver de A09.

4nstalacin de la aplicacin Una ve instalado el =rameAorB /@9! y los drivers del controlador USB se puede proceder a la instalacin de la aplicacin/ Para ello se e1ecuta el arc-ivo de instalacin y se si0uen los pasos indicados/ Se trata de una instalacin est,ndar' las ventanas del proceso de instalacin pueden verse en las im,0enes" 4ma0en 4/+' 4ma0en 4/;' 4ma0en 4/(* y 4ma0en 4/((/

#magen #.; 1sistente de instalacin de la aplicacin %.

162

#magen #.' 1sistente de instalacin de la aplicacin $.

#magen #.%. 1sistente de instalacin de la aplicacin .

#magen #.%% 1sistente de instalacin de la aplicacin (.

163

).2 :entana principal $ntes de iniciar la aplicacin el reproductor -a de estar encendido y conectado a un puerto USB del ordenador/ Durante el arran2ue la aplicacin muestra una ventana como la de la 4ma0en 4/()' indicando el paso de iniciacin de la comunicacin en el 2ue se encuentra/

#magen #.%$ #niciacin de comunicacin.

Una ve iniciada la comunicacin se mostrar, la ventana principal de la aplicacin' 2ue consta de dos re0iones principales como puede verse en la 4ma0en 4/(3/ :a parte i 2uierda de la ventana es un men> en 3orma de ,r.ol 2ue permite seleccionar la accin 2ue se desea reali ar/ 9n la parte derec-a o ona principal se muestran los controles principales de la aplicacin y su contenido variar, dependiendo de la accin seleccionada en el men> i 2uierdo/ Para 3acilitar el uso de la aplicacin el inter3a simula una ventana del eMplorador de JindoAs' tanto en su apariencia como en sus utili acin/

#magen #.% ,egiones principales de la aplicacin.

164

).3 Contenido de la tar+eta de memoria Despus de iniciar la comunicacin el men> tiene seleccionada la opcin de fReproductornMemoriag' esta opcin muestra en la ona principal el listado de carpetas y arc-ivos 2ue contiene el reproductor de 3orma similar a como se muestra en el eMplorador de JindoAs' como muestra la 4ma0en 4/(</ :a nave0acin entre carpetas es muy sencilla' tan solo -ay 2ue -acer do.le clic so.re la carpeta a la 2ue se 2uiere acceder/

#magen #.%( Contenido de la tar*eta de memoria

Para descar0ar un arc-ivo de la tar1eta de memoria al ordenador -a de arrastrarlo y soltarlo so.re la ventana de la carpeta donde se desea copiar' tal y como se -ace con el eMplorador de JindoAs/ $l -acerlo aparecer, una ventana 2ue muestra la pro0resin de la descar0a' tal y como muestra la 4ma0en 4/(5/

#magen #.%4 @entana de copia de un archivo.

).% Reproduccin de arc/i-os en la tar+eta de memoria Para reproducir en el reproductor un arc-ivo 2ue se encuentre en la tar1eta de memoria -ay 2ue acceder primero al listado de arc-ivos de la tar1eta Fopcin fReproductornMemoriagG' una ve en l se selecciona el arc-ivo 2ue se desea reproducir y se presiona el .otn derec-o del ratn/ $parecer, un men> como el de la 4ma0en 4/(7' se selecciona la opcin fReproduccin remotag/ 165

#magen #.%+ Jpcin ,eproduccin remota.

9sto a.rir, una ventana en la aplicacin simulando un reproductor' con los controles tpicos F4ma0en 4/(8G' adem,s de un listado de los arc-ivos del directorio donde se est, reproduciendo' 2ue permite iniciar la reproduccin de otro arc-ivo del mismo directorio/

#magen #.%7 ,eproduccin remota de archivos en la tar*eta.

).) Reproduccin en la aplicacin de arc/i-os de la memoria :a aplicacin permite reproducir en el ordenador arc-ivos almacenados en la memoria del reproductor/ Para ello -ay 2ue se0uir los mismos pasos 2ue en la reproduccin de arc-ivos en el reproductor' pero en este caso seleccionar la opcin fReproduccin localg del men> F4ma0en 4/(+G/

#magen #.%; Jpcin ,eproduccin local.

9sto a.re en la aplicacin una ventana con un reproductor con los controles .,sicos de reproduccin y un pe2ueo anali ador de espectro del audio 2ue est, sonando' tal y como se muestra en la 4ma0en 4/(;/ 9s necesario 2ue el ordenador ten0a una tar1eta de sonido y unos altavoces conectados para poder escuc-ar audio/

166

#magen #.%' ,eproductor local de audio.

).5 Reproduccin de arc/i-os almacenados en el "C 9l reproductor tam.in es capa de reproducir arc-ivos almacenados en el ordenador sin necesidad de ser 0ra.ados en la tar1eta de memoria/ Para ello -ay se seleccionar en el men> de la i 2uierda la opcin fReproductorn:ista de reproduccing/ 9n la ona principal aparece la lista de los arc-ivos MP3 2ue se van a reproducir' y so.re este listado un pe2ueo control de reproduccin' tal y como se muestra en la 4ma0en 4/)*/

#magen #.$. 3ista de reproduccin

167

Para aadir arc-ivos a la lista de reproduccin tan solo -ay 2ue arrastrar los arc-ivos deseados de una ventana del eMplorador a la aplicacin/ Se pueden aadir tanto arc-ivos MP3 como arc-ivos P:S Flistas de reproduccinG como se muestra en la 4ma0en 4/)(/

#magen #.$% 1adiendo archivos al listado de reproduccin

$dem,s la lista de reproduccin puede ser eMportada a un arc-ivo P:S' as esta misma lista puede ser utili ada en el 3uturo' tanto por la aplicacin como por otros pro0ramas 2ue lean este 3ormato de arc-ivo Fpor e1emplo el JinampG/ Para -acer esto -ay 2ue pulsar so.re el .otn ro1o del control de reproduccin/ Para reproducir un arc-ivo -ay 2ue -acer do.le clic so.re l o seleccionarlo y presionar el .otn de reproduccin del control de reproduccin superior/ 9l arc-ivo en reproduccin se mostrar, con un icono de color verde a su i 2uierda' y los dem,s con un icono de color ro1o' tal y como se muestra en la 4ma0en 4/))/ Cuando 3inali a la reproduccin de un arc-ivo comien a la reproduccin del si0uiente de la lista/

#magen #.$$ /etalle de los iconos del estado del archivo

).6 2treaming 9l reproductor permite reproducir 3lu1os de datos MP3 descar0ados de internet directamente' sin necesidad de ser almacenados ni en el ordenador ni en la tar1eta de memoria/ 9stos pueden ser arc-ivos MP3 Fpodcast por e1emploG o 3lu1os de datos transmitidos en tiempo real' como una radio a travs de internet/ Para ello -ay 2ue seleccionar una de las opciones del men> dentro de la seccin fStreamin0g/ 9Misten dos su.secciones dentro de fStreamin0g" Podcastin0 e 4nternet Radio/ Podcastin0 Dentro de la su.seccin fPodcastin0g se encuentra la opcin fPodcasters =avoritosg' a2u se 0uardan una lista de las direcciones de podcastin0 3avoritas del 168

usuario/ 9n la 4ma0en 4/)3 puede verse la apariencia de la lista' 2ue contiene enlaces para .orrar y aadir direcciones/

#magen #.$ Podcast -avoritos

$l presionar so.re el ttulo de una direccin 0uardada se car0a en el eMplorador de internet inte0rado en la aplicacin la p,0ina Ae. de dic-a direccin/ Una ve en la p,0ina Ae. se puede nave0ar por sta' al i0ual 2ue en un nave0ador Ae. -a.itual' con la peculiaridad 2ue al presionar enlaces cuyos contenidos sean arc-ivos MP3 estos ser,n reproducidos en el reproductor/ :a reproduccin puede controlarse con los controles 2ue se encuentran so.re el nave0ador Ae./ Puede verse un e1emplo en la 4ma0en 4/)</

#magen #.$( Contenido de un Podcast.

169

4nternet Radio $dem,s de arc-ivos MP3 la aplicacin puede mandar al reproductor 3lu1os de audio en 3ormato MP3 2ue descar0a de la red a partir de 3uentes 2ue transmiten el contenido en tiempo real' como son las radios/ 9l 3uncionamiento es similar al del Podcastin0' pero esta ve los enlaces no apuntan a arc-ivos MP3 sino a servidores 2ue transmiten dic-o contenido o a arc-ivos P:S Flistas de reproduccinG 2ue contienen la direccin de dic-os servidores/ Dentro de la su.seccin f4nternet Radiog -ay dos opciones" S-outCast" P,0ina Ae. con cientos de radios 2ue emiten codi3icando el audio en 3ormato MP3/ Radios =avoritas" Similar a fPoscasters =avoritosg pero en este caso se almacena la direccin del servidor o arc-ivo P:S de la radio en cuestin/

$m.as opciones 3uncionan de manera similar a la opcin fPoscasters =avoritosg' car0ando el contenido del enlace en el nave0ador Ae. inte0rado/ :a reproduccin se controla con los .otones 2ue se encuentran so.re el nave0ador Ae./ 9n la 4ma0en 4/)5 puede verse la p,0ina Ae. de SC6U!cast/

#magen #.$4 P!gina we< de 06JAIcast.

170

&">4*ICE II Estructura de .&015


)).1 )ntroduccin
9n este apndice se va a detallar la estructura del sistema de arc-ivos =$!(7 2ue se -a utili ado en el presente proyecto/ $ partir de la in3ormacin a2u descrita se -a desarrollado la li.rera para el microcontrolador 2ue 3ue eMplicada en el captulo de =irmAare/

)).2 "structura de F8T1(


9n el primer sector del disco se encuentra el Master Boot Record FMBRG 2ue a su ve 0uarda in3ormacin de donde se encuentran cada una de las particiones del disco 5(/ 9s el primer sector 2ue se de.e leer antes de poder acceder a una particin/ II.2.1 !aster 3oot Record 9s la estructura m,s importante en un disco y se crea cuando ste es particionado/ Contiene una pe2uea cantidad de cdi0o e1ecuta.le' llamado cdi0o de arran2ue maestro' la 3irma del disco y las ta.las de particin del disco/ Se puede ver la estructura en la !a.la 44/(/

8osici-n *M*** *M(B9 *M(C9 *M(D9 *M(99 *M(=9 Cdi0o e1ecuta.le (o Particin )o Particin 3o Particin <o Particin

2escripci-n

,amaIo <<7 .ytes (7 .ytes (7 .ytes (7 .ytes (7 .ytes ) .ytes

=irma de la unidad F*M55$$G Ia<la ##.% Estructura del Master 9oot ,ecord

:o primero 2ue se de.e -acer es locali ar la posicin de la primera particin' 2ue es donde se van a alo1ar los arc-ivos y con la 2ue se va a tra.a1ar/ Como se puede o.servar en la !a.la 44/( la in3ormacin para locali ar la primera particin se encuentra en la posicin *M(B9 dentro del MBR' la estructura de este campo se puede ver en la !a.la 44/)' 0racias a estos datos se puede locali ar el principio y 3in de la particin' el tipo de particin y su tamao/

5( Se utili ar, SdiscoS de manera 0enrica' ya 2ue la estructura es i0ual tanto en discos duros como en tar1etas de memoria/

171

8osici-n relati&a *M** *M*( *M*) *M*<

2escripci-n 9stado de la particin F*M**_desactivoR *M+*_activoG Ca.e al de inicio de la particin CilindroOSector de inicio de la particin F(* .its indican el cilintro y 7 el sectorG !ipo de particin F*M*<_=$!(7 de menos de 3)MBR *M*+_=$!(7 de m,s de 3)MBG Ca.e al de 3in de la particin CilindroOSector de 3in la particin F(* .its indican el cilindro y 7 el sectorG @>mero de sectores entre el principio del disco y el principio de la particin @>mero total de sectores de la particin Ia<la ##.$ Estructura del registro de particin en el M9,

,amaIo ( .yte ( .yte ) .ytes ( .yte

*M*5 *M*7 *M*+ *M*C

( .yte ) .ytes < .ytes < .ytes

II.2.2 2ector de arran?ue de la particin :a estructura de una particin =$!(7 se compone de cuatro partes" el sector de arran2ue de la particin' dos copias de la ta.la de particin' el directorio ra y el ,rea de datos' tal y como aparece en la 4ma0en 44/(/

#magen ##.% Estructura de una particin -1I%+

9l sector de arran2ue es el primer sector en la particin y su estructura depende del tipo de particin del 2ue se trate/ :a estructura del sector de arran2ue de =$!(7 se puede ver en la !a.la 44/3/

172

8osici-n relati&a *M** *M*3 *M*B *M*D *M*9 *M(* *M(( *M(3 *M(5 *M(7 *M(+ *M($ *M(C *M)* *M)< *M)7 *M)8 *M)B *M37 *M39 *M(=9 Cdi0o de salto 69M 4D

2escripci-n

,amaIo 3 .ytes + .ytes ) .ytes ( .yte ) .ytes ( .yte ) .ytes ) .ytes ( .yte ) .ytes ) .ytes ) .ytes < .ytes < .ytes ) .ytes ( .yte < .ytes (( .ytes + .ytes <<+ .ytes ) .ytes

Bytes por sector F5() .ytesG Sectores por cluster Sectores reservados @>meros de copias de =$! @>mero m,Mimo de entradas en el directorio ra @>mero de sectores en la particin Descripcin del medio Sectores por =$! Sectores por pista @>mero de ca.e ales @>mero de sectores ocultos en la particin @>mero de sectores en la particin @>mero de la unidad l0ica de la particin =irma eMtendida F*M);G @>mero de serie de la particin @om.re de volumen de la particin @om.re de la =$! F=$!(7G Cdi0o e1ecuta.le Marca 3in de sector F*M55$$G Ia<la ##. Estructura del sector de arranque de -1I%+

%racias a los datos 2ue se pueden eMtraer del sector de arran2ue de la particin podemos locali ar las ta.las de particin F=$!G' el directorio ra y el ,rea de datos' as como conocer di3erentes par,metros importantes' como el tamao del sector' los sectores por cluster' n>mero de sectores' etc/ 9n la !a.la 44/< se descri.e como calcular la posicin de los di3erentes elementos de la particin a partir de los datos eMtrados del sector de arran2ue/

(lemento Sector de arran2ue !a.las =$! Directorio ra Hrea de datos 4nicio de la particin

8osici-n 4nicio ^ @>mero de sectores reservados 4nicio ^ @a sectores reservados ^ F@a sectores por =$! X @a =$!sG

Posicin directorio rai ^ FFMaM @a de entradas en el dir/ Ra X 3)G O .ytes por sectorG Ia<la ##.( C!lculo de la posicin de los elementos de una particin

Cay 2ue recordar 2ue todas estas posiciones -acen re3erencia a sectores' por tanto -ay 2ue multiplicar por el n>mero de .ytes por sector para o.tener la posicin en .ytes/

173

II.2.3 0abla de asignacin de arc/i-os @.&0A :os 3ic-eros son alo1ados en disco divididos en pe2ueos 3ra0mentos' cada uno de estos 3ra0mentos se almacenan en una unidad de asi0nacin o cluster en el ,rea de datos/ :a ta.la de asi0nacin de arc-ivos utili a una estructura encadenada donde cada cluster apunta al si0uiente' y permite enla ar cada una de las partes de los arc-ivos almacenados/ :a =$! se compone de un con1unto de celdas compuestas por (7 .ytes' de 3orma 2ue eMiste una correspondencia entre las celda de la =$! y los clusters del ,rea de datos/ :as dos primeras celdas de la =$! contiene in3ormacin especial y no se utili an' por tanto se empie a utili ando la tercera celda/ Cada celda contiene in3ormacin so.re cu,l es el si0uiente cluster del 3ic-ero' el valor de la celda puede ser"

*M***)?*M==9= 9l valor seala el n>mero del si0uiente cluster del *M**** Cluster li.re *M***( Valor no usado *M===*?*M===7 Reservados *M===8 Cluster errneo *M===+?*M==== hltimo cluster del 3ic-ero

3ic-ero/

De esta 3orma se seala si un determinado cluster est, en uso o no' y si lo est, cu,l es el si0uiente cluster del arc-ivo o si se trata del >ltimo cluster/ 9n la 4ma0en 44/) puede verse un e1emplo simple de =$!' donde se o.servan tres 3ic-eros no 3ra0mentados de 3' ) y ( cluster/ :a in3ormacin re3erente al nom.re del arc-ivo' primer cluster y otros par,metros se encuentran en las secciones de directorio ra o en el ,rea de datos como veremos posteriormente/

#magen ##.$ E*emplo de ta<la de asignacin

9l tamao de cada cluster depende del tamao del disco y se o.tiene del sector de arran2ue de la particin/ 9n la !a.la 44/5 se muestran los tamaos de cluster asociados al tamao de la particin/

174

!amao de la particin * MB Z 3) MB 33 MB Z 7< MB 75 MB Z ()+ MB (); MB Z )55 MB )57 MB Z 5(( MB 5() MB Z (*)3 MB (*)< MB Z )*<8 MB

Sectores por cluster ( ) < + (7 3) 7<

!amao del cluster 5() .ytes ( DB ) DB < DB + DB (7 DB 3) DB

)*<+ MB Z <*;5 MB ()+ 7< DB Fsolo compati.le en al0unos sistemasG Ia<la ##.4 Iamaos de cluster segLn tamao de particin

II.2.% *irectorio ra, Despus de las ta.las =$! se encuentra el directorio ra ' 2ue contiene in3ormacin so.re los arc-ivos y directorios 2ue se encuentran en el directorio ra del sistema de arc-ivos/ Cada arc-ivo o directorio se representa como una entrada de 3) .ytes en la cual se almacena la in3ormacin necesaria para acceder a dic-o arc-ivo/ Dependiendo del valor del primer .yte de la entrada se puede sa.er si se trata de una entrada vaca F*M**G' con un arc-ivo .orrado F*M95G o una entrada en uso Fcual2uier otro valorG/ 9n la !a.la 44/7 se puede ver la estructura de cada una de las entradas del directorio/
8osici-n *M** *M*+ *M*B *M*C *M(7 *M(+ *M($ *M(C ,amaIo + .ytes 3 .ytes ( .yte (* .ytes ) .ytes ) .ytes ) .ytes @om.re del arc-ivo 9Mtensin del arc-ivo $tri.utos Reservados Cora de la >ltima modi3icacin =ec-a de la >ltima modi3icacin Cluster inicial 2escripci-n

< .ytes !amao del arc-ivo F* si se trata de un directorioG Ia<la ##.+ Estructura de entrada de directorio

9l .yte de atri.utos est, compuesto por un con1unto de .its' cada uno representa un atri.uto 2ue puede tener o no el arc-ivo/ :os atri.utos son" Bits del 8?7" Reservados Bit 5" $rc-ivo/ Si este .it es ( si0ni3ica 2ue -a sido modi3icado desde la >ltima copia de se0uridad/ Bit <" Directorio/ 9s ( si la entrada es de un directorio/ Bit 3" @om.re de volumen/ 9l nom.re del arc-ivo es el nom.re del volumen/

175

Bit )" $rc-ivo del sistema/ Bit (" 6culto/ Bit *" $rc-ivo de solo lectura/

:a -ora se codi3ica de la si0uiente 3orma" los .its del (5?(( corresponden a la -ora' del (*?5 los minutos y del <?* los se0undos Fdivididos entre )G/ :a 3ec-a de codi3ica" del (5?; el ao Fcomen ando desde (;+*G' del +?5 el mes y del <?* el da/ 9n caso de 2ue la entrada se trate de un directorio los datos almacenados en el cluster dentro de el ,rea de datos corresponden a una estructura e2uivalente a la descrita en el directorio ra / II.2.) Brea de datos $ continuacin del directorio ra se encuentra el ,rea de datos' 2ue se compone de un con1unto de clusters donde se 0uardan los 3ra0mentos de los 3ic-eros tal y como se indica en la ta.la de asi0nacin de arc-ivos/ !am.in se almacenan las estructuras de los directorios en el caso de 2ue se trate de un directorio en lu0ar de un arc-ivo/

176

3ibliografa
K$0uayo*<L K$@)3)B*)L Paul $0uayo' #ntroduccin al Microcontrolador' 4n0eniera :C4/ $@)3)B*) $pplication @otes `-I$ $9MH-I$(49M Power Control and Pin 0tates`/ =uture !ec-nolo0y Devices 4nternational $@)3)B?*3 $pplication @otes `Jptimising /$== /ata Ihroughput`/ =uture !ec-nolo0y Devices 4nternational $@)3)B?*< $pplication @otes `/ata Ihroughput, 3atency P 6andsha>ing`/ =uture !ec-nolo0y Devices 4nternational $@)3)B?*7 $pplication @otes `/e<ugging -I$ $9M and -I$(49M 9ased /esigns`/ =uture !ec-nolo0y Devices 4nternational $@)3)B?*8 $pplication @otes `Configuring -I/#Qs @CP /rivers to use 3ocation #/s`/ =uture !ec-nolo0y Devices 4nternational $@)3)R?*< $pplication @otes `?indows Com<ined /river Model`/ =uture !ec-nolo0y Devices 4nternational :td/ Don $nderson' A09 0ystem 1rchitectur &A09 $..)' )**(/ MindS-are' 4nc/ 4SB@" *?)*(?<7(38?< $montec/ 5o>ia %. 3C// -ttp"OOAAA/amontec/comOlcdQnoBiaQ33(*/s-tml #an $Melson' A09 Complete' !ercera edidion )**5 :aBevieA Researc- ::C' 4SB@ ;8+?(?;3(<<+?*3?( 4sidor Buc-mann' 9atteries in a porta<le world' Se0unda edicin/ CodeM 9lectronics 4nc/ =airc-ild' 9speci3icaciones del diodo ener BPI+5C3V7' )**< D%)<5 $pplication @otes `-I$(49M /esigners Guide`/ =uture !ec-nolo0y Devices 4nternational D:P Desi0n/ /3P:A09$(4M Aser Manual, )**)/

K$@)3)B*3L

K$@)3)B*<L

K$@)3)B*7L

K$@)3)B*8L

K$@)3)R*<L

K$nderson*(L

K$montec:CDL

K$Melson*5L

KBuc-mannL

KBPI+5CL KD%)<5L

KD:PUSB)<5ML

177

KDo.ias-;;L

#acB Do.ias-' -1I%+ 0tructure #nformation' (;;; -ttp"OO-ome/teleport/comOp.rainyO3at(7/-tm =raun-o3er 44S' Ihe MP 6istory -ttp"OOAAA/iis/3raun-o3er/deO9@O.3OammOmp3-istoryOmp3-istory*( /1sp -I$(49M /atasheet %.;, )**5/ =uture !ec-nolo0y Devices 4nternational /$== ProgrammerQs Guide .( F)**7G/ =uture !ec-nolo0y Devices 4nternational Soporte !cnico 69M =u1itsu 9spaa' An paseo por A09:%' )***/ Scot CacBer' MP R Ihe /efinitive Guide' )***/ Pu.lis-er" 6SRelly' 4SB@" (?575;)?77(?8 Pete Carrison' Micromouse 4n3ormation Centre ? 9attery Chargers/ )**</ -ttp"OOmicromouse/cannocB/ac/uBO.atteriesOc-ar0in0/-tm Citac-i' Multimedia Card AserQs Manual' )**3 Cun0?C-i- :aiR $dvisor" Dr/ #Ao?S-en Cu' ,eal:Iime #mplementation of MPEG:% 3ayer 1udio /ecoder on a /0P Chip. #nstitute of Electrical and Control Engineering' @ational C-iao?!un0 University' !aiAan/ Je. o3icial y especi3icaciones 4D3 -ttp"OOAAA/id3/or0 4999' MPEG /igital 1udio Coding' septem.er (;;8/ 4999 Si0nal Process Ma0a ine' pa0/ 5;?+(/ Septem.er (;;8/ Drister :a0erstNm' /esign and #mplementation of an MPEG:% 3ayer ### 1udio /ecoder, $..%/ MasterSs !-esis' Computer Science and 9n0ineerin0 Pro0ram/ C-almers University o3 !ec-nolo0y' %ot-en.ur0' SAeden/ David :inden and !-omas B/ Reddy' 6and<oo> of <atteries' !ercera edicin )**)/ Mc%raA?Cill' 4SB@ *?*8?(35;8+?+ MaMim' 9speci3icaciones del re0ulador de tensin M$I(785' )***

K=raunCistL

K=!)<5BML

K=!D4D)IIL

K=u1itsu**L KCacBer**L

KCarrison*<L

KC4!$CC4*3L KCun0L

K4D36R%L

K4999;8L

K:a0erstNm*(L

K:inden*)L

KM$I(785L

178

KMicroso3t;;L KMP3Re3CistL

Microso3t' -1IR General Jverview of Jn:/is> -ormat' (;;; MP 6istory ? AAA/mp3re3erence/com -ttp"OOAAA/mp3re3erence/comO-istory/-tm MPManiac' Eiger 3a<s MPMan ,eview : Models -%. P -$.,' (;;; -ttp"OO.usiness/3ortunecity/comOtisc-O<;3OMPManRevieA/-tm Peter @oll' MPEG /igital 1udio Coding 0tandars' )***/ CRC Press ::C/ !ec-nical University o3 Berlin Davis Uen Pan' /igital 1udio Compression' (;;3/ Di0ital !ec-nical #ournal' Vol/ 5 @o/ ) Sprin0 (;;3 Davis Uen Pan' 1 Iutorial on MPEGH1udio Compression #EEE Multimedia' Summer (;;5' pa0/ 7*?8< P-ilips Semiconductors/ PC/;4(( (;E;( piEels matriE 3C/ controllerHdriver' (;;;/ Microc-ip !ec-nolo0y' P#C%;-==$ /atasheet P89:%.. #nfo 0ite -ttp"OOAAA/mpyt-on/comOp1.OindeM/-tm 9speci3icaciones del 3ormato P:S -ttp"OOdeveloper/apple/comOdocumentationO]uicB!imeO]!7J-ats @eAOC-ap(Oc-apterQ(QsectionQ5+/-tml 9speci3icaciones del 3ormato Podcast -ttp"OOAAA/apple/comOitunesOstoreOpodcaststec-specs/-tml Samsun0 Semiconductors' 515/ -lash -ttp"OOAAA/samsun0/comO0lo.alO.usinessOsemiconductorOproductsO 3las-OProductsQ@$@D=las-/-tml Samsun0' Multimedia Card 0pecification' )**< SanDisB' Multimedia Card Product Manual, )**3 Microc-ip' 9speci3icaciones del re0ulador de tensin !C((5' )**3 $leMander Var0as y $le1andro Du2ue' Codificador MP en Matla<' )**(/ Universidad Ponti3icia Bolivariana de Medelln' Colom.ia/ -ttp"OOmem.ers/3ortunecity/comOaleM(;<<OindeM/-tml

KMPManRevieAL

K@oll**L

KPan;3L

KPan;5L

KPCD+5<<L

KP4C(+=II)L KP#B(**L

KP:SR9=L

KP6DC$S!R9=L

KSamsun0L

KSamsun0*<L KSanDisB*3L K!C((5L KVar0asDu2ue*(L

179

KVS(**(DL

VS:4 Solution' @0%..%S /atasheet (.%(' )**<

KVS(*II$@6U!L VS:4 Solution' @0%.== 1pp5oteR Connecting analog outputs' Rev (/))' )**7 KPIM7(P*3=L PeteM' 9speci3icaciones del M6S=9! de canal P PIM7(P*3' (;;;

180

Anda mungkin juga menyukai