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

04/02/2020

Software actual para o gerador de funções GF1

Hoje disponibilizo os pacotes de software mais recentes destinados ao gerador de funções GF1, mais especificamente os que contêm os comandos de controlo e a interface gráfica. O código-fonte dos comandos de controlo foi revisto, de forma a que os mesmos executem de forma um pouco mais eficiente. À semelhança do que acontece com o novo software para o gerador de funções GF2, a interface gráfica permite guardar os parâmetros de geração de sinal num ficheiro XML, para que posteriormente possam ser carregados.

Versão 3.0 da interface gráfica. Esta nova versão da aplicação permite carregar e guardar definições de geração de sinal.

Os pacotes podem ser descarregados através dos links abaixo. Sublinho que todo o software aqui facultado é perfeitamente compatível com as versões existentes do gerador de funções.

Links importantes:
Comandos de controlo: https://app.box.com/s/k0qi...xxg3
Interface gráfica: https://app.box.com/s/vcd3...sf06