annotate venus/src/periph/audio_hso.v @ 70:8bc2aa52fd23

manual RESET button new part: 260 g force, shorter actuator One of the main envisioned use cases for FC Venus is field demonstration: the board will be carried around, mounted on a sheet of acrylic or somesuch, it will have a battery and an antenna connected, there will be a test SIM with active service inserted, and the setup will be ready to demonstrate as a working phone at a moment's notice. But when a demo is not actively in progress, the fully assembled setup will be transported around in a big and loose ESD bag, and it will need to be equivalent to a traditional phone in its switched-off state: battery present, RTC keeping time, but not switched on all the time. Having a RESET button of the same keyswitch type as used for the regular keypad and PWON would cause a problem for such field transport scenarios: any spurious press of this button would cause a "misc boot" switch-on. Short spurious presses of PWON are filtered out by the firmware (automatic power-off if the button isn't held down long enough), but the same cannot be done for super-low-level nTESTRESET. However, a button with significantly greater operating force and a shorter actuator (not sticking out to the same height as the regular keypad buttons) should be much safer.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 02 Dec 2021 22:40:39 +0000
parents 229f0b2dd1bf
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