28/02/2017

Módulo carregador USB "uCharge" (Rev. A)

Sendo uma revisão maior, esta nova versão do módulo uCharge traz modificações muito importantes face às iterações anteriores do projecto (veja os posts de 27 de Novembro e 19 de Dezembro do ano passado). A destacar, e em contraste com as versões anteriores, esta nova versão permite o carregamento rápido de uma variedade de dispositivos móveis. Para tal suporta diversos protocolos, em conformidade com as especificações BC 1.2 e YD/T 1591-2009, e pode emular tanto um porto DCP (acrónimo de Dedicated Charging Port) como um porto CDP (de Charging Downstream Port). Em suma, a nova revisão do uCharge não é somente um carregador USB passivo, dado que negoceia com o dispositivo a jusante por forma a que o mesmo possa carregar rapidamente.

Parâmetros de funcionamento:
– V d. mín. = 6,06V
– V d. máx. = 16,73V
– I L máx. = 2,05A


Características eléctricas:
– I d. (V d. = 7V, I L = 0A) = 15,72mA
– I d. (V d. = 16V, I L = 0A) = 6,74mA
– P (V d. = 7V, I L = 0A) = 110,0mW
– P (V d. = 16V, I L = 0A) = 107,9mW


Módulo carregador USB "uCharge", revisão A.

Das alterações feitas ao circuito, destaca-se a introdução do integrado TPS2544 (IC2), o qual tem um papel fulcral. Este integrado negoceia com o dispositivo a jusante de modo a possibilitar que este carregue em modo "fast charge". Para esse fim, suporta diversos protocolos em concordância com as especificações referidas anteriormente, se bem que adicionalmente pode emular carregadores Apple de 5W e 10W. Ademais, a mudança entre os modos DCP e CDP faz-se automaticamente, mediante a detecção da tensão Vbus do anfitrião.

Por outro lado, em vez do TPS62143 usado nas revisões anteriores, o conversor DC-DC agora empregue em IC1 é o TPS62133. Este último é capaz de fornecer até 3A, sendo significativamente mais potente que o anterior. Tal necessidade surge para que o circuito possa fornecer até 2,05A ao dispositivo a carregar, e isto sem quaisquer problemas. É de sublinhar que o conversor DC-DC está sempre activo, nunca ficando desabilitado, mesmo quando a tensão proveniente do anfitrião não é detectada. Isto porque o TPS2544 tem de estar sempre alimentado para poder operar nos diversos modos.

Por fim, o PPTC em F1 passa a ser do tipo 2920L200/24. Esta substituição permite fornecer a corrente exigida ao DC-DC, em virtude da corrente entregue por este poder ser maior. De resto, o circuito não introduz alterações, sendo que todas as medidas de protecção implementadas na versão original se mantêm.

Lista de componentes:
C1 – Condensador cerâmico multi-camada 10nF 10V (0805);
C2 – Condensador de electrólito sólido RNS1E101MDN1;
C3 – Condensador cerâmico multi-camada 10µF 25V (1210);
C4 – Condensador cerâmico multi-camada 3,3nF 25V (0805);
C5 – Condensador cerâmico multi-camada 22µF 10V (1210);
C6 – Condensador cerâmico multi-camada 100nF 10V (1210);
C7 – Condensador electrolítico de nióbio NOJD107M010 (NOJD107M010RWJ ou equiv.);
D1 – Díodo TVS SMBJ18A;
D2 – Díodo rectificador Schottky FSV540;
D3 – Díodo Zener BZX84-B16;
D4 – LED Kingbright APT2012EC (ou KPT-2012EC);
F1 – Fusível PPTC 2920L200/24;
IC1 – Conversor DC-DC TPS62133 (TPS62133RTG);
IC2 – Controlador CDP/DCP TPS2544 (TPS2544RTE);
J1 – Receptáculo de alimentação 5,5mm x 2,1mm;
J2 – Conector USB Molex 67068-8001;
J3 – Conector USB Molex 67643-2911;
L1 – Indutor de potência XFL4020-152MEB;
Q1 – Tirístor SCR MCR703AT4G;
R1 – Resistor de filme espesso 150Ω±5% 1/8W (0805);
R2 – Resistor de filme espesso 180Ω±5% 1/8W (0805);
R3/4 – Resistor de filme espesso 47KΩ±5% 1/8W (0805);
R5 – Resistor de filme espesso 22,6KΩ±1% 1/8W (0805).


Integrado TPS2544 em pormenor.

