feeding a FIFO from PCI

John,

I might have missed something, but if you need a FIFO size of 8K x 48Bits you'll get that into most reasonable sixed FPGAs these days (Cyclones or Spartans). Otherwise hang a DRAM off it as rickman says.

If your data rate to the FPGA is only 1MByte/second you could almost get away with one of the FTDI USB 1.1 interfaces (FT245R gives an 8 bit fifo output).

If this isn't sufficient there are a couple of easy to implement microcontrollers about that give you a FIFO interface at USB 2.0 full speed data rates.

The host PC would need to do more of the work but if this is acceptable then an embedded SBC seems like complete overkill?

Nial.

Reply to
Nial Stewart
Loading thread data ...

If the data rate is only a 1-2 Mbytes/S it can be done in a single MPC5200, with some (64M, 128M?) DDRAM and a flash chip. The FIFOs are on chip, one of the serial ports can be set to do 16 or 32 MbpS; it will only have to be deserialized - some CPLD or whatever (6 x 74hct164....?). The entire BOM would be $50 to $100 for prototype quantities. With DPS running on it, net access over the 100 Mbps Ethernet port is there. Want a HDD, connect one to the 5200 ATA port. But this is me, the rest of the world seems to consider designs which do not rely on some intel/linux/MS monstrosity illegal nowadays.

Dimiter

P.S. a similar (doing apr. 1.8 Mbytes/S thing) is at

formatting link

------------------------------------------------------ Dimiter Popoff Transgalactic Instruments

formatting link

------------------------------------------------------

formatting link

Original message:

formatting link

Reply to
Didi

It's just that finding people to code on those platforms is easier and -- if you need the complexity of a GUI or full TCP/IP stack or USB host anyway, there's a huge amount of code, completely free, that you can leverage if you just "tow the company line" and use one of those "monostrosities." A couple bucks extra in hardware is a lot easier to get funded than a few more programmers and another year of development time, after all (especially when finding GOOD programmers is somewhat tricky these days!)

I bet plenty of people ask why your software doesn't "look" like standard Windows, don't they?

Reply to
Joel Koltner

you get that under DPS as well - with a lot of functionality as a bonus and with a few uS worstcase IRQ latency (try *that* on the wintel things). More, it fits it in a fraction of the flash space the wintelinux alternatives take.

Actually they typically think this is windows runing underneath on the first sight...

As for programmers interfacing to this or that system the overhead is negligible if you will use DPS. For this particular application - moving data from a tcp connection into some fifoed hardware - the job to do on behalf of DPS can be explained in a message shorther than this one.

So it is all about plain human nature - practiclly all people I know are too scared to make a step aside of the known path, it takes some threat to their existance to venture that. It does not matter how tempting those nice things under that tree look, danger may be lurking around if the place is so desolated.... :-).

Dimiter

------------------------------------------------------ Dimiter Popoff Transgalactic Instruments

formatting link

------------------------------------------------------

formatting link

Original message:

formatting link

Reply to
Didi

Sure, it's just that for anyone with DPS experience (where's their web site, btw?) you'll probably find at least 100 people with Windows or Linux experience.

My first guess would have been DOS with an extender. :-)

With most people, yes, this is absolutely true. Businesses as an entity are the same way -- they'll keep using crappy tools that are well-known to them because the thought of changing to something else just looks too risky... and no one wants to be the fall guy if it turns out their evaluation of the alternatives were wrong.

---Joel

Reply to
Joel Koltner

DPS is less popular than that. It is all my work, my property etc. Comes on my products. I have been wanting to put a cheap product with it on the market but I just got a setback and may be unable to do it this year yet again....

Dimiter

------------------------------------------------------ Dimiter Popoff Transgalactic Instruments

formatting link

------------------------------------------------------

formatting link

Original message:

formatting link

Reply to
Didi

Hi Didi,

You wrote the TCP/IP stack from scratch? That's a lot of effort! Good work.

I hope you'll be able to do it eventually; I'm sure many people would be interested.

---Joel

Reply to
Joel Koltner

Thanks. It took me about 6 months to do (including the DNS and some high level clients), and is not such a great part of DPS (about 10%).

So do I hope (hope, that is)! ... :-). I will eventually, it won't take that much - I know I'll do it, as for those interested I wish I knew a bit more.... :-).

Dimiter

------------------------------------------------------ Dimiter Popoff Transgalactic Instruments

formatting link

------------------------------------------------------

formatting link

Original message:

formatting link

Reply to
Didi

If the place is so desoloated it is dangerous. Such places are away from support. Also there is extra danger on first approach since the hazards are unfamiliar.

I rather suspect many in this group prefer the hazards and beauties of the new, unfamiliar (and desolate) to the dangers of the crowds. If nothing else for the thrill of treading less travelled paths.

Is the metaphor broken yet :)

Robert

** Posted from
formatting link
**
Reply to
Robert Adsett

On Sat, 12 Apr 2008 09:38:30 -0700, John Larkin wrote: [re "box that will control a scientific gadget" possibly using "an Intel-cpu SBC and a custom board" where "SBC would talk gigabit ethernet to the customer's system and PCI to our board." with SBC like

formatting link

...

If the linux kernel is given a "mem=n" parameter at boot time, it will use only n bytes of memory, which leaves the balance of memory to be contiguously allocated later with "dmabuf = ioremap(...)" (see "Allocating the DMA Buffer" and "Do-it-yourself allocation" in Chap. 13 of Linux Device Drivers, by Rubini and Corbet; eg

formatting link
.)

If high memory isn't usable by the DMA controller, you could build a kernel with your device driver using preallocated fixed buffers, rather than loading the driver as a module.

User code can access the buffer as a memory-mapped file; see eg

formatting link
for background, and see eg
formatting link
for notes on some flags that can lock the mapped pages in memory, make them private, map to fixed location, etc.

Root can use cpusets, described at

formatting link
to allocate cpu's and memory nodes, or can use system calls as described in
formatting link
to control which cpu's given processes will run on.

Reply to
James Waldby

I understand perfectly how DMA works and all the permutations. But you are glossing over all of the difficulty of getting physical addresses from an OS and getting the software to let the hardware use it.

That is the sort of stuff that I would not want to deal with. I am much more comfortable with offloading the entire real time function onto the dedicated hardware and keeping the PC out of the time critical loop. When it is so easy to add a little bit of RAM to the board, I don't get why anyone would want to have to make a complex OS run a real time task???

But like I said before, we are all comfortable with different things.

Reply to
rickman

This is a sane reasoning I have heard more than once while discussing different projects (sometimes hypothetical). At this point my question usually is "so what is the bloody PC for in the design then?" . The usual answer is something like "well but they are so cheap and so popular..."...

Dimiter

------------------------------------------------------ Dimiter Popoff Transgalactic Instruments

formatting link

------------------------------------------------------

formatting link

Original message:

formatting link

Reply to
Didi

The PC is there as the UI. If the job is using standard interfaces, then it could be worth a bit of software work to avoid having to build hardware. But this project is building a special board with an FPGA! Heck, unless they have highly specialized interfaces to their project they want to control, they could even do the whole thing on a standard, COTS evaluation board if it has enough memory! There are tons of boards available which include high speed interfaces like Ethernet and USB and will support this project as-is other than a specialized interface on the project end.

Then you can use the PC as a UI and don't even need to build hardware!

Reply to
rickman

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.