Fenix Especificacao 8051 Barramento

download Fenix Especificacao 8051 Barramento

of 16

Transcript of Fenix Especificacao 8051 Barramento

Microcontrolador 8051 - Barramento

Especificao Funcional

Projeto Fnix

BRAZIL IP

Verso 0.4 | [29/10/2003]

Responsveis: Carlos Eduardo Monteiro Rodrigues {[email protected]} Gustavo Jos Cavalcanti Cmara {[email protected]}

Microcontrolador 8051

Fnix Project

Histrico de AlteraesData Verso Descrio Autor

09/10/03

0.1

Descrio geral do barramento.

cemr, gjcc

20/10/03 23/10/03 29/10/03

0.2 0.3 0.4

Incluso das sees que descrevem as funcionalidades do cemr, gjcc barramento. Finalizao da redao das sees do documento. Correes tcnicas e ortogrficas. cemr, gjcc

Lista de AprovadoresNome Cargo

Edna Barros Srgio Cavalcante

Coordenao Geral Projeto Fnix Coordenao de divulgao externa do Brazil-IP

Barramento

fenix_especificacao_8051_barramento.doc

Pg 2/16

Microcontrolador 8051

Fnix Project

Contedo

1. Convenes, termos e abreviaes...................................................................................................... 4 2. Descrio geral do barramento........................................................................................................... 5 3. Funcionalidade: Acesso ao Barramento pela CPU........................................................................... 8 3.1 Descrio........................................................................................................................................ 8 4. Funcionalidade: Decodificar Endereo do Barramento................................................................. 11 4.1 Descrio...................................................................................................................................... 11 5. Funcionalidade: Acesso ao Barramento pelos Mdulos Escravos ................................................ 13 5.1 Descrio...................................................................................................................................... 13 6. Apndice A: Cdigos de Seleo do Multiplexador do Barramento............................................... 15 .............................................................................................................................................................. 15 Referncias........................................................................................................................................... 16 [1] Documento de Requisitos Microcontrolador 8051, fenix_requisitos_8051.doc;..........................16 [2] Documento de Especificao da CPU do 8051, fenix_especificacao_8051_CPU.doc;................16 [3] Documento de Especificao da RAM do 8051, fenix_especificacao_8051_RAM.doc;..............16 [4] Documento de Especificao da USART do 8051, fenix_especificacao_8051_usart.doc;..........16 [5] Documento de Especificao do Timer do 8051, fenix_especificacao_8051_timer.doc;.............16 [6] Documento de Especificao do IO do 8051, fenix_especificacao_8051_io.doc;........................16 [7] Documento de Especificao das Interrupes do 8051, fenix_especificacao_8051_interrupcao.doc;........................................................................................ 16

Barramento

fenix_especificacao_8051_barramento.doc

Pg 3/16

Microcontrolador 8051

Fnix Project

1. Convenes, termos e abreviaesEsta subseo explica o conceito de alguns termos importantes que sero mencionados no decorrer deste documento. Estes termos so descritos na tabela a seguir, estando apresentados por ordem alfabtica.Termo Descrio

ACK_INT

Sinal proveniente da CPU para indicar ao controlador de interrupo que ela tomou conhecimento da ocorrncia da interrupo. ativado em nvel lgico alto. Quando ativado, o mdulo de controle da interrupo tem o controle da linha de endereos. Caso contrrio, o controle dessa linha da CPU. Sinal proveniente da CPU que indica Sinal proveniente do Controlador do Barramento, composto de 3 (trs) bits, que usado pra selecionar a entrada do multiplexador principal do barramento que ser colocada na linha de dados. Sinais de sada de dados dos mdulos, compostos por 8 (oito) bits, onde X indica o nome do mdulo (por exemplo, o sinal de sada de dados dofenix_especificacao_8051_barramento.doc Pg 4/16

ADDR/DATA DATA_SEL

DO_X

Barramento

Microcontrolador 8051

Fnix Project

Timer se chama DO_TIMER, e o da USART se chama DO_USART). Estes sinais tm como destino o multiplexador principal do barramento. Linha de Dados Linha de Endereos Composta por 8 (oito) bits. Nesta linha trafegam os dados no barramento. Composta por 16 (dezesseis) bits. Nesta linha trafegam os endereos no barramento, e tambm o PC no caso da ocorrncia de uma interrupo (que neste caso um dado, cujo significado um endereo). A fonte dos dados contidos nesta linha depende do sinal ACK_INT. Sinal proveniente da CPU que indica ao Controlador de Barramento se a memria que est sendo utilizada a interna ou a externa. Quando est desativado (tem o valor 0), indica que a memria interna est sendo usada. Caso contrrio, a memria externa est sendo usada. Este sinal tambm corresponde ao sinal CONTROL, usado nas portas 0 e 2 para habilitar o acesso memria externa (ver a especificao do IO do 8051). Sinal proveniente da CPU que serve para indicar ao que a operao sendo realizada no barramento de leitura. ativado em nvel lgico alto, e no pode ser ativado ao mesmo tempo em que o sinal WR. Caso isso acontea, os resultados so imprevisveis. Este sinal ligado ao Controlador do Barramento e ao pino 7 da porta 3 (P3.7). Sinal proveniente da CPU que serve para indicar que a operao sendo realizada no barramento de escrita. ativado em nvel lgico alto, e no pode ser ativado ao mesmo tempo em que o sinal RD. Caso isso acontea, os resultados so imprevisveis. Este sinal ligado ao Controlador do Barramento e ao pino 6 da porta 3 (P3.6). Sinais provenientes do Controlador do Barramento, ativados em nvel lgico alto, que indicam aos mdulos conectados ao barramento que a CPU est realizando uma operao de escrita neles. O X indica o nome do mdulo (por exemplo, o sinal que habilita a escrita no Timer se chama WR_TIMER, e na USART se chama WR_USART)

