Forum: Mikrocontroller und Digitale Elektronik DMA Verständnissfrage bei dsPics


von ich (Gast)


Lesenswert?

Hallo zusammen. Ich werde irgendwie nicht schlau vom DMA im dsPic. DMA 
steht ja für Direct Memory Access, also direkter Speicherzugriff. Ist 
das so gemeint, dass man von der Pic-Peripherie z.b. ADC in den Pic-Ram 
schreiben kann, ohne groß Code zu haben, oder ist das so gemeint, dass 
man an bestimmte Pins bzw. SPI einen externen Ram anschließen kann, der 
aber als "Intern" angesehen wird, also dass man sich nich über die 
übertragung kümmern muss. Als Beispiel: 0x0000 - 0xFFFF ist PIC-Ram und 
0xE00000 - 0xEFFFFF ist der eigentlich externe Ram. Hier wäre der Pic 
dann sozusagen Peripherie, die direkt auf den (externen) Ram zugreift.

Letzteres wäre nämlich nicht schlecht, da man ja dort ein größeren Ram 
(evtl SD-Ram vom PC) anschließen könnte, als der der im Pic ist.

Sollte es, wie ich vermute, das erste sein, also das man "ohne" Code vom 
ADC ins Ram schreiben kann, wie kann man die 2. Möglichkeit am 
elegantesten verwirklichen, sodass ich die ADC-Daten schnell und mit so 
wenig Code wie möglich in einem externen Ram speichern kann.

von ich (Gast)


Lesenswert?

Kann mir niemand kurz sagen, was es damit auf sich hat?

von Pic (Gast)


Lesenswert?

Hallo,
Deine erste Vermutung ist richtig. Mit DMA können einige Schnittstellen 
auf einen speziellen RAM-Bereich (DMA-RAM) zugreifen, ohne die CPU damit 
zu belästigen. Die Zugriffe werden über entsprechende Register 
hardwaregesteuert und erfolgen meist über einen separaten Bus.
Um externes RAM anzuschließen könntest Du dir mal den Parallel Master 
Port (PMP) beim DsPic33F... ansehen. Der ist extra dafür vorgesehen.

Grüße

von ich (Gast)


Lesenswert?

Ah, dachte ich mir doch. Danke für die Info, werde mir den PMP mal 
genauer angucken.

von Manuel (Gast)


Lesenswert?

Hallo

Falls als externen Speicher ein EEPROM oder ein Flash möglich ist 
könntest du versuchen per DMA von ADC zulesen und mit einem zweiten DMA 
Kanal die Daten in den externen Speicher zu schreiben (z.B. SPI-EEPROM)

Gruss Manuel

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.