Searching \ for 'Project question: rerouting TTL signals' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/index.htm?key=rerouting+ttl+signals
Search entire site for: 'Project question: rerouting TTL signals'.

Truncated match.
PICList Thread
'Project question: rerouting TTL signals'
1998\06\11@231916 by maker (Comforce/RhoTech)

picon face
I have a project that I have been working on for the better part of forever
trying to find the "Elegant" solution.

Basic problem is rerouting a set of TTL signals into a different
configuration.

Example

Source          Dest
A               B
B               A
C               F
D               E
E               D
F               C


With there being 8 different routings possible.  And 32 (possibly only 16)
lines being routed at a time.

What I am wondering is if a PIC would be a good candidate for this task.

At startup of the pic (or on reset) it would have to find out which of the 8
routing maps it was currently using (from a 3 bit mode select which is then
no longer used) and load the relevant routing code.

Then I envisioned a buffered input latch on the source side that would be
polled by the pic as a word or dword then tri-stated.  The values of each
line would then be bitwise transferred into the appropriate dest value
(d)word bit.  Once all lines are routed the resulting value would then be
latched into an output buffer for being read by the dest side of the system.

Then it would loop back to the read of the source latch etc.

Timing on the source side is not hyper critical and if I don't care about
edges of events on that side.  I think I will be clocked on the dest side
but I am not sure yet.

Ideas / comments welcome.

David

1998\06\11@234417 by James Cameron

picon face
I'd use 4066's in a bus configuration ... each of the input and output
lines can be connected to one line in a bus.  Looks nasty.  At four
gates in a 4066 that's a lot of chips.


Inputs                  Bus Lines

A ---[X]---[ ]---[ ]---[ ]---[ ]---[ ]---[ ]---[ ]
     |     |     |     |     |     |     |     |
B ---[ ]---[X]---[ ]---[ ]---[ ]---[ ]---[ ]---[ ]
     |     |     |     |     |     |     |     |
C ---[ ]---[ ]---[X]---[ ]---[ ]---[ ]---[ ]---[ ]
     |     |     |     |     |     |     |     |
D ---[ ]---[ ]---[ ]---[X]---[ ]---[ ]---[ ]---[ ]
     |     |     |     |     |     |     |     |
E ---[ ]---[ ]---[ ]---[ ]---[X]---[ ]---[ ]---[ ]
     |     |     |     |     |     |     |     |
F ---[ ]---[ ]---[ ]---[ ]---[ ]---[X]---[ ]---[ ]
     |     |     |     |     |     |     |     |
     |     |     |     |     |     |     |     |     Outputs
     |     |     |     |     |     |     |     |
    [ ]---[X]---[ ]---[ ]---[ ]---[ ]---[ ]---[ ]--- B
     |     |     |     |     |     |     |     |
    [X]---[ ]---[ ]---[ ]---[ ]---[ ]---[ ]---[ ]--- A
     |     |     |     |     |     |     |     |
    [ ]---[ ]---[ ]---[ ]---[ ]---[X]---[ ]---[ ]--- F
     |     |     |     |     |     |     |     |
    [ ]---[ ]---[ ]---[ ]---[X]---[ ]---[ ]---[ ]--- E
     |     |     |     |     |     |     |     |
    [ ]---[ ]---[ ]---[X]---[ ]---[ ]---[ ]---[ ]--- D
     |     |     |     |     |     |     |     |
    [ ]---[ ]---[X]---[ ]---[ ]---[ ]---[ ]---[ ]--- C


Or a set of analog muxes, 40xx, can't remember the number.  They wire to
one of eight, bidirectional.  That would be less chips.

--
James Cameron                              (spam_OUTjames.cameronTakeThisOuTspamdigital.com)
Digital Equipment Corporation (Australia) Pty. Ltd. A.C.N. 000 446 800

1998\06\12@003003 by Mike Keitz

picon face
On Fri, 12 Jun 1998 13:33:02 +1000 James Cameron
<.....james.cameronKILLspamspam@spam@DIGITAL.COM> writes:
>I'd use 4066's in a bus configuration ... each of the input and output
>lines can be connected to one line in a bus.  Looks nasty.  At four
>gates in a 4066 that's a lot of chips.