MEM_INT_EXT

RD

WR

WR_X

2. Descrio geral do barramento

O barramento interno do 8051 um barramento multiplexado composto de uma linha de dados, uma linha de endereos e alguns sinais de controle. Ele possui um nico mestre, a CPU, que a nica capaz de iniciar operaes de leitura e de escrita de dados. Todos os outros mdulos conectados ao barramento apenas respondem s requisies da CPU. A forma de acesso da CPU ao barramento est descrita na seo 3 deste documento. O seu componente principal o Controlador do Barramento, que mostrado na figura abaixo. Em conjunto com um multiplexador de 8:1, tambm mostrado na figura, ele tem como funo principal controlar o fluxo de informaes do barramento (As conexes do multiplexadorBarramento fenix_especificacao_8051_barramento.doc Pg 5/16

Microcontrolador 8051

Fnix Project

esto descritas no apndice A). Para isso, ele recebe o contedo da linha de endereos, bem como alguns sinais de controle provenientes da CPU. De posse dessas informaes, o controlador pode configurar os sinais de controle do barramento corretamente.

Figura 1

O funcionamento do controlador bastante simples. Inicialmente ele verifica se a memria que est sendo acessada interna ou externa, atravs da leitura do sinal MEM_INT_EXT. Caso seja a memria interna, ele verifica se a operao sendo realizada pela CPU de leitura ou de escrita (sinais WR e RD provenientes da CPU), ativando, caso a operao seja de escrita, as linhas de gravao nos escravos. Em seguida, ele usa o sinal DATA_SEL para selecionar, no multiplexador citado no pargrafo anterior, a procedncia da informao que est presente na linha de dados do barramento, de acordo com o valor existente na linha de endereos. A decodificao de endereo realizada pelo Controlador do Barramento est descrita na seo 4 deste documento. Para que possam ser conectados ao barramento, os mdulos do Timer, da USART e da RAM, bem como cada uma das portas (P0 a P3), tero como entrada a linha de dados do barramento e o sinal de habilitao de gravao proveniente do controlador do barramento. O Timer e a RAM, como possuem vrios SFRs dentro deles, tero que fazer uma decodificao deBarramento fenix_especificacao_8051_barramento.doc Pg 6/16

Microcontrolador 8051

Fnix Project

endereo interna, para saber qual deles ser usado nas operaes de leitura/escrita (a USART possui apenas SBUF). Essa decodificao foge do escopo deste documento, e est descrita nas especificaes dos mdulos em questo. Cada um desses mdulos tem apenas uma sada de dados, que esto conectadas ao multiplexador mostrado na figura 1. O esquema genrico de interconexo dos mdulos ao barramento mostrado na figura 2. O acesso ao barramento pelos mdulos escravos est descrito na seo 5 deste documento.

Figura 2

Quando a CPU est acessando memria externa, as portas P0 e P2 so usadas como passagem de dados/endereo para ela, conforme descrito no documento de especificao da IO. A interconexo do barramento com as portas 0 e 2 descrita no mesmo documento. O mdulo de controle da interrupo tem acesso de escrita ao barramento (mais especificamente linha de endereos), quando ela precisa informar o novo valor do PC CPU. Entretanto, como o barramento possui apenas um mestre, que a CPU, o mdulo de interrupo precisa pedir autorizao a ela para poder escrever na linha de endereos. Este pedido feito atravs de um protocolo simples, que foge do escopo deste documento, e est descrito na especificao do mdulo de interrupo.

