Mostrar mensagens com a etiqueta geradores de funções. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta geradores de funções. Mostrar todas as mensagens

20/07/2019

Gerador de funções GF2 (Rev. A)

Esta é uma revisão rectificativa ao projecto apresentado no post de 10 de Julho do ano passado. Essencialmente, a versão original mostrou uma limitação relacionada com o amplificador operacional que fora empregue na etapa final, um OPA2830 da Texas Instruments. Tal limitação causava distorções no sinal de saída, quando o gerador de funções produzia um sinal cuja frequência estava sensivelmente acima dos 2MHz, com a saída analógica terminada com uma carga de 50Ω (veja o post de 8 de Abril para saber mais pormenores).

Esta nova revisão visa assim rectificar a referida limitação. Por conseguinte, a nova versão do gerador de funções é capaz de gerar sinais com forma de onda sinusoidal até 8MHz em qualquer regime de carga, sem que haja distorção. No entanto, a geração de sinais com forma de onda triangular continua limitada à frequência máxima de 2MHz.

Parâmetros de funcionamento:
– V d. mín. = 4,74V
– V d. nom. = 5V
– V d. máx. = 5,25V
– Z L mín. = 50Ω


Características eléctricas:
– I d. (Z L = 50Ω@0V) = 131,6mA
– I d. (Z L > 100KΩ) = 81,96mA
– P (Z L = 50Ω@0V) = 658,2mW
– P (Z L > 100KΩ) = 409,8mW


Características da saída analógica:
– Frequência máxima (onda sinusoidal): 8MHz
– Frequência máxima (onda triangular): 2MHz
– Incremento em frequência: 298mHz
– Incremento em fase: 0,0879°
– Amplitude máxima (Z L = 50Ω@0V): 4,01Vpp
– Amplitude máxima (Z L > 100KΩ): 8,02Vpp
– Incremento em amplitude (Z L = 50Ω@0V): 3,92mVpp
– Incremento em amplitude (Z L > 100KΩ): 7,83mVpp
– Ruído (Z L = 50Ω@0V): 2,68mVrms
– Ruído (Z L > 100KΩ): 5,35mVrms
– Relação sinal-ruído (SNR dB): 54,5dB
– Impedância de saída (Z S): 49,9Ω


Características da saída digital:
– Frequência máxima: 24MHz
– Incremento em frequência: 298mHz
– Incremento em fase: 0,0879°
– 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:
– Base de tempo: 80MHz±50ppm
– Taxa de amostragem: 80MSa/s
– Resolução do acumulador de fase: 28bit
– Resolução da compensação de fase: 12bit
– Resolução do conversor D/A: 10bit
– Resolução do controlo de amplitude: 10bit
– Tensão de histerese do comparador: 21,4mV


Função sinusoidal com frequência a 8MHz e amplitude a 3Vpp. Ambas as saídas estão terminadas a 50Ω.

Função triangular com frequência a 2MHz e amplitude a 3Vpp. Novamente, as saídas estão terminadas a 50Ω.

A modificação mais notável feita ao nível do circuito foi a substituição do amplificador operacional que abrange as duas etapas de amplificação final da saída analógica. Originalmente um OPA2830 da Texas Instruments, o amplificador operacional em IC14 passa a ser do tipo LMH6612, do mesmo fabricante. É de frisar que este último tipo apresenta melhores características que o anterior no que concerne à capacidade de trabalhar sob carga em regime de altas frequências. Em contrapartida, o LMH6612 requer uma tensão de alimentação um pouco maior, de modo a produzir sinais com amplitude até 4Vpp.

Circuito das etapas de amplificação final da saída analógica.

De modo a acomodar o novo amplificador operacional, as tensões de alimentação da secção analógica foram aumentadas em cerca de 300mV, para 4,5V e -4,5V. Para tal, foram feitas alternações em torno dos reguladores de tensão em IC6 e IC8. O regulador em IC6 é agora um TPS79901, a versão ajustável da série TPS799. Repare que a tensão de referência deste regulador é dada pelo divisor de tensão constituído por R6 e R7. Por sua vez, o regulador em IC8 continua a ser o mesmo, mas a razão do respectivo divisor de tensão foi alterada.

