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)