PROCESSAMENTO DIGITAL DE SINAIS

 

Alunos: Antônio Luis Fabris Jr.

Fabio Takeo Emori

Jorge Mizutani

Luiz Carlos Tavares

Prof. Eduardo Parente

 

 

 

DSP TMS320C54x

 

Descrição

O TMS320C54x é uma família de Processadores Digitais de Sinais (DSP) baseadas na avançada arquitetura Harvard a qual possui uma memória de programa e três memórias de dados. Estes processadores contém a ULA (Unidade Lógica Aritmética) que tem um alto grau de paralelismo, aplicação lógica específica em hadware, sobre memória de chip e periféricos adicionais no chip. Essa família de DSP também contém um conjunto de instruções especializados, que é a base de operações flexíveis e a velocidade dos DSP's.

Programas separados e espaçamento de dados permitem acesso simultâneo a programas de instruções de dados, fornecendo um alto grau de grau de paralelismo. Duas leituras e uma operação escrita podem ser realizados em um único ciclo. Instruções com armazenamento paralelo e aplicações de instruções específicas podem ser completamente utilizadas com esta arquitetura. Além disso, dados podem ser transferidos entre programas de dados e espaço. Cada paralelismo suporta um potente conjunto de aritméticas, lógicas e operações de manipulação de bits as quais podem ser todas operadas em um único ciclo de máquina. Além disso o 'C54X' inclui mecanismos de controle para gerenciar interrupções, repetidas operações, e funções de chamadas.

A tabela 1 mostra as características da geração dos DSP's C54X. A tabela mostra características significativas de cada instrução incluindo capacidade das memórias RAM´s e ROM´s "on-chip" .

 

 

DESCRIÇÃO DE PINOS

TERMINAL

NOME TIPO

DESCRIÇÃO

A22 (MSB)

A21

A20

A19

A18

A17

A16

A15

A14

A13

A12

A11 O/Z

A10

A9

A8

A7

A6

A5

A4

A3

A2

A1

A0 (LSB)

Barramento de endereço da porta paralela A22 (MSB) a A0 (LSB). As 16 LSBs (A15-A0) são multiplexadas para a memória de programa/dados externa ou I/O. A0 a A15 são colocadas em estado de alta impedância no modo "hold". A15-A0 também são levados para o estado de alta impedância quando EMU1/OFF está baixa. Os 7 MSBs (A22 a A16) são usados para enderaçamento da memória de programa extendida ('548 e '549 somente).

Nos dispositivos '548 e '549 , o barramento de endereço tem uma característica chamada barramento "holder" que elimina componentes passivos e baixa dissipação de potência associada com isto. O barramento "holder" mantém o barramento de endereço à um nível de lógica prevista quando o barramento vai para o estado de alta impedância.

D15 (MSB)

D14

D13

D12

D11

D10

D9

D8 I/O/Z

D7

D6

D5

D4

D3

D2

D1

D0 (LSB)

O barramento de dados da porta paralela D15 (MSB) até D0 (LSB). D15-D0 são multiplexadas para transferir dados entre a CPU central e memória de dados/programas externos ou dispositivos I/O. D15-D0 são colocados em estado de alta impedância quando a saída está negada ou quando RS ou HOLD é mantida. D15-D0 também vão para o estado de alta impedância quando EMU1/OFF está baixo.

O barramento de dados tem uma característica chamada barramento holder que elimina componentes passivos e dissipação de potência associada com isto. O barramento holder mantém o barramento de dados no nível de lógica previsto quando o barramento vai para o estado de alta impedância.

OPERAÇÕES DE INICIALIZAÇÃO , INTERRUPÇÃO E RESET

IACK O/Z

Reconhecimento do sinal de interrupção . IACK indica a recepção de uma interrupção e que o contador de programa está

buscando a localização do vetor de interrupção designado por A15-0. IACK também vai para o estado de alta impedância quando o EMU1/OFF está baixo.

INT0

INT1 I

INT2

INT3

