dsPICdsPIC33FJ256GP506 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 up to 256 Kbytes • Data SRAM.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: .Indirect.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 30 Kbytes (includes 2 Kbytes of DMA RAM): 3 . 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: .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: .Accumulator write back for DSP operations . 16-bit capture input functions .Can pair up to make four 32-bit timers . resonator.Conversion start can be manual or synchronized with 1 of 4 trigger sources .Capture on up.±2 LSb max integral nonlinearity .1 timer runs as Real-Time Clock with external 32. 500 Ksps conversion: .Conversion possible in Sleep mode .Programmable prescaler • Input Capture (up to 8 channels): .2.External.Single or Dual 16-Bit Compare mode . down or both edges .768 kHz oscillator .16-bit Glitchless PWM mode 4 .1 Msps or 12-bit.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.Fully integrated PLL .±1 LSb max differential nonlinearity System Management: • Flexible clock options: . crystal. 4 or 8 simultaneous samples .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.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 32 input channels with auto-scanning .0V to 3. internal RC .4-deep FIFO on each capture • Output Compare (up to 8 channels): . 1. up to nine 16-bit timers: . Diagrama Geral de Blocos 5 . Diagrama de Pinos 6 . Descrição de Pinos 7 . Espaço de dados endereçado como 32K words ou 64Kbytes divididos em 2 blocos.Possui 2Kbytes de RAM de DMA. permitindo que qualquer instrução acesse o programa como dado. ler um registrador de trabalho (dado). Palavra de códigos de instrução de até 24 bits. PC – (Program Counter) de 23 bits. escrever um dado na memoria e ler uma instrução na memoria de programa por ciclo de instrução. Cada bloco tem uma unidade geradora de endereços (AGU). Tem 16 registradores de trabalho W. . endereços ou compensador de registro. MCU opera em X e o DSP opera em X e Y. 8 . usado para transferência de dados DMA.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. . Cada um pode ser utilizado para dados. com exceção das instruções que alteram o fluxo do programa. de bits. . Possui 2 classes de instruções : MCU e DSP É capaz de executar a leitura de memória (dado).CPU Características: - - Arquitetura harvard modificada. X e Y. ou de mover palavras duplas Double Word (MOV.D) e as instruções de acesso a tabela.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. Instruções executadas em um ciclo. endereça até 4Mx24bits de programa. CPU 9 . 10 . 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. negativo – esquerda e 0 . • Saturation logic com modos selecionáveis • Entrada de dados : • Direta da matriz W (registos W4. • Do barramento da memoria de dados X para todas as outras instruções de DSP. • Saída de dados: •O acumulador de destino. selecionável positivo – direita. •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. todos os operando do Efetivo Operando(EAs) são gerados na matriz de registo W. 11 . provenientes de X e Y. • Rounding logic com modos selecionáveis – convencional e convergente. a ALU e os recursos DSP podem ser compartilhados por todas as instruções do conjunto de instruções.Mecanismo DSP O mecanismo DSP é um bloco de hardware que é alimentado com dados da matriz de registo de W. É orientado a partir do mesmo decodificador de instrução que direciona o MCU e a ALU. 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. • Barrel shifter. Além disso. W6 ou W7) para instruções de DSP operando fonte dual. embora tanto o MCU. • 2 registradores / acumuladores de resposta A e B de 40bits.não modifica o operando. W5. conforme definido pela instrução DSP sendo executada. O mecanismo DSP consiste de: • alta-velocidade multiplicador de 17-bit por 17-bit. • 40-bit somador /subtrator. Mecanismo DSP 12 . Mapa de Memória de dados 30KB RAM 13 . que suporta o uso intensivo de matemática aplicações. que suporta tradicional aplicações do microcontrolador MCU e uma classe de instruções DSP. O conjunto de instruções dsPIC33F contém 84 instruções.Instruções DSP O conjunto de instruções dsPIC33F fornece um amplo conjunto de instruções. que podem ser agrupadas em dez categorias funcionais 14 . Exemplo de Instruções DSP 15 . Round Logic – (Lógica redonda) 16 .Byte Swap .Buffer Circular / Modulo Adressing .MAC .Determinismo .Gerador de Endereços .Características DSP .Bite re-order – Reversed Addressing .Memorias Separadas .Loop por Hardware . MAC 17 .Características DSP . Buffer Circular / Modulo Adressing 18 .Características DSP . Características DSP .Gerador de Endereços 19 . Características DSP .Byte Swap 20 . W0 é o ponteiro de endereço de leitura e W1 o ponteiro de escrita com a modificação de bit-reverso.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 . 21 . Características DSP .Determinismo 22 . Loop por Hardware 23 .Características DSP . Características DSP . operam através do RAGU de X. 24 . operam através da AGU Y. 2 ponteiros de registro W10 e W11.Memorias Separadas - 2 ponteiros de registo W8 e W9. Round Logic – (Lógica redonda) 25 .Características DSP . Características DSP .Outros 26 .