San Francisco State University
This project explores the differences between hardware and software-oriented technologies by implementing the classic video game PONG on an FPGA and RaspberryPi. The
The goal of our project was to better understand how embedded systems are built. Our goal is to create similar systems on two platforms and have them communicate with each other. We used the classic PONG game and created two simple embedded systems, and enabled communication using TTL Serial.
This project aims to explore both hardware and software-oriented embedded systems by implementing a version of the classic video game, PONG. The hardware-oriented embedded system will be the Altera DE2-115 Media Computer, a Field Programmable Gate Array (FPGA), and a Raspberry Pi, an embedded-Linux development board.
Communication between these systems will be explored by creating a 'versus' mode (player against player instead of the player against the computer) as well as between these systems and peripheral devices via the Wii Remote (Wiimote) which interfaces via Bluetooth technology. While it is the focal point of this project, the aim is not about implementing the game PONG on these devices but rather exploring the device and seeing how it can be utilized.
The uniqueness of this project is that it's between an embedded Linux (software-oriented) embedded and an FPGA (hardware-oriented embedded system). One of the main requirements of the class is to take a "modern" embedded system and "master" it. While this is vaguely defined, the best interpretation can be resolved as to take a modern embedded system and show at least some understanding of that system as well as how that system communicates with things outside it.
The motivation behind this project is to develop a customized embedded system on an FPGA board with the ability to interact with another embedded system different from its own. Communication with a software-based embedded system, the RPi, gives insight into the complexities involved in developing intermixed hardware and software-based systems that integrate well with each other. It is believed that this project will lead to a deeper understanding of how embedded systems operate.
This project will give an insight into how an array of identical logic blocks with programmable interconnects, the building blocks of FPGA, can be configured both as hardware and software modules, for building rapid prototypes of our embedded systems.
The Altera® DE2-115 Development and Education board was designed by professors, for professors. It is an ideal vehicle for learning about digital logic, computer organization, and FPGAs. Featuring an Altera Cyclone® IV 4CE115 FPGA, the DE2-115 board is designed for university and college laboratory use. It is suitable for a wide range of exercises in courses on digital logic and computer organization, from simple tasks that illustrate fundamental concepts to advanced designs.
The hardware contains a 50MHz clock, 128 MB SDRAM, a VGA output and an RS-232 port. See the product on the Altera website (http://www.altera.com/education/univ/materials/boards/de2-115/unv-de2-115-board.html) for further information regarding hardware and specifications.
The Raspberry Pi is a credit-card sized computer that plugs into your TV and a keyboard. It’s a capable little PC which can be used for many of the things that your desktop PC does, like spreadsheets, word-processing and games. It also plays high-definition video. [The developers] want to see it being used by kids all over the world to learn programming.
The hardware contains a 700MHz ARM core with a fixed 512 MB ram (Model B). The GPU is able to provide Open GL ES 2.0 and 1080p30 HDMI output and is capable of producing 1Gpixel/s. It contains an HDMI out as well as multiple USB ports. See the Raspberry Pi website for further information regarding the product and hardware specficiations.
The primary gaming controller for Nintendo's Wii home video game console is the Wii Remote, also referred to as the Wiimote. The Wii Remote's motion sensing feature is a key feature. It enables the user to interact with and manipulate elements on screen through motion sensing, gesture recognition, and pointing, using accelerometer and optical sensor technologies, just like on the console. The Wii console's included accessory, the Nunchuk, enhances the Wii Remote by offering features akin to those found in gamepad controllers. Other add-ons include the Wii Zapper, Classic Controller, and Wii Wheel, which was designed for the Mario Kart Wii racing game. The Wii Remote interfaces with devices via Bluetooth.
In this project, we were able to:
Design & Implementation of the PONG game host and player logic on the RaspberryPi.
Design & implement the PONG game player logic on the Altera DE2-115 FPGA,
Design & implement the Wiimote logic on RaspberryPi, and
Interface the Wiimote with the Pong game on RaspberryPi,
Interconnected DE2-115 with the RaspberryPi.
Two players successfully played a game of PONG.
For the RaspberryPi, the PONG game host logic was implemented in Python. The host takes the paddle location from Player 1 and Player 2 as an input, and determines the position of the puck. The host then outputs the location of the puck to the game player logic for Player 1 and Player 2.
The RaspberryPi also handles the Wiimote interface for both Player 1 and Player 2. Developing a USB stack on the FPGA was proving difficult in the limited amount of time and the decision was made to implement both players on the RaspberryPi. The Wiimote logic takes data from Player 1's Wiimote and passes it to the game player logic for Player 1 on the RaspberryPi and data from Player 2's Wiimote and passes it to the game player logic on the FPGA.
The game logic on both the Raspberry Pi and FPGA takes the data from the Wiimote, updates the paddle location, and transmits that data to the game host logic. The game logic was developed in Python, and the standard video driver was used to display the game for Player 1 on a monitor over HDMI.
She is a senior MS Embedded Electrical and Computer Systems student . She hopes to become a competent IC designer. She believes in hard work.
Is an undergraduate student who has aspirations of making his career in a profession related to electricity. His focus is currently in both Power and Embedded Systems.
Is pursing graduate studies in Electrical Engineering. Her career aspiration is to become a successful engineer in a global company.