Como é usual, o layout da placa está disponível nos formatos .brd (Eagle 7.7.0) e Gerber. Novamente recomendo a encomenda da placa por via do OSHPark, visto que o layout foi concebido tendo em conta as especificações deste serviço. Caso deseje utilizar outro serviço de fabrico, verifique se o dito suporta layouts de quatro camadas, furação a partir de 0,5mm e se o stackup e materiais são idênticos.

Quanto à montagem, novamente esta requer algum equipamento especializado. A soldadura dos componentes SMD deve ser feita por refusão com ar quente, soldando primeiro os componentes da face superior e só depois os da face inferior. Aquando a soldadura dos componentes na face inferior da placa, deverá aplicar o calor estritamente necessário no espaço de tempo mais curto possível, com vista a impedir a difusão excessiva de calor para a outra face. Os restantes componentes, sendo through-hole, podem ser soldados com um ferro de soldar.

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/l8v3...kfxy
Diagrama do circuito (Eagle 7.7.0 sch): http://app.box.com/s/kivj...dnef
Layout da placa (pdf): http://app.box.com/s/7npk...9ns8
Layout da placa (Eagle 7.7.0 brd): http://app.box.com/s/swoo...snwc
Ficheiros Gerber: http://app.box.com/s/ljf8...33fz
Notas do projecto: http://app.box.com/s/bpy3...a3d7
Pasta contendo todos os ficheiros: http://app.box.com/s/v5va...lyos
Projecto no OSH Park: http://www.oshpark.com/shared_projects/5lKpNJhR

19/12/2016

Módulo carregador USB "uCharge" (Rev. 1)

Esta revisão do módulo uCharge traz algumas melhorias face à versão original, cujo projecto foi apresentado no post de 27 de Novembro. Nomeadamente, deu-se mais ênfase à eficiência, embora sem diferenças significativas em termos práticos. O layout da placa também foi alterado de modo a possibilitar uma melhor dissipação térmica em torno dos componentes críticos. De resto, esta nova versão do módulo é muito semelhante à anterior.

Parâmetros de funcionamento:
– V d. mín. = 6,01V
– V d. máx. = 16,73V
– I L máx. = 1,75A


Características eléctricas:
– I d. (V d. = 7V, I L = 0A) = 15,47mA
– I d. (V d. = 16V, I L = 0A) = 6,64mA
– P (V d. = 7V, I L = 0A) = 108,3mW
– P (V d. = 16V, I L = 0A) = 106,3mW


Módulo carregador USB "uCharge", revisão 1.

Foram feitas poucas modificações a nível do circuito. A salientar, o díodo em D2 é agora um rectificador Schottky do tipo FSV540. Este tipo de díodo apresenta uma queda de tensão muito inferior em comparação com um díodo rectificador vulgar, o que se traduz numa maior eficiência energética. O fusível F1 passa a ser um PPTC do tipo 2920L185, que permite até 1,85A de corrente. Fez-se esta correcção para que o módulo possa debitar a corrente nominal quando alimentado pela tensão mínima prevista.

Lista de componentes:
C1 – Condensador cerâmico multi-camada 10nF 10V (0805);
C2 – Condensador de electrólito sólido RNS1E101MDN1;
C3 – Condensador cerâmico multi-camada 10µF 25V (1210);
C4 – Condensador cerâmico multi-camada 3,3nF 25V (0805);
C5 – Condensador cerâmico multi-camada 22µF 10V (1210);
C6 – Condensador electrolítico de nióbio NOJD107M010 (NOJD107M010RWJ ou equiv.);
D1 – Díodo TVS SMBJ18A;
D2 – Díodo rectificador Schottky FSV540;
D3 – Díodo Zener BZX84-B16;
D4/5 – Díodo Schottky BAT54;
D6 – LED Kingbright APT2012EC (ou KPT-2012EC);
F1 – Fusível PPTC 2920L185;
IC1 – Conversor DC-DC TPS62143 (TPS62143RTG);
IC2 – Circuito de protecção PolyZen ZEN056V175A12YM;
J1 – Receptáculo de alimentação 5,5mm x 2,1mm;
J2 – Conector USB Molex 67068-8001;
J3 – Conector USB Molex 67643-2911;
JP1 – Conector header macho de 3 pinos (com shunt);
L1 – Indutor de potência XFL4020-222MEB;
Q1 – Tirístor SCR MCR703AT4G;
R1 – Resistor de filme espesso 150Ω±5% 1/8W (0805);
R2/3 – Resistor de filme espesso 47KΩ±5% 1/8W (0805);
R4 – Resistor de filme espesso 180Ω±5% 1/8W (0805).


