FreeCalypso > hg > fc-small-hw
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. |