Hardware BeagleBone Black - Alimentação - Parte 4

beaglebone black com yocto 7Masters

Introdução

 

Dando sequência nos artigos sobre a alimentação da plataforma BeagleBone Black, vamos analisar os últimos níveis de tensão desse sistema. Nos artigos anteriores verificamos qual a estratégia adotada para este circuito, os principais componentes e a maioria das linhas de alimentação. Neste artigo vamos verificar as linhas restantes.

 

Esses artigos serão a base de uma análise aprofundada do hardware desse sistema. Servirão como fundamentos para a criação de "Capes" e a elaboração de hardwares derivados.

 

 

Alimentação de principal de 3V3 (VDD_3V3A)

 

Essa alimentação é gerada pelo LDO4, sendo fixa em 3,3V para o nosso PMIC. Pode fornecer até 400mA e alimenta uma série de circuitos do sistema, começando pelo próprio PMIC, onde os resistores de pull-up da comunicação I2C possuem essa alimentação como referência. No mesmo componente, alimenta o pull-up para a interrupção.

 

Resistores de pull-up nos sinais do PMIC.
Resistores de pull-up nos sinais do PMIC.

 

Essa tensão também é responsável pelo funcionamento do circuito de reset. Trata-se de uma montagem clássica com um circuito RC formado pelo R14 e C24, onde o capacitor começa descarregado e, no momento que a alimentação se apresenta, este começa a carregar.

 

Exemplo de circuito de Reset, conforme a indicação da documentação do núcleo.
Exemplo de circuito de Reset, conforme a indicação da documentação do núcleo.

 

 

É interessante verificar que a estratégia de layout colocou esses dispositivos próximos ao JTAG, em vez de deixar próximo ao botão de Reset (S1), ou mesmo ao processador.

 

O par resistor/capacitor para o bloco de Reset.
O par resistor/capacitor para o bloco de Reset.
Circuito de Reset formado por um RC, conforme o esquema da plataforma.
Circuito de Reset formado por um RC, conforme o esquema da plataforma.

 

Segundo a documentação do AM335x, esse dispositivo considera como nível baixo qualquer tensão inferior a 0,8V (para entender melhor, segue um artigo sobre os Níveis de Tensão). Como o estado de reset é mantido em nível baixo, podemos garantir que ele se manterá em reset ao menos até o capacitor chegar a essa tensão. Assim, considerando a carga do capacitor segue a seguinte fórmula:

 

Descarga do capacitor.
Descarga do capacitor.

 

Temos então que:

 

Cálculo do tempo de Reset.
Cálculo do tempo de Reset.

 

Logo, temos a certeza que o sistema permanecerá em Reset ao menos durante 6,1mS.

 

O circuito integrado SN74LVC1G06DCK (U3) também é alimentado pelo LDO4. Trata-se de um inversor open-drain, responsável por gerar o sinal de reset para a memória eMMC do dispositivo. A referência de nível alto para este sinal é dado por R111, fornecido por outra fonte de alimentação, conforme veremos mais adiante.

 

Componente responsável pelo Reset do eMMC.
Componente responsável pelo Reset do eMMC.
U3.
SN74LVC1G06DCK - Inversor open-drain responsável pelo Reset da eMMC.

 

A alimentação VDD_3V3A também alimenta o SN74AUC1G74 (U6). Este componente é um flip-flop do tipo D, configurado especificamente para fazer a divisão do clock. Dessa forma, a saída terá duty-cycle de 50%. Esse sinal é especificamente para o circuito do HDMI.

 

Flip-flop tipo D para o Clock do HDMI.
Flip-flop tipo D para o Clock do HDMI.
U6
SN74AUC1G74 - Flip-Flop tipo D, fazendo a divisão do clock e mantendo o duty-cycle em 50%.

 

