Finally, after months of debugging, the USB storage part of the kit is functional. Jim has done fantastic work of getting it all up and going. We managed to squeeze all the needed functionality into a 72-macrocell CPLD. The USB transfer speed is very fast, utilizing DMA directly from USB to the wave RAM.
I’m posting the news on the Yahoo! groups DSS-1 user group, but first I’m going to offer the existing kits (at a reduced price) to those of you who have been patiently waiting.
Well, it turns out that the daughterboard had a LOT more problems than I would have liked. On the hardware side, solder bridges and shorts took a lot of time to track down. Also, similar to the main board, the main CPU’s ASTB (address strobe) signal needs to be buffered, as it’s not latching the address bits properly on its own.
Also a couple of dumb errors with the CPLD. I had several versions of the project, and the version I used had the pin placement wrong. Also had the decode logic wrong for the Flash ROM.
The good news is that Jim is working with the new hardware and I think we may see results in a couple of weeks.
Aside from this project, I’ve made some progress on the new revision of the main CPU board. All of the TTL logic is being replaced with two medium-sized CPLD’s and it will have a newer floppy controller and the VNC1L USB controller integrated.
So, I’ve finally gotten the USB daughterboard to boot up. Took a few weekends and some time on the logic analyzer. It doesn’t have the new code needed to run the USB module, but it does have the new expanded memory map and additional RAM. Note to self: next time a design has 10 mil track spacing and power planes, spend the extra money and get a solder mask. I spent most of the debugging time tracking down micrscopic solder bridges.
I sent a test board off to the programmer, Jim, and he sent me a test build of the software. It isn’t quite working yet, so I have to put it back on the logic analyzer. This time, I spent some money and got a proper socket probe for the flash memory, instead of soldering a bunch of test points on the PCB.
Also Jim wondered if it might be possible to upgrade the DAC to 16 bits. In theory it’s possible, since the RAM is now 16 bits wide, but the latches are only 12 bits wide and would have to be replaced. Also the software would have to be changed to allow the synthesis functions to work on full 16 bit words. And unlike the modifications so far, this would actually change (improve?) the sound of the instrument. I’m going to see how the USB mod pans out…then I’ll see if it’s worthwhile doing.