FPGA: FPGA: Speaker
Site Navigation for FPGA
FPGA: Speaker

Ok, so I bought an FPGA. Now what?

The Burched.biz B5-X super value pack comes loaded with goodies. But, sadly, no speaker. (The buzzer in the B5 Peripheral Connectors plug-on module is a buzzer, not a speaker.) But, the Apple II was a great game machine and its speaker hardware was very simple. So, I modeled a speaker driver from what I knew about the Apple II. Basically, what the Apple II had was a single bit state for the speaker. The state of the bit was only toggle-able. You could not set it or clear it and you could not check its state. To be clear, the address decode logic would convert access to $C030 into a toggle of the speaker state. Either a store or fetch would cause the toggle. The store results were dropped on the floor, and a fetch would pick up garbage. This was called a 'soft switch' in Apple documentation. (For more on the Apple II history, see The Apple II History web site.) Armed with that knowledge, I decided that what I wanted was a simple transistor driving a head phone. The transistor would be driven by the FPGA and would drive the head phones. Here's a schematic: Here's the implementation: The inverter acts as a buffer driver here. I wanted to take care not to blow my new toy, so I connected a buffer driver (though, just about any TTL buffer/logic chip would have been fine). The output from the TTL chip drove a NPN transistor (you could use any transistor you have handy; I happened to have an audio transistor lying around). The output from the transistor ties directly to the speaker or head phones.