Como é habitual, o layout da placa está disponível nos formatos brd (Eagle 7.7.0) e Gerber. A respectiva encomenda deve ser feita através do OSH Park, dado que o layout foi desenhado tendo em conta as especificações deste serviço. Caso prefira outro serviço de fabrico, verifique se o mesmo suporta layouts de quatro camadas, furação a partir de 0,5mm e se o stackup e materiais são os mesmos. Relativamente à montagem, aplicam-se as recomendações que foram dadas para o projecto original.

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/58rz...i6vh
Diagrama do circuito (Eagle 7.7.0 sch): http://app.box.com/s/ik85...w8wr
Layout da placa (pdf): http://app.box.com/s/mk7h...p6he
Layout da placa (Eagle 7.7.0 brd): http://app.box.com/s/waym...rdc8
Ficheiros Gerber: http://app.box.com/s/l9fq...ice1
Notas do projecto: http://app.box.com/s/ljte...jzbh
Pasta contendo todos os ficheiros: http://app.box.com/s/erok...2sxm
Projecto no OSH Park: http://www.oshpark.com/shared_projects/14wvI0Bu

09/12/2016

Placa de desenvolvimento "Prop II" (Rev. A)

Esta é uma revisão maior ao projecto "Prop II", apresentado no post de 11 de Setembro. A placa revista incorpora um regulador de tensão de tipo diferente, capaz de fornecer mais corrente. Fora isso, não foram introduzidas alterações significativas. Contudo, o regulador mais potente altera as características da placa, abrindo novas possibilidades e fazendo desta uma revisão importante.

Pormenor do regulador de tensão na nova placa.

O circuito é quase idêntico ao da versão original. Porém e como já foi referido, o regulador em IC2 é de um tipo diferente, tratando-se de um TPS73233 da Texas Instruments. Tal regulador é capaz de fornecer até 250mA de corrente, uma clara melhoria relativamente ao TPS70933 originalmente usado, cujo valor nominal é apenas 150mA. Desta forma, é possível disponibilizar mais corrente aos circuitos externos alimentados pela placa e, por conseguinte, desenvolver projectos mais exigentes sem necessidade de reforçar a alimentação. Todavia, havendo essa necessidade, o TPS73233 pode igualmente trabalhar em paralelo com outras fontes de tensão.

Lista de componentes:
C1/2/4 – Condensador cerâmico multi-camada 1µF 10V (0805);
C3 – Condensador cerâmico multi-camada 10nF 10V (0805);
C5-10/13 – Condensador cerâmico multi-camada 100nF 10V (0805);
C11/12 – Condensador cerâmico multi-camada 47pF 10V (0805);
D1 – Díodo Schottky FYV0704S;
D2 – Díodo Zener BZX84-B3V3;
D3 – LED Kingbright APT2012EC (ou KPT-2012EC);
F1 – Fusível PPTC 1210L020;
IC1 – Circuito de protecção PolyZen ZEN056V075A48LS;
IC2 – Regulador de tensão TPS73233 (TPS73233DBV);
IC3 – Conversor USB-UART FT230X (FT230XQ);
IC4 – Micro-controlador P8X32A (P8X32A-Q44);
IC5 – Memória EEPROM M24512 (M24512-DFMC6TP);
J1 – Conector USB Hirose ZX62D-B-5PA8;
J2-7 – Conector header macho de 5 pinos;
Q1 – Transístor MOSFET BSS138;
Q2 – Tirístor SCR S4X8BS;
R1 – Resistor de filme espesso 47KΩ±5% 1/8W (0805);
R2 – Resistor de filme espesso 150Ω±5% 1/8W (0805);
R3 – Resistor de filme espesso 82Ω±5% 1/8W (0805);
R4/5 – Resistor de filme espesso 27Ω±5% 1/8W (0805);
R6/7 – Resistor de filme espesso 4,7KΩ±5% 1/8W (0805);
S1 – Interruptor pulsador C&K PTS525SMG15J (PTS525SMG15JSMTR2LFS);
X1 – Cristal Abracon ABMM-6.000MHz-B2-T.


Novamente, o layout da placa está disponível nos formatos brd (Eagle 7.6.0) e Gerber. Recomendo que a encomenda da placa seja feita via OSH Park, visto que o layout foi desenhado tendo em vista as especificações deste serviço. Caso deseje utilizar um serviço de fabrico alternativo, verifique se o mesmo suporta layouts de quatro camadas com furação mínima de 0.5mm. Relativamente à soldadura dos componentes, aplicam-se os mesmos cuidados que foram sugeridos para o projecto original.

