7
CYPRESS SEMICONDUCTOR CORPORATION Internal Correspondence Date: 20/12/2008 WW: 0852 To: Kumar Golla (UKG) Author: Adithya Reddy G (UKGTMP7) Author File#: 2 Subject: PSoC Application based on Persistence of vision CC: SONI, LKH, GMYR,AOG EXECUTIVE SUMMARY: This memo introduces the PSoC application that features display with limited number of LED, based on persistence of vision. OVERVIEW: Rotation of single LED with high speed in circular motion gives the appearance of complete circle due to the persistence of vision. This idea can be extended to rotate a line of 5 LEDs perpendicular to its length and thus create a display of letters or numbers. These LEDs should be made to blink with specific timing depending upon the display needed. A line of LEDs can be mounted on a table fan for rotation. If we could number the 5 LEDs as LED[4:0].

Persistence of Vision Application

Embed Size (px)

Citation preview

Page 1: Persistence of Vision Application

CYPRESS SEMICONDUCTOR CORPORATIONInternal Correspondence

Date: 20/12/2008 WW: 0852To: Kumar Golla (UKG)

Author: Adithya Reddy G (UKGTMP7) Author File#: 2

Subject: PSoC Application based on Persistence of vision

CC: SONI, LKH, GMYR,AOG

EXECUTIVE SUMMARY:

This memo introduces the PSoC application that features display with limited number of

LED, based on persistence of vision.

OVERVIEW:

Rotation of single LED with high speed in circular motion gives the appearance of complete

circle due to the persistence of vision. This idea can be extended to rotate a line of 5 LEDs

perpendicular to its length and thus create a display of letters or numbers. These LEDs

should be made to blink with specific timing depending upon the display needed. A line of

LEDs can be mounted on a table fan for rotation.

If we could number the 5 LEDs as LED[4:0].

Then for forming CY:

4 * * * * * *

3 * * *

2 * *

1 * *

0 * * * * *

Page 2: Persistence of Vision Application

Assume we have 10 such lines (each having 5 LEDs), for displaying CY we need

For Line 1: LED [5:0] = x1F

Line 2: LED [5:0] = x11

Line 3: LED [5:0] = x11

Line 4: LED [5:0] = x11

Line 5: LED [5:0] = x00

Line 6: LED [5:0] = x10

Line 7: LED [5:0] = x08

Line 8: LED [5:0] = x07

Line 9: LED [5:0] = x08

Line 10: LED [5:0] = x10

But our objective being doing the same with limited number of LED, we put one line (5

LEDs) on a rotating object (fan here), and rotate it, at particular speed of blinking with

respect to the speed of fan we get a stable display of CY.

NEED OF PSoC:

This application needs a controller to output the 10 patterns on the single line of LED faster

than that our eye can perceive it distinctly. Also as the relative speed (at which patterns

must be blinked) is important to perceive a stable display, there needs to be a control on the

rate at which you change the pattern on LED line. This would come to use as the fan speed

may vary in different fans. We obviously need programmability to change the content of

display.

PSoC’s Digital and Analog blocks along with the firmware allow us to do all the above

functions. Counter on digital block helps changing the LED’s output at intervals of time as

needed. ADC block helps us change the LED output rate with high sensitivity.

Page 3: Persistence of Vision Application

SETUP:

Parts required: CY8C29466-24PXI, 5 LED’s and resistive slider.

Description:

Application is tested on a Mini Eval board as of now. Port 2 [4:0] is used to control

LED[4:0]. Drive modes of corresponding pins as you can see should be set as “strong-1:

strong-0”. One of Digital block in row 1 is configured as counter. One of analog columns

can be configured as ADC. Sysclk divider set to 256 is a source to VC2, which divided by

half is taken as VC3 is the input clock for the counter.

Figure 1 PSoC designer Environment

Page 4: Persistence of Vision Application

Firmware is written to output desired values at regular times using the counter count. Code

is written in C compiled and run with PSoC MiniProg. A switch to put off the LED lighting

temporarily is also coded with denouncing routine in firmware.

Figure 2 Firmware code written in C

Figure 3 CY Displayed using single line of LEDs

Page 5: Persistence of Vision Application

IMPROVEMENTS:

The above effort is only to test validity of such application and possibility of using PSoC for

it. While building a concrete application care would be taken to:

a. Improve firmware code efficiency

b. Include a feature to re-program the device such that we can change the “Display

content” with ease.

c. Put it on light weight board facilitating it to rotate.