- 3D-Druck Einstieg und Tipps         
Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 32

Thema: RFM12 Module von Pollin am AVR

  1. #11
    Benutzer Stammmitglied
    Registriert seit
    29.04.2008
    Beiträge
    49
    Anzeige

    E-Bike
    hallo

    also für die pinbelegung an einem Pollin Evaluations board kann ich nur das hier anbieten

    da pollin neuerdings das board schon mit integriertem rfm01 bzw rfm02 bzw RFM12 platz anbietet haben die ein datenblatt zur verfügung gestellt wo direkt die pin-verbindungen zu sehen sind

    so hab ich das jetzt gerade auch verbunden:
    http://www.pollin.de/shop/downloads/D810046B.PDF


    meine frage zu dem ist jetzt jedoch....wie sieht das mit registern aus bzw wie initialisiere ich das und wie sende bzw empfange ich.
    ich hab 2evaluationsboards mit jeweils einem RFM12 und einem ATmega16
    und will einfach nur einen buchstaben von einem zum anderen board schicken

    duch die programmcodes die ich bisher gefunden habe find ich mich nicht zurecht da die meist immer nur mit hexzahlen um sich schmeißen.
    könnte mir mal einer erklären wie das geht
    vllt so ne kleine init-routine oder so

    danke schon mal

  2. #12
    Benutzer Stammmitglied
    Registriert seit
    10.06.2006
    Ort
    Duisburg-Rheinhausen
    Alter
    78
    Beiträge
    80
    hallo Grandalf
    Sowei mir bekannt funktioniert die Initalisierung des RFM12 /01 /02
    nur in HEX-zahlen ich habe noch keine andere Initalisierung gesehen.

  3. #13
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Jo, das Datenblatt kenn ich auch...
    Wollte aber wissen, was wirklich nötig, was überflüssig und was vonwegen Interrupts wichtig ist!

  4. #14
    Benutzer Stammmitglied
    Registriert seit
    29.04.2008
    Beiträge
    49
    wenn du wissen willst was von den pins notwendig ist und was nicht so kannst du dir das in dem datenblatt zum RFM01/02/12 anschauen
    da steht genau drin welcher pin für was steht

    interupts zb sind alle auf aktiv low und davon sind es 2 stück ein input interupt und ein output interrupt

    ja das mit den hexzahlen weiß ich schon nur kann man ja die ports auch anders einstellen
    statt 0xff
    kann man ja auch &B11111111
    oder PORTx |= (1<<Px0)|(1<<Px1)......|(1<<Px7)
    schreiben, wobei ich mit der langen angabe (PORTx |=....) am besten klar komme. da ich bei der methode vorher sagen kann #define MOSI PD5 //SDI
    und schon kann ich direkt mit den pinfunktionen arbeiten (1<<MOSI)
    ist zwar mehr schreib arbeit aber extrem übersichlicher als nur hexzahlen rein zu kloppen

    mfg Grandalf

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Die Datenblätter sind leider Schrott, finde ich. Die Funktion der Pins wird da nicht wirklich brauchbar erklärt.
    Die hier habe ich bisher gefunden:
    http://www.hoperf.com/pdf/rfm01.pdf
    http://www.hoperf.com/pdf/RF01_code.pdf
    http://www.hoperf.com/pdf/RF0102TOOLS.pdf
    http://www.pollin.de/shop/downloads/D810047D.PDF

    Gibts da was brauchbares? Irgendwie bin ich von Linear und Konsorten verwöhnt...

    Ich muss wie gesagt nur wissen, ob SDI, SDO, SCK reichen, oder ob ich noch nIRQ auf nen INTx legen muss.
    Das würde Sinn machen, weil das Modul nur sporadisch Daten empfangen wird - das aber im Interrupt.
    Oder läuftdas über den SPI Interrupt des AVR?

    DCLK und CLK brauche ich glaubich nicht - oder täusche ich mich? Der AVR hat nen 16MHz Quarz.
    nRES gehört wohl auch zu den CLKs

    Und an VDI kann ich ne LED anklemmen, ja?

    Grüße
    Stefan

  6. #16
    Benutzer Stammmitglied
    Registriert seit
    10.06.2006
    Ort
    Duisburg-Rheinhausen
    Alter
    78
    Beiträge
    80
    Hallo hier mal die Befehle RFM12 usw
    Ich weiß nicht ob ihr das schonmal gelesen habt
    http://www.mikrocontroller.net/articles/RFM12
    Gruß raggy

  7. #17
    Benutzer Stammmitglied
    Registriert seit
    29.04.2008
    Beiträge
    49
    Hallo

    nein ich habe es vorher noch nicht gesehen...also erstmal danke
    nur verstehe ich ehrlich gesagt die angaben dort garnicht

    die absätze "RFM empfängt nur müll" und "RFM hängt sich auf" sind zwar noch nachvollziehbar aber was ich wirklich zur zeit brauche steht (wenn ich das gerad richtig interpretiere in dem abschnitt Register)
    und genau das versteh ich nicht.
    denn: was bitte bedeuten die ganzen abkürzungen
    (x0 x1 x2 x3 b0 b1 e1 ef b... x... xx und so weiter)
    das ganze sagt mir nichts

    ich bin kein profi oder so sondern beschäftige mich erst seit kurzem mit Controllerprogrammierung habe jetzt die RS232 schnittstelle und ein LCD Display am laufen bekommen sowie kleinere spielereien mit taktgebern und LEDs sowie tastern. nun will ich mich halt dem RFM12 zuwenden und hab halt die pinbelegung gefunden (wobei auch dort 2 verschiedene die beide funktionieren sollten wenn man weiß wie).

    Ich Suche halt nun eine beschreibung wie ich den RFM initialisiere und dann benutzen kann.

    Mit register angaben wie
    DDRx oder PORTx oder UCSRA kann ich was anfangen aber sowas in der art hab ich noch nicht gefunden


    also hier nochmal meine derzeitige pinbelegung
    (laut dieser seite im ersten absatz unter Treiber: http://www.mikrocontroller.net/articles/AVR_RFM12 ):
    DDRB |= (1<<PB4)|(1<<PB6)|(1<<PB7); //SS; MISO; SCK;
    DDRB & ~(1<<PB5); //MOSI
    //FSK liegt mit 1kohm auf VCC

    Meine zweite Variante für die Pinbelegung ist so wie in diesem Datenblatt:
    http://www.pollin.de/shop/downloads/D810046B.PDF

    schonmal danke für weitere infos

    gruß Grandalf

  8. #18
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Moin Grandalf,

    die Manuals der RF-Serien bieten - um es mal positiv zu formulieren - in der Tat noch Potenzial zur Optimierung ihrer Verständlichkeit.
    Dabei ist es eigentlich ziemlich einfach: Um das Modul zu konfigurieren, muss man ihm Steuerkommandos (seriell) zuschicken, die i.d.R. 2 bytes lang sind.

    Als Beispiel mal das Power Management Command:

    1 0 0 0 0 0 1 0 er ebb et es ex ebew dc

    An den ersten 8 bits erkennt der Chip, dass es sich eben um dieses Power-Management-Kommando handelt. Die Sequenz am Anfang ist nämlich bei jedem Kommando unterschiedlich - kannste ja mal überprüfen.

    Die dann folgenden, mit Buchstaben bezeichneten Bits legen dann die gewünschten Einstellungen fest. Soll das Teil senden, muss Bit Nr.5 (et = Enable Transmitter) 1 sein, wenn der Empfänger aktiviert werden soll, muss Bit Nr. 7 (er = Enable Receiver) 1 sein usw.

    Der kryptische Abschluss "POR" in der oberen Zeile heißt "Power-On-Reset", und die darunter stehende Zahl im Hexadezimal-Code gibt an, wie diese bits gesetzt sind, wenn der Chip "aufwacht" und noch nicht speziell konfiguriert wurde. Für das Power-Management-Kommando wäre das &H8208 oder binär 1000 0010 0000 1000. Also die korrekten 8 Anfangs-bits (klar), und alle Funktionen außer dem Quarzoszillator deaktiviert.

    Man muss beileibe nicht alle Kommandos ausführen, wenn ein Chip initialisiert wird. Dafür ist es ganz gut zu sehen, wie die Ausgangskonfiguration bei Power on ist. Je nach Anwendung kann das eine oder andere Steuer-bit genau so bleiben.

    Mit dem Befehl Spiout lassen ich diese 2-Byte-Blöcke superbequem an den Chip senden. Details hat auch hier die Bascom-Hilfe parat. Das schwierigste dabei (so ging es zumindesten mir) war in der Tat, das Prinzip der RFM-Chips zu verstehen.

    Und ich kann nur empfehlen, mit "leichten" Aufgaben anzufangen, z.B. einen unmodulierten Träger zu senden und zu empfangen, und nicht gleich FIFO-gepufferte Datenpakete zu übertragen oder sowas. Sonst weiß man schon gleich am Anfang nicht, weshalb es klemmt...

  9. #19
    Benutzer Stammmitglied
    Registriert seit
    29.04.2008
    Beiträge
    49
    @Sauerbruch

    Vielen Dank
    jetzt komm ich echt weiter, super

    werd gleich anfangen

    @einfache sachen schicken: ich informiere mich lieber immer erst so weit das ich sofort das programm schreiben kann was ich will so das es sofort läuft (oder nach kleineren Korrekturen)

    Nur hatte ich gedacht das der unterschied zwischen senden und register select durch den PIN "nSEL" eingestellt wird und nicht durch ein bit in dem an den rf übergebenen word


    Danke!

  10. #20
    Benutzer Stammmitglied
    Registriert seit
    29.04.2008
    Beiträge
    49
    aehm ok hab mir gerad alles angeschaut

    ich verstehe zwar jetzt wie ich den RFM12 einstelle nur merk ich gerad das ich nicht weiß was ich wie einzustellen habe
    auf dem pollin datenblatt steht hinten eine beispiel-Initialisierung drauf nur bin ich 1. mir nicht sicher ob die Fehlerfrei ist und 2. glaube ich auch das dort viel mehr eingestellt wird als für mich notwendig ist
    da ich nur nSEL CLK SDO und SDI angeschlossen hab und FSK mit 1kohm auf VCC liegt (im gegensatz zu pollin wo fast jeder pin am ATmega16 angeschlossen ist)

    desweiteren hab ich noch fragen wie ich die einstellungs-words an den RFM12 sende:
    - der CLK wird ja getaktet und muss ich nun ein komplettes word pro takt an den SDI schicken oder nur ein bit? und wie schnell soll ich den CLK takten?
    - muss ich nachdem ich das komplette word drin hab noch etwas machen damit er das word ausführt (zb den nSEL = 1 oder ist das automatisch sobald der FIFO voll ist)

    sorry wegen der ganzen fragen

Seite 2 von 4 ErsteErste 1234 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test