Entrada de interrupção externa (usuário). INT0-INT3 são priorizadas e são mascaradas pela interrupção do registrador mask e o modo bit de interrupção. INT0-INT3 podem ser resetadas através da interrupção do registrador flag.

NMI I

Interrupção não mascarada. NMI é uma interrupção externa que não pode ser mascarada pelo INTM ou IMR. Quando NMI é ativada, o processador vai para localização apropriada do vetor.

RS I

Entrada reset. RS faz o DSP terminar a execução e força o contador de programa para a localização 0FF80h. Quando RS é levada a nível alto, a execução se inicia na localização 0FF80h da memória de programa. RS afeta vários registradores e o bit de estados

MP/MC I

Pino de seleção do modo Microprocesador/Microcomputador. Se ativar o nível baixo (modo microcomputador), MP/MPC causa o mapeamento da memória de programa ROM interna para o espaçamento da memória acima(memory upper).No modo microprocessador o chip de memória e seu endereço correspondente (ao invés da memória de programa ROM interna) são acessados pelo DSP.

CNT I

Seleção do nível I/O. Para operação à 5 V , todas os níveis de tensão de entrada e saída são compatíveis com o TTL quando CNT está à um nível baixo. Para operação à 3V com CMOS, os níveis de interface são compatíveis e o CNT vai a um nível alto.

BIO I

Entrada de controle "Branch". Um "Branch" pode ser condicionalmente executado quando o BIO está ativo. Se em nível baixo, o processador executa a instrução condicional. A condição BIO é amostrada durante a execução da condição

XC , e todas as outras amostras BIO de instrução durante a leitura da fase.

XF I

Saída de sinalização externa(sinal programável por software). XF é setada pela instrução SSBX XF, e resetada pela instrução RSBX XF ou pela carregamento do status do registrador ST1. XF é utilizado para outras configurações de processadores em multiprocessadores ou como um pino de saída geral. XF é levado para o estado de alta impedância quando OFF é baixo e é setada no reset.

Sinais de controle da memória

 

DS

PS O/Z

IS

Seleção dos sinais de espaço de dados, programa, e I/O. DS, PS e IS estão sempre em nível alto ao menos para uma comunicação particular externa. O período ativo corresponde a uma formação de endereço válido. São colocados em estado de alta impedância no modo hold. DS, PS e IS são também levados a um estado de alta impedância quando MEU/OFF é baixo.

MSTRB O/Z

Sinal de memória strobe. MSTRB é sempre alto ao menos que acessada a memória de programa externa. È colocada em estado de alta impedância no modo hold. MSTRB vai também para o estado de alta impedância quando OFF está baixo.

READY I

Entrada de leitura de dados. READY indica que o dispositivo externo esta preparado para uma transação a ser completada. Se o dispositivo não esta pronto( READY está baixo), o processador espera um ciclo e verifica o READY novamente. Note que o processador oferece a detecção READY se os dois últimos estados de espera do software esta programado. O sinal READY não é amostrado até o estado de espera do software estar completo.

 

 

R/W O/Z

Sinal de leitura/escrita. R/W indica a direção de transferência durante a comunicação para um dispositivo externo e é normalmente alta( modo em leitura), a menos quando o DSP realiza uma operação de escrita. Colocada no estado de alta impedância no modo hold, R/W também vai para o estado de alta impedância quando EMU1/OFF está baixo.

 

 

IOSTRB O/Z

Sinal Strobe de memória. IOSTRB é sempre alta a menos que um nível baixo é adicionado para indicar um acesso a um barramento externo para um dispositivo I/O. Colocado no estado de alta impedância no modo hold. IOSTRB vai também para o estado de alta impedância quando EMU1/OFF está baixo.

HOLD

Entrada hold. HOLD é requerido para controlar o controle de endereço, dados e controle de linhas. Quando o reconhecimento '54x, estas linhas vão para o estado de alta impedância.

 

 

HOLDA O/Z

Reconhecimento do sinal hold. HOLDA indica para o circuito externo que o processador está em estado de hold e que o endereço, dados e controle de linhas estão em estado de alta impedância, permitindo estes ser avaliados pelos circuitos externos. HOLDA também vai para o estado de alta impedância quando EMU1/OFF está baixo.