Montada a placa, é sempre necessário configurar o respectivo interface FT230X para que esta funcione correctamente. Mais uma vez apelo à utilização da aplicação FT_Prog para esse fim. O ficheiro de configuração encontra-se dentro da pasta "Firmware", localizada na pasta do projecto. Deverá ler as instruções antes de proceder à configuração.

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/hf1o...ytrx
Diagrama do circuito (Eagle 7.6.0 sch): http://app.box.com/s/opvf...ayqd
Layout da placa (pdf): http://app.box.com/s/2qig...ml56
Layout da placa (Eagle 7.6.0 brd): http://app.box.com/s/krm7...1sb4
Ficheiros Gerber: http://app.box.com/s/fkn2...4b0r
Firmware (com instruções): http://app.box.com/s/tf9o...g7kc
Notas do projecto: http://app.box.com/s/yav0...6lom
Pasta contendo todos os ficheiros: http://app.box.com/s/5ljc...x915
Projecto no OSH Park: http://www.oshpark.com/shared_projects/14wvI0Bu
FT_Prog: http://www.ftdichip.com/Support/Utilities.htm#FT_PROG

27/11/2016

Módulo carregador USB "uCharge"

Este é um módulo que permite alimentar dispositivos USB, possibilitando ao mesmo tempo a comunicação com um PC. O módulo pode fornecer até 1,75A, o que corresponde a mais do triplo da corrente normalmente fornecida por um porto USB 2.0. Para além do mais, pode funcionar sem estar ligado a um computador, neste caso como um simples carregador USB. Tais características tornam o uCharge muito útil na alimentação de dispositivos que requeiram uma corrente superior a 500mA.

Parâmetros de funcionamento:
– V d. mín. = 6,63V
– V d. máx. = 17,27V
– I L máx. = 1,75A


Características eléctricas:
– I d. (V d. = 7V, I L = 0A) = 16,64mA
– I d. (V d. = 16V, I L = 0A) = 6,85mA
– P (V d. = 7V, I L = 0A) = 116,5mW
– P (V d. = 16V, I L = 0A) = 109,6mW


Módulo carregador USB "uCharge".

O componente central do circuito é o TPS62143 (IC1), um conversor DC-DC da Texas Instruments capaz de fornecer até 2A de corrente. Essencialmente, é este conversor que vai fornecer uma tensão regulada de 5V ao dispositivo a ser alimentado. À saída do mesmo, um filtro constituído por L1 e C5 converte a corrente pulsada em corrente contínua. Neste aspecto, é importante salientar que a ondulação após o filtro nunca é superior a 20mVpp, e isto em regime de carga máxima. O conversor DC-DC pode ficar habilitado apenas enquanto for detectada a tensão Vbus proveniente do porto anfitrião, ou então de modo permanente, conforme a posição do shunt em JP1.

Foram implementadas numerosas medidas de protecção contra sobre-tensões, inversões de polaridade, excesso de corrente e descargas electrostáticas. Um circuito crowbar com SCR, constituído pelo tirístor Q1 e por D3, C1 e R1, protege contra sobre-tensões. Esta protecção é complementada por D1, que é um díodo Zener adequado para transientes, e portanto cuja acção é muito mais rápida. A protecção contra inversões de polaridade é garantida por D2, também em conjunção com D1. O fusível em F1 actua em caso de sobre-corrente na alimentação, servindo de complemento às protecções anteriores.

Lista de componentes:
C1 – Condensador cerâmico multi-camada 10nF 10V (0805);
C2 – Condensador de electrólito sólido RNS1E101MDN1;
C3 – Condensador cerâmico multi-camada 10µF 25V (1210);
C4 – Condensador cerâmico multi-camada 3,3nF 25V (0805);
C5 – Condensador cerâmico multi-camada 22µF 10V (1210);
C6 – Condensador electrolítico de nióbio NOJD107M010 (NOJD107M010RWJ ou equiv.);
D1 – Díodo TVS SMBJ18A;
D2 – Díodo rectificador S3A;
D3 – Díodo Zener BZX84-B16;
D4/5 – Díodo Schottky BAT54;
D6 – LED Kingbright APT2012EC (ou KPT-2012EC);
F1 – Fusível PPTC 2920L150;
IC1 – Conversor DC-DC TPS62143 (TPS62143RTG);
IC2 – Circuito de protecção PolyZen ZEN056V175A12YM;
J1 – Receptáculo de alimentação 5,5mm x 2,1mm;
J2 – Conector USB Molex 67068-8001;
J3 – Conector USB Molex 67643-2911;
JP1 – Conector header macho de 3 pinos (com shunt);
L1 – Indutor de potência XFL4020-222MEB;
Q1 – Tirístor SCR MCR703AT4G;
R1 – Resistor de filme espesso 150Ω±5% 1/8W (0805);
R2/3 – Resistor de filme espesso 47KΩ±5% 1/8W (0805);
R4 – Resistor de filme espesso 180Ω±5% 1/8W (0805).


