FreeCalypso > hg > freecalypso-schem2
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 |
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 |