MSC O/Z

Sinal completo de microestado. MSC vai para baixo quando a espera do último estado de dois ou mais o estado de espera do software interno programado é executado. Se conectados a linha READY, MSC força um estado de espera externo depois do último estado de espera interno ter sido completado. MSC também vai para estado de alta impedância quando EMU1/OFF está baixo.

IAQ O/Z

Sinal da instrução da aquisição. IAQ é acionado (nível baixo) quando existe um endereço de instrução no barramento de endereço e vai para estado de alta impedância quando EMU1/OFF está baixo.

SINAIS OSCILADOR/CONTADOR

CLKOUT O/Z

Sinal mestre da saída do clock. CLKOUT é uma razão do ciclo da máquina do CPU. CLKOUT vai também para estado de alta impedância quando EMU1/OFF é baixo.

CLKMD1

CLKMD2 I

CLKMD3

Sinais de entrada externa/interna do clock. CLKMD1, CLKMD2 e CLKMD3 permitem você selecionar e configurar diferentes modos de clock, tal como cristal, clock externo e vários fatores PLL.

X2/CLKIN I

Pino de saída do oscilador externo do cristal. Se o oscilador interno (cristal) não está sendo utilizado, um clock pode se tornar entrada para o dispositivo utilizando este pino. O tempo do ciclo da máquina interna é determinada pela operação dos pinos (CLKMD1, CLKMD2,CLKMD3).

X1 O

Pino de saída do oscilador interno do cristal . Se o oscilador interno não é utilizado, X1 deverá estar desconectado. X1 não vai para o estado de alta impedância quando EMU1/OFF está baixo

SINAIS DAS PORTAS ZERO E UM BUFFERIZADAS

 

BCLKR0

BCLKR1 I

Clocks receptores. Sinal de clock externo para dados temporizados do pino dados-receptores para porta serial bufferizada recebem registradores shift(RSR) . Deve estar presentes durante a transferência da porta serial bufferizada. Se a porta serial bufferizada não está sendo utilizada, BCLKR0 e BLCKR1 podem ser amostradas como uma entrada do bit IN0 do registrador SPC.

 

 

 

BCLKX0

BCLKX1 I/O/Z

Clock transmissor. Sinal de clock para dados temporizados do registrador de transmissão shift( XSR ) para o pino de transmissão de dados (DX). BCLKX pode ser uma entrada se MCM no registrador de controle da porta serial está em zero. Isto também pode ser também dirigido por um dispositivo à 1/(CLKDV+1) onde a faixa CLKDV é 0-31 da frequência CLKOUT quando MCM está em um. Se a porta serial bufferizada não é utilizada BCLKX pode ser amostrada como uma entrada pelo bit IN1 do registrador SPC. BCLKX1 E BCLKX0 vai para o estado de alta impedância quando OFF está baixo.

BDR0

BDR1 I

Entrada de recepção de dados bufferizados. Dados seriais são recebidos no RSR pelo BDR0/BDR1.

BDX0

BDX1 O/Z

Saída de transmissão da porta serial bufferizada. Dados seriais são transmitidos do XSR pelo caminho de BDX. BDX0 E BDX1 são colocados em estado de alta impedância quando não estão transmitindo e quando EMU1/OFF está baixo.

BFSR0

BFSR1 I

Entrada de recepção do pulso de sincronização. O pulso BFSR0 inicializa o processo de recepção de dados, começando a temporização de RSR.

 

 

BFSX0

BFSX1 I/O/Z

Entrada/Saida de transmissão para o pulso de sincronização. O pulso BFSX inicializa o processo de transmissão de dados começando a temporização do XSR. Resetando, a condição de operação padrão do BFSX é uma entrada. BFSX0 e BFSX1 podem ser selecionados pelo software para ser uma saída quando TXM no registrador de controle serial é setado. Este pino vai para o estado de alta impedância quando EMU1/OFF está baixo.

