29/10/2020

Software melhorado para o interruptor de teste ITUSB1

Disponibilizo aqui o software mais recente para o interruptor de teste ITUSB1, mais especificamente os pacotes contendo os comandos e a aplicação gráfica. Quanto aos comandos, os respectivos ficheiros de código-fonte sofreram poucas alterações, apenas com vista a optimizar os mesmos. Já no que concerne à aplicação gráfica, a mesma foi alvo de alterações substanciais. Designadamente, é agora possível guardar os dados capturados nos seus diversos parâmetros, entre os quais a corrente de consumo. Tal função permite estudar posteriormente a evolução do comportamento do dispositivo sob teste.

Versão 2.0 da aplicação gráfica. Esta nova versão permite guardar os dados capturados durante a execução.

Folha de cálculo contendo os dados capturados pela aplicação. O gráfico foi construído com base nos mesmos.

Os pacotes contendo os comandos e a aplicação gráfica podem ser descarregados por meio dos links abaixo. Embora não seja necessário, recomendo que faça a desinstalação do software anterior antes de instalar os novos pacotes, se tal for o caso.

Links importantes:
Comandos de controlo: https://app.box.com/s/k848...qu89
Aplicação gráfica: https://app.box.com/s/ycm0...ck95

11/10/2020

Bloguetrónica no Odysee

No dia 18 do mes passado, foi oficializado o lancamento do Odysee, que é uma nova plataforma de visualização de vídeos baseada no LBRY. Automaticamente, todos os canais presentes no LBRY passaram a estar presentes também nessa nova plataforma. O canal do Bloguetrónica não foi excepção e, para além de estar disponível no LBRY, pode ser agora visto no Odysee, em https://odysee.com/@bloguetronica:7.

21/08/2020

Links corrigidos

No post de 20 de Junho reportei um problema que afecta certos links para ficheiros armazenados no repositório. Como referi nesse post, o problema descrito foi causado por mudanças no serviço Box, o qual é utilizado para a hospedagem do repositório de ficheiros. Entretanto, já corrigi todos os links afectados e, por conseguinte, é agora possível transferir qualquer ficheiro sem entraves.

07/08/2020

Brevemente: Amplificador de potência OpRF

Este projecto, em fase de conclusão, refere-se a um pequeno amplificador de potência para uso em radiofrequência. Sem adiantar demasiados pormenores, o amplificador consegue debitar até pouco mais de 1W, e está apto para funcionar numa gama de frequências entre 16KHz e 13MHz.

Placa do amplificador de potência OpRF.

Posto isto, o projecto em si está praticamente terminado e validado. Porém, pode ser necessário fazer mais testes. Não obstante, espero fazer a respectiva apresentação dentro dos próximos meses.

17/07/2020

Nova aplicação gráfica para o interruptor de teste ITUSB1

Esta é uma aplicação gráfica que possibilita a gestão de diversos dispositivos ITUSB1 em simultâneo, de uma maneira simples e intuitiva. Ao contrário das aplicações gráficas até agora apresentadas, designadamente as destinadas aos geradores de funções e fontes de alimentação, esta nova aplicação não depende de comandos externos. Uma vez que todas as funcionalidades são providenciadas pelo próprio programa, a instalação do mesmo torna-se mais fácil, ficando o mesmo apto a funcionar sem quaisquer dependências. Como a imagem seguinte evidencia, a aplicação permite a monitorização e controlo de vários dispositivos em tempo real.

Aplicação gráfica com duas janelas abertas, uma para cada dispositivo.

O pacote contendo a aplicação pode ser descarregado através do link abaixo. Note que, embora a aplicação tenha sido optimizada para o KDE, é possível executá-la noutros ambientes gráficos, como o Gnome ou o Xfce.

Links importantes:
Aplicação gráfica: https://app.box.com/s/0qs0...joxk

20/06/2020

Links quebrados para ficheiros no repositório

Verifiquei, apenas recentemente, que alguns dos links para ficheiros existentes no repositório já não estão devidamente funcionais. Esta situação aplica-se a todos os posts anteriores a Agosto de 2018, e deve-se a mudanças no serviço Box. Essencialmente, os links afectados parecem apontar para o respectivo ficheiro, mas é impossível pré-visualizar ou fazer a transferência do mesmo, como a imagem seguinte evidencia.

Demonstração do problema com um link quebrado

Terei de editar os links visados de modo a corrigir o problema, o que certamente irá demorar algum tempo. Até lá, o que sugiro é a edição do endereço conforme mostrado na imagem abaixo, substituindo "www" por "app". Feita esta operação, torna-se então possível pré-visualizar o ficheiro escolhido, assim como fazer a sua transferência.

