ECE 477 Digital Systems Senior Design Project Rev 8/09

Homework 3: Design Constraint Analysis and Component Selection Rationale

Team Code Name: Digi-Brush Group No. 2

Team Member Completing This Homework: Group 2 to its entirety

E-mail Addresses of Team Members:

cayewew@ purdue.edu, longja@ purdue.edu, kschrems@ purdue.edu

1.0 Introduction

Digi-Brush will be able to simulate the characteristics of painting digitally but instead of painting on paper will use a touch screen and a display monitor to display the paint strokes. The touch screen will track the user’s strokes across the screen made using the digital paintbrush and the appropriate stroke and color will be displayed underneath the touch screen on a LCD display. The experience will emulate the experience of painting with other visual characteristics but without the worry of creating a colored mess with paint. The user will also be able to save and load the digital paints from an external SD card. The following are our PSSC:

·  An ability to display images on the display board

  • An ability to track the digital brush on the display board
  • An ability to mimic paintbrush stroke characteristics on the display board
  • An ability to save the painted image on a SD card
  • An ability to distinguish user’s color selection and display selected color before being painted

Our initial design will consist of the following units:

Figure 1 Block Diagram

2.0  Design Constraint Analysis

The most important design constraint will be the actual interfacing of the monitor and touch screen to the microcontroller. This will include the sending of images to the monitor via VGA protocol based on user input from the touch panel and the user’s interaction with the brush. Also knowing where the touch screen was touched will need to be updated at a frequent, constant rate via ATD values or serial communication. Since it is very difficult to have a microcontroller natively use VGA another constraint will be getting a VGA controller that will work with a microcontroller. Being able to support all the additional peripherals connected to the microcontroller is another constraint. These peripherals are located in various places, namely inside the brush, the SD card, the VGA controller, and the color selectors. Between all the different peripherals SPI, I2C, ATD, and SCI will have to be supported, and in most cases multiples of each standard. Power dissipation is also another constraint since the product will be designed to be able to be used in the user's lap.

2.1  Computation Requirements

To determine where the user is touching on the touch panel the ATD values from the touch screen will need to be converted into a pixel location very quickly so the user will not experience latency. To mimic color blending and other paint characteristics will take computational power, especially if user is not to experience any latency. The microcontroller will also need to be able to convert the image on the screen into a lossless image format and store it onto the SD card. This requirement can be a little more relaxed in the timing aspect as long as it doesn't interfere with the user's interaction.

2.2  Interface Requirements

To be able to display the images on the monitor a VGA pin out will be used from the VGA controller to the monitor. For the microcontroller to be able to communicate with the controller regarding what to display a two pin serial connection will be used. The touch screen that the user will interact with will send 4 different voltage values to the microcontroller which will be read with ATD converters. A force resistor will be used in the paint brush to measure how hard the user holds it. This will also require an ATD converter to connect to the processor. The user will be able to select colors from "paint pots" in which the user dips the paint brush. In the bottom of each “pot” will be a piece of conductive foam with a small current running through it. The foam's resistive properties will change when the user interacts with it and this resistive change will be read using ten A/D converters, one for each color. Since the microcontroller only has 10 A/D converters an ATD converter will be used to communicate some of the A/D values to the microcontroller over SPI. An accelerometer will be used to detect gestures the user makes when using the paint brush and will relay the movements to the microcontroller via SPI. The color the user is using will always be displayed by an LED within the paint brush, and therefore an LED driver will be used to power the LED. The microcontroller will give the commands to the driver over I2C. The microcontroller must also be able to interface with an SD card to save pictures, and this will be achieved via SPI.

2.3  On-Chip Peripheral Requirements

The microcontroller for the Digi-Brush will need 3 SPI modules, 1 SCI module, at least five ATD converters, and an I2C module. One SPI module will interface with the accelerometer, another SPI will interface with the ATD converter, and the final SPI will interface with the SD card. The SCI module will be used to communicate with the VGA controller. The ATD converters will be used to read the touch panel voltages, and force resistor.

2.4  Off-Chip Peripheral Requirements

As mentioned previously, an eight channel ATD converter will be used to read the additional voltage changes that the on-chip peripherals do not have enough pins for. Also, a VGA controller will have to be used since most microcontrollers do not use VGA natively.

2.5  Power Constraints