Outro oscilador alimentado pela linha de VDD_3V3A é o Y4. Trata-se de um circuito gerador de clock de 24,576MHz. O BOM desse circuito indica que é possível selecionar até três possíveis opções para esse oscilador, ASDMB-24.576MHZ-LC-T da Abracom, ECS-2033-24.576-B da ECS Inc e ISM95-3161BH-24.576 da ILSI. Todas elas têm precisão de 50ppm e são compatíveis com CMOS/TTL.

 

Oscilador Y4, controlado pelo núcleo.
Oscilador Y4, controlado pelo núcleo.

 

 

Esta linha de alimentação também é responsável pelos 3V3 do núcleo e do circuito de USB. Os canais VDDA3P3V_USB0 e VDDA3P3V_USB1 são alimentados por esse regulador, assim como as entradas VDDSHVxx.

 

No datasheet do núcleo é possível verificar o que é alimentado por cada linha de alimentação. Podemos, então, verificar que a linha VDDSHVxx alimenta a maioria dos periféricos presentes no AM335x. É por essa alimentação que são gerados os sinais de 3V3 dos GPIOs, UARTs, SPIs, MMC, etc.

 

A alimentação VDD_3V3A alimentando o núcleo.
A alimentação VDD_3V3A alimentando o núcleo.

 

Outro bloco fundamental alimentado pelo VDD_3V3A é a configuração de BOOT do sistema. Tratam-se de resistores de pull-up e pull-down que, de acordo com sua configuração montado/não-montado determinam por qual dispositivo o sistema vai inicializar. Nesse momento, nossa análise está se preocupando apenas em conhecer os pontos alimentados por cada canal dos reguladores. Dessa forma, deixaremos para avaliar o que cada resistor define nessa configuração em um momento futuro.

 

Seleção do processo de BOOT através de resistores pull-up e pull-down.
Seleção do processo de BOOT através de resistores pull-up e pull-down.
Resistores de Boot.
Resistores de Boot.

 

Finalizando o VDD_3V3A, mas não menos importante, vamos analisar a memória I7. Trata-se de uma Serial EEPROM 24LC32A, que comunica através do barramento I2C . Esse dispositivo possui gravado informações sobre a plataforma, que pode ser lido pelo barramento I2C, compartilhado nas barras de extensão.

 

Memória I2C responsável pela identificação da plataforma.
Memória I2C responsável pela identificação da plataforma.

 

 

Alimentação secundária de 3V3 (VDD_3V3B)

 

Esta alimentação é a única que não é fornecida pelo PMIC. Trata-se de um regulador LDO TL5209, da Texas Instruments, que pode fornecer até 500mA. A entrada dessa alimentação vem diretamente do SYS_5V, sendo este regulador ajustável através dos resistores R10 e R11. Como vimos anteriormente, quem habilita essa tensão é o VDD_3V3A. A documentação indica claramente que isso é feito para se reduzir o delay nas linhas de 3V3, conforme a versão A6 da plataforma.

 

"Moved the enable for the VDD_3V3B regulator to VDD_3V3A rail. Change was made to reduce the delay between the ramp up of the 3.3V rails."

"Movido a habilitação para o regulador VDD_3V3B para a linha de VDD_3V3A. Esta alteração foi feita para reduzir o atraso entre a subida nas linhas de 3,3V." - Em uma tradução livre.

 

É importante perceber que, mesmo reduzindo esse delay, esse regulador apenas alimenta dispositivos externos ao núcleo. Dessa forma, quando a linha VDD_3V3B estiver estabilizada, a linha principal VDD_3V3A já estará em pleno funcionamento.

 

Circuito do VDD_3V3B, formado pelo TL5209.
Circuito do VDD_3V3B, formado pelo TL5209.

 

 

