FreeCalypso > hg > freecalypso-schem2
annotate venus/doc/Flash+RAM @ 98:3ab69117b09f default tip
minnie/doc/Design-spec: finished in the first pass
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 01 Oct 2023 08:17:05 +0000 |
parents | e8ce3b688723 |
children |
rev | line source |
---|---|
88
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 All historical Calypso phone or modem designs which we (FreeCalypso) consider |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 interesting enough to copy use a combined MCP (multi-chip package) for their |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 flash and XRAM, the latter being our term for board-level RAM, as opposed to the |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 relatively small IRAM inside the Calypso chip itself. The following Spansion |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 MCPs (all of them no longer made and available only from surplus, sadly) are |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 most interesting to us: |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 * S71PL032J (4 MiB flash, various RAM options) would be fine for an AT-command- |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 controlled modem like Openmoko - however, we are not building any such product |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 at the present, and this flash capacity is too small for the functionality |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 that must be supported on FC Venus. |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 * S71PL064J is 8 MiB flash with various RAM options; S71PL064JA0 is the version |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 with 2 MiB RAM. The latter part is used inside mass-produced iWOW TR-800 |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 modules - there is a rumor that they may have used S71PL064JB0 initially, |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 with 4 MiB RAM, but then went down to 2 MiB - but S71PL064JA0 is the chip |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 inside those TR-800 modules which are presently available as a large surplus. |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 This chip seems ideal: 8 MiB flash + 2 MiB XRAM is sufficient memory capacity |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 for all TCS211 firmware configurations, and the physical footprint of 7x9 mm |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 is the smallest we've ever seen for such MCPs. |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 * S71PL129J and S71PL129N are 16 MiB flash families, presented as two flash chip |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 select banks of 8 MiB each, specifically made for use with processors like |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 Calypso that have a limit of 8 MiB per chip select. RAM options are |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 correspondingly large; the chip used on FCDEV3B (copied from Pirelli DP-L10) |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 is S71PL129NC0HFW4B, and the XRAM capacity is 8 MiB. Compared to S71PL-J |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 chips, S71PL129N has more stringent reset timing requirements; the impact on |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 Calypso-based designs is that Calypso FDP output cannot be used as the flash |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 reset signal, and a different circuit based on ON_nOFF signal is needed - and |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 the latter circuit requires adding one more little IC, Nexperia 74AXP1T34, a |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 dual supply translating buffer. The latter design with 74AXP1T34 has been |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 proven on FCDEV3B V2. |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 As far as FC Venus PCB design goes, meaning flash+RAM MCP footprint and the |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 flash reset circuit, the following options are up for consideration: |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 Option 1: copy the 7x9 mm MCP footprint from iWOW TR-800. This footprint |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 accommodates S71PL064J but not S71PL129J or N; because populating S71PL129N is |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 not possible on this footprint, flash reset can be sourced from Calypso FDP |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 output as was done in TI's original design. |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 Option 2: enlarge the MCP footprint to 8x11.6 mm with 8 extra mechanical-only |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 balls, but keep the old and simple reset circuit. This option will allow |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 populating either S71PL064J or S71PL129J, but not S71PL129N - the latter would |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 cause sleep mode problems and sometimes even boot problems as seen on FCDEV3B V1 |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 where we made this mistake. |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 Option 3: use the larger MCP footprint for 16 MiB flash and also incorporate the |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 74AXP1T34 flash reset circuit from FCDEV3B V2. This option will allow any of |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 S71PL064J, S71PL129J or S71PL129N to be populated and work correctly. |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 The Mother's original plan for FC Venus was to do Option 1, but this plan is now |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 being changed to Option 3. The reasons for this change are: |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 * S71PL129NC0HFW4B parts are already on hand at FreeCalypso HQ, and have been |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 used successfully in FCDEV3B board builds. With Option 1 we would need to go |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 back to our Chinese grey market supplier and procure S71PL064J chips, and then |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 take the risk of possibly bad parts. |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 * For psychological reasons it is important for FC Venus to be a no-worse |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 successor to FCDEV3B. Even though 8 MiB flash + 2 MiB XRAM is perfectly |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 sufficient memory capacity for all of our fw configurations (and according to |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 TI's docs, it would be sufficient even for their pdt_2272 config with MMS |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 functionality, which we don't have), a reduction from FCDEV3B's 16 MiB flash + |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 8 MiB XRAM will undoubtedly be seen by some community members as a downgrade. |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 There is also potential value in being able to load and run non-flashed |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 fc-xram firmware builds, which is only possible with gigantic 8 MiB XRAM. |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 * Because *all* of our suitable Spansion MCP options are no-longer-made |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 surplus-only parts (much like the core Calypso chipset itself), it makes good |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 sense to design our PCB in such a way as to allow as many options as possible, |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 not excluding any otherwise suitable (and known) option through our PCB |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 design choices. |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 The downside of this chosen approach (compared to our original approach of |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 Option 1) is the increase in MCP BGA footprint, plus the little bit of extra |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 room needed for the 74AXP1T34 IC. The Leonardo core layout inside TR-800 is |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 very tight with no room for any extras, thus if we were seeking to clone or |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 semi-clone a Tango module, this increase in PCB real estate for the flash+RAM |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 MCP would not be acceptable. However, in the case of FC Venus, our core |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 shieldcan section already includes many additions beyond Leonardo/TR-800: |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 consider U401 through U404, all of which need to go into this expanded core |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 section. Thus if we are already expanding the core for other reasons, we should |
09cda55086b1
venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 be able to throw in this flash+RAM MCP expansion as well. |
90
e8ce3b688723
venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
85 |
e8ce3b688723
venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
86 Reset circuit population option |
e8ce3b688723
venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
87 =============================== |
e8ce3b688723
venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
88 |
e8ce3b688723
venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
89 If U303 is populated and R372 is unpopulated (necessary for S71PL129N MCP, the |
e8ce3b688723
venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
90 current plan for initial board build), the flash reset signal will be fed with |
e8ce3b688723
venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
91 ON_nOFF, translated to 2.8V via U303. However, if the populated MCP is S71PL-J, |
e8ce3b688723
venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
92 then there are two options: |
e8ce3b688723
venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
93 |
e8ce3b688723
venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
94 * Flash reset may be generated "in the new way" like for S71PL129N, with U303 |
e8ce3b688723
venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
95 populated and R372 unpopulated. |
e8ce3b688723
venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
96 |
e8ce3b688723
venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
97 * If U303 is omitted and a 0R jumper is populated at R372 instead, the circuit |
e8ce3b688723
venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
98 reverts to TI's old way of using Calypso FDP for flash reset. |
e8ce3b688723
venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
99 |
e8ce3b688723
venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
100 The unpopulated R372 footprint will also serve as a pair of test points for |
e8ce3b688723
venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
101 oscilloscope probing, allowing both Calypso FDP output and the actually-used |
e8ce3b688723
venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
88
diff
changeset
|
102 output of U303 to be observed. |