10 Comentários

Hardware BeagleBone Black – Alimentação – Parte 2

Introdução

Dando continuidade aos nossos estudos sobre o hardware da BeagleBone Black, vamos avançar na análise do sistema de alimentação dessa plataforma. Nosso objetivo é aprofundar mais no PMIC e fazer uma descrição das suas tensões. 

Alimentações da BeagleBone Black

A BeagleBone Black possui uma série de reguladores para diversas alimentações, cada um com uma função específica para cada bloco do núcleo da plataforma e de outros dispositivos. Para facilitar nosso entendimento, vamos analisar essas tensões do ponto de vista das alimentações. Dessa forma, é possível entender melhor a sua função.

O nosso PMIC (TPS65217C) possui 7 reguladores internos, sendo 3 deles conversores buck e 4 deles LDO. Eles possuem características muito similares, tendo um funcionamento simplificado e fácil de entender. Dentro da mesma linha de PMICs, tensões diferentes podem ser obtidas de acordo com o finalizador do part-number do componente.

alimentação
Tensões padrão de acordo com o part-number.

Como o modelo utilizado na BeagleBone Black é de terminador C, a tensão padrão para cada regulador é definida. No entanto, os reguladores buck possuem um sinal de feedback, o que permite a mudança em hardware dessas tensões. No entanto, a nossa plataforma mantém a ligação padrão de cada tensão.

Também é possível fazer a alteração da tensão padrão através da comunicação I2C, como vimos no artigo anterior. No entanto, dois pontos precisam ser lembrados: primeiramente, a tensão inicial de cada regulador é conforme a tabela, e pode ou não ser alterada via software apenas depois que o sistema iniciou. O segundo ponto é que esses circuitos eletrônicos são muito sensíveis às variações de tensão, então faça essas alterações com cuidado.

alimentação
Os reguladores fornecidos pelo TPS65217C.

Entrada de Alimentação Externa (VDD_5V)

A nossa plataforma possui uma entrada de alimentação externa. Trata-se da tensão VDD_5V. Essa alimentação é a entrada principal do PMIC, através do conector P1, e também pode ser encontrada nos pinos P9.5 e P9.6 do conector P9. Como o sistema é alimentado com 5V, e uma queda de tensão iria interferir nos circuitos que exigem essa alimentação, o sistema não tem nenhum diodo de segurança. Por isso, é muito importante tomar cuidado com a polaridade quando alimentar esse circuito.

Entrada de alimentação externa (+5V) e referência de VDD_5V.
Entrada de alimentação externa (+5V) e referência de VDD_5V.
alimentação
A tensão de VDD_5V em P9.5 e P9.6.

Entrada de Alimentação da USB (USB_DC)

Trata-se do conector USB Device presente na nossa placa da BeagleBone Black, trazendo a alimentação da USB do PC. Nosso PMIC já está preparado para essa alimentação, e possui uma entrada específica para a mesma. No entanto, é importante lembrar que o padrão da USB limita a potência em 2,5W, ou 500mA. O sistema pode exigir até 1800mA desse canal, mas precisa ser programado especificamente para tal.

alimentação
Tensão USB_DC do conector USB, e ligação no PMIC.

A comunicação USB exige que a tensão seja apropriada para a comunicação. Como o processador trabalha com tensões inferiores a 5V, é importante que o driver responsável pelo front-end seja alimentado com a tensão correta da USB. Normalmente, essa entrada de alimentação é chamada de VBUS, e no nosso caso não é diferente. A alimentação VBUS é feito pelo pino USB0_VBUS.

alimentação
Alimentação de VBUS através de R159.

Saída Principal (SYS_5V)

Como já verificamos no artigo anterior, a alimentação de 5V, seja ela VDD_5V ou USB_DC, passa pelo PMIC e alimenta o resto do sistema. Essa é a alimentação de entrada dos reguladores LDOs e DC/DC, além de estar disponível no barramento P9.

alimentação
A saída SYS_5V do PMIC alimenta os LDOs e DC/DC no próprio dispositivo.

Alimentação de 1V8 do LDO1 (VIO, VDDS, VRTC)

Este regulador é responsável por uma série de alimentações do sistema, algumas delas com funções críticas. Fornece a tensão de 1V8, que é compartilhada através de resistores de 0R.

alimentação
Regulador LDO1 do TPS65217C.

A corrente máxima desse regulador é bastante baixa, podendo fornecer só 100mA. Apesar disso, os sistemas que ele alimenta não demandam correntes elevadas, assim isso não é um problema.

alimentação
Alimentações de 1V8, fornecidas pelo regulador LDO1.

A alimentação VIO

