[sdiy] Pots vs Encoders, was Re: [sdiy] dave smith *instruments*
Scott Gravenhorst
music.maker at gte.net
Tue Feb 2 15:25:13 CET 2010
Jason Tribbeck <Jason.Tribbeck at ascom.com> wrote:
>
>> Interesting thread for me because I'm in the thinking stage for a digital
>> (FPGA) synth design that I want to be "knobby".
>
>Oddly enough, I'm doing the same, although it'll be an ARM
>instead of PIC for the controller.
>
>I did an early design with one rotary encoder (with switch), a
>160x128 display, three switches and 3 LEDs (and two PICs [one for
>UI, the other for MIDI command dispatching], no FPGA).
>
>I decided that it either:
>
>a) only needed 1 switch (in addition to the rotary encoder switch), and no LEDs
>
>Or:
>
>b) needed lots of everything (one for everything)
>
>The UI you could quite happily switch between the various
>controlees (the other switch was an 'escape' or 'abort' switch).
>
>Having a number of controllers that is two or more, but less than
>what you need actually compromises the usability, and increases
>code complexity as you start having to multiplex the controllers.
>Although having, say, half of the number of controllers to
>controlees isn't so bad.
>
>I really do like using optical encoders - they tend not to break
>down as much. But they are expensive.
>
>The display I'll be using is a colour QVGA display, but it has no
>on-board controller (to speak of - it does have the voltage
>generators), so the FPGA will be doing some of that work (I
>should have enough spare logic).
>
>I did use a nice 160x128 OLED display for a completely different
>project - unfortunately, it was a bit small, and I needed some
>undocumented features to make it work correctly.
>
>> Since I would be using a PIC to handle the LCD anyway and it's over powered
>> for doing
>> only that job, I could also use the PIC to read the encoders and it's 10 bit
>> ADC to
>> read the pots.
>
>I'm using the ARM for MIDI decoding and oscillator assignment as
>well (it communicates with the FPGA via SPI - or will be once
>I've debugged an issue with it).
>
>How are you separating the functions?
Hi Jason,
The PIC will be an I/O controller, handling input from pots, encoders and various switches
while also supporting output to the LCD. There will be a serial interface for connecting
the PIC board to the FPGA board, probably SPI. The FPGA will do all of the synth internals,
oscillators, filters or what have you. I'm using a Xilinx FPGA, so I will use an embedded
soft microcontroller (Picoblaze) for MIDI including sysex. I've already developed the MIDI
controller code for other FPGA synth projects and it is tiny. The advantage I find in doing
this is that the Picoblaze controller being right there in the FPGA makes it a matter of HDL
to connect it's ports to the synth's registers and RAM.
-- ScottG
________________________________________________________________________
-- Scott Gravenhorst
-- FPGA MIDI Synthesizer Information: home1.gte.net/res0658s/FPGA_synth/
-- FatMan: home1.gte.net/res0658s/fatman/
-- NonFatMan: home1.gte.net/res0658s/electronics/
-- When the going gets tough, the tough use the command line.
More information about the Synth-diy
mailing list