From 0ad4410f8a4c0178ee578da14781b1df7199b514 Mon Sep 17 00:00:00 2001 From: Markus Koch Date: Sun, 4 Oct 2020 17:47:01 +0200 Subject: [PATCH] Implement audio pre-amp --- kicad/cpu.sch | 10 +- kicad/io.sch | 313 ++++++++++++++++++++++++++++++++++++-- kicad/sabik-cpu-cache.lib | 35 +++++ kicad/sabik-cpu.sch | 76 ++++----- 4 files changed, 387 insertions(+), 47 deletions(-) diff --git a/kicad/cpu.sch b/kicad/cpu.sch index 0c12466..caf60c0 100644 --- a/kicad/cpu.sch +++ b/kicad/cpu.sch @@ -3,7 +3,7 @@ EELAYER 30 0 EELAYER END $Descr A4 11693 8268 encoding utf-8 -Sheet 3 4 +Sheet 4 4 Title "" Date "2020-10-03" Rev "" @@ -579,4 +579,12 @@ F 3 "" H 1600 4300 50 0001 C CNN $EndComp Text Notes 4800 4400 2 50 ~ 0 Not used: +Wire Wire Line + 6550 4200 7150 4200 +Wire Wire Line + 6550 4300 7150 4300 +Text HLabel 7150 4200 2 50 Input ~ 0 +AUDIO_L +Text HLabel 7150 4300 2 50 Input ~ 0 +AUDIO_R $EndSCHEMATC diff --git a/kicad/io.sch b/kicad/io.sch index 9346c26..64ed2ca 100644 --- a/kicad/io.sch +++ b/kicad/io.sch @@ -638,14 +638,6 @@ F 3 "" H 1600 5200 50 0001 C CNN 1 1600 5200 1 0 0 -1 $EndComp -Wire Wire Line - 1500 4900 1850 4900 -Text Label 1850 4900 2 50 ~ 0 -AUDIO_L -Text Label 1850 5000 2 50 ~ 0 -AUDIO_R -Wire Wire Line - 1850 5000 1500 5000 Wire Wire Line 1300 4400 1400 4400 Wire Wire Line @@ -662,11 +654,308 @@ F 3 "" H 1400 4500 50 0001 C CNN 1 0 0 -1 $EndComp Wire Wire Line - 1300 4200 1650 4200 -Text Label 1650 4200 2 50 ~ 0 + 1300 4200 1750 4200 +Text Label 1750 4200 2 50 ~ 0 +AUDIO_IN_L +Text Label 1750 4300 2 50 ~ 0 +AUDIO_IN_R +Wire Wire Line + 1750 4300 1300 4300 +$Comp +L Device:R R? +U 1 1 5F7A5219 +P 3550 4550 +F 0 "R?" V 3650 4550 50 0000 C CNN +F 1 "10k" V 3550 4550 50 0000 C CNN +F 2 "" V 3480 4550 50 0001 C CNN +F 3 "~" H 3550 4550 50 0001 C CNN + 1 3550 4550 + 0 1 1 0 +$EndComp +$Comp +L Device:R R? +U 1 1 5F7A5A42 +P 3800 4800 +F 0 "R?" H 3870 4846 50 0000 L CNN +F 1 "10k" H 3870 4755 50 0000 L CNN +F 2 "" V 3730 4800 50 0001 C CNN +F 3 "~" H 3800 4800 50 0001 C CNN + 1 3800 4800 + 1 0 0 -1 +$EndComp +$Comp +L Device:C C? +U 1 1 5F7AA6CA +P 3150 4350 +F 0 "C?" V 2898 4350 50 0000 C CNN +F 1 "1u" V 2989 4350 50 0000 C CNN +F 2 "" H 3188 4200 50 0001 C CNN +F 3 "~" H 3150 4350 50 0001 C CNN + 1 3150 4350 + 0 1 1 0 +$EndComp +Wire Wire Line + 3800 4650 3800 4550 +Wire Wire Line + 3800 4550 3700 4550 +Wire Wire Line + 3800 4550 3900 4550 +Connection ~ 3800 4550 +$Comp +L Device:R R? +U 1 1 5F7CBEDB +P 4200 4050 +F 0 "R?" V 4300 4050 50 0000 C CNN +F 1 "10k" V 4200 4050 50 0000 C CNN +F 2 "" V 4130 4050 50 0001 C CNN +F 3 "~" H 4200 4050 50 0001 C CNN + 1 4200 4050 + 0 1 -1 0 +$EndComp +Wire Wire Line + 3900 4350 3800 4350 +Wire Wire Line + 3800 4350 3800 4050 +Wire Wire Line + 3800 4050 4050 4050 +Wire Wire Line + 4350 4050 4600 4050 +Wire Wire Line + 4600 4050 4600 4450 +Wire Wire Line + 4600 4450 4500 4450 +$Comp +L Device:R R? +U 1 1 5F7D8A7B +P 3550 4350 +F 0 "R?" V 3650 4350 50 0000 C CNN +F 1 "10k" V 3550 4350 50 0000 C CNN +F 2 "" V 3480 4350 50 0001 C CNN +F 3 "~" H 3550 4350 50 0001 C CNN + 1 3550 4350 + 0 1 1 0 +$EndComp +Wire Wire Line + 3700 4350 3800 4350 +Connection ~ 3800 4350 +Wire Wire Line + 3300 4350 3400 4350 +Wire Wire Line + 3300 4550 3400 4550 +$Comp +L power:GND #PWR? +U 1 1 5F7E6BF4 +P 3800 5050 +F 0 "#PWR?" H 3800 4800 50 0001 C CNN +F 1 "GND" H 3805 4877 50 0000 C CNN +F 2 "" H 3800 5050 50 0001 C CNN +F 3 "" H 3800 5050 50 0001 C CNN + 1 3800 5050 + 1 0 0 -1 +$EndComp +Wire Wire Line + 3800 5050 3800 4950 +Wire Wire Line + 2550 4350 3000 4350 +Text Label 2550 4350 0 50 ~ 0 +AUDIO_IN_L +$Comp +L power:VDDA #PWR? +U 1 1 5F801221 +P 3300 4550 +F 0 "#PWR?" H 3300 4400 50 0001 C CNN +F 1 "VDDA" V 3318 4678 50 0000 L CNN +F 2 "" H 3300 4550 50 0001 C CNN +F 3 "" H 3300 4550 50 0001 C CNN + 1 3300 4550 + 0 -1 -1 0 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5F80CE85 +P 1400 7000 +F 0 "#PWR?" H 1400 6750 50 0001 C CNN +F 1 "GND" H 1405 6827 50 0000 C CNN +F 2 "" H 1400 7000 50 0001 C CNN +F 3 "" H 1400 7000 50 0001 C CNN + 1 1400 7000 + 1 0 0 -1 +$EndComp +$Comp +L power:VDDA #PWR? +U 1 1 5F80D8A2 +P 1400 6200 +F 0 "#PWR?" H 1400 6050 50 0001 C CNN +F 1 "VDDA" H 1417 6373 50 0000 C CNN +F 2 "" H 1400 6200 50 0001 C CNN +F 3 "" H 1400 6200 50 0001 C CNN + 1 1400 6200 + 1 0 0 -1 +$EndComp +Wire Wire Line + 1400 6200 1400 6300 +Wire Wire Line + 1400 6900 1400 7000 +Wire Wire Line + 1500 4900 1950 4900 +Text Label 1950 4900 2 50 ~ 0 +AUDIO_IN_L +Text Label 1950 5000 2 50 ~ 0 +AUDIO_IN_R +Wire Wire Line + 1950 5000 1500 5000 +Text HLabel 4700 4450 2 50 Output ~ 0 AUDIO_L -Text Label 1650 4300 2 50 ~ 0 +Wire Wire Line + 4700 4450 4600 4450 +Connection ~ 4600 4450 +$Comp +L Device:R R? +U 1 1 5F849CCA +P 3550 6100 +F 0 "R?" V 3650 6100 50 0000 C CNN +F 1 "10k" V 3550 6100 50 0000 C CNN +F 2 "" V 3480 6100 50 0001 C CNN +F 3 "~" H 3550 6100 50 0001 C CNN + 1 3550 6100 + 0 1 1 0 +$EndComp +$Comp +L Device:R R? +U 1 1 5F849CD4 +P 3800 6350 +F 0 "R?" H 3870 6396 50 0000 L CNN +F 1 "10k" H 3870 6305 50 0000 L CNN +F 2 "" V 3730 6350 50 0001 C CNN +F 3 "~" H 3800 6350 50 0001 C CNN + 1 3800 6350 + 1 0 0 -1 +$EndComp +$Comp +L Device:C C? +U 1 1 5F849CDE +P 3150 5900 +F 0 "C?" V 2898 5900 50 0000 C CNN +F 1 "1u" V 2989 5900 50 0000 C CNN +F 2 "" H 3188 5750 50 0001 C CNN +F 3 "~" H 3150 5900 50 0001 C CNN + 1 3150 5900 + 0 1 1 0 +$EndComp +Wire Wire Line + 3800 6200 3800 6100 +Wire Wire Line + 3800 6100 3700 6100 +Wire Wire Line + 3800 6100 3900 6100 +Connection ~ 3800 6100 +$Comp +L Device:R R? +U 1 1 5F849CEC +P 4200 5600 +F 0 "R?" V 4300 5600 50 0000 C CNN +F 1 "10k" V 4200 5600 50 0000 C CNN +F 2 "" V 4130 5600 50 0001 C CNN +F 3 "~" H 4200 5600 50 0001 C CNN + 1 4200 5600 + 0 1 -1 0 +$EndComp +Wire Wire Line + 3900 5900 3800 5900 +Wire Wire Line + 3800 5900 3800 5600 +Wire Wire Line + 3800 5600 4050 5600 +Wire Wire Line + 4350 5600 4600 5600 +Wire Wire Line + 4600 5600 4600 6000 +Wire Wire Line + 4600 6000 4500 6000 +$Comp +L Device:R R? +U 1 1 5F849CFC +P 3550 5900 +F 0 "R?" V 3650 5900 50 0000 C CNN +F 1 "10k" V 3550 5900 50 0000 C CNN +F 2 "" V 3480 5900 50 0001 C CNN +F 3 "~" H 3550 5900 50 0001 C CNN + 1 3550 5900 + 0 1 1 0 +$EndComp +Wire Wire Line + 3700 5900 3800 5900 +Connection ~ 3800 5900 +Wire Wire Line + 3300 5900 3400 5900 +Wire Wire Line + 3300 6100 3400 6100 +$Comp +L power:GND #PWR? +U 1 1 5F849D0A +P 3800 6600 +F 0 "#PWR?" H 3800 6350 50 0001 C CNN +F 1 "GND" H 3805 6427 50 0000 C CNN +F 2 "" H 3800 6600 50 0001 C CNN +F 3 "" H 3800 6600 50 0001 C CNN + 1 3800 6600 + 1 0 0 -1 +$EndComp +Wire Wire Line + 3800 6600 3800 6500 +Wire Wire Line + 2550 5900 3000 5900 +Text Label 2550 5900 0 50 ~ 0 +AUDIO_IN_R +$Comp +L power:VDDA #PWR? +U 1 1 5F849D17 +P 3300 6100 +F 0 "#PWR?" H 3300 5950 50 0001 C CNN +F 1 "VDDA" V 3318 6228 50 0000 L CNN +F 2 "" H 3300 6100 50 0001 C CNN +F 3 "" H 3300 6100 50 0001 C CNN + 1 3300 6100 + 0 -1 -1 0 +$EndComp +Text HLabel 4700 6000 2 50 Output ~ 0 AUDIO_R Wire Wire Line - 1650 4300 1300 4300 + 4700 6000 4600 6000 +Connection ~ 4600 6000 +$Comp +L Amplifier_Operational:LM358 U? +U 1 1 5F8649CA +P 4200 4450 +F 0 "U?" H 4200 4750 50 0000 C CNN +F 1 "LM358" H 4250 4650 50 0000 C CNN +F 2 "" H 4200 4450 50 0001 C CNN +F 3 "http://www.ti.com/lit/ds/symlink/lm2904-n.pdf" H 4200 4450 50 0001 C CNN + 1 4200 4450 + 1 0 0 -1 +$EndComp +$Comp +L Amplifier_Operational:LM358 U? +U 2 1 5F8689C1 +P 4200 6000 +F 0 "U?" H 4200 6300 50 0000 C CNN +F 1 "LM358" H 4250 6200 50 0000 C CNN +F 2 "" H 4200 6000 50 0001 C CNN +F 3 "http://www.ti.com/lit/ds/symlink/lm2904-n.pdf" H 4200 6000 50 0001 C CNN + 2 4200 6000 + 1 0 0 -1 +$EndComp +$Comp +L Amplifier_Operational:LM358 U? +U 3 1 5F86A645 +P 1500 6600 +F 0 "U?" H 1458 6646 50 0000 L CNN +F 1 "LM358" H 1458 6555 50 0000 L CNN +F 2 "" H 1500 6600 50 0001 C CNN +F 3 "http://www.ti.com/lit/ds/symlink/lm2904-n.pdf" H 1500 6600 50 0001 C CNN + 3 1500 6600 + 1 0 0 -1 +$EndComp +Text Notes 3500 7100 0 50 ~ 0 +TODO: Set sensible\ngain for input stage. $EndSCHEMATC diff --git a/kicad/sabik-cpu-cache.lib b/kicad/sabik-cpu-cache.lib index 4860ea9..dff994c 100644 --- a/kicad/sabik-cpu-cache.lib +++ b/kicad/sabik-cpu-cache.lib @@ -1,6 +1,41 @@ EESchema-LIBRARY Version 2.4 #encoding utf-8 # +# Amplifier_Operational_LM358 +# +DEF Amplifier_Operational_LM358 U 0 5 Y Y 3 L N +F0 "U" 0 200 50 H V L CNN +F1 "Amplifier_Operational_LM358" 0 -200 50 H V L CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +ALIAS LM358 AD8620 LMC6062 LMC6082 TL062 TL072 TL082 NE5532 SA5532 RC4558 RC4560 RC4580 LMV358 TS912 TSV912IDT TSV912IST TLC272 TLC277 MCP602 OPA2134 OPA2340 OPA2376xxD OPA2376xxDGK MC33078 MC33178 LM4562 OP249 OP275 ADA4075-2 MCP6002-xP MCP6002-xSN MCP6002-xMS LM7332 OPA2333xxD OPA2333xxDGK LMC6482 LT1492 LTC6081xMS8 LM6172 MCP6L92 NJM2043 NJM2114 NJM4556A NJM4558 NJM4559 NJM4560 NJM4580 NJM5532 ADA4807-2ARM OPA2691 LT6233 OPA2356xxD OPA2356xxDGK OPA1612AxD MC33172 OPA1602 TLV2372 +$FPLIST + SOIC*3.9x4.9mm*P1.27mm* + DIP*W7.62mm* + TO*99* + OnSemi*Micro8* + TSSOP*3x3mm*P0.65mm* + TSSOP*4.4x3mm*P0.65mm* + MSOP*3x3mm*P0.65mm* + SSOP*3.9x4.9mm*P0.635mm* + LFCSP*2x2mm*P0.5mm* + *SIP* + SOIC*5.3x6.2mm*P1.27mm* +$ENDFPLIST +DRAW +P 4 1 1 10 -200 200 200 0 -200 -200 -200 200 f +P 4 2 1 10 -200 200 200 0 -200 -200 -200 200 f +X ~ 1 300 0 100 L 50 50 1 1 O +X - 2 -300 -100 100 R 50 50 1 1 I +X + 3 -300 100 100 R 50 50 1 1 I +X + 5 -300 100 100 R 50 50 2 1 I +X - 6 -300 -100 100 R 50 50 2 1 I +X ~ 7 300 0 100 L 50 50 2 1 O +X V- 4 -100 -300 150 U 50 50 3 1 W +X V+ 8 -100 300 150 D 50 50 3 1 W +ENDDRAW +ENDDEF +# # Connector_AudioJack3 # DEF Connector_AudioJack3 J 0 20 Y Y 1 F N diff --git a/kicad/sabik-cpu.sch b/kicad/sabik-cpu.sch index 97b5776..c2e7ce2 100644 --- a/kicad/sabik-cpu.sch +++ b/kicad/sabik-cpu.sch @@ -19,40 +19,6 @@ U 5F7CBB94 F0 "power" 50 F1 "power.sch" 50 $EndSheet -$Sheet -S 2250 650 1400 1400 -U 5F7D680C -F0 "cpu" 50 -F1 "cpu.sch" 50 -F2 "DMX_RO" I R 3650 800 50 -F3 "DMX_RE" O R 3650 900 50 -F4 "DMX_DI" O R 3650 1000 50 -F5 "DMX_DE" O R 3650 1100 50 -F6 "WS0_TX" O R 3650 1250 50 -F7 "WS1_TX" O R 3650 1450 50 -F8 "WS0_RX" I R 3650 1350 50 -F9 "CONTROL_UART_IN" I R 3650 1800 50 -F10 "CONTROL_UART_OUT" O R 3650 1700 50 -F11 "WS1_RX" I R 3650 1550 50 -F12 "CONTROL_UART_RST" I R 3650 1900 50 -$EndSheet -$Sheet -S 3850 650 1250 1400 -U 5F8467A7 -F0 "io" 50 -F1 "io.sch" 50 -F2 "DMX_RO" O L 3850 800 50 -F3 "DMX_RE" I L 3850 900 50 -F4 "DMX_DI" I L 3850 1000 50 -F5 "DMX_DE" I L 3850 1100 50 -F6 "WS0_TX" I L 3850 1250 50 -F7 "WS1_RX" O L 3850 1550 50 -F8 "WS1_TX" I L 3850 1450 50 -F9 "WS0_RX" O L 3850 1350 50 -F10 "USB_UART_IN" O L 3850 1800 50 -F11 "USB_UART_OUT" I L 3850 1700 50 -F12 "USB_UART_DTR" O L 3850 1900 50 -$EndSheet Wire Wire Line 3650 800 3850 800 Wire Wire Line @@ -75,4 +41,46 @@ Wire Wire Line 3650 1800 3850 1800 Wire Wire Line 3650 1900 3850 1900 +$Sheet +S 2250 650 1400 1600 +U 5F7D680C +F0 "cpu" 50 +F1 "cpu.sch" 50 +F2 "DMX_RO" I R 3650 800 50 +F3 "DMX_RE" O R 3650 900 50 +F4 "DMX_DI" O R 3650 1000 50 +F5 "DMX_DE" O R 3650 1100 50 +F6 "WS0_TX" O R 3650 1250 50 +F7 "WS1_TX" O R 3650 1450 50 +F8 "WS0_RX" I R 3650 1350 50 +F9 "CONTROL_UART_IN" I R 3650 1800 50 +F10 "CONTROL_UART_OUT" O R 3650 1700 50 +F11 "WS1_RX" I R 3650 1550 50 +F12 "CONTROL_UART_RST" I R 3650 1900 50 +F13 "AUDIO_L" I R 3650 2050 50 +F14 "AUDIO_R" I R 3650 2150 50 +$EndSheet +$Sheet +S 3850 650 1250 1600 +U 5F8467A7 +F0 "io" 50 +F1 "io.sch" 50 +F2 "DMX_RO" O L 3850 800 50 +F3 "DMX_RE" I L 3850 900 50 +F4 "DMX_DI" I L 3850 1000 50 +F5 "DMX_DE" I L 3850 1100 50 +F6 "WS0_TX" I L 3850 1250 50 +F7 "WS1_RX" O L 3850 1550 50 +F8 "WS1_TX" I L 3850 1450 50 +F9 "WS0_RX" O L 3850 1350 50 +F10 "USB_UART_IN" O L 3850 1800 50 +F11 "USB_UART_OUT" I L 3850 1700 50 +F12 "USB_UART_DTR" O L 3850 1900 50 +F13 "AUDIO_L" O L 3850 2050 50 +F14 "AUDIO_R" O L 3850 2150 50 +$EndSheet +Wire Wire Line + 3650 2050 3850 2050 +Wire Wire Line + 3850 2150 3650 2150 $EndSCHEMATC