Sunteți pe pagina 1din 17

MANUAL DE USUARIO

VARITEK 19

TARJETA DE DESARROLLO DSP

VARITEK

Jr. Lord Cochrane 180 DP. 19


Telfax: 42176644
Soporte: 99703199
Email: vsotelo@varitek.us
Web: www.varitek.us

Lima-Per
2008
AVISO

VARITEK se reserva el derecho de hacer cambios o de descontinuar cualquier


producto o servicio identificado en esta publicacin sin previo aviso.

VARITEK no tiene obligacin de proporcionar asistencia por aplicaciones, por diseo


de productos del Cliente, performance del software de Cliente o infraccin contra
patentes o servicios descritos en esta publicacin. Adems VARITEK no se
responsabiliza por daos colaterales o por consecuencias de una mala conexin, mal
manejo o por accidente con el producto.

Los productos de desarrollo de VARITEK no estn diseados para trabajos de


produccin o industriales, sino de estudio y desarrollo de aplicaciones de laboratorio.

Ninguna parte de este documento puede ser reproducido de ninguna forma sin el
permiso correspondiente escrito por VARITEK.

Las marcas registradas son propiedad de los respectivos dueos.

Garanta Limitada

La tarjeta de desarrollo del Varitek 19 est garantizada contra defectos en los


materiales y su construccin por un periodo de un ao desde el da de su compra a
VARITEK o su representante de ventas autorizado.

Todos los Derechos Reservados


Revisin 3, Marzo 2008
Introduccin

La Tarjeta de desarrollo VARITEK 19 con el procesador digital de seales DSP


TMS320F2812, ofrece un sistema cmodo y fcil de operar, junto con el con el
programa Code Varitek V1.5, para la rpida puesta en marcha de soluciones de
procesamiento digital y automatizacin. Su forma de conexin con el puerto
serial permite conectar el mdulo a una PC, que funciona como la consola de
operacin del DSP.

El sistema de desarrollo esta basado en una tarjeta con procesador digital TMS320F2812 de la
Texas Instruments, este es un procesador de alta calidad que mantiene el liderazgo en el
mercado en el rea de procesamiento digital y control digital. Se le puede encontrar en el rea
de control industrial, instrumentacin de avinica, discos duros de prestigiosas marcas como
Quantum, EC2 e IBM, en sistemas de control avanzado, equipos industriales, lnea blanca,
robtica y equipos de oficina.

El procesador digital TMS320F2812 de la Texas Instruments, es el ltimo modelo de


procesador dedicado a aplicaciones de control. Con instrucciones de tipo RISC puede ser
programado en Lenguajes C++ o ANSI C. Su extraordinario desempea alcanza los 150
MIPS de procesamiento en pipeline, lo que permite trabajar con algoritmos complejos de
nueva tecnologa.

Aplicaciones
Sistema de adquisicin de datos para sistemas de control
Robtica
Automatizacin Industrial
Procesamiento digital de seales
Supervisin remota
Automviles
Lnea Blanca
Sistemas de seguridad
Control de acceso
Comunicaciones va serial

Caractersticas
150 MIPS de performance Pipelinizada
Arquitectura Harvard, Set de instrucciones RISC, 6 buses y uso de pipeline de 6
etapas
176-Pin Plastic Quad Flat Package (SOIC Suffix)
6.67-ns Tiempo de ejecucin de cada Instruccin en Pipeline
18KWords RAM data que puede ser compartida con programas
128KWords Flash para programas como memoria interna
12 Canales de PWM. Pulse-Width Modulation
4 Timers de Propsito general con 4 modos de trabajo
3 Unidades de comparacin completa con tiempo muerto para mosfets o IGBTs
8 Unidades de Captura con dos resolvedor de cuadratura para encoders QEP
1 Mdulos de Conversin Analgico Digital de 16 canales, 12 bits de hasta
12.5MSPS
49 pines de entradas y salidas I/O Programables
Unidad de tiempo de interrupcin en tiempo real Watchdog Timer Module
Dos Unidades de Comunicacin Serial asncrona (SCI) para conexin a la PC
Unidad de Comunicacin Serial sncrona (SPI) para conectar mdulos DA externos
5 Interrupciones externas (2 Power Drive Protect, Reset y 2 Maskable Interrupts)
4 Modos de apagado y de consumo en baja potencia
Emulacin Scan-Based para usar JTAG
Programa de Arranque por medios seriales o memorias
Interfase de memoria externa con 256KWords de memoria esttica
3 Timers de 32 bits para definicin de tiempos de ciclo
Programa de emulacin Colcacode V1.5

