[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