O layout da placa está disponível nos formatos brd (Eagle 7.6.0) e Gerber. Como de costume, recomendo que a encomenda da placa seja feita através do OSH Park, dado que o layout foi desenhado em concordância com as especificações deste serviço. Se porventura desejar utilizar outro serviço de fabrico, verifique se o mesmo suporta layouts de quatro camadas, furação a partir de 0,5mm e se o stackup e materiais são idênticos. Convêm reforçar que este último critério é determinante para uma impedância correcta do par diferencial de USB.

Relativamente à montagem, esta requer algum equipamento especializado. A soldadura dos componentes SMD deve ser feita por refusão com ar quente. Por outro lado, os componentes through-hole podem ser soldados empregando um ferro de soldar. Após a soldadura e de modo a finalizar, deverá colar os pés de borracha na parte inferior da placa. Recomendo pés do tipo SJ5076, da 3M.

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/gbmk...rws2
Diagrama do circuito (Eagle 7.6.0 sch): http://app.box.com/s/n5wz...xo9o
Layout da placa (pdf): http://app.box.com/s/ryg0...msxu
Layout da placa (Eagle 7.6.0 brd): http://app.box.com/s/w43g...i2alj
Ficheiros Gerber: http://app.box.com/s/4z7j...kq55
Notas do projecto: http://app.box.com/s/47bt...xqcu
Pasta contendo todos os ficheiros: http://app.box.com/s/02zn...0w2j
Projecto no OSH Park: http://www.oshpark.com/shared_projects/0ATgQXZD

13/11/2016

Programa de demonstração para a placa de desenvolvimento "Prop II"

Este programa é muito semelhante ao que já fora apresentado no post de 2 de Agosto, porém mais optimizado. Criado com o mesmo propósito, utiliza os oito núcleos de processamento do micro-controlador P8X32A para o cálculo de números primos. Para tal, o utilizador introduz os valores limite, e o programa irá determinar todos os números primos entre esses valores. Por ser intensivo em termos de processamento, este programa atesta bem as capacidades do P8X32A.

Para utilizar o programa, é necessário carregá-lo com o SimpleIDE. Caso não o tenha feito anteriormente, deve transferir primeiro o ficheiro "prop-ii.cfg" para a pasta "propeller-load" da sua instalação. Tal passo permite utilizar o perfil de hardware adequado à placa Prop II. Deverá também transferir o ficheiro do projecto e o respectivo código C para a pasta dos projectos do SimpleIDE. Por último, tendo a placa ligada ao computador, abra o projecto com o nome "Prop_II_primos.side" e escolha a opção "Run with Terminal" (tecla F8).

Programa de demonstração a correr no terminal do SimpleIDE.

Todavia, é importante frisar que o terminal do SimpleIDE é algo lento, o que pode levar a paragens aparentes na execução com a consequente omissão de linhas de resultados. Em alternativa, pode utilizar a opção "Load EEPROM & Run" (tecla F11) para guardar o programa na EEPROM. Depois basta utilizar outra aplicação de comunicação série, como o PuTTY por exemplo, para executar o programa. Desta forma não é necessário recorrer ao terminal do SimpleIDE.

Programa a correr no PuTTY. O SimpleIDE é visível em segundo plano.

Links importantes:
Projecto SimpleIDE: http://app.box.com/s/3sc7...qcu4
Programa em C: http://app.box.com/s/445z...6ai9
Perfil de hardware: http://app.box.com/s/j49y...chhm
Pasta contendo todos os ficheiros: http://app.box.com/s/p1so...18n1

23/10/2016

Placa de teste PTUSB2

