FreeCalypso > hg > fc-small-hw
annotate duart28/design-spec @ 66:b1e05a199192
lunalcd2.pcb: manual DRC fixes
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Fri, 25 Jun 2021 22:59:37 +0000 | 
| parents | 45bbb72a8916 | 
| children | 
| rev | line source | 
|---|---|
| 34 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 FreeCalypso DUART28 Adapter | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 Board design specification | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 1. What it is and why it is desired | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 Under our FreeCalypso umbrella we have a family of hardware products based on | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 the Calypso chipset from Texas Instruments. The Calypso chip has two UARTs, | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 one with TxD & RxD data leads plus RTS & CTS flow control, and the other with | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 TxD & RxD data leads only. There is also a convention whereby some Calypso | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 GPIOs are defined to be additional modem control signals and associated with | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 the Modem UART (the one that has RTS & CTS flow control in addition to | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 TxD & RxD), thus the result is one UART with a near-complete set of modem | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 control signals and one UART with data leads only. | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 The convention established in FreeCalypso is that all of our Calypso development | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 boards bring out both Calypso UARTs in their native form, which is 2.8V native | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 logic levels, tolerant of 3.3V but not any higher voltages. In order to connect | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 these UARTs to a PC or laptop serving as the development host, a separate USB | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 to low-voltage UART adapter board is used, preferably one that puts both UARTs | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 (two ttyUSBx devices) behind a single USB device. Our USB to dual UART | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 converter chip of choice is FT2232D; this chip has been chosen over various | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 competitors because it provides two UART channels (ttyUSBx devices) in one USB | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 device, because it supports non-standard serial baud rates on both channels, | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 allowing us to use GSM-specific high baud rates of 203125, 406250 and 812500 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 bps, and because it supports the full set of modem control signals like one | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 would find on an old-fashioned RS-232 port. | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 Since we got our first FCDEV3B boards built in 2017 and up until the present, | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 we've been using FT2232D breakout boards made by PLDkit as our USB to dual UART | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 adapter: | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 http://pldkit.com/other/ft2232d-module | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 These generic FT2232D adapters work quite well for our current purposes, but | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 now we have several reasons for desiring our own custom-built adapter to | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 replace them, detailed below. | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 1.1. Desire for custom interface pinout | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 In FreeCalypso we have the following convention: all FC hardware products that | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 bring out both Calypso UARTs do so by way of a single 10-pin (2x5) 2.54 mm | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 header in a fixed pinout given below. This convention was started with | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 FCDEV3B, our first FC hw product, and is now being continued with MMTB1 and | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 Caramel2 boards. Our standardized DUART header pinout is as follows: | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 Header pin Calypso signal | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 1 GND | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 2 GND | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 3 TX_IRDA | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 4 TX_MODEM | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 5 RX_IRDA | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 6 RX_MODEM | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 7 GPIO2_DCD | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 8 RTS_MODEM | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 9 GPIO3_DTR | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 10 CTS_MODEM | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 Pins 7 and 9 were originally left unused (they are unconnected on FCDEV3B), but | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 they have been assigned as DCD and DTR (from the host's perspective) starting | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 with MMTB1. Note that while DCD and DTR in the table above are named from the | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 host's perspective, all Calypso signals ending with _MODEM or _IRDA are from | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 the chip's perspective, i.e., the opposite. | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 64 When we use FT2232D breakout boards from PLDkit as our USB to DUART adapter, we | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 65 use a custom hand-made ribbon cable with crimp terminations: a 10-wire ribbon | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 66 is used, the full ribbon runs intact in the main body of the cable, but toward | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 67 the FT2232D adapter board the ribbon is split in two, with 7 wires going to the | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 68 A side of PLDkit's breakout board and with 3 wires going to the B side. Each | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 69 of the two subribbons (both the 7-wire one and the 3-wire one) gets terminated | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 70 onto a 15-position female connector, with the two resulting 15-pin connectors | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 71 mating with the two 15-pin single-row headers located on the two sides of | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 72 PLDkit's breakout board. | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 73 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 74 This current solution is much better than manually connecting each wire | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 75 individually: with connectors being solid pieces rather than individual wires, | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 76 a setup can be very easily taken down and then put back together, which is | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 77 absolutely essential for our mode of usage. But the downside of this approach | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 78 is that once our two 15-position female connectors mate with PLDkit's headers, | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 79 there is no way to make a separate connection to other signals which are not | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 80 covered by our basic 10-wire set. This limitation is becoming problematic for | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 81 two reasons: | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 82 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 83 1) Our upcoming Caramel2 board will have the same 10-pin DUART header as FCDEV3B | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 84 and MMTB1 (with DCD & DTR present like on MMTB1), but it will also have an | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 85 additional RI modem control output on another Calypso GPIO accessible on the | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 86 general expansion interface header. There is no room to squeeze this extra RI | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 87 signal into our standardized 10-pin DUART interface, but this extra signal is | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 88 rarely needed. The compromise solution currently being pursued is that the | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 89 main 10-wire ribbon will connect all UART signals (both UARTs) with the | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 90 exception of RI, and those who need RI should be able to connect it with a | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 91 separate individual wire, connecting to the GPIO1 pin on the general expansion | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 92 interface header on the Caramel2 side. But if we use PLDkit breakout boards | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 93 with our current ribbon cables with crimp terminations, there will be no way to | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 94 connect this extra RI wire to the FT2232D adapter board when the big 15-pin | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 95 connector blocks the entire header. | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 96 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 97 2) PLDkit's FT2232D breakout boards bring out USB 5V on one of their pins, and | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 98 this auxiliary 5V output is useful in some applications. We have one upcoming | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 99 application where this auxiliary 5V will be used to exercise the Calypso+Iota | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 100 chipset's VCHG boot mode, also on the upcoming Caramel2 board - but we get into | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 101 the same problem of the PLDkit board header pin becoming inaccessible when our | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 102 crimp-terminated ribbon cables are used. | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 103 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 104 If we replace the generic PLDkit breakout with our own custom FreeCalypso USB | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 105 to dual UART adapter board, we can easily solve these problems by implementing | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 106 our own custom header pinouts. The new DUART28 adapter board covered by the | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 107 present design spec will bring out 3 headers as follows: | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 108 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 109 * One 10-pin header carrying TxD, RxD, RTS, CTS, DTR and DCD for UART 0 and | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 110 just TxD & RxD for UART 1, in a pinout exactly matching our standardized | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 111 FreeCalypso DUART interface; | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 112 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 113 * One 3-pin header carrying UART 0 auxiliary modem control inputs DSR and RI, | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 114 plus a ground pin; | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 115 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 116 * One 2-pin header bringing out USB 5V and GND, for auxiliary uses. | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 117 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 118 1.2. 3.3V vs. 2.8V logic levels | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 119 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 120 Calypso I/O pins have native 2.8V logic levels, but they are specified as being | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 121 tolerant of 3.3V. They do have internal clamping diodes to the Calypso chip's | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 122 2.8V V-IO rail, but their forward drop voltage is right around 0.5 V, thus if | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 123 external inputs are at 0.5 V above V-IO (practically meaning 3.3V inputs), no | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 124 significant current flows through these clamping diodes. | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 125 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 126 When we use a raw FT2232D breakout board as our USB to FreeCalypso DUART | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 127 adapter, we are connecting the FT2232D chip's 3.3V outputs directly to Calypso | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 128 inputs; this arrangement has been working well for us since 2017, but a more | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 129 proper 2.8V DUART adapter is desirable for a few reasons: | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 130 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 131 * When the Calypso+Iota chipset enters superdeep sleep (our shorthand term for | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 132 Calypso deep sleep combined with Iota ABB sleep mode), the chipset's VRIO | 
| 35 
846ebd21db8e
duart28/design-spec: minor fixes in the so-far-written section
 Mychaela Falconia <falcon@freecalypso.org> parents: 
