OPTOUSB

From Land Boards Wiki
Jump to navigation Jump to search

Tindie-mediums.png

OptoUSB-177-720px.jpg

Features[edit]

  • USB to TTL level Serial (FTDI) Interface
    • Genuine FTDI FT230XS part
    • Standard FTDI drivers
  • Buffered lines on the TTL level side
    • Schmidt Trigger
      • Voltage level hysteresis
      • Improved slew rate
  • OptoIsolated Connections
    • Transmit, Receive, RTS, CTS
    • Configured for High Speed Serial
  • The Host USB connection is independent of the state of the FTDI side of the interface
    • Host side can communicate with the USB host whether or not the target is even powered up
    • Target power on/off doesn't cause a USB disconnect - handy for debug
  • Fast operation
  • 3.3V or 5V FTDI voltage (order option)
  • Transmit/Receive LED Connectors
    • On-board LED resistors
    • 49x49mm card
    • (4) #4 Mounting Holes

Block Diagram[edit]

OPTOUSB-BlockDiagram.png

Separate Power Domains[edit]

  • The OPTOUSB card has two distinct power domains.
    • One of the domains is the USB side where the power comes from the USB connector/cable.
    • The other power domain is on the TTL side where the power comes from the FTDI connector.
  • This is unlike "normal" FTDI interfaces where the USB connection can power the FTDI side.
    • This is the purpose of the optical isolation - to isolate the ground of the USB side from the target (FTDI) side.

Connectors[edit]

J1 - Mini USB Connector[edit]

  • Standard USB Mini connector

J2 - Transmit/Receive LED connections[edit]

  1. PUP0 - LED Pullup to USB Power
  2. TXLED - Transmit LED
  3. PUP1 - LED Pullup to USB Power
  4. RXLED - Receive LED

J3 - FTDI Connector[edit]

  • Signals are references to external system
  1. GND
  2. RTS (In to card)
  3. VCC (3.3V or 5V) - Power must be supplied to this pin
  4. Receive (Out from card)
  5. Transmit (In to card)
  6. CTS (Out from card)

Drivers[edit]

  • [ FTDI Drivers]

Layout[edit]

OPTOUSB-CAD-X1.PNG

Transfer Rate Characterization[edit]

  • LTSpice Simulation results
  • 8.6uS per bit = 115,200 baud

OPTO-USB LTSpice Simulation.png

Opto-Isolator Drive Circuits[edit]

  • The card has two independent, isolated power domains
    • The USB side is powered from the USB 5V
    • The FTDI side is powered from external power
      • Connected via header or backfeeding the FTDI connector with voltage
      • Voltage is one of either 3.3V or 5V
  • 4N25 Optoisolator used between the two sides
    • Optoisolator has Vf = 1.3V typical
    • Optoisolator has 20% CTR (min)
  • Optoisolator can be fed with up to 50 mA of drive current

USB side Drive Power[edit]

USB TO TTL PATH.PNG

  • USB side has 2N3904 transistor for driving the optoisolator
    • Vce(Sat) at 10 mA is 0.2V
    • Vce(Sat) at 50 mA is 0.3V
  • 5V drops are across transistor (0.3V), optoisolator (1.3V) and series resistor
    • Opto voltage is 5 - 0.3 - 1.3 = 3.4V
    • Opto drive current needs to be 5x the output current (due to the 20% CTR)
    • Assume output current (5 mA)
    • Optoisolator LED drive current needs to be 25 mA
    • 3.4V / .025A = 136 Ohms (Use 150 Ohms for drive series resistor)
      • 150 Ohms will be 22.6 mA drive (good compromise drive current value)
      • 22.6 mA drive current at 20% CTR will allow collector current to be 4.5 mA

TTL side Drive Power[edit]

TTL TO USB PATH.PNG

4N25 Collector resistor value cross over chart.PNG

  • Optimal resistor value is at cross-over point where the H-L and L-H prop delays trade-off
  • For 5V, that's about 1.2K
    • 5V at 1.2 ohms is 4.1 mA
      • 4.5 mA collector current (from above)

5V FTDI side[edit]

  • Use 1.2K pull-up from above

3.3V FTDI side[edit]

  • 4N25 is not characterized for 3.3V operation in the chart but assume the same current
  • Vce(sad) = 0.3V
  • 3.3-3 = 3V
  • 3V / 0.0041A = 731 ohms (680 or 750 are standard 5% values that are near)

Card Test[edit]

OPTOUSB Tester Card-Annotated-720pxV.jpg

  • UUT
  • 5V or 3.3V Power Supply (card build option)
  • Test card
  • Run puTTY
    • Baud rate = 115,200 baud
    • Hardware handshake RTS/CTS
  • Jumper Settings - Normal operation
    • Left jumper in right position (loopback data)
    • Middle jumper in left position (handshake = active/ground)
    • Right jumper in right position (loopback handshake)
    • Type on keyboard and verify it returns data
  • Jumper settings - Test Tx/Rx isolation
    • Move left jumper to left position
    • Type data nothing should come back (verify LED)
    • Move left jumper to right position
  • Jumper settings - Test RTS/CTS
    • Move right jumper to left position (handshake controlled by middle jumper)
    • Type and characters should return
    • Move middle jumper to to right position (hardware handshake off)
    • Type and nothing should go through
    • Move middle jumper to to left position (hardware handshake on)
    • Characters that were buffered should come in at once

Rework - Rev X1 PWBs[edit]

Assembly Sheet[edit]