FreeCalypso > hg > freecalypso-schem2
diff venus/src/periph/loudspeaker.v @ 59:66d99b5be8a3
loudspeaker block implemented
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 01 Dec 2021 04:08:35 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/venus/src/periph/loudspeaker.v Wed Dec 01 04:08:35 2021 +0000 @@ -0,0 +1,46 @@ +/* Loudspeaker circuit following Leonardo schematics */ + +module loudspeaker (GND, VBAT, Input_pos, Input_neg, GPIO_enable); + +input GND, VBAT; +input Input_pos, Input_neg; +input GPIO_enable; + +wire PA_in_pos, PA_in_neg; +wire Out_pos, Out_neg; +wire BYPASS; + +/* instantiate the audio PA */ +pkg_TPA6203A1 apa (.BYPASS(BYPASS), + .GND(GND), + .In_neg(PA_in_neg), + .In_pos(PA_in_pos), + .SHUTDOWN(GPIO_enable), + .VDD(VBAT), + .Out_pos(Out_pos), + .Out_neg(Out_neg) + ); + +/* input resistors: the inversion is per Leonardo schematics */ +resistor R33xA (Input_pos, PA_in_neg); +resistor R33xB (Input_neg, PA_in_pos); + +/* feedback resistors */ +resistor R331 (Out_neg, PA_in_pos); +resistor R332 (Out_pos, PA_in_neg); + +/* bypass and supply decoupling caps */ +capacitor C319 (BYPASS, GND); +capacitor C330 (VBAT, GND); + +/* small output capacitors */ +capacitor C331 (Out_neg, GND); +capacitor C332 (Out_pos, GND); + +/* the speaker itself! */ +header_2pin spkr_connector (Out_pos, Out_neg); + +/* pull-down on the GPIO control line */ +resistor R338 (GPIO_enable, GND); + +endmodule