Procyon Arcade Board – Universal Shield for the Embedded Robotic Platform (MSX/MSX2 compatible)
Why is it so important to have a good platform shield?
At the time of the development and debugging of the autonomous robot it is crucial visualizing the output of the robotic controller in the Real Time. This graphical data may include, for example, the live video feed from the cameras, the estimated path, highlighted detected and recognized object. An embedded robotic platform quite often doesn’t carry on-board video interfaces. Therefore, such an interface can be added with minimal overhead to the existing robotic controller.
The idea behind this board is to have quite a universal USER interaction controller, for the DISPLAY output, keyboard connection and data storage functionality.
But it doesn’t take much to turn such a specialized system into the general purpose fun machine.
By adding a minimum set of multimedia capabilities and compatibility with an old gaming console this Video Shield card can be turned into the great generic 8 or 16 bit fun hardware.
This board has enough system gates inside FPGA, sufficient amount of memory, HDMI video, audio and peripheral I/Os to build great add-on controllers or an entire embedded multimedia computer.
Procyon-Arcade is a simple, robust, low cost and good performance FPGA embedded system.
What is on the board?
The board is based on the low cost and yet powerful Xilinx Spartan 6 FPGA family. The system is assembled on an inexpensive 13x10cm two layer PCB.
- Xilinx Spartan 6 FPGA XC6SLX9 with 64KBytes of embedded block RAM, 16 DSP slices and more than 11K Flip-Flops available
- 64MBytes SDRAM @ 160MHz
- 2xHDMI ports – either 2xOUT or IN+OUT configuration
- AC97 stereo codec with analog Line In/Out+Heaphones
- TOSLINK (optical SPDIF) output
- RTC & replaceable LI battery
- SD CARD
- USB port for the HOST connectivity
- 128KBytes NVRAM
- 4MBytes FLASH for configuration and user defined purposes
- Two PS/2 ports with MIDI I/O switchover
- 100 MHz clock distribution system
- External 5V power adapter connector
- Parallel high speed mezzanine connectors 29 I/O + 9 inputs
- Fast I2C bus for the extensions purposes
- MSX SLOT CONNECTOR
How it can be utilized?
Procyon-Arcade can be used either as:
- independent self-contained FPGA based System On a Chip with enhanced multimedia capabilities
- add-on audio-visual and storage controller
- stacked-up distributed computing system
Board can run either solely or in a stack together with the identical boards. The mezzanine connectors provide the robust high speed interconnect between the stacked Procyon-Arcade cards.
What can be connected to the mezzanine connector?
Procyon-Arcade has 28 (twenty eight) 5V tolerant digital I/Os and 9 dedicated inputs. Any imaginable peripherals compliant with TTL, CMOS, LVTTL and LVCMOS 3.3V can be directly connected to the edge connector or 50pin mezzanine header. The output current is limited to 16ma per pin.
The fast I2C bus can provide, for example, a direct connection to the robot IMU module (Inertial Measurement Unit), screen touch controller, Atari 2600 joystick interface.
Stacking up the boards?
Building a stack-up is possible. In order to boost performance or overcome the FPGA capacity limit, the cards can be either assembled into the heterogeneous or homogeneous system.
Running as an Arcade machine?
This board alone or in the stack configuration can emulate popular 8/16/32 gaming consoles of 80s-90s or the multimedia arcade of your own creation. Boards can be easily cascaded and interfaced to 5V peripherals.
Also the most of the computers of 80s era can be emulated by this card, including Commodore 64, Atari 65XE and many others of course including MSX/MSX2/MSX2+ and TURBO-R family.
MSX is the standard for the 8 bit computers popular 30 years ago.
This board is electrically and mechanically MSX compatible. This is my tribute to the MSX universe which inspired me to start my journey into the world of robotics, electronics and programming.
MSX with dual head HDMI output?
Certainly, many of you, who has MSX computer would like to connect your precious machine to the latest and greatest flat panel screen or two. Procyon-Arcade holds two connectors and provides dual-output screen configuration. This could be handy in plug fest parties and computer fan assemblies.
MSX with HDMI I/O?
One of the HDMI ports can be configured as an output while having the other one as an input making the video feed though configuration. In this mode Procyon generated video can be superimposed onto the dynamic background image provided via the receiving HDMI port in real time.
Otherwise, bidirectional HDMI port can be used as an additional high speed serial link for the fast data exchange between several stacked Procyon cards (in arcade configuration).
Well, the video and audio data streams transported without any ANALOG to DIGITAL conversion reducing the noise and distortion. In the current layout the card natively supports 720p resolution on two HDMI connectors in any configuration and simultaneously the audio stream via on-board AC97 audio codec.
1080p resolution is supported by the design but will be confirmed only after the burn-in test.
The audio amplifier with an optical input can be directly connected to the TOSLINK interface output on the card.
Running as an accelerator?
Your own great ideas and IP projects complemented by popular peripherals such as music synthesis chipsets (SCC, MSX Music, MSX Audio), data storage, memory expansion and video display processors (V99xx) can be compiled into the on-board FPGA and installed into the MSX slot making your machine absolutely unique.
MSX1 machine expanded by Procyon card can run the latest MSX2+ software, since the video display processor (V9958) compatible core, memory mapper and RAM, RTC, ROM images, MSX music and SCC, hard disk can be emulated by the cycle accurate hardware model in FPGA. So your bare machine with this card will be using your original MSX computer Z80, cartridge access mechanism, all the original on-board peripherals analog mouse/joystick controller, etc.
Your legacy cartridges are still 100% usable when running together with Procyon. More over, when feeding through Procyon the audio output of MSX-AUDIO or SFG-05 adapter, Procyon will digitize the audio, mix it with its internal audio sources and re-distribute the stereo stream via its analog and digital audio outputs.
Also the data transfer between this card and the HOST (PC, MAC) and the MSX data storage is easy via the USB full speed connection. Files, game ROMS, BIOS images, FPGA stream can be updated via this interface.
This cartridge can run in the stand-alone mode becoming a pocket size but still very powerful MSX computer. Mezzanine connector can be connected to the bus de-multiplexer and slot expander, converting it into the full-blown MSX system with external slots for your legacy hardware.
Similar to One Chip MSX?
The design goal of this board is very different. This board was developed as an universal low cost embedded FPGA development system. The bill of materials for one board excluding the PCB is well below 50$ .
Procyon board has a small form factor, digital video interfaces and the hardware definable I/O bus making it possible to create a tablet size MSX compatible computer with the direct LCD digital link, embedded keyboard and a touch panel interface (digitizer).
High fidelity analog and digital audio I/O makes no compromise on the sound quality. The audio input function is important when working with the good old or new MSX audio hardware. The incoming audio can be digitized and fed through the main FPGA audio mixer either to HDMI mutiplex or to the TOSLINK digital audio streams.
One or both PS/2 connectors can be on-the-fly transformed into MIDI I/O interfaces. It will require an external (PC joystick port) MPU-401 MIDI cable per one PS/2 connection.
MSX2/2+ clock chip (Ricoh RP5C01) function is emulated in the FPGA with the real time synchronization to the on-board battery backed-up RTC/NVRAM.
The MSX slot connector is directly supported in the cartridge mode only. If you would like building a desktop like MSX computer, it is necessary to add the bus cartridge extender. This hardware daughter-card will be published later. It is designed to house the MSX slot connectors, Yamaha YISxxx side slot connectors and rom cartridge bus and also will support 2 analog joystick/mouse interfaces.
Also this board can act as a building element of the stacked homogeneous computer system containing several Procyon boards to overcome the FPGA size and the memory bandwidth limitations. Many arcade machines in the end of 80-s had multiple cascaded bitplane processors working in parallel. This system can be expanded in a different ways by having the cards either pipelined (daisy chained) or organized in the parallel execution flow (separable tasks).
Touch interfaces are directly supported via the dedicated I2C mezzanine on-board extension.
Extensive ESD protection makes Procyon Arcade suitable for industrial or embedded robotics application. Wouldn’t it be great running your robot built around time proven MSX core?