SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
2
             El procesador de se˜ ales
                                n
                            digitales

   Un modelo anal´tico simple puede dar un enfoque f´sico adicional para la optimizaci´ n de
                    ı                               ı                                 o
   los dispositivos electr´ nicos
                          o
                                                                    —Lee, Mayaram, y Hu
   Debido a que la realizaci´ n de tareas de procesamiento de se˜ ales digitales en
                              o                                      n
tiempo real, el filtrado y el an´ lisis espectral, implican el conocimiento y la progra-
                               a
maci´ n de un circuito programable, en este cap´tulo se introduce un procesador digital
     o                                            ı
de se˜ ales, el DSP56002 de Motorola que es un procesador de 24-bits. Se presenta
      n
su esquema de memoria, modos de operaci´ n y m´ dulos perif´ ricos. As´ mismo, se
                                              o       o           e        ı
introducen, en forma breve, dos ambientes de programaci´ n: el simulador GUI56000
                                                            o
y el ambiente de programaci´ n del DSP56002.1 Con esto, se espera que el alumno
                              o
pueda tener un acercamiento y experimentar con el ambiente de programaci´ n y lao
arquitectura del procesador introduciendo a trav´ s de ejemplos la instrucciones y las
                                                    e
operaciones propias de este procesador.


                                        ˜
2.1 DESARROLLO DE LOS PROCESADORES DE SENALES
    DIGITALES

Antes de introducir los detalles de la programaci´ n de alg´ n procesador de se˜ ales
                                                  o        u                    n
digitales en particular podr´amos contestar a la pregunta ¿qu´ es un procesador de
                            ı                                  e
se˜ ales digitales? Una respuesta se da a continuaci´ n: Es es un circuito integrado
  n                                                 o


1 Los   ejercicios pr´ cticos se dejan para la 2da. Parte
                     a

                                                                                         15
16                          ˜
         EL PROCESADOR DE SENALES DIGITALES


programable muy parecido a un microprocesador pero con una arquitectura dise˜ ada
                                                                              n
especialmente para realizar operaciones de procesamiento de se˜ ales. Las princi-
                                                                  n
pales diferencias entre un circuito integrado (CI) para el procesamiento de se˜ ales
                                                                              n
digitales, que abreviaremos como DSP,2 y un microprocesador son
     ¯   Su arquitectura Harvard
     ¯   Su instrucci´ n MAC (multiplica y acumula)
                     o
   En la arquitectura Harvard, el procesador emplea dos espacios de memoria. Un es-
pacio de Memoria para Programa y un espacio de Memoria para Datos. El DSP56002
tiene una arquitectura Harvard modificada con tres espacios de memoria, un espacio
de memoria para programa P, y dos espacios de memoria para datos X y Y. Por otro
                                                                               ´
lado, la instrucci´ n MAC es en realidad un circuito multiplicador y sumador. Este
                  o
es uno de los elementos m´ s importantes de un DSP. En gran medida la instrucci´ n
                           a                                                     o
MAC es la que hace posible el procesamiento en tiempo real.
   Consid´ rense los dos siguientes operaciones:
           e
                                             ½
                                 ÝÒ              Ü         Ò 
                                               ½
                                               Æ  ½
                                        Ñ                     ÑÒ
                                                         Ü Ò ÏÆ
                                                 Ò   ¼

   La primera es la suma de convoluci´ n, y la segunda es la transformada de Fouri-
                                        o
er discreta (TFD). Ambas corresponden a dos de las operaciones m´ s comunes del
                                                                        a
procesamiento digital de se˜ ales, es decir, el filtrado y el an´ lisis espectral respec-
                            n                                  a
tivamente. Es claro que las operaciones de multiplicaci´ n y de suma son usadas
                                                            o
extensivamente. As´ pues se puede ver la importancia de contar con una instrucci´ n
                    ı                                                                 o
que realice la multiplicaci´ n de dos operandos y la suma en un solo ciclo. Cabe
                           o
preguntarse, as´ como la instrucci´ n MAC se ha incluido como parte del juego de
               ı                   o
instrucciones del procesador de se˜ ales ¿es la instrucci´ n FFT, el siguiente paso?
                                    n                     o
Creemos, efectivamente, que ese podr´a ser el siguiente paso, pero, el tiempo lo dir´ .
                                      ı                                                a

2.1.1                                                      ˜
          Los primeros d´as del procesamiento digital de senales
                        ı
     ¯   El multiplicador: La operaci´ n de multiplicaci´ n es central para el proce-
                                       o                 o
         samiento digital de se˜ ales. Entonces podemos ver que era necesario contar
                               n
         con un multiplicador que fuera r´ pido y de bajo costo. Por supuesto, actual-
                                          a
         mente, podemos decir que una computadora de prop´ sito general puede realizar
                                                           o
         eficientemente esas operaciones. Sin embargo, a mediados de los a˜ os 80 una
                                                                          n
         computadora de prop´ sito general o microcomputadora realizaban estas opera-
                              o
         ciones en unos cuantos milisegundos. Entonces, analizar unos pocos segundos

2 Note que al t´ rmino Procesamiento Digital de Se˜ ales lo abreviamos como PDS, mientras que al referirnos
               e                                    n
al circuito procesador digital de se˜ ales lo referiremos como DSP
                                    n
˜
            DESARROLLO DE LOS PROCESADORES DE SENALES DIGITALES                      17


    de voz pod´a tomar horas. Por supuesto, que una computadora de prop´ sito
               ı                                                       o
    general presenta varias ventajas:

       – Aritm´ tica de punto flotante de alta precisi´ n.
              e                                      o
       – Disponibilidad de programaci´ n en lenguaje de alto nivel, lo que permite
                                       o
         f´ cilmente especificar algoritmos.
          a
       – En un sentido positivo, la mayor parte de los detalles de la circuiter´a
                                                                               ı
         est´ oculta al programador.
            a

    Tomando esto en cuenta, podemos decir que una computadora de prop´ sito    o
    general representa una buena opci´ n para evaluar nuevos algoritmos. De he-
                                         o
    cho, las computadoras personales se usan extensivamente para dise˜ ar y probar
                                                                        n
    nuevos algoritmos as´ como para implantarlos con prop´ sitos de simulaci´ n,
                          ı                                   o                  o
    antes de la implantaci´ n final en circuitos dedicados. Una excelente herramien-
                          o

                      Å ØÐ
    ta para probar y desarrollar algoritmos de PDS y aplicaciones, es el ambiente
    de programaci´ n
                   o            ­.
                                 c

¯   Procesamiento en tiempo real: Un avance importante, que permiti´ a la cir-o
    cuiter´a digital igualar a su contraparte anal´ gica, fue la construcci´ n de multi-
          ı                                       o                        o
    plicadores en un solo circuito integrado. La compa˜ ´a TRW ofreci´ dispositivos
                                                          nı             o
    que realizaban multiplicaci´ n entera de n´ meros de 8, 12, 16, o 24 bits en una
                                  o             u
    peque˜ a fracci´ n de un microsegundo. Un ejemplo es el TRW MPY16AJ.
          n          o
    Cuando se introdujeron estos multiplicadores, los microprocesadores eran de-
    masiado lentos, comparados con los multiplicadores de TRW.

¯   Dispositivos con dise˜ o “bit-slice": En el siguiente paso encontramos proce-
                          n
    sadores de se˜ ales “bit-slice". Los dispositivos “bit-slice" fueron usados prin-
                  n
    cipalmente en el dise˜ o de minicomputadoras de prop´ sito general que fueron
                          n                                  o
    suficientemente flexibles para desempe˜ arse como m´ quinas de procesamien-
                                             n              a
    to de se˜ ales de prop´ sito especial. Un ejemplo fue el proyecto MARCH,
            n               o
    mostrado esquem´ ticamente en la Figura 2.2, cuyas principales caracter´sticas
                      a                                                       ı
    eran:

       – Un secuenciador.
       – Programaci´ n a nivel de microc´ digo.
                   o                    o
       – La inclusi´ n de un monitor facilitaba, relativamente, la programaci´ n.
                   o                                                         o

    En realidad, la programaci´ n segu´a siendo complicada, por ejemplo, la sigu-
                               o       ı
    iente l´nea muestra c´ mo ser´a un mando t´pico del monitor:
           ı             o       ı            ı

                        °¿ Å ½   ¾ Å                  ¾     ¿

    cuyo significado ser´a:
                       ı

    Formato tipo 3 (se refiere a los tres mandos siguientes)
    M´dulo n´mero 1, mando con el octeto F2
     o      u
18                          ˜
         EL PROCESADOR DE SENALES DIGITALES


                                         (16 bits)




                                                                              Reloj
                                        Registro de
                                         entrada X




                                                              Registro Producto
                     Registrro de




                                                                (parte menos
                                                                 significativa)
                      entrada Y

                                         Arreglo
                                       multiplicador
                                        asíncrono
                                                                                  Canal de datos
                                                                                     (16 bits)


                                      Registro Producto
                                         (parte más
                                        significativa)
                                                              Habilitar salida
                     Reloj

                                     Canal de datos
                                        (16 bits)


                Figura 2.1 Diagrama a cuadros del multiplicador MPY16AJ.


         M´dulo n´mero E, mando con el octeto 87
          o      u
         Mando del controlador 2434

         Puede verse que la programaci´ n y la alteraci´ n del programa era a nivel de
                                         o              o
         lenguaje de m´ quina. En conclusi´ n, este tipo de sistemas eran demandantes
                       a                   o
         desde el punto de vista de ingenier´a, costosos y consum´an mucho tiempo,
                                             ı                      ı
         pues el desarrollo de proyectos como el MARCH tomaban entre 3 a 4 a˜ os.
                                                                                n
     ¯   El siguiente paso l´ gico fue el incluir en un solo circuito integrado toda la l´ gica
                            o                                                            o
         del procesador “bit-slice". Entonces se inicia la revoluci´ n con la introducci´ n
                                                                       o                     o
         del procesador de se˜ ales:
                               n
            – Intel 2920 en 1979 (aproximadamente). Algunas caracter´sticas eran:
                                                                          ı
              Convertidor A/D y D/A incluidos en el CI. Programa residente en memoria
              de s´ lo lectura borrable EPROM para instrucciones y una EPROM para
                   o
              almacenar datos fijos. Unidad aritm´ tica y l´ gica (ALU) de 16 bits.
                                                      e        o
              Inclu´a un circuito similar al MPY16AJ.
                    ı
                            ´
            – NEC 7720. Este se distingu´a por una doble filosof´a: a) estaba dise˜ ado
                                           ı                      ı              n
              para algoritmos espec´ficos y b) aun segu´a siendo un procesador de
                                      ı                     ı
              se˜ ales de prop´ sito general. Inclu´a instrucciones en memoria de s´ lo
                n              o                   ı                               o
˜
                            DESARROLLO DE LOS PROCESADORES DE SENALES DIGITALES                                                        19


               Puertos                    Registros
                                                                            Canal de control (40 bits)
                E/S                       (apilados)




                                                                                       Multiplicador     Interfase para    Unidades
                         Control de memoria            Secuenciador   ALU                                                 de memoria
                                                                                        MPY16AJ             memoria




                                                                                   Canal principal
                                                                                  (datos de 16 bits)
               Puertos
                E/S




    Monitor sobre un 8085




Figura 2.2 Diagrama a cuadros de los componentes principales del proyecto MARCH.



                     lectura ROM, datos en ROM y datos en memoria de acceso aleatorio
                     RAM.

               – NEC 77P20 era la versi´ n EPROM del NEC7720.
                                       o

               – TMS 32010, TMs320M10 en Frebrero 1982, en San Francisco California
                                            ´
                 por la Texas Instruments. Este es un procesador de se˜ ales de prop´ sito
                                                                       n             o
                 general con un amplio espectro de aplicaciones. Inclu´a un circuito mul-
                                                                       ı
                 tiplicador de 16x16 bits, un acumulador/sumador de 32 bits y habilidad
                 para direccionar memoria externa sin penalizar su velocidad. Su filosof´a
                                                                                        ı
                 de dise˜ o era: Ser´ muy pr´ ctico implementar un sistema que incluya
                         n          a         a
                 memoria RAM fuera del CI para almacenamiento de programa. Es-
                 to permitir´ cambiar al programa durante el tiempo de ejecuci´ n. El
                             a                                                    o
                 TMS320C10 fue empleado en proyectos de reconocimiento de voz en
                 1983.


