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.

Field programmable gate arrays

Status
Not open for further replies.

oemcar

Member
is this the right section to ask Q's thereof?
if so... here goes-
ive a need for a device that can handle 120 output ports acting as bilateral switches that can be independently programmed via 1 of 8 different input configs. searched here- showed other uses, but none matching

initial research shows Xilinx and Altera produce such chips... anyone here have experience with their platforms? is there another to consider?

realize there is programming medium- please advise most user friendly vs experience
thx
jim
 
Last edited:
Please say more. "Analog" or "digital" switch. What voltage range?

FPGA is good for digital designs. (AND, OR, NOR, XOR, FF etc.)

digital, 5V- TTL compatible..
as far as voltage- good Q, cuz im finding most of these are 3.6 Vcc or less.
function desired is simple make/ break, like a 4066
 
Most FPGAs are low voltage. Some old parts might go to 5 V.
I can't remember any with a 4066 type of switch.
independently programmed via 1 of 8 different input configs
What type of logic. FPGA is logic.

If you could give more information......
---edited----
How fast must the logic work. FPGA=nS but many "switches" only need mS.
 
Last edited:
lines
Most FPGAs are low voltage. Some old parts might go to 5 V.
I can't remember any with a 4066 type of switch.

What type of logic. FPGA is logic.

If you could give more information......

8 diff input configs of the 120 outputs... could arrange the 8 options in BCD to 3 lines..
but moreover concerned with your response that TTL compatibility mite be obsolete for this app

per your follow up-
these are logic set points- speed is not a concern
 
Last edited:
(There are 8 wires going to a "black box" and one wire that drives a switch) Then 120 of these.
960 wires going in and 120 switches. ???
 
lets look at this differently-
i need a demultiplexer that can configure the outputs of 120 points per direction from 1 of 8 lines in.. or 3 BCD

but the primary point remains... TTL compatibility??
 
Last edited:
9 wires going in. A0---A6, D0, WR
Set A0---A6 to select which switch to write to. (128 possible)
Set D0, 1=closed, 0=open
WR (or clk)

At power up all switches are open.
When a switch is written to it will remember until power is lost.
---edited---
I need to know what the switch is switching.
o to 5 volts. or -5 to +5 volts, 0 to12 volts,
Audio, video, ?
 
Last edited:
9 wires going in. A0---A6, D0, WR
Set A0---A6 to select which switch to write to. (128 possible)
Set D0, 1=closed, 0=open
WR (or clk)

At power up all switches are open.
When a switch is written to it will remember until power is lost.
---edited---
I need to know what the switch is switching.
o to 5 volts. or -5 to +5 volts, 0 to12 volts,
Audio, video, ?

TTL
 
Is there a micro controlling the address lines?

One option is to use 25, (8bit shift register with latch)
Look up the 74HC594. It will talk to the SPI port on a micro.
one bit data, clk, load.
Most micros will run the SPI port at 10mhz to 50mhz. So it will take a little time to load all 200 bits.
Each 74HC594 will drive 8 switches.

You could use a CPLD. The XCR3064 could do the job of four 74HC594s. (32 bit SR and Latch) It is 44 pin so not too hard to solder.

If you are going to do a FPGA you need to choose a part with 200 IO pins just to drive the switches and some more IO pins to talk to the micro. Look for a part with 3.3 or 5V IO pins.
If you choose a CPLD you need the same IO pins and two logic blocks per switch.
 
Unless you need tremendous speed, a couple of many-pins-little-brain MCUs such as PIC18F85K90 will be cheaper and easier to work with than FPGA.
 
Is there a micro controlling the address lines?

One option is to use 25, (8bit shift register with latch)
Look up the 74HC594. It will talk to the SPI port on a micro.
one bit data, clk, load.
Most micros will run the SPI port at 10mhz to 50mhz. So it will take a little time to load all 200 bits.
Each 74HC594 will drive 8 switches.

You could use a CPLD. The XCR3064 could do the job of four 74HC594s. (32 bit SR and Latch) It is 44 pin so not too hard to solder.

If you are going to do a FPGA you need to choose a part with 200 IO pins just to drive the switches and some more IO pins to talk to the micro. Look for a part with 3.3 or 5V IO pins.
If you choose a CPLD you need the same IO pins and two logic blocks per switch.

thx for the input-
leads here have initiated research into the CPLD product line- more flexibility than a PAL, yet easier to use than a FPGA. most 3.3v source chips are 5v i/o TTL configurable.

