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.
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
Ah, dachte ich mir doch. Danke für die Info, werde mir den PMP mal genauer angucken.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.