Audio, DACs, ADCs and multiplexing
Posted: Sat Feb 25, 2012 5:25 pm
Hello everyone,
I'm finding myself in a situation which would require me to build a telephone multiplexer (albeit a simple one!) for a school project. As of right now, I'm thinking of having 4 (phone) lines to multiplex (2 seems too little, and 8 too much).
This originally being a school project, It doesn't need a lot of bells and whistles, but I thought that the best idea would be to use a 65C816 with a RAM/ROM setup, and then leave some room to grow, in case this project is resumed sometime after school.
In terms of setup, I'll be having 2 "boxes", which will be identical hardware-wise. Courtesy of my "excellent" Paint skills (yes, those triangles are amp ops):

It would basically be an op-amp driving the phone lines with data from the DAC to create the voice from the far away user, and the using that same data to cancel out the far away user's voice in order to sent the local user's voice to the far away user's telephone (if you see any simpler way, please tell me, I'm dreading having to configure those op amps properly to avoid echoes...). If anything seems unclear, please ask (I tend not to explain things very well).
I'm going to be using PCM for the voice modulation, which means nothing more to me than sampling/restoring audio channels 8000 times per second with an 8 bit resolution applied to them.
As far as analog/digital audio is concerned, I am still hesitant adding the DAC/ADCs directly to the "system bus" or to use 65C22 VIAs (so as to be able to cycle through all the DAC/ADCs in 125 microseconds).
Maybe privilege "multiplexed/latched" DACs/ADCs (several selectable inputs) over having one individual DAC/ADC pair per line?
As for the actual "Multiplex line", I was thinking of using a combination of frequency and time division multiplexing: select different frequencies for the different "boxes", and use a sending speed at 125/x microseconds, where x is the number of telephones connected to the line, and using some sort of simple AM modulation to transmit the actual signals, maybe with some simplistic error checking, after all, I'm not making industry-grade commercial products.
Any feedback (and corrections, as there probably are mistakes) would be appreciated.
I'm finding myself in a situation which would require me to build a telephone multiplexer (albeit a simple one!) for a school project. As of right now, I'm thinking of having 4 (phone) lines to multiplex (2 seems too little, and 8 too much).
This originally being a school project, It doesn't need a lot of bells and whistles, but I thought that the best idea would be to use a 65C816 with a RAM/ROM setup, and then leave some room to grow, in case this project is resumed sometime after school.
In terms of setup, I'll be having 2 "boxes", which will be identical hardware-wise. Courtesy of my "excellent" Paint skills (yes, those triangles are amp ops):

It would basically be an op-amp driving the phone lines with data from the DAC to create the voice from the far away user, and the using that same data to cancel out the far away user's voice in order to sent the local user's voice to the far away user's telephone (if you see any simpler way, please tell me, I'm dreading having to configure those op amps properly to avoid echoes...). If anything seems unclear, please ask (I tend not to explain things very well).
I'm going to be using PCM for the voice modulation, which means nothing more to me than sampling/restoring audio channels 8000 times per second with an 8 bit resolution applied to them.
As far as analog/digital audio is concerned, I am still hesitant adding the DAC/ADCs directly to the "system bus" or to use 65C22 VIAs (so as to be able to cycle through all the DAC/ADCs in 125 microseconds).
Maybe privilege "multiplexed/latched" DACs/ADCs (several selectable inputs) over having one individual DAC/ADC pair per line?
As for the actual "Multiplex line", I was thinking of using a combination of frequency and time division multiplexing: select different frequencies for the different "boxes", and use a sending speed at 125/x microseconds, where x is the number of telephones connected to the line, and using some sort of simple AM modulation to transmit the actual signals, maybe with some simplistic error checking, after all, I'm not making industry-grade commercial products.
Any feedback (and corrections, as there probably are mistakes) would be appreciated.