Posts Tagged ‘WTPA’

WTPA2 Work Resumed!!

Monday, May 23rd, 2011

All right, so now that Cory’s biz is done and the art world is safe again, I can get back to God’s Work, by which I mean making samples that sound like farts. That’s right, WTPA2!
WTPA2 has been promised now for like a million years. I’m shooting for actually having it ready by the end of June for Bent Festival.

In that spirit, I dug out my old prototype. There’s a lot wrong with it. I found most of the hardware bugs way back when, and I added another input for a separate pitch control to the second sample bank. The idea was to use the spare op-amp to make an RC oscillator and use it to clock the second sample bank and use the main oscillator to clock the first bank. Clock sources could then be switched or interchanged in hard or software.

Problem is, the only uncommitted pins left that can trigger an IRQ are interrupt-on-change pins. That means that I can’t only trigger on a rising or falling edge — the ISR will trigger on BOTH. That means a 10kHz square wave will trigger 20k interrupts a second. I could make the clock half as fast I guess, but that seems like it will confuse people. For the time being I dealt with it by checking the state of the pin in the ISR, but that’s lame too. It means we vector away from mainline code twice as often as we need to. So I came up with this:

Analog Wyzyrdry

It’s a pulse shaper. It takes a clock input, and regardless of duty cycle, spits out a low-going pulse on every rising clock edge. The diode and cap here are responsible for separating out the edges, and the transistor squares them up again (more or less). Hooked up to the function generator (Agilent 33120A, 50ohm out) I can get a nice 0.5uS low going pulse really consistently! I can use this to trigger an interrupt, and the pulse will ALWAYS rise again during the ISR (the fastest ISR in WTPA2 is like 9uS). Then at the end of the ISR I can clear the interrupt flag. Viola, rising edge interrupts with a couple cents worth of hardware! I’ve rolled this and some other hardware changes into the next proto revision and will be ordering it soon.

WTPA2 Fancypants Encoder Order

Thursday, November 18th, 2010

Beginning to make it rain on em

It’s official — I’m dropping cash on WTPA2. This is part of an order to my dudes at Taiwan Alpha for 1000 10kA pots, 1000 100kA pots, and 1000 very fancypants encoders. The cool thing about having the factory make this shiz for you is that you can get whatever specs you want on these guys, not just standard part numbers. All these components have long shafts to make it easier to project through a normal enclosure, and the encoders are both relatively high res and clickless. And most importantly, the pots cost like 20-25% of what they cost at Mouser!

Dealing with Taiwan Alpha has been good to me before. Shipping from China is a real bear, and there are always some weird exchanges, but generally they really want to make some business happen and this time they sent me some really complete spec sheets. Cross fingers!

WTPA2 Proto Starting to Pwn

Monday, September 20th, 2010

So the first iteration of WTPA2 has some dumbass mistakes — bus problems during flashing hardware (missing pullups), some switch latch goofiness, and turns out all those RC filters in the encoder datasheet really ARE a good idea. However, once all the traces got cut and the little merce-resistors got in place, the thing works great. The VCO is spot on. More importantly, so is the FLASH MEMORY! The SST flash kinda sucks in that it’s not fancy and requires you to manage erasing-before-writing and demands paying attention to buffering and stuff, but you can totally turn off WTPA2 and turn it back on and keep playing with that perfect burp sound you made.

Logic analyzer bus-sniffing.

Also, equally excitingly, the ISR has gotten A LOT FASTER — this proto recorded and played back just fine at 45kHz. A lot of this had to do with taking some very good suggestions from Olivier over at Mutable Instruments (of the Shruthi-1 fame) who is a great programmer and shamed me out of much laziness in my code.
As if that wasn’t enough, I finally licked the lion’s share of the noise sources that plagued WTPA1. I’d always been really careful about analog signal routing, but I’d been pretty cavalier about ignoring the hell out of some of the “Analog Noise Cancelling Techniques” in the Atmega datasheet. Turns out I traced most of the noise back to on-chip activity which had to do with reading and writing to the SRAM (toggling GPIOs) while the ADC conversion was taking place. I moved some of the accesses around and that NAILED it. Like, totally duh!

Also, re: the picture — I bought one of those Saleae Logic analyzers the moment they started supporting Linux because it seemed like a cool toy. But it’s actually really useful and works great! In addition to actually seeing what’s going on over the bus (as attached here) it’s REALLY handy for timing ISRs. Like, you toggle a pin high when you vector, and then low again when you exit. I always did this with a scope, but the logic analyzer is great because it records a lot of them and you can analyze variation, see what happens between several different calls, use many channels, etc etc.

Anyhoo, WTPA2 had an exciting week. It may take a break for a minute as I have a really busy winter coming up, but still, good time.

WTPA2 Asssembled!

Thursday, July 8th, 2010

It’s built!
All the footprints work, nothing smacks anything else. Physically no failures. And it’s pretty!

Here’s a closeup of the memory expansion:

Onwards to power-up!

WTPA2 Proto Boards Arrive!

Thursday, July 8th, 2010

A very exciting day! It’s like this:

…and like that:

and like this and uh:

These are the gerbers for the new WTPA2 and its Flash daughterboard, and the REAL THINGS fresh off the jet from Advanced Circuits! The new kind-of-questionable-but-kind-of-awesome through-hole SRAM got here also:

So these all can go together today!!! There’s a ton of new firmware that I’m still working on to support new features, so we may not hear any crusty samples, but I’m hopeful we’ll get to see some lights blinking at least before sundown. It’s da future!
Stay tuned,