6Bit audio:

Using, learning, programming and modding the Gigatron and anything related.
Forum rules
Be nice. No drama.
at67
Site Admin
Posts: 647
Joined: 14 May 2018, 08:29

Re: 6Bit audio:

Post by at67 »

axelb wrote: 16 Oct 2021, 06:58 Maybe something like this for the amplification / low-pass filtering. Rin = 20 kOhm, C2 = 1nF, Rg + Rf = Potentiometer 100 kOhm?
Looks like a good start!
Hans61
Posts: 102
Joined: 29 Dec 2020, 16:15
Location: Saxonia
Contact:

Re: 6Bit audio:

Post by Hans61 »

I have been looking around for available IC's from local suppliers. There is the DAC0808LCN, TLC7524 and TLC7528CN which I get here for 2,50 to 6,00 €. The next one is the AD558JN for 27,52 (Reichelt), too expensive. The DAC0808 needs a second negative operating voltage (could be provided with something like the ICL7660). The other two have the advantage of only one voltage and an internal latch, this would replace the 74273 U38. For the opamp, I have the NE5532, which is AVAILABLE and low noise. Analog audio circuit design is new territory for me. I have made a circuit design with what I have learned so far:
8Bit audio - 7524.sch.png
8Bit audio - 7524.sch.png (15.38 KiB) Viewed 5600 times
I don't know if it works this way. For L1 I have no idea about the value, maybe a small resistor, a ferrite bead or just a bridge is possible here. Should R2 (100k) be an adjustment knob for the level, or an accessible potentiometer for the volume? C7 and C4 are also arbitrarily chosen. I am open to further suggestions. When the parts arrive I will test it on a breadboard.
at67
Site Admin
Posts: 647
Joined: 14 May 2018, 08:29

Re: 6Bit audio:

Post by at67 »

The NE5532N is a great OP-AMP, but not for this application, it doesn't swing rail to rail, specifies a minimum VCC of -5V to +5v and has a small CMIVR, (Common Mode Input Voltage Range), compared to it's VCC.
https://www.ti.com/lit/ds/symlink/ne5532.pdf

This means that when running it in a single rail or VCC/2 configuration not only will you not be meeting it's minimum VCC requirements, it also won't be able to swing anywhere near to the rails and will probably be completely non-linear because of it's low relative CMIVR, (datasheet VICR).

That was why I suggested the MCP 6022, it's specifically designed for this kind of application, is available in a DIP package and you can buy it cheap here:
https://au.mouser.com/ProductDetail/Mic ... d4ks5kTXTw
https://au.element14.com/microchip/mcp6 ... dp/9758640

If you look at the MCP6022's data sheet you will see +/-2.5VCC, rail to rail and high relative CMVIR, (datasheet VCMR), it's basically designed to work in low voltage and single rail applications.

If you can't find this particular device, then you need to find one similar or use a buck/boost split-rail or inverting switch mode IC to generate the higher voltages, (or split voltages), required for OP-AMPS like the one you chose. Not only does this make the circuit more complicated but these types of devices are usually fantastic at introducing unwanted noise into your audio paths without careful circuit/component/PCB design.

I haven't gone through the actual components/configuration you've chosen, but at a cursory glance it looks fine, the low input impedance of the second stage is fine in this application, the variable resistor you're using for volume control seems to be as an active volume control, (i.e. part of the feedback path), you could also use a passive volume control as an input to the second stage, (once again it shouldn't make a difference in this application, it's not like you're going to be using low noise logarithmic pots and oxygen free gold plated audio leads to make an audiophile blush).

P.S. Here's a decent TI reference for single rail OP-AMP design: https://mil.ufl.edu/4924/docs/TI_SingleSupply_OpAmp.pdf
Hans61
Posts: 102
Joined: 29 Dec 2020, 16:15
Location: Saxonia
Contact:

Re: 6Bit audio:

Post by Hans61 »

Thanks for the advice I will use the MCP6022. Of the available sources, Mouser is the best option for me. If in Germany I stay under a net value of goods of 50€ I pay 23,80€ shipping (after that free shipping). So I will look through the list of my open and planned projects and then order.
axelb
Posts: 41
Joined: 07 Jan 2021, 06:27

Re: 6Bit audio:

Post by axelb »

This is a breadboard-tested solution for the 8 bit audio. The 7524 DAC is operated in “voltage mode”, i.e. OUT1 is connected to a fixed voltage (5V) and VREF is connected to a high impedance amplifier input. This is an allowed wiring according to the data sheet and some applications I found elsewhere.
For low pass filtering I ended up with a 3rd order Sallen-Key filter ( Chebyshev characteristics ) since my second order filter still produced some high pitch noise. However my final cut off frequency is somewhat below 8 kHz.
The 74273 still acts as a latch. To use the CS input of the 7524 an additional discrimination to the edge of HSYNC would be required.
Placing a 1 mH choke after the 273 and prior to all the other devices delivered the best noise suppression. In addition I used a very big 680 uF capacitor (C1) on my breadboard. Probably it can be reduced or even omitted on a PCB version.
Attachments
dac.png
dac.png (64 KiB) Viewed 4387 times
lb3361
Posts: 360
Joined: 17 Feb 2021, 23:07

Re: 6Bit audio:

Post by lb3361 »

Cool!
at67
Site Admin
Posts: 647
Joined: 14 May 2018, 08:29

Re: 6Bit audio:

Post by at67 »

axelb wrote: 16 Nov 2021, 07:37 This is a breadboard-tested solution for the 8 bit audio.
That looks great, good job designing and testing it.
axelb
Posts: 41
Joined: 07 Jan 2021, 06:27

Re: 6Bit audio:

Post by axelb »

Thanks to the Audio Testboard from Hans61 (https://github.com/hans61/PCB/tree/main/8Bit-audio-v2) and lb3361´s new RAM and IO expansion board v7 ( https://github.com/lb3361/gigatron-lb/t ... sion-retro ) I was able to assemble and test the 8 bit audio solution for the Gigatron.

Playing midi files with at67´s Music64k software (https://github.com/kervinck/gigatron-ro ... gbas/audio) and a patched version of the current Devrom delivered similar results as for my breadboard setup in which the DAC was connected directly to the XOUT register U38 (see above).

Currently only the higher 6 bits of the DAC are used since I don´t know which modifications are needed in order to prepare the sound samples to cover the complete 8 bit. I also have to find a better way how to modify the ROM to combine the current 4 bit audio + blinkenlights with the new expansion-based output.
Attachments
8 Bit Audio.jpg
8 Bit Audio.jpg (800.12 KiB) Viewed 1888 times
lb3361
Posts: 360
Joined: 17 Feb 2021, 23:07

Re: 6Bit audio:

Post by lb3361 »

Great work. I am curious to see how you patched the devrom and to find out which solution worked best for you. Happy new year...
axelb
Posts: 41
Joined: 07 Jan 2021, 06:27

Devrom patch

Post by axelb »

I wanted to keep the standard behavior of the blinkenlights and the normal audio output. Therefore I didn´t change the xoutMask but forwarded the value of the sound sample variable directly to the expansion module. However, my new audio output currently works exclusively for display mode 3 due to space- and timing restrictions in page 1 and 2.

I take into account the xoutMask muting during the vertical blank period. In addition the audio signal is always inactive outside the vertical blank for modes other than 3. By this the new output keeps quiet during boot and loading phases.

This is my fork of the current devrom: https://github.com/axelb68/gigatron-rom.

I wish all fans of the Gigatron a healthy year 2022 !
Post Reply