RCA and probably others used to make "crosspoint switches" which were an
approximately square array of analog switches.  They would be overkill if
you are using a very limited set of routing possibilities.  I suppose the
solution you have now consists of an 8 to 1 multiplexer for each output.

Really the optimum solution depends on exactly what you're doing.  If
speed isn't important a software approach involving a PIC would be easy,
though you'd need to expand the ports to get enough inputs and outputs at
once.  Depending on what the different routes are, maybe a network of
multiplexers could be greatly simplified.  PAL or GAL chips could form
the core of a multiplexer-based design; several outputs could be
controlled from each chip if the number of possible inputs for that group
of outputs is small enough.  A larger programmable logic chip would be
able to have access to all the inputs at once and thus implement any
possible combination.  Another brute-force solution would be a large
EPROM or two holding a table.  That would be fairly fast but moderately
large and expensive.

_____________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]

1998\06\12@004544 by Michael S. Hagberg

flavicon
face
there are chips called 'cross over'  that take 8 inputs and cross them to 8
outputs in any manner. Circuit Cellar used them in a phone project within
the last year or two.

michael

1998\06\12@052903 by STEENKAMP [M.ING E&E]

flavicon
picon face
Hi,

> I have a project that I have been working on for the better part of forever
> trying to find the "Elegant" solution.
>
> Basic problem is rerouting a set of TTL signals into a different
> configuration.
>
> Example
>
> Source          Dest
> A               B
> B               A
> C               F
> D               E
> E               D
> F               C
>
>
> With there being 8 different routings possible.  And 32 (possibly only 16)
> lines being routed at a time.

If you want to route 8 input lines to 8 output lines so that each input
line goes to one and only one output line, then there are
8*7*6*5*4*3*2*1 = 8! = 40320 possible routings.  If gather from your
statement that you only want to support 8 possible routings.

>
> What I am wondering is if a PIC would be a good candidate for this task.
>
> At startup of the pic (or on reset) it would have to find out which of the 8
> routing maps it was currently using (from a 3 bit mode select which is then
> no longer used) and load the relevant routing code.

If you only want to support 8 possible routings, then you could use
lookup tables.  The simplest would be to use a 256 byte lookup tabe for
eac routing map.  This would consume 2K of program memory just for the
lookup tables.  An alternative is to use a set of two lookup tables of 16
entries each for each mapping.  Use the lower 4 bits of the input as an
index into the first table and save the value returned.  Then use the
upper 4 bits of the input as an index into the second table.  OR the
value returned from this table with the value returned by the first table
and you have your routed signal.
Lets take the routing in your example.  You only show 6 signal, so I will
extend it to 8 signal by adding G and H which goes straight through.

   ;Assume the input is in the variable Byte_In
   ;Output will be placed in variable Byte_Out
   movf   Byte_In, W
   andlw  0FH          ;Isolate lower 4 bits
   call   ReadTable1
   movwf  Temp         ;Save it for now
   swapf  Byte_In, W   ;Get upper 4 bits into lower 4 bits
   andlw  0FH          ;Isolate lower 4 bits
   call   ReadTable2
   iorwf  Temp, W
   movwf  Byte_Out


; Table 1 will implement the following mapping:
; A         B
; B         A
; C    -->  0
; D         0
;           D
;           C
;           0
;           0
ReadTable1:
   addwf  PCL, F       ;Do computed jump
   retlw  00000000b    ;0
   retlw  00000010b    ;1
   retlw  00000001b    ;2
   retlw  00000011b    ;3
   retlw  00100000b    ;4
   reltw  00100010b    ;5
   retlw  00100001b    ;6
   retlw  00100011b    ;7
   retlw  00010000b    ;8
   retlw  00010010b    ;9
   retlw  00010001b    ;10
   retlw  00010011b    ;11
   retlw  00110000b    ;12
   retlw  00110010b    ;13
   retlw  00110001b    ;14
   retlw  00110011b    ;15

