Do you have a question? Post it now! No Registration Necessary. Now with pictures!
- Posted on
November 16, 2010, 9:54 am
rate this thread
In the far distant past, I used an i8257 to implement 4-channel DMA.
What is today's equivalent device?
Also: I guess there are chips nowadays that integrate DMA with a whole
bunch of other circuits. What are some choices in that modern LSI
I ask particularly about 8257-like function because of the device's
subtle power and beauty. In those old 8085/Z80 days, it was far ahead
of other Intel devices, way cooler than any controllers Intel had
produced: really, really nice.
Thanks from geezerland!
Re: modern successors to Intel 8257DMA controller
At one time, I used to have the Intel data books containing that
stuff. Those data books, predate PDF, which is why, if you look
for a datasheet, it's normally a scan done from the databook,
rather than being searchable text.
That one looks like an "address generator". It would be used in
conjunction with other hardware, to do DMA.
The problem is, modern hardware, is either much more sophisticated
than what you're looking for, or much less sophisticated.
I did a discrete DMA years ago, and used counters and programmable
logic for it. That would be silly and power hungry. That represents
a level of integration, slightly below the 8257. It's the approach
a hobbyist might use. (For what I was doing, it didn't matter.
Back in those days, I did designs with as many as 300 chips and
150 watts power dissipation.)
Modern designers use FPGA chips, and doing the design is almost
like writing software.
Many peripheral chips, already have bus master capability, and
their own buffer management (ring buffers or scatter/gather DMA
chained lists). So many peripherals already do stuff like that.
Even some bus bridge chips, have DMA blocks inside them.
So maybe, you can find some device like that, and "reuse" a
small subset of its functions, to do what you want.
FPGAs have wiped out many kinds of devices. Rich companies
shop for "IP blocks", which is a pre-designed logic function
that can be plopped down in the FPGA design software. If you
have deep pockets, you can finish a design in a month or so.
A couple guys at work did a project like that, gluing
individual intellectual property blocks together, to
build what they wanted. Again, this isn't a technique a
startup could use, unless you had venture capital to burn.
If you're using your life's savings, and that approach,
you'd be swallowing hard a few times :-)
So if you really want something like the 8257, and you're
a hobbyist, then you're likely to end up using discrete
counter chips, maybe small PAL chips for glue logic,
and get the function that way.