Gui˜
ao 2
Portas de Entrada/Sa´ıda
Jo˜
ao Paulo Sousa
jpsousa@fe.up.pt
2.1 Introdu¸c˜ao e objectivos . . . 1
2.2 Constitui¸c˜ao interna e modo de funcionamento . . . 2
2.2.1 Portas P1 e P3 . . . 2
2.2.2 Portas P0 e P2 . . . 3
2.3 Interface com o exterior . . . 3
2.3.1 Caracter´ısticas el´ectricas das portas . . . 3
2.3.2 Entradas simples e com isolamento . . . 4
2.3.3 Sa´ıda sem isolamento para um LED . . . 5
2.3.4 Sa´ıdas com isolamento ´optico . . . 5
2.1
Introdu¸
c˜
ao e objectivos
O projecto de um sistema microcontrolado engloba, para al´em do projecto l´ogico, o projecto el´ectrico de todas as interliga¸c˜oes. Esta componente do projecto requer um conhecimento apro-fundado das caracter´ısticas el´ectricas dos componentes utilizados e, no caso particular dos mi-crocontroladores, da constitui¸c˜ao interna, modo de funcionamento e caracter´ısticas el´ectricas das portas de entrada/sa´ıda.
Este trabalho incide sobre um dos elementos base da fam´ılia 51 – o AT89C51, fabricado pela Atmel – e tem como objectivo a familiariza¸c˜ao com as portas de entrada/sa´ıda do microcontro-lador, particularmente nos seguintes aspectos:
• estrutura interna e modo de funcionamento, • caracter´ısticas el´ectricas,
• projecto de interfaces com o exterior.
A metodologia a usar ser´a a an´alise, projecto e simula¸c˜ao dos circuitos envolvidos. Como ferramenta de simula¸c˜ao recomenda-se a aplica¸c˜ao Electronics Workbench (EWB), dispon´ıvel na rede do DEEC.
Ainda que de n´ıvel introdut´orio, assume-se a existˆencia de conhecimentos pr´evios sobre esta familia de microcontroladores. Como elementos de estudo recomendam-se [2, p´aginas 40 a 43], [3, p´aginas 565 e seguintes] e [4, p´aginas 151 e seguintes] onde estes assuntos est˜ao apresentados em detalhe.
2.2
Constitui¸
c˜
ao interna e modo de funcionamento
2.2.1 Portas P1 e P3
Todos os bits da porta P3 e alguns bits da porta P1, para al´em de funcionarem como bits de entrada/sa´ıda, tˆem uma fun¸c˜ao alternativa, apresentada na tabela 2.1.
Bit Fun¸c˜ao alternativa
P3.0 Entrada de dados para a porta s´erie (RxD) P3.1 Sa´ıda de dados da porta s´erie (TxD) P3.2 Entrada de interrup¸c˜ao (INT0) P3.3 Entrada de interrup¸c˜ao (INT1)
P3.4 Entrada de contagem de impulsos (T0) P3.5 Entrada de contagem de impulsos (T1)
P3.6 Sa´ıda de controlo de escrita na mem´oria de dados externa (WR) P3.7 Sa´ıda de controlo de leitura da mem´oria de dados externa (RD) P1.0 Entrada de contagem de impulsos (T2)
P1.1 Entrada para captura/recarregamento de valores (T2EX) Tabela 2.1: Fun¸c˜oes alternativas das portas P3 e P1
Na figura 2.1 est˜ao representadas as c´elulas de entrada/sa´ıda associadas a pinos sem e com fun¸c˜ao alternativa. Os primeiros s˜ao constitu´ıdos simplesmente por um flip-flop, um amplificador de sa´ıda em dreno aberto (MOSFET de canal N) com pull-up interno e um amplificador de entrada; os segundos possuem portas l´ogicas adicionais que permitem encaminhar a fun¸c˜ao alternativa do interior para o exterior do microcontrolador e vice-versa. A estrutura b´asica de
Q /Q D Clk Vcc LR Pino Bar ra mento i nter no ER LP SUC0203-02A
(a) Pino sem fun¸c˜ao alternativa
Q /Q D Clk Vcc LR Pino Bar ra mento i nter no ER LP SUC0203-02B SA EA
(b) Pino com fun¸c˜ao alternativa
Figura 2.1: C´elulas de entrada/sa´ıda associadas a pinos sem e com fun¸c˜ao alternativa uma porta disp˜oe de trˆes sinais de controlo que permitem: a escrita no registo (ER), a leitura do registo (LR), e a leitura do pino (LP). Estes sinais internos s˜ao activados por instru¸c˜oes espec´ıficas do microcontrolador; por exemplo, a instru¸c˜ao MOV P1.7,C coloca o valor da flag carry no bit mais significativo do barramento interno e seguidamente actua o sinal ER da c´elula associada ao pino P1.7 para que esse valor seja transferido para o registo e, consequentemente,
para o pino associado. Esta estrutura permite sempre escrever e ler o registo interno mas s´o permite ler o pino se o registo interno estiver no n´ıvel l´ogico alto. Porquˆe?
Os sinais SA e EA – respectivamente sa´ıda alternativa e entrada alternativa – permitem encaminhar a fun¸c˜ao alternativa do interior para o exterior do microcontrolador (sinal SA) e vice-versa (sinal EA). Obviamente s´o existem nas c´elulas associadas a pinos com fun¸c˜ao alternativa. Repare que s´o ´e poss´ıvel usar a fun¸c˜ao alternativa (seja ela de entrada ou de sa´ıda) se o registo interno estiver no n´ıvel l´ogico alto. Porquˆe?
2.2.2 Portas P0 e P2
A porta P0 pode funcionar como barramento de dados, multiplexado temporalmente com a metade menos significativa do barramento de endere¸cos, e a porta P2 como metade mais sig-nificativa do barramento de endere¸cos. Em alternativa a estas fun¸c˜oes ambas funcionam como portas de entrada/sa´ıda normais. Confirme [2, p´ag. 40–41] que a porta P0 quando funciona como porta de entrada/sa´ıda n˜ao tem pull-up interno. Que implica¸c˜oes tem esse facto no seu modo de funcionamento?
2.3
Interface com o exterior
2.3.1 Caracter´ısticas el´ectricas das portas
As caracter´ısticas el´ectricas das portas do microcontrolador AT89C51 est˜ao apresentadas na tabela 2.2 e na figura 2.2. Se as condi¸c˜oes de validade n˜ao forem verificadas os valores dos parˆ
a-Parˆametro Valor Observa¸c˜oes e condi¸c˜oes de validade VIH 1.9V Valor m´ınimo para ser considerado um “1”
VIL 0.9V Valor m´aximo para ser considerado um “0”
IIH ≈ 0
IIL 50µA VIL= 0.45V
VOH 4.5V IOH (debitada) inferior a 10µA (80µA para P0)
VOH 3.75V IOH (debitada) inferior a 25µA (300µA para P0)
VOH 2.4V IOH (debitada) inferior a 60µA (800µA para P0)
VOL 0.45V IOL (absorvida) inferior a 1.6mA (3.2mA para P0)
Tabela 2.2: Caracter´ısticas el´ectricas das portas para Vcc=5V
2 3 4 5
0 10 20 30 40 50 60 70 80 90 100
IOH - Corrente debitada pela saída no nível alto (µA)
VOH
- Tensão de saída no nível alto (V)
Portas P1, P2 e P3 (a) 0 1 2 0.01 0.1 1 10 100
IOL - Corrente absorvida pela saída no nível baixo (mA)
VOL
- Tensão de saída no nível baixo (V)
Portas P1, P2 e P3
Porta P0
(b)
Figura 2.2: Curvas tens˜ao-corrente quando as portas funcionam como sa´ıda
uma corrente absorvida por uma sa´ıda superior a 1.6mA no n´ıvel l´ogico “0” significa apenas que a tens˜ao nesse pino vai ser superior a 0.45V o que, por si s´o, n˜ao significa que o circuito a jusante deixe de funcionar correctamente; tudo depender´a do que l´a estiver ligado.
Por simples inspec¸c˜ao da figura 2.2 facilmente se conclui que a capacidade de absorver cor-rente ´e muito superior `a capacidade de debitar corrente. Esta constata¸c˜ao ´e de grande impor-tˆancia no projecto de interfaces de sa´ıda.
Com base na curva tens˜ao-corrente no n´ıvel alto – figura 2.2(a) – estime um valor para a resistˆencia de pull-up. Na verdade n˜ao se trata de uma simples resistˆencia mas sim de um circuito activo com v´arios trans´ıstores MOSFET de canal P. Qual o motivo porque n˜ao existe curva para a porta P0?
2.3.2 Entradas simples e com isolamento
Uma entrada digital sem isolamento ´e o circuito de interface mais simples mas infelizmente con-duz a frequentes erros de projecto. Na figura 2.3 est˜ao representadas quatro configura¸c˜oes para ligar um interruptor (sensor) a uma porta de entrada mas nem todas funcionam correctamente.
8?? Pino SUC0203-02C (a) 8?? Pino 4k7 SUC0203-02D (b) SUC0203-02F Pino 8?? 10k (c) SUC0203-02E Pino (d)
Figura 2.3: Configura¸c˜oes para uma interface de entrada sem isolamento
Analise os circuitos e, se necess´ario, recorra ao simulador EWB para determinar qual (ou quais) s˜ao as correctas. Explique porquˆe.
Considerando as caracter´ısticas de entrada apresentadas na sec¸c˜ao anterior, que coment´arios se podem tecer sobre o valor da resistˆencia de pull-down da configura¸c˜ao (b) e da resistˆencia de pull-up da configura¸c˜ao (c)? De entre as configura¸c˜oes que funcionam qual ´e a mais eficiente em termos energ´eticos?
Quando se trabalha em ambientes onde exista o perigo de aparecimento de sobre-tens˜oes induzidas ou de um modo geral sempre que exista uma grande diferen¸ca entre as tens˜oes de funcionamento dos circuitos exteriores e do microcontrolador, justifica-se uma entrada digital com isolamento. A figura 2.4 representa uma configura¸c˜ao de princ´ıpio para ligar um interruptor (sensor) a uma porta de entrada com isolamento ´optico.
SUC0203-02G
Pino 4N25 "8
RD
8??
RP
Figura 2.4: Interface de entrada com isolamento ´optico
caracter´ıs-ticas el´ectricas do opto-acoplador (CTR – current transfer ratio, coeficiente de transferˆencia de corrente) e, obviamente, da tens˜ao de funcionamento dos circuitos exteriores pelo que o projecto do circuito apresentado requer o conhecimento dessa tens˜ao (24V neste caso). A resistˆencia RP ´e sempre necess´aria? Porquˆe?
Nos casos em que se pretende uma gama alargada de tens˜oes de funcionamento este circuito n˜ao funciona de forma eficiente. Porquˆe? Apresente uma solu¸c˜ao para uma entrada isolada que permita valores de VOH compreendidos entre 10V e 50V. Sugest˜ao: utilize uma fonte de
corrente com base num trans´ıstor JFET. Como se poderia proteger esta entrada contra invers˜oes de polaridade da alimenta¸c˜ao dos circuitos exteriores?
Comprove a validade das suas solu¸c˜oes recorrendo ao simulador EWB. Para representar o opto-acoplador poder´a usar uma fonte de corrente controlada por corrente.
2.3.3 Sa´ıda sem isolamento para um LED
A implementa¸c˜ao de uma sa´ıda digital para um LED ´e tamb´em um circuito de interface simples que conduz a erros de projecto frequentes. A figura 2.5, representa quatro configura¸c˜oes para ligar um LED (ou outra carga que consuma uma corrente da mesma ordem de grandeza) a uma porta do microcontrolador mas nem todas funcionam correctamente. Em face das caracter´ısticas
SUC0203-02H Pino RP (a) Pino 8?? SUC0203-02J RP (b) Pino SUC0203-02I 8?? RB1 RB2 RC (c) Pino SUC0203-02K 8?? RB RC (d)
Figura 2.5: Interfaces de sa´ıda simples
de sa´ıda das portas determine, justificando, quais as configura¸c˜oes correctas. Se necess´ario recorra ao simulador EWB para confirmar as suas previs˜oes. Para simplificar a simula¸c˜ao deve substituir o transistor MOSFET por um inversor CMOS com sa´ıda em dreno aberto (HC-OD). Com base nas configura¸c˜oes tipo apresentadas, projecte uma interface de sa´ıda para um LED de baixo consumo (ID = 3mA, VD = 1.1V ) e outra para uma lˆampada incandescente (6V /5W ).
Tenha o cuidado de n˜ao ultrapassar a corrente m´axima admiss´ıvel nas portas [1, p´ag. 37]. Os parˆametros de sa´ıda da porta s˜ao afectados?
2.3.4 Sa´ıdas com isolamento ´optico
O isolamento ´optico justifica-se agora pelas caracter´ısticas da carga. No caso de um rel´e – figura 2.6(a) – o comportamento indutivo da carga poder´a fazer aparecer picos de tens˜ao elevados nos momentos de comuta¸c˜ao.
A configura¸c˜ao de princ´ıpio apresentada n˜ao apresenta qualquer novidade. O d´ıodo em paralelo com o enrolamento do rel´e ´e necess´ario para possibilitar um caminho de fuga para a energia armazenada na bobina nos momentos em que esta deixa de ser actuada.
No caso de uma carga funcionando na rede el´ectrica de 230V a necessidade de isolamento ´
e obvia. A configura¸c˜ao de princ´ıpio mais simples – figura 2.6(b) – utiliza um opto-triac. A desvantagem desta configura¸c˜ao ´e que n˜ao existe a garantia de que a comuta¸c˜ao se fa¸ca nos instantes em que a tens˜ao da rede el´ectrica passa por zero de modo a minimizar a interferˆencia electromagn´etica e, no caso de a carga ser uma lˆampada incandescente, maximizar o tempo de vida do filamento. Pino Vcc RP SUC0203-02M V+ RB 4N25 RC
(a) Carga indutiva
Pino 8?? RP SUC0203-02N !8=? 120 MOC3020 1k BT139 39 10nF (b) Carga a 230Vac
Figura 2.6: Interfaces de sa´ıda com isolamento
Com a ajuda do simulador EWB projecte uma interface para um rel´e de 12V supondo que a corrente para o fazer atracar ´e de 24mA. Sabendo que a corrente necess´aria para o manter atracado ´e apenas 1/4 desse valor que altera¸c˜oes ao projecto sugere?
Como projecto integrador de todo este gui˜ao apresente uma interface que permita a um microcontrolador acender e apagar um conjunto de lˆampadas incandescentes totalizando 1kW de potˆencia, ligadas `a rede el´ectrica de 230Vac com funcionamento sincronizado pelos instantes em que a tens˜ao da rede passa por zero. Sugest˜ao: use uma sa´ıda isolada opticamente para controlar a carga e uma entrada isolada opticamente para detectar os instantes em que a tens˜ao da rede passa por zero.
Bibliografia
[1] ATMEL Semiconductors. AT89C51, 8 Bit Microcontroller with 4K Bytes Flash – Product Data Sheet, Dezembro 1997.
[2] ATMEL Semiconductors. AT89 Series Hardware Description, Dezembro 1998.
[3] Paul Horowitz and Winfield Hill. The Art of Electronics. Cambridge University Press, 2 edition, 1990. ISBN 0–52–137095–7. Existe na biblioteca.
[4] Thomas Schultz. C and the 8051: building efficient Applications, volume 2. Prentice Hall, 1999. ISBN 0–13–521121–2. Ainda n˜ao existe na biblioteca.
Anexo: relembrando as fontes de corrente com JFET. . .
Para valores baixos de vDS, isto ´e, inferiores a vGS− VP, a rela¸c˜ao entre iD e vDS num transistor
JFET ´e praticamente linear (zona ohmica) mas `a medida que vDS sobe o transistor entra na
zona de satura¸c˜ao onde iD pouco depende de vDS mas praticamente s´o de vGS. Nesta zona o
transistor funciona como uma fonte de corrente controlada por vGS. ´E o que se passa no circuito
apresentado. A equa¸c˜ao que rege o funcionamento do transistor na zona de satura¸c˜ao ´e:
SUC0203-02P 4N25 10..30V RS VGS ID iD = IDSS 1 −vGS VP 2 (1 + λvDS) ≈ IDSS 1 −vGS VP 2 (2.1) ou, explicitando em ordem a vGS:
vGS = VP 1 − s iD IDSS ! (2.2)
com vGS = −RS× iD, imposta pelo circuito. (2.3)
O valor de RS determina-se por (2.3) depois de impor um valor para a corrente iD e calcular por
(2.2) o valor de vGS correspondente. Os gr´aficos, retirados da folha de caracter´ısticas, permitem
conhecer os valores t´ıpicos de VP e IDSS para 3 trans´ıstores JFET de canal N de uso comum.
ndbook, halfpage VGS (V) ID (mA) 6 0 −4 −2 0 MGE789 5 4 3 2 1 (a) BF245A dbook, halfpage VGS (V) ID (mA) 15 0 −4 −2 0 MGE787 10 5 (b) BF245B ndbook, halfpage VGS (V) ID (mA) 30 0 −10 −5 0 MGE788 20 10 (c) BF245C dbook, halfpage VDS (V) ID (mA) 6 0 0 10 20 MBH555 5 4 3 2 1 VGS = 0 V −0.5 V −1 V −1.5 V (d) BF245A dbook, halfpage VDS (V) ID (mA) 30 0 0 10 20 MBH554 20 10 VGS = 0 V −1 V −2 V −3 V −4 V (e) BF245B dbook, halfpage VDS (V) ID (mA) 15 0 0 10 20 MBH553 10 5 VGS = 0 V −0.5 V −1 V −1.5 V −2 V −2.5 V (f) BF245C