Capacitacin

Varitek tiene un programa de capacitacin mensual donde se ensea el manejo de


procesadores digitales de seales, los horarios se pueden encontrar en la pgina web de
Varitek http://www.varitek.us, organizamos cursos para empresas, instituciones y
universidades.

Los cursos dictados en Varitek son orientados al procesamiento digital de seales y al control
digital, teniendo como objetivo la enseanza de las tcnicas de programacin en lenguaje
ensamblador y Ansi C, as como el uso de las herramientas y perifricos de las tarjetas de
desarrollo.

Mdulo de desarrollo Varitek


Especificaciones Tcnicas
150 MIPS de performance
El procesador TMS320F2812 es un DSP con una potencia de procesamiento de 150 MIPS,
con ncleo de la familia 2800 de Texas Instruments, tiene como caracterstica una gran
facilidad para el procesamiento de seales y es usado en la industria para el control de
dispositivos perifricos, como motores de induccin trifsicos, monofsicos, adquisicin de
datos, sistemas de seguridad, entre otros.
CPU de 32 bits con juego de instrucciones RISC, unidad de multiplicacin MAC de 32x32,
operaciones atmicas, bus con arquitectura Hardvard, Modelo de programacin de memoria
unificada, cdigo eficiente para C++ y ANSI C y buscador de direcciones de programas y
datos lineal de 4M.

Memoria interna
- Flash Devices: 128K x 16 Flash (Cuatro Sectores de 8K x 16 y seis de 16K x 16)
- ROM Devices: Up to 128K x 16 ROM
- 1K x 16 OTP ROM memoria programable una sola vez
- L0 and L1: 2 Bloques de 4K x 16 cada uno. Memoria de simple acceso (SARAM)
- H0: 1 Bloque de 8K x 16 SARAM
- M0 and M1: 2 Bloques de 1K x 16 cada uno

256Kw programa y/o data RAM Memoria Externa


Memoria externa al DSP para la implementacin de nuevos programas y datos

12 Canales de PWM. Pulse-Width Modulation


Dos manejadores de eventos para 6 canales PWM cada uno, utilizados en el manejo de llaves
MOSFETS o IGBTs en motores industrials

4 Timers de Propsito general con 4 modos de trabajo


Relojes de 16 bits que pueden llegar a una frecuencia de 20MHz

3 Unidades de comparacin completa con deadtime


Compara los relojes con un valor de 16 bits y dispara una seal por sus pines o una
interrupcin.

6 Unidades de Captura con cuadratura para 2 encoders


Capturan seales desde sus pines externos con polaridad programable, tambin 4 de ellos
pueden ser usados para la lectura de dos encoders, para el sensado de posicin de ejes de 2
motores o servomecanismos y su utilizacin en telemetra.

1 Mdulo de Conversin Analgico Digital de 16 canales cada uno, total 16ch, hasta
12.5MSPS
Trabajo en modalidad doble o de cascada, a 12 bits, dando un total de 16 canales de
conversin analgico digital, a un tiempo de restablecimiento de 80ns, los convertidores
pueden ser usados para adquisicin de datos, voces, lecturas de sensores analgicos y otros.

49 pines de entradas y salidas I/O Programables


Para el encendido y apagado de interruptores, captura de encendido y apagado.

Unidad de tiempo de interrupcin en tiempo real


El DSP tiene una unidad de captura verstil, para el manejo de interrupciones de hardware y
de software, por ubicacin de programa en su tabla de interrupcin.
Unidad de Comunicacin Serial asncrona (SCI)
Para la comunicacin con un MODEM, comunicacin con una PC u otros DSPs.

Unidad de Comunicacin Serial sncrona (SPI)


Diversos perifricos como memorias flash, pantallas LCDs, EEproms pueden ser manejadas
con este tipo de comunicacin sncrona.

5 Interrupciones externas INT12, Reset, PDPs


Interrupciones externas XINT1, XINT2, pin de Reset, pines de deteccin de falla de power
PDPA y PDPB, adems de un detector de instrucciones no legales como NMI.

Flash externo de 4Mbits


Memoria externa que se comunica con el DSP utilizando su puerto SPI.
MAPA DE MEMORIAS

Las memorias de programa y de datos cuentan con una memoria externa de 64KW, la
mitad es asignada a la memoria externa de programas (rango 8800h-FDFFh), y la otra
mitad a la memoria de Datos (rango 8000h-FFFFh), no hay memoria de I/O asignada.

