ECE 477 Digital Systems Senior Design Project Rev 8/12 Homework 3: Design Constraint Analysis and Component Selection Rationale Team Code Name: TableGames Unlimited Group No. 8 Team Member Completing This Homework: Justin Pancake E-mail Address of Team Member: jpancake@purdue.edu NOTE: This is the first in a series of four “professional component” homework assignments, each of which is to be completed by one team member. The body of the report should be 3-5 pages, not including this cover page, references, attachments or appendices. Evaluation: SEC DESCRIPTION 1.0 Introduction (including updated PSSC) 2.0 Design Constraint Analysis MAX 10 - 2.1 Computational Requirements 10 2.2 Interface Requirements 5 2.3 On-Chip Peripheral Requirements 10 2.4 Off-Chip Peripheral Requirements 5 2.5 Power Constraints 5 2.6 Packaging Constraints 5 2.7 Cost Constraints 5 3.0 Component Selection Rationale 20 4.0 Summary 5 5.0 List of References 10 App A Parts List Spreadsheet 5 App B Updated Block Diagram 5 TOTAL Comments: Comments from the grader will be inserted here. 100 SCORE ECE 477 Digital Systems Senior Design Project Rev 8/12 1.0 Introduction The proposed project is a virtual interactive tabletop game surface that will recognize user input in the form of multi-touch gestures as well as identifying and tracking unique game pieces. The intended application of this project is to provide a platform for one or many users to play games in an immersive touchscreen oriented environment. Some of the main design constraints of this project are responding to user input with as little latency as possible, the cost of the overall product, and the size of the final package. Updated PSSCs: 1. An ability to control fan speed as a function of operating temperature. (MC) 2. An ability to recognize touchscreen inputs via infrared image processing. (MOBO) 3. An ability to recognize and track unique game piece position and orientation via fiducial pattern tracking. (MOBO) 4. An ability to control projector settings such as brightness, contrast, and focus via IR communication. (MC) 5. An ability to generate sound effects coordinated with the game being played. (MC) 2.0 Design Constraint Analysis As mentioned in the introduction, the major design constraints of this project are as follows: Cost: The project should be made as low cost as possible to make it both accessible and a competitive choice against other gaming platforms available to the consumer. Packaging Size: The project needs to be both large enough to emulate the physical board games it is intended to replace, as well as portable enough to be convenient to the user. Computation Speed: The project needs to analyze and recognize user input and respond appropriately in real time, with as little latency as possible. Heat Dissipation: All project components will be housed in an enclosed compartment beneath the tabletop surface. With many computation components as well as the projector running, a significant amount of heat will be generated, requiring an active fan cooling system to manage the heat. -1- ECE 477 Digital Systems Senior Design Project Rev 8/12 2.1 Computation Requirements The major computational requirement of this project is to identify and respond to user input as quickly as possible. All activity on the tabletop surface will be captured via an infrared camera and processed via the open source visual processing framework reactTIVision. This part of the computation will be performed on a motherboard with a desktop processor, as existing microcontrollers and processor families such as the Intel Atom are insufficiently powerful for this task. In addition to running the reactTIVision software, the motherboard will also be running a minimal Ubuntu Linux distribution, as well as handling the graphics and game logic for all games played. The requirements for each of these computational loads are summarized as follows: reactTIVision[5]: Ubuntu Linux[6]: -2 GHz Intel Processor. -700 MHz Processor -2 GiB RAM -512 MiB RAM -2 GiB HDD -5 GiB HDD The computation requirements for the game logic and graphics are not listed because they are trivial when compared to the requirements set forth by reacTIVision and the Ubuntu operating system. That being said, any motherboard and processor chosen that can support reactTIVision will be able to easily handle any games we implement as well as Ubuntu. The microcontroller in this project will also be in charge of a decent amount of computation. The controller will be handling all sound associated with the games being played as well as managing all project peripherals, which include fans, speakers, and IR transmitters and receivers. In comparison to playing music, all other tasks delegated to the microcontroller are trivially easy, and in most cases, are simply on/off toggling. The microcontroller will also need to possess a large amount of flash memory in order to store sound files, or be able to connect to an external storage device, such as an SD card, to play the sound files. As for the clock speed of the controller, it has been determined that a clock speed of 32MHz will be more than sufficient to playback sound files as well as all other interfacing and peripheral management that needs to be done. -2- ECE 477 Digital Systems Senior Design Project Rev 8/12 2.2 Interface Requirements The microcontroller will need to interface with various off chip devices via GPI/O pins. The controller will be controlling an IR transmitter and toggling power for IR lamps via its GPI/O pins. The IR transmitter will require a single GPI/O pin and is controlled like any other LED, with a 5V output signal and a current limiting resistor. The IR lamps will be powered by an external power supply, but will be toggled off and on by the controller. This will also take a single GPI/O pin and the IR lamps will be optically isolated from the controller outputs. In summary, a tentative minimum of two GPI/O pins will be required on the controller. 2.3 On-Chip Peripheral Requirements The interface requirements of the motherboard are relatively simple. The motherboard needs to be able to communicate with the IR camera via USB, drive the projector via VGA output, and coordinate with the microcontroller via a serial interface. Meeting these requirements on the motherboard will be trivial, as VGA, USB, and serial I/O are standard features on the vast majority of modern motherboards. The on chip peripheral requirements of the microcontroller are more numerous. The controller needs to interface and communicate with a number of off chip devices. An RS-232 UART interface is required to coordinate with the motherboard; ATD channels are required to read input from temperature sensors; PWM channels to drive speakers and control fan speed; an SPI channel with which to interface with an external SD card. In summary, the minimum peripheral requirements are summarized below for each the controller and the motherboard. Motherboard: Microcontroller: -1x VGA Output -1x 10-bit ATD Channel -2x USB -4x 8-bit PWM Channels -1x Serial Port (RS-232) -1x UART (RS-232) Channel -1x SPI Channel 2.4 Off-Chip Peripheral Requirements The only off chip requirements as of now are in the projector and the IR camera. The projector must be able to accept VGA input as a source of video, and the camera must be able to output its video feed via USB. -1- ECE 477 Digital Systems Senior Design Project Rev 8/12 2.5 Power Constraints This project will be running a projector and a motherboard with a desktop class processor at all times while the device is powered on, which will consume a significant amount of power. Since this project is not battery powered or meant to be mobile while in use, minimizing power draw is not the main focus. The table will be powered by a single AC power input, which will then be used to drive the motherboard power supply, projector, PCB, IR Lamps, and cooling fans. While power consumption is not a major concern for the constraints of this project, the heat dissipation is. All components, including the projector, will be running in an enclosed compartment beneath the tabletop. This will cause the compartment to heat up very quickly and can cause improper functioning, ie, most projectors will automatically shut off if a certain temperature threshold is reached. To combat this, a series of fans will be installed in the sides of the enclosure to pull and push air out of the box and maintain a suitable temperature level. 2.6 Packaging Constraints The main packaging constraints associated with this project are the height of the tabletop surface, which will dictate the required throw distance of the projector and the focal length of the camera lens. The surface needs to be large enough to emulate traditional board games as well as be high enough for users to comfortably sit or stand while using the tabletop surface. 2.7 Cost Constraints This project aims to compete with existing commercial tabletop touch surfaces such as the Microsoft Table and the Reactable, which are linked in the references section. Both the Microsoft Table and Reactable are products that use comparable technology and have similar targeted applications. Both are tabletop surfaces and interact with users via touch interfaces. The Reactable has an MSRP $8100[3] and the Microsoft Table has an MSRP $8400[4]. Our project aims to compete with these products by providing a comparable experience at a fraction of the price. Since our project requires components that scale rapidly in price with quality, such as projectors, the estimated cost constraint target of this product is $750. This price would include all components and the assembly of the final product. -1- ECE 477 Digital Systems Senior Design Project Rev 8/12 3.0 Component Selection Rationale Projector/Camera: The major components that will be compared are the motherboard/cpu and the microcontroller. The projector and camera are also integral pieces of the project, however, aside from cost, they have no special criteria that warrants detailed comparisons. The camera needs only to be able to see in the IR spectrum, ie, virtually any IR camera with a USB interface is suitable with this project. The same reasoning applies to the projector choice; it needs only to be a Short Throw projector, as there will be a short distance between the projection surface and the projector itself. CPU/Motherboard: When considering the requirements for the reacTIVision framework and the other tasks the motherboard would be performing, it was determined that an embedded Atom board solution would not be able to comfortably handle the projected load. As such, it was decided that an entry level desktop processor would be used in conjunction with a micro-ATX form factor motherboard. Initial testing of the ReacTIVision software with an older laptop showed a CPU utilization of roughly 25% for the ReacTIVision processes. Allowing for other processing to happen on the motherboard, a 25% CPU utilization is used as a target for this design. With this test as a benchmark, it was determined that virtually any current generation entry level processor would be sufficient for this project, leaving only cost as a constraining factor. The motherboard needs only to be micro-ATX form factor, as size is a concern, and the other requirements, such as VGA output and USB ports, are standard features on all modern motherboards, and a detailed comparison between boards is not needed. Microcontroller: Using the on chip peripheral requirements listed above in section 2.3, two microcontrollers were compared for this project, as shown below: Model CPU I/O UART ADC PWM Flash Package Price ATxmega128A4U[1] 8/16 bit 32 MHz 34 7 12@ 12b 16@ 16b 128kB 44 Pin TFQP $4.40 PIC24F16KM202[2] 16-bit 32 MHz 24 2 19@ 12b 5@ 16b 16kB 28 Pin SPDIP $3.05 -2- ECE 477 Digital Systems Senior Design Project Rev 8/12 As the chart shows, both microcontrollers meet the minimum peripheral and computational requirements. For this project, the Atmel Mega chip was chosen because it offers more room for possible expansion as well larger amounts of flash memory and internal registers for ease of development and program efficiency. Though the Atmel chip is larger and costs more per unit, the benefits it offers over the PIC chip are significant enough to justify its choice. 4.0 Summary In summation, the proposed project is constrained mostly by cost and in some cases, the limitations of the packaging design. The intended functionality of the design relies on being able to process and react to user input with as little latency as possible, and it was deemed the Atom family of embedded processors lacked sufficient computational power to achieve this. The class of processor and motherboard chosen for this project easily meet and exceed all computational requirements set forth by the reacTIVision framework and Ubuntu Linux operating system, and are therefore only constrained by cost and the micro-ATX form factor. The microcontroller chosen meets all peripheral requirements, while leaving room for expansion, and fits with the common low cost constraint being applied to all component choices. The final constraints considered in this report are the packaging, power and heat considerations. Since all project components must fit into an enclosure beneath the table top surface, minimizing physical footprint is a primary goal. Since many components are running in a small enclosed space, heat is a very real concern and an active fan cooling system will be required to keep temperature levels at an acceptable level. As this device is not mobile or intended to run off of batteries, power is not a constraining factor. -3- ECE 477 Digital Systems Senior Design Project Rev 8/12 5.0 List of References [1] “ATXMEGA128A4U-AU Atmel.” Internet: http://www.digikey.com/productdetail/en/ATXMEGA128A4U-AU/ATXMEGA128A4U-AU-ND/3441468, [Sep. 13, 2013]. [2] “PIC24F16KM202 SO Microchip Technologies.” Internet: http://www.digikey.com/productdetail/en/PIC24F16KM202-I%2FSO/PIC24F16KM202-I%2FSO-ND/3872769, [Sep. 13, 2013]. [3] “Reactable.” Internet: http://www.reactable.com/products/live/order/, [Sep. 13, 2013]. [4] “Samsung LFD Monitors.” Internet: http://www.samsunglfd.com/solution/app.do?modelCd=Surface, [Sep. 13, 2013]. [5] “System Requirements.” Internet: http://wiki.nuigroup.com/Getting_Started_with_tbeta#System_Requirements, [Sep. 13, 2013]. [6] “Installation/System Requirements.” Internet: https://help.ubuntu.com/community/Installation/SystemRequirements, [Sep. 13, 2013]. -4- ECE 477 Digital Systems Senior Design Project 8/12 Appendix A: Parts List Spreadsheet Vendor Digi-Key Newegg Newegg Newegg Environmental Lights Environmental Lights Newegg Newegg Digi-Key Mouser Staples Manufacturer Atmel Athena Power AMD/BIOSTAR G.SKILL Environmental Lights Environmental Lights SanDisk Cooler Master Analog Devices LITEON Optoma Part No. AP-MP4ATX30 A4-3300/A75MG F3-10600CL9D-4GBNS IR850 Description 16-bit microcontroller Micro-ATX power supply CPU/Micro-ATX motherboard Combo DDR3 SDRAM for motherboard USB IR Web Camera IR12-850-quad 850nm IR lighting kit 128.50 1 $128.50 SDCZ80-016G-A75 R4-L2S-122B-GP TMP36GT9Z LTE-302-M DS325 16GB USB 3.0 Flash Drive 2x 120mm Case Fan Temperature Sensor IC IR Emitter Multimedia SVGA Projector 29.99 10.99 1.42 0.22 299.99 1 1 1 1 1 $29.99 $10.99 $1.42 $0.22 $299.99 ATxmega128A4U Unit Cost Qty 4.40 1 39.99 1 69.98 1 36.96 1 85.00 1 TOTAL -5- Total Cost $4.40 $39.99 $69.98 $36.96 $85.00 $707.44 ECE 477 Digital Systems Senior Design Project Appendix B: Updated Block Diagram -6- 8/12