PORTA SERIAL 0 E PORTA SERIAL 1

CLKR0

CLKR1 I

Receptores de clock. O sinal de clock externo para dados temporizados do pino receptor de dados(DR) para o registrador shift de recepção da porta serial (RSR). Deve estar presentes durante a transferência da porta serial . Se a porta serial não está sendo utilizada CLKR0 e CLKR1 podem ser amostradas como uma entrada via bit IN0 do registrador SPC

 

 

 

 

 

CLKX0

CLKX1 I/O/Z

Clock transmissor. Sinal de clock para dados temporizados do registrador shift de transmissão da porta serial(XSR) para o pino de transmissão de dados( DX). CLKX podem ser uma entrada se MCM do registrador de controle da porta serial estiver em zero. isto também pode ser controlado pelo dispositivo a ¼ da frequência CLKOUT quando MCM está em um. Se a porta serial não é utilizada CLKX pose ser amostrada como uma entrada via bit IN1 do registrador SPC. CLKX0 E CLKX1 vai para o estado de alta impedância quando EMU1/OFF está baixo.

DR0

DR1 I

Entrada de recepção de dados seriais. Dados seriais são recebidos no RSR por DR.

DX0

DX1 O/Z

Saída de transmissão da porta serial. Dados seriais são transmitidos do XSR via DX. DX0 e DX1 são colocados em estado de alta impedância quando não estão transmitido e quando EMU1/ OFF está baixo

FSR0

FSR1 I

Entrada de recepção para pulsos de sincronização. O pulso FSR iniciliza o processo de recepção de dados, começando a temporização do RSR.

 

 

FSX0

FSX1 I/O/Z

Entrada/saída de transmissão para pulsos de sincronização. o pulso FSX inicializa o processo de transmissão de dados começando a temporização XSR. Resetando, a condição de operação padrão do FSX é uma entrada. FSX0 e FSX1 posem ser selecionados por software para ser uma saída quando TXM no registrador de controle serial é . Estes pinos vão para estado de impedância alta quando EMU1/OFF é baixo.

SINAIS DA PORTA SERIAL TDM

TCLKR I

TDM recebe a entrada de clock

TDR I

Entrada de recepção de dados seriais TDM

TFSR-TADD I/O

Sincronização da recepção TDM ou endereço TDM

TCLKX I/O/Z

Clock de transmissão TDM

TDX O/Z

Saída de transmissão de dados seriais TDM

TFSX-TFRM I/O/Z

Sincronização da transmissão TDM

SINAIS DE INTERFACE DA PORTA HOST

HD0-HD7 I/O/Z

Barramentos de dados bidirecionais paralelos. HD0-HD7 são colocados em estado de alta impedância quando não tranferem dados. Os sinais vão para o estado de alta impedância quando EMU1/OFF é baixo.

HCNTL0

HCNTL1 I

Entradas de controle

HBIL I

Entrada de identificação de byte

HCS I

Entrada de seleção de chip

HDS1

HDS2 I

Entradas de dados strobe

HAS I

Entrada de endereços strobe

HR/W I

Entrada de leitura/ escrita

HRDY O/Z

Saída READY. Este sinal vai para o estado de alta impedância quando EMU1/OFF esta baixo.

HINT O/Z

Saída de interrupção. Quando o DSP está em reset este sinal é alto. O sinal vai para o estado de alta impedância quando EMU1/OFF esta baixo.

HPIENA I

Entrada de seleção do modo HPI. Este sinal deve estar no estado de lógica 1 para que o HPI esteja selecionado. Se esta entrada é deixada aberta ou conectada ao terra, o modo HPI não estará selecionado. Esta entrada é provida com um resistor interno pull-down à qual é ativo somente quando RS é baixo. HPIENA é amostrada quando RS está alto e ignorada até que RS volte a zero.

PINOS DE ALIMENTAÇÃO

CVDD alimentação

+VDD. Se CVDD é uma fonte de alimentação dedicada para CPU central

DVDD alimentação

+VDD. Se DVDD é uma fonte de alimentação dedicada para os pinos I/O .