34diff
changeset | 133 regulator (the one that produces the 2.8V V-IO rail) switches into sleep mode, | 
| 34 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 134 which has much looser regulation than in the regular Active mode. In this | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 135 condition external 3.3V can feed into the V-IO rail through pull-up resistors | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 136 and pull the rail itself a little higher than where the chipset's own regulators | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 137 would have it, which is certainly not desirable. If UART inputs to the Calypso | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 138 board are driven with 2.8V logic levels rather than 3.3V, this problem is not | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 139 expected to occur. | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 140 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 141 * If we are going to build a custom FreeCalypso DUART adapter for other reasons, | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 142 it is only proper to make it 2.8V native rather than 3.3V - after all, our | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 143 adapter is highly specific to Calypso applications, not generic, and Calypso | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 144 has native 2.8V I/O. | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 145 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 146 * We have a competitor: Sysmocom folks use CP2105 adapters (mv-uart adapter | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 147 board and other integrated designs) instead of our FT2232D, and their | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 148 CP2105-based designs operate at native 2.8V logic levels, no 3.3V. For | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 149 political reasons it is important to be no worse than the competition, giving | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 150 us one more reason to go for native 2.8V. | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 151 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 152 Because FT2232D I/O (unlike CP2105, FT232R and many other chips that aren't | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 153 suitable for other reasons) cannot go below 3.3V, making an FT2232D-based | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 154 adapter put out 2.8V logic levels requires inserting an extra level shifter | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 155 after FT2232D outputs - we shall use an LVC buffer for this purpose. | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 156 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 157 1.3. Partial power-down considerations | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 158 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 159 The following two corner cases need to be considered, as each can be a trouble | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 160 spot: | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 161 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 162 1) When the USB to DUART adapter is connected to a host computer and thus has | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 163 USB power present, but the connected Calypso device is in the switched-off | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 164 state in the Iota VRPC sense (a condition that occurs all the time in normal | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 165 operation, e.g., whenever you are running fc-loadtool and waiting to press the | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 166 PWON button on the board), current can flow from USB DUART adapter outputs into | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 167 powered-down Calypso chip inputs. This current flow cannot be eliminated | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 168 without putting LVC or similar buffers on the Calypso board side, but we need | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 169 to be mindful of this current and we need to limit it. | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 170 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 171 2) When a Calypso device is connected to the USB DUART adapter, the Calypso | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 172 device is up and running (VRPC Active state), but there is no USB host | 
| 35 
846ebd21db8e
duart28/design-spec: minor fixes in the so-far-written section
 Mychaela Falconia <falcon@freecalypso.org> parents: 
