Forums - Open Redstone Engineers
Application - Printable Version

+- Forums - Open Redstone Engineers (https://forum.openredstone.org)
+-- Forum: Moderation (https://forum.openredstone.org/forum-94.html)
+--- Forum: Build Server Applications (https://forum.openredstone.org/forum-10.html)
+---- Forum: Aged Applications (https://forum.openredstone.org/forum-29.html)
+---- Thread: Application (/thread-5164.html)



Application - 0xfeeddead - 11-30-2014

Minecraft name:
0xfeeddead

What do you like the most about redstone?:

Oddly enough (for a computer programmer) I'm not particularly interested in building computers. I like Networks! ... Crossbars, routers and all manner of serial interconnect is my thing.

I love studying old electromechanical telephone exchanges for ideas. When your switching elements are macroscopic you have to be clever, and early exchange designers were *very* clever!

My long term plan is to design a complete redstone interconnect system - local exchanges, trunking system, tandem exchanges, PBXs and associated protocols.

What's a thing you have made which demonstrates redstone knowledge?:

A telephone exchange!

What does it do?:

Its an 8x8 nonblocking crossbar circuit switch. Each line consists of one redstone wire for TX and one for RX - its all serial, so no ugly parallel buses!

I use a row of repeaters (on the second delay setting) as a signal analyser. Viewed this way the pertinent signals look like this:

_______ on hook (line not in use, no redstone current)
****** off hook (line is active)
**_*** zero symbol in transit (short off pulse)
**__** one symbol in transit (long off pulse)

After connecting the caller sends three symbols to select a destination and the exhange routes the call (it takes a second or so, depending on how busy the exchange is.) Once connected you can send and recieve symbols from whatever redstone device is connected to the other end - including another exchange :)

Image and/or video, from imgur.com or youtube.com:

http://imgur.com/a/lVgPw

The large area at the top of the first image is the switching fabric - 8 TX/RX crossovers (at the intersections between a given line's row/column) and 56 active elements. The third image shows the inside of an individual switching element - the two lapis blocks are raised to make a connection.

At the bottom right of the first image you can see the eight test signal generators. I've gone so far as to test that the exchange can handle four phone calls arriving at exactly the same time (it does!)

The second image shows a view along the top of the call sequencers (there are eight identical call sequencers.) When a line goes high (off hook) the associated call sequencer latches the first three symbols to arrive, then waits for the row decoder to become available.

When the row decoder is ready a waiting line is selected and the requested number is transferred serially to a three bit register (bottom of first image). This drives an instant piston decoder which selects the appropriate row. (fourth image.)

Once the row is selected the line's call sequencer brings the column latch line high to make the connection and flag the row as busy, and then holds it until the caller hangs up.

Looking back this design is rather inefficient space-wise. I'm working on a better/faster/smaller design based around a 4 row by 8 column crossbar, as there can only be four calls active at any given time within an eight line exchange. I'd like to build it somewhere public, where I might even get some real traffic to route! ^_^

Do you agree with the rules?:

Absolutely.


RE: Application - greatgamer34 - 12-01-2014

Im in love with the effort in this app. The way you send a signal is pretty cool. TBH on trial, you can build something like this. This is in my mind, harder to build than an RCA ALU. Accepted. Log on to the build server, refer an admin to this thread, then start your trial!