À semelhança da PTUSB1 (veja o post de 24 de Setembro), trata-se de uma placa desenvolvida para testes no âmbito do protocolo USB. Como a sua predecessora, possibilita a medição da corrente de consumo e o controlo da tensão de alimentação (Vbus) para o dispositivo em teste. Contudo, esta nova placa não só suporta as versões 2.0 e 1.1 do padrão USB, como também suporta a nova versão 3.1 "Gen 2" com velocidades de transferência até 10Gb/s. Nesse aspecto, convêm referir que o funcionamento a 10Gb/s foi confirmado sem perdas assinaláveis.

Placa de teste PTUSB2.

Placa PTUSB2 a ser empregue para medir o consumo de um disco externo.

O circuito é bastante simples. Dois conectores USB, um de tipo A e outro de tipo B, estão interligados através de três pares diferenciais, sendo dois deles usados para a comunicação em "SuperSpeed" e o restante reservado para USB 2.0. Os conectores partilham também a mesma massa e chassis. Contudo, a linha de Vbus encontra-se interrompida de um conector para o outro, por forma a permitir a interrupção ou medição de corrente, assim como o controle da tensão que alimenta o dispositivo. Convém salientar que, em concordância com a especificação da norma USB, todos os pares diferenciais têm a sua impedância controlada a 90Ω.

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


Novamente, o layout da placa está disponível nos formatos brd (Eagle 7.6.0) e Gerber. Recomendo que a encomenda da placa seja feita via OSH Park, visto que o layout foi desenhado tendo as especificações deste serviço em mente. Caso deseje utilizar outro serviço, verifique se o mesmo suporta layouts de quatro camadas, furos a partir de 0,5mm, e se o stackup e materiais são iguais. Tal critério é determinante para a impedância do pares diferenciais. A montagem da placa não requer ferramentas especiais, bastando para isso um simples ferro de soldar de 25W e um jogo de chaves de bocas ou de lunetas.

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/cswf...jyxu
Diagrama do circuito (Eagle 7.6.0 sch): http://app.box.com/s/vpcv...vbvc
Layout da placa (pdf): http://app.box.com/s/nkee...p7bp
Layout da placa (Eagle 7.6.0 brd): http://app.box.com/s/h3sf...bhzd
Ficheiros Gerber: http://app.box.com/s/zr20...xwdb
Notas do projecto: http://app.box.com/s/j7ax...t26w
Pasta contendo todos os ficheiros: http://app.box.com/s/sz0c...kkp7
Projecto no OSH Park: http://oshpark.com/shared_projects/GzwxAlCj

05/10/2016

Programa de teste para a placa de desenvolvimento "Prop II"

Este programa é praticamente idêntico ao programa de teste apresentado no post de 24 de Julho, desenvolvido para a placa Prop. O seu propósito é o mesmo: testar os pinos da placa de modo a verificar a existência de curto-circuitos. O utilizador introduz o número do pino a comutar, e o programa prontamente indica se a operação foi bem sucedida ou se houve um erro.

Programa de teste a correr no terminal do SimpleIDE.

Como anteriormente, é necessário utilizar o SimpleIDE para correr o teste. Em primeiro lugar, deve transferir o ficheiro "prop-ii.cfg" para a pasta "propeller-load" da sua instalação. Isso permitirá aplicar o perfil de hardware adequado à placa Prop II. Também deverá transferir o ficheiro do projecto e o código C para a pasta dos projectos do SimpleIDE. Por fim, com a placa ligada ao computador, basta abrir o projecto com o nome "Prop_II_teste.side" e escolher a opção "Run with Terminal" (tecla F8) para executar o programa.

Links importantes:
Projecto SimpleIDE: http://app.box.com/s/xyg6...3b8m
Programa em C: http://app.box.com/s/zmub...ovzr
Perfil de hardware: http://app.box.com/s/31qc...6x93
Pasta contendo todos os ficheiros: http://app.box.com/s/9nrq...816o

24/09/2016

Placa de teste PTUSB1

Hoje apresento uma placa criada especificamente para testes dentro do protocolo USB. A PTUSB1 foi desenhada com o intuito de permitir a medição da corrente de consumo e também o controlo da tensão de alimentação (vulgo Vbus) para o dispositivo a testar. Suporta as versões 2.0 e 1.1 do padrão USB. Aliás, convêm salientar que o funcionamento da placa foi comprovado com vários dispositivos sem se verificarem quaisquer perdas de desempenho.

Placa de teste PTUSB1.

Placa PTUSB1 a ser utilizada para medir o consumo de um dispositivo USB.