Un hecho hist´ rico interesante es el siguiente: Despu´ s de la introducci´ n del mi-
               o                                          e                   o
croprocesador en los a˜ os 70, la s´ntesis de voz fue la primera aplicaci´ n en alcanzar
                        n          ı                                     o
los mercados en forma masiva. Se trataba de circuitos integrados dise˜ ados espec´fi-
                                                                        n            ı
camente para ese prop´ sito, aunque no eran programables. El mejor ejemplo es el
                         o
juguete educativo “Speak and Spell" desarrollado por la Texas Instruments. La may-
or´a de estos circuitos empleaban un conjunto de par´ metros para generar un n´ mero
  ı                                                    a                          u
limitado de frases. Eran considerados como sistemas de grabaci´ n de estado s´ lido.
                                                                   o              o
20                        ˜
       EL PROCESADOR DE SENALES DIGITALES


2.2 CARATER´STICAS DEL DSP56002
           I

En esta secci´ n, se incluye una breve descripci´ n del procesador de se˜ ales digitales
              o                                  o                       n
DSP56002 de Motorola­. No se intenta substituir al manual de empleo, si no m´ s
                           c                                                          a
bien brindar parte de la informaci´ n acerca del procesador que se emplear´ en la
                                      o                                          a
realizaci´ n de filtros digitales, para procesamiento en tiempo real. Para informa-
          o
ci´ n detallada, se recomienda consultar el DSP56002 Digital Signal Processor User’s
  o
Manual ref no. DSP56002UM/AD REV 1. y el DSP56000UM/AD REV 2.
    El DSP56002 es un procesador de se˜ ales de 24 bits cuya arquitectura ha sido
                                            n
dise˜ ada para maximizar su desempe˜ o en aplicaciones de PDS con manejo intensi-
     n                                  n
vo de datos. Tiene una arquitectura que se puede expandir con perif´ ricos sofisticados
                                                                      e
incluidos en el CI y puertos de entrada y salida (E/S), de prop´ sito general. La arqui-
                                                                o
tectura, se dice, es de doble naturaleza ya que cuenta con dos espacios independientes
y expandibles de memoria, dos unidades de generaci´ n de direcciones (AGU) y una
                                                        o
unidad aritm´ tica y l´ gica (ALU) que contiene dos acumuladores y dos circuitos de
              e        o
recorrimiento y limitaci´ n.
                          o
    Las caracter´sticas principales se pueden resumir como sigue:
                 ı
Velocidad: 20 MIPS (millones de instrucciones por segundo) - un ciclo de instruc-
ciones de 50 ns a 40MHz.
Hasta 120 MOPS (millones de operaciones por segundo) a 40 MHz.
Canales de datos de 24 bits con dos acumuladores de 56 bits cada uno.
Ejecuta una transformada compleja r´ pida de Fourier (FFT) de 1024 puntos en 59,898
                                       a
ciclos de reloj.
Cuatro canales internos de datos de 24 bits y tres canales internos de direcciones de
16 bits para acceso simultaneo de la memoria de programa y dos memorias de datos.
Paralelismo: Tres unidades de ejecuci´ n incluidas, AGU unidad de generaci´ n au-
                                          o                                       o
tom´ tica de direcciones, PC contador de programa, y la ALU unidad aritm´ tica y
     a                                                                           e
l´ gica.
 o
Una unidad en paralelo multiplicadora/acumuladora de 24¢24 bits de un solo ciclo.
Juego de instrucciones altamente ejecutables en paralelo con modos de direccionamien-
to para aplicaciones de PDS.
Instrucciones de ejecuci´ n en ciclos anidados sin carga extra para el programador.
                          o
Memoria RAM para programa 512¢24.
DOs memorias RAM para datos de 256¢24.
Dos tablas de datos en ROM de 256¢24 (tablas seno y coseno, y tablas de ley-A, y
ley ).
Tres puertos multifuncionales PTA, PTB, y PTC.
Direccionamiento de memoria externa con un canal de direcciones de 16 bits y canal
de datos de 24 bits.
24 terminales de E/S de prop´ sito general.
                               o
Un contador de eventos/temporizador de 24 bits.
Canales de datos: 4 bidireccionales de 24 bits XDB, YDB, PDB y GDB.
Tres canales de direcciones: XAB, YAB, PAB.
Interfase con soporte de acceso directo a memoria para comunicaci´ n entre proce-
                                                                        o
sadores “Byte-wide Host Interface (HI)".
´
                                                CARATERISTICAS DEL DSP56002           21


Interfase (de comunicaci´ n) serie s´ncrona (SSI) para comunicaci´ n con CODECS y
                        o           ı                            o
dispositivos de comunicaci´ n serie s´ncronos.
                           o          ı
Interfase de comunicaci´ n serie (SCI) para comunicaci´ n as´ncrona “full-duplex".
                       o                                o   ı

   En la ALU se tiene:
   ¯    4 registros de entrada de datos de 24 bits (x1,x0, y1,y0)
   ¯    1 MAC (multiplicador fraccional paralelo complemento de dos de 24x24bits)
   ¯    2 registros acumuladores de 56 bits, A y B (48 bits + 8 bits de extensi´ n)
                                                                               o
   ¯    1 registro acumulador con recorrimiento
   ¯    2 circuitos de recorrimiento/limitaci´ n para el canal de datos
                                             o
   Los registros de extensi´ n autom´ tica de 8 bits ofrecen protecci´ n contra desborde.
                           o        a                                o
La extensi´ n autom´ tica de signo se da cuando se escribe en el acumulador de 56
           o         a
bits, A o B, con un operando de 48 o 24 bits.
   La limitaci´ n ocurre autom´ ticamente cuando se leen los operandos de 56 bits de
               o                a
A o B (no en forma individual a2, a1, a0, b2, b1, b0).
   En la Figura 2.3 se muestra el diagrama de terminales del procesador de se˜ ales n
DSP56002, con un total de 132 terminales, y en la Tabla 2.1 se agrupan las terminales
de acuerdo a su funci´ n.
                       o

                 Tabla 2.1 Grupos de terminales de acuerdo a su funci´ n.
                                                                     o

Grupo funcional                                                     N´ mero de terminales
                                                                     u
Canal de datos, puerto A                                                     24
Direcciones, puerto A                                                        19
Canal de control, puerto A                                                   7
Host interface, puerto B                                                     15
SCI, puerto C                                                                3
SSI, puerto C                                                                6
Interrupciones y control del modo de operaci´ n
                                            o                                 4
PLL y reloj                                                                  7
OnCE                                                                          4
Alimentaci´ n Vcc
           o                                                                 16
Tierra                                                                       24
Temporizador                                                                 1
Reservados                                                                   2
Total (para encapsulado PGA)                                                132



2.2.1    Modos de direccionamiento
El DSP56002 cuenta con modos de direccionamiento que permiten realizar opera-
ciones propias para el PDS. Para esto cuenta con los siguientes registros de 16 bits:
   ¯    Registros de direcciones R0 - R3, y R4 - R7
22                          ˜
         EL PROCESADOR DE SENALES DIGITALES



                                        DSP56002
                        D0-D23                              H0-H7
                       DGND(6)        Port A                HA0-HA2
                                      Data
                       DVCC(3)                              HR/W
                                                            HEN
                                       Port A      Port B
                        A0-A15                     HOST     HREQ
                                       Address
                            PS                              HACK
                            DS                              HGND(4)
                           X/Y                              HVCC(2)
                       AGND(5)
                                                            RXD
                       AVCC(3)                     Port C   TXD
                            BN                       SCI    SCLK
                            RD         Port A
                           WR          Control              SVCC
                            BR                              SGND(2)
                            BG
                           WT                               SC0-SC2
                                                   Port C   SCK
                            BS                       SSI
                         CGND                               SRD
                         CVCC            132 pins           STD

                                                            DSCK/OS1
                      MODC/NMI
                                                   OnCE     DSI/OS0
                     MODB/IRQB
                                                            DSO
                     MODA/IRQA        Interrupt/            DR
                        RESET         Mode
                         EXTAL        Control               PVCC
                          XTAL                              PGND
                       QGND(4)                              PCAP
                       QVCC(4)                     PLL
                                                            CKP
                                                            PLOCK
                            TIO       Timer                 PINIT
                                                            CLVCC
                  RESERVED (2)                              CLGND
                                                            CKOUT




                    Figura 2.3 Diagrama de terminales del DSP56002.


     ¯   Registro de compensaci´ n (offset) N0 - N3, y N4 - N7
                               o

     ¯   Registros modificadores M0 - M3, y M4 - M7

  ÊÒ , ÅÒ , y ÆÒ son registros que se emplean en trinomios. Solamente se puede usar
ƾ y ž para modificar el contenido de ʾ . Los registros de direcciones ʼ - Ê¿ y
Ê - Ê son registros de 16 bits que pueden contener direcciones o datos de prop´ sito
                                                                              o
general. Estos registros se emplean para calcular la direcci´ n efectiva de un operan-
                                                            o
do. Cuando soportan movimientos en paralelo de datos de las memorias X y Y, los
registros de direcciones deben considerarse como grupos separados, ʼ a Ê¿ , y Ê a
Ê . El contenido de un registro ÊÒ puede apuntar directamente, o con un desplaza-
miento, a una localidad de memoria. Adem´ s, el contenido puede pre-modificarse o
                                            a
post-modificarse, de acuerdo al modo de direccionamiento seleccionado.
   Los registros de compensaci´ n ÆÒ pueden contener valores de compensaci´ n para
                                o                                              o
incrementar o decrementar el contenido de los registros de direcciones, o la direcci´ n
                                                                                    o
apuntada por ÊÒ . Tambi´ n, pueden contener valores de 16 bits de prop´ sito general.
                          e                                              o
´
                                              CARATERISTICAS DEL DSP56002           23


   Los registros modificadores ÅÒ definen el tipo de aritm´ tica que se utilizar´ para
                                                           e                  a
el c´ lculo en los modos de direccionamiento, o tambi´ n pueden usarse para almace-
    a                                                e
namiento de prop´ sito general.
                   o
   En la Tabla 2.2 se resumen los modos de direccionamiento cuando se emplean los
registros ÊÒ , y ÆÒ .

                        Tabla 2.2 Modos de direccionamiento.
Modo de direccionamiento                        Modificador       C´ digo ensamblador
                                                                  o
Direccionamiento indirecto
Sin modificar                                          Si                 ( ÊÒ )
Post-incremento por 1                                 Si                (ÊÒ )+
Post-decremento por 1                                 Si                (ÊÒ )-
Post-incremento con compensaci´ n por ÆÒ
                               o                      Si              ´ÊÒ µ · ÆÒ
Post-decremento con compensaci´ n por ÆÒ
                               o                      Si              ´ÊÒ µ   ÆÒ
Pre-decremento por 1                                  Si                 ´ÊÒµ
Indexado con compensaci´ n por ÆÒ
                         o                            Si              ´ÊÒ · ÆÒ µ
(ÊÒ y ÆÒ no cambian)

    Los registro modificadores son muy importantes y, aunque no siempre aparecen en
las instrucciones de movimiento de datos, siempre deber´ n pre-cargarse o inicializarse
                                                         a
con alg´ n valor, pues estos registros determinan el modo de direccionamiento. Se
         u
distinguen pues tres importantes modos del empleo de los registros de direcciones
ÊÒ , bajo la acci´ n de los registros modificadores ÅÒ .
                  o
    Al primero lo llamamos direccionamiento lineal o modificaci´ n lineal (linear mod-
                                                                  o
ifier). Cuando deseamos direccionamiento lineal, se carga al registro ÅÒ con el valor
°          , o tambi´ n -1, entonces se realiza la modificaci´ n empleando aritm´ tica
                     e                                       o                      e