En el programa Code Varitek V1.5. Ud. puede visualizar los rangos de memoria con la
opcin: View->Memory, indicando la direccin que se desea visualizar y el formato
numrico. Estando en la ventana de visualizacin de memoria puede modificar
cualquier posicin haciendo doble clic sobre el dato que quiere cambiar, aparecer la
opcin de editar la memoria, ah podr cambiar el valor del dato.

Figura Especificaciones Tcnicas.1 Mapa de Memorias

Tambin es posible llenar un rango de memorias con la opcin: Edit->Memory->Fill


tambin puede copiar un rango de datos de memoria a memoria con la opcin:
Edit->Memory->Copy.
CONEXIN DE PINES Y CABLEADO

El puerto serial para la conexin con la consola de la PC es a travs de un cable de


conexin normal DB9 hembra-hembra, en la figura se aprecia el conector F09.

La fuente de poder debe estar en el rango 6.0V 9.0V, debe contar con un bajo nivel
de ripple +-3%, internamente este voltaje es nuevamente filtrado y nivelado a
tensiones de +1.9V y 3.3V.

La interfase de conexin de pines esta compuesta por 4 JPs de 40 pines cada uno,
nombrados J1-J4, los cuales se encuentran alrededor del DSP. Tambin se tiene un
juego de 4 jumpers para la definicin del estado de carga Boot B0-B3. Uno ms para
la definicin del tipo de multiplicacin del PLL, otro para desconectar la lnea de
Reset desde la PC, y dos ms para la habilitacin del chip de puerto serial EN y SD.

Figura Especificaciones Tcnicas.2 Conexiones de Pines


Jumpers para operacin Normal

Para la operacin normal debe haber un jumper en Reset, un jumper en MC a 0 (cero),


otro jumper en EN y un jumper en el PLL con valor 1 (uno). El jumper SHDWN no
debe ser colocado pues pone al puerto serial en alta impedancia. Los jumpers en el
modo de arranque se explican en el siguiente acpite, cuando se quiere utilizar el
Colca Code se recomienda tener todo los jumpers a 1 (uno), excepto el jumper B2 que
se debe poner a 0 (cero), esto arranca el DSP con un salto a la flash 0x3f7ff6 donde
comienza el Colca Code.

Jumpers para el Boot Arranque

Para el arranque los Pines B0-B3 tiene la siguiente conexin:


B3 B2 B1 BO DESCRIPCIN DE ARRANQUE
SCI_TX MDXA SPISTE SPICLK
1 X X X Salto a flash 0x3f7ff6
0 1 X X Llamado a la rutina de arranque SPI
0 0 1 1 Llamado a la rutina de arranque SCI
0 0 1 0 Salto a HO Sram 0x3f8000
0 0 0 1 Salto a OTP 0x3d7800
0 0 0 0 Llamado a la rutina de arranque
Paralelo desde GPIO puerto B
Tabla Especificaciones Tcnicas.1 Combinacin de jumpers para el Arranque

Leds

1.- Led de Power PWRON color verde, se enciende con el adaptador conectado
2.- Led de Reset RS color ambar, en el arranque comienza encendido y se apaga en
cada reset.
3.- Led de Bandera externa XF, se prende o se apaga por software, se inicia
encendido.
CONFIGURACION DE PINES JP1-JP4

Figura Especificaciones Tcnicas.3 Pines del conector JP1

Figura Especificaciones Tcnicas.4 Pines del conector JP2


Figura Especificaciones Tcnicas.5 Pines del conector JP3

Figura Especificaciones Tcnicas.6 Pines del conector JP4


PROGRAMAS NECESARIOS PARA LA COMPILACIN

Se recomienda revisar la gua de laboratorio GuiaLab2812.doc

En la carpeta ejemplos se pueden encontrar proyectos completos, sin embargo se


requiere de experiencia para el armado de un proyecto nuevo, para ello se debe de
contar con los siguientes archivos bsicos:

Miprograma.C (El programa en C, pueden ser varios)


Miotroprograma.ASM (Otro programa en Assembler, pueden ser varios)
MisMemorias.CMD (Configuracin de la memoria de la tarjeta)
Registros.H (Diccionarios de direcciones vs Etiquetas para C)
RTS2812.LIB (Librera ubicada en las carpetas del compilador)

Despus de crear un proyecto con Project->New se deben agregar los archivos


