A/D and D/A converter help... (Bit long post)

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Hi guys .. just randomly fell over this forum, and thought I'd give it a shot, with my questions..

I'm currently working on a school project of my own, where I'm having some problems.

I'll try and explain it as good as I can - Project is as follows:
In short, I want to build what you could call a "wireless Spying headset amplifier" hehe (Or really a very simple baby-alarm)... Or this is how I would like it to work:

A microphone picks up any voice. It will get amplified, and put into an A/D converter, because I'm using these Radiometrix RX/TX modules, which transmits as data, not analog audio/voice.. so I need the voice converted into digital samples.

After the A/D converter, I transmit it directly and digitally on 433MHz, to the RX module. After it is received, I need the voice converted back to analog again, so it can be used in the headset-amplifier.

See the "drawing" below hehe...

O|(Microphone w. amp) ---> A/D converter --->Radiometrix TX module ((Wireless)) Radiometrix RX module--->Headphone amplifier--->Headset

Now - these modules can transmit up to 64kbit/sec, which gives me 8.000Hz samplig rate on the A/D converter - nice for just voice.

And heres my problem and reason I posted:
I've searched and asked around (even my teacher is trying to find a solution), to a pair of A/D and D/A converters that would work for this.

A/D converter should be able to:
1) Sample as slow as 8KHz
2) Be serial in + serial out
3) Be a "1 wire type" .. (Ground + signal wires = fits an microphone)
4) Have some sort of "protocol" or start+stop bit system, for the D/A converter

D/A converter (Maybe the real problem.. when does it know, when a packet starts and stops from the A/D converter):
1) Also serial in + serial out
2) Be able to handle the packets corretly, so its not random "voice" it spits out, to the amplifier.
3) Also 8kHz sampling rate?

I know there are tons of converters around, but cant find anything that fits.. below are an example of converter I found - but there's no D/A converter that fits it directly..

Wolfson Microelectronics plc: WM8952

And the modules Im using:
Radiometrix | TX2A Radiometrix | RX2A

Hope I explained it, so it's a bit understandable.. and sorry for my English, I'm Danish hehe... can't help it..

Any "converter" experts around that knows if this is even possible =)?

-Cheers
Christian.
 
Seems you need not only serial in/out but asynchronous serial in/out. Most, if not all, DACs having a serial interface will have a synchronous serial output, that is, a data bit plus a clock and a frame sync. You can't use that. You need just one signal, so you need asynchronous.

You basically need a UART on each end to convert to/from an asynchronous stream. Then you can send and receive bytes. The UART takes an 8-bit data, adds framing and stop bits, and transmits the resulting 10-bit symbol. If your sample is one byte then that is perfect, just send a stream of bytes, and receive them on the other end. Each byte is a sample, so no other framing or packetizing is needed. If you need >8 bits per sample then it is a lot more complicated. Be aware of the increase in bit rate due to the framing and stop bits added by the UART.

You could use a microcontroller as the UART, and even use it as the ADC itself (even a low-end PIC for example has a 10 bit ADC at up to 14 kHz). A simple resistor-ladder type DIY DAC run straight off of an 8-bit I/O port of the Rx end microcontroller could be sufficient, or you could interface to a "real" DAC. To improve S/N you should use a form of companding such as a-law or u-law ("mu"-law) or something similar. The micro can take care of that too. But that's optional and you could add it later by modifying the microcontroller code. Someone very familiar with micros could whip this up in a day or two. A newbee will need quite a learning curve though.

You could also do away with the micro, and use a pair of UART chips (16c450/550/etc.) plus a 8-bit parallel output ADC and 8-bit parallel input DAC, and a bunch of support logic. The circuit will be much larger and more complex, but there will be no code to write.

Another idea is to use something like DSD like SACD uses. The serial data stream represents only a "increase" and "decrease" in signal amplitude. After passing the data stream through a low-pass filter, an approximation of the input signal is realized. Your "ADC" can be as simple as a comparator with some interesting feedback (for noise shaping), and the "DAC" is nothing but a low-pass filter. There is never any framing needed because each bit is a sample itself. You will need to do some research to implement that ADC though.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.