Inicialização e Configuração do DSP TMS320F2812

Este post faz parte da série DSP TMS320F2812. Leia também os outros posts da série:

Continuando a apresentação do TMS320F2812, neste artigo serão apontado alguns módulos e registradores relacionados com inicialização e configuração do modo de operação do DSP.

Reset e Clock

No artigo anterior foi mencionada a fonte de clock do DSP. Essas opções de clock são definidas no momento de reset do DSP, que pode ocorrer pelo pino XRS (RS, na Figura 1) ou pelo módulo watchdog timer. Isso é ilustrado na Figura 1.

Sistema de Reset do TMS320F2812
Figura 1: Sistema de Reset.

De modo geral, o clock principal pode ser externo (diretamente de um cristal na entrada XCLKIN – limitado em 35MHz), ou interno, utilizando um circuito PLL com base na entrada XCLKIN. A utilização do PLL é definida pelo pino XPLLDIS. Quando ocorre o reset, o PLL é habilitado se o pino estiver em zero. O diagrama das fontes de clock é mostrado na Figura 2.

Sistema de Clock do TMS320F2812
Figura 2: Sistema de Clock.

Quando o PLL é selecionado, sua frequência de operação é determinada pelo registrador PLLCR. A partir de 4 bits, a frequência de operação é definida da seguinte maneira: SYSCLKOUT = (XCLKIN * n) / 2, em que ‘n’ é fator de multiplicação selecionado. Esse registrador é mostrado na Figura 3.

Registrador de configuração do PLL.
Figura 3: Registrador de configuração do PLL.

Watchdog Timer

É importante destacar que o watchdog timer (Figura 4) é habilitado quando o dispositivo entra em operação, tendo como fonte de clock a entrada XCLKIN, denominado OSCCLK.

Sistema de watchdog.
Figura 4: Sistema de watchdog.

A configuração do watchdog timer é realizada pelo registrador WDCR, mostrado na Figura 5. Para manipular tal registrador é necessário alterar também os 3 bits WDCHK(5:3). Assim, em qualquer operação de escrita o valor 101 (5) deve ser armazenado nesse campo. Além de ser utilizado para verificar se a aplicação está fora do fluxo normal de operação, o watchdog pode ser utilizado para retornar dos modos de IDLE/STANDBY. Cabe ressaltar que em modo STANDBY somente o watchdog é mantido em operação (se habilitado).

Registrador de controle do watchdog.
Figura 5: Registrador de controle do watchdog.

Quando o watchdog estoura, o DSP é mantido em reset durante 512 ciclos de clock (XCLKIN). Essa configuração pode ser alterada no registrador de controle e status (SCSR – Figura 6). O campo WDENINT determina se o watchdog gera um sinal de reset ou um sinal de interrupção.

Registrador de configuração e status.
Figura 6: Registrador de configuração e status.

Para reiniciar o contador do watchdog é necessário escrever a sequência de reinicialização do registrador WDKEY. A sequência de valores 0x55 e 0xAA reinicia o valor do contador, caso contrário o sinal de reset é gerado.

Sistema de Interrupção

A CPU possui 12 blocos de interrupção que são controlados pelo PIE (interrupções geradas por periféricos), sendo que cada bloco possui 8 fontes de interrupção. Assim, 96 fontes de interrupção podem ser selecionadas. Dessas 96 fontes de interrupção, 45 são geradas por periférico enquanto o restante é reservado para futuras implementações. O sistema de interrupção é mostrado na Figura 7.

Sistema de interrupção.
Figura 7: Sistema de interrupção.

Quando uma interrupção ocorre, a instrução TRAP faz o desvio do programa para o endereço especificado no vetor de interrupção. O local dos vetores de interrupção são determinados por pinos e bits de controle. Para posiciona a tabela de interrupções no controlador PIE o pino VMAP deve estar 1 durante a operação de reset. Além disso, o bit PIEN do registrador PIE_CTRL deve ser ativado.

É importante destacar que o endereço 0 desse vetor de interrupção corresponde ao ponto de entrada do evento de Reset. No entanto, quando o PIE está habilitado esse endereço não é válido, pois não existe na tabela do PIE. O mecanismo de multiplexação das fontes de interrupção é mostrado na Figura 8.

Multiplexação das fontes de interrupção do PIE.
Figura 8: Multiplexação das fontes de interrupção do PIE.

A tabela de interrupções é suas respectivas fontes e mostrada na Figura 9.

Fonte de interrupção.
Figura 9: Fonte de interrupção.

Além dessas fontes, outras duas podem ser geradas pelos timers ou externamente. As fontes INT1~INT14 são ditas mascaráveis, pois são controladas por registradores (PIEIER e PIEIEF). Já o sinal NMI causa uma interrupção direta na CPU, pois não pode ser controlada (ativada/desativada). Os registradores que controlam as interrupções internas são mostrados na Figura 10.

Registradores de controle do PIE.
Figura 10: Registradores de controle do PIE.

Já as interrupções externas são controladas pelos registradores mostrados na Figura 11.

Registradores de configuração de interrupções externas.
Figura 11: Registradores de configuração de interrupções externas.

Além disso, as interrupções do DSP são controladas pelo registrador IE (Figura 12) e pelo bit global de interrupções.

Registrador de controle de interrupções IER.
Figura 12: Registrador de controle de interrupções IER.

Controle de Clock dos Periféricos

O clock do DSP é dividido em outros dois sinais: HSPCLK (High-Speed Peripheral Clock) e LSPCLK (Low-Speed Peripheral Clock). Tais sinais são utilizados como fonte de clock dos periféricos e podem ser configurados no registrador HISPCP e LOSPCP.

Registrador HISPCP.
Figura 13: Registrador HISPCP.
Registrador HISPCP.
Figura 14: Registrador HISPCP.

Além disso, cada periférico tem o clock habilitado no registrador PCLKCR (Figura 15). Essa característica possibilita reduzir o consumo do DSP, permanecendo habilitado somente o clock dos periféricos utilizados.

Registrador de clockgate dos periféricos.
Figura 15: Registrador de clockgate dos periféricos.

Os registradores descritos até o momento têm um mecanismo de proteção contra escrita que é manipulado a partir das instruções EALLOW e EDIS. Assim, é necessário desativar o mecanismo de proteção usando a instrução EALLOW, realizar a operação de escrita e, posteriormente, ativar a proteção novamente. Esse procedimento evita que os registradores sejam alterados por algum erro durante a execução do programa. Tais registradores são mostrados na Figura 16.

Registradores com proteção de acesso.
Figura 16: Registradores com proteção de acesso.

Referências

TMS320F2812 – 32-bit Digital Signal Controller with Flash

Outros artigos da série

<< Apresentação do DSP TMS320F2812Entradas e Saídas Digitais do DSP TMS320F2812 >>
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Hardware » Sistemas Digitais » Inicialização e Configuração do DSP TMS320F2812
Comentários:
Notificações
Notificar
guest
0 Comentários
Inline Feedbacks
View all comments
Talvez você goste:

Séries



Outros da Série

Menu