A tensão de VIO é utilizada principalmente na sinalização entre o PMIC e o núcleo do sistema. No esquema elétrico do PMIC, a sinalização de Power Good faz uso dessa tensão. O sistema também propõe o uso dessa alimentação para a comunicação do sinal de Wake-Up e nINT, através de resistores de pull-up de 100K.

alimentação
Sinalização do PMIC TPS65217C para o núcleo.

No entanto, o esquema utilizado na BeagleBone Black é um pouco diferente. A tensão de VIO utiliza essa alimentação, conforme proposto. Para a indicação de interrupção, foi utilizado um resistor de pull-up para 3V3 em vez de 1V8. Isso não é um problema, uma vez que esse sinal é dreno-aberto.

 

Para o sinal de Wake-Up, foi utilizado um resistor de pull-up também, mas este está próximo ao núcleo. Ele faz uso de VRTC em vez de VIO. Isso está em conformidade com o sistema uma vez que essa tensão também parte do mesmo regulador, como veremos mais à frente.

alimentação
Sinalização do PMIC para o núcleo.
alimentação
Resistor de pull-up para o sinal de wake-up.

Essa fonte também alimenta o circuito integrado U16. Esse componente é responsável por gerar um sinal de reset quando a tensão falha, tendo um funcionamento muito simples:

O sinal de Power Good indica que a tensão de alimentação está dentro dos padrões necessários. Caso a tensão, por qualquer motivo que seja, fique fora dos padrões do sistema, o sinal de PMIC_PGOOD indicará para o núcleo a não conformidade. Para que o sistema não rode com uma tensão fora dos limites, foi utilizado U16, que é um buffer Open Drain. Enquanto o sinal de entrada (pino U16.2) estiver em 1, sua saída (pino U16.4) é deixado em aberto (open-drain). Quando o sinal de PMIC_PGOOD vai para zero (falha na alimentação), o transistor FET ligará e o núcleo entrará em estado de reset.

alimentação
Buffer Open-Drain responsável pelo reset quando Power Good indica falha.

Para que esse sinal seja corretamente identificado, a tensão de alimentação de U16 deve ser a mesma que a do sinal de entrada, vinda do PMIC. Nesse caso, VIO.

alimentação
Posição do U16 na BeagleBone Black.

A alimentação VDDS

Tem como tensão central 1,8V, podendo variar apenas 5% (entre 1,71V e 1,89V) e ser fornecida através das saídas de LDO1 ou LDO3. Ambas possuem uma saída fixa em 1V8 conforme verificamos nas características do PMIC da BeagleBone Black. A seleção do regulador que irá fornecer essa tensão é feita através do resistor R8 e R9. Apenas um deles pode ser montado, nunca ambos.

alimentação
Seleção de VDDS através de R8 e R9.

Verificamos o resistor R9 possui a indicação DNI, o que significa "Do Not Include" ("Não Inclua", em uma tradução livre). Dessa forma, entendemos que a tensão VDDS é fornecida por LDO1 através de R8, uma vez que R9 não foi montado. A prova disso é a verificação da placa que mostra exatamente essa situação.

alimentação
Alimentação de VDDS através de R8.

É importante saber que essa montagem é diferente em versões anteriores e foi documentada na revisão A6A da placa com os seguintes dizeres:

"Removed R9 and installed R8. This change was based on an alert we just received from TI that there is a power sequencing issue with the TPS65217C power management IC and the power sequencing is incorrect. This change connects the VDDS rail to the VRTC rail. We do not believe at this time, that the issue is causing any issues with the boards, but we want to comply with the directive."

"Removido R9 e instalado R8. Esta mudança foi baseada em um alerta que acabamos de receber da TI que há um problema na sequência de alimentação do TPS65217C IC e o sequenciamento de energia está incorreto. Esta mudança liga a alimentação VDDS na linha VRTC. Nós não acreditamos que, neste momento, a questão está causando problemas com as placas, mas queremos cumprir com a diretiva." - Em uma tradução livre.

A alimentação VRTC

Essa tensão é responsável pela alimentação do circuito do RTC, presente dentro do núcleo. Esse circuito e essa alimentação devem ser bem conhecidos quando o sistema for programado em algum nível de sleep-mode, uma vez que esse circuito pode ser o responsável pelo wake-up do sistema.

alimentação
Entrada de tensão para alimentação do RTC.

O que está por vir

Nos próximos artigos, continuaremos falando sobre o PMIC. Vamos descrever com detalhes cada um dos outros reguladores, assim como fizemos com o LDO1.

Referências

TSP65217C

http://www.ti.com/lit/ds/symlink/tps65217c.pdf

Esquemático da BeagleBone Black

