FreeCalypso > hg > freecalypso-schem2
annotate minnie/doc/Design-spec @ 97:269b330ac428
minnie/doc/Design-spec: beginning of document
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 01 Oct 2023 07:01:56 +0000 |
parents | |
children | 3ab69117b09f |
rev | line source |
---|---|
97
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 FreeCalypso Minnie GSM MS development board |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 Design specification |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 0. Purpose |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 FC Minnie board is being produced for one primary purpose: to provide an |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 alternative to the horrible (in the opinion of the Mother of FreeCalypso) |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 GTM900-based application board design being developed by Sysmocom in the |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 project identified as OS#4030. A situation in which the Horribilis board is |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 readily and cheaply available to the worldwide GSM hacker/enthusiast community |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 yet no better alternatives are available would be an unacceptable travesty, |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 hence I (Mother Mychaela) feel a moral imperative to develop, produce and make |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 available a better board, even though this venture will almost certainly come |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 at a loss in economic terms. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 1. Overview of proposed new board |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 FC Minnie will be a single PCBA featuring the following key components: |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 * FC Tango module containing the Calypso GSM MS core; |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 * RF plumbing, terminating in a standard SMA female connector hanging off |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 the edge of the board; |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 * A standard SIM 2FF socket; |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 * A USB subsystem built around FT2232H, providing two UART channels behind |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 a single USB device. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 The principal way of operating this board will be via USB-carried UARTs: the |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 operator will need to connect USB between her computer and FC Minnie board, and |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 two ttyUSB devices will appear, corresponding to Calypso Modem and IrDA UARTs. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 FC Minnie is intended to be a GSM MS board of modem rather than handset type: |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 there are no hw provisions for connecting phone UI peripherals such as an LCD |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 or a keypad, and the board is NOT designed to operate untethered, without a |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 host computer connected via USB. FreeCalypso family of projects includes a |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 plan for a different GSM MS board, named FC Venus, that will be designed to run |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 untethered with a 176x220 pixel LCD and a keypad matching the legendary |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 historical D-Sample board from TI - but FC Venus will be an expensive board, |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 reserved for those who truly share the Mother's vision for FreeCalypso, and |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 cannot compete with the OS#4030 application board coming out of Sysmocom. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 1.1. Powering arrangement |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 The board will consist of two separate power domains: GSM and USB. The GSM |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 domain will require a separate power supply, and cannot be powered from USB. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 The battery-emulating power supply for the GSM MS core will be the same as used |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 for FCDEV3B and Caramel2 boards, with the same FC-standard power connector. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 FreeCalypso HQ already has a large batch of these power supplies that were made |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 for us on a semi-custom basis, and we can provide them at a cost of about $7 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 per unit - hence from the cost perspective, there is no justification for |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 breaking FreeCalypso tradition and changing the design to a different powering |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 arrangement, |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 OTOH, USB will be the sole source of power for the FT2232H subsystem - if there |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 is no USB host connected, this subsystem will be unpowered. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 1.1.1. Power domain boundary crossing |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 With USB and GSM sides of the board separately powered, there are two partial |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 power-down (PPD) scenarios to be concerned with: |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 PPD1: The USB host is plugged in, but there is no battery-emulating power supply |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 connected, or the GSM MS power supply is connected, but the chipset is in its |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 switched-off state per Iota VRPC. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 PPD2: The GSM MS power supply is connected and the chipset is switched on in the |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 soft power switching sense, but there is no USB host connected and the FT2232H |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 subsystem is unpowered. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 PPD2 is an error case: because this board is not designed to operate untethered, |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 the combination of booting the Calypso chipset and its flashed firmware without |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 a connected USB host is invalid. However, this combination can happen very |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 easily by mistake, hence the hardware needs to handle it without entering a |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 state in which it would be subjected to serious adverse conditions such as |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 excessive current flow. OTOH, PPD1 is a scenario that is expected to occur all |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 the time in standard FreeCalypso workflows: the USB host is connected but the |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 chipset has not been commanded to switch on yet, or the GSM MS has executed a |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 soft poweroff but the USB host hasn't been unplugged yet. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 The set of LVC buffers inserted between FT2232H and Calypso I/O pins is expected |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 to provide correct graceful handling of both PPD scenarios, as detailed in |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 section 2.1. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 1.2. FT2232H USB subsystem |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 Standard FreeCalypso workflows require that both Calypso UARTs be connected to |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 the development host side by side. In the olden days of TI's own developers |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 working in TI offices with D-Sample and earlier development boards, the GSM MS |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 board would bring out two DE9F RS-232 ports, engineers had desktop PCs outfitted |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 with special multiport serial cards, and there was a pair of RS-232 cables for |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 each GSM MS development board. In the present day USB is a much more practical |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 alternative, and the need to have both Calypso UARTs presented to the developer |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 side by side translates into a requirement for a two-channel USB-serial chip |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 that goes from one USB device to two UART channels. Additional requirements |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 for this two-channel USB-serial chip are: |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 * The two channels should be symmetric from the chip's PoV, so that the choice |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 of which channel goes to which Calypso UART can be made by FreeCalypso |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 convention. The latter convention says that in the absence of other ttyUSB |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 devices, ttyUSB0 shall be Calypso Modem UART (AT command channel) and ttyUSB1 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 shall be Calypso IrDA UART (rvinterf channel). |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 * The USB-serial chip needs to support non-standard baud rates, including an |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 ability to handle 203125/406250/812500 bps, and this support should be |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 available on both channels, so that no additional constraints are imposed on |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 possible developer workflows. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 Out of the repertoire of USB-serial chips which I (Mother Mychaela) am familiar |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 with, only FT2232x (either FT2232C/D or FT2232H) fit the bill. My original |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 preference was for FT2232D, but that chip has just been discontinued, thus |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 FT2232H will have to be used instead. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 1.3. Tango module signal bring-out trade-offs |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 The complete set of signals coming out of FC Tango module via its 80-pin system |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 interface connector is very rich, with most Calypso and Iota chipset signals |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 included. Caramel-type boards (iWOW DSK and FC Caramel2) make all of these |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 signals accessible for play, with most of them going to the expansion interface |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 on a 56-pin header - but these boards cannot compete for the lowest possible |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 cost market niche. Therefore, a board that is intended to compete with the |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 Horribilis board of OS#4030 on the metric of cost needs to be reduced in scope, |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 giving up advanced capabilities of FC Tango and providing only basic, modem-type |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 GSM MS functionality. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 Out of the rich signal set coming out of FC Tango, only two non-essential |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 interfaces are brought out on FC Minnie: the main analog audio channel (see |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 section 2.7) and Calypso MCSI for digital audio (see section 2.8). Those who |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 are interested in additional Calypso+Iota chipset signals available on FC Tango |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 will need to use a Caramel2 board, for as long as those remain in surplus, to be |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 succeeded later by another board tentatively named EvaTango, following TI's |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 original naming convention for component evaluation boards. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 2. Detailed design |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 2.1. Dual UART interface across power domains |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 2.1.1. Signals from FT2232H to Calypso |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 There are 4 signals that need to connect in this direction (names from host DTE |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 perspective): TxD, RTS, DTR and TxD2. If these signals were to be connected |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 directly between the two chips, there would be undesirable effects: |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 * FT2232H I/O operates at 3.3V; this voltage level is acceptable for Calypso I/O |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 pins (CAL000/A spec says VDDS + 0.5 V, accounting for the forward drop voltage |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 of clamping diodes inside the chip), but is not ideal. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 * The main issue is partial power-down scenario PPD1, defined in section 1.1.1. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 If the outputs of a powered USB-serial chip are connected directly to I/O pins |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 of an unpowered Calypso, current would feed from these outputs through Calypso |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 I/O clamping diodes into the Calypso+Iota chipset's V-IO rail. Series |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 resistors can limit this current to a safe value, but we now know through |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151 experience that the only way to produce correct indicator LED behaviour is to |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 eliminate this wayward current completely. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 The solution is to insert an LVC buffer IC (either 74LVC125A or 74LVC541A) into |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 these 4 signal paths; this buffer IC needs to be powered from the Calypso+Iota |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 chipset's V-IO rail, which is brought out from FC Tango module. With this LVC |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 buffer and the Calypso chip's I/O ring powered by the same supply rail, there is |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 no power domain boundary at Calypso inputs, and instead this boundary is moved |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 to the inputs of the LVC buffer. Unlike Calypso and other common ASICs, LVC |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 logic ICs have special input and output structures that are specifically |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 designed for PPD applications, with a guaranteed very low Ioff spec. LVC logic |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 family is also specifically designed to tolerate input voltages higher than the |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 IC's own supply, up to 5V - thus our 3.3V is well within safe design margins. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 Buffer-translated DTR signal will go to Calypso GPIO3 per conventions of TI, |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 iWOW and FreeCalypso. A 2.2 kOhm series resistor can be inserted in this path, |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 solely to protect the hardware from software misconfiguration, in case someone |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 erroneously configures this Calypso GPIO as an output. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 No pull resistors will be placed on the nets running from FT2232H outputs to |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 LVC buffer inputs. In erroneous scenario PPD2 all LVC buffer inputs in this |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 direction and thus all Calypso UART inputs will sense logic low: LVC buffer |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 inputs appear at first glance to be floating, but they cannot reach anywhere |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 near the switching threshold, as any accumulated stray voltages will discharge |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175 toward GND through the unpowered FT2232H chip's clamping diodes. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 Having Calypso UART inputs sense low rather than high is not desirable, but |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 scenario PPD2 can only be an error case on this board, hence there is no |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 justification to expend more components and PCB real estate on a more |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180 complicated circuit design (see FC Venus for example) that would produce logic |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 high levels at Calypso UART inputs in this scenario. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183 2.1.2. Signals from Calypso to FT2232H |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 There are 5 signals that need to connect in this direction (names from host DTE |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 perspective): RxD, CTS, DCD, RI and RxD2. Just like in the case of signals |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
187 going the other way, connecting these signals directly between the two chips |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
188 would be problematic: |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
189 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
190 * Scenario PPD2: clamping diodes in the unpowered FT2232H chip will turn that |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
191 chip's inputs (driven by Calypso outputs) into shorts to GND, thus Calypso |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
192 outputs would be severely overloaded with high current flow. This scenario |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
193 is an error condition, but because it is very easily caused, we would rather |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
194 not overstress the hw in this condition. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
195 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
196 * Scenario PPD1: experience with Caramel2 boards shows that pull-up resistors |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
197 on USB-UART inputs, including internal pull-ups inside FT2232x chips, can |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
198 sometimes leak enough current into the clamping diodes of directly connected |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
199 Calypso I/O pins to create visibly incorrect state on indicator LEDs. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
200 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
201 The solution is to insert an LVC buffer IC (74LVC541A is needed here) into these |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
202 5 signal paths as well. Which supply should this buffer IC be powered from: |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
203 Calypso V-IO or USB domain 3.3V? Either option is expected to solve the LED |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
204 problem in scenario PPD1 (no path for current from the USB domain to flow into |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
205 the V-IO rail), but other considerations differ: |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
206 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
207 * If this LVC buffer is powered from Calypso V-IO, all FT2232H inputs will sense |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
208 logic high (from the chip's internal pull-ups) in scenario PPD1. However, |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
209 the high current problem of scenario PPD2 is not only left unsolved, but made |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
210 potentially worse, as LVC buffers have much higher drive strength than Calypso |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
211 outputs. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
212 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
213 * If this LVC buffer IC is powered from USB domain 3.3V rail, scenario PPD2 is |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
214 solved: the interface between power domains occurs at a point where outputs |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
215 from one domain hit Ioff-specified LVC buffer inputs in the other domain. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
216 However, in scenario PPD1 all FT2232H inputs will sense logic low rather than |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
217 high: the LVC buffers will sense logic low inputs by the same seemingly- |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
218 floating mechanism as in the previous section, and they will propagate this |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
219 logic low to FT2232H inputs. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
220 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
221 Logic low at LVCMOS-level (as opposed to RS-232 levels) UART inputs means a |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
222 break condition on the data line and asserted state for all control signals. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
223 Having this state at host UART input when the target is unpowered and waiting |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
224 to be switched on is counter to usual conventions, but creating the opposite |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
225 (more conventional) state in this scenario without causing any other problems |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
226 with the interdomain interface would require significant extra circuit |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
227 complexity, translating into extra cost. Thus breaking some customary |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
228 conventions about UARTs appears to be the appropriate compromise here. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
229 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
230 2.2. Indicator LEDs |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
231 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
232 There will be 3 indicator LEDs on FC Minnie board: one green, one yellow and |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
233 one red, described in the following sections. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
234 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
235 2.2.1. Green power-on status LED |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
236 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
237 FCDEV3B features a green LED that lights when the Calypso+Iota chipset is |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
238 switched on and goes out at other times. The way in which this LED is |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
239 implemented on FCDEV3B is completely impervious to wayward current feeding into |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
240 the V-IO rail, hence the issue of this current feeding from USB power domain |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
241 never caused a problem on that board. However, the method used on FCDEV3B |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
242 cannot be used on any board using a packaged modem module like iWOW-based Tango |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
243 or Huawei GTM900: the internal signal used for LED control on FCDEV3B is not |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
244 brought out by anyone. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
245 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
246 The plan for FC Minnie is to control the green LED with V-IO. Putting a LED |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
247 plus a series resistor directly between V-IO and GND (powering the LED from |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
248 V-IO) would be a bad idea: when the Calypso+Iota chipset enters superdeep sleep, |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
249 the current budget of Iota regulator VRIO reduces to just 1 mA, which is too |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
250 little for a LED. The plan for FC Minnie is to control this LED with the same |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
251 "digital transistor" (BJT plus bias resistors) circuit as used for the PWL LED |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
252 on Caramel2 (see section 2.2.3), but with V-IO in the place of PWL signal. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
253 With 10 kOhm base resistor the load on V-IO is limited to 280 uA, yet the LED |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
254 (powered from raw VBAT) gets enough current to be visibly lit. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
255 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
256 In order for this plan to produce the desired result of this LED lighting when |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
257 the Calypso+Iota chipset is switched on and going out upon soft poweroff, there |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
258 must not be _any_ wayward current feeding into the V-IO rail from the USB power |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
259 domain by any path. The Mother's hope is that the buffer design of section 2.1 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
260 will work as intended and give us a reliable switch-on state indicator LED. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
261 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
262 2.2.2. Yellow CLK13M status LED |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
263 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
264 FC Caramel2 board introduced an innovation: a yellow LED that lights when CLK13M |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
265 (brought out on FC Tango) is running and goes out when this clock is stopped |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
266 (chipset off or in deep sleep), causing this LED to flash when standard |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
267 FreeCalypso firmware with all sleep modes enabled is in idle mode listening on |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
268 PCH. Unfortunately on some Caramel2 boards this LED would also light |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
269 erratically in scenario PPD1: when the V-IO rail rises above 0V as a result of |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
270 wayward current feeding while other Calypso power supplies are off, sometimes |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
271 Calypso outputs behave erratically, and some may unexpectedly drive high, |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
272 causing LEDs to turn on. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
273 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
274 The plan is to replicate the CLK13M status LED circuit from Caramel2 verbatim |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
275 on FC Minnie; the hope is that the new design of section 2.1 will eliminate the |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
276 problem of wayward V-IO feeding and the LED will become fully reliable. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
277 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
278 2.2.3. Red PWL LED |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
279 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
280 The remaining LED from FC Caramel2, a red LED controlled by Calypso PWL output, |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
281 will also be copied verbatim on FC Minnie, and the same hope as in section 2.2.2 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
282 applies here too. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
283 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
284 Calypso PWL allows the intensity of light to be smoothly controlled by software, |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
285 and standard FC firmware exports this control to the user in the form of AT@PWL |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
286 command. AT@PWL=0 turns this LED off, AT@PWL=255 turns it on at full |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
287 brightness, and all intermediate levels produce intermediate brightness. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
288 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
289 2.3. Target boot control |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
290 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
291 FC Tango module brings out PWON and RESET boot control signals, although no |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
292 RPWON. FC Minnie will provide both manual (tactile switches) and programmatic |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
293 boot control options. There will be two manually operated buttons on the board, |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
294 PWON and RESET, and there will also be support for programmatic boot control |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
295 like on DUART28C. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
296 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
297 DUART28C-style host-based boot control mechanism repurposes otherwise unused |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
298 RTS and DTR outputs of FT2232x Channel B, the UART channel that goes to the |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
299 data leads only Calypso debug UART. The circuit consists of a pair of OD |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
300 drivers packaged in one 74LVC2G07 chip, with RTS driving PWON and DTR driving |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
301 RESET. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
302 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
303 Correct operation with these circuit connections in place requires programming |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
304 a custom USB ID code into FT2232x EEPROM (see section 2.4) and patching the |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
305 Linux kernel ftdi_sio driver to apply a special quirk upon seeing this USB ID. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
306 An additional complication is that Linux USB and tty subsystem maintainers are |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
307 refusing to mainline this quirk-adding patch, thus end users need to apply this |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
308 patch on their own systems in an act of principled defiance against obstinent, |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
309 assinine and tyrannical maintainers. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
310 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
311 Because of these complications, this DUART28C-style boot control circuit needs |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
312 to be made optional. The simplest solution is a pair of jumpers: the net from |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
313 the OD driver on Channel B RTS to Tango PWON will pass through one user- |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
314 removable jumper (2.54 mm header pin pair with a removable shorting block), and |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
315 the net from the OD driver on Channel B DTR to Tango RESET will pass through |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
316 another such jumper. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
317 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
318 2.4. FT2232H USB subsystem details |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
319 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
320 The USB connector will be of mini-B type like on all other classic development |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
321 boards targeting this hacker community; the circuit from this USB connector to |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
322 FT2232H chip will be as prescribed by FTDI. An external LDO regulator bringing |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
323 the bus-powering voltage from 5V down to 3.3V will need to be implemented, as |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
324 always required with FT2232H, and all components are then powered from this 3.3V |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
325 supply. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
326 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
327 The FT2232H subsystem will include a 93C46 EEPROM. FT2232H can work without an |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
328 EEPROM, but I as the Mother of FreeCalypso insist on always including this |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
329 configuration EEPROM. FC Minnie will need to have a custom USB ID programmed |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
330 in this EEPROM when the two remote boot control jumpers are installed, and with |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
331 both PID options the EEPROM will always be programmed with custom textual ID |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
332 strings, allowing the board to be recognized among other USB devices sharing |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
333 the same VID:PID. |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
334 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
335 2.5. RF plumbing |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
336 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
337 2.6. SIM socket |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
338 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
339 2.7. Analog audio |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
340 |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
341 2.8. Digital audio |
269b330ac428
minnie/doc/Design-spec: beginning of document
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
342 |