Difference between pages "FTDI-49MM" and "EP2C5-DB"

From Land Boards Wiki
(Difference between pages)
Jump to navigation Jump to search
 
 
Line 1: Line 1:
[[File:FTDI-P1746-CROPPED-720PX.jpg]]
+
[[File:tindie-mediums.png|link=https://www.tindie.com/products/land_boards/z80-6502-6809-fpga-multicomp-pcb-ep2c5-db/]]
 +
 
 +
<video type="youtube">7O0njivn-Po</video>
 +
 
 +
== EP2C5-DB FPGA card ==
 +
 
 +
[[File:P971-cropped-720px.jpg]]
 +
 
 +
I love [http://searle.x10host.com/Multicomp/index.html Grant Searle's Multicomp project]. It lets you easily create 6502, Z80, 6809 Retrocomputers of the late 1970s era. This card provides all of the connections needed.
 +
 
 +
Grant's original design used an EP2 and that's exactly what this cards USES. Note that's not compatible with the latest version Altera/Intel Quartus but you can download older versions like 13.1 SP. Just make sure it supports the Cyclone II family of FPGAs. We also have an [https://www.tindie.com/products/land_boards/z80-6502-6809-fpga-multicomp-pcb-retro-ep4/ EP4 version of this card for sale on Tindie].
  
 
== Features ==
 
== Features ==
  
* FTDI FT230X IC
+
* [[Cyclone II EP2C5 Mini Dev Board]]
* USB B connector (not micro or mini, but the beefy USB B connector)
+
** [https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=EP2c5+fpga+board&_sacat=0&LH_TitleDesc=0&_osacat=0&_odkw=EP2+fpga EP2C5T144C8N FPGA Card] - Ebay listing
* FTDI compatible pinout
+
* 6 bit video on VGA (2:2:2 R:G:B)
* 3.3V or 5V selection jumper
+
* 128KB of SRAM for banked use in CP/M
* Header for 5V power distribution
+
* PS/2 Keyboard Mini-DIN connector
* Rx and Tx LEDs
+
* Connector for serial ports
* (4) 4-40 mounting holes
+
** Can attach inexpensive FTDI USB to serial converter
** Mounts to 95mm to 45mm adapter
+
* SD Card
** Stacks up with standoffs for use with other 95mm cards
+
* DC power jack (on FPGA card)
 +
 
 +
=== EP2 Resources ===
 +
 
 +
* EP2CE5 had 13 of 1Kx9 SRAM blocks
  
== Stackup with EP2 FPGA card ==
+
[[File:EP2XX_Resources.PNG]]
 +
 
 +
== Stackup with FTDI Card ==
  
 
[[File:P1752-CROPPED-720PX.jpg]]
 
[[File:P1752-CROPPED-720PX.jpg]]
  
== Pinout ==
+
* [[FTDI-49MM]]
 +
 
 +
== VGA - Ideal Drive 2:2:2 Case ==
 +
 
 +
* FPGA has a 3.3V driver which can drive 8 mA
 +
* Ideal case drive current
 +
** 0.7V into 75 Ohms = 9.33 mA
 +
* R-2R values
 +
** Ideal resistor values are 417.9 ohms and 835.7 ohms
 +
** [http://www.brannonelectronics.com/images/STANDARD%20VALUE.pdf Standard value 1% resistors]
 +
** 1% standard values are [https://www.mouser.com/ProductDetail/652-CR0805FX-4220ELF 422 (Mouser)], [https://www.mouser.com/ProductDetail/603-RC0805FR-07845RL 845 (Mouser)] Ohms
 +
*** Get closest values
 +
*** 0V, 0.228V, 0.460V, 0.693V
 +
* Voltage steps are:
  
 +
[[File:VGA_Sim_2R_Voltage.PNG]]
 +
 +
* Current steps are:
 +
 +
[[File:VGA_Sim_2R_Current.PNG]]
 +
 +
== Connectors ==
 +
 +
=== J1 - VGA ===
 +
 +
=== J4 - SD Card ===
 +
 +
 +
=== J5 - Serial Ports 1/2 ===
 +
 +
* Connects to FTDI Module
 +
 +
# RTS
 +
# RXD
 +
# TXD
 
# GND
 
# GND
# CTS* (in)
 
# VCC
 
# TX (out)
 
# RX (in)
 
# RTS* (out)
 
  
== Assembly Sheet ==
+
[[File:EP2C5-DB_FTDI.PNG]]
 +
 
 +
==== FTDI Module ====
 +
 
 +
[[File:FTDI_rot.jpg]]
 +
 
 +
==== FTDI Wiring ====
 +
 
 +
** J5-1 (marked RTS on PCB) to FTDI CTS pin
 +
** J5-3 (marked RX on PCB) to FTDI TX pin
 +
** J5-5 (marked TX on PCB) to FTDI RX pin
 +
** J5-7 (marked GND on PCB) to FTDI GND pin
 +
 
 +
[[File:EP2C5-DB_FTDI_Wiring.PNG]]
 +
 
 +
=== J6 - 8-bit I/O connector ===
 +
 
 +
* FPGA Pins
 +
 
 +
# 3.3V
 +
# 3.3V
 +
# 25
 +
# 31
 +
# 41
 +
# 40
 +
# 43
 +
# 42
 +
# 45
 +
# 44
 +
# GND
 +
# GND
 +
 
 +
=== J8 - 8-bit I/O connector ===
 +
 
 +
* FPGA Pins
 +
 
 +
# 3.3V
 +
# 3.3V
 +
# 48
 +
# 47
 +
# 52
 +
# 51
 +
# 58
 +
# 55
 +
# 76
 +
# 69
 +
# GND
 +
# GND
 +
 
 +
== Schematics ==
 +
 
 +
* [http://land-boards.com/EP2C5-DB/EP2C5-DB_Schematic_Rev_X5.pdf Rev X5 schematic]
 +
* [http://land-boards.com/EP2C5-DB/EP2C5-DB_Schematic_Rev_X6.pdf Rev X6 schematic]
 +
 
 +
== Multicomp Builds ==
 +
 
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP2C5 Github repository for Multicomp builds]
 +
 
 +
== Programming the Flash PROM Memory ==
 +
 
 +
=== Permanent (.pof file) ===
 +
 
 +
[[File:Program-permanent-720px.png]]
 +
 
 +
=== Temporary (.sof file) ===
 +
 
 +
[[File:Program-temporarily-720px.png]]
 +
 
 +
== Pin List (Multicomp) ==
 +
<pre>
 +
# Clocks and reset
 +
set_location_assignment PIN_17 -to clk
 +
set_location_assignment PIN_144 -to n_reset
 +
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to n_reset
 +
# PS/2
 +
set_location_assignment PIN_87 -to ps2Data
 +
set_location_assignment PIN_86 -to ps2Clk
 +
# ACIA (Serial)
 +
set_location_assignment PIN_60 -to serSelect
 +
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to serSelect
 +
set_location_assignment PIN_104 -to urts1
 +
set_location_assignment PIN_101 -to urxd1
 +
set_location_assignment PIN_103 -to utxd1
 +
# External SRAM
 +
set_location_assignment PIN_4 -to n_sRamWE
 +
set_location_assignment PIN_126 -to n_sRamCS
 +
set_location_assignment PIN_134 -to n_sRamOE
 +
set_location_assignment PIN_32 -to sramAddress[16]
 +
set_location_assignment PIN_8 -to sramAddress[15]
 +
set_location_assignment PIN_30 -to sramAddress[14]
 +
set_location_assignment PIN_24 -to sramAddress[13]
 +
set_location_assignment PIN_28 -to sramAddress[12]
 +
set_location_assignment PIN_136 -to sramAddress[11]
 +
set_location_assignment PIN_132 -to sramAddress[10]
 +
set_location_assignment PIN_139 -to sramAddress[9]
 +
set_location_assignment PIN_142 -to sramAddress[8]
 +
set_location_assignment PIN_143 -to sramAddress[7]
 +
set_location_assignment PIN_141 -to sramAddress[6]
 +
set_location_assignment PIN_137 -to sramAddress[5]
 +
set_location_assignment PIN_133 -to sramAddress[3]
 +
set_location_assignment PIN_135 -to sramAddress[4]
 +
set_location_assignment PIN_129 -to sramAddress[2]
 +
set_location_assignment PIN_125 -to sramAddress[1]
 +
set_location_assignment PIN_121 -to sramAddress[0]
 +
set_location_assignment PIN_122 -to sramData[7]
 +
set_location_assignment PIN_120 -to sramData[6]
 +
set_location_assignment PIN_118 -to sramData[5]
 +
set_location_assignment PIN_114 -to sramData[4]
 +
set_location_assignment PIN_112 -to sramData[3]
 +
set_location_assignment PIN_113 -to sramData[2]
 +
set_location_assignment PIN_115 -to sramData[1]
 +
set_location_assignment PIN_119 -to sramData[0]
 +
# Composite Video
 +
set_location_assignment PIN_75 -to video
 +
set_location_assignment PIN_74 -to videoSync
 +
# VGA
 +
set_location_assignment PIN_64 -to videoB0
 +
set_location_assignment PIN_63 -to videoB1
 +
set_location_assignment PIN_67 -to videoG0
 +
set_location_assignment PIN_65 -to videoG1
 +
set_location_assignment PIN_70 -to videoR0
 +
set_location_assignment PIN_69 -to videoR1
 +
set_location_assignment PIN_71 -to hSync
 +
set_location_assignment PIN_72 -to vSync
 +
# J6 IO
 +
set_location_assignment PIN_25 -to J6IO8[0]
 +
set_location_assignment PIN_31 -to J6IO8[1]
 +
set_location_assignment PIN_41 -to J6IO8[2]
 +
set_location_assignment PIN_40 -to J6IO8[3]
 +
set_location_assignment PIN_43 -to J6IO8[4]
 +
set_location_assignment PIN_42 -to J6IO8[5]
 +
set_location_assignment PIN_45 -to J6IO8[6]
 +
set_location_assignment PIN_44 -to J6IO8[7]
 +
# J8 I/O
 +
set_location_assignment PIN_48 -to J8IO8[0]
 +
set_location_assignment PIN_47 -to J8IO8[1]
 +
set_location_assignment PIN_52 -to J8IO8[2]
 +
set_location_assignment PIN_51 -to J8IO8[3]
 +
set_location_assignment PIN_58 -to J8IO8[4]
 +
set_location_assignment PIN_55 -to J8IO8[5]
 +
</pre>
 +
 
 +
== EP2C5-DB Assembly Sheet ==
  
[[FTDI-49MM Assembly Sheet]]
+
* [[EP2C5-DB Rev X6 Assembly Sheet]]
 +
* [[EP2C5-DB-TH Rev 1 Assembly Sheet]]

Revision as of 11:36, 29 June 2020

Tindie-mediums.png

EP2C5-DB FPGA card

P971-cropped-720px.jpg

I love Grant Searle's Multicomp project. It lets you easily create 6502, Z80, 6809 Retrocomputers of the late 1970s era. This card provides all of the connections needed.

Grant's original design used an EP2 and that's exactly what this cards USES. Note that's not compatible with the latest version Altera/Intel Quartus but you can download older versions like 13.1 SP. Just make sure it supports the Cyclone II family of FPGAs. We also have an EP4 version of this card for sale on Tindie.

Features

  • Cyclone II EP2C5 Mini Dev Board
  • 6 bit video on VGA (2:2:2 R:G:B)
  • 128KB of SRAM for banked use in CP/M
  • PS/2 Keyboard Mini-DIN connector
  • Connector for serial ports
    • Can attach inexpensive FTDI USB to serial converter
  • SD Card
  • DC power jack (on FPGA card)

EP2 Resources

  • EP2CE5 had 13 of 1Kx9 SRAM blocks

EP2XX Resources.PNG

Stackup with FTDI Card

P1752-CROPPED-720PX.jpg

VGA - Ideal Drive 2:2:2 Case

  • FPGA has a 3.3V driver which can drive 8 mA
  • Ideal case drive current
    • 0.7V into 75 Ohms = 9.33 mA
  • R-2R values
  • Voltage steps are:

VGA Sim 2R Voltage.PNG

  • Current steps are:

VGA Sim 2R Current.PNG

Connectors

J1 - VGA

J4 - SD Card

J5 - Serial Ports 1/2

  • Connects to FTDI Module
  1. RTS
  2. RXD
  3. TXD
  4. GND

EP2C5-DB FTDI.PNG

FTDI Module

FTDI rot.jpg

FTDI Wiring

    • J5-1 (marked RTS on PCB) to FTDI CTS pin
    • J5-3 (marked RX on PCB) to FTDI TX pin
    • J5-5 (marked TX on PCB) to FTDI RX pin
    • J5-7 (marked GND on PCB) to FTDI GND pin

EP2C5-DB FTDI Wiring.PNG

J6 - 8-bit I/O connector

  • FPGA Pins
  1. 3.3V
  2. 3.3V
  3. 25
  4. 31
  5. 41
  6. 40
  7. 43
  8. 42
  9. 45
  10. 44
  11. GND
  12. GND

J8 - 8-bit I/O connector

  • FPGA Pins
  1. 3.3V
  2. 3.3V
  3. 48
  4. 47
  5. 52
  6. 51
  7. 58
  8. 55
  9. 76
  10. 69
  11. GND
  12. GND

Schematics

Multicomp Builds

Programming the Flash PROM Memory

Permanent (.pof file)

Program-permanent-720px.png

Temporary (.sof file)

Program-temporarily-720px.png

Pin List (Multicomp)

# Clocks and reset
set_location_assignment PIN_17 -to clk
set_location_assignment PIN_144 -to n_reset
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to n_reset
# PS/2
set_location_assignment PIN_87 -to ps2Data
set_location_assignment PIN_86 -to ps2Clk
# ACIA (Serial)
set_location_assignment PIN_60 -to serSelect
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to serSelect
set_location_assignment PIN_104 -to urts1
set_location_assignment PIN_101 -to urxd1
set_location_assignment PIN_103 -to utxd1
# External SRAM
set_location_assignment PIN_4 -to n_sRamWE
set_location_assignment PIN_126 -to n_sRamCS
set_location_assignment PIN_134 -to n_sRamOE
set_location_assignment PIN_32 -to sramAddress[16]
set_location_assignment PIN_8 -to sramAddress[15]
set_location_assignment PIN_30 -to sramAddress[14]
set_location_assignment PIN_24 -to sramAddress[13]
set_location_assignment PIN_28 -to sramAddress[12]
set_location_assignment PIN_136 -to sramAddress[11]
set_location_assignment PIN_132 -to sramAddress[10]
set_location_assignment PIN_139 -to sramAddress[9]
set_location_assignment PIN_142 -to sramAddress[8]
set_location_assignment PIN_143 -to sramAddress[7]
set_location_assignment PIN_141 -to sramAddress[6]
set_location_assignment PIN_137 -to sramAddress[5]
set_location_assignment PIN_133 -to sramAddress[3]
set_location_assignment PIN_135 -to sramAddress[4]
set_location_assignment PIN_129 -to sramAddress[2]
set_location_assignment PIN_125 -to sramAddress[1]
set_location_assignment PIN_121 -to sramAddress[0]
set_location_assignment PIN_122 -to sramData[7]
set_location_assignment PIN_120 -to sramData[6]
set_location_assignment PIN_118 -to sramData[5]
set_location_assignment PIN_114 -to sramData[4]
set_location_assignment PIN_112 -to sramData[3]
set_location_assignment PIN_113 -to sramData[2]
set_location_assignment PIN_115 -to sramData[1]
set_location_assignment PIN_119 -to sramData[0]
# Composite Video
set_location_assignment PIN_75 -to video
set_location_assignment PIN_74 -to videoSync
# VGA
set_location_assignment PIN_64 -to videoB0
set_location_assignment PIN_63 -to videoB1
set_location_assignment PIN_67 -to videoG0
set_location_assignment PIN_65 -to videoG1
set_location_assignment PIN_70 -to videoR0
set_location_assignment PIN_69 -to videoR1
set_location_assignment PIN_71 -to hSync
set_location_assignment PIN_72 -to vSync
# J6 IO
set_location_assignment PIN_25 -to J6IO8[0]
set_location_assignment PIN_31 -to J6IO8[1]
set_location_assignment PIN_41 -to J6IO8[2]
set_location_assignment PIN_40 -to J6IO8[3]
set_location_assignment PIN_43 -to J6IO8[4]
set_location_assignment PIN_42 -to J6IO8[5]
set_location_assignment PIN_45 -to J6IO8[6]
set_location_assignment PIN_44 -to J6IO8[7]
# J8 I/O
set_location_assignment PIN_48 -to J8IO8[0]
set_location_assignment PIN_47 -to J8IO8[1]
set_location_assignment PIN_52 -to J8IO8[2]
set_location_assignment PIN_51 -to J8IO8[3]
set_location_assignment PIN_58 -to J8IO8[4]
set_location_assignment PIN_55 -to J8IO8[5]

EP2C5-DB Assembly Sheet