DMA controller with external DREQ/DACK mechanism for legacy ASIC

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
zaghc_4105406
Level 1
Level 1
First solution authored First reply posted First question asked

Hello everyone,

I'm working on a project that involves a legacy ASIC that requires an external DMA controller with full DREQ/DACK mechanism. Unfortunately, non of the microcontrollers available today provide that type of DMA. Well, I'm talking here about a fully fledged DMA controller similar in signaling and behavior to that of Intel's 8237. Bitbanging, playing with address bits/signals of FMC or any workaround is not acceptable for me.

Recently, I got some suggestions to implement it using a CPLD or FPGA, but I've never used one in any of my designs. Someone also referred me to PSoC series, but not sure whether I can achieve what I want using the Logic Array embedded in that SoC.

Any feedback is highly appreciated!

Zaher

0 Likes
1 Solution
zaghc_4105406
Level 1
Level 1
First solution authored First reply posted First question asked

@odissey1 Thank you very much for your reply. Yes, I totally agree with you!

View solution in original post

0 Likes
5 Replies
lock attach
Attachments are accessible only for community members.
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi Zaher,

PSoC family devices do have the DMA controller inside. But that is used internally to transfer data from one location to another location of PSoC's memory without CPU intervention. So it cannot be used as an external DMA controller directly. You may need to develop some application inside PSoC to achieve this.

Please refer to the following application note:

https://www.cypress.com/documentation/application-notes/an228753-dma-psoc-6-mcu

PSoC 4L, PSoC 6 BLE, and PSoC 62 family devices have Universal Digital blocks that can be configured to any digital block. So using the UDB you can try developing the DMA. This might be a difficult process. Please check the following documentation on UDB.

Please find the attached document for more details regarding the UDBs inside PSoC:

Thanks and regards

Ganesh

0 Likes
zaghc_4105406
Level 1
Level 1
First solution authored First reply posted First question asked

Hi Ganesh,

Thank you very much for your prompt reply and for the interesting information.

In fact, I have always thought of such an implementation similar to the PSoC where a microcontroller provides part of programmable-logic elements similar to those of the FPGA. I'm sure I will incorporate a PSoC in one of my future designs. However, according to the attached UDB_learning document, one can create any complex design using the graphical editor, however, the number of logic elements is very limited.

Now the question is, do you think the UDBs in a PSoC are enough to create a DMA controller?

Regarding the application note, I think it's for the DMA controller peripheral inside the PSoC itself, which is only routed/triggered from embedded peripherals.

 

Regards,

 

Zaher

0 Likes
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi Zaher,

To be frank, it would be difficult to tell the possibility of implementing the DMA controller using UDBs. Some time needs to be spent to come to the conclusion. However, the number of UDBs in PSoC 6 is more than that of PSoC 4. So it should be possible to implement DMA with basic features using PSoC6.

Yes, the application note I shared with you is the DMA application note in PSOC 6. You can also think of the ways where you can use the internal DMA controller with some logic/code inorder to make it an external DMA controller.

Thanks and regards

Ganesh

0 Likes
odissey1
Level 9
Level 9
First comment on KBA 1000 replies posted 750 replies posted

zaghc,

The learning curve for PSoC is higher than for comparable FPGA. Assuming, that you don't need any analog staff of PSoC, I recommend to go ahead with FPGA for higher speed and larger resources.

/odissey1

0 Likes
zaghc_4105406
Level 1
Level 1
First solution authored First reply posted First question asked

@odissey1 Thank you very much for your reply. Yes, I totally agree with you!

0 Likes