17/08/2017

Gerador de funções GF1

Apresento hoje um projecto ao qual dediquei bastante tempo: trata-se de um gerador de funções alimentado e controlado por USB. O GF1 é capaz de de gerar sinais sinusoidais e triangulares com frequência até 1MHz, sem degradação significativa. A frequência do sinal gerado pode ser ajustada em passos de 2,98Hz até ao valor máximo de 25MHz, sendo a amplitude ajustável de 0 a 5Vpp. Secundariamente, por ter também uma saída digital, o GF1 pode ser utilizado como gerador de relógio.

Parâmetros de funcionamento:
– V d. mín. = 3,66V
– V d. nom. = 5V
– V d. máx. = 5,45V
– Z L mín. = 50Ω


Características eléctricas:
– I d. (Z L = 50Ω@0V) = 115,3mA
– I d. (Z L > 100KΩ) = 76,35mA
– P (Z L = 50Ω@0V) = 576,7mW
– P (Z L > 100KΩ) = 381,8mW


Características da saída analógica:
– Frequência máxima: 1MHz
– Incremento em frequência: 2,98Hz
– Amplitude máxima (Z L = 50Ω@0V): 2,26Vpp
– Amplitude máxima (Z L > 100KΩ): 4,78Vpp
– Incremento em amplitude (Z L = 50Ω@0V): 9,81mVpp
– Incremento em amplitude (Z L > 100KΩ): 19,6mVpp
– Impedância de saída (Z S): 49,9Ω


Características da saída digital:
– Frequência máxima: 25MHz
– Incremento em frequência: 2,98Hz
– Razão cíclica: 0,5
– Amplitude (Z L = 50Ω@0V): 2,13Vpp
– Amplitude (Z L = 50Ω@1,65V): 2,32Vpp
– Amplitude (Z L > 100KΩ): 3,30Vpp
– Impedância de saída (Z S): 27,5Ω


Outras características:
– Taxa de amostragem: 50MSa/s
– Resolução do conversor D/A: 10bit
– Resolução do controlo de amplitude: 8bit


Gerador de funções GF1.

Função sinusoidal com frequência a 1KHz e amplitude a 3Vpp.

Função triangular com frequência a 1MHz e amplitude a 4Vpp.

O elemento central do circuito é o AD5932 da Analog Devices, em IC10. Controlado por SPI, é este integrado que gera tanto o sinal analógico como o sinal digital, definindo a frequência de ambos e a forma de onda do primeiro. A amplitude do sinal analógico é controlada por um AD5160BRJZ5 (IC11), um potenciómetro digital de 5KΩ, também controlado por SPI. O amplificador de sinal em IC12, estando configurado como seguidor de tensão, serve para isolar o potenciómetro anterior do estágio final, por seu turno constituído por um outro amplificador operacional (IC13) configurado como subtractor para remover a componente DC e amplificar o sinal gerado. Por outro lado, o sinal digital passa pelo buffer de relógio em IC14, mais especificamente um CDCLVC1102 da Texas Instruments.

O funcionamento do gerador de funções é inteiramente controlado através do CP2130 da Silicon Labs (IC4), um interface USB que permite comunicar com dispositivos SPI, em modo "mestre". Isto simplifica bastante o circuito, não havendo necessidade de empregar um micro-controlador para agir como intermediário para os vários dispositivos SPI "escravos". Para além de controlar os integrados já acima referidos (IC10 e IC11), o CP2130 também controla todas as alimentações, desabilitando os reguladores quando entra em modo de suspensão. Este requisito é necessário para cumprir com as especificações da norma USB no que diz respeito ao consumo de corrente no dito modo.

Foram implementadas algumas medidas de protecção, sobretudo contra descargas electrostáticas, na alimentação e nas saídas. O integrado IC1, um dispositivo PolyZen, oferece protecção contra sobre-tensões, corrente excessiva e surtos na alimentação. Por sua vez, as saídas estão protegidas contra descargas electrostáticas pelos circuitos de protecção TVS em IC15 e IC16.