Contudo, as modificações implementadas nesta revisão não foram feitas somente em consequência da substituição do amplificador operacional anteriormente referido. É de notar que o filtro de reconstrução é agora de 7ª ordem, se bem que ainda com alinhamento próximo a Chebyshev de 0,01dB. Esta modificação foi feita com vista a minorar ainda mais as harmónicas resultantes do processo de síntese digital directa inerente ao AD9834. É, porém, importante salientar que, na prática, esta melhoria não se traduz num efeito imediatamente observável.

Lista de componentes:
C1/2/4-6/21/23/25/27/29/30/39/40/42/44/45/51 – Condensador cerâmico multi-camada 100nF 10V (0805);
C3/9/12/16/19/50 – 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/26/28/46/47 – Condensador cerâmico multi-camada 10nF 10V (0805);
C11/14/15/18/20/48/49 – Condensador cerâmico multi-camada 2,2µF 10V (0805);
C17 – Condensador cerâmico multi-camada 470nF 10V (0805);
C22 – Condensador electrolítico de nióbio NOJA106M006 (NOJA106M006RWJ ou equiv.);
C24/41/43 – Condensador electrolítico de nióbio NOJA106M010 (NOJA106M010RWJ ou equiv.);
C31/32/37/38 – Condensador cerâmico multi-camada 22pF±5% C0G 10V (0805);
C33-36 – Condensador cerâmico multi-camada 56pF±5% C0G 10V (0805);
D1 – LED WP1503CB/ID;
D2 – LED WP1503CB/YD;
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 TPS79901 (TPS79901DDC);
IC7 – Conversor 'charge-pump' LM2776 (LM2776DBV);
IC8 – Regulador de tensão TPS72301 (TPS72301DBV);
IC9 – Oscilador de cristal CTS 636L3C080M00000;
IC10 – Gerador de funções AD9834 (AD9834CRUZ);
IC11 – Conversor digital-analógico AD5310 (AD5310BRTZ);
IC12 – Amplificador operacional LMV611 (LMV611MF);
IC13 – Amplificador operacional OPA2832 (OPA2832ID);
IC14 – Amplificador operacional LMH6612 (LMH6612MA);
IC15 – Comparador TLV3501 (TLV3501AIDBV);
IC16 – 'Buffer' de relógio CDCLVC1102 (CDCLVC1102PW);
IC17 – Circuito de protecção TVS SP4021-01FTG-C;
IC18 – Circuito de protecção TVS SP4020-01FTG;
J1 – Conector USB Molex 67068-9001;
J2/3 – Conector BNC Amphenol RF 112659;
L1/2/9 – Conta de ferrite MPZ2012S331A (MPZ2012S331AT000);
L3/4/7/8 – Indutor MLF2012A1R8J (MLF2012A1R8JT000);
L5/6 – Indutor MLF2012A2R2J (MLF2012A2R2JT000);
R1/30/32 – Resistor de filme espesso 1MΩ±5% 1/8W (0805);
R2/3/31/33 – Resistor de filme espesso 4,7KΩ±5% 1/8W (0805);
R4/5 – Resistor de filme espesso 82Ω±5% 1/8W (0805);
R6/8 – Resistor de filme espesso 28KΩ±1% 1/8W (0805);
R7/9 – Resistor de filme espesso 10KΩ±1% 1/8W (0805);
R10 – Resistor de filme espesso 0Ω 1/8W (0805);
R11/14 – Resistor de filme espesso 100KΩ±1% 1/8W (0805);
R12/13 – Resistor de filme espesso 402KΩ±1% 1/8W (0805);
R15 – Resistor de filme espesso 5,9KΩ±1% 1/8W (0805);
R16-19 – Resistor de filme espesso 200Ω±1% 1/8W (0805);
R20/22/25 – Resistor de filme espesso 499Ω±1% 1/8W (0805);
R21/23 – Resistor de filme espesso 1,43KΩ±1% 1/8W (0805);
R24 – Resistor de filme espesso 715Ω±1% 1/8W (0805);
R26 – Resistor de filme espesso 49,9Ω±1% 3/4W (2010);
R27/28 – Resistor de filme espesso 10KΩ±5% 1/8W (0805);
R29 – Resistor de filme espesso 1KΩ±5% 1/8W (0805);
R34/35 – Resistor de filme espesso 10Ω±5% 1/8W (0805).


