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:
ECE 477 Digital Systems Senior Design Project Rev 8/09
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
-2-
ECE 477 Digital Systems Senior Design Project Rev 8/09
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
-3-
ECE 477 Digital Systems Senior Design Project Rev 8/09
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.
-4-
ECE 477 Digital Systems Senior Design Project Rev 8/09
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
-5-
ECE 477 Digital Systems Senior Design Project Rev 8/09
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.
-6-
ECE 477 Digital Systems Senior Design Project Rev 8/09
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]
-7-
ECE 477 Digital Systems Senior Design Project Fall2008
Appendix A: Parts List Spreadsheet
Vendor Manufacturer Part No. Description Unit Cost Qty Total Cost
Arrow Electronics Freescale MC9S12CP512MPVE 16-bit microctonroller $23.78 1 $23.78
4D Systems 4D Systems uVGA0PCASO-MD1 VGA Graphics Controller $55.00 1 $55.00
Sparkfun Freescale MMA7260Q Triple Axis Accelerometer Breakout $19.95 1 $19.95
Texas Instrument Texas Instrument TLC59116 24-Channel LED Driver Sample 1 $0.00
Microchip Microchip MCP3008 8-Channel 10-Bit A/D Converters $2.19 1 $2.19
DIRECT
CyberTouch CyberTouch 8512-AC-0A 15.1" open-frame LCD touch screen $300 1 $300
Sparkfun NA SEN-09375 Force Sensitive Resistor $6.95 1 $6.95
Sparkfun NA PRT-00136 SD Card Socket $3.95 1 $3.95
TOTAL $???.??
-8-
ECE 477 Digital Systems Senior Design Project Fall2008
Appendix B: Updated Block Diagram
-9-