Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Data Flow: Is this buggy?

Status
Not open for further replies.

Q__Hybrid

New Member
Is this buggy?...

Chips involved:
- AM29F040B-90PC Flash RAM (2)
- 74F676 S/P-in, S-out Shift Register (1)
- TLC5940 LED Driver (1)

The data flows like this:

- Both Flash RAMs are used to create a single 16-bit output
- Flash output is sent directly into P-in on Shift Register
- Shift Register's S-in always evaluates "0"
- S-out is sent directly into S-in on LED Driver

The basic premise is as follows:

- Flash word is latched into shift register and shifted into LED Driver
- Flash sets up next word while current word is being shifted
- New word is latched once previous word is fully shifted
- After 16 iterations, LED Driver is reset and loop begins again
- Flash scrolls through its entire capacity during playback until stopped.

Amount of data:

- 1 Frame's Height = 128 scanlines = 128 Flash words per frame
- Frames per second = 30 = 3840 Flash words per second
- Seconds of footage ~ 136 ~ 522240 Flash words
- Total memory = 522240 x 8 = 4177920 bits, nearly 4 Mb

Total system:

- 3 x arrangement described above (48-bit system with 128 scanlines)

The only problem I see is the vertical pass of the scanline not being fast enough to draw the whole image, necessitating multiple scanlines spaced evenly throughout the vertical dimension of the image.

The output of memory is "one-shot," the latching of the data in memory is "one-shot" (i think), so the frequency of the clock should be sufficient in the 30MHz-and-under range.

I've read the datasheets for all of the chips, but I don't understand how to calculate the value for f(UPDATE) in the datasheet for the LED Driver. Is this frames per second? Is this scanlines x frames per second? (??)
 
From what i read in the datasheet f(UPDATE) apears to be the frequency that
the led driver chips is updated.

i.e if the driver chip is to be update at 30 HZ (f(UPDATE) = 30 ) then,
f(gsclk) = 4096 * 30 or 122.88kHz. This number would be how fast the
PWM refrence clock needs to be.
and
f(SCLK) = 193*30*n where 195 is the number of clock cycles to load one
led driver with data and 30 is you refresh rate.

It would appear that you are trying to create a crude tv or something of the sort.

In video there are 2 numbers that you need to know.
1) Vertical frequency (i.e. frames per second)
2) Horizonal frequency ( speed at which each line is written to maintain the refresh rate)

Hope that helps some.

How are you planning on hooking up the display? The TLC5940 is only setup to drive 16 leds,
Are you going to multiplex them some how?
 
Yup, this is a display design.

I'm going to use 3-to-4 TLC5940's to drive each scanline all-at-once. So, the memory output will be parallel, but it will be loaded serially.

The Flash RAM I'm using sends its entire 16bit value without latency on Q0 thru Q15. I'm pretty sure the SR latches in the same fashion (P0 thru P15 all latch at the same time). If this proves true it will cut down on delays in memory recall.

I'm going to use a PIC16 setup of some kind to handle the loading and displaying modes. I have yet to design or mentally tackle the controller portion.

The objective is to keep the overall display design as low power as possible, so that it can remain portable. Ultimately, I want to integrate the design into clothing to arrive at a wearable, animated, grayscale display.

Ideally it would be a fully covered jumpsuit, but I'll settle for a fully covered jacket.

+Q__
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top