À semelhança de outros projectos, o layout da placa está disponível nos formatos brd (Eagle 7.7.0) e Gerber. Novamente, recomendo que a encomenda da placa seja feita através do OSH Park, dado que o respectivo layout foi desenhado tendo em conta as especificações deste serviço. Em alternativa, pode utilizar outro serviço de fabrico, desde que o mesmo suporte layouts de quatro camadas com furação mínima de 0,5mm. Relativamente à montagem, aplicam-se as recomendações que foram dadas no post do projecto original.

Por último, é necessário configurar o interface CP2130 do gerador de funções. Em ambiente Windows, poderá fazê-lo através da aplicação "CP21xx Customization Utility" da Silicon labs (que vem incluída no pacote CP2130_SDK para Windows XP e Vista), utilizando para tal o ficheiro de configuração que está dentro da pasta "Firmware". Caso disponha de Linux, deverá utilizar o programa incluso no pacote "gf2-ra-conf-1.0.tar.gz", por seu turno localizado na pasta "Software". Também estão disponíveis versões actuais dos comandos de controlo e da interface gráfica na pasta anterior (remeta ao post de 20 de Abril para mais detalhes).

Links importantes:
Diagrama do circuito (pdf): https://app.box.com/s/vwgm...ckll
Diagrama do circuito (Eagle 7.7.0 sch): https://app.box.com/s/ptdy...frr7
Layout da placa (pdf): https://app.box.com/s/9058...fiat
Layout da placa (Eagle 7.7.0 brd): https://app.box.com/s/0rpb...hcu
Ficheiros Gerber: https://app.box.com/s/b1qd...las3
Guia de furação: https://app.box.com/s/w5l6...ej1y
Firmware (com instruções): https://app.box.com/s/2a10...toqu
Drivers (Windows): https://app.box.com/s/ufqi...oibv
Software (Linux): https://app.box.com/s/ykxg...3b7a
Notas do projecto: https://app.box.com/s/6dz6...nte8
Pasta contendo todos os ficheiros: https://app.box.com/s/toaf...jzpo
Projecto no OSH Park: https://oshpark.com/shared_projects/MLbU2XTa
CP2130_SDK: http://www.silabs.com/.../CP2130_SDK_Windows_XP_Vista.exe

10/07/2018

Gerador de funções GF2

Este é um novo um gerador de funções alimentado e controlado por USB, que segue o mesmo conceito do gerador de funções GF1 apresentado anteriormente (veja os posts de 17 de Agosto do ano passado e 16 de Abril deste ano), embora tenha características muito distintas e uma prestação superior em todos os aspectos. O GF2 é capaz de gerar sinais sinusoidais e triangulares com frequência até 2MHz e amplitude até 8Vpp, sem redução assinalável do desempenho. O ajuste em frequência faz-se em passos de apenas 298mHz, ao passo que a amplitude é ajustável em incrementos de 7,8mV, o que possibilita um controlo paramétrico bastante fino. Para além da frequência e da amplitude, é possível ajustar a fase do sinal gerado. À semelhança do GF1, este gerador de funções pode ser empregue como gerador de relógio, uma vez que possui uma saída digital síncrona.

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) = 132,0mA
– I d. (Z L > 100KΩ) = 82,36mA
– P (Z L = 50Ω@0V) = 660,2mW
– P (Z L > 100KΩ) = 411,8mW


Características da saída analógica:
– Frequência máxima: 2MHz
– Incremento em frequência: 298mHz
– Amplitude máxima (Z L = 50Ω@0V): 4,01Vpp
– Amplitude máxima (Z L > 100KΩ): 8,02Vpp
– Incremento em amplitude (Z L = 50Ω@0V): 3,92mVpp
– Incremento em amplitude (Z L > 100KΩ): 7,83mVpp
– Impedância de saída (Z S): 49,9Ω