Resolução temporária do problema

14/05/2020

Comando de codificação Morse para o gerador de funções GF2

Trata-se de um comando adicional, com a designação "gf2-morse", que foi criado com o propósito de utilizar o gerador de funções GF2 para sinalizar uma dada mensagem em código Morse. Basicamente, o utilizador introduz a mensagem a codificar como argumento do comando. Porém, antes de invocar o mesmo, é necessário definir a frequência e amplitude do sinal a gerar. Para além do mais, é essencial garantir que o gerador de funções está activo mas com o DAC interno desabilitado. A imagem seguinte mostra um exemplo de operação.

Exemplo de utilização do novo comando "gf2-morse". Também são evidentes as operações necessárias à configuração do gerador de funções.

O pacote contendo o referido comando está disponível para transferência através do link abaixo. Convém ressalvar que necessitará de instalar também os comandos de controlo, caso ainda não o tenha feito.

Links importantes:
Comando de codificação Morse: https://app.box.com/s/c1fr...kmtt
Comandos de controlo: https://app.box.com/s/wpp6...6eus

13/04/2020

Interruptor de teste ITUSB1

Hoje apresento um instrumento que serve para testar dispositivos USB, ao qual dei a designação ITUSB1. Este instrumento, permite a interrupção independente da alimentação e das linhas de dados entre um dado dispositivo USB e o anfitrião ao qual este está ligado, providenciando ao mesmo tempo isolamento galvânico entre o anfitrião em teste e o computador de controlo. Estas características são especialmente úteis na parametrização de testes de enumeração. Para além do mais, o ITUSB permite medir a corrente de consumo do referido dispositivo com alguma precisão, desde que o valor medido não alcance 1A.

Parâmetros de funcionamento:
– V d. mín. = 4,5V
– V d. nom. = 5V
– V d. máx. = 5,25V
– V USBT d. mín. = 2,84V
– V USBT d. nom. = 5V
– V USBT d. máx. = 5,5V
– I USBT d. máx. = 500mA


Características eléctricas:
– I d. = 59,95mA
– P = 299,8mW


Características do barramento USB de teste:
– Resistência da linha de potência (R USBT): 460mΩ
– Queda de tensão à carga nominal (ΔV USBT d., I USBT d. = 500mA): 230mV
– Corrente em curto-circuito (I USBT d. SC): 1A
– Impedância diferencial das linhas de dados: 89,9Ω


Características do medidor de corrente:
– Alcance: 1,02A
– Granularidade: 250µA
– Exactidão: ±(2,41% + 1,75mA)
– Resolução: 12bit


Interruptor de teste ITUSB1. As portas que ligam ao anfitrião e ao dispositivo em teste encontram-se no painel frontal.

Vista traseira do instrumento, onde é visível a porta de controlo.

O circuito apresenta alguma complexidade, e por isso será conveniente compartimentá-lo em blocos mais simples. Em primeiro lugar, todo o seu funcionamento é controlado pelo CP2130 da Silicon Labs (IC3). Trata-se de um conversor USB-SPI que já fora empregue em projectos anteriores e que, no caso presente, é utilizado para controlar a alimentação e as linhas de dados do barramento USB entre o dispositivo em teste e o seu anfitrião, assim como para medir a corrente debitada. Esse controlo é feito por via dos isoladores digitais em IC6 e IC7, respectivamente do tipo ADuM1200 e ADuM1310, ambos da Analog Devices. Desta forma garante-se o isolamento galvânico entre a secção de controlo e a secção de teste, a par com o RFM0505S (IC4) que essencialmente alimenta a última secção do circuito.

A interrupção da alimentação entre o anfitrião e o dispositivo em teste é feita pelo LM3525M-H da Texas Instruments (IC10). Este comutador de potência também limita a corrente no barramento USB, servindo o PolyZen em IC8 para o mesmo efeito. Devo frisar a minha preferência pelo LM3525M-H em detrimento do LM3525M-L, ainda que haja a necessidade de empregar um MOSFET (Q2) para inverter o sinal lógico para o pino "EN" (pino 1) do primeiro integrado. Tal escolha justifica-se uma vez que a versão "-L" apresenta o inconveniente de permitir a alimentação do dispositivo a jusante quanto apenas alimentado pelo anfitrião a montante.

Circuitos de isolamento e de interrupção da linha de potência do barramento USB.

Por outro lado, a interrupção das linhas de dados é exercida pelo TS3USB221 (IC13), um comutador de dados específico para aplicações USB 2.0. Este integrado tem a vantagem de ser completamente transparente quando habilitado, minimizando-se o efeito do ITUSB1 sobre a qualidade do sinal no barramento entre anfitrião e dispositivo em teste. Apenas como nota, devo mencionar que o TS3USB221 está a ser utilizado apenas como interruptor, e não como comutador entre linhas de dados.