; Table2 will implement the following mapping
; E         0
; F         0
; G   -->   F
; H         E
;           0
;           0
;           G
;           H
;
ReadTable2:
   addwf  PCL, F
   retlw  00000000b    ;0
   retlw  00001000b    ;1
   retlw  00000100b    ;2
   retlw  00001100b    ;3
   retlw  01000000b    ;4
   retlw  01001000b    ;5
   retlw  01000100b    ;6
   retlw  01001100b    ;7
   retlw  10000000b    ;8
   retlw  10001000b    ;9
   retlw  10000100b    ;10
   retlw  10001100b    ;11
   retlw  11000000b    ;12
   retlw  11001000b    ;13
   retlw  11000100b    ;14
   retlw  11001100b    ;15


For 8 mappings of 8 signals, you would need 8*16*2 = 256 bytes of lookup
table space.  This is easily achievable using a PIC.  Also, in the same
way you make use of 4 tables of 4 entries by breaking up the input bute
in 2 bit chunks.  Or you could use 8 tables of 2 entries (at that stage
you would simply use btfss/c).  The more tables you use, the less space
you will need, but the longer it will take to compute the mapping.


Hope this helps.
Niki

1998\06\12@052909 by Leon Heller

flavicon
picon face
In message <3FF8121C9B6DD111812100805F31FC0D03E3F6A2@red-msg-
59.dns.microsoft.com>, "David Shoemaker (Comforce/RhoTech)" <a-
dashoespamKILLspamMICROSOFT.COM> writes
>I have a project that I have been working on for the better part of forever
>trying to find the "Elegant" solution.
>
>Basic problem is rerouting a set of TTL signals into a different
>configuration.

Lattice makes the ispGDS device, which is a programmable digital switch.
It's designed specifically for this type of application, and may be
programmed with the software on their free CD-ROM. You can get data
from:

       http://www.latticesemi.com

Leon
--
Leon Heller: .....leonKILLspamspam.....lfheller.demon.co.uk http://www.lfheller.demon.co.uk
Amateur Radio Callsign G1HSM    Tel: +44 (0) 118 947 1424
See http://www.lfheller.demon.co.uk/dds.htm for details of a simple AD9850
DDS system. See " "/diy_dsp.htm for a simple DIY DSP ADSP-2104 system.

1998\06\12@063421 by Alexey Vladimirov

flavicon
face
12 Jun 98, David Shoemaker (Comforce/RhoTech) <EraseMEa-dashoespam_OUTspamTakeThisOuTMICROSOFT.COM>
writes to All:

P> Basic problem is rerouting a set of TTL signals into a different
P> configuration.

P> Ideas / comments welcome.

In similar task I use Mitel MT093 / Harris CD22M3493 / SGS M3493 parts.
It is 12x8 analog crosspoint switch. Short description follows:

The Harris CD22M3493 is an array of 96 analog switches capable of handling
signals from DC to video. Because of the switch structure, input signals may
swing through the total supply voltage range, V DD to V SS . Each of the 96
switches may be addressed via the ADDRESS input to the 7 to 96 line decoder.
The state of the addressed switch is established by the signal to the DATA
input. A low or logic zero input will open the switch, while a high logic level
or a one will result in closure of the addressed switch when the STROBE input
goes high from its normally low state. Any number or combination of connections
may be active at one time. Each connection, however, must be made or broken
individually in the manner previously described. All switches may be reset by
taking the RESET input from a zero state to a one state and then returning it
to its normal low state.

Tou will need 10 lines to control this chip - 7 address, 1 data (on/off), 1
strobe and 1 reset. Small 18-pin PIC, like 16F84 is good candidate for this
switch control. If you need more pins to reroute, you can cascade this
swithches in both directions. For digital-only signals, you can also found
similar parts in Mitel catalog.

Alexey

--- GoldED/2 2.50+

1998\06\12@064442 by Caisson