O circuito é extremamente simples. Na sua essência, esta placa é constituída por dois conectores USB, um do tipo A e o outro do tipo B, ligados através de um par diferencial e com a mesma massa e chassis. A linha de Vbus, que é a responsável pela alimentação do dispositivo por parte do anfitrião, encontra-se interrompida de modo a permitir a medição de corrente. Tal configuração também permite a injecção de tensão para o dispositivo independentemente da tensão disponível no porto anfitrião. É de frisar que o par diferencial tem a sua impedância controlada a 90Ω, de acordo com a especificação da norma USB.

Lista de componentes:
J1 – Conector USB Molex 67068-8001;
J2/4 – Borne vermelho;
J3/5 – Borne preto;
J6 – Conector USB Molex 67643-2911.


O layout da placa está disponível nos formatos brd (Eagle 7.6.0) e Gerber. Recomendo que a encomenda da placa seja feita via OSH Park, dado que o layout foi desenhado tendo em conta as especificações deste serviço. Caso deseje utilizar outro serviço, verifique se o mesmo suporta layouts de quatro camadas, furos a partir de 0,5mm, e se o stackup e materiais são os mesmos. Este último critério é determinante para a impedância do par diferencial. A montagem da placa não requer instruções muito especificas, bastando para tal um ferro de soldar de 25W e um jogo de chaves de bocas ou de lunetas.

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/0na6...bfgt
Diagrama do circuito (Eagle 7.6.0 sch): http://app.box.com/s/bzmd...xp15
Layout da placa (pdf): http://app.box.com/s/iaoh...0lil
Layout da placa (Eagle 7.6.0 brd): http://app.box.com/s/jdfw...ie0z
Ficheiros Gerber: http://app.box.com/s/6ow5...tew7
Notas do projecto: http://app.box.com/s/1k6t...a8xv
Pasta contendo todos os ficheiros: http://app.box.com/s/gn0z...s5d1
Projecto no OSH Park: http://oshpark.com/shared_projects/EwXI88CL

11/09/2016

Placa de desenvolvimento "Prop II"

Esta é uma nova placa de desenvolvimento baseada no P8X32A, à semelhança da placa Prop apresentada em posts anteriores (26 de Março e 2 de Julho). De facto, esta nova placa é uma evolução da sua predecessora, mas com características de tal modo distintas que foi necessário criar um novo projecto com outro nome. Em especial, foi escolhido um cristal de 6MHz para fornecer a base de tempo, o que possibilita uma operação perfeitamente estável em regime de overclock (a 96MHz), e isto utilizando a tensão nominal de 3,3V. A Prop II também conta com 64KB de memória EEPROM e um LED para indicar a presença de alimentação.

Placa de desenvolvimento "Prop II".

Placa Prop II em funcionamento. O LED indica que a placa está a ser alimentada.

O circuito é muito semelhante ao da última revisão da placa Prop, pelo que seria desnecessário detalhar muito sobre o funcionamento do mesmo. No entanto, é importante mencionar as particularidades deste projecto. A sublinhar, como a base de tempo dada pelo cristal (X1) é agora de 6MHz, as frequências de trabalho após multiplicação com recurso à PLL interna do micro-controlador também serão diferentes: é possível pois obter frequências de 6, 12, 24, 48 e 96MHz. A memória EEPROM em IC5 é de um tipo diferente e comporta 64KB, o dobro da memória presente na placa original. Por último, o LED em D3 indica a presença de 3,3V na placa, servindo R2 para limitar a corrente que o atravessa.

Lista de componentes:
C1/2/4 – Condensador cerâmico multi-camada 1µF 10V (0805);
C3 – Condensador cerâmico multi-camada 10nF 10V (0805);
C5-10/13 – Condensador cerâmico multi-camada 100nF 10V (0805);
C11/12 – Condensador cerâmico multi-camada 47pF 10V (0805);
D1 – Díodo Schottky FYV0704S;
D2 – Díodo Zener BZX84-B3V3;
D3 – LED Kingbright APT2012EC (ou KPT-2012EC);
F1 – Fusível PPTC 1210L020;
IC1 – Circuito de protecção PolyZen ZEN056V075A48LS;
IC2 – Regulador de tensão TPS70933 (TPS70933DBV);
IC3 – Conversor USB-UART FT230X (FT230XQ);
IC4 – Micro-controlador P8X32A (P8X32A-Q44);
IC5 – Memória EEPROM M24512 (M24512-DFMC6TP);
J1 – Conector USB Hirose ZX62D-B-5PA8;
J2-7 – Conector header macho de 5 pinos;
Q1 – Transístor MOSFET BSS138;
Q2 – Tirístor SCR S4X8BS;
R1 – Resistor de filme espesso 150Ω±5% 1/8W (0805);
R2 – Resistor de filme espesso 82Ω±5% 1/8W (0805);
R3/4 – Resistor de filme espesso 27Ω±5% 1/8W (0805);
R5/6 – Resistor de filme espesso 4,7KΩ±5% 1/8W (0805);
S1 – Interruptor pulsador C&K PTS525SMG15J (PTS525SMG15JSMTR2LFS);
X1 – Cristal Abracon ABMM-6.000MHz-B2-T.


