comparison duart28/design-spec @ 36:40e2106a0500

duart28/design-spec: coming along
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 23 Jul 2020 06:59:32 +0000
parents 846ebd21db8e
children b2d6d8f756ea
comparison
equal deleted inserted replaced
35:846ebd21db8e 36:40e2106a0500
178 If we replace the generic FT2232D breakout with our own custom adapter board 178 If we replace the generic FT2232D breakout with our own custom adapter board
179 design, we can solve the second partial power-down problem (the case of Calypso 179 design, we can solve the second partial power-down problem (the case of Calypso
180 on, but no USB host) by inserting LVC buffers in front of FT2232D inputs - 180 on, but no USB host) by inserting LVC buffers in front of FT2232D inputs -
181 these LVC buffers are fully specified for partial power-down applications and 181 these LVC buffers are fully specified for partial power-down applications and
182 have very small Ioff leakage current. 182 have very small Ioff leakage current.
183
184 2. Circuit design
185
186 2.1. FT2232D core section
187
188 Our FT2232D core section (basically everything from the USB connector to the
189 FT2232D chip's ADBUS and BDBUS interfaces) is based on PLDkit's generic FT2232D
190 module:
191
192 ftp://ftp.freecalypso.org/pub/USB/FTDI/FT2232D_module_B_schematics.pdf
193
194 This core section is essentially boilerplate in which we have zero desire for
195 innovation, hence we would like to copy it from a known-working design. In
196 this project the section in question has been recaptured in our ueda language
197 based on the above schematic drawing.
198
199 2.2. UART outputs from the adapter
200
201 We have a total of 4 outputs: TxD, RTS, DTR and TxD2. Because we wish to put
202 out 2.8V logic levels rather than 3.3V, each output needs to pass through an
203 LVC buffer; we use a 74LVC541A as our buffer IC.
204
205 There is also a series resistor inserted into each output after the LVC buffer;
206 the initial value to be populated on the first board build is 2.2 kOhm, to be
207 further tuned empirically. The purpose of these series resistors is to limit
208 the current that will flow from our DUART28 adapter into the Calypso target
209 when the Calypso is powered down - see section 1.3. In our current setup with
210 direct FT2232D to Calypso connection (no series resistors) this current has
211 been measured to be somewhere around 1.77 mA, and it appears to be limited by
212 the current sourcing ability of FT2232D drivers (1 mA per datasheet). However,
213 our new LVC buffers have much stronger drivers, specified to both source and
214 sink up to 24 mA, thus series resistors become mandatory for proper operation
215 in this partial power-down scenario.
216
217 The value of these series resistors is a delicate tuning job: they need to be
218 large enough to limit current flow in the partial power-down scenario, but they
219 cannot be too large, or they will adversely affect serial communication. Each
220 of these series resistors will form an RC circuit together with various
221 parasitic capacitances on the Calypso target side; larger R translates to a
222 larger RC time constant, resulting in slower signal rise and fall times,
223 adversely affecting serial communication at higher baud rates.
224
225 We have an existing Calypso development board produced by another company that
226 features old-fashioned RS-232 interfaces (classic DE9F connectors) and uses an
227 on-board RS-232 to LVTTL/LVCMOS converter; this board features 1 kOhm series
228 resistors in the same place as in our proposed design, and it works fine at
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
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
233 will still work OK.