https://github.com/CircuitCo/BeagleBone-Black/blob/master/BBB_SCH.pdf?raw=true

Sitara AM335x

http://www.ti.com/lit/ds/symlink/am3359.pdf

SN74LVC1G07DCK

http://www.farnell.com/datasheets/1737043.pdf

Sitara AM335x Technical Reference Manual

http://www.ti.com/lit/ug/spruh73k/spruh73k.pdf

Powering the AM335x with the TPS65217x

http://www.ti.com/lit/ug/slvu551h/slvu551h.pdf

Outros artigos da série

<< Hardware BeagleBone Black - Alimentação - Parte 1Hardware BeagleBone Black - Alimentação - Parte 3 >>
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.

Beaglebone Black » Hardware BeagleBone Black - Alimentação - Parte 2
Comentários:
Notificações
Notificar
guest
10 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Diego Ventura
Diego Ventura
20/01/2015 12:05

Obrigado, Francesco!

Estou aprendendo sobre a BBB, e o artigo ajudou bastante 🙂

Vinicius Maciel
vinifr
04/08/2014 14:26

Ola pessoal,

Alguém sabe informar se existe um driver I2C no kernel Linux para se comunicar com esse PMIC? Não encontrei nada quando pesquisei.

Cleiton Bueno
Reply to  vinifr
04/08/2014 14:49

Seria interessante mesmo em Vinicius. Porque o que precisei até agora usei i2c-tools (i2cdump, i2cget, i2cset e i2cdetect) no 0x24 e muito datasheeet do TPS65217C para entender os endereços do bus, características e configurações.
Os primeiros testes implementei em Python para coletar as informações com smbus.

Francesco Sacco
Reply to  vinifr
04/08/2014 19:29

Então, o Cleiton tem razão.
O que pesquisei faz a mesma coisa, utiliza acesso I2C pela linha de comando e faz script em python.

Quero fazer exatamente isso em um artigo, fazendo leituras e pequenas modificações por linha de comando para esse controle.

Como quero falar de bateria, provavelmente precisarei monitorar o processo de carga através desse barramento. 🙂

Cleiton Bueno
Reply to  Francesco Sacco
04/08/2014 20:22

Eu estou estudando a pouco tempo, para tentar descobrir uns reboots estranhos com um amigo, e resolvi estudar mais afundo o TPS65217C ao seu nível i2c 😉

Atualmente to testando e estudando:
POWER PATH CONTROL REGISTER (PPATH) 0x01h

Mas já brinquei com:
CHARGER CONFIGURATION REGISTER 0 (CHGCONFIG0) 0x03h
CHARGER CONFIGURATION REGISTER 1 (CHGCONFIG1) 0x04h

Acho que esses dois acima você irá conhecer pois lida com relação a parte de carga da bateria 🙂

O próximo sera:
INTERRUPT REGISTER (INT) 0x02h

Cleiton Bueno
04/08/2014 13:42

Muito boa essa serie Francesco, show de bola! É importante ler e entender essas abstrações do PMIC TPS65217C, porque como você falou e vendo o datasheet tem muita informação para obter ou fazer via i2c nesse cara.

Tanto que me chamou atenção na pag. 43 sobre POWER PATH CONTROL REGISTER (PPATH), principalmente parte dos limites de corrente da USB e/ou AC Power. Pois as vezes vemos problemas de ações inesperadas e nem sempre é culpa do kernel ou software.

Parabéns, que venha o próximo!

Francesco Sacco
Reply to  Cleiton Bueno
04/08/2014 19:25

Poxa, Cleiton... obrigado.
Fico contente mesmo que esteja gostando. Está realmente dando muito trabalho... vamos ver até onde consigo chegar com ele.
Um abraço.

Cleiton Bueno
Reply to  Francesco Sacco
04/08/2014 20:23

Me ajudou a entender alguns conceitos que não havia compreendido e ficou mais fácil ver o funcionamento dele, muito boa sua didática e manda ver nos próximos rs*

😉

Abraço

trackback
26/08/2014 00:04

[…] Hardware BeagleBone Black – Alimentação – Parte 2 […]

trackback
13/08/2014 08:53

[…] artigo entendemos para que serve um PMIC, seu funcionamento e principais características. No segundo artigo, demos continuidade no estudo desse componente, dando maior ênfase em como ele é utilizado dentro […]

Talvez você goste:

Séries



Outros da Série

Menu

WEBINAR
 

Soluções inteligentes para acionamento de MOSFETs/IGBTs com família STDRIVE

Data: 08/10 às 15:00h - Apoio: STMicroelectronics
 
INSCREVA-SE AGORA »



 
close-link