You are on page 1of 26

dsPIC

dsPIC33FJ256GP506

PROCESSAMENTO DIGITAL DE SINAIS I

Objetivo
Conhecer e identificar as características de hardware
que fazem o processador escolhido ser chamado de DSP.
Modelo escolhido:

High-Performance, 16-bit Digital Signal Controllers

dsPIC33FJ256GP506
2

Principais Características High-Performance DSC CPU: • Modified Harvard architecture • C compiler optimized instruction set • 16-bit wide data path • 24-bit wide instructions • Linear program memory addressing up to 4M instruction words • Linear data memory addressing up to 64 Kbytes • 83 base instructions: mostly 1 word/1 cycle • Sixteen 16-bit General Purpose Registers • Two 40-bit accumulators: .Dual data fetch • Up to ±16-bit shifts for up to 40-bit data Direct Memory Access (DMA): • 8-channel hardware DMA: • 2 Kbytes dual ported DMA buffer area (DMA RAM) to store data transferred via DMA: .With rounding and saturation options • Flexible and powerful addressing modes: . up to 30 Kbytes (includes 2 Kbytes of DMA RAM): 3 . up to 256 Kbytes • Data SRAM. Modulo and Bit-Reversed • Software stack • 16 x 16 fractional/integer multiply operations • 32/16 and 16/16 divide operations • Single-cycle multiply and accumulate: .Allows data transfer between RAM and a peripheral while CPU is executing code (no cycle stealing) • Most peripherals support DMA Interrupt Controller: • 5-cycle latency • 118 interrupt vectors • Up to 67 available interrupt sources • Up to 5 external interrupts • 7 programmable priority levels • 5 processor exceptions On-Chip Flash and SRAM: • Flash program memory.Accumulator write back for DSP operations .Indirect.

4-deep FIFO on each capture • Output Compare (up to 8 channels): . crystal.16-bit Glitchless PWM mode 4 . 1.Up to 32 input channels with auto-scanning .Conversion start can be manual or synchronized with 1 of 4 trigger sources .16-bit capture input functions .6V • All digital input pins are 5V tolerant • 4 mA sink on all I/O pins Analog-to-Digital Converters (ADCs): • Up to two ADC modules in a device • 10-bit.2. up to nine 16-bit timers: .Principais Características Interrupt Controller: • 5-cycle latency • 118 interrupt vectors • Up to 67 available interrupt sources • Up to 5 external interrupts • 7 programmable priority levels • 5 processor exceptions Digital I/O: • Up to 85 programmable digital I/O pins • Wake-up/Interrupt-on-Change on up to 24 pins • Output pins can drive from 3. resonator. 500 Ksps conversion: . 4 or 8 simultaneous samples .Single or Dual 16-Bit Compare mode .Conversion possible in Sleep mode .0V to 3.Can pair up to make four 32-bit timers .Capture on up. internal RC .Fully integrated PLL . down or both edges .1 Msps or 12-bit.768 kHz oscillator .1 timer runs as Real-Time Clock with external 32.±1 LSb max differential nonlinearity System Management: • Flexible clock options: .Extremely low jitter PLL • Power-up Timer • Oscillator Start-up Timer/Stabilizer • Watchdog Timer with its own RC oscillator • Fail-Safe Clock Monitor • Reset by multiple sources Timers/Capture/Compare/PWM: • Timer/Counters.Programmable prescaler • Input Capture (up to 8 channels): .±2 LSb max integral nonlinearity .External.

Diagrama Geral de Blocos 5 .

Diagrama de Pinos 6 .

Descrição de Pinos 7 .