propuestos, verificar su sintaxis y luego ejecutar los comandos de Compilacin
(Compile) y Construccin (Incremental Build). El archivo de salida es de tipo
Miprograma.Out, se encuentra dentro de la misma carpeta de trabajo donde se hace la
compilacin, luego puedo leer el archivo en el Code Varitek en formato .out

La salida del compilador es un programa de extensin miprograma.OUT, y el Colca


Code de Varitek lee archivos con extensin miprograma.OUT. Texas Instruments
brinda programas de simulacin y compilacin trial de 120 das de duracin que
pueden ser utilizados para hacer programas de pruebas, o se puede comprar una
licencia de software en www.ti.com .

COMPILACION MANUAL

En algunos casos cuando no se utiliza el compilador en ventanas Windows, se puede


abrir una sesin en DOS y ejecutar los comandos manualmente:

Compilacin, ensamblaje y linkeo Tipico

dspcl -al -s -k -v2xx filtro.c -ic:\compilador\include


dspa -l -k -v2xx filtro.asm
dsplnk filtro.cmd
Luego:
coff-dsk filtro.out como entrada y filtro.dsk como salida

Compilacin, ensamblaje y linkeo con absolute lister

dspcl -al -s -k -v2xx filtro.c -ic:\compilador\include


dspa -l -k -v2xx filtro.asm
dsplnk filtro.cmd
dspabs filtro.out
dspa a v2xx filtro.abs
Luego:
coff-dsk filtro.out como entrada y filtro.dsk como salida
VERIFICAR ARCHIVO filtro.CMD

El programa normalmente empieza en la posicin de memoria de progrma 8000H


pero hay que tener en cuenta que la posicin del programa de arranque _c_int0 se
obtiene del archive filtro.MAP, de modo que en el Colca Code de Varitek se debe de
cambiar la direccin PC para arranque bien el programa, con
View->CPURegisters->PC.

filtro.MAP
OUTPUT FILE NAME: <filtro.out>
ENTRY POINT SYMBOL: "_c_int0" address: 000041a9

0000901c _a 000044d2 F$$GT


00004360 _atexit 000044d5 F$$FTOI
00009004 _b 00004516 F$$NEG
000041a9 _c_int0 0000451e cinit
00004332 _exit 0000451e etext
00004284 _f$$error 00008000 .data
00009001 _i 00008000 edata
00009000 _k 00009000 .bss
00004000 _main 00009000 _k
00009002 _pi 00009001 _i
00004382 _sin 00009002 _pi
00009804 _x 00009004 _b
00009034 _y 0000901c _a
Mismemorias.CMD

