Dieser ArtikelBenutzerSuche |
AVR RFM12Schaltungen und Software für AVR und das Funkmodul RFM12.
[bearbeiten] SVNsvn://mikrocontroller.net/rfm12 Wegen Zugangsdaten bitte bei Andreas Schwarz melden. [bearbeiten] Software[bearbeiten] TreiberFirmware v1.0.0 von Benedikt K. Firmware v2.0.1 von Jürgen Eckert Einen Applikationsbericht zur Anschlussbelegung gibt es hier (<-- Link funktioniert nicht 13.02.08) Benötigt werden in der Minimal-Version im FIFO-Modus nur die Anschlüsse nSEL, SDO, SDI und SCK, eben das komplette SPI-Interface. Der Zugriff auf das Sende- und Empfangs-FIFO ist per Software möglich, ebenso die Abfrage der Statusbits. Deshalb werden z.B. nIRQ und nFFS nicht unbedingt benötigt. nIRQ signalisiert unter anderem, dass das Modul bereit ist Daten zu empfangen. Wenn Daten empfangen wurden, kann dies über den FFIT-Pin abgefragt werden (falls die Füllschwelle eingestellt wurde). nFFS dient dazu das FIFO direkt anzusprechen (es ist quasi der Chipselect für das FIFO), davon wird in der Minimalversion aber kein Gebrauch gemacht. Der Pin muss daher auf high-Pegel gelegt werden! An CLK kann eine Frequenz von 1MHz bis 10MHz eingestellt werden. Hiermit kann dann z.B. der Mikrocontroller versorgt werden. Reset ist ein Open-Collector-Ausgang und gleichzeitig der Reset-Eingang. Er sollte daher entweder gar nicht, oder aber hochohmig angeschlossen werden. Im FIFO-Mode kann das Modul konfiguriert werden mit dem Empfang zu warten, bis die Daten 0x2DD4 empfangen wurden. Sobald dieses Bitmuster empfangen wurde, werden Daten in das FIFO geschrieben, bis man das FIFO abschaltet und die Mustererkennung neu startet. Als weitere Modi stehen unter anderem ein synchroner Modus zur Verfügung (no FIFO mode), in dem der Sender/Empfänger den Bittakt ausgibt, und synchron dazu die zu sendenden Daten einliest bzw. die empfangenen Daten ausgibt. Der SPI Bus ist trotzdem zur Initialisierung des Moduls notwendig. [bearbeiten] Funktionalität1. Stufe: Die Daten von der seriellen Schnittstelle werden über die Funkstrecke auf die serielle Schnittstelle der anderen Seite übertragen. (Wir freuen uns über jedes Byte das ankommt) Software: Hier oder hier 2. Stufe: Es findet eine Fehlererkennung (z.B. mit CRC-Summen) statt. Fehlerhafte Daten werden erneut angefordert. Dadurch gehen auf der Funkstrecke keine Daten verloren und es werden keine Daten verfälscht. Software: Hier 3. Stufe: Die Datenübertragung wird individualisiert. Dadurch können zwei Funkstrecken, die im gleichen Empfangsbereich liegen nebeneinander arbeiten, ohne sich zu beeinträchtigen. 4. Stufe: Die Datenübertragung wird verschlüsselt und damit abhörsicher. 5. Stufe: Neben den Daten der seriellen Schnittstelle werden auch Änderungen der Statusleitungen übertragen. Damit erhält man eine "RS232-Verlängerung" über eine Funkstrecke, die fehlerfrei arbeitet und zu einer Drahtverbindung weitestgehend kompatibel ist. [bearbeiten] RS232 <-> RFM12[bearbeiten] USB <-> RFM12Mit avrusb lässt sich ein USB-Slave in Software emulieren.
[bearbeiten] Hardware[bearbeiten] Basismodul V1.0[bearbeiten] ProzessorATmega8 TQFP32 (kompatibel ATmega48, ATmega88, ATmega168) [bearbeiten] Schnittstellen
[bearbeiten] PlatineBauteile: Größe: SMD 0603
[bearbeiten] Bugs / Erweiterungen
[bearbeiten] FertigungIch werde die Platinen wohl hier fertigen lassen: http://mme-pcb.de/ Kosten (werde wegen den MAX3221 doch bei Farnell bestellen müssen):
[bearbeiten] Links
Folgende Links sind mit Vorsicht zu genießen, da die Datenblätter teilweise fehlerbehaftet sind. Es empfiehlt sich, direkt mit dem Datenblatt des RF12 (das ist das IC auf dem Modul) zu arbeiten. Dieses ist so gut wie fehlerfrei.
|