I'm building an audio circuit that will play VGM
files (Video Game Music).
I have it working with two different "vintage" IC's such as the SN76489
and the AY-3-8912
.
Currently, my design is using an Arduino Micro
and two shift registers for the data buses and direct pins for the control pins on the audio IC's.
On average, an audio IC has 8 pins
for the data bus and 4 pins
for the control or address bus. This varies per IC. Some might be 3, some 4, some 6, etc.
Bottom line, even with the 20 IO pins on the Arduino, I will quickly run out of pins. I thought about serializing many shift registers and basically pass 64 or 128 bit numbers to spread out to the multiple IC's but this sounds ugly.
I'd like to be able to support maybe 6 IC's which could be 60-80 pins.
I also have an Arduino DUE
which has many more IO pins. But then I have to deal with the 3.3v limit and I only have 4 level shifters (16 pins).
Any suggestions on how to handle this?
Thanks.
1 Answer 1
There are other ways,but for a brute force many pin driver solution:
Back at the beginning of time when steam driven IC's were all the vogue there was the awesome MM5450. 40 pin DIP. 34 on/off outputs. 3 pin control. Or the really keen could do it with 1` pin control and some basic RC timing. I was. I did.
Its day has passed. but, fortunately. neither Micrel or Digikey know this.
MM5450 datasheet
In stock Digikey 5ドル.46/1
It's a very benign beat to drive once you get to know it. There is no reset (inless you buy bare dies) so you have to start off getting it synchronised - it's not hard, just not quite usual. Works well.
For single GPIO pin control the pin acts as data out and clock with some RC timing.
Fot ICs with clock/data/load you can do all 3 with RC timing on one pin.
And there is a 44 pin PLCC pkg version available.
AND!
SN74LS673 16 bit SR, 24 pins http://www.ti.com/product/sn74ls673
ICM7243 http://www.ebay.com/itm/ICM7243BIPL-HARRIS-40-Pin-DIP-LED-DISPLAY-DRIVER-ICM7243-7243A-/390402848376
And others http://www.ebay.tv/sch/i.html?_sop=7&_nkw=led+driver+ic&_frs=1
Explore related questions
See similar questions with these tags.
AY-3-8912
, for example, can be set to INACTIVE so I will have to see what that does. I think it puts the address/data bus in high impedance mode. But I don't know, yet, what that will do to the note(s) playing.