Yahoo Groups archive

MOTM

Index last updated: 2026-04-28 23:35 UTC

Message

Re: [motm] Thoughts on the new direction

2006-07-08 by Paul Schreiber

a) if it makes sense to add "hack points" on new modules, I'll certainly do so.

b) the AudioEngine has 2 programmable components: a Xilinx Spartan 3E 500K FPGA 
and an Analog Devices ARM7TDMI uP. The FPGA uses an external "Boot FLASH" device 
(also a Xilinx part) that load it's contents into the FPGA every time power is 
applied. The uP uses it's serial port for programming (like the MOTM-650 uP 
does). I have not thought about if the AudioEngine is a true 'user programmable' 
device or not. I don't have plans to make a "general purpose signal processing 
module" because, frankly, that is a *bad* business decision (everyone buys *1* 
and then that's it).

The universal way to program stuff is to use a low cost (~$15) cable that 
attaches to a parallel port (printer port) of a PC and bit-bangs a serial 
protocol called JTAG. The other end of the JTAG cable is a 6-pin 0.100 header. 
This protocol has been around 20 years. There is probably even an OSX version :)

In order to write code for the AudioEngine, you need 2 programs: one for the 
ARM7TDMI uP, the other for the Spartan 3E. I plan to use the tools from Keil 
(www.keil.com) because I have been using the 8051 version for like 10 years. The 
ARM version is very nice, you can get a free CD that will compile up to like 8K 
of code. The ARM part I will be using has 64K of code space. There are free 
tools that run under XP and Linux (Google 'ARM7 toolchain').

The Xilinx portion is a XP (possibly Linux, there is some debate if it works 
100%) program that is free, called WebPack. It's HUGE, like 400MB zipped or some 
silly thing. But it does a really impressive job. I use a variant called ISE 8.1 
that was $1200 last year but has since been "rolled into" the new WebPack 8.2 
that came out last week.

The AudioEngine will have 2 types of ADCs: 8 channels of 10-bit (maybe 12) for 
reading pots and FM CVs, and 2 channels of true 16-bit for pitch or other 
critical inputs. There are 4 channels of 12-bit accurate DAC output for 
non-audio voltage output, and a stereo 24-bit DAC for audio out. There are a 
large number (probably 40 or so) I/O pins to assign to things like LCD panels, 
rotary encoders, LEDs, whatever. There will be a USB port "hook" as well. The 
SPI buss that connects everything is brought out with additional chip selects so 
other peripherals can be easily added.

I'm sure after I build a batch I will think of an AudioEngineII that fixes 
everything I forgot :)

Paul S.

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.