Forum: Mikrocontroller und Digitale Elektronik Frage zu Register beschreiben im ARM


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von ARMer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich versuche mich grade an einem AT91sam7x und würde gerne den pwm 
controller zum laufen bringen.
bisher tut sich da aber nichts.
Nun is es ja so, dass der PWM controller über den "advanced peripheral 
bus" kontrolliert wird.
Hier eine Frage: wenn in ein register im ARM einen wert schreibe (z.B: 
das pwm duty cycle register), wird dieser in den speicher des controller 
geschrieben, an dessen adresse sich das register befindet.
Aber wie kommen die daten nun über den APB zum pwm controller? geschieht 
dies automatisch, oder muss ich den transfer noch manuell starten?

Danke!

von Marcus H. (mharnisch) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
ARMer wrote:
> Hier eine Frage: wenn in ein register im ARM einen wert schreibe (z.B:
> das pwm duty cycle register), wird dieser in den speicher des controller
> geschrieben, an dessen adresse sich das register befindet.
> Aber wie kommen die daten nun über den APB zum pwm controller? geschieht
> dies automatisch, oder muss ich den transfer noch manuell starten?

Aus Sicht des Prozessors unterscheidet sich Dein Peripherieregister 
nicht von irgendeiner anderen Speicherstelle (memory mapped). Die Bus 
Matrix erkennt anhand der Adresse welches Gerät angesprochen wird. Das 
ist nicht anders als der Zugriff auf irgendeine Adresse im RAM.
Mit dem Speicherzugriff ist der Transfer abgeschlossen. Die Daten müssen 
nicht erst von irgendeinem Speicher in das eigentliche Peripheriegerät 
übertragen werden. Es kann aber sein, dass Du das Peripheriegerät erst 
"einschalten" musst.

Gruß
Marcus
http://www.doulos.com/arm/

von ARMer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Danke für die Information - hat mir sehr geholfen.
hast du evtl noch eine Tip für mich auf Lager für den PWM controller?
ich hab den peripherie clock für den PWMC eingeschalten, die Register 
des PWMC gesetzt (hoffentlich richtig:)), aber am ausgang kommt nichts 
raus.
der verwendete controller ist ein AT91SAM7X256

Danke für die Hilfe!

von docean (Gast)


Bewertung
0 lesenswert
nicht lesenswert
pin auch auf ausgang geschaltet?

von ARMer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
naja im PIO controller hab ich die "kontrolle" des pins dem PWMC 
übergeben.
muss ich im PIO den pin zusätzlich noch als ausgang definieren?

von ... .. (docean) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Versuch ist es wert...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.