CPLD Fun Board: Arduino STM32F103 and Altera MAX II CPLD
### DESCRIPTION
Two dev boards into one: a STM32 based Arduino ("Maple Mini" compatible)
and an Altera MAX II CPLD dev. board to start playing with VHDL/Verilog,
or just to try to use a CPLD with the Quartus II schematic editor.
### TECHNICAL DETAILS / COMPONENTS
The basic idea is to have a STM32 Arduino to use as "stimulus generator" for the CPLD (e.g. I2C master) and an Altera MAX II CPLD on the same board. In this way is easier to set up a complete "test bench" for the CPLD "application" (e.g. your custom I2C interface).
The STM32F103 MCU is used as "stimulus generator" and as 8/36MHz clock generator for the CPLD, and is easily programmed using the friendly Arduino IDE through the USB connector.
Five push buttons (RST, BUT, USER1-USER3) and a led (PB1) are reserved to the MCU.
The STM32F103 MCU side is "Maple Mini" compatible, so it possible to use the STM32F103 Arduino core provided by http://www.stm32duino.com.
You need to flash the bootloader first using a cheap "St-Link V2" dongle through the SWD connector
To configure the CPLD (an EPM240T100C5 with 240 LEs, enough for some fun...) it is used the Quartus II IDE (free edition) and a cheap "USB Blaster" dongle through the JTAG connector.
The 4 digit 7-segment led display, four push buttons (USER4-USER7) and four leds (LED1-LED4) are reserved to the CPLD. There is also a connector for a common and cheap 1602A or 2014A LCD 5V module (that probably you already have got...).
On the CPLD side there are also a DEV_CLRn push button to clear all the internal FFs, and a DEV_OE switch to force all the CPLD pins in HiZ (to use these two functions you must explicit enable them first in the Quartus II IDE).
An optional on-board 50MHz oscillator is available too (not assembled
in the previous photos), and there are also two connectors for external
oscillators.
There are 22 I/O lines that "join" the STM32 and the CPLD, and on every of them there is a pin of three connectors (TEST1, TEST2 and TEST3). In this way it is possible easily "observe" signals exchanged between them with a scope or a LA.
As far as I know, there is no commercial product that has this "feature".
On this 22 I/O lines there are available various peripherals (e.g. serial, I2C, SPI) on the MCU side.
There are also others 25 GPIOs on the CPLD side (GPIO1 and GPIO2 connectors).
It is possible to use the Arduino STM32 "side" or the CPLD "side" as a stand-alone dev board too, with the TEST1-TEST3 connectors acting as normal GPIOs (holding the pins of the other "side" in HiZ). This is an other unique "feature" of this board.
Of course you need two USB on you PC/Workstation, one to connect the Arduino IDE to the MCU USB (the STM32F103C8T6 MCU has an integrated USB peripheral) and one to connect the Quartus II IDE to the USB Blaster dongle to upload the CPLD "configuration" using JTAG.
### LEARN / TOPIC / BUILD INSTRUCTIONS
All the detailed instructions and descriptions (including schematic, BOM, assembling guide, beginners examples, etc.) are in my page at:
https://hackaday.io/project/27062-arduino-cpld-cpld-fun-board
CPLD Fun Board: Arduino STM32F103 and Altera MAX II CPLD
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(0)
- Likes(10)
- Engineer Apr 27,2022
- SoulCat Aug 06,2021
- Commodore Bench Jul 31,2019
- Jason Tay Feb 09,2019
- HWboy Jul 11,2018
- Alexander Lewoczko May 19,2018
- bubba Mar 11,2018
- Engineer Mar 09,2018
- Engineer Mar 08,2018
- Engineer Mar 05,2018
- 1 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
-
8design
-
8usability
-
8creativity
-
8content
More by Just4Fun
- SPP (Standard Parallel Port) Adapter for the 68k-MBC The Standard Parallel Port (SPP) Adapter board allows to use the GPIO port of the "retro-board" 68k-...
- uTerm2-S: a multi-emulation color RS232 terminal * * HARDWARE OVERVIEW * *The uTerm2-S (micro Term2 stand-alone) is an easy to build multi-emulation ...
- 68k-MBC: a 3 ICs 68008 homebrew computer * * DESCRIPTION * *The 68k-MBC is an easy to build 68008 CPU SBC (Single Board Computer), using only...
- Parallel Printer (SPP) Emulator Shield * * HARDWARE OVERVIEW * *Playing with retro-computers or messing with dated instruments a simple SPP...
- Azz!Duino: A W806 (Winner Micro) MCU on a Arduino Mega shaped board * * OVERVIEW * *The W806 is an interesting low cost MCU made by Winner Micro. There is a page about ...
- uHat add-on board for uTerm2-S It is a little add-on board with a PSRAM (specific for the ESP32) and a microSD socket. I've called ...
- PicOne (PIC18F47Q10) I was searching a DIL MCU for another "project" and found this one that seems interesting. It is che...
- V20-MBC: an easy to build 8088 + 8080 computer DescriptionThe V20-MBC2 is an easy to build V20HL CPU SBC (Single Board Computer). It follows the sa...
- CH552 Dragon * * HARDWARE OVERVIEW * *The CH552 is a little MCU with a 8051 core and a USB interface, and is damn...
- ARMando (STM32F030R8 board) I wanted a board with a "standard" form factor as the common dev boards, but that could be easily in...
- RC-Z8BASIC Never used a Z8 MCU before, but when I found that chip "forgotten" for decades and started to read t...
- uTerm-S: stand-alone RS232 VT100 terminal with VGA/PS2 * * HARDWARE OVERVIEW * *uTerm-S (micro-Term Stand-alone) is a legacy RS232 VT100-like terminal. It ...
- Dual channel RS232 adapter This is a simple board I made to play with my FPGA board "The Thing". This board has two RS-232 chan...
- uCom (a RS232 adapter for the Z80-MBC2) uCom (micro-Com) is a RS232 adapter for the Z80-MBC2 (https://hackaday.io/project/159973). It has a ...
- uTerm (a VT100-like terminal for the Z80-MBC2) uTerm (micro-Term) is a VT100-like terminal for the Z80-MBC2 (https://hackaday.io/project/159973). I...
- "The Thing": FPGA + STM32, Multicomp compatible ### DESCRIPTIONTwo dev boards into one: a STM32 based Arduino ("Maple Mini" compatible) and a Cyclon...
- ESP-01 NanoBoard (ESP8266) ### DESCRIPTIONThe ESP-01 NanoBoard is a little "motherboard" for the well known ESP-01 ...
- Z80-MBC2: 4ICs homemade Z80 computer ### DESCRIPTIONThe Z80-MBC2 is an easy to build Z80 SBC (Single Board Computer with 8MHz Z80, 128kB ...
-
Build a Walking Robot: Theo Jansen Style 3D Printed Octopod
110 0 3 -
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
139 0 0 -
DIY Laser Power Meter with Arduino
213 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
186 0 2