Ahora le toca al DAC

Aug 07, 2006 1 Replies

Hola de nuevo,



He visto que con un reloj a 20Mhz y un PIC 16F876 me va a ser complicado enviarle la se=F1al a un DAC CS4340 (es de 16 bits, a 44,1kHz y stereo). Con un pic a 40 Mhz (por ejemplo pic18f2221) no lo tendr=EDa mucho mejor, pero algo podr=EDa hacer.



Antes de tirarme al otro pic, he probado el "dac de 1 bit" con el PWM y la verdad, me ha sorprendido. He intuido en alg=FAn post que se puede aprovechar los dos PWM para generar una se=F1al con m=E1s calidad. He intentado de enviar los bits altos a un PWM y los bajos al otro y despu=E9s sumar las dos se=F1ales poniendo una resistencia a cada uno (a lo DAC, en una pongo 2K y en la otra 1K). Pero no funciona (demasiado bonito).



=BFes posible lo que quiero hacer con los dos PWM? =BFc=F3mo se hace si se puede?



Por otro lado, veo complicado usar un DAC de 16bits stereo con un PIC (en concreto es el CS4340), =BFhay alg=FAn driver para conectarle y enviarle la info por SPI o I2C? He visto esquemas donde lo usan con un decoder de mp3 (mintymp3, por ejemplo), =A1=A1=A1 y veo que igual me ser=E1 m=E1s f=E1cil usar un decoder de estos !!!



gracias,


--=20 Helio Tejedor



heltena ha escrito:

Pues creo que lo consegu=ED con el 16f876 !!!

Le ech=E9 un poco de imaginaci=F3n:

main: BSF PORTB, 7 ; LRCK =3D 1

RLF curbyteH, F RLF PORTA, F NOP .=2E. 8 veces RLF curbyteL, F RLF PORTA, F .=2E. 8 veces MOVF byteH, W MOVWF curbyteH MOVF byteL, W MOVWF curbyteL

NOP ; por el goto main !! NOP

BCF PORTB, 7 ; LRCK =3D 0

RLF curbyteH, F RLF PORTA, F .=2E. 8 veces RLF curbyteL, F RLF PORTA, F .=2E. 8 veces MOVF byteH, W MOVWF curbyteH MOVF byteL, W MOVWF curbyteL goto main

Los datos los envia otro PIC que lee la info de la SDCard. Utilizar=E9 SPI y si consume algo, pues mala suerte (en vez de 44.1kHz, pues ser=E1n

42, mala suerte).

=BFque os parece? =BFse me escapa algo?

--=20 Helio Tejedor

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required