Como em projectos anteriores, o layout da placa está disponível nos formatos brd (Eagle 7.6.0) e Gerber. A encomenda da placa deve ser feita via OSH Park, visto que este serviço suporta todos os requisitos do layout. Pode sempre usar outro serviço de fabrico, se preferir, mas tenha em atenção que o mesmo deve suportar layouts de quatro camadas e furação a partir de 0,5mm.

A montagem da placa requer algum equipamento específico. Nomeadamente, a soldadura dos componentes SMD deve ser feita por refusão com ar quente. Note que a memória em IC5 requer cuidados redobrados na aplicação da pasta de solda com stencil, visto que o encapsulamento é do tipo DFN com espaçamento entre pinos muito reduzido. Os restantes componentes, sendo through-hole, podem ser soldados com um simples ferro de soldar. Para tal, um ferro de 25W é o suficiente.

Por último, após a montagem é necessário configurar o FT230X de modo a que a placa opere correctamente. Deste modo, e mais uma vez, recomendo a aplicação FT_Prog. O ficheiro de configuração necessário encontra-se dentro da pasta "Firmware", por sua vez localizada na pasta do projecto. Aconselho que leia as instruções antes de proceder à configuração.

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/yj17...7022
Diagrama do circuito (Eagle 7.6.0 sch): http://app.box.com/s/erml...5toa
Layout da placa (pdf): http://app.box.com/s/jg77...q5uh
Layout da placa (Eagle 7.6.0 brd): http://app.box.com/s/o14k...l690
Ficheiros Gerber: http://app.box.com/s/umvk...vpwn
Firmware (com instruções): http://app.box.com/s/4rg7...vl67
Notas do projecto: http://app.box.com/s/muiv...zw8o
Pasta contendo todos os ficheiros: http://app.box.com/s/wi1o...n02g
Projecto no OSH Park: http://oshpark.com/shared_projects/VmzrduRz
FT_Prog: http://www.ftdichip.com/Support/Utilities.htm#FT_PROG

02/09/2016

Propeller P8X32A

O Propeller P8X32A é um micro-controlador de 32 bits da Parallax que integra oito núcleos de processamento (vulgo cogs). Este micro-controlador foi concebido por Chip Gracey, co-fundador da Parallax, que também criou as linguagens PASM (de Propeller Assembly) e SPIN para o mesmo. Foi introduzido no mercado em 2006, sendo fabricado com tecnologia CMOS de 350nm.

Para além dos 8 núcleos de processamento, o P8X32A conta com 32KB de memória RAM partilhada e 2KB de memória RAM dedicada a cada núcleo, o que perfaz um total de 48KB. Também tem 32KB de memória ROM para o mapa de caracteres, para as tabelas logarítmica, anti-logarítmica e de seno, para o bootloader e para o interpretador de SPIN. Para além do mais, pode operar até 80Mz sem overclock, o que corresponde a um processamento de 20MIPS por núcleo.

Micro-controladores P8X32A em vários encapsulamentos. O P8X32A está disponível em DIP de 40 pinos, e em QFN e QFP de 44 pinos.

Como é evidente na fotografia acima, o P8X32A está disponível em diversos encapsulamentos: DIP de 40 pinos, QFN de 44 pinos e QFP, também de 44 pinos. Em especial, a versão em DIP é muito útil em prototipagem, uma vez que pode ser facilmente montada numa placa de ensaio. As versões em QFP e QFN podem ser empregues em projectos finais que requeiram alguma miniaturização.

Em síntese, o P8X32A é um micro-controlador bastante potente. Adicionalmente, é muito acessível e fácil de programar, dado que existem várias aplicações de desenvolvimento, para além de haver documentação e suporte na Internet. Pode por isso ser facilmente implementado em projectos de automação, robótica, aquisição de dados e outras aplicações que envolvam computação.