[net.arch] DMA controller chips

jcg@oasys.UUCP (01/08/86)

As part of a design for a 80186-based controller, we've been looking at DMA
controller chips.  We need four DMA channels (in addition to the two in the 
'186) that may all be in operation concurrently.  The peripherals being 
interfaced are 8-bit bus oriented, but the '186 has 16-bit wide RAM so we
want the DMA to do word assembly/disassembly for us.  We have not been able
to find ANY chip on the market which will do the job for us.

In this article, I want to describe the shortcomings of each of the chips we 
have looked at, and generate some discussion of the architectural 'features'
which make these chips useless to us.  Hopefully someone out in net-land will
be able to clue us into a more useful DMA chip.

-Intel 8237:  This is an old 8085 family part which does not fit well into a
16-bit processor design.  It requires a fair amount of 'glue' logic around it
and still performs very slowly -- its maximum clock rate is only 5 MHz so its
bus cycles are very slow.  It is certainly inexpensive, though.  The Intel 8257
is a even older and slower version of the 8237.  These parts have no provision
for word-assembly.  The 8237 is also known as AMD Am9517.

-AMD Am9516 and Zilog Z8016:  These are 2-channel DMA chips which are very
similar to each other.  They have word-assembly and dissassembly but have
only one word former shared between both channels.  The chip performs two
single-byte bus cycles in succession for each DMA request from a peripheral
and the other DMA channel cannot be serviced between them.  These parts are
also a little expensive for us ($20) since we would need two of them to meet
our 4 channel requirement, but this doesn't matter because the channels are
not truly independent.

-68450 from Hitachi (?Motorola):  We haven't looked at this device too hard
because it was quoted to us at $68 which is far too expensive for us.  It is
not clear from the specs we have whether the word-assembly is shared between
channels.

-National NS32203:  This chip is in the right price range ($28) but the data
sheets say "If word assembly/disassembly will be performed ... , after the
first byte is transferred to/from the device, the DMA does not acknowledge o
other channel requests until the second byte is transferred."  In other words,
the channels are AGAIN sharing the word assembly logic.

The conclusions we reach from all this is that the existing DMA chips cannot
do what we want, and that we must build our own or change the requirements. 
This is amazing to us because we did not think our requirements were unusual.

So how about it?  Have we overlooked anything obvious?

Please send any flames or personal replies to oasys!jcg@nbires.UUCP


				Jonathan Griffitts
				NBI, Inc.


(This note states my own opinions and not necessarily those of anyone else)

augustss@chalmers.UUCP (Lennart Augustsson) (01/16/86)

In article <171@oasys.UUCP> jcg@oasys.UUCP writes:
>
>As part of a design for a 80186-based controller, we've been looking at DMA
>controller chips.  We need four DMA channels (in addition to the two in the 
>'186) that may all be in operation concurrently.  The peripherals being 
>interfaced are 8-bit bus oriented, but the '186 has 16-bit wide RAM so we
>want the DMA to do word assembly/disassembly for us.  We have not been able
>to find ANY chip on the market which will do the job for us.

Being american perhaps you don't read european data sheets -:).
In any case, Siemens manufactures a DMA chip called SAB82258.  Some of the
features (from the spec):
	- 16 bit DMA Controller for ... 80186 ...
	- 4 independant channels
	- 16 Mbytes addressing range and byte count
	- Memory based communication with the CPU
	- "On-the-fly" Compare, Translate and Verify
	- Transfer rates up to 8 Mb/s
	- Automatic chaining of Command blocks
	- Automatic chaining of Data blocks
	- Multiplexor Mode Operation with 32 Subchannels
Naturally it handles byte assembly, and disassembly.
The channel programs are quite powerful (using selfmodifying channel programs
it is as powerful as an ordinary computer (at least in theory)).
This a new product, but it exists (I have programmed it).  The only thing
you won't like is the price, about 150$.
You can get information from
Siemens AG, Bereich Bauelemente, Produkt-Information
Balanstrasse 73,
D-8000 Muenchen 80
Bundesrepublik Deutschland (use Germany with Usnail)

Any resemblance of the opinions above to real opinions, living or dead,
is purely coincidential.
	Lennart Augustsson
UUCP:		{seismo,philabs,decvax}!mcvax!enea!chalmers!augustss
ARPA,CSnet:	augustss@chalmers.csnet
-- 
Any resemblance of the opinions above to real opinions, living or dead,
is purely coincidential.
	Lennart Augustsson
UUCP:		{seismo,philabs,decvax}!mcvax!enea!chalmers!augustss
ARPA,CSnet:	augustss@chalmers.csnet

grr@cbm.UUCP (George Robbins) (01/17/86)

In article <171@oasys.UUCP> jcg@oasys.UUCP writes:
> >
> >As part of a design for a 80186-based controller, we've been looking at DMA
> >controller chips.  We need four DMA channels (in addition to the two in the 
> >'186) that may all be in operation concurrently.  The peripherals being 
> >interfaced are 8-bit bus oriented, but the '186 has 16-bit wide RAM so we
> >want the DMA to do word assembly/disassembly for us.  We have not been able
> >to find ANY chip on the market which will do the job for us.
> 
> Being american perhaps you don't read european data sheets -:).
> In any case, Siemens manufactures a DMA chip called SAB82258.  Some of the
> features (from the spec):
> 	- 16 bit DMA Controller for ... 80186 ...
> Naturally it handles byte assembly, and disassembly.
> This a new product, but it exists (I have programmed it).  The only thing
> you won't like is the price, about 150$.

Uh, Zilog and AMD make a DMA controller chip known as the 8516 that has two
channels and does byte/work assembly and other useful things.  This also is
a real chip and should cost 10-30$ in quantity.  Contact you local Zilog or
AMD office for more info, I am pretty sure that the documentation describes
how to use it in an Intel environment.
-- 
George Robbins - now working with,	uucp: {ihnp4|seismo|caip}!cbm!grr
but no way officially representing	arpa: cbm!grr@seismo.css.GOV
Commodore, Engineering Department	fone: 215-431-9255 (only by moonlite)