Outra característica importante é a medição da corrente no barramento USB da secção de teste. Esta é feita através do resistor de precisão em R8, de 100mΩ, implementado numa malha de quatro condutores. A diferença de potencial daí resultante é depois amplificada 20 vezes pelo INA180A1 (IC11), podendo a respectiva tensão de saída ser lida pelo conversor analógico-digital em IC12. Este último é um LTC2312CTS8-12, e apresenta uma resolução de 12bit, sendo adequado para oferecer a granularidade pretendida.

Circuito de interrupção das linhas de dados do barramento USB, e circuito de medição de corrente.

Por fim, o circuito implementa diversas protecções. A protecção contra corrente excessiva e curto-circuitos no barramento USB da secção de teste é tanto feita pelo PolyZen em IC8 como pelo próprio comutador de potência em IC10, conforme referi anteriormente. Também existe um PolyZen dedicado à porta de controlo, localizado em IC1, do mesmo tipo. Todas as portas USB estão protegidas contra descargas electrostáticas pelos circuitos de protecção TVS em IC2, IC9 e IC14, todos eles do tipo TPD2E2U06.

Lista de componentes:
C1/2/4-6/16-24/29 – Condensador cerâmico multi-camada 100nF 10V (0805);
C3/13 – Condensador cerâmico multi-camada 1µF 10V (0805);
C7 – Condensador electrolítico de nióbio NOJA475M006 (NOJA475M006RWJ ou equiv.);
C8 – Condensador electrolítico de nióbio NOJA475M010 (NOJA475M010RWJ ou equiv.);
C9 – Condensador electrolítico de nióbio NOJA106M010 (NOJA106M010RWJ ou equiv.);
C10/11 – Condensador cerâmico multi-camada 330pF 1KV (1206);
C12/15/25-28 – Condensador cerâmico multi-camada 2,2µF 10V (0805);
C14 – Condensador cerâmico multi-camada 10nF 10V (0805);
D1 – LED WP1503CB/ID;
D2 – LED WP1503CB/YD;
D3 – Díodo TVS SMCJ5.0A;
IC1/8 – Circuito de protecção PolyZen ZEN056V075A48LS;
IC2/9/14 – Circuito de protecção TVS TPD2E2U06 (TPD2E2U06DRL);
IC3 – Conversor USB-SPI CP2130 (CP2130-F01-GM);
IC4 – Conversor DC-DC isolado RFM-0505S;
IC5 – Regulador de tensão LP2985-33 (LP2985-33DBV);
IC6 – Isolador digital ADuM1200 (ADuM1200ARZ);
IC7 – Isolador digital ADuM1310 (ADuM1310ARWZ);
IC10 – Comutador de potência LM3525M-H;
IC11 – Amplificador de medição de corrente INA180A1 (INA180A1IDBV);
IC12 – Conversor analógico-digital LTC2312CTS8-12;
IC13 – Comutador de sinal USB TS3USB221 (TS3USB221ARSE);
J1 – Conector USB Molex 67068-9001;
J2 – Conector USB Molex 67068-8001;
J3 – Conector USB Molex 67643-2911;
L1 – Indutor de potência XFL3012-223ME (XFL3012-223MEB ou XFL3012-223MEC);
Q1 – Transístor MOSFET de potência FDN327N;
Q2 – Transístor MOSFET BSS138;
R1/5 – Resistor de filme espesso 1MΩ±5% 1/8W (0805);
R2/6/7 – Resistor de filme espesso 4,7KΩ±5% 1/8W (0805);
R3/4 – Resistor de filme espesso 82Ω±5% 1/8W (0805);
R8 – Resistor de filme espesso 100mΩ±1% (1210);
R9 – Resistor de filme espesso 100Ω±5% 1/8W (0805);
R10/11 – Resistor de filme espesso 49,9Ω±1% 1/8W (0805).


O layout da placa está disponível nos formatos brd (Eagle 7.7.0) e Gerber. A encomenda da placa deve ser feita através do OSH Park, uma vez que este serviço suporta layouts de quatro camadas com furação a partir de 0,5mm. Caso prefira outro serviço de fabrico, deverá confirmar se o mesmo suporta layouts nas mesmas condições, e se o stackup e materiais são idênticos. Note que o último critério é essencial para manter a impedância do par diferencial em conformidade com a especificação da norma USB.