Vss alimentação

Terra. Vss é alimentação terra dedicada para o dispositivo

IEEE 1149.1 PINOS DE TESTE

DCK I

Teste de clock. Este é normalmente um sinal de clock com 50% do ciclo. As mudanças na porta de acesso teste(TAP) dos sinais de entrada TMS e TDI são temporizados pelo controlador TAP, registradores de instrução ou registradores de dados de teste selecionados.

TDI I

Entrada de testes de dados. Pino com dispositivo de teste pull-up. TDI é temporizado através do registrador selecionando( instrução ou dados).

TDO O/Z

Saída de dados de teste. TDO está no estado de alta impedância, exceto quando esta adquirindo dados. TDO esta também no estado de alta impedância quando EMU1/OFF esta baixo.

TMS I

Teste no modo de seleção. Pino com dispositivo interno pull-up. Esta entrada de controle serial é temporizada através do controlador TAP.

TRST I

Teste de reset. TRST, quando alto permite o controle do sistema nas operações no dispositivo. Se TRST, não está conectado ou está baixo, o dispositivo opera no seu modo funcional, e os sinais IEEE standart 1149.1 são ignorados. Pino com dispositivo interno pull-down.

EMU0 I/O/Z

Pino emulador da interrupção zero. Quando TRST está baixo, EMU0 deve estar alto para a ativação da condição EMU1/OFF. Quando TRST é alto, EMU0 é utilizado como uma interrupção para o sistema ou do sistema emulador.

EMU1/OFF I/O/Z

Pino emulador da interrupção 1/saídas todas desabilitadas. Quando TRST é alto, EMU1/OFF é utilizada para ou do sistema emulador. Quando TRST é baixo EMU1/OFF está configurado como OFF. O sinal EMU1/OFF, quando ativo baixo, coloca todas as saídas para o estado de alta impedância. Note que OFF é utilizada exclusivamente para propostas de testes e emulação( não para aplicações de multi-processamento). Entretanto, para condição OFF, as seguintes condições são aplicadas:

TRST = baixo

EMU0 = alto

EMU1/OFF = baixo

ARQUITETURA

Os DSPs uma avançada arquitetura Harvard que maximiza o processamento pela mantendo três estrutura de barramentos para memória de dados e uma para memória de programas. O programa separado e os espaços de dados permitem acessar simultaneamente as instruções de programa e de dados , provendo um alto grau de paralelismo. Por exemplo, duas operações de leitura e uma de escrita podem ser realizadas num só ciclo. Em adição, dados podem ser transferidos entre espaços de programas e de dados. Cada paralelismo suporta operações e manipulações lógicas, aritméticas que podem ser realizadas em um simples ciclo de máquina. O DSP inclui mecanismos de controle para interrupções, operações repetitivas e chamadas de funções.

O diagrama de bloco funcional inclui os principais blocos e estruturas de barramentos nos dispositivos '54x

Unidade Central de Processamento (UCP):

A Unidade Central de Processamento contém:

Unidade Lógica Aritmética (ULA):

O dispositivo 'C54x realiza aritmética complementar- 2s usando: uma unidade lógica aritmética (ULA) de 40-bit e dois acumuladores de 40-bit (ACCA e ACCB). A unidade lógica aritmética também pode realizar operações booleanas.

A ULA pode funcionar como duas ULAs de 16-bit e realizar duas operações de 16-bit simultaneamente quando o bit C16 do registrador de status 1 (ST1) está setado.

Acumuladores:

Os acumuladores, ACCA e ACCB, armazenam a saída da ULA ou do bloco multiplicador/somador; Os acumuladores podem também desempenhar uma segunda entrada para a ULA ou o multiplicador/somador. Os acumuladores são divididos em 3 partes:

Instruções são fornecidas pelo armazenamento dos guard bits , acumuladores high/low order word na memória de dados, e para manipular acumulador de 32-bit dentro ou fora da memória de dados. Também, alguns dos acumuladores podem ser usados como gravador temporário para outros.

Barrel Shifter