flavicon
face
> Van: David Shoemaker (Comforce/RhoTech) <a-dashoespamspam_OUTMICROSOFT.COM>
> Aan: @spam@PICLISTKILLspamspamMITVMA.MIT.EDU
> Onderwerp: Project question: rerouting TTL signals
> Datum: vrijdag 12 juni 1998 4:38
>
> I have a project that I have been working on for the better part of
forever
{Quote hidden}

16)
> lines being routed at a time.
>
> What I am wondering is if a PIC would be a good candidate for this task.

Any PIC with the number of in/outputs you require !  8 in & 8 Out requires
16 I/O lines.  16 in & out gives 32 lines I/O.  32 In & Out will give a PIC
with at least 64 pins of I/O !  That is ... If you want minimal IC usage
..

> At startup of the pic (or on reset) it would have to find out which of
the 8
> routing maps it was currently using (from a 3 bit mode select which is
then
> no longer used) and load the relevant routing code.
>
> Then I envisioned a buffered input latch on the source side that would be
> polled by the pic as a word or dword then tri-stated.  The values of each
> line would then be bitwise transferred into the appropriate dest value
> (d)word bit.  Once all lines are routed the resulting value would then be
> latched into an output buffer for being read by the dest side of the
system.
>
> Then it would loop back to the read of the source latch etc.

Good thinking !  Use Bytes and you could put the thing into a 16x84 with 4
input buffers, 4 output latches and a 1-of-8 decoder like the 74138.

Read four bytes. Erase result buffer. Get first bit of input. get
destination-bit from look-up table (48 bytes per configuration, maybe outof
EEPROM). set destination bit. Repeat for 32 bits. Send resulting bytes to
output latches.
Ok. I understood the problem.  What was it you wanted ? ;-)

> Timing on the source side is not hyper critical and if I don't care about
> edges of events on that side.  I think I will be clocked on the dest side
> but I am not sure yet.
>
> Ideas / comments welcome.
>
> David

Greetz,
 Rudy Wieser

1998\06\14@215513 by Dwayne Reid

flavicon
face
Sounds like the perfect place for a large PLD.  An Altera EPM7032 would
handle up to 16 inputs and outputs (32 lines total) with 4 lines left over
for control.  An EPM7064 in the 84 pin PLCC would handle 32 ins and outs
with the same 4 control lines.  You can download their software from
http://www.altera.com - go to the 'pls-web' section (about 17 megs).  You can build
your own byte-blaster programming adapter from plans found at
http://www.optimagic.com.  The only downfall is that the routing maps are fixed at
compile time.

dwayne

>
>I have a project that I have been working on for the better part of forever
>trying to find the "Elegant" solution.

<snip>



Dwayne Reid   <KILLspamdwaynerKILLspamspamplanet.eon.net>
Trinity Electronics Systems Ltd    Edmonton, AB, CANADA
(403) 489-3199 voice     (403) 487-6397 fax

1998\06\14@215528 by paulb

flavicon
face
David Shoemaker (Comforce/RhoTech) wrote:

> Basic problem is rerouting a set of TTL signals into a different
> configuration.

 All the suggestions using crosspoint analog switches are then, likely
to be overkill!

> With there being 8 different routings possible.  And 32 (possibly only
> 16) lines being routed at a time.

 If you want 16 lines, then a pair of "2M" (256K x 8-bit) EPROMS would
be the go, with a latch for the mode select if you need it.  Each has
19 address lines and 8 outputs, together 16 inputs, 3 mode select and 16
outputs.  I'd call that the most elegant and cheapest.

> What I am wondering is if a PIC would be a good candidate for this
> task.

 I'm tempted to say not.  Not enough lines.

{Quote hidden}

 Oh, well it sounds liike we've got time to spare.  In *that* case, go
to the pair of PISO shift registers (74HC597) as input (hint; read one
bit from each register simultaneously); 4 lines (latch, shift, 2 data)
and another pair of SIPO shift registers as output.  Another 4 lines.
3 more for the mode select and your 16F84 is *almost* allocated.  (Above
assumes 16 inputs; 16 outputs; for 32, double the number of latches).

> I think I will be clocked on the dest side but I am not sure yet.

 I'm tempted to suggest looking harder at the application to see how