biggest challenge is sheer volume of i/o ports that need to be configured- 10 inputs into 1 chosen output (x12) config'ed by 1 of 8 assignments, programmed by this software zero- lol, who is diligently working on becoming programming literate...
easiest adaptation is that a group of single macro cell DIP's can be cascaded and addressed individually to satisfy the above criteria
 
How fast? Can you delay 1/1000 of a second to change a bit?

Use the SPI port on the micro computer.
Talk serial to the CPLD. (32 bit long data)
D, clk, CS on each PLD.
The micro has D, clk which goes to all CPLDs
The micro has CS0, CS1, CS2, CS3

Pull CSx high, send data and 32 clocks. CSx back low.
This will load all 32 bits on one CPLD and not load the other CPLDs.

Assuming a CPLS with 4 inputs and 32 outputs.
 
Last edited:
QUOTE="ronsimpson, post: 1261179, member: 63099"]How fast? Can you delay 1/1000 of a second to change a bit?

Use the SPI port on the micro computer.
Talk serial to the CPLD. (32 bit long data)
D, clk, CS on each PLD.
The micro has D, clk which goes to all CPLDs
The micro has CS0, CS1, CS2, CS3

Pull CSx high, send data and 32 clocks. CSx back low.
This will load all 32 bits on one CPLD and not load the other CPLDs.

Assuming a CPLS with 4 inputs and 32 outputs.[/QUOTE]

this concept got me thinking past prewired PAL's, GAL's- which cant be programmed on the fly.
so I began researching processors capable of accommodating 8 diff write programs that can address 120 I/o ports. once again, the sheer # of i/o is a killer in any DIY uP.
So then demultiplexers and serial to parallel chips became interesting as expansion ports... started with the 4067 16 bit, even tho i only needed (12) 1- 10 bit. lil more research and rohm makes 12 bit shift registers that are closer to what i need- the BU2090.

so heres the current conceptual layout-
utilize stamp II 16 i/o by allocating 3 in's for the BCD 8 program callouts, another 12 for serial pulse count outs wired to each shift register's clock inputs to 'program' 1 of 12 paths of continuity.
as we all know, theres still the experimenting phase of any concept, and im lil uncertain if the BU2090's behavior regarding opening 1 of 10 channels called out serially by clock pulses from stamp. just click ordered 5 BU2090's off ebay to experiment with, if i can make it work in the raw form- then next is the stamp... and the dreaded programming zone- lol
jim
ps. anybody have experience with the rohm 2090 or 2092??
 
Looks like BU2090 are not switches, but drivers. They don't connect/disconnect the signal as 4066 would, but rather their outputs are driven high or low. If that's what you want, it's much simpler than switching.

To drive 120 lines, you will need 15 of these, and since each of them has only 3 address pins, you will need two I2C networks to work with them.

For comparision, two PIC18s as I suggested in post #11 do not require any I2C or SPI because they can decipher your 8 schemes by themselves, will be at least 50 times faster and will cost 7 times less. Not to mention that the overall simplicity of the design will make the PCB more compact and less expensive, and resulting product will be much more reliable.
 
I have used the:
MCP23017, 16, 18 and MCP23S17
Serial (I2C, SPI) to 16 I/o pins.
I pay about $1.00 usd
 
post: 1261801, member: 250617"]Looks like BU2090 are not switches, but drivers. They don't connect/disconnect the signal as 4066 would, but rather their outputs are driven high or low. If that's what you want, it's much simpler than switching

To drive 120 lines, you will need 15 of these, and since each of them has only 3 address pins, you will need two I2C networks to work with them.

For comparision, two PIC18s as I suggested in post #11 do not require any I2C or SPI because they can decipher your 8 schemes by themselves, will be at least 50 times faster and will cost 7 times less. Not to mention that the overall simplicity of the design will make the PCB more compact and less expensive, and resulting product will be much more reliable.[/QUOTE]


youre right about the shift registers- not gates...
cant argue with your serial output logic arrangement, but simply cant relate to your assessment of how(2) PIC18's don't need programming. far as I can tell, they have uP controllers.
so where im at at this juncture... after researching volumes of chips and languages...
I still like the basic stamp 2.. good support and tutorials- plus lil programming experience w/ op
whats still of utmost importance is delivery time concerning this project,, this is business and $ talks
I gotta deliver within my cost and timing projections. would like to be able to take all input here at face value, but just don't have programming exp to research some of these replies.
jim
ps- I like the idea of the mc port expanders. but there again is the programming to serial to latch requirements via software commands are still skunkworks at this time to me- lmao... more research needed
 
Last edited:
but simply cant relate to your assessment of how(2) PIC18's don't need programming.

They certainly do need programming. I've never said they didn't. However, in you case, the programming is very simple - much simpler than organizing I2C communications.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top