Para o nosso caso, o regulador foi calculado para Vo = 1,242 ( 1 + R10/R11) = 3,327V. Considerando apenas as tolerâncias dos resistores (1%), essa tensão pode variar apenas 1,25% (de 3,369V a 3,286V), sendo assim bastante estável. Uma série de circuitos são alimentados com esse regulador nesta plataforma. Podemos observar essa linha de alimentação no conector do JTAG P2, tanto como referência de pull-up (R23 e R24), como própria alimentação (P2.5).

 

Conector para JTAG, ligado à alimentação VDD_3V3B.
Conector para JTAG, ligado à alimentação VDD_3V3B.

 

Um adendo referente ao layout desse conector é a posição do pino 1. Em um primeiro momento, não é possível verificar qual é a posição correta, uma vez que não há nenhuma marcação no silk. No entanto, o System Reference Manual possui uma explicação melhor sobre a pinagem.

 

Indicação do pino 1 para o conector do JTAG.
Indicação do pino 1 para o conector do JTAG.

 

A tensão de VDD_3V3B também é passada para o núcleo na forma de uma sinal no conversor ADC. Podemos observar um divisor resistivo formado por R163 e R164 alimentando o canal 7 do ADC (AIN7). Sendo assim, o valor em AIN7 segue a seguinte regra:

 

Divisor resistivo.
Divisor resistivo.

 

Logo:

 

Tensão em AIN7
Tensão em AIN7.
Indicação de VDD_3V3B em um canal de ADC.
Indicação de VDD_3V3B em um canal de ADC.

 

Essa tensão também alimenta o U15 (SN74LVC2G241), que faz o trabalho de buffer de sinal para a serial presente em J1. Essa é a porta serial de debug do sistema, que não está presente nos conectores P8 e P9. O buffer faz o casamento dos níveis de sinais para garantir o TTL-3V3, além de servir como proteção para o núcleo.

 

Buffer para a serial em J1.
Buffer para a serial em J1.
Posição do buffer elétrica para o J1.
Posição do buffer elétrica para o J1.

 

Essa alimentação também é responsável pela alimentação da eMMC da BeagleBone Black (U13). Esse componente (MTFC4GLDEA) permite uma tensão de alimentação de 2,7V a 3,6V, separadas em VCC e VCCQ. A primeira (VCC) é responsável pela alimentação da memória NAND Flash e do bloco de acesso à essa memória (NAND I/O Block).

 

A segunda entrada de alimentação (VCCQ) é responsável por dois blocos fundamentais desse dispositivo. Primeiramente ela alimenta o bloco de acesso externo, o MMC I/O Block. Esse bloco é responsável pelos níveis de comunicação, e é conveniente que seja alimentado pelo mesmo bloco que fará a interface com o núcleo.

 

O segundo bloco que ele alimenta é um regulador interno, que fornece uma tensão para o core do dispositivo. Esse regulador interno gera um nível de tensão denominado VCCI (ou VDDI, dependendo da documentação). Como qualquer regulador, ele precisa de um capacitor de filtro que precisa ficar externo ao dispositivo. Esse capacitor possui um valor de, no mínimo, 100nF.

 

Diagrama interno da memória eMMC.
Diagrama interno da memória eMMC.

 

Para o nosso circuito, tanto VCC quanto VCCQ estão ligados na mesma alimentação de VDD_3V3B. Para VCCI, verificamos que foi adotado um capacitor de 2,2uF, o C125.

 

Alimentação da eMMC do circuito.
Alimentação da eMMC do circuito.
O silk U13 foi deixado invertido para podermos ver o nome do fabricante, "Kingstone".
O silk U13 foi deixado invertido para podermos ver o nome do fabricante, "Kingstone".

 

Esse circuito também alimenta diretamente o cartão uSD da plataforma, presente no capacitor P10. Esse cartão segue o mesmo princípio de funcionamento do eMMC, diferenciando em apenas poucos comandos no que se refere ao protocolo. Eletricamente, são praticamente idênticos, exceto pelo eMMC trabalhar com 8 bits de dados, e o uSD trabalhar com 4 bits. Aquém disso, é possível verificar que este circuito é extremamente similar ao do eMMC que vimos anteriormente.

 

