--_003_A5B5CFF916B24A25A34E32A2EE0793D8ivp1_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable > I will take a look at the dsPIC family, I need it for audio stuff so > that is probably the way to go Currently using this http://home.clear.net.nz/pages/joecolquitt/DAC_amp_schematic.gif http://home.clear.net.nz/pages/joecolquitt/DAC_amp_pcb.gif with 44100Hz data from an SDHC card Very happy with the sound quality (using the mute function of the TDA1905 would prevent the odd pop and click) Set-up ;16.000000 xtal /17 *144 /2 =3D> 33.882352 mov #0b0000000000001111,w0 ; 0 ROI ; 000 DOZE ; 0 DOZEN ; 000 FRCDIV (/1) ; 00 PLLPOST (N2) =3D /2 =3D> 135.52= 9344=20 =3D> 67.764672MHz Fosc ; x=20 =3D 33.882336MHz Fcy ; 01111 PLLPRE (N1) =3D /17, 16MHz =3D>= =20 0.941176MHz ; FREF input frequency to PFD mov w0,CLKDIV mov #142,w0 ; xxxxxxxx ; mmmmmmmm PLLDIV =3D (142 + 2) =3D 144 *= =20 0.941176MHz =3D> 135.529411MHz mov w0,PLLFBD ;PLL multiplier (M) mov #0b1000000100000000,w0 ; 1 DACEN (DAC on) ; x ; 0 DACSIDL ; 0 AMPON ; xxx ; 1 FORM (=3D1, signed) ; x ; ------- DACFDIV mov #12,w1 ;DACFDIV divider dec w1,w1 add w1,w0,w0 ;135.529344MHz / 12 =3D 44117 * = 256 mov w0,DAC1CON ;Timer1 interrupt tosc =3D 33882336 pload =3D tosc/44100 ;Timer1 count (668.74) for 44.1kHz 16-bit=20 stereo ;668 =3D 0.1% fast, 669 =3D 0.04% slow mov #pload,w0 ;22.676us interrupt (0.1% fast) mov w0,PR1 During each Timer1 IRQ, 16 bytes are fetch from the card into a 512- byte buffer ( [W7++] ) and 4 bytes are extracted from another 512-byte buffer ( [W8++] ). When 512 [W7] DAC bytes have been used, W7 and W8 are swapped load_dac: mov [w8++],w0 ;send 2 words to DAC mov w0,DAC1LDAT mov [w8++],w0 mov w0,DAC1RDAT dec ch_cnt ;until block of 512 sent bra nz,tst_cmd ;does CMD17 need to be sent ? mov #128,w0 ;reset DAC byte counter (128 * 4= ) mov w0,ch_cnt ;reset buffer addresses mov #ram1,w7 ;RAM1 =3D 0900 mov #ram2,w8 ;RAM2 =3D 0b00 btsc flags3,#ram_block ;swap or not bra toggle exch w7,w8 ;RAM1 =3D 0b00, RAM2 =3D 0900 Attached shows the sequence. Bytes are fetched from the card faster than the DAC uses them so there are no breaks in playback Joe=20 --_003_A5B5CFF916B24A25A34E32A2EE0793D8ivp1_ Content-Type: image/gif; name="SDHC_to_DAC.gif" Content-Description: SDHC_to_DAC.gif Content-Disposition: attachment; filename="SDHC_to_DAC.gif"; size=4452; creation-date="Sat, 29 Oct 2011 18:17:07 GMT"; modification-date="Sat, 29 Oct 2011 18:17:07 GMT" Content-Transfer-Encoding: base64 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 --_003_A5B5CFF916B24A25A34E32A2EE0793D8ivp1_ Content-Type: text/plain; name="ATT00001.txt" Content-Description: ATT00001.txt Content-Disposition: attachment; filename="ATT00001.txt"; size=208; creation-date="Sat, 29 Oct 2011 18:17:07 GMT"; modification-date="Sat, 29 Oct 2011 18:17:07 GMT" Content-Transfer-Encoding: base64 LS0gDQpodHRwOi8vd3d3LnBpY2xpc3QuY29tIFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUNClZp ZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0DQpodHRwOi8vbWFpbG1hbi5taXQu ZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdA0K --_003_A5B5CFF916B24A25A34E32A2EE0793D8ivp1_-- .