annotate venus/src/periph/audio_hso.v @ 58:229f0b2dd1bf

HSO audio channel implemented
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 01 Dec 2021 03:26:15 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
58
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This Verilog module encapsulates our secondary headset audio channel,
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * connected to Iota headset interface.
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 */
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 module audio_hso (GND, Vio, HSMICBIAS, HSMICP, HSO, Detect);
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 input GND, Vio;
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 input HSO, HSMICBIAS;
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 output HSMICP, Detect;
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 /* internal wires */
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 wire EAR_jack, MIC_jack;
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 /* instantiate the jack */
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 trrs_jack jack (.T(GND),
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 .R(MIC_jack),
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 .R2(EAR_jack),
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 .S(GND),
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 .T_sw(Detect),
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 .R_sw() /* not used */
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 );
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 /* output path */
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 capacitor HSO_cap (HSO, EAR_jack);
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 /* microphone input circuit */
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 capacitor C37 (HSMICBIAS, GND);
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 resistor R19 (HSMICBIAS, MIC_jack);
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 capacitor C38 (MIC_jack, GND);
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 capacitor C23 (MIC_jack, HSMICP);
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 capacitor C22 (HSMICP, GND);
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 /* Detect pull-up resistor */
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 resistor Detect_pullup (Detect, Vio);
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43
229f0b2dd1bf HSO audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 endmodule