annotate venus/src/periph/audio_main.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 3afd172b83e1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
57
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This Verilog module encapsulates our main audio channel.
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 */
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 module audio_main (GND, EARN, EARP, MICBIAS, MICIN, MICIP);
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 input GND;
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 input EARN, EARP;
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 input MICBIAS;
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 output MICIN, MICIP;
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 /* internal wires */
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 wire EARN_jack, EARP_jack, MIC_jack;
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 /* instantiate the jack */
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 trrs_jack jack (.T(EARP_jack),
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 .R(MIC_jack),
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 .R2(EARN_jack),
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 .S(GND),
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 .T_sw(), /* not used */
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 .R_sw() /* not used */
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 );
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 /* earpiece path filter caps */
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 capacitor C15 (EARP, EARN);
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 capacitor C16 (EARP, GND);
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 capacitor C17 (EARP, GND);
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 capacitor C18 (EARN, GND);
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 capacitor C19 (EARN, GND);
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 /* earpiece path filter inductors */
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 inductor L1 (EARP, EARP_jack);
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 inductor L2 (EARN, EARN_jack);
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 /* microphone input circuit */
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 capacitor C13 (MICBIAS, GND);
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 resistor R9 (MICBIAS, MIC_jack);
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 capacitor C14 (MIC_jack, GND);
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 capacitor C12 (MICBIAS, MICIP);
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 capacitor C21 (MIC_jack, MICIN);
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 capacitor C32 (MICIP, MICIN);
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50
3afd172b83e1 main audio channel implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 endmodule