A soldadura e montagem da placa requer equipamento próprio. Nomeadamente, a soldadura dos componentes SMD deve ser feita por refusão com ar quente, utilizando pasta de solda e stencil para tal. Os componentes da face superior devem ser soldados em primeiro lugar, e só depois os da face interior, sempre com o cuidado de aplicar a quantidade de calor estritamente necessária. Os componentes through-hole são sempre soldados em último lugar, sendo um ferro de soldar o suficiente.

A caixa recomendada para o projecto é a Hammond 1457C801. É uma caixa em alumínio anodizado que possui tampas lacadas a pó preto. Pode também optar pelo modelo 1457C801BK, cujo corpo também é lacado a pó preto. Em todo o caso, as tampas devem ser trabalhadas de acordo com o guia de furação.

Por último, é necessário configurar o interface CP2130 do instrumento, para que o mesmo possa funcionar correctamente. Em Windows, isso pode ser feito mediante a aplicação "CP21xx Customization Utility" da Silicon Labs (que vem inclusa no pacote CP2130_SDK para Windows XP e Vista). Em Linux, deverá utilizar o programa de configuração incluído no pacote "itusb1-r0-conf-1.0.tar.gz", por sua vez disponível na pasta "Software". Todos os ficheiros e pastas pertinentes encontram-se dentro da pasta do projecto. Consulte as notas do projecto para mais detalhes.

Links importantes:
Diagrama do circuito (pdf): https://app.box.com/s/7r6g...8zi1
Diagrama do circuito (Eagle 7.7.0 sch): https://app.box.com/s/bnm4...g8ow
Layout da placa (pdf): https://app.box.com/s/cah5...850j
Layout da placa (Eagle 7.7.0 brd): https://app.box.com/s/fv89...r3b7
Ficheiros Gerber: https://app.box.com/s/xlfv...7uoi
Guia de furação: https://app.box.com/s/g0q0...x203
Firmware (com instruções): https://app.box.com/s/ynqp...ji4w
Drivers (Windows): https://app.box.com/s/2esn...g14u
Software (Linux): https://app.box.com/s/sl8d...22jb
Notas do projecto: https://app.box.com/s/d4f0...qrh0
Pasta contendo todos os ficheiros: https://app.box.com/s/jbh9...qnxy
Projecto no OSH Park: https://oshpark.com/shared_projects/3xWffU8D CP2130_SDK: http://www.silabs.com/.../CP2130_SDK_Windows_XP_Vista.exe

09/03/2020

Bloguetrónica no LBRY

O Bloguetrónica assinala agora a sua presença no LBRY (ou Library), uma plataforma alternativa ao YouTube. Esta plataforma tem como missão preservar a liberdade de expressão, liberdade essa que veio sendo ameaçada por motivos políticos ou ideológicos, designadamente com a censura de vídeos e encerramento de canais no YouTube, mas não só. Para visitar o canal oficial no LBRY, basta ir a https://lbry.tv/@bloguetronica:7 (ou a lbry://@bloguetronica#7, através da aplicação).

24/02/2020

Placa de teste PTUSB2 (Rev. 1)

Esta é uma revisão menor ao projecto apresentado no post de 23 de Outubro de 2016. Esta revisão traz apenas algumas e pequenas modificações ao desenho da placa, nomeadamente quanto à furação, que foi rectificada. Já o circuito não apresenta quaisquer modificações, pelo que é desnecessário detalhar sobre o mesmo.

Lista de componentes:
J1 – Conector USB Amphenol GSB3211311WEU;
J2/4 – Borne vermelho;
J3/5 – Borne preto;
J6 – Conector USB Amphenol GSB311131HR.


O layout da placa está disponível nos formatos brd (Eagle 7.7.0) e Gerber. Friso a necessidade de se fazer a encomenda da placa através do OSH Park, uma vez que a mesma foi concebida tendo em vista as especificações deste serviço. Caso opte por outro serviço de fabrico, confirme se o mesmo suporta layouts de quatro camadas com furação mínima de 0,5mm, e se o stackup e materiais são idênticos. Por último, a montagem do projecto não requer procedimentos ou ferramentas especiais.

Links importantes:
Diagrama do circuito (pdf): https://app.box.com/s/tnha...irji
Diagrama do circuito (Eagle 7.7.0 sch): https://app.box.com/s/8v4e...w6w0
Layout da placa (pdf): https://app.box.com/s/pon5...ht3q
Layout da placa (Eagle 7.7.0 brd): https://app.box.com/s/d4qr...09di
Ficheiros Gerber: https://app.box.com/s/70hd...pyk1
Notas do projecto: https://app.box.com/s/iboe...jhok
Pasta contendo todos os ficheiros: https://app.box.com/s/uhfv...rbmx
Projecto no OSH Park: https://oshpark.com/shared_projects/IQ7zJx5x