comparison 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
comparison
equal deleted inserted replaced
37:b2d6d8f756ea 38:ba83a7cd6451
229 812500 baud. If we populate the same 1 kOhm resistors, the undesirable current 229 812500 baud. If we populate the same 1 kOhm resistors, the undesirable current
230 in the partial power-down scenario will be 2.8 mA per pin, which is greater 230 in the partial power-down scenario will be 2.8 mA per pin, which is greater
231 than our current 1.77 mA; with our current plan of populating 2.2 kOhm resistors 231 than our current 1.77 mA; with our current plan of populating 2.2 kOhm resistors
232 the current will be 1.27 mA, and we are hoping that 812500 baud communication 232 the current will be 1.27 mA, and we are hoping that 812500 baud communication
233 will still work OK. 233 will still work OK.
234
235 2.3. UART inputs to the adapter
236
237 We have a total of 6 inputs: RxD, CTS, DSR, DCD, RI and RxD2. These inputs
238 need to pass through LVC buffers just like the outputs, but for a different
239 reason. With inputs there is no need for voltage level translation, but the
240 need for LVC buffers arises because of partial power-down considerations - the
241 scenario when the Calypso board is fully up and running and is connected to the
242 DUART adapter, but there is no USB host connected - see section 1.3. If
243 Calypso UART outputs are connected directly to FT2232D inputs without any
244 intermediate buffers, this condition is handled very poorly, with about 5.8 mA
245 of current flowing per pin, which is certainly not acceptable for a proper
246 design.
247
248 Insertion of an LVC buffer into each input signal path neatly solves this
249 problem: these buffers are specifically designed for partial power-down
250 applications and have very small Ioff leakage current - listed as 0.1 uA
251 typical or 10 uA maximum in the 74LVC541A datasheet.
252
253 One additional complication is that we also have to add explicit pull-up
254 resistors (to our local 2.8V rail) on each of our 6 inputs in front of the
255 buffer IC. Many of our UART inputs may be legitimately left unconnected, and
256 these unconnected inputs should be sensed by our FT2232D USB UART as high. If
257 we were connecting to FT2232D inputs directly, the FT2232D chip's internal
258 pull-ups would take care of this condition, but when we have a 74LVC541A buffer
259 in front of these FT2232D inputs, this buffer IC's own inputs must not be left
260 floating.
261
262 2.4. LVC buffer details
263
264 We shall use two LVC buffer ICs of the same type (74LVC541A), one for the 4
265 outputs, the other for the 6 inputs. Each 74LVC541A is an octal buffer, thus
266 some slots in each IC remain unused; all unused slots will have their A inputs
267 tied to GND. Both nOE1 and nOE2 on each buffer IC are also tied to GND,
268 resulting in all buffers being always enabled.
269
270 The 74LVC541A buffer for outputs will have its Vcc supply pin fed with 2.8V, as
271 required in order to produce 2.8V logic levels on outputs from the adapter.
272 However, the other 74LVC541A buffer for inputs will have its Vcc supply pin fed
273 with 3.3V, same as FT2232D VCCIOA and VCCIOB.
274
275 When the inputs coming from the connected Calypso target have 2.8V logic levels
276 and ultimately need to go to FT2232D receivers operating at 3.3V, a sort of
277 translation will have to happen somewhere, with a CMOS input structure operating
278 with a 3.3V supply being fed 2.8V inputs. We can make this translation happen
279 in the FT2232D if we use an intermediate LVC buffer powered at 2.8V or no
280 intermediate buffer at all, or we can make this translation happen in the LVC
281 buffer if the latter is powered with the same 3.3V as the FT2232D I/O pins.
282 The second approach has been chosen because the behaviour of 74LVC541A under
283 these conditions is much better understood than the behaviour of FT2232D I/O
284 cells under the same, thanks to much better documentation being available for
285 74LVC541A than for that part of FT2232D.
286
287 Please note, however, that the pull-up resistors on inputs before input-serving
288 74LVC541A buffer will be wired to our local 2.8V rail, not to 3.3V, even though
289 the buffer IC will be powered with 3.3V. This way all interface signals exist
290 strictly in the 2.8V domain and never get exposed to 3.3V in any form.
291
292 2.5. LDO regulators
293
294 Two LDO regulators will be implemented on our adapter board, both powered from
295 USB 5V: one producing 3.3V, the other producing 2.8V. Our 3.3V LDO will power
296 FT2232D VCCIOA & VCCIOB and the input-serving 74LVC541A buffer, whereas the
297 other 2.8V LDO will power our output-serving 74LVC541A buffer and our input
298 pull-up resistors. Both LDOs will be of TLV702 family from TI, based on our
299 recent good experiences with this LDO family in other projects.
300
301 The FT2232D chip's built-in 3.3V LDO won't be used: its 5 mA current limit
302 seems to be too small, and our current FT2232D adapter boards made by PLDkit
303 don't use it either, using an external beefier LDO instead.