MEMORY
{
PAGE 0 :
/* For this example, H0 is split between PAGE 0 and PAGE 1 */
/* BEGIN is used for the "boot to HO" bootloader mode */
/* RESET is loaded with the reset vector only if */
/* the boot is from XINTF Zone 7. Otherwise reset vector */
/* is fetched from boot ROM. See .reset section below */
PARCIAL : origin = 0x11C000, length = 0x02000 /* XINTF zone 6
MEMORIA EXTERNA 1MB o 512KW*/
PARCIAL2 : origin = 0x11E000, length = 0x02000 /* XINTF zone 6
MEMORIA EXTERNA 1MB o 512KW*/

RAMM0 : origin = 0x000000, length = 0x000400


ZONE0 : origin = 0x002000, length = 0x002000 /* XINTF zone 0 */
ZONE1 : origin = 0x004000, length = 0x002000 /* XINTF zone 1 */
L0RAM : origin = 0x008000, length = 0x001000
/*ZONE2 : origin = 0x080000, length = 0x080000*/ /* XINTF zone 2 */
OTP : origin = 0x3D7800, length = 0x000800 /* on-chip OTP */
FLASHJ (X) : origin = 0x3D8000, length = 0x002000 /* on-chip FLASH */
FLASHI (X) : origin = 0x3DA000, length = 0x002000 /* on-chip FLASH */
FLASHH : origin = 0x3DC000, length = 0x004000 /* on-chip FLASH */
FLASHG : origin = 0x3E0000, length = 0x004000 /* on-chip FLASH */
FLASHF : origin = 0x3E4000, length = 0x004000 /* on-chip FLASH */
FLASHE : origin = 0x3E8000, length = 0x004000 /* on-chip FLASH */
FLASHD : origin = 0x3EC000, length = 0x004000 /* on-chip FLASH */
FLASHC : origin = 0x3F0000, length = 0x004000 /* on-chip FLASH */
FLASHA : origin = 0x3F6000, length = 0x001FF6 /* on-chip FLASH */
BEGINFLASHA : origin = 0x3F7FF6, length = 0x000002 /* Part of FLASHA.
Used for "boot to Flash" bootloader mode. */
/* ZONE7 : origin = 0x3FC000, length = 0x003FC0 /* XINTF zone 7 available
if MP/MCn=1 */

BEGIN : origin = 0x3F8000, length = 0x000002


PRAMH0 : origin = 0x3F8002, length = 0x001FFE
BOOTROM : origin = 0x3FF000, length = 0x000FC0
RESET : origin = 0x3FFFC0, length = 0x000002
VECTORS : origin = 0x3FFFC2, length = 0x00003E /* part of boot ROM
(MP/MCn=0) or XINTF zone 7 (MP/MCn=1) */

PAGE 1 :

/* For this example, H0 is split between PAGE 0 and PAGE 1 */

RAMM1 : origin = 0x000400, length = 0x000400


L1RAM : origin = 0x009000, length = 0x001000
ZONE6SEC00 : origin = 0x100000, length = 0x02000 /* XINTF zone 6
MEMORIA EXTERNA 1MB o 512KW*/
ZONE6SEC01 : origin = 0x102000, length = 0x02000 /* XINTF zone 6
MEMORIA EXTERNA 1MB o 512KW*/
ZONE6SEC02 : origin = 0x104000, length = 0x02000 /* XINTF zone 6
MEMORIA EXTERNA 1MB o 512KW*/
ZONE6SEC03 : origin = 0x106000, length = 0x02000 /* XINTF zone 6
MEMORIA EXTERNA 1MB o 512KW*/
ZONE6SEC04 : origin = 0x118000, length = 0x02000 /* XINTF zone 6
MEMORIA EXTERNA 1MB o 512KW*/
ZONE6SEC05 : origin = 0x11A000, length = 0x02000 /* XINTF zone 6
MEMORIA EXTERNA 1MB o 512KW*/
ZONE6SEC08 : origin = 0x120000, length = 0x20000 /* XINTF zone 6
MEMORIA EXTERNA 1MB o 512KW*/
FLASHB : origin = 0x3F4000, length = 0x002000 /* on-chip FLASH */
/*DRAMH0 : origin = 0x3F9500, length = 0x000B00 */

SECTIONS
{
/* Setup for "boot to H0" mode:
The codestart section (found in DSP28_CodeStartBranch.asm)
re-directs execution to the start of user code.
Place this section at the start of H0 */

codestart : > BEGIN, PAGE = 0


ramfuncs : > PRAMH0, { rts2800_ml.lib (.text)
Bitmap.obj (.text)
palmaSD.obj
(.text)
printing.obj
(.text)} , PAGE = 0
/*ramfuncs : > PRAMH0, PAGE = 0 */
/*.text : > (X) , PAGE = 0 */
/*.text : load = (X) type = NOLOAD, PAGE = 0 */
.text : > PARCIAL, PAGE = 0
.cinit : > L0RAM, PAGE = 0
.pinit : > PRAMH0, PAGE = 0
.switch : > RAMM0, PAGE = 0 /*no usar RAMM0 para que no se
cruce con Colcacode*/
.reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */
.sysmem : > ZONE6SEC08, PAGE = 1
.stack : > RAMM1, PAGE = 1
.cio : > RAMM1, PAGE = 1
.ebss : > L1RAM, PAGE = 1
.econst : > ZONE6SEC04, PAGE = 1
.esysmem : > L1RAM, PAGE = 1
DLOG :> L1RAM, PAGE = 1
/*==========================================================*/
/* Tables for IQ math functions: */

/*==========================================================*/
/* For K1 device (no tables in boot ROM), use this: */
/*
IQmathTables : load = BOOTROM, PAGE = 0
*/
/* For F2810/12 devices (with tables in Boot ROM) use this: */

IQmathTables : load = BOOTROM, type = NOLOAD, PAGE = 0

/*==========================================================*/
/* IQ math functions: */

/*==========================================================*/
IQmath : load = L0RAM, PAGE = 0
Datos0 : > ZONE6SEC00, PAGE=1
Datos1 : > ZONE6SEC01, PAGE=1
Datos2 : > ZONE6SEC02, PAGE=1
Datos3 : > ZONE6SEC03, PAGE=1
Datos5 : > ZONE6SEC05, PAGE=1
fatseccion : > PARCIAL2, PAGE=0
}

S-ar putea să vă placă și