Características da saída digital:
– Frequência máxima: 25MHz
– Incremento em frequência: 298mHz
– 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:
– Base de tempo: 80MHz±50ppm
– Taxa de amostragem: 80MSa/s
– Resolução do acumulador de fase: 28bit
– Resolução da compensação de fase: 12bit
– Resolução do conversor D/A: 10bit
– Resolução do controlo de amplitude: 10bit
– Tensão de histerese do comparador: 21,4mV


Gerador de funções GF2.

Função sinusoidal com frequência a 2MHz e amplitude a 3Vpp. As saídas estão terminadas a 50Ω.

Função triangular com frequência a 2MHz e amplitude a 1,5Vpp. As saídas estão terminadas a 50Ω.

O circuito foi concebido em torno do AD9834 da Analog Devices (IC10). É este o componente responsável pela geração dos sinais, mediante controlo via SPI. Uma das vantagens que o AD9834 oferece relativamente a outros integrados com a mesma função prende-se com o facto de ter saídas complementares, o que permite eliminar o offset com recurso a uma simples subtracção dos respectivos sinais. Outra vantagem deve-se ao facto de o AD9834 ter um pino que possibilita o controlo da amplitude dos sinais gerados, não sendo necessário intervir no caminho dos mesmos. Esse controlo é feito por intermédio do circuito representado na figura seguinte, e cujo funcionamento irei explicar a seguir.

Circuito de controlo de amplitude.

Essencialmente, o que o circuito esquematizado na imagem faz é controlar a corrente debitada através do pino "FS ADJUST" do AD9834 (tensão "FSADJ", no diagrama). Para tal, o AD5310 (IC11), um conversor digital-analógico comandado por SPI, produz uma tensão arbitrária entre 0 e 4,2V. O amplificador operacional LMV611, em IC12, converte o valor da tensão dada pelo AD5310 por forma a que a corrente do pino "FS ADJUST" varie na mesma proporção. Note que a tensão do pino "REFOUT" do AD9834 (tensão "VREF") serve de referência ao circuito, para garantir que a corrente debitada do pino "FS ADJUST" (referenciado internamente pela mesma fonte de tensão) é nula quando a tensão de saída do AD5310 iguala 0V. Quando este último integrado produz a tensão máxima de 4,2V, a corrente debitada do referido pino sobe para aproximadamente 168µA, o que corresponde à amplitude máxima.

Os sinais complementares provenientes do AD9834 passam primeiro por um filtro passa-baixo, ou filtro de reconstrução. Esse filtro, constituído pelos condensadores C31 a C36, pelos indutores L2 a L5, e pelos resistores R14 a R17, elimina os "degraus" resultantes da conversão digital-analógica inerente ao processo de síntese digital directa (ou DDS, sigla de Direct Digital Synthesis), com efeito reconstruindo o sinal. Repare que o filtro é de 5ª ordem com alinhamento próximo a Chebyshev de 0,01dB, visto que não se espera que o gerador de funções produza sinais com mudanças abruptas. Por conseguinte, a fraca resposta em degrau típica deste tipo de filtro não constitui aqui um problema. Os resistores R14, R15, R16 e R17 servem para definir a impedância característica do filtro.

Após a filtragem, os sinais são pré-amplificados por IC13 que, para além de actuar como um amplificador não inversor duplo, também tem o propósito de isolar o filtro da baixa impedância de entrada inerente à etapa posterior. Posteriormente, os sinais são subtraídos um ao outro pelo subtractor que o primeiro amplificador operacional de IC14 integra. Convém sublinhar que os sinais presentes nas entradas do subtractor são complementares e apresentam offset semelhante. Dessa etapa, sai um único sinal, naturalmente amplificado e quase sem offset. Este último sinal é finalmente amplificado pelo segundo amplificador operacional de IC14, e ainda aproveitado para gerar o sinal digital síncrono.

