230 likes | 341 Views
DSP – TMS320LF2407A. Memórias do TMS320LF2407A. 64 kwords para programa; 64 kwords para dados; 64 kwords para dispositivos de I/O; Microprocessador/Microcontrolador (MC/MP): 0 programa é executado da FLASH interna; 1 programa é executado da memória externa.
E N D
Memórias do TMS320LF2407A • 64 kwords para programa; • 64 kwords para dados; • 64 kwords para dispositivos de I/O; • Microprocessador/Microcontrolador (MC/MP): • 0 programa é executado da FLASH interna; • 1 programa é executado da memória externa.
Memória - Arquitetura Interna PAB (Program Address Bus) – Endereço de programa; DRAB (Data-read Address Bus) – Endereço para leitura de dados; DWAB (Data-write Address Bus) – Endereço para escrita de dados; PRDB (Program Read Bus) – Contém instrução/operando da memória de programa; DRDB (Data-read Bus) – Contém dados da memória de dados para a CALU e ARAU; DWEB (Data-write Bus) – Contém dados para memória de programa (RAM) e de dados.
Memória de Programa • Bit CNF – bit 12 do registrador de status ST1. Determina onde a área de memória DARAM B0 estará alocada: • CNF = 0 – 256 words são alocados na memória externa e DARAM B0 é mapeado como memória de dados. Após o reset, CNF = 0; • CNF = 1 – 256 words da área DARAM B0 são utilizados como memória de programa. • Pino MP/MC – pino que determina onde o programa está alocado (memória interna ou memória externa): • o DSP é configurado no modo microcontrolador e a memória interna FLASH/ROM é utilizada como memória de programa. O DSP busca o vetor de reset na memória interna. Os acessos aos endereços de programa de 0000H a 7FFFH são feitos na memória interna; • o DSP é configurado no modo microprocessador e a memória externa é utilizada como memória de programa. O DSP busca o vetor de reset na memória externa. Os acessos aos endereços de programa de 0000H a 7FFFH são feitos na memória externa.
Memória de Dados • 64 kwords: • 32 kwords (0000H até 7FFFH) na memória interna. Inclui os registradores mapeados em memória, DARAM e os registradores de periféricos; • 32 kwords (8000H até FFFFH) na memória externa. • DARAM é composta por 3 blocos: B0, B1 e B2. • B0 – configurado como memória de dados ou memória de programa, dependendo do bit CNF; • B1 e B2 – somente memória de dados.
Memória de Dados • Modo de endereçamento direto – a memória é acessada em páginas de 128 endereços. A memória é composta por 512 páginas de 128 words. O número da página é indicado no ponteiro de página de dados (DP) no registrador de status ST0; • Modo de endereçamento indireto – o endereço da memória de dados é colocado em um dos 8 registradores auxiliares (AR) e o registrador auxiliar atual é indicado no campo ARP (Auxiliar Register Pointer) do registrador de status ST0; • Algumas áreas da memória de dados têm acesso considerado ilegal. O acesso gerará uma interrupção NMI (interrupção não-mascarada).
Memória de I/O • A memória de dispositivos de I/O possui 64 kwords que são acessadas através das instruções IN (leitura) e OUT (escrita).
Geração de Wait-State • São utilizados em DSPs que fazem interface com memórias mais lentas; • O DSP “espera” que a memória execute a operação (leitura ou escrita); • Há duas opções de Wait-States: • Pino READY (entrada) – o DSP espera até que o sinal no pino READY seja 1; • Interno – podem ser gerados até 8 estados de espera.
WSGR – Registrador de Controle de Wait-State • Ocupa o endereço FFFFH da memória de I/O.
Reset • O reset no TMS320LF2407A pode se causado de duas maneiras: • Pino RS (reset externo); • Watchdog timer. • O programa é reiniciado (endereço 0000H); • Todas as interrupções são desabilitadas; • Quando o WDT causa o reset, o pino RS é colocado em zero (os circuitos ligados no pino de reset também serão reiniciados).
Configuração do Sistema • A configuração básica é feita por meio dos registradores de controle e status: • SCSR1 – ocupa o endereço 7018H da memória de dados; • SCSR2 – ocupa o endereço 7019H da memória de dados;
SCSR1 • Este registrador controla: • Pino CLKOUT: • 0 a frequência de saída é o clock da CPU; • 1 a frequência de saída é o clock do WDT. • Modos de baixo consumo (idle e halt)
SCSR1 • Seleção do fator de multiplicação do PLL (Fin é a frequência do oscilador): • 0 4 x Fin • 1 2 x Fin • 2 1,33 x Fin • 3 1 x Fin • 4 0,8 x Fin • 5 0,66 x Fin • 6 0,57 x Fin • 7 0,5 x Fin
SCSR1 • Habilitação dos módulos (individualmente): • Conversor analógico-digital (ADC); • Comunicação serial (SCI); • Interface serial síncrona (SPI); • CAN; • EVA e EVB (timers, PWM, etc).
SCSR2 • Este registrador controla: • Bit de proteção do WDT – quando em 0 não permite que o WDT seja desabilitado; • Pinos de interface das memórias externas – permite que sejam colocados em tristate; • Boot Enable – um bit que indica o estado do pino Boot Enable depois do reset;
SCSR2 • Este registrador controla: • Seleção do modo de microcontrolador ou microprocessador (MC/MP); • Mapeamento da memória SARAM (programa ou dados).