O barrel shifter '54x tem uma entrada de 40-bit conectados ao acumulador ou memória de dados (CB,DB) e uma saída de 40-bit conectadas a ULA ou mémoria de dados (EB). O barrel shifter produz um deslocamento a esquerda de 0 a 31 bits e um deslocamento a direita de 0 a 16 bits na entrada de dados. Os deslocamentos requeridos são definidos no campo contador/deslocador (ACM) do ST1 ou definido no registrador temporário (TREG), o qual é destinado como registrador contador/deslocador. Este deslocador e o detector normaliza o valor num acumulador em um ciclo simples. Os últimos bits significativos (LSBs) das saídas são deixadas como zero e os bits mais signigicativos (MSBs) podem ser zero ou um sinal estendido, dependendo do estado do modo do bit de sinal estendido (SXM) do ST1. Adicionalmente a capacidade do deslocador permite ao processador realizar escalonamentos numéricos, extração de bit, aritmética estendida e operações de prevenção de overflow.

Multiplicador/Somador

Ó multiplicador/somador realiza uma multiplicação complementar 2s de 17 x 17 bits com um acumulador de 40-bit num ciclo de instrução simples. O bloco multiplicador/somador consiste de vários elementos: um multiplicador, um somador, um controle de entrada com/sem sinal, um controle fracional, um detector de zero, uma lógica de saturação/overflow e TRG.

O multiplicador tem duas entradas: uma entrada é selecionada no TRG, um operando de memória de dados, ou um acumulador; o outro é selecionado da memória de programa, memória de dados, um acumulador ou um valor imediato. A ata velociadade do chip multiplicador permite o '54x realizar operações como uma convolução, correlação e um eficiente filtragem.

Em adição, o multiplicador e a ULA juntas executam computações de multiplicação/acumulação (MAC) e operações ULA em paralelo nos ciclo simples de instruções. Esta função é utilizada na determinação da distância de EUclid, e em implementações simétricas as quais são requeridas por algoritmos complexos do DSP.

Unidade de comparação, seleção e armazenamento (CSSU)

A unidade de comparação, seleção e armazenamento (CSSU) realiza o máximo de comparações entre high e low word do acumulador , permite o teste/controle do bit de sinalização (TC) do registrador de status 0 (ST0) e o registrador de transição (TRN) guardar a história da transações, e seleciona uma word maior no acumulador para ser armazenada na memória de dados.

Controle de programa

Controle de programa é provido pelos vários mecanismos de hardware e software:

Modos power-down

Há três modos power-down, ativados pelas instruções IDLE1, IDLE2, e IDLE3. Nestes modos, os dispositivos 'C54x entram num estado inativo e dissipa consideravelmente baixa potência quando na operação normal. A instrução IDLE1 é usada para desligar a CPU. A instrução IDLE2 é usada para desligar a CPU e periféricos. A instrução IDLE3 é usada para desligar o processador ‘54x completamente. Estas instruções param o circuitoPLL tão bem como a CPU e periféricos.

Estrutura de barramento

A arquitetura do dispositivo 'C54x é construída em torno de oito maiores barramentos de 16 bits :

O dispositivo 'C54x tem a capacidade de gerar dois endereços de memória de dados por ciclo, que são armazenadas em duas unidades aritméticas de registro auxiliares (ARAU0 e ARAU1).

O PB pode carregar dados operando armazenados no espaço de programa (por exemplo, uma tabela de coeficiente) para o múltiplo pela operação multiplicar/acumular ou para destinação no espaço de dados pela instrução mover dados. Esta capacidade permite implementação das instruções de ciclos simples de três operandos como as FIRS.

O dispositivo 'C54x também tem um barramento bidirecional no chip para acesso dos periféricos ; este barramento é conectado ao DB e EB através da troca de barramento na interface da CPU. Usando acessos este barramento pode requerer mais que dois ciclos para ler e escrever dependendo da estrutura periférica.