De modo a gerar o referido sinal digital, o sinal analógico que sai do subtractor é processado pelo comparador TLV3501 (IC15), conforme o diagrama da figura abaixo. É importante referir que o comparador mostra uma histerese de cerca de 21mV na sua configuração actual, o que é suficiente para eliminar o ruído e, ao mesmo tempo, gerar um sinal síncrono com pouco jitter. O sinal gerado passa finalmente pelo buffer de relógio em IC16 que, à semelhança do que acontece com o GF1, é o CDCLVC1102 da Texas Instruments.

Circuito do comparador.

O funcionamento do gerador de funções é controlado na sua totalidade pelo CP2130 da Silicon Labs (IC4). Tal abordagem não é nova, dado que este mesmo interface USB-SPI já foi empregue no gerador de funções GF1. Aspectos como a frequência, a fase e a amplitude são controlados por SPI, operando o CP2130 em modo "mestre". As restantes funcionalidades são controladas por pinos individuais do mesmo interface. A esse respeito, não só é possível ligar e desligar partes do circuito, como também é exequível implementar funções como modulação binária em frequência (BFSK) e fase (BPSK).

O circuito inclui as medidas de protecção habituais contra descargas electrostáticas na alimentação e nas saídas. O dispositivo PolyZen em IC1 oferece protecção contra sobre-tensões, corrente excessiva e surtos na alimentação. Adicionalmente, IC2 e IC3 protegem as linhas do barramento USB contra descargas electrostáticas. Por seu turno, os circuitos de protecção TVS em IC17 e IC18 abrangem as saídas.

Lista de componentes:
C1/2/4-6/21/23/25/27/29/30/37/38/40/42/43/49 – Condensador cerâmico multi-camada 100nF 10V (0805);
C3/9/12/16/18/19/48 – 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/26/28/44/45 – Condensador cerâmico multi-camada 10nF 10V (0805);
C11/14/15/20/46/47 – Condensador cerâmico multi-camada 2,2µF 10V (0805);
C17 – Condensador cerâmico multi-camada 470nF 10V (0805);
C22/24/39/41 – Condensador electrolítico de nióbio NOJA106M006 (NOJA106M006RWJ ou equiv.);
C31/32/35/36 – Condensador cerâmico multi-camada 22pF±5% C0G 10V (0805);
C33/34 – Condensador cerâmico multi-camada 47pF±5% C0G 10V (0805);
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 TPS79942 (TPS79942DDC);
IC7 – Conversor charge-pump LM2776 (LM2776DBV);
IC8 – Regulador de tensão TPS72301 (TPS72301DBV);
IC9 – Oscilador de cristal CTS 636L3C080M00000;
IC10 – Gerador de funções AD9834 (AD9834CRUZ);
IC11 – Conversor digital-analógico AD5310 (AD5310BRTZ);
IC12 – Amplificador operacional LMV611 (LMV611MF);
IC13 – Amplificador operacional OPA2832 (OPA2832ID);
IC14 – Amplificador operacional OPA2830 (OPA2830ID);
IC15 – Comparador TLV3501 (TLV3501AIDBV);
IC16 – Buffer de relógio CDCLVC1102 (CDCLVC1102PW);
IC17 – Circuito de protecção TVS SP4021-01FTG-C;
IC18 – Circuito de protecção TVS SP4020-01FTG;
J1 – Conector USB Molex 67068-9001;
J2/3 – Conector BNC Amphenol RF 112659;
L1/6 – Conta de ferrite MPZ2012S331A (MPZ2012S331AT000);
L2-5 – Indutor MLF2012A1R8J (MLF2012A1R8JT000);
R1/28/30 – Resistor de filme espesso 1MΩ±5% 1/8W (0805);
R2/3/29/31 – Resistor de filme espesso 4,7KΩ±5% 1/8W (0805);
R4/5 – Resistor de filme espesso 82Ω±5% 1/8W (0805);
R6 – Resistor de filme espesso 25,5KΩ±1% 1/8W (0805);
R7 – Resistor de filme espesso 10KΩ±1% 1/8W (0805);
R8 – Resistor de filme espesso 0Ω 1/8W (0805);
R9/12 – Resistor de filme espesso 100KΩ±1% 1/8W (0805);
R10/11 – Resistor de filme espesso 402KΩ±1% 1/8W (0805);
R13 – Resistor de filme espesso 6,04KΩ±1% 1/8W (0805);
R14-17 – Resistor de filme espesso 200Ω±1% 1/8W (0805);
R18/20/23 – Resistor de filme espesso 499Ω±1% 1/8W (0805);
R19/21 – Resistor de filme espesso 1,43KΩ±1% 1/8W (0805);
R22 – Resistor de filme espesso 715Ω±1% 1/8W (0805);
R24 – Resistor de filme espesso 49,9Ω±1% 3/4W (2010);
R25/26 – Resistor de filme espesso 10KΩ±5% 1/8W (0805);
R27 – Resistor de filme espesso 1KΩ±5% 1/8W (0805);
R32/33 – 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. Tratando-se de um layout de quatro camadas, sugiro que a encomenda da placa seja feita através do OSH Park, pois o respectivo desenho foi feito tomando em consideração os requisitos deste serviço. Caso deseje utilizar outro serviço de fabrico, confirme se o mesmo suporta layouts de quatro camadas com furação a partir de 0,5mm. Neste caso em particular, o stackup e os materiais não têm de corresponder aos especificados pelo OSH Park.

