Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Presentado por:
Alberto Martnez, Ral Anbal
Murillo Gmez, Nstor Alexander
Pg.
Objetivos.
Introduccin.
12
18
Conclusiones.
19
Bibliografa.
20
Pgina 2
Objetivos.
Pgina 3
Introduccin.
Pgina 4
Capitulo I.
Descripcin de Hardware.
Unidad Aritmtica.
Unidad Aritmtica de Direcciones.
Unidad de Control.
Archivos de Registros (Datos y Direcciones).
La unidad Aritmtica, esta compuesta por ALUs (Unidad Lgica Aritmtica), MACs
(Multiplicador/Acumulador), Unidad de Desplazamiento (Barrel Shifter), Registros Acumuladores y
Registros de Datos.
Las ALUs (2 de 40 bits y 4 de 8 bits para video) son las unidades que estn diseadas para
realizar operaciones aritmticas y lgicas tales como la suma, resta, AND, OR, NOT, funciones de
valor absoluto, redondeo, etc.
Las MAC (16x16 bits) permiten realizar operaciones de multiplicacin y
multiplicacin/acumulacin de punto fijo. Sus instrucciones operan datos de 16 bits y produce
resultados de 32 bits. Cada MAC tiene un Acumulador de 40 bits.
La unidad Aritmtica de Direcciones (AAU) esta formada por un Generador de Direcciones
de Datos, Archivo de Punteros de Registros y Set de Registros DAG. Esta unidad se encarga de
generar las direcciones tanto de memoria como de puertos E/S. Las direcciones generadas son de
32 bits y esta unidad puede generar o realizar bsquedas de 2 direcciones al mismo tiempo.
Los registros DAG estn compuestos por 4 tipos de registros: Registros ndice (I[0:3]),
Registros Modificador (M[0:3]), Registros Base (B[0:3]) y Registros Longitud (L[0:3]). Cada uno de
estos registros tiene una longitud de 32 bits.
Entre los archivos de punteros, esta unidad contiene dos tipos diferentes. Uno es el
puntero del stack o pila (SP) y el otro es el puntero de trama (FP).
Pgina 5
La otra parte de la arquitectura son los perifricos, en la tarjeta se cuenta con los
siguientes perifricos:
1.
2.
3.
4.
Memoria.
Pulsadores y LEDs de Propsito General.
Temporizadores.
Banderas Programables.
Pgina 6
5.
6.
7.
8.
9.
10.
11.
12.
Interrupciones.
Acceso Directo A Memoria.
Interfaz para Perifricos Serie (SPI).
Interfaz para Perifricos Paralela (PPI).
Controlador de Puerto Serial (SPORT).
Controlar de Puerto UART.
Interfaz de Audio.
Interfaz de Video.
Pgina 7
Pgina 8
Acceso Directo a Memoria. Para transferir datos a memoria, el procesador utiliza el DMA
(Direct Memory Acces), este controlador puede llevar a cabo varios tipos de transferencias de
datos entre la memoria y memoria, SPI, SPORT, UART y PPI. De esta manera el procesador logra
ser mas optimo en la transferencia de datos.
Para mayor detalle sobre DMA y registros asociados puede consultar el capitulo 9 del
documento ADSP-BF533 Blackfin Processor Hardware Reference.
Interfaz para Perifricos Serie (SPI). Esta es una interfaz serie sncrona full-duplex, que
esta compuesto por cuatro pines (dos pines de datos, seleccionador y de reloj), y funciona como
un registro de desplazamiento en serie en donde transmite y recibe bits de datos (un bit a la vez).
Hay varios dispositivos que se pueden conectar a esta interfaz entre los cuales estn otros
Microcontroladores, convertidores A/D y D/A, pantallas LCD y FPGA.
Para mayor detalle sobre SPI y registros asociados puede consultar el capitulo 10 del
documento ADSP-BF533 Blackfin Processor Hardware Reference.
Interfaz para Perifricos Paralela (PPI). Esta interfaz es half-duplex con capacidad para 16
bits de datos. Para un mayor rendimiento se deber de trabajar con datos de 8 bits, porqu estara
manipulando dos muestras al mismo tiempo.
Para mayor detalle sobre la PPI y registros asociados puede consultar el capitulo 11 del
documento ADSP-BF533 Blackfin Processor Hardware Reference.
Controlador de Puerto Serial (SPORT). En la tarjeta se encuentran dos puertos serie
sncronos idnticos (SPORT0 y SPORT1). Estos puertos proporcionan interfaces tanto para entrada
como de salida a una amplia variedad de dispositivos. Cada uno de ellos cuenta con dos grupos de
pines, los cuales se programan por separado.
Cada uno de los puertos (SPORT0 y SPORT1) tiene la capacidad de transmitir serie de datos
de entre 3 a 32 bits de longitud, tambin permiten el control de la interfaz de audio (I2S y TDM).
Para mayor detalle sobre la configuracin de los SPORT y registros asociados puede
consultar el capitulo 12 del documento ADSP-BF533 Blackfin Processor Hardware Reference.
Controlador de Puerto UART. El transmisor/receptor universal asncrono (UART) convierte
los datos entre los formatos de serie y paralelo. Cada una de las palabras de datos que sern
transmitidas o recibidas por el UART debe de tener un bit de inicio y al menos un bit de parada.
Este perifrico es full-duplex, pero soporta tambin el protocolo IrDA half-duplex.
Para mayor detalle sobre la configuracin del UART y registros asociados puede consultar
el capitulo 13 del documento ADSP-BF533 Blackfin Processor Hardware Reference.
Pgina 9
Interfaz de Audio. Esta interfaz esta compuesta por un cdec de audio AD1836, el cual
ofrece tres canales de audio estreo de salida y dos canales de entrada en audio estreo. La
frecuencia de muestreo pueden ser de 48 y 96 kHz con resoluciones de 16, 20 y 40 bits.
El procesador puede transferir datos al cdec de audio mediante 2 modos. El primero de
ellos es por interfaz serie de dos cables (TWI) y en este modo el cdec puede operar a una
frecuencia de 96 kHz, pero limita sus salidas a solamente dos.
El secundo modo es el modo multiplexado por divisin de tiempo (TDM) y en este modo a
diferencia del anterior, su frecuencia es de 48 kHz, pero con la ventaja de utilizar los tres canales
de salida.
Pgina
10
Pgina
11
Capitulo II.
Descripcin del Software.
Pgina 12
en este caso tambin el registro de reseteo por software (SWRST) puede ser ledo para
determinar si el reseteo ha sido debido a una doble falla en el nucleo.
5. Reseteo por software del ncleo. En este caso solo se resetea el ncleo del procesador, los
perifricos se mantienen en el estado en el que se encuentran en ese momento.
Para obtener mayor referencia de los tipos de reseteo, consulte el captulo 3 del
documento ADSP-BF533 Blackfin Processor Hardware Reference.
Mtodos de Arranque en el procesador Blackfin del ADSP-BF533.
Esta tarjeta contiene en su procesador, un kernel el cual configura un perifrico especfico
para que el ncleo del procesador arranque. Este arranque est controlado por los pines
BMODE[0:1], los cuales estn en el registro de configuracin de reseteo del sistema (SYSCR) y se
pueden configurar mediante el bit 1 y 2 del registro.
Existen 4 mtodos para el arranque, los cuales se detallan a continuacin, con las posibles
combinaciones que pueden tomar estos bits del registro:
00: En este modo el arranque se ejecuta desde la memoria externa de 16 bits.
01: El arranque es efectuado desde la memoria flash externa de 8 o 16 bits.
10: El ADSP-BF533 trabaja como un dispositivo esclavo SPI, y una
microcomputadora o bien otro procesador es usado como anfitrin para arrancar el
procesador del ADSP-BF533.
11: Usa la EPROM serial SPI para cargar y configurar el cdigo de arranque al
procesador.
Para obtener mayor referencia de los mtodos de arranque, consulte el captulo 3 del
documento ADSP-BF533 Blackfin Processor Hardware Reference.
Administracin dinmica de potencia del ADSP-BF533.
La funcionalidad en cuanto a la administracin de potencia que el procesador Blackfin de
esta tarjeta puede ofrecer es:
Control de voltaje.
Controlador de administracin dinmico de potencia.
El control de voltaje, esta basado en el consumo de potencia de la tarjeta de acuerdo a lo
que requiera alguna aplicacin en particular.
El controlador de administracin dinmico de potencia, tambin es conocido como DPMC,
posee cuatro modos de operacin, entre ellos estn: modo FULL ON, modo Active, modo Sleep y
modo Deep Sleep.
Pgina
13
En el modo Full On, que es el que la tarjeta por medio de su procesador normalmente
utiliza para la ejecucin de las aplicaciones, se obtiene el mximo desempeo, esto quiere decir
todo funciona a la mxima velocidad.
En el modo Active, se hace el siguiente ajuste: CCLK = SCLK = CLKIN, esto quiere decir que
la frecuencia del reloj de entrada es igual tanto para el reloj del ncleo como para el reloj del
sistema.
El modo Sleep, es aquel en el cual el acceso directo a memoria (DMA) es permitido pero
solo a la memoria externa, debido a CCLK es decir, el reloj del ncleo es deshabilitado. Para que
este modo regrese al estado Active o Full On es necesario un evento de WAKEUP.
El modo Deep Sleep, el procesador entra en un estado donde el ncleo del procesador y
todos los dems perifricos son deshabilitados y la nica forma de regresar de este modo es
nicamente haciendo un reseteo de hardware.
A parte de los cuatro modos de operacin anteriormente mencionados, hay un estado de
hibernacin en el que se apaga la alimentacin interna pero mantiene los dispositivos de I/O
asncronos encendidos.
Cuando un perifrico no es usado, puede deshabilitarse para disminuir el consumo de
potencia, esto se logra deshabilitando el reloj de un perifrico en especfico.
Para mayor informacin sobre el Administracin Dinmica de Potencia, consulte el
capitulo 8, del documento "ADSP-BF533 Blackfin Processor Hardware Reference "
Modelo "PIPELINE"
El ADSP-BF533, para ejecutar las instrucciones usa un modelo de encauzamiento
entrelazado (interlocked pipeline). La estructura pipeline consiste en una serie de etapas de
operacin del bus mientras se ejecuta una instruccin.
El ADSP-BF533 tiene un "pipeline" de 10 etapas, las cuales se explican a continuacin:
1. Bsqueda de la Instruccin 1 (IF1). En esta etapa se emite la direccin de la instruccin al
bus IAB, y a partir de esa direccin empieza a comparar la etiqueta.
2. Bsqueda de la Instruccin (IF2). Esta etapa espera los datos de la instruccin.
3. Bsqueda de la Instruccin (IF3). Esta etapa se encarga de Leer la instruccin desde el bus
IDB y la alinea.
4. Decodificacin de la instruccin (DEC). Esta etapa decodifica las instrucciones.
5. Clculo de la Direccin (AC). Calcula la direccin del dato y del objetivo.
6. Bsqueda de Datos 1 (DF1). Esta etapa se encarga de emitir la direccin del dato al bus
DA0 y DA1, para empezar a comparar la etiqueta del cach de datos.
7. Bsqueda de Datos 2 (DF2). Lee los archivos del registro.
Pgina
14
8. Ejecucin 1 (EX1). Esta etapa lee los datos desde el bus LD0 y LD1, y postertiormente
multiplica y ejecuta las instrucciones de video.
9. Ejecucin 2 (EX2). Ejecuta y Completa las instrucciones tales como: desplazamiento,
sumas,etc.
10. Escritura (WB). El resultado en los archivos del registro, bus SD y luego actualiza los
punteros.
En el ADSP-BF533, el secuenciador de programa es el encargado de determinar la
direccin siguiente de la instruccin, examinando la actual direccin en ejecucin y tambin
examinando el estado actual del procesador.
Para mayor informacin sobre el mtodo pipeline, consulte el capitulo 4 Program
Secuencer, del documento "Blackfin Processor Hardware Reference "
Arquitectura LOAD/STORE.
El control de datos, es decir la entrada y salida se realiza mediante el banco de registros de
propsito general R0 a R7. Esta arquitectura es conocida por la forma en que los operandos de las
instrucciones y los resultados estn representados por los registros del procesador central.
Estos operandos, son ledos antes de la ejecucin, desde la memoria a los registros del
ncleo (load, buses LD0 y LD1), y los resultados son almacenados por medio de operaciones de
movimiento especficos como: store, bus SD.
Las operaciones de memoria como cargar y almacenar estn separadas de las funciones
aritmticas, que usan como destino a las operaciones de memoria. Separando las operaciones de
carga de sus funciones aritmticas permite a los usuarios de estos DSPs colocar instrucciones no
relacionadas entre la carga y sus instrucciones dependientes.
Para obtener mayor referencia de la arquitectura LOAD/STORE, consulte el captulo 6 del
documento ADSP-BF533 Blackfin Processor Hardware Reference.
Set de Instrucciones.
La arquitectura del procesador Blackfin del ADSP-BF533, est diseada de forma tal que su
sintaxis brinda facilidad de codificar y de leer los programas, posee una representacin
fraccionaria de punto fijo, y tambin incluye mtodos de redondeo y saturacin que a
continuacin se explican detalladamente.
Las convenciones de la sintaxis de la arquitectura Blackfin son:
La entrada del ensamblador es libre, las instrucciones pueden ser puestas en cualquier
lugar del cdigo.
Se puede tener varias instrucciones por lnea, no es necesario una instruccin corrida, para
ello es necesario incluir el punto y coma (;) para finalizarla.
El ensamblador no distingue entre maysculas y minsculas a la hora de codificar.
Pgina
15
Para comentar el cdigo se puede utilizar el /*, */ del lenguaje C, como el // de C++
Para la representacin fraccionaria, el procesador del ADSP-BF533 al poseer una Unidad
de Punto Fijo, es llamado a menudo mquina de Punto Fijo por ser de 16 bits.
La ventaja del procesador, al ser de punto fijo, es el bajo consumo de energa, una mayor
rapidez de procesado y por supuesto el costo para adquirirlos es mucho menor que un procesador
de punto flotante.
Va software es posible hacer que un procesador de punto fijo emule las operaciones de
los procesadores de punto flotante, pues se sabe que estos procesadores ofrecen mayor precisin
en los clculos.
Formato
1.15
2.14
3.13
4.12
5.11
6.1
7.9
8.8
9.7
10.6
11.5
12.4
13.3
14.2
15.1
16
# de
# de bits
bits
fraccionarios
enteros
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
15
0.999969482421875
14
1.999938964843750
13
3.999877929687500
12
7.999755859375000
11
15.999511718750000
10
31.999023437500000
9
63.998046875000000
8
127.996093750000000
7
255.992187500000000
6
511.984375000000000
5 1023.968750000000000
4 2047.937500000000000
3 4095.875000000000000
2 8191.750000000000000
1 16383.500000000000000
0 32767.000000000000000
Valor Max.
Neg. (0x8000)
en Decimal
-1.0
-2.0
-4.0
-8.0
-16.0
-32.0
-64.0
-128.0
-256.0
-512.0
-1024.0
-2048.0
-4096.0
-8192.0
-16384.0
-32768.0
Valor de 1 LSB
(0x0001) en decimal
0.000030517578125
0.000061035156250
0.000122070312500
0.000244140625000
0.000488281250000
0.000976562500000
0.001953125000000
0.003906250000000
0.007812500000000
0.015625000000000
0.031250000000000
0.062500000000000
0.125000000000000
0.250000000000000
0.500000000000000
1.000000000000000
Los mtodos de redondeo, hace que se vea reducida la precisin de un nmero, esto
debido a que se remueve el rango de bits menos significativos. Existen dos tipos de redondeo: el
polarizado y no polarizado.
El polarizado, es aquel que siempre incrementa la cantidad, es decir redondea el nmero
al valor ms cercano mayor al original. En tanto, el no polarizado, es aquel que redondea al valor
par ms cercano, con lo que puede aumentar o disminuir el nmero.
Cabe sealar que los nmeros enteros no necesitan redondeo, ya que los resultados de las
operaciones en que estn involucrados son siempre nmeros exactos.
Pgina
16
Pgina
17
Capitulo III.
Descripcin de Prcticas Bsicas.
Uno de los objetivos de este documento, es el dar a conocer de una forma prctica, las
configuraciones de los elementos necesarios para la implementacin de proyectos, en donde se
pueda realizar procesamiento de la seal tanto de audio como de video.
En total son cinco prcticas bsicas, las cuales son:
1.
2.
3.
4.
5.
En la practica #1, se detallara los pasos a seguir para crear una sesin, crear un proyecto,
compilar ese proyecto y la forma de depuracin de este. El objetivo principal es que el estudiante
conozca las funciones bsicas del software VisualDSP++ 5.0, el cual es el entorno de desarrollo de
la tarjeta.
En la prctica #2, se mencionan de una forma breve los modos de direccionamiento que se
pueden realizar en el cdigo de programacin. Adems se mostrara los pasos necesarios para
guardar y extraer datos a la memoria desde el cdigo de programacin o desde un archivo
externo.
En la practica #3, se presenta las configuraciones que se deben de realizar para manipular
los pulsadores y LEDs de propsito general, de igual manera se proveern los pasos para declarar
una interrupcin y el uso de los timers mediante los registros de control y habilitacin.
En la prctica #4, se pasar a trabajar con la interfaz de audio. Mediante un ejemplo donde
se habilitara la entrada y salida de audio en tiempo real. Esta prctica es esencial si se desea
trabajar en el procesamiento de este tipo de seal.
Y por ultimo en la practica #5, se mostrara un ejemplo donde se utiliza la interfaz de video,
en este ejemplo se hace una captura de pantalla de la entrada y se guarda en un segmento de
memoria (preestablecido en el cdigo), para posteriormente, mediante el VisualDSP++ extraer esa
imagen. Esta practica tambin es bsica s se desea trabajar en el procesamiento de video.
Pgina
18
Conclusiones.
Pgina
19
Referencias Bibliogrficas.
1. Analog Devices, Inc. ADSP-BF533 Blackfin Processor Hardware Reference. Revision 3.2.
Norwood, Mass, U.S.A. 2006.
2. Analog Devices, Inc. ADSP-BF53X/BF56X BlackfinProcessor Programming Reference.
Revision 1.2. Norwood, Mass, U.S.A. 2007.
3. Analog Devices, Inc. ADSP-BF533 EZ-KIT Lite Evaluation System Manual. Revision 3.0.
Norwood, Mass, U.S.A. 2006.
4. Analog Devices, Inc. Datasheet Blackfin Embedded Processor ADSP-BF531/ADSPBF532/ADSP-BF533. Revision E. Norwood, Mass, U.S.A. 2007.
5. Analog Devices, Inc. VisualDSP++ 5.0 Getting Started Guide. Revision 3.0. Norwood, Mass,
U.S.A. 2007.
6. Analog Devices, Inc. VisualDSP++ 5.0 Assembler and Processor Manual. Revision 3.0.
Norwood, Mass, U.S.A. 2007.
7. Analog Devices, Inc. VisualDSP++ 5.0 C/C++ Compiler and Library Manual for Blackfin
Processors. Revision 5.0. Norwood, Mass, U.S.A. 2007.
8. Rodrguez Jtiva, Franklin Andrs. Estudio del ADSP-BF561 de Analog Devices, Familia
Blackfin y Desarrollo de Aplicaciones. Escuela Politcnica del Ejercito, Departamento de
Elctrica y Electrnica, Carrera de Ingeniera en Electrnica y Telecomunicaciones.
Sangolqu, Ecuador. 2012.
Pgina
20