O dispositivo 'C54x pode ter barramentos keepers conectado no barramento de dados. O barramento keepers assegura que o barramento de dados não flutue. Quando barramentos keepers são habilitados, o barramento de dados mantém este nível anterior. Setando o bit 1 do registrador de controle switching bank (BSCR) habilita barramentos keepers e apagando bit 1 disabilita o barramento. Um reset automaticamente disabilita o barramento.

Memória

A faixa de endereço de memória total para o host dos dispositivos 'C54x são 192K 16-bit words. O espaço de memória é dividido dentro de três segmentos de memória específicos: programa 64K-word , dados 64K-words e I/O 64K-words. O espaço de memória de programa contém instruções para ser executadas tão bem como uso de tabelas na execução. O espaço de memória de dados armazena dados usados pelas instruções. A memória I/O espaça interface para periféricos mapa de memória externo e pode também servir de espaço de armazenamento de dados extra.

O paralelo natural da arquitetura destes DSPs os permite realizar quatro operações de memória em um ciclo de maquina conhecido: busca de instruções, leitura de dois operadores, e escrita de um operador. Os quatro barramentos paralelos são barramento de leitura de programa (PB), barramento de escrita de dados (EB), e dois barramentos de leitura de dados (CB e DB). Cada barramento acessa diferente espaço de memória para para diferentes aspectos de operação do DSP. Adicionalmente, esta arquitetura permite leitura de operações dual, acesso 32 bit-long-word, e leitura simples com armazenamento paralelo. Os DSPs 54x incluem memória no chip para ajudar no sistema de performance e entegração.

ROM

Característica de 2k-word x 16 bits na ROM.

Dual -Acess RAM (DARAM)

Característica de 10k word x 16 bits

Cada um destes blocos de RAM podem ser acessadas duas vezes por ciclo de máquina. Esta memória é intencionada primeiramente a armazenar valores de dados, entretanto, pode ser usada para armazenar programas. No reset , a DARAM é mapeada no espaço de memória de dados. DARAM podem ser mapeadas no espaço de memória de programa/dados pelo ajuste do bit OVLY do registrador PMST.

 

Segurança da memória

Os dispositivos '54x tem uma opção mascarável para proteção dos dados armazenados.

 

 

MEMÓRIA DE PROGRAMA

O espaço de endereço da memória de programa no ‘54x é de 64K para 16-bit de palavras. Softwares podem configurar suas células de memória para residir dentro ou fora do mapa de endereços de programa. Quando as células são mapeadas dentro do espaço da memória, o dispositivo automaticamente acessa elas quando seus endereços estão limitados. Quando o programa de geração lógica de endereços(PAGEN) gera um endereço fora deste limite, o dispositivo gera automaticamente um acesso externo. A vantagem de operações da memória interna do chip são as seguintes:

A vantagem de se operar com memória fora do chip é a capacidade de se acessar um grande espaços de endereços.

MAPA DE ENDEREÇAMENTO DE MEMÓRIA

O reset, interrupt, e trap são vetores de endereçamento no espaço de memória. Estes vetores são flexíveis – dizendo que o processador, quando levado para o trap, carrega o programa contador(PC) com o endereço trap e executa o código no vetor de localização. Quatro palavras são reservadas na localização de cada vetor para acomodar um atraso de instrução branch, e também duas 1-palavra de instrução ou uma 2-palavras de instrução, que permitem ramificações para apropriado serviço de rotina de interrupção sem suspensão.

No recurso de reset, os vetores reset, interrupt, e trap são mapeados para o endereço FF80h no espaço de programa. No entanto, estes vetores podem ser remapeados para o início de alguma página da palavra-128 no espaço de programa depois da instrução de reset. Isto é feito pelo carregamento do vector interrupt pointer(IPTR)bits no PMST regsitrador com o apropriado endereço da palavra-128. Depois de carregador o IPTR, algum uso do vetor interrupt ou trap são mapeados para a nova palavra-128. Por exemplo:

STM #05800h,PMST ; remapeamento do vetor no início em 5800h.