A montagem da placa requer equipamento especializado. Os componentes SMD devem ser soldados com recurso a pasta de solda, utilizando o processo de refusão com ar quente. Em primeiro lugar soldam-se os componentes da face superior, e só depois os da face inferior, tendo sempre o cuidado de aplicar o calor estritamente necessário e durante o intervalo de tempo mais curto possível. Os componentes through-hole soldam-se em último lugar, bastando para tal um ferro de soldar comum.

A caixa recomendada para este projecto é a Hammond 1457C801. Trata-se de uma caixa em alumínio anodizado com tampas lacadas a pó preto. Se preferir, pode optar pela caixa 1457C801BK do mesmo fabricante, a qual tem o corpo igualmente lacado a pó preto. A furação das tampas deve ser feita seguindo o guia de furação.

Montado o gerador de funções, é necessário configurar o interface CP2130 do mesmo. Em Windows, isso pode ser feito através da aplicação "CP21xx Customization Utility" da Silicon Labs (a aplicação vem incluída no pacote CP2130_SDK para Windows XP e Vista), utilizando o ficheiro de configuração presente na pasta "Firmware". Se preferir utilizar Linux, deverá utilizar o programa de configuração fornecido no pacote "gf2-r0-conf-1.0.tar.gz", o qual está disponível na pasta "Software". Ambas as pastas, bem como outras pastas e ficheiros relevantes, estão disponíveis na pasta do projecto. Para mais detalhes, veja as notas do projecto.

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/5l40...wc49
Diagrama do circuito (Eagle 7.7.0 sch): http://app.box.com/s/t7iv...05sp
Layout da placa (pdf): http://app.box.com/s/lk26...ghyn
Layout da placa (Eagle 7.7.0 brd): http://app.box.com/s/809v...kckl
Ficheiros Gerber: http://app.box.com/s/3jh8...92hb
Guia de furação: http://app.box.com/s/etl8...06o2
Firmware (com instruções): http://app.box.com/s/o5tc...2jp2j
Drivers (Windows): http://app.box.com/s/jdkk...g0x4
Software (Linux): http://app.box.com/s/or9s...coor
Notas do projecto: http://app.box.com/s/sccv...cstx
Pasta contendo todos os ficheiros: http://app.box.com/s/w7jt...5kdm
Projecto no OSH Park: http://www.oshpark.com/shared_projects/AIG0zXWz
CP2130_SDK: http://www.silabs.com/.../CP2130_SDK_Windows_XP_Vista.exe

16/04/2018

Gerador de funções GF1 (Rev. A)