The Freescale [1] microcontroller has an input voltage requirement of 4.5 - 5.25 V. The VGA controller, uVGA-PICASO [2] has an input voltage requirement of 3.0 3.6 V and operates at 90 mA. The Freescale Accelerometer [3] has an input voltage requirement of 2.2 - 3.6 V. The Texas Instrument LED Driver [4] has an input voltage requirement of 3.3 - 5 V and can supply a constant current range of 10 mA to 100 mA and has a maximum output voltage of 17 V. The additional ATD converters from Microchip [5] has an input voltage requirement of 2.7 - 5.5 V. The CyberTouch [6] 15.1" LCD touch screen has an input voltage requirement of 12 V. Almost all the parts are low amperage to ensure that not as much heat is generated

2.6  Packaging Constraints

Due to the fact that the user will be able to place this on their lap the whole package should not be very big or heavy. It should also be able to dissipate any excess heat easily as to not create any discomfort on the users lap.

2.7  Cost Constraints

Due to that fact that there are many portable devices out in the market today that can do some kind of graphic touch technology, our product has targeted competition and therefore should be as cheap as possible. Preferably the product would be cheaper then a netbook, which can easily cost $400.

3.0  Component Selection Rationale

There are many different touch displays out on the market. There are also many ways to create one’s own touch display also, the most common way being taking an LCD display and attaching a touch panel to it. Both were considered for the project. Creating a touch display would have required making sure the touch panel and LCD display where the exact same size and also making sure that mechanically the touch panel does not break when mounted onto the LCD display. To avoid any mishaps on sizing and integrity a prebuilt touch display was chosen. The uVGA-PICASO has an easy pinout and architecture to utilize to control a VGA display. Though it can only do 640x480 resolution and only display 255 different colors it is very easy to interface to a microcontroller due to the serial interface. The Parallax Propeller chip was also considered to be used as VGA controller. However, it has a very unusual 8 core processing unit and limited onboard memory. It also can support a 640x480 resolution and only display 255 different colors. The Parallax Propeller chips also has its own programming language that would need to learned to be able to use the chip to its fullest. Due to the extra complexities and odd architecture the Parallax Propeller chip uses the uVGA-PICASO was chosen instead. Originally a Freescale S12NE microcontroller was going to be used due to the fact that a development board was available for use. However, the Digi-Brush’s peripheral requirement are too great for the S12NE to meet as it only has two SCI, one SPI, and one I2C. The Freescale S12D has 3 SPI, 2 SCI, and 1 I2C, and is therefore more compatible with our needs. The Freescale line of microcontrollers was the only line of microcontrollers being considered due to the experience programming on Freescale architecture everyone has on the team.

4.0  Summary

The design’s main constraints are being able to know where a user has touched the screen and being able to display that touch and proper color on the LCD display. A major constraint also is the fact that microcontrollers do not natively support VGA protocol and thus a VGA controller needs to be present. A uVGA-PICASO will be used for the VGA controller. The microcontroller will send it data to display over a two wire serial interface. The microcontroller will get touch positions from the touch screen via a four different voltages that will be connected via ATD converters. All additional functionality of SD card saving, color selection, color indication, and grip and gesture recognition will be sent directly the microcontroller by SPI, I2C, or ATD converters. Most of the component selection was mainly guided by familiarity of parts and ease of integration with the microcontroller. Also taken into account was power dissipation in hopes to keep the device from becoming hot.

List of References

[1]  Freescale Semiconductor. MC9S12DP512 Device Guide. July 2005 [Online]. Available: http://www.freescale.com/files/microcontrollers/doc/data_sheet/9S12DP512DGV1.pdf [Accessed Feb. 2010]

[2]  4D Systems. uVGA PICASO MD1 Users Manual. 2007 [Online]. Available: http://www.4dsystems.com.au/downloads//micro-VGA/uVGA-PICASO-MD1/Docs/Pdf/uVGA-PICASO-MD1_Serial_Users_Manual_Rev1.2.pdf [Accessed Feb. 2010]

[3]  Freescale Semiconductor. MMA7260Q Data Sheet. June 2005 [Online]. Available: http://www.sparkfun.com/datasheets/Accelerometers/MMA7260Q-Rev1.pdf [Accessed Feb. 2010]

[4]  Texas Instrument. tlc59116 Data Sheet. July 2008 [Online]. Available: http://focus.ti.com/lit/ds/symlink/tlc59116.pdf [Accessed Feb. 2010]

[5]  Microchip. MCP3004/3008 Data Sheet. 2008 [Online]. Available: http://ww1.microchip.com/downloads/en/DeviceDoc/21295d.pdf [Accessed Feb. 2010]

[6]  CyberTouch. Neo Five LCD touch screen monitor website. 2010 [Online]. Available: http://www.cybertouch.com/Neo15.0.html [Accessed Feb. 2010]

-2-

ECE 477 Digital Systems Senior Design Project Fall2008

Appendix A: Parts List Spreadsheet

Appendix B: Updated Block Diagram

-9-