FreeCalypso > hg > fc-small-hw
diff duart28/design-spec @ 38:ba83a7cd6451
duart28/design-spec: circuit description should be complete
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 23 Jul 2020 19:49:00 +0000 |
parents | b2d6d8f756ea |
children | 45bbb72a8916 |
line wrap: on
line diff
--- a/duart28/design-spec Thu Jul 23 18:14:16 2020 +0000 +++ b/duart28/design-spec Thu Jul 23 19:49:00 2020 +0000 @@ -231,3 +231,73 @@ than our current 1.77 mA; with our current plan of populating 2.2 kOhm resistors the current will be 1.27 mA, and we are hoping that 812500 baud communication will still work OK. + +2.3. UART inputs to the adapter + +We have a total of 6 inputs: RxD, CTS, DSR, DCD, RI and RxD2. These inputs +need to pass through LVC buffers just like the outputs, but for a different +reason. With inputs there is no need for voltage level translation, but the +need for LVC buffers arises because of partial power-down considerations - the +scenario when the Calypso board is fully up and running and is connected to the +DUART adapter, but there is no USB host connected - see section 1.3. If +Calypso UART outputs are connected directly to FT2232D inputs without any +intermediate buffers, this condition is handled very poorly, with about 5.8 mA +of current flowing per pin, which is certainly not acceptable for a proper +design. + +Insertion of an LVC buffer into each input signal path neatly solves this +problem: these buffers are specifically designed for partial power-down +applications and have very small Ioff leakage current - listed as 0.1 uA +typical or 10 uA maximum in the 74LVC541A datasheet. + +One additional complication is that we also have to add explicit pull-up +resistors (to our local 2.8V rail) on each of our 6 inputs in front of the +buffer IC. Many of our UART inputs may be legitimately left unconnected, and +these unconnected inputs should be sensed by our FT2232D USB UART as high. If +we were connecting to FT2232D inputs directly, the FT2232D chip's internal +pull-ups would take care of this condition, but when we have a 74LVC541A buffer +in front of these FT2232D inputs, this buffer IC's own inputs must not be left +floating. + +2.4. LVC buffer details + +We shall use two LVC buffer ICs of the same type (74LVC541A), one for the 4 +outputs, the other for the 6 inputs. Each 74LVC541A is an octal buffer, thus +some slots in each IC remain unused; all unused slots will have their A inputs +tied to GND. Both nOE1 and nOE2 on each buffer IC are also tied to GND, +resulting in all buffers being always enabled. + +The 74LVC541A buffer for outputs will have its Vcc supply pin fed with 2.8V, as +required in order to produce 2.8V logic levels on outputs from the adapter. +However, the other 74LVC541A buffer for inputs will have its Vcc supply pin fed +with 3.3V, same as FT2232D VCCIOA and VCCIOB. + +When the inputs coming from the connected Calypso target have 2.8V logic levels +and ultimately need to go to FT2232D receivers operating at 3.3V, a sort of +translation will have to happen somewhere, with a CMOS input structure operating +with a 3.3V supply being fed 2.8V inputs. We can make this translation happen +in the FT2232D if we use an intermediate LVC buffer powered at 2.8V or no +intermediate buffer at all, or we can make this translation happen in the LVC +buffer if the latter is powered with the same 3.3V as the FT2232D I/O pins. +The second approach has been chosen because the behaviour of 74LVC541A under +these conditions is much better understood than the behaviour of FT2232D I/O +cells under the same, thanks to much better documentation being available for +74LVC541A than for that part of FT2232D. + +Please note, however, that the pull-up resistors on inputs before input-serving +74LVC541A buffer will be wired to our local 2.8V rail, not to 3.3V, even though +the buffer IC will be powered with 3.3V. This way all interface signals exist +strictly in the 2.8V domain and never get exposed to 3.3V in any form. + +2.5. LDO regulators + +Two LDO regulators will be implemented on our adapter board, both powered from +USB 5V: one producing 3.3V, the other producing 2.8V. Our 3.3V LDO will power +FT2232D VCCIOA & VCCIOB and the input-serving 74LVC541A buffer, whereas the +other 2.8V LDO will power our output-serving 74LVC541A buffer and our input +pull-up resistors. Both LDOs will be of TLV702 family from TI, based on our +recent good experiences with this LDO family in other projects. + +The FT2232D chip's built-in 3.3V LDO won't be used: its 5 mA current limit +seems to be too small, and our current FT2232D adapter boards made by PLDkit +don't use it either, using an external beefier LDO instead.