Trata-se de uma nova versão do gerador de funções GF1, cujo projecto foi originalmente apresentado no post de 17 de Agosto do ano passado. Esta revisão visa sobretudo corrigir a inexactidão na amplitude do sinal gerado, assim como o offset, dois aspectos muito evidentes e que aliás caracterizam a versão original deste gerador de funções. Relativamente ao último aspecto, é importante ressalvar que a versão original mostra um offset residual de cerca de 160mV no pior caso (conforme descrito no post de 22 de Outubro do mesmo ano). Em contraste, esta nova versão possibilita a compensação interna do offset para que o mesmo se observe nulo.

Sinal produzido pelo gerador de funções GF1, revisão A. Com a amplitude definida para 1V, valor pico-a-pico, não se observa qualquer tensão de 'offset'.

Todavia, esta é uma revisão maior e, por conseguinte, não visa apenas a correcção dos problemas expostos acima. Mais especificamente, a versão revista do gerador de funções permite verificar, quando em modo de varrimento automático, se uma dada sequência de varrimento em frequência terminou ou se a mesma ainda está a decorrer. Irei detalhar sobre esse pormenor mais adiante.

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) = 108,7mA
– I d. (Z L > 100KΩ) = 70,08mA
– P (Z L = 50Ω@0V) = 543,7mW
– P (Z L > 100KΩ) = 350,4mW


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,53Vpp
– Amplitude máxima (Z L > 100KΩ): 5,05Vpp
– Incremento em amplitude (Z L = 50Ω@0V): 9,81mVpp
– Incremento em amplitude (Z L > 100KΩ): 19,8mVpp
– 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:
– Base de tempo: 50MHz±50ppm
– Taxa de amostragem: 50MSa/s
– Resolução do acumulador de fase: 24bit
– Resolução do conversor D/A: 10bit
– Resolução do controlo de amplitude: 8bit


A modificação mais relevante a nível do circuito foi a implementação da referência de tensão conforme o esquema da figura abaixo. À semelhança do que acontece no circuito do projecto original, a tensão gerada serve de referência ao potenciómetro digital (IC12) e também serve para anular a componente DC presente no sinal gerado pelo AD5932 (IC11), por via do amplificador subtractor constituído pelo amplificador operacional em IC14. Porém, a referência não é feita com um simples divisor resistivo: em vez disso é ditada por R8, R9 e VR1, funcionando o amplificador operacional em IC8 como seguidor de tensão. Note que o potenciómetro em VR1, um potenciómetro do tipo trimmer, permite ajustar a tensão de referência entre dois níveis (291mV e 355mV), de forma muito precisa. O condensador C21 serve apenas para estabilizar a tensão à entrada do seguidor.

Circuito para gerar a tensão de referência. O 'offset' pode ser ajustado através do potenciómetro em VR1.

Outra modificação prende-se com o facto de a versão original mostrar uma redução de cerca de 5% na amplitude do sinal gerado, face ao valor pretendido. Tal aconteceu porque, na altura da concepção do circuito original, não tive em conta o efeito de carga do potenciómetro digital sobre a saída do AD5932. De forma a compensar a dita redução, o ganho da etapa de amplificação final foi aumentado na mesma proporção.

Não menos importante, vou agora detalhar sobre a modificação que faz desta uma revisão maior. Nesta revisão, o pino "SYNCOUT" do AD5932 encontra-se ligado ao pino "GPIO4" do CP2130, este último a ser empregue como pino de entrada. O referido pino do AD5932 pode ser usado, entre outras coisas, para verificar se uma dada sequência de varrimento em frequência terminou (tendo os bits "SYNCOUTEN" e "SYNCSEL", pertencentes ao registo de controlo do AD5932, definidos a um). Nesta circunstância, lendo o valor do pino "GPIO4", é possível inferir que uma dada sequência terminou se o nível lógico lido for alto.

