hobby project - 16 bit digital audio mixer using m68k

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Hello all,

As a hobbyist project I am planning on constructing a digital audio
mixer using a M68000 processor, along with some 16 bit serial A/D
(MAX195) and D/A (MAX542) converters from Maxim.  I will probably use
a M68681 as a UART; also, I would like to use an analog fader (pot)
fed into an 8 bit parallel ADC as the level control for each input
channel.  Adding a mute toggle to each input would take practically no
extra work so I'm planning on doing this as well.

For the initial phase I am setting my goals as follows:
    - 16 bit resolution (external)
    - 48 kHz sampling rate (per channel)
    - 2 input channels (mono)
    - 1 output channel (mono)

The idea is to take two mono, line-level, analog input signals, sample
them at 48 kHz or so (at 16 bits), "process" them, send a 16 bit
digital output and convert it to a mono, line-level, analog output.
Right now my "processing" will simply be something like:  out = (
a*in1 + b*in2 ) / 2
where a & b are coefficients obtained from the position of the faders.
 I have no experience with DSP yet (junior level computer engineering
student), but a good amount of experience with microcontroller systems
and an excellent book on the 68000 (Microprocessor Systems Design, by
Alan Clements), as well as a whole
bunch of 68k family processors and support chips.

This is not supposed to be a commercially viable project (obiviously,
I hope), but it would be nice to have a piece of homebrew digital
equipment I could use as a DJ (I'd add phono amp's to use it with
turntables).  Thank you for reading this far, I know I ramble, but I
would appreciate any advice on the feasibility of this project, ways
to make it easier or better (without radical changes to the
architecture), and especially the limits I will eventually encounter
if I attempt to add more channels (stereo?) or "DSP" features such as
equalization (this is probably not feasible on a 68000, but I can't
easily tell).

-Thanks in advance for all helpful replies! =^)
Alexander Miller

(this was cross-posted to comp.arch.hobbyist but it appears that new
posts aren't appearing there, at least through groups.google.com)

Re: hobby project - 16 bit digital audio mixer using m68k
On 16 May 2004 22:06:01 -0700, snipped-for-privacy@vt.edu (Alexander Miller)


Quoted text here. Click to load it

Find out the clock frequency for the original 68K processor. Find out
how many clock cycles are required by average instructions. Now you
can calculate the average number of instructions are available each
second. Divide this figure with 48000 (your sample rate) and you know
how many instructions are available to process each sample.

I don't remember, if the original 68K already had a fast multiplier,
but since you are going to need at least two multiplications for each
cycle, check out how many clock cycles are required by the
multiplications.
  
Quoted text here. Click to load it

Typically serial converters may require multiple machine instructions
to handle each sample, thus reducing the number of instructions
available for the actually processing of the audio sample.

You may be able to build a simple main loop, which reads the ADCs,
performs some simple operations on the two audio samples and write the
result to a DAC. If the loop repetition rate is 48 kHz or something
much less is hard to tell, without doing the actual calculations.

Quoted text here. Click to load it

And when did you intend to find the time to service this ?

Quoted text here. Click to load it

This still consumes the available cycles for each audio sample. If you
are using some kind of SAR ADC, it might be a good idea to read only
one bit during each 48 kHz cycle, thus, the 8 bit SAR sample rate
would be 6 kHz or less, but it would not cause too much variation in
the  main loop cycle times.

I would suggest using some more modern processor requiring less
external hardware and with more computing power, so that you have a
decent number of machine instructions available to process each
sample.

Paul


Re: hobby project - 16 bit digital audio mixer using m68k
-Hello all,
-
-As a hobbyist project I am planning on constructing a digital audio
-mixer using a M68000 processor, along with some 16 bit serial A/D
-(MAX195) and D/A (MAX542) converters from Maxim.  I will probably use
-a M68681 as a UART; also, I would like to use an analog fader (pot)
-fed into an 8 bit parallel ADC as the level control for each input
-channel.  Adding a mute toggle to each input would take practically no
-extra work so I'm planning on doing this as well.
-
-For the initial phase I am setting my goals as follows:
-    - 16 bit resolution (external)
-    - 48 kHz sampling rate (per channel)
-    - 2 input channels (mono)
-    - 1 output channel (mono)
-
-The idea is to take two mono, line-level, analog input signals, sample
-them at 48 kHz or so (at 16 bits), "process" them, send a 16 bit
-digital output and convert it to a mono, line-level, analog output.
-Right now my "processing" will simply be something like:  out = (
-a*in1 + b*in2 ) / 2
-where a & b are coefficients obtained from the position of the faders.
- I have no experience with DSP yet (junior level computer engineering
-student), but a good amount of experience with microcontroller systems
-and an excellent book on the 68000 (Microprocessor Systems Design, by
-Alan Clements), as well as a whole
-bunch of 68k family processors and support chips.
-
-This is not supposed to be a commercially viable project (obiviously,
-I hope), but it would be nice to have a piece of homebrew digital
-equipment I could use as a DJ (I'd add phono amp's to use it with
-turntables).  Thank you for reading this far, I know I ramble, but I
-would appreciate any advice on the feasibility of this project, ways
-to make it easier or better (without radical changes to the
-architecture), and especially the limits I will eventually encounter
-if I attempt to add more channels (stereo?) or "DSP" features such as
-equalization (this is probably not feasible on a 68000, but I can't
-easily tell).

Well, at first glance it seems like your hardware will create a tough climb
for your goal. But the problem is that I'm not really sure what your goal is:

1) Learning 68K stuff.
2) Homebrewing.
3) Building a usuable mixer.

If it's 1) Then by all means proceed. However if the main goal is either 2) or
3) then you should look at new hardware that integrates all (or most) of the
functionality you're talking about. A perfect example is Microchips new dsPIC
hardware which has all the periperals you need along with a 30 MIPS DSP core.
Microchip is in fact sponsoring a design contest where you can get a
development board for $140. Here's the link:

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId20%31

TI and AMD also have chips that are much more suitable for the project. In
fact if I were to stay in Motorola space then the 56002 DSP (or its current
equivalent) would be a better choice.

This is a DSP project. Attacking it without DSP hardware is like getting into
the ring with one hand tied behind your back.

-
--Thanks in advance for all helpful replies! =^)
-Alexander Miller
-
-(this was cross-posted to comp.arch.hobbyist but it appears that new
-posts aren't appearing there, at least through groups.google.com)

That newsgroup is moderated. Your post will show up soon enough.

BAJ

Re: hobby project - 16 bit digital audio mixer using m68k
On 16 May 2004 22:06:01 -0700, snipped-for-privacy@vt.edu (Alexander Miller)

Quoted text here. Click to load it
snip
Totally off topic, well sort of
try the alesis al3101 dsp, designed for audio, very cheap and digital
i/o onboard

The AL3101 is a fast signal processor optimised for signal filtering,
equalisation and dynamics processing.
Large word size provides easy, accurate algorithm creation for audio
and other high dynamic range applications.
It operates stand-alone with a serial PROM or in conjunction with a
host microprocessor.
An internal PLL eliminates the need for external high frequency
clocks.

data on
http://www.profusionplc.com/product-frame.htm
check out "wavefront" semiconductors





martin

Three things are certain:
  Death, taxes and lost data.
    Guess which has occurred.

Site Timeline