much of it can be incorporated into a PIC.  Do all the outputs do
different things, or could the things they do be done in "parallel" by
the PIC also and serially fed out later?

 As to code, well others have observed that using a lookup table to
obtain 8-bit output codes from 8 input bits at a time would require
eight tables of 256 words or 2K of code memory for tables alone.  It
would be fast - if you had the space.  Obtaining 16-bit output masks
from table reads, 4 input bits at a time from 16, then OR'ing them would
require 16 (4 input bits) X 2 (words for 16 outputs) X 8 (map options)
X 4 (groups of 4 bits) would take only 1K of code space for the tables.

 OTOH, a single computed execution table selecting one of 8 options
using the three MS bits of W can be 256 words long, which is 32 words
for each option.  Worst case, a set of BTFSS/BTFSC, BSF/BCF pairs to
handle each of 16 lines would use 32 words and 32 cycles but require an
exit instruction.  In the spirit of the previous "bit-banging"
challenges however, it should surely be possible to hand-code most of
the maps into a rotate/ swap/ Hanoi Tower shift sequence in less space?

 Alternately, allow eight separate tables and something up to 80 or so
words in the "rules" execution codes, and 32 bits is quite possible.

 YMMV.  Cheers,
       Paul B.

1998\06\14@220539 by wft

face
flavicon
face
Harris CD22M3493 is an array of 96 analog switches capable of
handling......

How much is this Harris IC ?

thanks
--
Gus Calabrese    Lola Montes      WFT Electronics
4337 Raleigh Street      Denver, CO 80212
303 964-9670......voicemail      RemoveMEwftTakeThisOuTspamfrii.com   http://www.frii.com/~wft

EMERGENCY:   791 High Street     Estes Park, CO  80517
if no success with spamBeGonewftspamBeGonespamfrii.com, try .... TakeThisOuTwftEraseMEspamspam_OUTbigfoot.com   then
RemoveMEwftspamTakeThisOuTeudoramail.com

1998\06\15@111141 by Martin Green

flavicon
face
This looks like a job for a GAL.


CIAO - Martin.

______________________________ Reply Separator _________________________________
Subject: Project question: rerouting TTL signals
Author:  pic microcontroller discussion list <PICLISTEraseMEspam.....MITVMA.MIT.EDU> at
Internet
Date:    6/11/98 7:38 PM


I have a project that I have been working on for the better part of forever
trying to find the "Elegant" solution.

Basic problem is rerouting a set of TTL signals into a different
configuration.

Example

Source          Dest
A               B
B               A
C               F
D               E
E               D
F               C


With there being 8 different routings possible.  And 32 (possibly only 16)
lines being routed at a time.

What I am wondering is if a PIC would be a good candidate for this task.

At startup of the pic (or on reset) it would have to find out which of the 8
routing maps it was currently using (from a 3 bit mode select which is then
no longer used) and load the relevant routing code.

Then I envisioned a buffered input latch on the source side that would be
polled by the pic as a word or dword then tri-stated.  The values of each
line would then be bitwise transferred into the appropriate dest value
(d)word bit.  Once all lines are routed the resulting value would then be
latched into an output buffer for being read by the dest side of the system.

Then it would loop back to the read of the source latch etc.

Timing on the source side is not hyper critical and if I don't care about
edges of events on that side.  I think I will be clocked on the dest side
but I am not sure yet.

Ideas / comments welcome.

David

1998\06\16@073101 by Tom Handley

picon face
  David, in addition to the other comments about using PICs, 74xxx `glue',
and CPLDs, Lattice makes "Generic Digital Switches" in a 7x7, 9x9, and 11x11
matrix. Each I/O can be configured as an input, output, inverting output,
and fixed TTL high or low. The devices are progammed in-circuit (ISP) and
they provide free software including C source for writing your own ISP code.

  For more information contact:

     http://www.latticesemi.com

  - Tom

At 07:38 PM 6/11/98 -0700, David Shoemaker wrote:
{Quote hidden}

More... (looser matching)
- Last day of these posts
- In 1998 , 1999 only
- Today
- New search...