16/04/18

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://www.box.com/s/kxmb...20px
Diagrama do circuito (Eagle 7.7.0 sch): http://www.box.com/s/xt85...mwu1
Layout da placa (pdf): http://www.box.com/s/qajw...gjgz
Layout da placa (Eagle 7.7.0 brd): http://www.box.com/s/qm4i...ipfh
Ficheiros Gerber: http://www.box.com/s/qkvb...00gv
Guia de furação: http://www.box.com/s/rwpc...5hmo
Firmware (com instruções): http://www.box.com/s/1ogo...kpe8
Drivers (Windows): http://www.box.com/s/8ej8...32sz
Software (Linux): http://www.box.com/s/cds6...jr3b
Notas do projecto: http://www.box.com/s/dl7e...pwao
Pasta contendo todos os ficheiros: http://www.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