External Program Memory

Hardware questions and issues with the FV-1

Moderator: frank

Post Reply
ehughes
Posts: 5
Joined: Thu Aug 16, 2007 4:18 pm

External Program Memory

Post by ehughes »

Does the FV-1 access the external program memory on every instruction or does it download all of the program code into an internal memory and then execute (and never access the external memory again)?

I am planning on doing something crazy like dynamically changing the FV-1 program on the fly (To implement an adaptive filter). I don't have my DEV board yet and was curious as to how the device accesses the external memory device. In my application the external memory device will actually be another MCU acting as an I2C slave.
pharaohamps
Posts: 34
Joined: Thu Nov 09, 2006 6:58 am
Contact:

Post by pharaohamps »

From what I understand, the FV-1 downloads the program into memory and executes. In order to reload the program you need to reset the chip (power down or toggle the internal / external pin.)

Your application sounds interesting! Can you tell us more?

Matt Farrow
frank
Posts: 1244
Joined: Wed Oct 19, 2005 12:26 pm
Contact:

Post by frank »

The FV-1 loads each program from external memory to internal memory as selected, so it only has one loaded at a time.

Flipping the int/ext pin or any of the select pins in external mode will cause a program load from the external memory. Note the pins are sampled, not edge triggered so if you flip a pin leave it in the new state for couple of word clocks before returning it to the previous state.
Frank Thomson
Experimental Noize
ehughes
Posts: 5
Joined: Thu Aug 16, 2007 4:18 pm

Post by ehughes »

There are actually several applications but here is one:

Most EQs/Filters have a control element that controls the amplitude of a shelf/Band (in the case of EQ) or the Q/bandwidth (Parametric) .

Consider 2 different filters, let's say each are 2 casacaded bi-quads. Each filter has a handfull of poles/zeros. Let's say I want my "tone control" Knob to cross fase between these 2 filters. One could either do this calculating on the FV-1(which I am not sure is possible) or externally with another MCU that actually modifies the program in real time.

In my case, I will not be interpolating between coeffiecient sets. Instead, I will be interpolating poles/zeros/on the complex plane and then backing out the coeffiecients to ensure stability, etc.

I have done this on really big DSP chips (TI 6713) but need something really small and agile. My first choice was the Al3101 from wavefront but their customer interface needs some work. TI has a cool little audio chip TAS3208 but the it is brand new and the development tools are "hidden". The FV-1 is a very compact solution with everything integrated. This chip would make a great chip for teaching DSP at the univeristy. Students love audio. Anyway back on track.....

Now, instead of a Musical instrument, imagine this funny filter used to tune a control system.


The FV-1 is a near perfect solution for single chip digital filter/processing. My only wish is more coefficient precision, and more precision in the delay ram. That being said this chip is really neat. I know how hard ASIC design is. The spin semi guys did a great job.
frank
Posts: 1244
Joined: Wed Oct 19, 2005 12:26 pm
Contact:

Post by frank »

Hmmmm, this may not work as desired. When the FV-1 changes programs (internal or external) the following happens:

Mute DACs
Start load of new program (if external)/select new program (if internal)
Start clearing of delay RAM (does not clear internal register bank)
After loading program and clearing delay RAM are both done, set first run flag and unmute DACs

So the FV-1 will mute the output everytime you reload the program to update the coefficients.
I know how hard ASIC design is.
We appreciate that. I worked on the chip as a contractor doing the core logic, entire chip was done bottom up, no synthesis.
Frank Thomson
Experimental Noize
Post Reply