ou de mover palavras duplas Double Word (MOV.CPU Características: - - Arquitetura harvard modificada. de bits. Instruções executadas em um ciclo. . X e Y. MCU opera em X e o DSP opera em X e Y. Possui 2 classes de instruções : MCU e DSP É capaz de executar a leitura de memória (dado). Tem 16 registradores de trabalho W.Possui 2Kbytes de RAM de DMA. Cada um pode ser utilizado para dados. escrever um dado na memoria e ler uma instrução na memoria de programa por ciclo de instrução. . permitindo que qualquer instrução acesse o programa como dado.O AGU X suporta o endereçamento Bit-Reversed que simplifica a entrada ou de saída de dados reordenando para radix-2 algoritmos FFT.A parte superior dos 32 Kbytes da memória de dados pode ser mapeado como memoria de programa (16K de programa) e é acessado pelo registrador de Espaço de Programa de Visibilidade de Página – PSVPAG. Palavra de códigos de instrução de até 24 bits. endereça até 4Mx24bits de programa. ler um registrador de trabalho (dado). com exceção das instruções que alteram o fluxo do programa. . usado para transferência de dados DMA. 8 . endereços ou compensador de registro. Cada bloco tem uma unidade geradora de endereços (AGU). Espaço de dados endereçado como 32K words ou 64Kbytes divididos em 2 blocos. PC – (Program Counter) de 23 bits.D) e as instruções de acesso a tabela.

CPU 9 .

usando as instruções.Modelo do Programador Todos os registradores no modelo do programador são posições de memória mapeada e podem ser manipulados diretamente. 10 .

11 . • 40-bit somador /subtrator. • Saída de dados: •O acumulador de destino. provenientes de X e Y. selecionável positivo – direita.Mecanismo DSP O mecanismo DSP é um bloco de hardware que é alimentado com dados da matriz de registo de W. todos os operando do Efetivo Operando(EAs) são gerados na matriz de registo W. conforme definido pela instrução DSP sendo executada. embora tanto o MCU. É orientado a partir do mesmo decodificador de instrução que direciona o MCU e a ALU. • 2 registradores / acumuladores de resposta A e B de 40bits. •O endereço de memória de dados X para qualquer outro espaço de localização de endereço de memória de dados. • Barrel shifter. • Do barramento da memoria de dados X para todas as outras instruções de DSP. a ALU e os recursos DSP podem ser compartilhados por todas as instruções do conjunto de instruções. O mecanismo DSP consiste de: • alta-velocidade multiplicador de 17-bit por 17-bit. W5. Operações simultâneas com o fluxo de instrução do MCU não são possíveis. mas contém seus próprios registradores para o resultado. Além disso. • Saturation logic com modos selecionáveis • Entrada de dados : • Direta da matriz W (registos W4.não modifica o operando. • Rounding logic com modos selecionáveis – convencional e convergente. W6 ou W7) para instruções de DSP operando fonte dual. negativo – esquerda e 0 .

Mecanismo DSP 12 .

Mapa de Memória de dados 30KB RAM 13 .

que podem ser agrupadas em dez categorias funcionais 14 .Instruções DSP O conjunto de instruções dsPIC33F fornece um amplo conjunto de instruções. que suporta tradicional aplicações do microcontrolador MCU e uma classe de instruções DSP. que suporta o uso intensivo de matemática aplicações. O conjunto de instruções dsPIC33F contém 84 instruções.

Exemplo de Instruções DSP 15 .

Características DSP .Determinismo .Bite re-order – Reversed Addressing .Gerador de Endereços .Memorias Separadas .MAC .Round Logic – (Lógica redonda) 16 .Loop por Hardware .Byte Swap .Buffer Circular / Modulo Adressing .

Características DSP .MAC 17 .

Buffer Circular / Modulo Adressing 18 .Características DSP .

Características DSP .Gerador de Endereços 19 .

Byte Swap 20 .Características DSP .

21 .Bite re-order – Reversed Addressing O exemplo de código a seguir lê uma série de 16 palavras de dados e grava os dados para um novo local em ordem invertida bit.Características DSP . W0 é o ponteiro de endereço de leitura e W1 o ponteiro de escrita com a modificação de bit-reverso.

Características DSP .Determinismo 22 .

Loop por Hardware 23 .Características DSP .

24 . operam através da AGU Y.Características DSP .Memorias Separadas - 2 ponteiros de registo W8 e W9. 2 ponteiros de registro W10 e W11. operam através do RAGU de X.

Características DSP .Round Logic – (Lógica redonda) 25 .

Outros 26 .Características DSP .