Robert Buadu wrote: > One can do away with interrupts and code counting the cycle time of the > instructions. With this you will more or less have a dedicated parallell > to I2S converter. One probably can't do very much more with the processor. > > A few audio DAC's have a block mode, which does not need a precise > clock. This allows you to bit-bang the interface. In this case it is > quite feasible. You only need an interrupt every sample, that is every > 1280 cycles. You then send out a stream of data with the minimum allowed > clock cycle for block mode. Now, I've not actually tried this so it > might not work. There was very little info about this mode in the > datasheet I was reading. I'm looking at the MAS3587F MP3 codec. You control it with I2C, then feed data in and out via an 8-bit parallel interface with 5 control bits. I'm thinking that would be quite easy; MP3 data rates are in the realms of 128KBit/sec (16KBytes/sec). I can manage to output a byte via GPIO every 16,000ths of a second, no problems :-) There's also the STA013 which, at a pinch, can apparently be fed its MP3 stream via SPI, but that's a decoder only. Which is probably fine for you. Unlike the MAS3587F, though, it generates a serial audio signal which needs to be fed into a DAC. http://www.open-research.org.uk/ARMuC/index.cgi?STA013 Of course, this is no use to you if your source data just inexorably is in uncompressed form... If so, have you considered just combining a RAM or ROM or whatever your original data source is with the DAC via some glue logic in a PLD on its own clock? Perhaps you could make an audio buffer device with some RAM, that exposed an SPI interface to the LPC21xx for loading up in big chunks? > > /RB > ABS
Message
Re: [lpc2100] Audio DAC
2004-02-11 by Alaric B Snell
Attachments
- No local attachments were found for this message.