Barramento

fenix_especificacao_8051_barramento.doc

Pg 7/16

Microcontrolador 8051

Fnix Project

3. Funcionalidade: Acesso ao Barramento pela CPU 3.1 Descrio

Pr-condies: ACK_INT tem o valor 0, ou seja, a CPU tem o controle do sinal ADDR. Ps-condies: no se aplica.

Fluxo de Eventos Principal1. Esta funcionalidade se inicia quando a CPU deseja ler ou escrever um dado na memria externa ou em algum dispositivo conectado ao barramento interno do 8051. Todas formas possveis de acesso ao barramento pela CPU esto listadas a seguir, e so posteriormente descritas na seo de subfluxos deste captulo: a. [SB001] Operao de leitura em dispositivos internos ao 8051. b. [SB002] Operao de escrita em dispositivos internos ao 8051. c. [SB003] Operao de leitura na RAM externa. d. [SB004] Operao de escrita na RAM externa.

Subfluxos [SB001] Operao de leitura em dispositivos internos ao 80511. A CPU ativa o sinal RD e desativa o sinal MEM_INT_EXT, ao mesmo tempo em que coloca o endereo a ser lido na linha de endereos. 2. O Controlador do Barramento decodifica1 o endereo presente na linha de endereos, e seleciona a sada de dados dispositivo que responde por esse endereo (DO_X) como fonte da linha de dados do barramento. 3. N ciclos de clock depois, a CPU l e armazena o valor contido na linha de dados.

[SB002] Operao de escrita em dispositivos internos ao 80511. A CPU ativa o sinal WR e desativa o sinal MEM_INT_EXT, ao mesmo tempo em que coloca o endereo a ser escrito na linha de endereos. 2. O Controlador do Barramento decodifica1 o endereo presente na linha de endereos, e seleciona a sada de dados da CPU (DO_CPU) como fonte da linha de dados do barramento, ao mesmo tempo em que ativa o sinal WR_X do dispositivo que responde por esse endereo. 3. N ciclos de clock depois, o dispositivo armazena o valor presente na linha de dados. 4. A CPU desativa o sinal WR, e o Controlador do Barramento desativa o sinal WR_X.1

A decodificao de endereo est descrita na seo 4 deste documento.fenix_especificacao_8051_barramento.doc Pg 8/16

Barramento

Microcontrolador 8051

Fnix Project

Barramento

fenix_especificacao_8051_barramento.doc

Pg 9/16

Microcontrolador 8051

Fnix Project

[SB003] Operao de leitura na RAM externa21. A CPU ativa o sinal RD e ativa o sinal MEM_INT_EXT, ao mesmo tempo em que coloca o endereo a ser lido na linha de endereos. 2. O Controlador do Barramento seleciona a sada de dados da Porta 0 como fonte da linha de dados do barramento. 3. N ciclos de clock depois, a CPU l e armazena o valor contido na linha de dados.

[SB004] Operao de escrita na RAM externa21. A CPU ativa o sinal WR e ativa o sinal MEM_INT_EXT, ao mesmo tempo em que coloca o endereo a ser escrito na linha de endereos. 2. O Controlador do Barramento seleciona a sada de dados da CPU como fonte da linha de dados do barramento. 3. N ciclos de clock depois, a memria externa armazena o valor presente na linha de dados. 4. A CPU desativa o sinal WR.

As operaes de leitura e escrita na memria externa, do ponto de vista da CPU e das portas, esto detalhadas no documento de especificao da IO. Neste documento, a descrio destas operaes limita-se participao do barramento nas mesmas.2

Barramento

fenix_especificacao_8051_barramento.doc

Pg 10/16

Microcontrolador 8051

Fnix Project

4. Funcionalidade: Decodificar Endereo do Barramento 4.1 Descrio

Pr-condies: MEM_INT_EXT tem o valor 0 (ou seja, est desativado). Ps-condies: no se aplica.

Fluxo de Eventos Principal1. Esta funcionalidade se inicia quando o contedo da linha de endereos modificado, durante o acesso memria interna. A decodificao tem efeitos diferentes de acordo com o tipo de operao realizado. No caso de operaes de leitura, o controlador do barramento seleciona a sada de dados do dispositivo que corresponde ao endereo presente na linha de dados como fonte da linha de dados do barramento. J no caso de operaes de escrita, o papel do Controlador do Barramento ativar o sinal de gravao em cada dispositivo, alm de selecionar a CPU como fonte da linha de dados. 2. A tabela a seguir faz o mapeamento entre endereos (ou faixas de endereos) de memria (em notao decimal) e os dispositivos que correspondem a eles3:

Endereo(s) 0 a 127, 135, 137, 168, 169, 185 128 138 a 141 144 152 160 176

Dispositivo Correspondente RAM P0 Timer P1 USART P2 P3

.3

Os endereos da memria interna que no constam na tabela correspondem aos SFRs internos CPU.fenix_especificacao_8051_barramento.doc Pg 11/16

Barramento

Microcontrolador 8051

Fnix Project

Barramento

fenix_especificacao_8051_barramento.doc

Pg 12/16

Microcontrolador 8051

Fnix Project

5. Funcionalidade: Acesso ao Barramento pelos Mdulos Escravos 5.1 Descrio

Pr-condies: no se aplica. Ps-condies: no se aplica.

Fluxo de Eventos Principal1. Esta funcionalidade se inicia quando o mdulo necessita realizar uma operao de leitura ou de escrita no barramento, conforme requisio da CPU. A descrio de cada uma das operaes feita nos seguintes subfluxos: a. [SB001] Operao de leitura em dispositivos que no realizam decodificao de endereo. b. [SB002] Operao de leitura em dispositivos que realizam decodificao de endereo. c. [SB003] Operao de escrita em dispositivos que no realizam decodificao de endereo. d. [SB004] Operao de escrita em dispositivos que realizam decodificao de endereo.

Subfluxos [SB001] Operao de leitura em dispositivos que no realizam decodificao de endereo1. O mdulo escreve na sua porta de sada de dados, o tempo todo, o valor de seu SFR interno.

[SB002] Operao de leitura em dispositivos que realizam decodificao de endereo1. O mdulo escreve na sua porta de sada de dados, o tempo todo, o valor do SFR interno correspondente ao ltimo endereo vlido que foi decodificado.

[SB003] Operao de escrita em dispositivos que no realizam decodificao de endereo1. Quando o Controlador do Barramento coloca o valor 1 no sinal WR_X, o mdulo l esse valor e o armazena em seu SFR interno.

[SB004] Operao de escrita em dispositivos que realizam decodificao de endereo

Barramento

fenix_especificacao_8051_barramento.doc

Pg 13/16

Microcontrolador 8051

Fnix Project

1. Quando o Controlador do Barramento coloca o valor 1 no sinal WR_X, o mdulo l esse valor e o armazena no SFR interno correspondente ao endereo presente na linha de endereos.

Barramento

fenix_especificacao_8051_barramento.doc

Pg 14/16

Microcontrolador 8051

Fnix Project

6. Apndice A: Cdigos de Seleo do Multiplexador do Barramento

O multiplexador que faz parte do barramento um multiplexador 8:1 convencional, com oito portas de entrada e apenas uma sada, cujo valor corresponde ao de uma das entradas, que selecionada com base num cdigo passado para ele. No caso do barramento interno do 8051, os dados presentes nas entradas do multiplexador so os sinais de sada de dados provenientes dos seus mdulos internos, que so a CPU, o Timer, a RAM, a USART e as quatro portas (P0 a P3), e o sinal de sada a linha de dados do barramento. J o cdigo de seleo est contido no sinal DATA_SEL. Na tabela a seguir, so listados os cdigos de seleo do multiplexador do barramento. :

DATA_SEL 000 001 010 011 100 101 110 111

Fonte da Linha de Dados DO_USART DO_TIMER DO_RAM DO_CPU DO_P0 DO_P1 DO_P2 DO_P3

Barramento

fenix_especificacao_8051_barramento.doc

Pg 15/16

Microcontrolador 8051

Fnix Project

Referncias[1] Documento de Requisitos Microcontrolador 8051, fenix_requisitos_8051.doc; [2] Documento de Especificao da CPU do 8051, fenix_especificacao_8051_CPU.doc; [3] Documento de Especificao da RAM do 8051, fenix_especificacao_8051_RAM.doc; [4] Documento de Especificao da USART do 8051, fenix_especificacao_8051_usart.doc; [5] Documento de Especificao do Timer do 8051, fenix_especificacao_8051_timer.doc; [6] Documento de Especificao do IO do 8051, fenix_especificacao_8051_io.doc; [7] Documento de Especificao das Interrupes do 8051, fenix_especificacao_8051_interrupcao.doc;

Barramento

fenix_especificacao_8051_barramento.doc

Pg 16/16