SCSI2SD Schematic Notes: Difference between revisions

From code/src wiki
Jump to navigationJump to search
No edit summary
Line 68: Line 68:


== In-circuit programming ==
== In-circuit programming ==
UART0 pins, + active low program enable
Unfortunately there doesn't appear to be a standard programming header for the LPC17xx series (possibly because the JTAG port is used instead ?).
power supply while programming ?
 
Custom header ?
Serial programming of the LPC1751 is performed via the UART0 TX and RX pins.  To enter programming mode, <span style="text-decoration: overline">P2.10</span> must be low on <span style="text-decoration: overline">RESET</span>.
Custom bootloader as well ?
 
Reuse for serial debug output ?
5V power should be made available over the programming header. TODO work out how to switch between USB and external power.
 
Ideally, the UART0 port will also be available to print debug information at runtime.
 
[http://sourceforge.net/projects/lpc21isp/ lpc21isp] will be used to program the board.
 
lpc21isp supports the use of the RS232 DTR and RTS lines to trigger <span style="text-decoration: overline">P2.10</span> and <span style="text-decoration: overline">RESET</span>.  I don't have access to a legacy RS232 port, so I'll target the use of a USB <-> TTL serial converter.
 
=== (Preferred) Option 1: FT232RL breakout board ===
* Reusable [http://www.sparkfun.com/products/718 Breakout board].
* Can solder on a custom cable designed to connect to SCSI2SD board.
 
=== Option 2: Pre-made USB -> TTL cable ===
Sadly, the required RTS and DTR lines are not made available by the common [http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm FTDI USB<->TTL serial cables] (the cables support RTS, or DTS, but not both on the same cable).
 
=== Option 3: Pre-made USB -> DB-9 cable ===
* Would require inclusion of an RS-232 level shifter (eg. MAX3232)
* No possibility of powering the board over the DB9 connector.
 
=== Option 4: Include FT232 in SCSI2SD ===
* Additional expense per board.


== Switches ==
== Switches ==
TERMPWR, terminator, parity, SCSI ID
TERMPWR, terminator, parity, SCSI ID

Revision as of 04:08, 6 November 2011

Details for the circuit design of SCSI2SD.

SMT Type

  1. 0805 sized components will be used where applicable. These represent a good tradeoff between hand-solderability and PCB board space.

Crystal Oscillator

  • LCP1751 requires a 25MHz crystal, which results in a 100MHz clock with x4 PLL
  • The crystal requires 2 caps for stability. The required value is:
2 * (CL - CS)

Where CL is the crystal's load capacitance, as specified by the crystal manufacturer, and CS is the PCB's stray capacitance (around 5pF for a reasonable PCB).

TXC - 9C-25.000MEEJ-T Load capacitance 18pF. Therefore, use 2x 22pF standard ceramic capacitors.

Power Supply

Power Requirements

3.3V 5V
LPC1751 600mA

Rated at 100mA per supply pin.
Analog supply pin unused.

0
SD Card 200mA

[1]

0
UCC5617

Optionally powered by SCSI TERMPWR

0 440mA
74HCT05 0 ?

Likely to be insignificant

Total 800mA > 440mA

5V supply from a hard drive molex connector should provide more than sufficient current. A regulator will be required to convert the 5v supply to 3.3V.

Preferred Option: Switching Regulator

  • NCP3170
  • Over 90% efficiency with 5V input.
  • CHEAP $1.73
  • * Max load current without a heatsink is 2.75A

Backup Option: Linear Regulator

A LMS1585A linear LDO regulator can be used to convert the 5v supply to the required 3.3v.

  • 5A max current is more than enough
  • Easy TO-220 mounting
  • 1.3V dropout @ 3A allows for 5V supply to drop to 4.6V
  • Significantly cheaper than a switching regulator
  • Simpler than a switching regulator.
  • At an expected peak current of 800mA, the regulator will dissipate: (5-3.3)*0.8 = 1.36W
  • Thermal Resistance Junction-to-Case: 2.3C/W
  • Max load current without a heatsink is insufficient at 0.7A

In-circuit programming

Unfortunately there doesn't appear to be a standard programming header for the LPC17xx series (possibly because the JTAG port is used instead ?).

Serial programming of the LPC1751 is performed via the UART0 TX and RX pins. To enter programming mode, P2.10 must be low on RESET.

5V power should be made available over the programming header. TODO work out how to switch between USB and external power.

Ideally, the UART0 port will also be available to print debug information at runtime.

lpc21isp will be used to program the board.

lpc21isp supports the use of the RS232 DTR and RTS lines to trigger P2.10 and RESET. I don't have access to a legacy RS232 port, so I'll target the use of a USB <-> TTL serial converter.

(Preferred) Option 1: FT232RL breakout board

  • Reusable Breakout board.
  • Can solder on a custom cable designed to connect to SCSI2SD board.

Option 2: Pre-made USB -> TTL cable

Sadly, the required RTS and DTR lines are not made available by the common FTDI USB<->TTL serial cables (the cables support RTS, or DTS, but not both on the same cable).

Option 3: Pre-made USB -> DB-9 cable

  • Would require inclusion of an RS-232 level shifter (eg. MAX3232)
  • No possibility of powering the board over the DB9 connector.

Option 4: Include FT232 in SCSI2SD

  • Additional expense per board.

Switches

TERMPWR, terminator, parity, SCSI ID