Shop OBEX P1 Docs P2 Docs Learn Events
Ramdom qusetion about my wifes table — Parallax Forums

Ramdom qusetion about my wifes table

TCTC Posts: 1,019
edited 2014-01-24 10:52 in General Discussion
Hello all,

As most of you know, I am building a 16x32 RGB coffee table for my wife.If not here is the thread.

Last night I came up with a thought. Could the matrix be refreshed from logic gates? instead of the prop constantly refreshing the matrix.

Just wondering (I don't think I will make it happen), could this work?

I am going to use Texas Instruments TLC5940 for the columns. A 192-bit (per chip) is shifted in, then latched.

I was thinking, why not use some kind of parallel RAM, load it in to a parallel to serial converter, shift it out, do it again for the rest of the chips. and controlling this all is a simple counter. The counter is controlling the RAM keeping track of when to latch the rows, etc...

And there would be 2 arrays in RAM, one for what the matrix is using, and one for the prop to load. once the prop has finished loading the RAM, it would take something LOW (or HIGH) so the matrix would now use that RAM location on the next start of refreshing the matrix.

I might build this, just for fun maybe a 8x16 matrix.

Again, this is just an idea. What do you guys think?

Thanks
TC

Comments

  • Dr_AculaDr_Acula Posts: 5,484
    edited 2014-01-24 04:46
    Good thought. My reply would be that if the total memory size of the 16x32x3 leds did not fit easily in the propeller memory, use an external ram. But given that it does fit in the propeller memory, the prop can handle dumping out data (and doing other things at the same time, such is the nifty nature of having 8 cogs). So I'd save on the ram chips.
  • TCTC Posts: 1,019
    edited 2014-01-24 05:10
    Very true. I am really thinking of doing it just for fun and on a matrix size of 8x16. But that will be at a much later date. Never know, I might be able to use the BS2 just to load the external RAM. It would be a great learning experience for me.
  • GadgetmanGadgetman Posts: 2,436
    edited 2014-01-24 05:10
    You could use something like this chip:

    http://www.idt.com/products/memory-logic/multi-port-memories/asynchronous-dual-port-rams/5962-88610-2k-x-16-dual-port-ram

    2K 16bit wide...

    Anyway, I would suggest using parallell/Wide output, not Serial, and just Connect the outputs to a buffer capable of handling the currents needed.
    Then use a some sort of decoders (Maybe a couple of 74hc138) to Select rows on the LEDs, while at the same time connecting the 'non-decoded' address lines to the lower address inputs on the RAM.
  • Heater.Heater. Posts: 21,230
    edited 2014-01-24 05:33
    Of course you can do that.

    What you describe is pretty much how video displays were build back in the day, think those old green screen text terminals.

    Actually I'm kind of seeing your wife's coffee table as a CPU. It has sixteen 32 bit registers....in 3 banks...it displays it's execution state as it runs...
  • TCTC Posts: 1,019
    edited 2014-01-24 05:33
    Gadgetman wrote: »
    You could use something like this chip:

    http://www.idt.com/products/memory-logic/multi-port-memories/asynchronous-dual-port-rams/5962-88610-2k-x-16-dual-port-ram

    2K 16bit wide...

    Anyway, I would suggest using parallell/Wide output, not Serial, and just Connect the outputs to a buffer capable of handling the currents needed.
    Then use a some sort of decoders (Maybe a couple of 74hc138) to Select rows on the LEDs, while at the same time connecting the 'non-decoded' address lines to the lower address inputs on the RAM.

    That RAM would be perfect.

    Please excuse my lack of knowledge of logic gates, but could it be possible to do a PWM for each output? Maybe offer 8-bits per color, per pixel?
  • TCTC Posts: 1,019
    edited 2014-01-24 05:36
    Heater. wrote: »
    Of course you can do that.

    What you describe is pretty much how video displays were build back in the day, think those old green screen text terminals.

    Actually I'm kind of seeing your wife's coffee table as a CPU. It has sixteen 32 bit registers....in 3 banks...it displays it's execution state as it runs...

    I was thinking that is how it could of been done before microprocessors.

    CPU??? are you refereeing to a microprocessor (the Prop)?
  • GadgetmanGadgetman Posts: 2,436
    edited 2014-01-24 05:42
    Heater. wrote: »
    Of course you can do that.

    What you describe is pretty much how video displays were build back in the day, think those old green screen text terminals.

    Actually I'm kind of seeing your wife's coffee table as a CPU. It has sixteen 32 bit registers....in 3 banks...it displays it's execution state as it runs...

    You know that someone may actually build one if you write stuff like that...
  • Heater.Heater. Posts: 21,230
    edited 2014-01-24 06:16
    TC.
    CPU??? are you refereeing to a microprocessor (the Prop)?
    No, that would be cheating :)

    Continuing on your theme of using logic to drive the LED display I was meaning you build a CPU out of TTL. Use of discreet transistors or relays earns you extra street cred.

    Now the registers, of your CPU (accumulator, program counter, stack pointer, whatever you have) are wired to your coffee table LEDS so that you can see the processors state as it executes.

    There we have it, a coffee table that computes!
  • TCTC Posts: 1,019
    edited 2014-01-24 06:21
    Heater. wrote: »
    TC.

    No, that would be cheating :)

    Continuing on your theme of using logic to drive the LED display I was meaning you build a CPU out of TTL. Use of discreet transistors or relays earns you extra street cred.

    Now the registers, of your CPU (accumulator, program counter, stack pointer, whatever you have) are wired to your coffee table LEDS so that you can see the processors state as it executes.

    There we have it, a coffee table that computes!

    OK, the "awesome" factor just went up.
  • ErlendErlend Posts: 612
    edited 2014-01-24 06:36
    Heater. wrote: »
    TC.

    ...There we have it, a coffee table that computes!

    I see WTPL coming. It will be a huge hit! (that's Wife Table Programming Language).
    Next is WMD (Wife Machine Interface), which could be a row of 16 on/off switches along the table edge (hmm- reminds me of something...), which would enable programming the table computation.
    Before long everyone wants to be tablecoding.

    Erlend
  • Heater.Heater. Posts: 21,230
    edited 2014-01-24 07:10
    I suggest a very simple processor design. Make a SIC machine. "Single Instruction Computer".
    For example it is possible to write any program give nothing but a "subtract and jump if less" than instruction. "subleq".

    So the subleq instruction has three operands or fields;

    A, B, C

    Which means "subtract contents of address A from content of address B and put the result in address B. Then jump to address C if the result was negative"

    That amount of logic should not be so hard to build in TTL.

    There are other instructions that could be used for a SIC but the advantage of a "subleq" machine is that there is a high level language, looks like C, compiler available for it by Oleg Mazonka.

    References:
    http://en.wikipedia.org/wiki/One_instruction_set_computer#Transport_triggered_architecture
    http://mazonka.com/subleq/hsq.html

  • Heater.Heater. Posts: 21,230
    edited 2014-01-24 07:16
    Oh, and here are instructions on building a hardware subleq. All be it in an FPGA and with multiple processors.

    http://mazonka.com/st/lcss.pdf
  • mindrobotsmindrobots Posts: 6,506
    edited 2014-01-24 08:41
    Erlend wrote: »
    I
    Next is WMD ....
    ...I think if the plan continues down this road, WMD will be Wife of Massive Disappointment. Not something I want installed in my home!! :lol:

    User present requirements...engineer changes requirements....user receives final product which does not meet requirements....user cancel certain terms of contract...engineer sleeps on couch.
  • Heater.Heater. Posts: 21,230
    edited 2014-01-24 09:22
    What? You mean the wife might not appreciate a SIC coffee table?
  • mindrobotsmindrobots Posts: 6,506
    edited 2014-01-24 09:24
    Heater. wrote: »
    What? You mean the wife might not appreciate a SIC coffee table?

    I'm just guessing based on theoretical scenarios.....I've personally never been in this situation...over a SIC coffee table, at least. :innocent:
  • TCTC Posts: 1,019
    edited 2014-01-24 09:43
    Heater. wrote: »
    Oh, and here are instructions on building a hardware subleq. All be it in an FPGA and with multiple processors.

    http://mazonka.com/st/lcss.pdf

    That looks very interesting. That requires a more in depth read than I can do at work.
  • Heater.Heater. Posts: 21,230
    edited 2014-01-24 09:56
    Don't forget. After work you are building a coffee table. The SIC computer can wait for another day.

    However I feel strange urge to start writing a SIC emulator for the Propeller....must resist...
  • TCTC Posts: 1,019
    edited 2014-01-24 10:04
    Heater. wrote: »
    Don't forget. After work you are building a coffee table. The SIC computer can wait for another day.

    Very true. But the idea will always be there.
  • mindrobotsmindrobots Posts: 6,506
    edited 2014-01-24 10:30
    Heater. wrote: »
    However I feel strange urge to start writing a SIC emulator for the Propeller....must resist...

    If you start writing it in Forth, you'll stop working on it soon after you start and then have a lot more free time for other projects! :lol:
  • Heater.Heater. Posts: 21,230
    edited 2014-01-24 10:52
    Are you implying that I will stop work sooner with Forth because it will finished quicker or because I will have given up after the first Forth induced migraine ?

    If I start work in Forth it will not just the emulation that is SIC :)
Sign In or Register to comment.