Lista de componentes:
C1/2/4-6/21/23/25/27-30/32/34/37 – Condensador cerâmico multi-camada 100nF 10V (0805);
C3/9/12/16/36 – 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.);
C10/13/19/26 – Condensador cerâmico multi-camada 10nF 10V (0805);
C11/14/15/17/18/20/35 – Condensador cerâmico multi-camada 2,2µF 10V (0805);
C22/24/31/33 – Condensador electrolítico de nióbio NOJA106M006 (NOJA106M006RWJ ou equiv.);
D1 – LED WP1503CB/YD;
D2 – LED WP1503CB/ID;
IC1 – Circuito de protecção PolyZen ZEN056V075A48LS;
IC2/3 – Circuito de protecção TVS SP4021-01FTG;
IC4 – Conversor USB-SPI CP2130 (CP2130-F01-GM);
IC5 – Regulador de tensão TPS79933 (TPS79933DDC);
IC6 – Regulador de tensão TPS79925 (TPS79925DDC);
IC7 – Conversor charge-pump LM2776 (LM2776DBV);
IC8 – Regulador de tensão TPS72325 (TPS72325DBV);
IC9 – Oscilador de cristal CTS 636L3C050M00000;
IC10 – Gerador de funções AD5932 (AD5932YRUZ);
IC11 – Potenciómetro digital AD5160BRJZ5 (AD5160BRJZ5-RL7 ou equiv.);
IC12 – Amplificador operacional OPA365 (OPA365AID);
IC13 – Amplificador operacional OPA830 (OPA830ID);
IC14 – Buffer de relógio CDCLVC1102 (CDCLVC1102PW);
IC15 – Circuito de protecção TVS SP4020-01FTG-C;
IC16 – Circuito de protecção TVS SP4020-01FTG;
J1 – Conector USB Molex 67068-9001;
J2/3 – Conector BNC Amphenol RF 112659;
L1 – Conta de ferrite BLM21PG331SN1;
R1 – Resistor de filme espesso 1MΩ±5% 1/8W (0805);
R2 – Resistor de filme espesso 4,7KΩ±5% 1/8W (0805);
R3 – Resistor de filme espesso 47KΩ±5% 1/8W (0805);
R4/5 – Resistor de filme espesso 82Ω±5% 1/8W (0805);
R6 – Resistor de filme espesso 340Ω±1% 1/8W (0805);
R7 – Resistor de filme espesso 49,9Ω±1% 1/8W (0805);
R8 – Resistor de filme espesso 0Ω 1/8W (0805);
R9/11 – Resistor de filme espesso 1KΩ±1% 1/8W (0805);
R10/12 – Resistor de filme espesso 8,66KΩ±1% 1/8W (0805);
R13 – Resistor de filme espesso 49,9Ω±1% 1/4W (1206);
R14/15 – Resistor de filme espesso 10Ω±5% 1/8W (0805).


O layout da placa está disponível nos formatos brd (Eagle 7.7.0) e Gerber. A placa em si deve ser encomendada através do OSH Park, uma vez que o respectivo layout foi desenhado tendo em consideração os requisitos deste serviço. Todavia, pode utilizar outro serviço de fabrico, desde que o mesmo suporte layouts de quatro camadas com furação mínima de 0,5mm. Convém mencionar que, no caso corrente, os materiais e stack-up não têm necessariamente de ser idênticos aos especificados pelo OSH Park.

A soldadura e montagem da placa requer equipamento especializado. A salientar, todos os componentes SMD devem ser soldados por refusão com ar quente, soldando primeiro os componentes da face superior, e só depois os da fase inferior. Por precaução, deve ser aplicada apenas a quantidade necessária de calor, especialmente aquando a soldadura dos componentes na face inferior, por forma a evitar que o calor se propague em demasia para a outra face. Os restantes componentes, dado que são through-hole, podem ser soldados com um ferro vulgar.

A caixa recomendada para o projecto é a Hammond 1457C801. É uma caixa em alumínio anodizado com tampas lacadas, revestidas a pó preto. Em alternativa, pode utilizar uma caixa do modelo 1457C801BK, do mesmo fabricante e com as mesmas dimensões. A furação das tampas deve ser feita seguindo o guia de furação.

Para finalizar, este projecto usufrui de diversos drivers para Windows e software para Linux (Debian). Se dispõe de Windows, deverá configurar antes de mais o interface CP2130 através da aplicação "CP21xx Customization Utility" da Silicon Labs (presente no pacote CP2130_SDK para Windows XP e Vista), utilizando para tal o ficheiro de configuração localizado na pasta "Firmware". Em Linux, deverá utilizar o programa de configuração fornecido no pacote "gf1-r0-conf-lin.tar.gz", o qual está na pasta "Software". Ambas as pastas, assim como outras pastas e ficheiros relevantes, encontram-se dentro da pasta do projecto. Para saber mais detalhes acerca da configuração e utilização do gerador de funções, consulte as notas do projecto.

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/n0vf...5nt6
Diagrama do circuito (Eagle 7.7.0 sch): http://app.box.com/s/u79v...zt6m
Layout da placa (pdf): http://app.box.com/s/igyp...9b52
Layout da placa (Eagle 7.7.0 brd): http://app.box.com/s/7mz7...isjg
Ficheiros Gerber: http://app.box.com/s/acdw...0qpk
Guia de furação: http://app.box.com/s/o3a4...oukp
Firmware (com instruções): http://app.box.com/s/wpq4...hhii
Drivers (Windows): http://app.box.com/s/kpfz...0idn
Software (Linux): http://app.box.com/s/7he5...6cpe
Notas do projecto: http://app.box.com/s/axur...lsgm
Pasta contendo todos os ficheiros: http://app.box.com/s/iewt...2jkk
Projecto no OSH Park: http://www.oshpark.com/shared_projects/JhxIKeqQ
CP2130_SDK: http://www.silabs.com/.../CP2130_SDK_Windows_XP_Vista.exe