normal de 16 bits (m´ dulo 65,536). Es decir,cuando se incrementa el contenido de
                        o
alg´ n registro de direcciones ÊÒ , este incremento puede crecer en forma lineal hasta
    u
el valor 65,536. Tambi´ n se puede usar un incremento con compensaci´ n por el valor
                          e                                              o
de ÆÒ .
    Al segundo lo llamamos direccionamiento m´ dulo M, o direccionamiento circular.
                                                  o
El registro modificador ÅÒ se carga con el valor ÅÒ              Å   ½ y se realiza la
modificaci´ n m´ dulo M, en donde M puede tomar cualquier valor desde 2 hasta
             o    o
32768. La aritm´ tica m´ dulo M hace que el registro de direcciones tenga un valor
                   e        o
que permanece dentro de un intervalo de direcciones de tama˜ o M, definiendo l´mites
                                                               n                 ı
inferior y superior al direccionar a memoria. El l´mite inferior debe tener ceros en
                                                     ı
los bits menos significativos, en donde ¾          Å y por lo tanto debe se un m´ ltiplo
                                                                                 u
de ¾
    Al tercer modo le llamamos direccionamiento con acarreo inverso (reverse carry
modifier). En este caso, se carga al registro ÅÒ con $0000. La modificaci´ n, o      o
cambio de la direcci´ n, se realiza en el circuito (por “hardware") propagando el bit
                       o
                                                       ´
de acarreo en la direcci´ n inversa. Este modo es muy util en los algoritmos de la FFT.
                          o
Para que funcione bien, para una FFT de ¾ puntos se debe seguir el procedimiento
siguiente:
   1.   ÅÒ   ¼
24                           ˜
          EL PROCESADOR DE SENALES DIGITALES


     2.   ÆÒ    ¾    ½
     3. Cargar ÊÒ con un valor que est´ entre los l´mites superior e inferior. El l´mite
                                       e            ı                              ı
        inferior es Lx¾ , en donde L es un n´ mero entero cualesquiera. Este l´mite
                                               u                                   ı
        entregar´ un n´ mero binario de 16 bits “x x x x 0 0 x x", en donde x x x
                 a    u
        x = L y 0 0 0 0 es igual a ceros. El l´mite superior es Lx´¾ µ · ´¾   ½µ.
                                                 ı
        Esto dar´ un n´ mero binario “x x x x 1 1 1 1", en donde x x x x + L, y
                 a    u
        1 1 1 1 = unos

     4. Usar el m´ todo de direccionamiento ´ÊÒ µ · ÆÒ
                 e

En resumen,

     ¯    El direccionamiento con acarreo inverso es util para FFTs de ¾ puntos.
                                                     ´

     ¯                                          ´
          El direccionamiento m´ dulo M es util para crear pilas circulares como colas
                                  o
          (FIFOs “first in first out"), l´neas de retardo y pilas de muestras de hasta 32,768
                                       ı
          palabras largas (“long words").

     ¯                                  ´
          El direccionamiento lineal es util para direccionamiento de prop´ sito general.
                                                                          o

  Para m´ s detalles, se recomienda consultar el manual de usuario (DSP56000/DSP56001
          a
Digital Signal processor user’s manual) DSP56000UM/AD.

2.2.2       ´                                   ´
           Modulos de memoria y modos de operacion
El procesador de se˜ ales DSP56002 ha sido dise˜ ado con una arquitectura Harvard
                    n                            n
modificada, es decir, tiene tres espacios de memoria: un espacio de memoria para
programa P, y dos espacios de memoria para datos X y Y. Es posible tener acceso a estos
tres espacios de memoria independientes, en forma simultanea, gracias al paralelismo
que presenta dicha arquitectura. Los espacios de memoria son configurados por los
bits de control en el Registro de Modo de Operaci´ n (OMR). Los bits de control
                                                    o
de modo de operaci´ n, en el OMR, controlan el mapa de memoria de programa y
                    o
seleccionan las direcciones de los vectores de interrupci´ n. Un bit adicional (DE)
                                                          o
controla los mapas de memoria X y Y y habilita o inhibe los datos contenidos en
ROM.

2.2.3      La memoria de programa P
El DSP56002 tiene 512 palabras (o direcciones) de memoria RAM para programa,
64 palabras de memoria ROM programada en f´ brica para “arranque" (bootstrap).
                                                a
   La memoria ROM de arranque es programada para realizar la operaci´ n de “ar-
                                                                          o
ranque" desde el puerto de memoria expandida (puerto A), desde la interfase de Host
(HI), o desde el puerto SCI. Esto ofrece un m´ todo conveniente y de bajo costo para
                                              e
cargar la memoria de programa RAM con un programa dado por el usuario al salir del
estado de re-inicio (“reset") o de encendido (“power-on"). La actividad de la ROM
de arranque es controlada por los bits MA, MB, y MC en el OMR.
´
                                                CARATERISTICAS DEL DSP56002          25


   Los vectores de interrupci´ n est´ n localizados en las 128 direcciones m´ s bajas de
                             o      a                                       a
la memoria P ($0000 - $00FF). La memoria P se puede expandir hasta 64k fuera del
CI.

2.2.4    La memoria de datos X
Esta memoria cuenta con varias caracter´sticas muy importantes ya que incluye 256
                                         ı
localidades de 24 bits de memoria RAM interna (incluida en el CI) ocupando las
direcciones bajas de memoria (0-255). Los datos en memoria interna ROM ocupan
las direcciones 256-511 y son controlados por el bit DE (“data enable") en el OMR.
En esta memoria X, se encuentran tambi´ n los registros perif´ ricos incluidos (“on-
                                           e                   e
chip peripheral registers") ocupando las direcciones altas de la memoria de datos X
($FFC0 - $FFFF). La memoria X se puede expandir a 64k en memoria externa (fuera
del CI).

2.2.5    La memoria de datos Y
La memoria RAM interna es una memoria est´ tica interna de 24 bits de ancho que
                                               a
ocupa loas direcciones m´ s bajas en el espacio de memoria Y (0-255). Los datos en
                        a
memoria interna ROM ocupan las direcciones 256-511 y son controlados por los bits
DE y YD en el OMR. La memoria Y se puede expandir a 64k en memoria externa
(fuera del CI).


2.2.6                                  ´
         El registro de modo de operacion OMR
El OMR es un registro de 24 bits, en donde s´ lo est´ n definidos seis bits, que controla
                                            o       a
el modo de operaci´ n del procesador. Est´ localizado en la Unidad de Control de
                   o                       a
Programa. Los bits del OMR son afectados al re-iniciar, y por las instrucciones ANDI,
ORI, MOVEC, BSET,BCLR, y BCHG. El formato del OMR se muestra Figura 2.4,

        23                8     7      6    5     4      3      2      1       0
                *                *    SD    *    MC     YD     DE    MB        MA

en donde,
 MB,MA       l´neas A y B de modo de operaci´ n
              ı                               o                            .
    DE       bit de habilitado de datos en ROM (“Data ROM enable")         .
    YD       inhabilitado de la memoria interna Y                          .
    MC       l´nea C de modo de operaci´ n
              ı                          o                                 .
             reservado                                                     .
    SD       detiene retardo (“Stop delay")                                .


                        Figura 2.4 Formato del registro OMR.

   Las Tablas 2.3 y 2.4 muestran, en resumen, el funcionamiento de los bits contenidos
en el OMR.
26                         ˜
        EL PROCESADOR DE SENALES DIGITALES


                          Tabla 2.3 Bits DE y YD del OMR

DE             YD                               Memoria de Datos
0               0               ROMs internas inhabilitadas y sus direcciones
                                son parte de la memoria externa
0                1              ROM interna X, RAM y ROM internas de Y
                                inhabilitadas pasan a memoria externa
1                0              ROMs de datos X y Y habilitadas
1                1              RAM y ROM internas de Y inhabilitadas y son parte
                                de la memoria externa. ROM interna de X habilitada


                     Tabla 2.4 Resumen de los modos de operaci´ n
                                                              o

Modo     MC     MB      MA                      Descripci´ n del Modo
                                                         o
    0     0      0       0       ´
                              CI unico, P:RAM habilitada, re-inicio $0000
    1     0      0       1    Arranque (bootsatrap) desde EPROM, sale en Modo 0
    2     0      1       0    Expandido, P:RAM habilitada, re-inicio $E000
    3     0      1       1    Desarrollo P:RAM inhabilitada, re-inicio $0000
    4     1      0       0    Reservado para Arranque
    5     1      0       1    Arranque desde “Host", sale en Modo 0
    6     1      1       0    Arranque desde SCI (reloj externo), sale en Modo 0
    7     1      1       1    Reservado para Arranque


    El mapa de memoria, es decir las direcciones de inicio, tanto para espacio de memo-
ria P como para los espacios de memoria X y Y, depende de los modos de operaci´ n    o
y de los bits DE y YD del OMR. Como se tienen tres modos de operaci´ n v´ lidos, se
                                                                           o a
tendr´ n tres mapas de memoria para el espacio de memoria P. Esto se muestra en la
      a
Tabla 2.4 y en forma m´ s clara en la Figura 2.5. Para los espacios de memoria X y Y,
                         a
       ´
como estos dependen de dos bits, DE y YD, se tienen cuatro combinaciones posibles.
En las Figura 2.6 a 2.9, se muestran estas cuatro posibilidades.
    N´ tese que en cualquier caso, las direcciones $FFC0-$FFFF en el espacio de
     o
memoria de datos X no est´ n disponibles externamente ya que est´ n reservadas para
                             a                                        a
los perif´ ricos incluidos en el CI. La Figura 2.10 muestra el mapa para los vectores
         e
de interrupci´ n as´ como el mapa para los perif´ ricos incluidos en el CI.
               o    ı                            e
´
                                          CARATERISTICAS DEL DSP56002            27




              Modo 0                     Modo 2                    Modo 3

$FFFF                       $FFFF                      $FFFF

                            $E000        re-inicio

              externa                    externa

                                                                   externa

$01FF                       $01FF                      $01FF
               RAM                        RAM

              interna                    interna

$003F                       $003F                      $003F
           interrupci´ n
                     o                                           interrupci´ n
                                                                           o
                                       interrupci´ n
                                                 o
             re-inicio                                            re-inicio
    $0                           $0                        $0

         RAM P interna                RAM P interna             RAM P externa
        re-inicio interno               re-inicio                re-inicio
                                         externo                  externo




                        Figura 2.5 Mapa de Memoria P.
28                      ˜
     EL PROCESADOR DE SENALES DIGITALES




                                         DE = 1
                                         YD = 0
             $FFFF
                          perif´ ricos
                               e                  perif´ ricos
                                                       e
                           en el CI                externos
             $FFC0
             $FFBF
                         Memoria de               Memoria de

                           datos X                 datos Y

                            externa                externa

              $01FF         ROM X                  ROM Y
                            interna                interna
                          + ley A/Lin
                      .....................       onda seno
              $017F         ROM X
                            interna                completa
                         +ley mu/Lin
              $00FF
                           RAM X                   RAM Y
                 $0        interna                 interna

                                 ROMs de datos
                                  habilitadas


             Figura 2.6 Mapa de Memoria XY, DE = 1; YD = 0.
´
                            CARATERISTICAS DEL DSP56002   29




                           DE = 0

                           YD = 0
$FFFF
            perif´ ricos
                 e                  perif´ ricos
                                         e
             en el CI                externos
$FFC0

            Memoria de              Memoria de

              datos X                datos Y
              externa                externa




$00FF
              RAM X                  RAM Y
   $0         interna                interna

                  ROMs de datos
                    inhibidos


Figura 2.7 Mapa de Memoria XY, DE = 0; YD = 0.
30                      ˜
     EL PROCESADOR DE SENALES DIGITALES




                                         DE = 1
                                         YD = 1
             $FFFF
                          perif´ ricos
                               e                  perif´ ricos
                                                       e
                           en el CI                externos
             $FFC0
             $FFBF
                         Memoria de               Memoria de

                           datos X                 datos Y

                            externa                externa

              $01FF         ROM X
                            interna
                          + ley A/Lin
                      .....................
              $017F         ROM X
                            interna
                         +ley mu/Lin
              $00FF
                           RAM X
                 $0        interna

                                 ROMs de datos
                                  habilitadas


             Figura 2.8 Mapa de Memoria XY, DE = 1; YD = 1.
´
                            CARATERISTICAS DEL DSP56002   31




                           DE = 0

                           YD = 0
$FFFF
            perif´ ricos
                 e                  perif´ ricos
                                         e
             en el CI                externos
$FFC0

            Memoria de              Memoria de

              datos X                datos Y
              externa                externa




$00FF
              RAM X
   $0         interna

                  ROMs de datos
                    inhibidos


Figura 2.9 Mapa de Memoria XY, DE = 0; YD = 1.
32                        ˜
       EL PROCESADOR DE SENALES DIGITALES




                    Mapa de                               Mapa de perif´ ricos
                                                                        e
                 interrupciones                            incluidos en el CI
     $007F    Mandos del “host"           $FFFF         Prioridad de ints.
     $0040                                              Control de canal (bus)
     $003E     Instr. ilegal                           Interfase SCI
     $003C    Int. del temporizador                    Interfase SSI
     $003A                                                Interfase del “host"
              Mandos del “host"
     $0024                                             Interfase de E/S
                                                        paralelo
              Ints. del SCI
               Ints. del SSI                           Temporizador
              Ints. externas
              Ints. por programa
                 Ints. “trace"
              Int. por error              $FFDE
                 de pila
               Re-inicio                                 Reservado
     $0000                                $FFC0



                Figura 2.10 Mapa de interrupciones y perif´ ricos.
                                                          e
´
                                                  CARATERISTICAS DEL DSP56002           33


2.2.7               ´                         ´
           Descripcion de los modos de operacion
      ¯   Modo 0 “Single chip" o Modo CI: En este modo, todas las memorias internas,
          la de programa y las de datos, est´ n habilitadas. Un re-inicio por el circuito
                                              a
          (“hardware reset") hace que el DSP brinque a la localidad $0000 de la memoria
          de programa interna y realice la ejecuci´ n. El mapa de memoria para el modo
                                                   o
          0 y el modo 2 son id´ nticos, s´ lo que el vector de re-inicio se encuentra en la
                               e         o
          localidad $0000 en el modo 0 y en $E000 en el modo 2.

      ¯   Modo 1 Arranque desde EPROM: El modo de arranque permite al DSP cargar
          un programa desde una econ´ mica memoria ROM de 8 bits en la memoria de
                                       o
          programa interna durante un re-inicio por encendido. Al encender el generador
          de estados de espera agrega 15 estados de espera a todo el acceso de la memoria
          externa de modo que se pueda usar una memoria lenta. El programa de arranque
          emplea los octetos en tres localidades consecutivas de memoria de la ROM
          externa para construir una sola palabra en la memoria interna.
          En el modo de arranque, el CI habilita la ROM de arranque y ejecuta el pro-
          grama de arranque. La memoria ROM de arranque contiene el programa de
          arranque alambrado (en “firmware") que realiza el cargado inicial de la RAM
          de programa del DSP56002. Escrito en lenguaje ensamblador, el programa
          inicializa la RAM de programa cargando desde una memoria EPROM externa
          de 8 bits que comienza en la localidad P:$C000.
          La EPROM t´picamente est´ conectada a esa direcci´ n a trav´ s de los canales
                       ı              a                    o         e
          de datos y direcciones. El contenido de la EPROM debe organizarse como se
          muestra en la Tabla 2.5

                Tabla 2.5 Organizaci´ n del contenido de la memoria EPROM
                                    o

Direcci´ n de
       o                                                  Contenido cargado
la memoria                                                a la P:RAM interna
P:$C000                                                   P:$0000 con el octeto bajo
P:$C001                                                   P:$0000 con el octeto medio

¡¡¡                                                       ¡¡
P:$C002                                                   P:$0000 con el octeto superior

                                                           ¡
P:$C5FD                                                   P:$01FF con el octeto bajo
P:$C5FE                                                   P:$01FF con el octeto medio
P:$C5FF                                                   P:$01FF con el octeto superior


          Despu´ s de que se carga la memoria interna, el DSP se cambia a modo 0 y
                 e
          comienza la ejecuci´ n del programa en el CI desde la memoria de programa
                              o
          en la localidad $0000.
          Si el usuario selecciona el modo 1, a trav´ s de un circuito (en las terminales
                                                    e
          MODA, MODB, MODC), ocurren las siguientes acciones una vez que el proce-
          sador sale del estado de re-inicio.
34                          ˜
         EL PROCESADOR DE SENALES DIGITALES


           1. La l´ gica de control mapea la ROM de arranque en la memoria interna
                  o
              del DSP en el espacio de memoria de programa con inicio en la localidad
              $0000.
           2. La l´ gica de control hace que el programa que lea desde la ROM de
                  o
              arranque (s´ lo los bits 5-0 de direcciones son significativos) y toda la
                          o
              escritura va a la RAM de programa (todos los bits de direcciones son
              significativos). Esta condici´ n permite al programa de arranque cargar el
                                           o
              programa del usuario desde $0000-$01FF.
           3. Comienza la ejecuci´ n del programa en la localidad $0000 en la ROM de
                                 o
              arranque. El programa de arranque de la ROM carga la RAM de programa
              desde la memoria externa EPROM de 8 bits comenzando en P:$C000
           4. El programa de arranque de ROM termina la operaci´ n de arranque y
                                                                        o
              comienza la ejecuci´ n del programa del usuario. El procesador entra en
                                   o
              modo 0 escribiendo en el registro OMR. Esta acci´ n es temporizada para
                                                                   o
              retirar la ROM de arranque del mapa de memoria de programa y vuelve
              a habilitar los accesos de lectura/escritura a la RAM de programa. El
              cambio al modo 0 es temporizado para permitir al programa de arranque
              ejecutar una sola instrucci´ n (borrar el registro de estado), luego ejecuta
                                         o
              una instrucci´ n JMP #<00, y comienza la ejecuci´ n del programa del
                            o                                        o
              usuario en la localidad $0000.
     ¯   Modo 2 Normal expandido: En este modo, es habilitada la RAM de programa
         interna y los vectores de re-inicio por circuito a la localidad $E000. (Los mapas
         de memoria para el modo 0 y el modo 2 son id´ nticos. La diferencia para el
                                                              e
         modo 2 es que, despu´ s del re-inicio, es ejecutada la instrucci´ n en la localidad
                                e                                          o
         $E000 en lugar de la instrucci´ n en $0000.
                                         o
     ¯   Modo 3 Modo de desarrollo: En este modo, la RAM de programa interna es
         inhabilitada y los vectores de re-inicio por circuito est´ n en la localidad $0000.
                                                                  a
         Todas las referencias al espacio de memoria de programa son dirigidas a la
         memoria de programa externa. El vector de re-inicio apunta a la localidad
         $0000.
     ¯   Modo 4 Reservado: Este modo est´ reservado para definici´ n futura.
                                        a                       o
     ¯   Modo 5 Arranque desde “Host": En este modo, la ROM de arranque es habil-
         itada y ejecutado el programa de arranque. Este es similar al modo 1 excepto
         que el programa de arranque carga la P:RAM interna desde el puerto “Host".
     ¯   Modo 6 Arranque desde SCI: En este modo, es habilitada la ROM de arranque
         y ejecutado el programa de arranque. La RAM de programa interna y/o externa
         es cargada desde la interfase serie SCI. Debe especificarse el n´ mero de pal-
                                                                             u
         abras a cargar y la la direcci´ n inicio. El c´ digo de arranque SCI espera recibir
                                       o               o
         tres octetos especificando el n´ mero de palabras de programa, tres octetos es-
                                          u
         pecificando la direcci´ n desde la cual comienza a cargar el programa y tres
                                 o
         octetos para cada palabra de programa a ser cargada. El n´ mero de palabras, la
                                                                       u
´
                                               CARATERISTICAS DEL DSP56002           35


       direcci´ n de inicio y las palabras de programa se reciben con el octeto menos
              o
       significativo primero, seguido del octeto medio, y luego el octeto m´ s significa-
                                                                            a
       tivo. Despu´ s de recibir las palabras de programa, comienza la ejecuci´ n del
                    e                                                             o
       programa en la direcci´ n en donde se carg´ la primera instrucci´ n. La SCI se
                                o                   o                     o
       programa para trabajar en modo as´ncrona, 8 bits de datos, un bit de paro, y sin
                                            ı
       paridad. La fuente de la se˜ al de reloj es externa y la frecuencia de reloj debe
                                    n
       ser 16x la raz´ n de transmisi´ n (“baud rate"). Despu´ s de que se ha recibido
                       o              o                         e
                     ´
       cada octeto, este es retransmitido a trav´ s del transmisor SCI.
                                                 e

   ¯   Modo 7 Reservado: Este modo est´ reservado para definici´ n futura. Si se
                                          a                    o
       selecciona, el procesador cambia por omisi´ n a modo 6.
                                                 o

   En la pr´ ctica del Cap´tulo ?? se introduce el ambiente de programaci´ n del
            a               ı                                               o
DSP56002 en su versi´ n para Windows­. Posteriormente se trabaja con el simula-
                       o                  c
dor GUI56000 de Motorola, el cual permitir´ ejecutar instrucci´ n del DSP56002 sin
                                              a               o
tener que contar con la tarjeta de evaluaci´ n.
                                           o



BIBLIOGRAF´A
          I

 1. Allen, J. “Computer Architecture for Signal Processing", Proceedings of the
    IEEE, Vol. 63, No.4, pp. 624-633, Abril, 1975.
 2. Bowen, B. A., Brown, W. R., VLSI Systems Design for Digital Signal Processing,
    Vol. 1: Signal Processing andf Signal Processors, Prentice Hall, 1982.
 3. El-Sharkawy M., Digital Signal Processing Applications with the Motorola’s
    DSP56002 Processor, Prentice Hall PTR, 1996.

Más contenido relacionado

La actualidad más candente

Rafael zambrano
Rafael zambranoRafael zambrano
Rafael zambranosplopish
 
Ana laura palma franco
Ana laura palma francoAna laura palma franco
Ana laura palma francoanalaurapalma
 
Claudio fabian gallardo alvarez 225_a04
Claudio fabian gallardo alvarez 225_a04Claudio fabian gallardo alvarez 225_a04
Claudio fabian gallardo alvarez 225_a04fobos Glkj
 
El computador4642 modificado-nancy
El computador4642 modificado-nancyEl computador4642 modificado-nancy
El computador4642 modificado-nancyjohanmucutuy
 
Taller de sistemas
Taller de sistemasTaller de sistemas
Taller de sistemasgeralis
 
Diseno de sistemas_embebidos_de_control_automatico
Diseno de sistemas_embebidos_de_control_automaticoDiseno de sistemas_embebidos_de_control_automatico
Diseno de sistemas_embebidos_de_control_automaticovbonilla
 
Incap hw sw2012
Incap hw sw2012Incap hw sw2012
Incap hw sw2012poladio1
 

La actualidad más candente (16)

Incap introducc2012
Incap introducc2012Incap introducc2012
Incap introducc2012
 
Stori word
Stori wordStori word
Stori word
 
Rafael zambrano
Rafael zambranoRafael zambrano
Rafael zambrano
 
Tema ii
Tema iiTema ii
Tema ii
 
Ana laura palma franco
Ana laura palma francoAna laura palma franco
Ana laura palma franco
 
Claudio fabian gallardo alvarez 225_a04
Claudio fabian gallardo alvarez 225_a04Claudio fabian gallardo alvarez 225_a04
Claudio fabian gallardo alvarez 225_a04
 
TIC´s
TIC´sTIC´s
TIC´s
 
El computador4642 modificado-nancy
El computador4642 modificado-nancyEl computador4642 modificado-nancy
El computador4642 modificado-nancy
 
Taller de sistemas
Taller de sistemasTaller de sistemas
Taller de sistemas
 
Diseno de sistemas_embebidos_de_control_automatico
Diseno de sistemas_embebidos_de_control_automaticoDiseno de sistemas_embebidos_de_control_automatico
Diseno de sistemas_embebidos_de_control_automatico
 
Incap hw sw2012
Incap hw sw2012Incap hw sw2012
Incap hw sw2012
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Nticx 2
Nticx 2Nticx 2
Nticx 2
 
Sistemas
SistemasSistemas
Sistemas
 
Sistemas
SistemasSistemas
Sistemas
 
Procesamiento en paralelo
Procesamiento en paraleloProcesamiento en paralelo
Procesamiento en paralelo
 

Destacado

Redesdecomputadoras
RedesdecomputadorasRedesdecomputadoras
RedesdecomputadorasHebert Ochoa
 
PonerunafotoenEl Msn
PonerunafotoenEl MsnPonerunafotoenEl Msn
PonerunafotoenEl Msndebymoras
 
Convocatoria proesa 2011
Convocatoria proesa 2011Convocatoria proesa 2011
Convocatoria proesa 2011edgarflores28
 
Redes grupos de trabajo
Redes grupos de trabajoRedes grupos de trabajo
Redes grupos de trabajoginsteff
 
20120427 Implantación del sistema radiológico regional en Osakidetza
20120427 Implantación del sistema radiológico regional en Osakidetza20120427 Implantación del sistema radiológico regional en Osakidetza
20120427 Implantación del sistema radiológico regional en Osakidetzarperezan
 
Educación, Martin Vizcarra - CADE Ejecutivos 2014
Educación, Martin Vizcarra - CADE Ejecutivos 2014Educación, Martin Vizcarra - CADE Ejecutivos 2014
Educación, Martin Vizcarra - CADE Ejecutivos 2014IPAE
 

Destacado (10)

Unidad 5. tecnología de redes
Unidad 5. tecnología de redesUnidad 5. tecnología de redes
Unidad 5. tecnología de redes
 
Redesdecomputadoras
RedesdecomputadorasRedesdecomputadoras
Redesdecomputadoras
 
PonerunafotoenEl Msn
PonerunafotoenEl MsnPonerunafotoenEl Msn
PonerunafotoenEl Msn
 
Convocatoria proesa 2011
Convocatoria proesa 2011Convocatoria proesa 2011
Convocatoria proesa 2011
 
Trabajo de comple
Trabajo de compleTrabajo de comple
Trabajo de comple
 
T. Práctico numero 1
T. Práctico numero 1T. Práctico numero 1
T. Práctico numero 1
 
Redes grupos de trabajo
Redes grupos de trabajoRedes grupos de trabajo
Redes grupos de trabajo
 
20120427 Implantación del sistema radiológico regional en Osakidetza
20120427 Implantación del sistema radiológico regional en Osakidetza20120427 Implantación del sistema radiológico regional en Osakidetza
20120427 Implantación del sistema radiológico regional en Osakidetza
 
Educación, Martin Vizcarra - CADE Ejecutivos 2014
Educación, Martin Vizcarra - CADE Ejecutivos 2014Educación, Martin Vizcarra - CADE Ejecutivos 2014
Educación, Martin Vizcarra - CADE Ejecutivos 2014
 
Fundamentos de redes ismael
Fundamentos de redes ismaelFundamentos de redes ismael
Fundamentos de redes ismael
 

Similar a Cap2 Pds

Trabajo principal liz arleth
Trabajo principal liz  arlethTrabajo principal liz  arleth
Trabajo principal liz arlethLizittha Pinedo
 
DEFINICIONES E IDENTIFICACIONES
DEFINICIONES E IDENTIFICACIONESDEFINICIONES E IDENTIFICACIONES
DEFINICIONES E IDENTIFICACIONESN1Colaz
 
TRABAJO PERSONAL
TRABAJO PERSONALTRABAJO PERSONAL
TRABAJO PERSONALtelesup
 
Proyecto SDR EA2DFH
Proyecto SDR EA2DFHProyecto SDR EA2DFH
Proyecto SDR EA2DFHradiodsp
 
Upec trabajo de tics
Upec trabajo de ticsUpec trabajo de tics
Upec trabajo de ticsMagda Lomas
 
Procesador sistemas operativos
Procesador sistemas operativosProcesador sistemas operativos
Procesador sistemas operativossaul_ramos
 
Apuntes empiezo (a)
Apuntes empiezo (a)Apuntes empiezo (a)
Apuntes empiezo (a)pabesacv
 
1. Introducción Microcomputadores
1. Introducción Microcomputadores1. Introducción Microcomputadores
1. Introducción MicrocomputadoresDavid Narváez
 
Microcontroladores-Microprocesadores
Microcontroladores-MicroprocesadoresMicrocontroladores-Microprocesadores
Microcontroladores-MicroprocesadoresAlex Via Paz
 
Computación básica. Tecnologías de Información
Computación básica. Tecnologías de InformaciónComputación básica. Tecnologías de Información
Computación básica. Tecnologías de Informaciónssusere538f7
 
Ensamblaje de comp....completar
Ensamblaje de comp....completarEnsamblaje de comp....completar
Ensamblaje de comp....completarolinda17
 
Operacion del equipo de computo
Operacion del equipo de computoOperacion del equipo de computo
Operacion del equipo de computoDanytza Meza
 
Evolucion De Los Microprocesadores
Evolucion De Los MicroprocesadoresEvolucion De Los Microprocesadores
Evolucion De Los Microprocesadoresguesta60221
 

Similar a Cap2 Pds (20)

Cp uup
Cp uupCp uup
Cp uup
 
Trabajo principal liz arleth
Trabajo principal liz  arlethTrabajo principal liz  arleth
Trabajo principal liz arleth
 
El
ElEl
El
 
DEFINICIONES E IDENTIFICACIONES
DEFINICIONES E IDENTIFICACIONESDEFINICIONES E IDENTIFICACIONES
DEFINICIONES E IDENTIFICACIONES
 
TRABAJO PERSONAL
TRABAJO PERSONALTRABAJO PERSONAL
TRABAJO PERSONAL
 
Proyecto SDR EA2DFH
Proyecto SDR EA2DFHProyecto SDR EA2DFH
Proyecto SDR EA2DFH
 
Procesadores }
Procesadores  }Procesadores  }
Procesadores }
 
Upec trabajo de tics
Upec trabajo de ticsUpec trabajo de tics
Upec trabajo de tics
 
Procesador sistemas operativos
Procesador sistemas operativosProcesador sistemas operativos
Procesador sistemas operativos
 
5154 - Tema 2
5154 - Tema 25154 - Tema 2
5154 - Tema 2
 
Apuntes empiezo (a)
Apuntes empiezo (a)Apuntes empiezo (a)
Apuntes empiezo (a)
 
1. Introducción Microcomputadores
1. Introducción Microcomputadores1. Introducción Microcomputadores
1. Introducción Microcomputadores
 
Sistemas digitales
Sistemas digitalesSistemas digitales
Sistemas digitales
 
El microcontrolador PIC16F877
El microcontrolador PIC16F877El microcontrolador PIC16F877
El microcontrolador PIC16F877
 
Microprocesador ::: http://leymebamba.com
Microprocesador  ::: http://leymebamba.comMicroprocesador  ::: http://leymebamba.com
Microprocesador ::: http://leymebamba.com
 
Microcontroladores-Microprocesadores
Microcontroladores-MicroprocesadoresMicrocontroladores-Microprocesadores
Microcontroladores-Microprocesadores
 
Computación básica. Tecnologías de Información
Computación básica. Tecnologías de InformaciónComputación básica. Tecnologías de Información
Computación básica. Tecnologías de Información
 
Ensamblaje de comp....completar
Ensamblaje de comp....completarEnsamblaje de comp....completar
Ensamblaje de comp....completar
 
Operacion del equipo de computo
Operacion del equipo de computoOperacion del equipo de computo
Operacion del equipo de computo
 
Evolucion De Los Microprocesadores
Evolucion De Los MicroprocesadoresEvolucion De Los Microprocesadores
Evolucion De Los Microprocesadores
 

Último

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 

Último (20)

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 

Cap2 Pds

  • 1. 2 El procesador de se˜ ales n digitales Un modelo anal´tico simple puede dar un enfoque f´sico adicional para la optimizaci´ n de ı ı o los dispositivos electr´ nicos o —Lee, Mayaram, y Hu Debido a que la realizaci´ n de tareas de procesamiento de se˜ ales digitales en o n tiempo real, el filtrado y el an´ lisis espectral, implican el conocimiento y la progra- a maci´ n de un circuito programable, en este cap´tulo se introduce un procesador digital o ı de se˜ ales, el DSP56002 de Motorola que es un procesador de 24-bits. Se presenta n su esquema de memoria, modos de operaci´ n y m´ dulos perif´ ricos. As´ mismo, se o o e ı introducen, en forma breve, dos ambientes de programaci´ n: el simulador GUI56000 o y el ambiente de programaci´ n del DSP56002.1 Con esto, se espera que el alumno o pueda tener un acercamiento y experimentar con el ambiente de programaci´ n y lao arquitectura del procesador introduciendo a trav´ s de ejemplos la instrucciones y las e operaciones propias de este procesador. ˜ 2.1 DESARROLLO DE LOS PROCESADORES DE SENALES DIGITALES Antes de introducir los detalles de la programaci´ n de alg´ n procesador de se˜ ales o u n digitales en particular podr´amos contestar a la pregunta ¿qu´ es un procesador de ı e se˜ ales digitales? Una respuesta se da a continuaci´ n: Es es un circuito integrado n o 1 Los ejercicios pr´ cticos se dejan para la 2da. Parte a 15
  • 2. 16 ˜ EL PROCESADOR DE SENALES DIGITALES programable muy parecido a un microprocesador pero con una arquitectura dise˜ ada n especialmente para realizar operaciones de procesamiento de se˜ ales. Las princi- n pales diferencias entre un circuito integrado (CI) para el procesamiento de se˜ ales n digitales, que abreviaremos como DSP,2 y un microprocesador son ¯ Su arquitectura Harvard ¯ Su instrucci´ n MAC (multiplica y acumula) o En la arquitectura Harvard, el procesador emplea dos espacios de memoria. Un es- pacio de Memoria para Programa y un espacio de Memoria para Datos. El DSP56002 tiene una arquitectura Harvard modificada con tres espacios de memoria, un espacio de memoria para programa P, y dos espacios de memoria para datos X y Y. Por otro ´ lado, la instrucci´ n MAC es en realidad un circuito multiplicador y sumador. Este o es uno de los elementos m´ s importantes de un DSP. En gran medida la instrucci´ n a o MAC es la que hace posible el procesamiento en tiempo real. Consid´ rense los dos siguientes operaciones: e ½ ÝÒ Ü Ò   ½ Æ  ½ Ñ ÑÒ Ü Ò ÏÆ Ò ¼ La primera es la suma de convoluci´ n, y la segunda es la transformada de Fouri- o er discreta (TFD). Ambas corresponden a dos de las operaciones m´ s comunes del a procesamiento digital de se˜ ales, es decir, el filtrado y el an´ lisis espectral respec- n a tivamente. Es claro que las operaciones de multiplicaci´ n y de suma son usadas o extensivamente. As´ pues se puede ver la importancia de contar con una instrucci´ n ı o que realice la multiplicaci´ n de dos operandos y la suma en un solo ciclo. Cabe o preguntarse, as´ como la instrucci´ n MAC se ha incluido como parte del juego de ı o instrucciones del procesador de se˜ ales ¿es la instrucci´ n FFT, el siguiente paso? n o Creemos, efectivamente, que ese podr´a ser el siguiente paso, pero, el tiempo lo dir´ . ı a 2.1.1 ˜ Los primeros d´as del procesamiento digital de senales ı ¯ El multiplicador: La operaci´ n de multiplicaci´ n es central para el proce- o o samiento digital de se˜ ales. Entonces podemos ver que era necesario contar n con un multiplicador que fuera r´ pido y de bajo costo. Por supuesto, actual- a mente, podemos decir que una computadora de prop´ sito general puede realizar o eficientemente esas operaciones. Sin embargo, a mediados de los a˜ os 80 una n computadora de prop´ sito general o microcomputadora realizaban estas opera- o ciones en unos cuantos milisegundos. Entonces, analizar unos pocos segundos 2 Note que al t´ rmino Procesamiento Digital de Se˜ ales lo abreviamos como PDS, mientras que al referirnos e n al circuito procesador digital de se˜ ales lo referiremos como DSP n
  • 3. ˜ DESARROLLO DE LOS PROCESADORES DE SENALES DIGITALES 17 de voz pod´a tomar horas. Por supuesto, que una computadora de prop´ sito ı o general presenta varias ventajas: – Aritm´ tica de punto flotante de alta precisi´ n. e o – Disponibilidad de programaci´ n en lenguaje de alto nivel, lo que permite o f´ cilmente especificar algoritmos. a – En un sentido positivo, la mayor parte de los detalles de la circuiter´a ı est´ oculta al programador. a Tomando esto en cuenta, podemos decir que una computadora de prop´ sito o general representa una buena opci´ n para evaluar nuevos algoritmos. De he- o cho, las computadoras personales se usan extensivamente para dise˜ ar y probar n nuevos algoritmos as´ como para implantarlos con prop´ sitos de simulaci´ n, ı o o antes de la implantaci´ n final en circuitos dedicados. Una excelente herramien- o Å ØÐ ta para probar y desarrollar algoritmos de PDS y aplicaciones, es el ambiente de programaci´ n o ­. c ¯ Procesamiento en tiempo real: Un avance importante, que permiti´ a la cir-o cuiter´a digital igualar a su contraparte anal´ gica, fue la construcci´ n de multi- ı o o plicadores en un solo circuito integrado. La compa˜ ´a TRW ofreci´ dispositivos nı o que realizaban multiplicaci´ n entera de n´ meros de 8, 12, 16, o 24 bits en una o u peque˜ a fracci´ n de un microsegundo. Un ejemplo es el TRW MPY16AJ. n o Cuando se introdujeron estos multiplicadores, los microprocesadores eran de- masiado lentos, comparados con los multiplicadores de TRW. ¯ Dispositivos con dise˜ o “bit-slice": En el siguiente paso encontramos proce- n sadores de se˜ ales “bit-slice". Los dispositivos “bit-slice" fueron usados prin- n cipalmente en el dise˜ o de minicomputadoras de prop´ sito general que fueron n o suficientemente flexibles para desempe˜ arse como m´ quinas de procesamien- n a to de se˜ ales de prop´ sito especial. Un ejemplo fue el proyecto MARCH, n o mostrado esquem´ ticamente en la Figura 2.2, cuyas principales caracter´sticas a ı eran: – Un secuenciador. – Programaci´ n a nivel de microc´ digo. o o – La inclusi´ n de un monitor facilitaba, relativamente, la programaci´ n. o o En realidad, la programaci´ n segu´a siendo complicada, por ejemplo, la sigu- o ı iente l´nea muestra c´ mo ser´a un mando t´pico del monitor: ı o ı ı °¿ Å ½   ¾ Å    ¾ ¿ cuyo significado ser´a: ı Formato tipo 3 (se refiere a los tres mandos siguientes) M´dulo n´mero 1, mando con el octeto F2 o u
  • 4. 18 ˜ EL PROCESADOR DE SENALES DIGITALES (16 bits) Reloj Registro de entrada X Registro Producto Registrro de (parte menos significativa) entrada Y Arreglo multiplicador asíncrono Canal de datos (16 bits) Registro Producto (parte más significativa) Habilitar salida Reloj Canal de datos (16 bits) Figura 2.1 Diagrama a cuadros del multiplicador MPY16AJ. M´dulo n´mero E, mando con el octeto 87 o u Mando del controlador 2434 Puede verse que la programaci´ n y la alteraci´ n del programa era a nivel de o o lenguaje de m´ quina. En conclusi´ n, este tipo de sistemas eran demandantes a o desde el punto de vista de ingenier´a, costosos y consum´an mucho tiempo, ı ı pues el desarrollo de proyectos como el MARCH tomaban entre 3 a 4 a˜ os. n ¯ El siguiente paso l´ gico fue el incluir en un solo circuito integrado toda la l´ gica o o del procesador “bit-slice". Entonces se inicia la revoluci´ n con la introducci´ n o o del procesador de se˜ ales: n – Intel 2920 en 1979 (aproximadamente). Algunas caracter´sticas eran: ı Convertidor A/D y D/A incluidos en el CI. Programa residente en memoria de s´ lo lectura borrable EPROM para instrucciones y una EPROM para o almacenar datos fijos. Unidad aritm´ tica y l´ gica (ALU) de 16 bits. e o Inclu´a un circuito similar al MPY16AJ. ı ´ – NEC 7720. Este se distingu´a por una doble filosof´a: a) estaba dise˜ ado ı ı n para algoritmos espec´ficos y b) aun segu´a siendo un procesador de ı ı se˜ ales de prop´ sito general. Inclu´a instrucciones en memoria de s´ lo n o ı o
  • 5. ˜ DESARROLLO DE LOS PROCESADORES DE SENALES DIGITALES 19 Puertos Registros Canal de control (40 bits) E/S (apilados) Multiplicador Interfase para Unidades Control de memoria Secuenciador ALU de memoria MPY16AJ memoria Canal principal (datos de 16 bits) Puertos E/S Monitor sobre un 8085 Figura 2.2 Diagrama a cuadros de los componentes principales del proyecto MARCH. lectura ROM, datos en ROM y datos en memoria de acceso aleatorio RAM. – NEC 77P20 era la versi´ n EPROM del NEC7720. o – TMS 32010, TMs320M10 en Frebrero 1982, en San Francisco California ´ por la Texas Instruments. Este es un procesador de se˜ ales de prop´ sito n o general con un amplio espectro de aplicaciones. Inclu´a un circuito mul- ı tiplicador de 16x16 bits, un acumulador/sumador de 32 bits y habilidad para direccionar memoria externa sin penalizar su velocidad. Su filosof´a ı de dise˜ o era: Ser´ muy pr´ ctico implementar un sistema que incluya n a a memoria RAM fuera del CI para almacenamiento de programa. Es- to permitir´ cambiar al programa durante el tiempo de ejecuci´ n. El a o TMS320C10 fue empleado en proyectos de reconocimiento de voz en 1983. Un hecho hist´ rico interesante es el siguiente: Despu´ s de la introducci´ n del mi- o e o croprocesador en los a˜ os 70, la s´ntesis de voz fue la primera aplicaci´ n en alcanzar n ı o los mercados en forma masiva. Se trataba de circuitos integrados dise˜ ados espec´fi- n ı camente para ese prop´ sito, aunque no eran programables. El mejor ejemplo es el o juguete educativo “Speak and Spell" desarrollado por la Texas Instruments. La may- or´a de estos circuitos empleaban un conjunto de par´ metros para generar un n´ mero ı a u limitado de frases. Eran considerados como sistemas de grabaci´ n de estado s´ lido. o o
  • 6. 20 ˜ EL PROCESADOR DE SENALES DIGITALES 2.2 CARATER´STICAS DEL DSP56002 I En esta secci´ n, se incluye una breve descripci´ n del procesador de se˜ ales digitales o o n DSP56002 de Motorola­. No se intenta substituir al manual de empleo, si no m´ s c a bien brindar parte de la informaci´ n acerca del procesador que se emplear´ en la o a realizaci´ n de filtros digitales, para procesamiento en tiempo real. Para informa- o ci´ n detallada, se recomienda consultar el DSP56002 Digital Signal Processor User’s o Manual ref no. DSP56002UM/AD REV 1. y el DSP56000UM/AD REV 2. El DSP56002 es un procesador de se˜ ales de 24 bits cuya arquitectura ha sido n dise˜ ada para maximizar su desempe˜ o en aplicaciones de PDS con manejo intensi- n n vo de datos. Tiene una arquitectura que se puede expandir con perif´ ricos sofisticados e incluidos en el CI y puertos de entrada y salida (E/S), de prop´ sito general. La arqui- o tectura, se dice, es de doble naturaleza ya que cuenta con dos espacios independientes y expandibles de memoria, dos unidades de generaci´ n de direcciones (AGU) y una o unidad aritm´ tica y l´ gica (ALU) que contiene dos acumuladores y dos circuitos de e o recorrimiento y limitaci´ n. o Las caracter´sticas principales se pueden resumir como sigue: ı Velocidad: 20 MIPS (millones de instrucciones por segundo) - un ciclo de instruc- ciones de 50 ns a 40MHz. Hasta 120 MOPS (millones de operaciones por segundo) a 40 MHz. Canales de datos de 24 bits con dos acumuladores de 56 bits cada uno. Ejecuta una transformada compleja r´ pida de Fourier (FFT) de 1024 puntos en 59,898 a ciclos de reloj. Cuatro canales internos de datos de 24 bits y tres canales internos de direcciones de 16 bits para acceso simultaneo de la memoria de programa y dos memorias de datos. Paralelismo: Tres unidades de ejecuci´ n incluidas, AGU unidad de generaci´ n au- o o tom´ tica de direcciones, PC contador de programa, y la ALU unidad aritm´ tica y a e l´ gica. o Una unidad en paralelo multiplicadora/acumuladora de 24¢24 bits de un solo ciclo. Juego de instrucciones altamente ejecutables en paralelo con modos de direccionamien- to para aplicaciones de PDS. Instrucciones de ejecuci´ n en ciclos anidados sin carga extra para el programador. o Memoria RAM para programa 512¢24. DOs memorias RAM para datos de 256¢24. Dos tablas de datos en ROM de 256¢24 (tablas seno y coseno, y tablas de ley-A, y ley ). Tres puertos multifuncionales PTA, PTB, y PTC. Direccionamiento de memoria externa con un canal de direcciones de 16 bits y canal de datos de 24 bits. 24 terminales de E/S de prop´ sito general. o Un contador de eventos/temporizador de 24 bits. Canales de datos: 4 bidireccionales de 24 bits XDB, YDB, PDB y GDB. Tres canales de direcciones: XAB, YAB, PAB. Interfase con soporte de acceso directo a memoria para comunicaci´ n entre proce- o sadores “Byte-wide Host Interface (HI)".
  • 7. ´ CARATERISTICAS DEL DSP56002 21 Interfase (de comunicaci´ n) serie s´ncrona (SSI) para comunicaci´ n con CODECS y o ı o dispositivos de comunicaci´ n serie s´ncronos. o ı Interfase de comunicaci´ n serie (SCI) para comunicaci´ n as´ncrona “full-duplex". o o ı En la ALU se tiene: ¯ 4 registros de entrada de datos de 24 bits (x1,x0, y1,y0) ¯ 1 MAC (multiplicador fraccional paralelo complemento de dos de 24x24bits) ¯ 2 registros acumuladores de 56 bits, A y B (48 bits + 8 bits de extensi´ n) o ¯ 1 registro acumulador con recorrimiento ¯ 2 circuitos de recorrimiento/limitaci´ n para el canal de datos o Los registros de extensi´ n autom´ tica de 8 bits ofrecen protecci´ n contra desborde. o a o La extensi´ n autom´ tica de signo se da cuando se escribe en el acumulador de 56 o a bits, A o B, con un operando de 48 o 24 bits. La limitaci´ n ocurre autom´ ticamente cuando se leen los operandos de 56 bits de o a A o B (no en forma individual a2, a1, a0, b2, b1, b0). En la Figura 2.3 se muestra el diagrama de terminales del procesador de se˜ ales n DSP56002, con un total de 132 terminales, y en la Tabla 2.1 se agrupan las terminales de acuerdo a su funci´ n. o Tabla 2.1 Grupos de terminales de acuerdo a su funci´ n. o Grupo funcional N´ mero de terminales u Canal de datos, puerto A 24 Direcciones, puerto A 19 Canal de control, puerto A 7 Host interface, puerto B 15 SCI, puerto C 3 SSI, puerto C 6 Interrupciones y control del modo de operaci´ n o 4 PLL y reloj 7 OnCE 4 Alimentaci´ n Vcc o 16 Tierra 24 Temporizador 1 Reservados 2 Total (para encapsulado PGA) 132 2.2.1 Modos de direccionamiento El DSP56002 cuenta con modos de direccionamiento que permiten realizar opera- ciones propias para el PDS. Para esto cuenta con los siguientes registros de 16 bits: ¯ Registros de direcciones R0 - R3, y R4 - R7
  • 8. 22 ˜ EL PROCESADOR DE SENALES DIGITALES DSP56002 D0-D23 H0-H7 DGND(6) Port A HA0-HA2 Data DVCC(3) HR/W HEN Port A Port B A0-A15 HOST HREQ Address PS HACK DS HGND(4) X/Y HVCC(2) AGND(5) RXD AVCC(3) Port C TXD BN SCI SCLK RD Port A WR Control SVCC BR SGND(2) BG WT SC0-SC2 Port C SCK BS SSI CGND SRD CVCC 132 pins STD DSCK/OS1 MODC/NMI OnCE DSI/OS0 MODB/IRQB DSO MODA/IRQA Interrupt/ DR RESET Mode EXTAL Control PVCC XTAL PGND QGND(4) PCAP QVCC(4) PLL CKP PLOCK TIO Timer PINIT CLVCC RESERVED (2) CLGND CKOUT Figura 2.3 Diagrama de terminales del DSP56002. ¯ Registro de compensaci´ n (offset) N0 - N3, y N4 - N7 o ¯ Registros modificadores M0 - M3, y M4 - M7 ÊÒ , ÅÒ , y ÆÒ son registros que se emplean en trinomios. Solamente se puede usar ƾ y ž para modificar el contenido de ʾ . Los registros de direcciones ʼ - Ê¿ y Ê - Ê son registros de 16 bits que pueden contener direcciones o datos de prop´ sito o general. Estos registros se emplean para calcular la direcci´ n efectiva de un operan- o do. Cuando soportan movimientos en paralelo de datos de las memorias X y Y, los registros de direcciones deben considerarse como grupos separados, ʼ a Ê¿ , y Ê a Ê . El contenido de un registro ÊÒ puede apuntar directamente, o con un desplaza- miento, a una localidad de memoria. Adem´ s, el contenido puede pre-modificarse o a post-modificarse, de acuerdo al modo de direccionamiento seleccionado. Los registros de compensaci´ n ÆÒ pueden contener valores de compensaci´ n para o o incrementar o decrementar el contenido de los registros de direcciones, o la direcci´ n o apuntada por ÊÒ . Tambi´ n, pueden contener valores de 16 bits de prop´ sito general. e o
  • 9. ´ CARATERISTICAS DEL DSP56002 23 Los registros modificadores ÅÒ definen el tipo de aritm´ tica que se utilizar´ para e a el c´ lculo en los modos de direccionamiento, o tambi´ n pueden usarse para almace- a e namiento de prop´ sito general. o En la Tabla 2.2 se resumen los modos de direccionamiento cuando se emplean los registros ÊÒ , y ÆÒ . Tabla 2.2 Modos de direccionamiento. Modo de direccionamiento Modificador C´ digo ensamblador o Direccionamiento indirecto Sin modificar Si ( ÊÒ ) Post-incremento por 1 Si (ÊÒ )+ Post-decremento por 1 Si (ÊÒ )- Post-incremento con compensaci´ n por ÆÒ o Si ´ÊÒ µ · ÆÒ Post-decremento con compensaci´ n por ÆÒ o Si ´ÊÒ µ   ÆÒ Pre-decremento por 1 Si  ´ÊÒµ Indexado con compensaci´ n por ÆÒ o Si ´ÊÒ · ÆÒ µ (ÊÒ y ÆÒ no cambian) Los registro modificadores son muy importantes y, aunque no siempre aparecen en las instrucciones de movimiento de datos, siempre deber´ n pre-cargarse o inicializarse a con alg´ n valor, pues estos registros determinan el modo de direccionamiento. Se u distinguen pues tres importantes modos del empleo de los registros de direcciones ÊÒ , bajo la acci´ n de los registros modificadores ÅÒ . o Al primero lo llamamos direccionamiento lineal o modificaci´ n lineal (linear mod- o ifier). Cuando deseamos direccionamiento lineal, se carga al registro ÅÒ con el valor ° , o tambi´ n -1, entonces se realiza la modificaci´ n empleando aritm´ tica e o e normal de 16 bits (m´ dulo 65,536). Es decir,cuando se incrementa el contenido de o alg´ n registro de direcciones ÊÒ , este incremento puede crecer en forma lineal hasta u el valor 65,536. Tambi´ n se puede usar un incremento con compensaci´ n por el valor e o de ÆÒ . Al segundo lo llamamos direccionamiento m´ dulo M, o direccionamiento circular. o El registro modificador ÅÒ se carga con el valor ÅÒ Å   ½ y se realiza la modificaci´ n m´ dulo M, en donde M puede tomar cualquier valor desde 2 hasta o o 32768. La aritm´ tica m´ dulo M hace que el registro de direcciones tenga un valor e o que permanece dentro de un intervalo de direcciones de tama˜ o M, definiendo l´mites n ı inferior y superior al direccionar a memoria. El l´mite inferior debe tener ceros en ı los bits menos significativos, en donde ¾ Å y por lo tanto debe se un m´ ltiplo u de ¾ Al tercer modo le llamamos direccionamiento con acarreo inverso (reverse carry modifier). En este caso, se carga al registro ÅÒ con $0000. La modificaci´ n, o o cambio de la direcci´ n, se realiza en el circuito (por “hardware") propagando el bit o ´ de acarreo en la direcci´ n inversa. Este modo es muy util en los algoritmos de la FFT. o Para que funcione bien, para una FFT de ¾ puntos se debe seguir el procedimiento siguiente: 1. ÅÒ ¼
  • 10. 24 ˜ EL PROCESADOR DE SENALES DIGITALES 2. ÆÒ ¾  ½ 3. Cargar ÊÒ con un valor que est´ entre los l´mites superior e inferior. El l´mite e ı ı inferior es Lx¾ , en donde L es un n´ mero entero cualesquiera. Este l´mite u ı entregar´ un n´ mero binario de 16 bits “x x x x 0 0 x x", en donde x x x a u x = L y 0 0 0 0 es igual a ceros. El l´mite superior es Lx´¾ µ · ´¾   ½µ. ı Esto dar´ un n´ mero binario “x x x x 1 1 1 1", en donde x x x x + L, y a u 1 1 1 1 = unos 4. Usar el m´ todo de direccionamiento ´ÊÒ µ · ÆÒ e En resumen, ¯ El direccionamiento con acarreo inverso es util para FFTs de ¾ puntos. ´ ¯ ´ El direccionamiento m´ dulo M es util para crear pilas circulares como colas o (FIFOs “first in first out"), l´neas de retardo y pilas de muestras de hasta 32,768 ı palabras largas (“long words"). ¯ ´ El direccionamiento lineal es util para direccionamiento de prop´ sito general. o Para m´ s detalles, se recomienda consultar el manual de usuario (DSP56000/DSP56001 a Digital Signal processor user’s manual) DSP56000UM/AD. 2.2.2 ´ ´ Modulos de memoria y modos de operacion El procesador de se˜ ales DSP56002 ha sido dise˜ ado con una arquitectura Harvard n n modificada, es decir, tiene tres espacios de memoria: un espacio de memoria para programa P, y dos espacios de memoria para datos X y Y. Es posible tener acceso a estos tres espacios de memoria independientes, en forma simultanea, gracias al paralelismo que presenta dicha arquitectura. Los espacios de memoria son configurados por los bits de control en el Registro de Modo de Operaci´ n (OMR). Los bits de control o de modo de operaci´ n, en el OMR, controlan el mapa de memoria de programa y o seleccionan las direcciones de los vectores de interrupci´ n. Un bit adicional (DE) o controla los mapas de memoria X y Y y habilita o inhibe los datos contenidos en ROM. 2.2.3 La memoria de programa P El DSP56002 tiene 512 palabras (o direcciones) de memoria RAM para programa, 64 palabras de memoria ROM programada en f´ brica para “arranque" (bootstrap). a La memoria ROM de arranque es programada para realizar la operaci´ n de “ar- o ranque" desde el puerto de memoria expandida (puerto A), desde la interfase de Host (HI), o desde el puerto SCI. Esto ofrece un m´ todo conveniente y de bajo costo para e cargar la memoria de programa RAM con un programa dado por el usuario al salir del estado de re-inicio (“reset") o de encendido (“power-on"). La actividad de la ROM de arranque es controlada por los bits MA, MB, y MC en el OMR.
  • 11. ´ CARATERISTICAS DEL DSP56002 25 Los vectores de interrupci´ n est´ n localizados en las 128 direcciones m´ s bajas de o a a la memoria P ($0000 - $00FF). La memoria P se puede expandir hasta 64k fuera del CI. 2.2.4 La memoria de datos X Esta memoria cuenta con varias caracter´sticas muy importantes ya que incluye 256 ı localidades de 24 bits de memoria RAM interna (incluida en el CI) ocupando las direcciones bajas de memoria (0-255). Los datos en memoria interna ROM ocupan las direcciones 256-511 y son controlados por el bit DE (“data enable") en el OMR. En esta memoria X, se encuentran tambi´ n los registros perif´ ricos incluidos (“on- e e chip peripheral registers") ocupando las direcciones altas de la memoria de datos X ($FFC0 - $FFFF). La memoria X se puede expandir a 64k en memoria externa (fuera del CI). 2.2.5 La memoria de datos Y La memoria RAM interna es una memoria est´ tica interna de 24 bits de ancho que a ocupa loas direcciones m´ s bajas en el espacio de memoria Y (0-255). Los datos en a memoria interna ROM ocupan las direcciones 256-511 y son controlados por los bits DE y YD en el OMR. La memoria Y se puede expandir a 64k en memoria externa (fuera del CI). 2.2.6 ´ El registro de modo de operacion OMR El OMR es un registro de 24 bits, en donde s´ lo est´ n definidos seis bits, que controla o a el modo de operaci´ n del procesador. Est´ localizado en la Unidad de Control de o a Programa. Los bits del OMR son afectados al re-iniciar, y por las instrucciones ANDI, ORI, MOVEC, BSET,BCLR, y BCHG. El formato del OMR se muestra Figura 2.4, 23 8 7 6 5 4 3 2 1 0 * * SD * MC YD DE MB MA en donde, MB,MA l´neas A y B de modo de operaci´ n ı o . DE bit de habilitado de datos en ROM (“Data ROM enable") . YD inhabilitado de la memoria interna Y . MC l´nea C de modo de operaci´ n ı o . reservado . SD detiene retardo (“Stop delay") . Figura 2.4 Formato del registro OMR. Las Tablas 2.3 y 2.4 muestran, en resumen, el funcionamiento de los bits contenidos en el OMR.
  • 12. 26 ˜ EL PROCESADOR DE SENALES DIGITALES Tabla 2.3 Bits DE y YD del OMR DE YD Memoria de Datos 0 0 ROMs internas inhabilitadas y sus direcciones son parte de la memoria externa 0 1 ROM interna X, RAM y ROM internas de Y inhabilitadas pasan a memoria externa 1 0 ROMs de datos X y Y habilitadas 1 1 RAM y ROM internas de Y inhabilitadas y son parte de la memoria externa. ROM interna de X habilitada Tabla 2.4 Resumen de los modos de operaci´ n o Modo MC MB MA Descripci´ n del Modo o 0 0 0 0 ´ CI unico, P:RAM habilitada, re-inicio $0000 1 0 0 1 Arranque (bootsatrap) desde EPROM, sale en Modo 0 2 0 1 0 Expandido, P:RAM habilitada, re-inicio $E000 3 0 1 1 Desarrollo P:RAM inhabilitada, re-inicio $0000 4 1 0 0 Reservado para Arranque 5 1 0 1 Arranque desde “Host", sale en Modo 0 6 1 1 0 Arranque desde SCI (reloj externo), sale en Modo 0 7 1 1 1 Reservado para Arranque El mapa de memoria, es decir las direcciones de inicio, tanto para espacio de memo- ria P como para los espacios de memoria X y Y, depende de los modos de operaci´ n o y de los bits DE y YD del OMR. Como se tienen tres modos de operaci´ n v´ lidos, se o a tendr´ n tres mapas de memoria para el espacio de memoria P. Esto se muestra en la a Tabla 2.4 y en forma m´ s clara en la Figura 2.5. Para los espacios de memoria X y Y, a ´ como estos dependen de dos bits, DE y YD, se tienen cuatro combinaciones posibles. En las Figura 2.6 a 2.9, se muestran estas cuatro posibilidades. N´ tese que en cualquier caso, las direcciones $FFC0-$FFFF en el espacio de o memoria de datos X no est´ n disponibles externamente ya que est´ n reservadas para a a los perif´ ricos incluidos en el CI. La Figura 2.10 muestra el mapa para los vectores e de interrupci´ n as´ como el mapa para los perif´ ricos incluidos en el CI. o ı e
  • 13. ´ CARATERISTICAS DEL DSP56002 27 Modo 0 Modo 2 Modo 3 $FFFF $FFFF $FFFF $E000 re-inicio externa externa externa $01FF $01FF $01FF RAM RAM interna interna $003F $003F $003F interrupci´ n o interrupci´ n o interrupci´ n o re-inicio re-inicio $0 $0 $0 RAM P interna RAM P interna RAM P externa re-inicio interno re-inicio re-inicio externo externo Figura 2.5 Mapa de Memoria P.
  • 14. 28 ˜ EL PROCESADOR DE SENALES DIGITALES DE = 1 YD = 0 $FFFF perif´ ricos e perif´ ricos e en el CI externos $FFC0 $FFBF Memoria de Memoria de datos X datos Y externa externa $01FF ROM X ROM Y interna interna + ley A/Lin ..................... onda seno $017F ROM X interna completa +ley mu/Lin $00FF RAM X RAM Y $0 interna interna ROMs de datos habilitadas Figura 2.6 Mapa de Memoria XY, DE = 1; YD = 0.
  • 15. ´ CARATERISTICAS DEL DSP56002 29 DE = 0 YD = 0 $FFFF perif´ ricos e perif´ ricos e en el CI externos $FFC0 Memoria de Memoria de datos X datos Y externa externa $00FF RAM X RAM Y $0 interna interna ROMs de datos inhibidos Figura 2.7 Mapa de Memoria XY, DE = 0; YD = 0.
  • 16. 30 ˜ EL PROCESADOR DE SENALES DIGITALES DE = 1 YD = 1 $FFFF perif´ ricos e perif´ ricos e en el CI externos $FFC0 $FFBF Memoria de Memoria de datos X datos Y externa externa $01FF ROM X interna + ley A/Lin ..................... $017F ROM X interna +ley mu/Lin $00FF RAM X $0 interna ROMs de datos habilitadas Figura 2.8 Mapa de Memoria XY, DE = 1; YD = 1.
  • 17. ´ CARATERISTICAS DEL DSP56002 31 DE = 0 YD = 0 $FFFF perif´ ricos e perif´ ricos e en el CI externos $FFC0 Memoria de Memoria de datos X datos Y externa externa $00FF RAM X $0 interna ROMs de datos inhibidos Figura 2.9 Mapa de Memoria XY, DE = 0; YD = 1.
  • 18. 32 ˜ EL PROCESADOR DE SENALES DIGITALES Mapa de Mapa de perif´ ricos e interrupciones incluidos en el CI $007F Mandos del “host" $FFFF Prioridad de ints. $0040 Control de canal (bus) $003E Instr. ilegal Interfase SCI $003C Int. del temporizador Interfase SSI $003A Interfase del “host" Mandos del “host" $0024 Interfase de E/S paralelo Ints. del SCI Ints. del SSI Temporizador Ints. externas Ints. por programa Ints. “trace" Int. por error $FFDE de pila Re-inicio Reservado $0000 $FFC0 Figura 2.10 Mapa de interrupciones y perif´ ricos. e
  • 19. ´ CARATERISTICAS DEL DSP56002 33 2.2.7 ´ ´ Descripcion de los modos de operacion ¯ Modo 0 “Single chip" o Modo CI: En este modo, todas las memorias internas, la de programa y las de datos, est´ n habilitadas. Un re-inicio por el circuito a (“hardware reset") hace que el DSP brinque a la localidad $0000 de la memoria de programa interna y realice la ejecuci´ n. El mapa de memoria para el modo o 0 y el modo 2 son id´ nticos, s´ lo que el vector de re-inicio se encuentra en la e o localidad $0000 en el modo 0 y en $E000 en el modo 2. ¯ Modo 1 Arranque desde EPROM: El modo de arranque permite al DSP cargar un programa desde una econ´ mica memoria ROM de 8 bits en la memoria de o programa interna durante un re-inicio por encendido. Al encender el generador de estados de espera agrega 15 estados de espera a todo el acceso de la memoria externa de modo que se pueda usar una memoria lenta. El programa de arranque emplea los octetos en tres localidades consecutivas de memoria de la ROM externa para construir una sola palabra en la memoria interna. En el modo de arranque, el CI habilita la ROM de arranque y ejecuta el pro- grama de arranque. La memoria ROM de arranque contiene el programa de arranque alambrado (en “firmware") que realiza el cargado inicial de la RAM de programa del DSP56002. Escrito en lenguaje ensamblador, el programa inicializa la RAM de programa cargando desde una memoria EPROM externa de 8 bits que comienza en la localidad P:$C000. La EPROM t´picamente est´ conectada a esa direcci´ n a trav´ s de los canales ı a o e de datos y direcciones. El contenido de la EPROM debe organizarse como se muestra en la Tabla 2.5 Tabla 2.5 Organizaci´ n del contenido de la memoria EPROM o Direcci´ n de o Contenido cargado la memoria a la P:RAM interna P:$C000 P:$0000 con el octeto bajo P:$C001 P:$0000 con el octeto medio ¡¡¡ ¡¡ P:$C002 P:$0000 con el octeto superior ¡ P:$C5FD P:$01FF con el octeto bajo P:$C5FE P:$01FF con el octeto medio P:$C5FF P:$01FF con el octeto superior Despu´ s de que se carga la memoria interna, el DSP se cambia a modo 0 y e comienza la ejecuci´ n del programa en el CI desde la memoria de programa o en la localidad $0000. Si el usuario selecciona el modo 1, a trav´ s de un circuito (en las terminales e MODA, MODB, MODC), ocurren las siguientes acciones una vez que el proce- sador sale del estado de re-inicio.
  • 20. 34 ˜ EL PROCESADOR DE SENALES DIGITALES 1. La l´ gica de control mapea la ROM de arranque en la memoria interna o del DSP en el espacio de memoria de programa con inicio en la localidad $0000. 2. La l´ gica de control hace que el programa que lea desde la ROM de o arranque (s´ lo los bits 5-0 de direcciones son significativos) y toda la o escritura va a la RAM de programa (todos los bits de direcciones son significativos). Esta condici´ n permite al programa de arranque cargar el o programa del usuario desde $0000-$01FF. 3. Comienza la ejecuci´ n del programa en la localidad $0000 en la ROM de o arranque. El programa de arranque de la ROM carga la RAM de programa desde la memoria externa EPROM de 8 bits comenzando en P:$C000 4. El programa de arranque de ROM termina la operaci´ n de arranque y o comienza la ejecuci´ n del programa del usuario. El procesador entra en o modo 0 escribiendo en el registro OMR. Esta acci´ n es temporizada para o retirar la ROM de arranque del mapa de memoria de programa y vuelve a habilitar los accesos de lectura/escritura a la RAM de programa. El cambio al modo 0 es temporizado para permitir al programa de arranque ejecutar una sola instrucci´ n (borrar el registro de estado), luego ejecuta o una instrucci´ n JMP #<00, y comienza la ejecuci´ n del programa del o o usuario en la localidad $0000. ¯ Modo 2 Normal expandido: En este modo, es habilitada la RAM de programa interna y los vectores de re-inicio por circuito a la localidad $E000. (Los mapas de memoria para el modo 0 y el modo 2 son id´ nticos. La diferencia para el e modo 2 es que, despu´ s del re-inicio, es ejecutada la instrucci´ n en la localidad e o $E000 en lugar de la instrucci´ n en $0000. o ¯ Modo 3 Modo de desarrollo: En este modo, la RAM de programa interna es inhabilitada y los vectores de re-inicio por circuito est´ n en la localidad $0000. a Todas las referencias al espacio de memoria de programa son dirigidas a la memoria de programa externa. El vector de re-inicio apunta a la localidad $0000. ¯ Modo 4 Reservado: Este modo est´ reservado para definici´ n futura. a o ¯ Modo 5 Arranque desde “Host": En este modo, la ROM de arranque es habil- itada y ejecutado el programa de arranque. Este es similar al modo 1 excepto que el programa de arranque carga la P:RAM interna desde el puerto “Host". ¯ Modo 6 Arranque desde SCI: En este modo, es habilitada la ROM de arranque y ejecutado el programa de arranque. La RAM de programa interna y/o externa es cargada desde la interfase serie SCI. Debe especificarse el n´ mero de pal- u abras a cargar y la la direcci´ n inicio. El c´ digo de arranque SCI espera recibir o o tres octetos especificando el n´ mero de palabras de programa, tres octetos es- u pecificando la direcci´ n desde la cual comienza a cargar el programa y tres o octetos para cada palabra de programa a ser cargada. El n´ mero de palabras, la u
  • 21. ´ CARATERISTICAS DEL DSP56002 35 direcci´ n de inicio y las palabras de programa se reciben con el octeto menos o significativo primero, seguido del octeto medio, y luego el octeto m´ s significa- a tivo. Despu´ s de recibir las palabras de programa, comienza la ejecuci´ n del e o programa en la direcci´ n en donde se carg´ la primera instrucci´ n. La SCI se o o o programa para trabajar en modo as´ncrona, 8 bits de datos, un bit de paro, y sin ı paridad. La fuente de la se˜ al de reloj es externa y la frecuencia de reloj debe n ser 16x la raz´ n de transmisi´ n (“baud rate"). Despu´ s de que se ha recibido o o e ´ cada octeto, este es retransmitido a trav´ s del transmisor SCI. e ¯ Modo 7 Reservado: Este modo est´ reservado para definici´ n futura. Si se a o selecciona, el procesador cambia por omisi´ n a modo 6. o En la pr´ ctica del Cap´tulo ?? se introduce el ambiente de programaci´ n del a ı o DSP56002 en su versi´ n para Windows­. Posteriormente se trabaja con el simula- o c dor GUI56000 de Motorola, el cual permitir´ ejecutar instrucci´ n del DSP56002 sin a o tener que contar con la tarjeta de evaluaci´ n. o BIBLIOGRAF´A I 1. Allen, J. “Computer Architecture for Signal Processing", Proceedings of the IEEE, Vol. 63, No.4, pp. 624-633, Abril, 1975. 2. Bowen, B. A., Brown, W. R., VLSI Systems Design for Digital Signal Processing, Vol. 1: Signal Processing andf Signal Processors, Prentice Hall, 1982. 3. El-Sharkawy M., Digital Signal Processing Applications with the Motorola’s DSP56002 Processor, Prentice Hall PTR, 1996.