Why mod.. when you can make?

User Tools

Site Tools


blog:zikzak_sbc_rev1_and_rev2_comparison

Zikzak SBC rev1 and rev2 comparison

See the revisions page for a few details about these guys; I will have to update the site here to make it a little cleaner .. maybe have the dev blog as the default page and stick About on the side, since the blog is the real meat of things anyway, right?

I've been fortunate that all the revisions have worked well; a few glitches are to be expected, but overall I've been very pleased!

The “SBC” is the single-board-computer model of zikzak; previous versions were multiboard to make them easier to build and test and design, and to afford the possible idea of stacking them up to make a little inexpensive cube; combining into a SBC form makes the pcb a little more expensive, but is much easier to work with.

Rev1 was the first stab at this integration, and broadly works; the audio was acting up however.. turns out the Pokey (PSG, AY-3-8910, AY-3-8912, YM2149 by other names) wasn't really well behaved on the bus .. so whenever trying to read from ROM or RAM, it was clobbering some of the values. With just audio chip it worked fine, and without audio worked fine.. but all of them together, and glitchy display etc.. blast! Most of my tests are in isolation, and I managed to not perform a combined audio+others test on the previous standalone component boards. Oops.

Rev2 was a quick modification to address that; time has been very tight, so just applied a change to AY-3-8913 from -8912 edition. Same chip, but with a few less pins; the -8910 base model has a lot of extra pins no one used - dual I/O ports that could be handy for CPUs to avoid building their own IO system; -8912 has a single IO port, saving a bunch of pins; -8913 has no IO ports, but does have a proper chipselect (just like a RAM or ROM has.) So -8913 shoudl be better behaved on the bus .. when not its turn to function, it should get out of the way. Well, turns out it was still janky a little – the eZ80 even with slow crystal is too fast, and the data bus is not holding long enough; the audio wouldn't sound, since as the opcodes step by the data bus in updating, and not enough wait states. If only the AY-3-891x had a WAIT pin to inform the CPU when it was done latching the values…

Rev3 will be another stab to try and correct the audio; I've popped out the -8913 chip and plugged into a breadboard; then jumper over the data lines from the eZ80 GPIO-B port to the audio data bus lines, and jumpered over the other regular bus control pins to breadboard - essentially just using GPIO to drive the databus, but leaving everything else the same. This works a treat .. playing music out of zikzak SBC just fine. I really hate to lose GPIO-B as an available port, so I'll just leave the breakout header for it on the SBC.. if you're not driving the audio chip at the same time, you can use GPIOB just fine. - as a bonus though, with just a little bit of free time, I'll rotate a couple of the headers around to make using them easier - why not add a RAM upgrade? Currently 128KB but very similar pinout to go to 256KB or 512KB, and still support all 3 - Maybe add a USB header in case we want to talk to a USB device without goofing around…

Discussion

Enter your comment. Wiki syntax is allowed:
 
/home/skeezix/public_html/zikzak.ca/zikzak.ca/dokuwiki/__data/pages/blog/zikzak_sbc_rev1_and_rev2_comparison.txt · Last modified: 2017/11/11 02:58 (external edit)