Lista de componentes:
C1/2/4-6/20/23/25/27/29-32/34/36/39 – Condensador cerâmico multi-camada 100nF 10V (0805);
C3/9/12/16/22/38 – 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/21/28 – Condensador cerâmico multi-camada 10nF 10V (0805);
C11/14/15/17-19/37 – Condensador cerâmico multi-camada 2,2µF 10V (0805);
C24/26/33/35 – 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 TPS79927 (TPS79927DDC);
IC7 – Conversor charge-pump LM2776 (LM2776DBV);
IC8 – Regulador de tensão TPS72301 (TPS72301DBV);
IC9 – Amplificador operacional LMV611 (LMV611MF);
IC10 – Oscilador de cristal CTS 636L3C050M00000;
IC11 – Gerador de funções AD5932 (AD5932YRUZ);
IC12 – Potenciómetro digital AD5160BRJZ5 (AD5160BRJZ5-RL7 ou equiv.);
IC13 – Amplificador operacional OPA365 (OPA365AID);
IC14 – Amplificador operacional OPA830 (OPA830ID);
IC15 – Buffer de relógio CDCLVC1102 (CDCLVC1102PW);
IC16 – Circuito de protecção TVS SP4020-01FTG-C;
IC17 – 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/3/16 – Resistor de filme espesso 4,7KΩ±5% 1/8W (0805);
R4/5 – Resistor de filme espesso 82Ω±5% 1/8W (0805);
R6 – Resistor de filme espesso 12,7KΩ±1% 1/8W (0805);
R7 – Resistor de filme espesso 10KΩ±1% 1/8W (0805);
R8 – Resistor de filme espesso 73,2KΩ±1% 1/8W (0805);
R9/12/14 – Resistor de filme espesso 9,09KΩ±1% 1/8W (0805);
R10 – Resistor de filme espesso 0Ω 1/8W (0805);
R11/13 – Resistor de filme espesso 1KΩ±1% 1/8W (0805);
R15 – Resistor de filme espesso 49,9Ω±1% 1/4W (1206);
R17/18 – Resistor de filme espesso 10Ω±5% 1/8W (0805);
VR1 – Potenciómetro Bourns PV37W202C01B00.


Como anteriormente, o layout da placa está disponível nos formatos brd (Eagle 7.7.0) e Gerber. Novamente recomendo a encomenda da placa através do OSH Park, dado que o layout foi concebido atendendo às especificações deste serviço. Contudo, caso prefira outro serviço de fabrico, verifique se o mesmo suporta layouts de quatro camadas com furação a partir de 0,5mm. No que se refere à montagem, aplicam-se as recomendações que foram dadas aquando a apresentação do projecto original.

Para terminar, e antes de qualquer utilização, é necessário configurar o interface CP2130. Em ambiente Windows, poderá fazê-lo através da aplicação "CP21xx Customization Utility" (incluído no pacote CP2130_SDK para Windows XP e Vista), utilizando o ficheiro de configuração que está na pasta "Firmware". Se dispuser de Linux, recomendo que utilize o programa incluído no pacote "gf1-ra-conf-lin.tar.gz", disponível na pasta "Software". Recomendo também a actualização do restante software e a instalação da interface gráfica (leia o post de 13 de Novembro).

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/kxmb...20px
Diagrama do circuito (Eagle 7.7.0 sch): http://app.box.com/s/xt85...mwu1
Layout da placa (pdf): http://app.box.com/s/qajw...gjgz
Layout da placa (Eagle 7.7.0 brd): http://app.box.com/s/qm4i...ipfh
Ficheiros Gerber: http://app.box.com/s/qkvb...00gv
Guia de furação: http://app.box.com/s/rwpc...5hmo
Firmware (com instruções): http://app.box.com/s/1ogo...kpe8
Drivers (Windows): http://app.box.com/s/8ej8...32sz
Software (Linux): http://app.box.com/s/cds6...jr3b
Notas do projecto: http://app.box.com/s/dl7e...pwao
Pasta contendo todos os ficheiros: http://app.box.com/s/9sh1...9ej2
Projecto no OSH Park: http://www.oshpark.com/shared_projects/RQdx7NVz
CP2130_SDK: http://www.silabs.com/.../CP2130_SDK_Windows_XP_Vista.exe

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