Conector para uSD.
Conector para uSD.

 

Essa alimentação se apresenta externamente através dos pinos P9.3 e P9.4 do conector de expansão. Também está servindo de referência através de resistores de pull-up para o PHY (R112, R113 e R114) e para a interrupção do HDMI (R158).

 

 

Alimentação VDD_3V3B no conector P9.
Alimentação VDD_3V3B no conector P9.


 

linhas de alimentação
Resistores de pull-up que utilizam essa referência.

 

 

Alimentação auxiliar de 3V3 (VDD_3V3AUX)

 

A alimentação VDD_3V3AUX é fornecida pelo LDO2, que possui uma saída inicial de 3,3V. Tudo indica que o uso de um regulador externo (TL5209, U4) para VDD_3V3B em vez do uso de LDO2 do PMIC é por conta do consumo de corrente. Ele pode fornecer apenas 250mA, metade do regulador usado.

 

Nas primeiras versões de placa, essa tensão era utilizada como enable para a saída de VDD_3V3B, posteriormente alterada para o próprio VDD_3V3A por questões de sincronismo, como vimos. A única carga presente nele é um LED azul (LTST-C191TBKT), e mesmo esse sofreu alterações. O resistor R12 foi alterado de 820R para 4,75K para diminuir o brilho. O esquema de saída desse circuito é dado conforme segue:

 

 

linhas de alimentação
Esquema da saída de VDD_3V3AUX.

 

 

Alimentação da USB Host (USB1_PWR)

 

O canal USB1_PWR não é exatamente uma saída de um regulador como vimos até então. Mas como trata da alimentação da USB Host do dispositivo, faz todo o sentido ser explicado aqui. Sua alimentação principal vem dos 5V fornecidos por SYS_5V.

 

linhas de alimentação
Alimentação da USB Host.

 

Essa alimentação é passada para o conector USB através de um controle chamado TPS2051. Trata-se de um "Power-Distribution Switch", da Texas Instruments. Ele controla a saída da tensão ou não de acordo com seu pino de Enable. Esse pino possui um resistor de pull-down, o que mantém o dispositivo desabilitado durante a inicialização do sistema. Após essa inicialização, esse pino é controlado por USB1_DRVVBUS, presente no núcleo do GPIO3_13.

 

Ele também possui um limitador de corrente interno de 500mA. No caso de um curto-circuito ou sobre-corrente, o sistema limita esse valor e indica a informação através de uma saída dreno-aberto. No nosso caso, essa saída é passada para o núcleo através do sinal USB1_OCn, fazendo uso de R52 como resistor de pull-up.

 

linhas de alimentação
Controle de saída TPS2051.

 

O circuito integrado TPD4012 (U9) é um circuito de proteção ESD de 4 canais, específico para USB. Ele faz a proteção contra qualquer discarga eletrostática que possa acontecer no conector.

 

 

Alimentação da Ethernet (VDD_PHYA)

 

Trata-se da alimentação dos dispositivos responsáveis pela Ethernet de nossa plataforma, principalmente o LAN8710A (U14). É derivada de VDD_3V3B, passando pelo indutor FB4. Essa tensão também alimenta o ponto central do transformador de rede para RX e TX, através do resistor R137.

 

linhas de alimentação
Alimentação da Ethernet VDD_PHYA, vinda de VDD_3V3B.
 
 

Alimentação Interna do LAN8710A (PHY_VDDCR)

 
O componente responsável pelo PHY trabalha com uma tensão interna de 1V2 que pode ser gerado internamente ou externamente. Caso fosse decidido utilizar um regulador externo, seria preciso desabilitar o circuito interno. A estratégia desse componente para o controle desse regulador foi utilizar o pino de LED para isso (LED1/REGOFF). Dessa forma, colocando o LED como pull-up, o regulador interno estaria desabilitado e uma fonte externa seria necessária. Colocando o LED como pull-down, o regulador interno estaria ativo e apenas um capacitor seria necessário. 
 