34diff
changeset | 173 connected, current can flow from Calypso outputs into a powered-down FT2232D | 
| 
846ebd21db8e
duart28/design-spec: minor fixes in the so-far-written section
 Mychaela Falconia <falcon@freecalypso.org> parents: 
34diff
changeset | 174 (or other front-end chips) in the USB DUART adapter. With our current raw | 
| 37 
b2d6d8f756ea
duart28/design-spec: re-measured partial power-down current
 Mychaela Falconia <falcon@freecalypso.org> parents: 
36diff
changeset | 175 FT2232D-to-Calypso arrangement we have about 5.8 mA of current flowing per pin | 
| 
b2d6d8f756ea
duart28/design-spec: re-measured partial power-down current
 Mychaela Falconia <falcon@freecalypso.org> parents: 
36diff
changeset | 176 under the described condition, which is way too much. | 
| 34 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 177 | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 178 If we replace the generic FT2232D breakout with our own custom adapter board | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 179 design, we can solve the second partial power-down problem (the case of Calypso | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 180 on, but no USB host) by inserting LVC buffers in front of FT2232D inputs - | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 181 these LVC buffers are fully specified for partial power-down applications and | 
| 
0eca5449abd7
duart28/design-spec started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 182 have very small Ioff leakage current. | 
| 36 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 183 | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 184 2. Circuit design | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 185 | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 186 2.1. FT2232D core section | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 187 | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 188 Our FT2232D core section (basically everything from the USB connector to the | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 189 FT2232D chip's ADBUS and BDBUS interfaces) is based on PLDkit's generic FT2232D | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 190 module: | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 191 | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 192 ftp://ftp.freecalypso.org/pub/USB/FTDI/FT2232D_module_B_schematics.pdf | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 193 | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 194 This core section is essentially boilerplate in which we have zero desire for | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 195 innovation, hence we would like to copy it from a known-working design. In | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 196 this project the section in question has been recaptured in our ueda language | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 197 based on the above schematic drawing. | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 198 | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 199 2.2. UART outputs from the adapter | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 200 | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 201 We have a total of 4 outputs: TxD, RTS, DTR and TxD2. Because we wish to put | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 202 out 2.8V logic levels rather than 3.3V, each output needs to pass through an | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 203 LVC buffer; we use a 74LVC541A as our buffer IC. | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 204 | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 205 There is also a series resistor inserted into each output after the LVC buffer; | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 206 the initial value to be populated on the first board build is 2.2 kOhm, to be | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 207 further tuned empirically. The purpose of these series resistors is to limit | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 208 the current that will flow from our DUART28 adapter into the Calypso target | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 209 when the Calypso is powered down - see section 1.3. In our current setup with | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 210 direct FT2232D to Calypso connection (no series resistors) this current has | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 211 been measured to be somewhere around 1.77 mA, and it appears to be limited by | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 212 the current sourcing ability of FT2232D drivers (1 mA per datasheet). However, | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 213 our new LVC buffers have much stronger drivers, specified to both source and | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 214 sink up to 24 mA, thus series resistors become mandatory for proper operation | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 215 in this partial power-down scenario. | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 216 | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 217 The value of these series resistors is a delicate tuning job: they need to be | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 218 large enough to limit current flow in the partial power-down scenario, but they | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 219 cannot be too large, or they will adversely affect serial communication. Each | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 220 of these series resistors will form an RC circuit together with various | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 221 parasitic capacitances on the Calypso target side; larger R translates to a | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 222 larger RC time constant, resulting in slower signal rise and fall times, | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 223 adversely affecting serial communication at higher baud rates. | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 224 | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 225 We have an existing Calypso development board produced by another company that | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 226 features old-fashioned RS-232 interfaces (classic DE9F connectors) and uses an | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 227 on-board RS-232 to LVTTL/LVCMOS converter; this board features 1 kOhm series | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 228 resistors in the same place as in our proposed design, and it works fine at | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 229 812500 baud. If we populate the same 1 kOhm resistors, the undesirable current | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 230 in the partial power-down scenario will be 2.8 mA per pin, which is greater | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 231 than our current 1.77 mA; with our current plan of populating 2.2 kOhm resistors | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 232 the current will be 1.27 mA, and we are hoping that 812500 baud communication | 
| 
40e2106a0500
duart28/design-spec: coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
35diff
changeset | 233 will still work OK. | 
| 38 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 234 | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 235 2.3. UART inputs to the adapter | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 236 | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 237 We have a total of 6 inputs: RxD, CTS, DSR, DCD, RI and RxD2. These inputs | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 238 need to pass through LVC buffers just like the outputs, but for a different | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 239 reason. With inputs there is no need for voltage level translation, but the | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 240 need for LVC buffers arises because of partial power-down considerations - the | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 241 scenario when the Calypso board is fully up and running and is connected to the | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 242 DUART adapter, but there is no USB host connected - see section 1.3. If | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 243 Calypso UART outputs are connected directly to FT2232D inputs without any | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 244 intermediate buffers, this condition is handled very poorly, with about 5.8 mA | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 245 of current flowing per pin, which is certainly not acceptable for a proper | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 246 design. | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 247 | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 248 Insertion of an LVC buffer into each input signal path neatly solves this | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 249 problem: these buffers are specifically designed for partial power-down | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 250 applications and have very small Ioff leakage current - listed as 0.1 uA | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 251 typical or 10 uA maximum in the 74LVC541A datasheet. | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 252 | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 253 One additional complication is that we also have to add explicit pull-up | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 254 resistors (to our local 2.8V rail) on each of our 6 inputs in front of the | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 255 buffer IC. Many of our UART inputs may be legitimately left unconnected, and | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 256 these unconnected inputs should be sensed by our FT2232D USB UART as high. If | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 257 we were connecting to FT2232D inputs directly, the FT2232D chip's internal | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 258 pull-ups would take care of this condition, but when we have a 74LVC541A buffer | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 259 in front of these FT2232D inputs, this buffer IC's own inputs must not be left | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 260 floating. | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 261 | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 262 2.4. LVC buffer details | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 263 | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 264 We shall use two LVC buffer ICs of the same type (74LVC541A), one for the 4 | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 265 outputs, the other for the 6 inputs. Each 74LVC541A is an octal buffer, thus | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 266 some slots in each IC remain unused; all unused slots will have their A inputs | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 267 tied to GND. Both nOE1 and nOE2 on each buffer IC are also tied to GND, | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 268 resulting in all buffers being always enabled. | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 269 | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 270 The 74LVC541A buffer for outputs will have its Vcc supply pin fed with 2.8V, as | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 271 required in order to produce 2.8V logic levels on outputs from the adapter. | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 272 However, the other 74LVC541A buffer for inputs will have its Vcc supply pin fed | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 273 with 3.3V, same as FT2232D VCCIOA and VCCIOB. | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 274 | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 275 When the inputs coming from the connected Calypso target have 2.8V logic levels | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 276 and ultimately need to go to FT2232D receivers operating at 3.3V, a sort of | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 277 translation will have to happen somewhere, with a CMOS input structure operating | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 278 with a 3.3V supply being fed 2.8V inputs. We can make this translation happen | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 279 in the FT2232D if we use an intermediate LVC buffer powered at 2.8V or no | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 280 intermediate buffer at all, or we can make this translation happen in the LVC | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 281 buffer if the latter is powered with the same 3.3V as the FT2232D I/O pins. | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 282 The second approach has been chosen because the behaviour of 74LVC541A under | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 283 these conditions is much better understood than the behaviour of FT2232D I/O | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 284 cells under the same, thanks to much better documentation being available for | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 285 74LVC541A than for that part of FT2232D. | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 286 | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 287 Please note, however, that the pull-up resistors on inputs before input-serving | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 288 74LVC541A buffer will be wired to our local 2.8V rail, not to 3.3V, even though | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 289 the buffer IC will be powered with 3.3V. This way all interface signals exist | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 290 strictly in the 2.8V domain and never get exposed to 3.3V in any form. | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 291 | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 292 2.5. LDO regulators | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 293 | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 294 Two LDO regulators will be implemented on our adapter board, both powered from | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 295 USB 5V: one producing 3.3V, the other producing 2.8V. Our 3.3V LDO will power | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 296 FT2232D VCCIOA & VCCIOB and the input-serving 74LVC541A buffer, whereas the | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 297 other 2.8V LDO will power our output-serving 74LVC541A buffer and our input | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 298 pull-up resistors. Both LDOs will be of TLV702 family from TI, based on our | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 299 recent good experiences with this LDO family in other projects. | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 300 | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 301 The FT2232D chip's built-in 3.3V LDO won't be used: its 5 mA current limit | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 302 seems to be too small, and our current FT2232D adapter boards made by PLDkit | 
| 
ba83a7cd6451
duart28/design-spec: circuit description should be complete
 Mychaela Falconia <falcon@freecalypso.org> parents: 
37diff
changeset | 303 don't use it either, using an external beefier LDO instead. | 
| 41 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 304 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 305 3. PCB layout specification | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 306 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 307 3.1. Overall dimensions | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 308 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 309 The generic FT2232D breakout board from PLDkit which the present DUART28 seeks | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 310 to replace measures 39.37x46.99 mm or 1550x1850 mil. If the present DUART28 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 311 circuit can be squeezed into the same size, great - but such squeeze is NOT | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 312 required. If our DUART28 requires a larger PCB because of our greater circuit | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 313 complexity and having more components, using a larger PCB would be perfectly | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 314 fine - however much space is needed to get the job done. There is no specific | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 315 form factor requirement, i.e., this project is a free-form design. | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 316 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 317 3.2. Layer count | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 318 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 319 PLDkit's FT2232D adapter board appears to have a 2-layer PCB, and our competitor | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 320 mv-uart by Sysmocom (CP2105-based) is known to have a 2-layer PCB thanks to | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 321 published design files. However, we shall go by the same business logic as with | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 322 board dimensions: if the needed layout can be done in just 2 layers, great, but | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 323 if the PCB layout engineer feels that going to 4 layers would be better or would | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 324 make the layout job easier, it would be perfectly OK to have 4 layers. | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 325 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 326 3.3. Mounting holes | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 327 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 328 The PCB should have 4 mounting holes in the corners, accommodating M3 screws. | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 329 It is OK to increase overall board dimensions slightly to make room for these | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 330 mounting holes. | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 331 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 332 3.4. Placement of connectors | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 333 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 334 USB mini-B connector J1 must be placed along one of the board edges; it does not | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 335 matter along which edge, or exactly where. | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 336 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 337 Shrouded 2x5 header J2 can be placed anywhere, as long as the placement makes | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 338 sense for cable attachment purposes. The cable plugged into this connector will | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 339 be a 10-wire ribbon terminated with an IDC connector, thus the body of the flat | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 340 cable will lie parallel to the board surface. Orientation: the body of the | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 341 cable will face toward the even-numbered row of pins, i.e., away from the | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 342 polarizing tab identified with a silk screen mark in the currently drawn | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 343 footprint. | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 344 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 345 Little headers J3 and J4 can be placed anywhere; they are not shrouded and the | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 346 only things that can be connected to them are either individual jumper wires or | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 347 crimped assemblies with wires rising up, perpendicular to the board. | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 348 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 349 3.5. Connector silk screen labels | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 350 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 351 All three user connection headers J2, J3 and J4 shall have silk screen labels | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 352 identifying every pin. J2 pins shall be labeled as follows, numbers in the | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 353 middle indicate physical pins and shall NOT be placed on the silk screen | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 354 themselves: | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 355 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 356 GND 1 2 GND | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 357 RxD2 3 4 RxD | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 358 TxD2 5 6 TxD | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 359 DCD 7 8 CTS | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 360 DTR 9 10 RTS | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 361 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 362 J3 pins shall be labeled as follows, numbers on the left indicate physical pins | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 363 and shall NOT be placed on the silk screen themselves: | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 364 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 365 1 GND | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 366 2 DSR | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 367 3 RI | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 368 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 369 J4 pins shall be labeled as follows, same deal with pin numbers: | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 370 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 371 1 +5V | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 372 2 GND | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 373 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 374 3.6. 74LVC541A slot assignment | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 375 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 376 74LVC541A is an octal buffer IC that can be seen as a bundle of 8 single buffers | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 377 with common output enables; the latter are always enabled in our present | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 378 circuit. The present design uses two of these octal buffer ICs (see section | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 379 2.4): one with 4 signals and 4 unused slots (grounded A inputs, unconnected Y | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 380 outputs) and one with 6 signals and 2 unused slots. The mapping of which signal | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 381 should go to which An/Yn slot is arbitrary from the standpoint of circuit | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 382 functionality, thus this mapping should be made at the time of PCB layout for | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 383 physical layout optimization. | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 384 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 385 The mapping of signals to U5 and U6 slots is defined in U5.slotmap and | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 386 U6.slotmap text files; to change these mappings, edit the two files to define | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 387 the desired mapping, then recompile the netlist by running 'make', producing an | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 388 updated pcb-netlist.txt generated file. | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 389 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 390 The preliminary slot mapping that exists in the present netlist was created as | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 391 a placeholder to pass compilation, and is NOT expected to be anywhere close to | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 392 optimal for layout! Therefore, the PCB layout engineer is expected to review | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 393 this slot mapping and optimize it for layout. | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 394 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 395 3.7. Power bypass capacitors | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 396 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 397 By the very nature of power bypass capacitors, a netlist gives absolutely no | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 398 indication as to where they need to be placed - yet their physical placement is | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 399 essential to their circuit function. Because the design of this board is | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 400 captured in ueda language instead of graphical schematics, it is possible that | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 401 the PCB layout engineer may have some difficulty with reading our ueda design | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 402 source to understand the design intent as to where each bypass capacitor should | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 403 be placed. The following listing is intended to resolve this ambiguity: | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 404 | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 405 * C4 and C7 need to be placed at the output of L1 on the P_5V net; | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 406 * C8 needs to be placed at the input of LDO regulator U3; | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 407 * C9 needs to be placed at the output of LDO regulator U3; | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 408 * C10 needs to be placed at the input of LDO regulator U4; | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 409 * C11 needs to be placed at the output of LDO regulator U4; | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 410 * C12 needs to be placed near pin 20 (Vcc) of U5; | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 411 * C13 needs to be placed near pin 20 (Vcc) of U6; | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 412 * C14 needs to be placed near pin 14 (VCCIOA) of U1; | 
| 
45bbb72a8916
duart28/design-spec: layout instructions added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
38diff
changeset | 413 * C15 needs to be placed near pin 31 (VCCIOB) of U1. | 
