Página 1 de 2

DAC com CPLD

MensagemEnviado: 20 Mai 2008 23:33
por fabim
é possivel montar DAC com CPLD ?
No caso seriam 16 DAC´s
Cada DAC com um latch antes para aturalizar o valor com um strob
os latches dos DAC´s seriam endereçados via 4 bits. exemplo funcional.

seleciono DAC 1 = 0x1
Coloco o valor de 16 bits
ligo o enable para o latche pegar esse valor

DAC2

DAC3

DAC4........


DAC16
Strob, simultanemente todos carregam o novo valor.

A saida de todos vai para um mixer tipo todos com resistor de 10K par um de 10K para terra, o centro desse divisor vai para um pino para eu pode usar esta tensão.

Fabim

MensagemEnviado: 21 Mai 2008 12:13
por mastk
Que dá, dá o problema é qual CPLD vai suportar isso. Se bem que eu não entedi muito bem fabim...

MensagemEnviado: 21 Mai 2008 14:26
por fabim
e agora da pra entender }?

http://www.proenergysafety.com.br/arqui ... ACCPLD.JPG

bizoia aí e me diga se os CPLD tem capacidade pra isso .

Fabim

MensagemEnviado: 21 Mai 2008 14:52
por mastk
Vai faltar pino :)

MensagemEnviado: 21 Mai 2008 14:59
por fabim
externamente apenas.
STB, EN, 3 vias para selecionar DA, 16 pinos para dados, 6 pinos para saidas Analogicas.
26 pinos no montante.

O restante seria tudo interno mesmo. fabim

MensagemEnviado: 22 Mai 2008 18:03
por mastk
Tenho que ver fabim, mas acho que não vai caber nos que tenho não...

MensagemEnviado: 22 Mai 2008 18:33
por fabim
BIZÓA SÓ. QUE CAIBA APENAS 4 JA DA PRA FAZER A MALDADE QUE EU ESTOU BOLANDO.

fABIM

MensagemEnviado: 22 Jun 2008 16:40
por mastk
Resolvir simplificar a coisa usando LATCH de 8 bit, para 6 latch serão nescessarios 66 macro celulas, logo os xc9536 que tenho não dão contado do recado, pelo consumo chuto que vc vai precissar de um xc95144 pra frente...

Realmente me desculpe a demora fabim..

MensagemEnviado: 25 Jun 2008 21:44
por mazzer
Olá,

Bom, não entendi direito... são 16 DACs de 16 bits, ou um DAC de 16bits?

Se forem 16 DACs a 16 Bits, 19 bits de entrada e mais 3 pinos de controle (enable, reset, strobe). Seriam 278 pinos... nunca vi CPLD desse tamanho, e se existir com certeza vai ser BGA. O que você pode fazer é dividir em 3 ou 4 CPLDs e talvez, se teu projeto permitir, enivar os dados por serial (ou de 8 em 8 bits) para economizar pinos.

Eu acho que a lógica é tranquila para o CPLD.

O CPLD que eu usei foi o EPM240T da Altera. Tem um programador JTAG que você faz com uma porta lógica usando a paralela do micro.

Se precisar conversar to a disposição. Gostaria de te ajudar nisso ai.

Abraço,

Mazzer

MensagemEnviado: 26 Jun 2008 06:52
por EDSONCAN
Parei para ver esse topico e tenho algumas duvidas:

Voce tem 16 bits de precisao com resistores?

Eu acho que fica mais facil voce usar um DA de precisao com interface SPI ou paralelo, uma matriz analogica de chaveamento com 16 canais e 16 circuitos sample e hold e fazer por varredura, ja que o DA é o mais caro e 16*32 resistores de precisão não fica barato.

Edson

MensagemEnviado: 26 Jun 2008 14:22
por mazzer
Bom, se for pra produção, resistor 1% é baratinho. Claro, dependendo da quantidade de valores que vai ser usado.

Na trelik, paguei US$2,25 no milheiro de resistor 0805 1%.

Precisa fazer as contas pra ver se compensa, eu paguei no EPM240T100C5 em torno de US$10,00 em janeiro de 2007. Esse CPLD tem 100 pinos com 87 livres para I/O.

Abraço

Mazzer

MensagemEnviado: 26 Jun 2008 14:40
por EDSONCAN
Eu acho que para 16 bits teria que ser 0,1% sao 65K pontos possiveis.

Edson

MensagemEnviado: 26 Jun 2008 14:54
por mastk
PWM não seria melhor, fabim?

MensagemEnviado: 26 Jun 2008 15:36
por fabim
bom pode até ser sim..
PWM ETC.

num tem problema nenhum, que seja 8 DA ja estaria bom.

Minha duvida nesses caras é que..

Montar um DA dentro dele e a tensão sair apenas por um pino ao invés de usar R2R externo. "foi isto que eu expiniquei acima".

Se tivesse como fazer PWM com interface SPI.

Tipo. 8 PWM´s 16 bits em uma frequencia porreta, tipo 320khz por exemplo e tal´s.

Usaria o seguinte.
1 via CK
1 Via Dat
8 vias para selecionar o canal do pwm.
8 vias de saida pwm " na saida destes pinos eu jogaria em charge pump´s com banda de uns 30khz +/- e jogaria em um outro circuito de mixer usando digipot da micoxipe".

Só num sei se estou sonhando muito ou se é possivel.

Fabim

MensagemEnviado: 26 Jun 2008 16:07
por proex
Cacilda.....vou chutar o balde!!!!!!

Gente, não se faz conversor D/A em CPLD com resistores externos, ainda mais de 16 bits.

O ruido gerado nesse processo é incontrolável. Descobriu-se isso nos primórdios da eletronica digital.

Quando conseguiram embutir a malha R2R dentro do chip, descobriram que todo o ruido desaparecia.

É complexo explicar o porque disso, mas eu já passei por isso muito tempo atras quando fiz um miseravel conversor D/A de 12 bits, com resistores externos, com PIC. Ficou uma bosta.

Atualmente, com excelentes conversores de 24 bits custando 1 dolar, nao dá nem pra cogitar em usar outra coisa.

E também, somar sinais de audio depois que ele ja foi convertido em analógico é cagada. Por que nao o fez quando ainda estava no formato digital?

E tem mais, 30khz de frequencia de PWM para conversores D/A nao existe, nunca vi isso, ninguem faz assim. Vai dar uma ruideira danada.

Atentem para o seguinte: Quando forem usar PWM para audio, a frequencia do PWM tem que ser (no minimo) 10 vezes maior que a maior frequencia de audio a ser reproduzida.

Nao confundam frequencia do PWM com Frequencia de amostragem.

Quanto maior a frequencia do PWM, mais facil será o filtro analogico na saida.

Ja implementei conversores D/A PWM, com 24 bits de resoluçao, em cpld da Altera, com frequencia de 780Khz.

Neste caso, um simples capacitorzinho de 100pF no operacional de saida ja é sufuciente pra filtrar a portadora de 780khz.

Fabim, pára de fazer gambiarra e pede pro gerente do banco te arrumar um cartao de crédito internacional com limite de 100 dolares.

Assim vc consegue comprar os conversores de audio com 24 bits de 1 dolar.

Desiste de querer encontrar chips pra audio digital aqui no mercado brasileiro. Nao tem e nunca terá pois ningum fabrica nada nessa área aqui.

Só o trouxa aqui.

Pronto, chutei.