linhas de alimentação
Diagrama do LAN8710A com regulador interno habilitado.
linhas de alimentação
Diagrama do LAN8710A com regulador interno desabilitado.
 
 
Na plataforma BeableBone Black foi decidido fazer uso da fonte interna. Por conta disso, podemos verificar apenas os capacitores C134 e C136 presentes no pino VDDCR U14.6 (PHY_VDDCR). Também verificamos como o controle do regulador foi feito, através do LED presente no pino P5.9 e do resistor R132.
 
 
linhas de alimentação
Regulador interno habilitado para LAN8710A.

 

Conclusão

 

Este artigo finaliza a primeira parte do nosso estudo. Verificamos todas a linhas de alimentações, seus limites de correntes, reguladores e filtros. Verificamos quais dispositivos são ligados em cada uma delas e quais as opções que nos são dadas em relação a resistores e componentes.

 

Vamos continuar nosso trabalho com a BeagleBone Black, agora utilizando o que estudamos como base.

 

 

Referência

 

LAN8710Ahttp://ww1.microchip.com/downloads/en/DeviceDoc/8710a.pdf
MTFC4GLDEAhttp://pdf1.alldatasheet.com/datasheet-pdf/view/526211/MICRON/MTFC4GMVEA-4MIT.html
TL5209http://www.ti.com/lit/ds/symlink/tl5209.pdf
SN74LVC2G241http://www.ti.com/lit/ds/symlink/sn74lvc2g241.pdf
AM335x Technical Referente Manualhttp://www.ti.com/lit/ug/spruh73k/spruh73k.pdf
SN74LVC1G06DCKhttp://www.ti.com/lit/ds/symlink/sn74lvc1g06.pdf
SN74AUC1G74http://www.ti.com/lit/ds/sces537d/sces537d.pdf
BeagleBone Black BOMhttps://github.com/CircuitCo/BeagleBone-Black/blob/master/BBB_BOM.xls
ASDMB-24.576MHZ-LC-Thttp://www.abracon.com/Oscillators/ASDMB.pdf
ECS-2033-24.576-Bhttp://www.ecsxtal.com/store/pdf/ecs-2025-2033.pdf
ISM95-3161BH-24.576http://ilsiamerica.com/oscillatordocs/ISM95_Series.pdf
LTST-C191TBKThttp://datasheet.octopart.com/LTST-C191TBKT-Lite-On-datasheet-66887.pdf
TPS2051http://www.ti.com.cn/cn/lit/ds/symlink/tps2051.pdf

Outros artigos da série

<< Hardware BeagleBone Black - Alimentação - Parte 3Hardware BeagleBone Black - Controlando o PMIC >>

NEWSLETTER

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

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Francesco Sacco
Engenheiro Eletricista formado PUC-SP e Técnico em Eletrônica pela ETE Getúlio Vargas, é especialista em projetos eletrônicos analógicos e digitais, especialmente no condicionamento de sinais analógicos e integração entre dispositivos digitais.Nos últimos anos, vem atuando no desenvolvimento de software embarcado para núcleos ARM Cortex e na construção de hardwares para sistemas de potência.

1
Deixe um comentário

avatar
 
1 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
0 Comment authors
Hardware BeagleBone Black - Controlando o PMIC - Embarcados - Sua fonte de informações sobre Sistemas Embarcados Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
trackback
Hardware BeagleBone Black - Controlando o PMIC - Embarcados - Sua fonte de informações sobre Sistemas Embarcados

[…] na revisão A5C, o resistor R12 foi alterado para 4,75KΩ. Como já dissemos em um artigo anterior [11], isso foi feito para diminuir a intensidade do LED. No entanto, o ENABLE para U4 permanece […]