You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

140 lines
4.8 KiB

# ULX3S PCB
This is work-in-progress place for putting
some wishes of a small (94x51 mm) FPGA board.
ULX3S = University digital logic Learning eXtensible
7 years ago
board release 3 with SDRAM, Successor of
[ULX2S](http://github.com/emard/ulx2s).
8 years ago
kicad ulx3s.pro
8 years ago
[Schematics](/doc/schematics.pdf) is mostly complete.
7 years ago
PCB routing is mostly complete too. PCB produced when at version 1.7
and big things work like USB-JTAG, SDRAM, SDCARD, HDMI.
PCB v1.7 has small issues like SHUTDOWN not connected,
WIFI won't work if its pins to SDCARD are connected, WIFI disable
jumper won't work if wifi enable is held high by FPGA.
FLASH, AUDIO, RTC, I2C, OLED are currently untested.
8 years ago
8 years ago
3D preview
![TOP](/pic/ulx3st.jpg)
![BOTTOM](/pic/ulx3sb.jpg)
8 years ago
# Features
FPGA: Lattice ECP5 LFE5U-45F-6BG381C
8 years ago
7 years ago
USB: FTDI FT231XS (300kbit JTAG and 3Mbit USB-serial)
8 years ago
7 years ago
GPIO: 56 pins (28 differential pairs), PMOD-friendly
8 years ago
RAM: 32MB SDRAM MT48LC16M16
7 years ago
Flash: 4MB SPI Flash IS25LP032D for FPGA config
8 years ago
Storage: Micro-SD slot
7 years ago
LEDs: 11 (8 blink-LEDs, 2 USB LEDs, 1 WiFi LED)
7 years ago
Buttons: 7 (4 direction, 2 fire, 1 power button)
7 years ago
Audio: 3.5 mm jack with 4 contacts (analog stereo + digital audio or composite video)
8 years ago
Video: GPDI connector with 3.3V-5V I2C bidirectional level shifter
7 years ago
Display: placeholder for 0.96" SPI COLOR OLED
7 years ago
WiFi+bluetooth: placeholder for ESP-32 (JTAG and serial over WiFi)
ADC: 8 channels, 12 bit, 1 MSa/s MAX11123
7 years ago
Power: 3 Switching voltage regulators: 1.1V, 2.5V, 3.3V
8 years ago
7 years ago
Clock: 25 MHz onboard, external differential clock input
7 years ago
Low power sleep: RTC clock wakeup, power button, 32768 Hz quartz and battery
8 years ago
8 years ago
GPDI is General Purpose Differential Interface,
Electrically LVDS, mostly TMDS tolerant
female receptacle more-or-less compatible
8 years ago
with digital monitors/TVs
8 years ago
8 years ago
# Todo
8 years ago
7 years ago
Make the prototype.
8 years ago
7 years ago
[x] Silkscreen Double outline for BGA chip
7 years ago
[x] Silkscreen do not write over the solder pads
[ ] Silkscreen BGA names on ESP32 placeholder and 2.54 mm headers
[x] Silkscreen JTAG signal names on 6-pin 2.54 mm header
[x] Silkscreen remove OLED outline
[x] Solder stop mask must go inbetween all SMD chip pads
7 years ago
[x] External differential clock input at J1_33 +/-
[ ] Thinner copper, more spacing to SDRAM-FPGA
[x] physically sprinkle VCC blocator capacitors under BGA
8 years ago
[ ] Values on silkscreen
7 years ago
[x] Dedicated antenna pin
[x] onboard 433 antenna
7 years ago
[x] 433 remove GND and silkscreen test point
[x] Resistors for LEDs
8 years ago
[x] Move USB LEDs from bottom to top side
7 years ago
[x] Improve SDRAM routing - use VIAs for closest pins
8 years ago
[x] Increase thickness of power lines (5V, 3.3V, 2.5V)
[x] Compile a f32c bitstream using the schematics
8 years ago
[x] Compile differential GPDI output
[x] Connect more lines from ESP-32 to FPGA
[x] Connect FPGA USB D+/D- with 1.5k pullup in USB 1.1 (full speed) mode
[x] FPGA USB add 27 ohm + 3.6 V zener
[x] Symmetrically place USB connectors left-right
8 years ago
[ ] Jumpers to switch 2.5V/3.3V for left IO banks
8 years ago
[x] External JTAG header
[x] Move JTAG 2 mm left
[x] Move WiFi Disable jumper closer to the BTN1 (angled header)
8 years ago
[x] Sprinkle 2.2uF capacitors on power lines
7 years ago
[x] Spice simulation of power-up/shutdown network
[x] 27ohm D+/D- to FT231XS
8 years ago
[x] DIP switch (4 switches)
8 years ago
[x] MAX11123 ADC SPI
[x] I2C for RTC
[x] main usb connector on top side
[ ] space screw to other parts
[x] move battery away from screw hole
[x] top layer GND fill
[x] R25 move away from oled screw hole
7 years ago
[ ] board cut off notches inisde for space saving
[x] DIP switch to the right near RAM
[x] Move HDMI a bit closer to OLED
[x] 32768Hz oscillator footprint
[x] SD card footprint SCHD3A0100
[x] center the SD footprint for T&R
[x] SD connect GND (thin pins)
[x] move USB 0.5-1mm more out
[x] DIP SW footprint correct
[x] AUDIO jack footprint fits
7 years ago
[x] AUDIO jack pin 4 (ring2) connected to 4-bit DAC
[x] BTN footprint too small
7 years ago
[x] SMPS jumpers default OFF for prototype testing
7 years ago
[x] FPGA DONE to ESP-32
7 years ago
[x] Diodes manual soldering
7 years ago
[x] R56: FT231X rev A,B,C TXDEN to GND
workaround from TN140_FT231X Errata
7 years ago
[x] PCB for LFE5UM ready (some GND will change to
7 years ago
VCC for Serdes power supply, see LFE5U->LFE5UM
7 years ago
migration docs)
7 years ago
[x] Check GND/VCC for 45 and 85 packages,
for example pin T11 is NC on 25U, GND on 85U and VCC ond 85UM
7 years ago
[x] Reconnect WIFI_OFF so that jumper has priority
7 years ago
[x] 25MHz oscillator: needs clearance from LEDs, move under USB1
7 years ago
[ ] connect SPI Flash Quad Mode (QSPI)
[x] connect SHUTDOWN to FPGA
[ ] ESP-32: GPIO12 at boot selects internal flash voltage,
it is connected to J1_27+ and wrong pullup/pulldown at boot
will prevent ESP32 from booting
7 years ago
[ ] ESP-32: won't boot when SD connected. Don't solder it at PCB v1.7
it should be routed differently in newer release