You are on page 1of 26

dsPIC

dsPIC33FJ256GP506

PROCESSAMENTO DIGITAL DE SINAIS I

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

High-Performance, 16-bit Digital Signal Controllers

dsPIC33FJ256GP506
2

Principais Caractersticas
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: - With rounding and saturation options Flexible and powerful addressing modes: - Indirect, 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: - Accumulator write back for DSP operations - 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: - 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, up to 256 Kbytes Data SRAM, up to 30 Kbytes (includes 2 Kbytes of DMA RAM):

Principais Caractersticas
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.0V to 3.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, 1.1 Msps or 12-bit, 500 Ksps conversion: - 2, 4 or 8 simultaneous samples - Up to 32 input channels with auto-scanning - Conversion start can be manual or synchronized with 1 of 4 trigger sources - Conversion possible in Sleep mode - 2 LSb max integral nonlinearity - 1 LSb max differential nonlinearity System Management: Flexible clock options: - External, crystal, resonator, internal RC - Fully integrated PLL - 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, up to nine 16-bit timers: - Can pair up to make four 32-bit timers - 1 timer runs as Real-Time Clock with external 32.768 kHz oscillator - Programmable prescaler Input Capture (up to 8 channels): - Capture on up, down or both edges - 16-bit capture input functions - 4-deep FIFO on each capture Output Compare (up to 8 channels): - Single or Dual 16-Bit Compare mode - 16-bit Glitchless PWM mode
4

Diagrama Geral de Blocos

Diagrama de Pinos

Descrio de Pinos

CPU
Caractersticas: -

Arquitetura harvard modificada. Palavra de cdigos de instruo de at 24 bits. PC (Program Counter) de 23 bits, enderea at 4Mx24bits de programa. Instrues executadas em um ciclo, com exceo das instrues que alteram o fluxo do programa, ou de mover palavras duplas Double Word (MOV.D) e as instrues de acesso a tabela. Tem 16 registradores de trabalho W. Cada um pode ser utilizado para dados, endereos ou compensador de registro. Possui 2 classes de instrues : MCU e DSP capaz de executar a leitura de memria (dado), ler um registrador de trabalho (dado), escrever um dado na memoria e ler uma instruo na memoria de programa por ciclo de instruo. Espao de dados endereado como 32K words ou 64Kbytes divididos em 2 blocos. X e Y. Cada bloco tem uma unidade geradora de endereos (AGU). MCU opera em X e o DSP opera em X e Y.

- O AGU X suporta o endereamento Bit-Reversed que simplifica a entrada ou de sada de dados reordenando para radix-2 algoritmos FFT. - A parte superior dos 32 Kbytes da memria de dados pode ser mapeado como memoria de programa (16K de programa) e acessado pelo registrador de Espao de Programa de Visibilidade de Pgina PSVPAG, de bits, permitindo que qualquer instruo acesse o programa como dado. - Possui 2Kbytes de RAM de DMA, usado para transferncia de dados DMA.
8

CPU

Modelo do Programador
Todos os registradores no modelo do programador so posies de memria mapeada e podem ser manipulados diretamente, usando as instrues.

10

Mecanismo DSP
O mecanismo DSP um bloco de hardware que alimentado com dados da matriz de registo de W, mas contm seus prprios registradores para o resultado. orientado a partir do mesmo decodificador de instruo que direciona o MCU e a ALU. Alm disso, todos os operando do Efetivo Operando(EAs) so gerados na matriz de registo W. Operaes simultneas com o fluxo de instruo do MCU no so possveis, embora tanto o MCU, a ALU e os recursos DSP podem ser compartilhados por todas as instrues do conjunto de instrues. O mecanismo DSP consiste de: alta-velocidade multiplicador de 17-bit por 17-bit. Barrel shifter, selecionvel positivo direita, negativo esquerda e 0 - no modifica o operando. 40-bit somador /subtrator. 2 registradores / acumuladores de resposta A e B de 40bits. Rounding logic com modos selecionveis convencional e convergente. Saturation logic com modos selecionveis Entrada de dados : Direta da matriz W (registos W4, W5, W6 ou W7) para instrues de DSP operando fonte dual, provenientes de X e Y. Do barramento da memoria de dados X para todas as outras instrues de DSP. Sada de dados: O acumulador de destino, conforme definido pela instruo DSP sendo executada. O endereo de memria de dados X para qualquer outro espao de localizao de endereo de memria de dados. 11

Mecanismo DSP

12

Mapa de Memria de dados 30KB RAM

13

Instrues DSP
O conjunto de instrues dsPIC33F fornece um amplo conjunto de instrues, que suporta tradicional aplicaes do microcontrolador MCU e uma classe de instrues DSP, que suporta o uso intensivo de matemtica aplicaes. O conjunto de instrues dsPIC33F contm 84 instrues, que podem ser agrupadas em dez categorias funcionais

14

Exemplo de Instrues DSP

15

Caractersticas DSP
- MAC

- Buffer Circular / Modulo Adressing


- Gerador de Endereos - Byte Swap - Bite re-order Reversed Addressing - Determinismo - Loop por Hardware - Memorias Separadas

- Round Logic (Lgica redonda)

16

Caractersticas DSP
- MAC

17

Caractersticas DSP
- Buffer Circular / Modulo Adressing

18

Caractersticas DSP
- Gerador de Endereos

19

Caractersticas DSP
- Byte Swap

20

Caractersticas DSP
- Bite re-order Reversed Addressing

O exemplo de cdigo a seguir l uma srie de 16 palavras de dados e grava os dados para um novo local em ordem invertida bit. W0 o ponteiro de endereo de leitura e W1 o ponteiro de escrita com a modificao de bit-reverso.

21

Caractersticas DSP
- Determinismo

22

Caractersticas DSP
- Loop por Hardware

23

Caractersticas DSP
- Memorias Separadas
-

2 ponteiros de registo W8 e W9, operam atravs do RAGU de X. 2 ponteiros de registro W10 e W11, operam atravs da AGU Y.

24

Caractersticas DSP
- Round Logic (Lgica redonda)

25

Caractersticas DSP
- Outros

26

You might also like