Este exemplo move o vetor interrupt para o espaço de programa no endereço 05800h. Alguma interrupção subsequente(exceto para a instrução reset) envia este vetor interrupt para uma nova localização. Por exemplo, se, depois de carregado o IPTR, um INT2 ocorre , a rotina do vetor de interrupção é enviada da localização 5848h no espaço de programa como oposição para a localização FFC8h. Esta características facilita o movimento do vetor designado fora do boot de ROM e então remove a ROM do mapa de programa. Um dos códigos do sistema é carregado para o sistema do boot-loader código, residente na ROM, a aplicação recarrega o IPTR com o valor apontado para o novo vetor. No exemplo previsto, a instrução STM é usada para modificar o PMST. Note que a instrução STM modifica não somente o IPTR mas outro status/ bits de controle no registrador PMST.

NOTE: O hardware do vetor reset(RS) não pode ser mapeados, porque o hardware reset carrega o IPTR com 1s. Como resultado, o vetor reset é sempre enviado na localização FF80h no espaço de memória. Além disso, para ‘54x, 128 palavras são reservadas no chip ROM para instrução de testes. Códigos de aplicações escritas para ser implementadas no Chip ROM deve reservar 128 palavbras no endereço FF00h-FF7Fh no espaço de programa.

MEMÓRIA DE DADOS

O espaço de memória de dados no ' 54x, contém 64k de 16-bits. O componente acessa automaticamente a RAM quando endereçado com estes limites. Quando um endereço é gerado fora dos limites da RAM, o componente gera um acesso externo automático.

A vantagem de operações da memória interna do chip são as seguintes:

A vantagem de se operar com memória fora do chip é a capacidade de se acessar um grande espaços de endereços.

 

BOOTLOADER

Um bootloader é provido no chip básico '54x junto com o chip de ROM. Este bootloader pode usado para transferir códigos de uma fonte externa para algum lugar na memória de programa na ligação automática. Se MP/MC do componente é amostrado baixo durante o reset do hardware, execução começa na localização FF80h do chip ROM. Este local contém uma instrução branch para o começo do programa boot-loader. O componente básico do '54x contém diferentes caminhos para dowloaded códigos para acomodar vários sistemas requeridos.

PORTA PARALELA I/O

Cada dispositivo '54x tem um total de 64K I/O na porta . Estas portas podem ser endereçadas pela instrução da porta PORTR ou a instrução PORTW. O sinal IS indica uma leitura/escrita operação através de uma I/O da porta. O dispositivo pode interfacear facilmente com um dispositivo externo através da I/O da porta, requerendo um mínimo de decodificação do endereço fora do chip.

TEMPORIZADOR DE HARDWARE

O dispositivo '54x tem como característica um circuito temporizador de 16-bit com quatro bits pré-escalar. Cada tempo o contador decrementa para zero, um temporizador de tempo é gerado. O temporizador pode ser parado, reiniciado, ou desabilitado por um específico status de bits.

 

GERADOR DE CLOCK

O gerador de clock do dispositivo '54x consiste de um oscilador interno e uma phase-locked loop(PLL) circuito. O gerador de clock requer um clock de referência de entrada, que pode ser provido pelo uso de um cristal ressonante com o oscilador interno, ou de uma fonte de clock externo. A entrada do clock de referência é então também dividida por dois para gerar clocks para o dispositivo '54x, ou PLL circuito pode ser usado para gerar o dispositivo de clock ou pela multiplicação do clock de referência por um fator escalar, permitindo o uso da fonte de clock com baixa frequência em relação a CPU.

REGISTRADORES DA MEMÓRIA MAPEADA

A maioria dos dispositivos têm 26 memórias mapeadas no registrador da CPU, que são mapeados dentro da memória de dados localizada nos endereços 0h a 1Fh. Cada um desses dispositivos tem um conjunto de registradores de memórias mapeadas associadas com periféricos. A tabela mostra uma lista de CPU registradores de memórias mapeadas(MMR) comum para todos dispositivos '54x.

 

 Comandos Assembler

Esta seção é um sumário das instruções de programação assembler para os dispositivos do 'C54x

REFERÊNCIAS BIBLIOGRAFICAS :

http://www.ti.com