<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Energizer</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Energizer"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/Energizer"/>
	<updated>2026-04-11T03:54:24Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=106138</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=106138"/>
		<updated>2023-05-05T17:18:19Z</updated>

		<summary type="html">&lt;p&gt;Energizer: /* Projekte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|thumb|300px|RFM69CW, Pinkompatibel zum RFM12]]&lt;br /&gt;
Das RFM69 von HopeRF ist ein universelles Funkmodul für die ISM-Frequenzbänder 315, 433, 868 und 915 MHz. Eine [[SPI]]-Schnitttstelle ermöglicht die einfache Integration in Mikrocontrollerprojekte.&lt;br /&gt;
&lt;br /&gt;
== Ausführungen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM69HC(W) !! RFM69H(W) !! RFM69C(W) !! RFM69(W)&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 20 dBm || 20 dBm || 13 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Pins || 16 || 16 || 14 || 16&lt;br /&gt;
|-&lt;br /&gt;
| Abmessungen || 16 x 16 mm || 19,7 x 16 mm || 16 x 16 mm || 19,7 x 16 mm&lt;br /&gt;
|-&lt;br /&gt;
| Status || aktiv || EOL || aktiv || EOL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die H-Variante hat eine eingebaute Endstufe für eine etwas höhrere Ausgangsleistung.&lt;br /&gt;
Das RFM69C hat 2 Pins weniger (es fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B. Es kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden.&lt;br /&gt;
Viele Module haben noch die Endung &amp;quot;W&amp;quot;:&lt;br /&gt;
&amp;quot;Note: This module is the Chinese distribution version of the &#039;RFM69HW&#039;, &lt;br /&gt;
hence missing the &#039;W&#039; tag. This module is specified as being identical &lt;br /&gt;
in functionality and performance as well as still complaint to ETSI &lt;br /&gt;
and FCC requirements.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Ausstattung ==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI-Schnittstelle&lt;br /&gt;
* FSK- und OOK-Modulation (Frequency Shift Keying = Frequenzumtastung, On-Off-Keying = Amplitudentastung)&lt;br /&gt;
* Eingebauter Manchester de- und -encoder&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden (13 dBm), 16 mA empfangen, 0,1 µA Standby&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
* Module RFM69W und RFM69CW basieren auf dem SX1231 von Semtech (Pin PA_BOOST fehlt, deswegen nur +13dB)&lt;br /&gt;
* Module RFM69HW und RFM69HCW basieren auf dem SX1231H von Semtech&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69(C)W&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dBm || -120 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|-&lt;br /&gt;
| Syncmustererkennung || Fest 0x2DD4 oder 0xD4 || Frei bis zu 8 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann softwareseitig so konfiguriert werden, dass er anzeigt, wenn ein Paket vollständig gesendet oder ein neues Paket empfangen wurde. Ist das Modul in Minimalkonfiguration angeschlossen, müssen dazu die Statusregister RegIrqFlags1 (0x27) oder RegIrqFlags2 (0x28) ausgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Die SPI-Ansteuerung erfolgt im Modus CPOL=0, CPHA=0, wobei jeweils 16 Bits vom µC zum Modul geschickt werden:&lt;br /&gt;
Das erste Bit teilt dem Modul mit, ob es sich um einen Lese- (Bitwert 0) oder Schreibvorgang (Bitwert 1) handelt, die restlichen sieben Bit des ersten Bytes geben die Registeradresse an. Mit den zweiten acht Bit wird im Schreibmodus der zu übertragende Befehl an das Modul übermittelt, im Lesemodus kann eine beliebige Bitfolge gesendet werden. Während das zweite Byte gesendet wird, empfängt der µC sowohl im Lese- als auch im Schreibmodus den Inhalt des angesprochenen Registers vor dem aktuellen Zugriff.&lt;br /&gt;
&lt;br /&gt;
Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrementiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei, dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...), das höchstwertige Byte zu erst geschrieben/gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Es gibt zwei grundsätzliche Funktionsmodi, die im Register &amp;quot;RegDataModule&amp;quot; gewählt werden:&lt;br /&gt;
=== Continuous Mode ===&lt;br /&gt;
Für die Datenübertragung vom/zum Modul werden die beiden Pins &amp;quot;DIO1/DCLK&amp;quot; und &amp;quot;DIO2/DATA&amp;quot; verwendet. An DCLK gibt das Modul den Takt vor mit dem die Datenbits an DATA geschrieben oder gelesen werden müssen.&lt;br /&gt;
=== Packet Mode ===&lt;br /&gt;
Die Packetengine des RFM69 kümmert sich um die Erzeugung und Auswertung der Preamble, des Synchronwortes, des Scramblings, der CRC und der Verschlüsselung. Im Sendebetrieb bearbeitet die eingebaute Packet Engine ein Nutzdatenpaket folgendermaßen:&lt;br /&gt;
==== Fixed Length Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Einstellbare Anzahl (0-65535) von Preamblebytes (0xAA) an den Anfang setzen&lt;br /&gt;
* Synchronwort hinzufügen (Länge zwischen 0-8 Bytes einstellbar, Synchronwort selbst ebenfalls einstellbar)&lt;br /&gt;
* Nutzdaten hinzufügen (Länge wird in einem Register angegeben)&lt;br /&gt;
* CRC hinzufügen (abschaltbar)&lt;br /&gt;
===== Empfangen =====&lt;br /&gt;
* Länge des zu empfangenden Frames wird in einem Register angegeben&lt;br /&gt;
==== Variable Length Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Länge des zu sendenen Frames in einem Register angeben. Die Packetengine sendet das Längenbyte automatisch vor den Nutzdaten&lt;br /&gt;
===== Empfangen =====&lt;br /&gt;
* Packetengine erkennt automatisch die Packetlänge&lt;br /&gt;
==== Unlimited Length Packet Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Beliebig lange Frames; Senden muss von der Software selber gestoppt werden&lt;br /&gt;
===== Empfangen =====&lt;br /&gt;
* Empfangen muss von der Software selber gestoppt werden&lt;br /&gt;
&lt;br /&gt;
== Interrupts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung !! Beschreibung !! Verfügbar an (Packet mode) !! Verfügbar an (Cont. mode)&lt;br /&gt;
|-&lt;br /&gt;
| ModeReady || Beispiel || DIO5&lt;br /&gt;
|-&lt;br /&gt;
| RxReady || Beispiel || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| TxReady || Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PllLock || Beispiel || DIO3, DIO1, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| Rssi || Eingestellte Rssi-Schwelle überschritten; wird gelöscht wenn RX Modus verlassen wird || DIO0, DIO3 || DIO0, DIO3, DIO5&lt;br /&gt;
|-&lt;br /&gt;
| Timeout || Beispiel || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| AutoMode || Beispiel || DIO2&lt;br /&gt;
|-&lt;br /&gt;
| SyncAddressMatch || Syncadresse empfangen || DIO0, DIO3 || DIO0, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoFull || Beispiel || DIO3, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoNotEmpty || || DIO2, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoLevel || || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoOverrun || ||&lt;br /&gt;
|-&lt;br /&gt;
| PacketSent || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PayloadReady || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| CrcOk || || DIO0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69(H)CW ==&lt;br /&gt;
[[Datei:RFM12 69 Pins.svg|Anschlussbelegung RFM12B und RFM69]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Fktn. im packet mode !! Fktn. im cont. mode!! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || ||GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || ModeReady&amp;lt;br /&amp;gt;&lt;br /&gt;
PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
Timeout&amp;lt;br /&amp;gt;&lt;br /&gt;
Rssi&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || Data || FSK&amp;lt;br /&amp;gt;DATA&amp;lt;br /&amp;gt;nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
Dclk&amp;lt;br /&amp;gt;&lt;br /&gt;
RxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
 || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || ||CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Standby&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz; RegFrf = Frequenz_in_Hz / (FXOSC / 524288) || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung und Ausgangspin, muss passend zum Modultyp gewaehlt werden: PA1+2 funktionieren nur bei den *H*-Varianten, dafuer funktioniert dort PA0 nicht. || 0x12 = 18 -&amp;gt; 0 dBm (? stimmt das Beispiel?) ; 0x5F -&amp;gt; 13 dBM auf RFM69HCW ; 0x9F -&amp;gt; 13 dBm auf RFM69W&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x27|| RegIrqFlags1 || Statusflags (ModeReady, RxReady, TxReady, PllLock, RSSI, Timeout, AutoMode, SyncAddressMatch) || 0xD0 -&amp;gt; Empfänger bereit zum Datenempfang&lt;br /&gt;
|-&lt;br /&gt;
| 0x28|| RegIrqFlags2 || Statusflags (FifoFull, FifoNotEmpty, FifoLevel, FifoOverrun, PacketSent, PayloadReady, CrcOk, LowBat) || 0x06 -&amp;gt; Daten mit erfolgreichem CRC empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Implementierungen ==&lt;br /&gt;
* [https://github.com/LowPowerLab/RFM69 Arduinobibliothek (C++) von LowPowerLab]&lt;br /&gt;
* [https://github.com/jcw/jeelib Arduinobibliothek (C++) für JeeNodes]&lt;br /&gt;
* [https://github.com/gkaindl/rfm12b-linux Linux Kerneltreiber (C) für RFM12 und RFM69]&lt;br /&gt;
* [https://github.com/ahessling/RFM69-STM32 Bibliothek (C++) für STM32]&lt;br /&gt;
* [https://github.com/etrombly/RFM69 RFM69 Anbindung in Python]&lt;br /&gt;
* [https://github.com/russss/rfm69-python RFM69 Anbindung in Python]&lt;br /&gt;
* [https://github.com/cristi85/RFM69 RFM69 in C]&lt;br /&gt;
&lt;br /&gt;
== Projekte ==&lt;br /&gt;
&lt;br /&gt;
=== Intertechno, Brennenstuhl, FS20, und andere Funksteckdosen schalten ===&lt;br /&gt;
Hier gibt es einen Artikel wie mit einem Raspberry Pi und einem RFM69 Modul Funksteckdosen angesteuert werden:&lt;br /&gt;
[[http://www.seegel-systeme.de/2015/09/05/funksteckdosen-mit-dem-raspberry-pi-steuern/ Funksteckdosen am Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Conrad Energy Count 3000 ===&lt;br /&gt;
Unter http://forum.jeelabs.net/node/3412679.html?page=1 wurde schon das Protokoll der Conrad Energy Count 3000 (baugleich mit Technoline Cost Control RC) Funk-Energiekostenmessgeräte beschrieben. Mit dem RFM69 lässt sich ein Frame des Messgerätes mit dem konfigurierbarem Synchronwortfinder bequem empfangen.&lt;br /&gt;
&lt;br /&gt;
=== LaCrosse Temperatursensoren empfangen ===&lt;br /&gt;
Ein [https://www.seegel-systeme.de/2021/01/11/raumklima-mit-dem-raspberry-pi-ueberwachen-oder-wann-lueften/ Raumklimalogger] für den Raspberry PI mit einem RFM69CW Funkmodule&lt;br /&gt;
&lt;br /&gt;
=== Wetterstation Davis Vantage Vue ISS ===&lt;br /&gt;
[https://buwx.de/index.php/technik?start=2 Datalogger] für die Wetterstation mit Raspberry PI und RaspyRFM&lt;br /&gt;
&lt;br /&gt;
=== Open Energy Monitor empfangen ===&lt;br /&gt;
&lt;br /&gt;
== Hardware mit RFM69 ==&lt;br /&gt;
* [http://www.seegel-systeme.de/produkt/raspyrfm-ii/ RaspyRFM, ein Aufsteckmodul für den Raspberry Pi]&lt;br /&gt;
* [https://lowpowerlab.com/guide/moteino/ Moteino, Arduino kompatibles Board mit RFM69]&lt;br /&gt;
* [http://shop.in-circuit.de/product_info.php?cPath=22_27&amp;amp;products_id=159 radino, Minimodul mit ATMega32u4 und RFM69]&lt;br /&gt;
* [https://www.adafruit.com/product/3177 Adafruit Feather M0, Modul mit Atmel ARM und RFM69]&lt;br /&gt;
&lt;br /&gt;
== Themen zum RFM69 im Forum ==&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/332579 Thread im Forum: Wer verwendet RFM69]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/397900 RFM69 - Beispiel für Initialisierung gesucht]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/409803 RFM69 - RSSI Messung]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/359345 Simple SPI Interaktion mit dem rfm69 Modul]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/400123 RFM69 Sleep Mode]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/369204 Raspberry Pi mit RFM69 und FS20]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/370196 RFM 69 Hub, Bandbreite, Bitrate?]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/421164 RFM69 AFC Versatz auslesen?]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/372914 Umstieg von RFM22 auf RFM69]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
* [http://www.seegel-systeme.de/produkt/funkmodul-rfm69cw-rev-v1-0-smd/ Seegel Systeme]&lt;br /&gt;
* Pollin: [http://www.pollin.de/shop/dt/Nzk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_433_MHz_TX_RX.html 433 MHz] / [http://www.pollin.de/shop/dt/Njk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_868_MHz_TX_RX.html 868 MHz]&lt;br /&gt;
* [http://www.aliexpress.com/item/RFM69CW-13dBm-transceiver-module-pin-to-pin-compatible-to-RFM12B-433-868-915mhz-can-be-selected/2010762457.html AliExpress]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/sx1231.pdf Datenblatt Semtech SX1231]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/AN1200.18_STD.pdf Application Note zur Softwareimplementierung von Data-Whitening und CRC]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:RFM12]]&lt;br /&gt;
[[Kategorie:Funk]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=106137</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=106137"/>
		<updated>2023-05-05T17:14:25Z</updated>

		<summary type="html">&lt;p&gt;Energizer: /* LaCrosse Temperatursensoren empfangen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|thumb|300px|RFM69CW, Pinkompatibel zum RFM12]]&lt;br /&gt;
Das RFM69 von HopeRF ist ein universelles Funkmodul für die ISM-Frequenzbänder 315, 433, 868 und 915 MHz. Eine [[SPI]]-Schnitttstelle ermöglicht die einfache Integration in Mikrocontrollerprojekte.&lt;br /&gt;
&lt;br /&gt;
== Ausführungen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM69HC(W) !! RFM69H(W) !! RFM69C(W) !! RFM69(W)&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 20 dBm || 20 dBm || 13 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Pins || 16 || 16 || 14 || 16&lt;br /&gt;
|-&lt;br /&gt;
| Abmessungen || 16 x 16 mm || 19,7 x 16 mm || 16 x 16 mm || 19,7 x 16 mm&lt;br /&gt;
|-&lt;br /&gt;
| Status || aktiv || EOL || aktiv || EOL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die H-Variante hat eine eingebaute Endstufe für eine etwas höhrere Ausgangsleistung.&lt;br /&gt;
Das RFM69C hat 2 Pins weniger (es fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B. Es kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden.&lt;br /&gt;
Viele Module haben noch die Endung &amp;quot;W&amp;quot;:&lt;br /&gt;
&amp;quot;Note: This module is the Chinese distribution version of the &#039;RFM69HW&#039;, &lt;br /&gt;
hence missing the &#039;W&#039; tag. This module is specified as being identical &lt;br /&gt;
in functionality and performance as well as still complaint to ETSI &lt;br /&gt;
and FCC requirements.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Ausstattung ==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI-Schnittstelle&lt;br /&gt;
* FSK- und OOK-Modulation (Frequency Shift Keying = Frequenzumtastung, On-Off-Keying = Amplitudentastung)&lt;br /&gt;
* Eingebauter Manchester de- und -encoder&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden (13 dBm), 16 mA empfangen, 0,1 µA Standby&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
* Module RFM69W und RFM69CW basieren auf dem SX1231 von Semtech (Pin PA_BOOST fehlt, deswegen nur +13dB)&lt;br /&gt;
* Module RFM69HW und RFM69HCW basieren auf dem SX1231H von Semtech&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69(C)W&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dBm || -120 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|-&lt;br /&gt;
| Syncmustererkennung || Fest 0x2DD4 oder 0xD4 || Frei bis zu 8 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann softwareseitig so konfiguriert werden, dass er anzeigt, wenn ein Paket vollständig gesendet oder ein neues Paket empfangen wurde. Ist das Modul in Minimalkonfiguration angeschlossen, müssen dazu die Statusregister RegIrqFlags1 (0x27) oder RegIrqFlags2 (0x28) ausgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Die SPI-Ansteuerung erfolgt im Modus CPOL=0, CPHA=0, wobei jeweils 16 Bits vom µC zum Modul geschickt werden:&lt;br /&gt;
Das erste Bit teilt dem Modul mit, ob es sich um einen Lese- (Bitwert 0) oder Schreibvorgang (Bitwert 1) handelt, die restlichen sieben Bit des ersten Bytes geben die Registeradresse an. Mit den zweiten acht Bit wird im Schreibmodus der zu übertragende Befehl an das Modul übermittelt, im Lesemodus kann eine beliebige Bitfolge gesendet werden. Während das zweite Byte gesendet wird, empfängt der µC sowohl im Lese- als auch im Schreibmodus den Inhalt des angesprochenen Registers vor dem aktuellen Zugriff.&lt;br /&gt;
&lt;br /&gt;
Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrementiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei, dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...), das höchstwertige Byte zu erst geschrieben/gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Es gibt zwei grundsätzliche Funktionsmodi, die im Register &amp;quot;RegDataModule&amp;quot; gewählt werden:&lt;br /&gt;
=== Continuous Mode ===&lt;br /&gt;
Für die Datenübertragung vom/zum Modul werden die beiden Pins &amp;quot;DIO1/DCLK&amp;quot; und &amp;quot;DIO2/DATA&amp;quot; verwendet. An DCLK gibt das Modul den Takt vor mit dem die Datenbits an DATA geschrieben oder gelesen werden müssen.&lt;br /&gt;
=== Packet Mode ===&lt;br /&gt;
Die Packetengine des RFM69 kümmert sich um die Erzeugung und Auswertung der Preamble, des Synchronwortes, des Scramblings, der CRC und der Verschlüsselung. Im Sendebetrieb bearbeitet die eingebaute Packet Engine ein Nutzdatenpaket folgendermaßen:&lt;br /&gt;
==== Fixed Length Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Einstellbare Anzahl (0-65535) von Preamblebytes (0xAA) an den Anfang setzen&lt;br /&gt;
* Synchronwort hinzufügen (Länge zwischen 0-8 Bytes einstellbar, Synchronwort selbst ebenfalls einstellbar)&lt;br /&gt;
* Nutzdaten hinzufügen (Länge wird in einem Register angegeben)&lt;br /&gt;
* CRC hinzufügen (abschaltbar)&lt;br /&gt;
===== Empfangen =====&lt;br /&gt;
* Länge des zu empfangenden Frames wird in einem Register angegeben&lt;br /&gt;
==== Variable Length Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Länge des zu sendenen Frames in einem Register angeben. Die Packetengine sendet das Längenbyte automatisch vor den Nutzdaten&lt;br /&gt;
===== Empfangen =====&lt;br /&gt;
* Packetengine erkennt automatisch die Packetlänge&lt;br /&gt;
==== Unlimited Length Packet Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Beliebig lange Frames; Senden muss von der Software selber gestoppt werden&lt;br /&gt;
===== Empfangen =====&lt;br /&gt;
* Empfangen muss von der Software selber gestoppt werden&lt;br /&gt;
&lt;br /&gt;
== Interrupts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung !! Beschreibung !! Verfügbar an (Packet mode) !! Verfügbar an (Cont. mode)&lt;br /&gt;
|-&lt;br /&gt;
| ModeReady || Beispiel || DIO5&lt;br /&gt;
|-&lt;br /&gt;
| RxReady || Beispiel || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| TxReady || Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PllLock || Beispiel || DIO3, DIO1, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| Rssi || Eingestellte Rssi-Schwelle überschritten; wird gelöscht wenn RX Modus verlassen wird || DIO0, DIO3 || DIO0, DIO3, DIO5&lt;br /&gt;
|-&lt;br /&gt;
| Timeout || Beispiel || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| AutoMode || Beispiel || DIO2&lt;br /&gt;
|-&lt;br /&gt;
| SyncAddressMatch || Syncadresse empfangen || DIO0, DIO3 || DIO0, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoFull || Beispiel || DIO3, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoNotEmpty || || DIO2, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoLevel || || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoOverrun || ||&lt;br /&gt;
|-&lt;br /&gt;
| PacketSent || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PayloadReady || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| CrcOk || || DIO0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69(H)CW ==&lt;br /&gt;
[[Datei:RFM12 69 Pins.svg|Anschlussbelegung RFM12B und RFM69]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Fktn. im packet mode !! Fktn. im cont. mode!! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || ||GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || ModeReady&amp;lt;br /&amp;gt;&lt;br /&gt;
PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
Timeout&amp;lt;br /&amp;gt;&lt;br /&gt;
Rssi&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || Data || FSK&amp;lt;br /&amp;gt;DATA&amp;lt;br /&amp;gt;nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
Dclk&amp;lt;br /&amp;gt;&lt;br /&gt;
RxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
 || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || ||CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Standby&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz; RegFrf = Frequenz_in_Hz / (FXOSC / 524288) || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung und Ausgangspin, muss passend zum Modultyp gewaehlt werden: PA1+2 funktionieren nur bei den *H*-Varianten, dafuer funktioniert dort PA0 nicht. || 0x12 = 18 -&amp;gt; 0 dBm (? stimmt das Beispiel?) ; 0x5F -&amp;gt; 13 dBM auf RFM69HCW ; 0x9F -&amp;gt; 13 dBm auf RFM69W&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x27|| RegIrqFlags1 || Statusflags (ModeReady, RxReady, TxReady, PllLock, RSSI, Timeout, AutoMode, SyncAddressMatch) || 0xD0 -&amp;gt; Empfänger bereit zum Datenempfang&lt;br /&gt;
|-&lt;br /&gt;
| 0x28|| RegIrqFlags2 || Statusflags (FifoFull, FifoNotEmpty, FifoLevel, FifoOverrun, PacketSent, PayloadReady, CrcOk, LowBat) || 0x06 -&amp;gt; Daten mit erfolgreichem CRC empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Implementierungen ==&lt;br /&gt;
* [https://github.com/LowPowerLab/RFM69 Arduinobibliothek (C++) von LowPowerLab]&lt;br /&gt;
* [https://github.com/jcw/jeelib Arduinobibliothek (C++) für JeeNodes]&lt;br /&gt;
* [https://github.com/gkaindl/rfm12b-linux Linux Kerneltreiber (C) für RFM12 und RFM69]&lt;br /&gt;
* [https://github.com/ahessling/RFM69-STM32 Bibliothek (C++) für STM32]&lt;br /&gt;
* [https://github.com/etrombly/RFM69 RFM69 Anbindung in Python]&lt;br /&gt;
* [https://github.com/russss/rfm69-python RFM69 Anbindung in Python]&lt;br /&gt;
* [https://github.com/cristi85/RFM69 RFM69 in C]&lt;br /&gt;
&lt;br /&gt;
== Projekte ==&lt;br /&gt;
&lt;br /&gt;
=== Intertechno Funksteckdosen schalten ===&lt;br /&gt;
Hier gibt es einen Artikel wie mit einem Raspberry Pi und einem RFM69 Modul Funksteckdosen angesteuert werden:&lt;br /&gt;
[[http://www.seegel-systeme.de/2015/09/05/funksteckdosen-mit-dem-raspberry-pi-steuern/ Funksteckdosen am Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
=== FS20 Funksteckdosen schalten ===&lt;br /&gt;
Da das RFM69 OOK modulieren kann, können damit die FS20 Funksteckdosen geschaltet werden. FS20 verwendet allerdings eine Art Pulsdauermodulation; eine 1 wird mit 600&amp;amp;nbsp;µs Träger an gefolgt von 600&amp;amp;nbsp;µs Träger aus, und eine 0 mit 400&amp;amp;nbsp;µs an gefolgt von 400&amp;amp;nbsp;µs aus übertragen. Man teilt einfach das Signal in 200&amp;amp;nbsp;µs Schlitze ein (OOK-Datenrate 5&amp;amp;nbsp;kbit/s), und sendet für eine 1 die Folge 111000 und für eine 0 die Folge 1100. Im FS20 Protokoll wird ein 13 Bit langer Header (0000000000001) übertragen, diesen kann man umrechnen und im RFM69 als Syncword einstellen. So wird der Header vom RFM69 bei jeder Übertragung automatisch vorweg ausgesendet.&lt;br /&gt;
&lt;br /&gt;
=== Conrad Energy Count 3000 ===&lt;br /&gt;
Unter http://forum.jeelabs.net/node/3412679.html?page=1 wurde schon das Protokoll der Conrad Energy Count 3000 (baugleich mit Technoline Cost Control RC) Funk-Energiekostenmessgeräte beschrieben. Mit dem RFM69 lässt sich ein Frame des Messgerätes mit dem konfigurierbarem Synchronwortfinder bequem empfangen.&lt;br /&gt;
&lt;br /&gt;
=== LaCrosse Temperatursensoren empfangen ===&lt;br /&gt;
Ein [https://www.seegel-systeme.de/2021/01/11/raumklima-mit-dem-raspberry-pi-ueberwachen-oder-wann-lueften/ Raumklimalogger] für den Raspberry PI mit einem RFM69CW Funkmodule&lt;br /&gt;
&lt;br /&gt;
=== Open Energy Monitor empfangen ===&lt;br /&gt;
&lt;br /&gt;
== Hardware mit RFM69 ==&lt;br /&gt;
* [http://www.seegel-systeme.de/produkt/raspyrfm-ii/ RaspyRFM, ein Aufsteckmodul für den Raspberry Pi]&lt;br /&gt;
* [https://lowpowerlab.com/guide/moteino/ Moteino, Arduino kompatibles Board mit RFM69]&lt;br /&gt;
* [http://shop.in-circuit.de/product_info.php?cPath=22_27&amp;amp;products_id=159 radino, Minimodul mit ATMega32u4 und RFM69]&lt;br /&gt;
* [https://www.adafruit.com/product/3177 Adafruit Feather M0, Modul mit Atmel ARM und RFM69]&lt;br /&gt;
&lt;br /&gt;
== Themen zum RFM69 im Forum ==&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/332579 Thread im Forum: Wer verwendet RFM69]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/397900 RFM69 - Beispiel für Initialisierung gesucht]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/409803 RFM69 - RSSI Messung]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/359345 Simple SPI Interaktion mit dem rfm69 Modul]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/400123 RFM69 Sleep Mode]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/369204 Raspberry Pi mit RFM69 und FS20]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/370196 RFM 69 Hub, Bandbreite, Bitrate?]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/421164 RFM69 AFC Versatz auslesen?]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/372914 Umstieg von RFM22 auf RFM69]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
* [http://www.seegel-systeme.de/produkt/funkmodul-rfm69cw-rev-v1-0-smd/ Seegel Systeme]&lt;br /&gt;
* Pollin: [http://www.pollin.de/shop/dt/Nzk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_433_MHz_TX_RX.html 433 MHz] / [http://www.pollin.de/shop/dt/Njk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_868_MHz_TX_RX.html 868 MHz]&lt;br /&gt;
* [http://www.aliexpress.com/item/RFM69CW-13dBm-transceiver-module-pin-to-pin-compatible-to-RFM12B-433-868-915mhz-can-be-selected/2010762457.html AliExpress]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/sx1231.pdf Datenblatt Semtech SX1231]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/AN1200.18_STD.pdf Application Note zur Softwareimplementierung von Data-Whitening und CRC]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:RFM12]]&lt;br /&gt;
[[Kategorie:Funk]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=106136</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=106136"/>
		<updated>2023-05-05T17:10:30Z</updated>

		<summary type="html">&lt;p&gt;Energizer: /* Ausführungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|thumb|300px|RFM69CW, Pinkompatibel zum RFM12]]&lt;br /&gt;
Das RFM69 von HopeRF ist ein universelles Funkmodul für die ISM-Frequenzbänder 315, 433, 868 und 915 MHz. Eine [[SPI]]-Schnitttstelle ermöglicht die einfache Integration in Mikrocontrollerprojekte.&lt;br /&gt;
&lt;br /&gt;
== Ausführungen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM69HC(W) !! RFM69H(W) !! RFM69C(W) !! RFM69(W)&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 20 dBm || 20 dBm || 13 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Pins || 16 || 16 || 14 || 16&lt;br /&gt;
|-&lt;br /&gt;
| Abmessungen || 16 x 16 mm || 19,7 x 16 mm || 16 x 16 mm || 19,7 x 16 mm&lt;br /&gt;
|-&lt;br /&gt;
| Status || aktiv || EOL || aktiv || EOL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die H-Variante hat eine eingebaute Endstufe für eine etwas höhrere Ausgangsleistung.&lt;br /&gt;
Das RFM69C hat 2 Pins weniger (es fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B. Es kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden.&lt;br /&gt;
Viele Module haben noch die Endung &amp;quot;W&amp;quot;:&lt;br /&gt;
&amp;quot;Note: This module is the Chinese distribution version of the &#039;RFM69HW&#039;, &lt;br /&gt;
hence missing the &#039;W&#039; tag. This module is specified as being identical &lt;br /&gt;
in functionality and performance as well as still complaint to ETSI &lt;br /&gt;
and FCC requirements.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Ausstattung ==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI-Schnittstelle&lt;br /&gt;
* FSK- und OOK-Modulation (Frequency Shift Keying = Frequenzumtastung, On-Off-Keying = Amplitudentastung)&lt;br /&gt;
* Eingebauter Manchester de- und -encoder&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden (13 dBm), 16 mA empfangen, 0,1 µA Standby&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
* Module RFM69W und RFM69CW basieren auf dem SX1231 von Semtech (Pin PA_BOOST fehlt, deswegen nur +13dB)&lt;br /&gt;
* Module RFM69HW und RFM69HCW basieren auf dem SX1231H von Semtech&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69(C)W&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dBm || -120 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|-&lt;br /&gt;
| Syncmustererkennung || Fest 0x2DD4 oder 0xD4 || Frei bis zu 8 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann softwareseitig so konfiguriert werden, dass er anzeigt, wenn ein Paket vollständig gesendet oder ein neues Paket empfangen wurde. Ist das Modul in Minimalkonfiguration angeschlossen, müssen dazu die Statusregister RegIrqFlags1 (0x27) oder RegIrqFlags2 (0x28) ausgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Die SPI-Ansteuerung erfolgt im Modus CPOL=0, CPHA=0, wobei jeweils 16 Bits vom µC zum Modul geschickt werden:&lt;br /&gt;
Das erste Bit teilt dem Modul mit, ob es sich um einen Lese- (Bitwert 0) oder Schreibvorgang (Bitwert 1) handelt, die restlichen sieben Bit des ersten Bytes geben die Registeradresse an. Mit den zweiten acht Bit wird im Schreibmodus der zu übertragende Befehl an das Modul übermittelt, im Lesemodus kann eine beliebige Bitfolge gesendet werden. Während das zweite Byte gesendet wird, empfängt der µC sowohl im Lese- als auch im Schreibmodus den Inhalt des angesprochenen Registers vor dem aktuellen Zugriff.&lt;br /&gt;
&lt;br /&gt;
Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrementiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei, dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...), das höchstwertige Byte zu erst geschrieben/gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Es gibt zwei grundsätzliche Funktionsmodi, die im Register &amp;quot;RegDataModule&amp;quot; gewählt werden:&lt;br /&gt;
=== Continuous Mode ===&lt;br /&gt;
Für die Datenübertragung vom/zum Modul werden die beiden Pins &amp;quot;DIO1/DCLK&amp;quot; und &amp;quot;DIO2/DATA&amp;quot; verwendet. An DCLK gibt das Modul den Takt vor mit dem die Datenbits an DATA geschrieben oder gelesen werden müssen.&lt;br /&gt;
=== Packet Mode ===&lt;br /&gt;
Die Packetengine des RFM69 kümmert sich um die Erzeugung und Auswertung der Preamble, des Synchronwortes, des Scramblings, der CRC und der Verschlüsselung. Im Sendebetrieb bearbeitet die eingebaute Packet Engine ein Nutzdatenpaket folgendermaßen:&lt;br /&gt;
==== Fixed Length Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Einstellbare Anzahl (0-65535) von Preamblebytes (0xAA) an den Anfang setzen&lt;br /&gt;
* Synchronwort hinzufügen (Länge zwischen 0-8 Bytes einstellbar, Synchronwort selbst ebenfalls einstellbar)&lt;br /&gt;
* Nutzdaten hinzufügen (Länge wird in einem Register angegeben)&lt;br /&gt;
* CRC hinzufügen (abschaltbar)&lt;br /&gt;
===== Empfangen =====&lt;br /&gt;
* Länge des zu empfangenden Frames wird in einem Register angegeben&lt;br /&gt;
==== Variable Length Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Länge des zu sendenen Frames in einem Register angeben. Die Packetengine sendet das Längenbyte automatisch vor den Nutzdaten&lt;br /&gt;
===== Empfangen =====&lt;br /&gt;
* Packetengine erkennt automatisch die Packetlänge&lt;br /&gt;
==== Unlimited Length Packet Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Beliebig lange Frames; Senden muss von der Software selber gestoppt werden&lt;br /&gt;
===== Empfangen =====&lt;br /&gt;
* Empfangen muss von der Software selber gestoppt werden&lt;br /&gt;
&lt;br /&gt;
== Interrupts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung !! Beschreibung !! Verfügbar an (Packet mode) !! Verfügbar an (Cont. mode)&lt;br /&gt;
|-&lt;br /&gt;
| ModeReady || Beispiel || DIO5&lt;br /&gt;
|-&lt;br /&gt;
| RxReady || Beispiel || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| TxReady || Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PllLock || Beispiel || DIO3, DIO1, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| Rssi || Eingestellte Rssi-Schwelle überschritten; wird gelöscht wenn RX Modus verlassen wird || DIO0, DIO3 || DIO0, DIO3, DIO5&lt;br /&gt;
|-&lt;br /&gt;
| Timeout || Beispiel || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| AutoMode || Beispiel || DIO2&lt;br /&gt;
|-&lt;br /&gt;
| SyncAddressMatch || Syncadresse empfangen || DIO0, DIO3 || DIO0, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoFull || Beispiel || DIO3, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoNotEmpty || || DIO2, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoLevel || || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoOverrun || ||&lt;br /&gt;
|-&lt;br /&gt;
| PacketSent || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PayloadReady || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| CrcOk || || DIO0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69(H)CW ==&lt;br /&gt;
[[Datei:RFM12 69 Pins.svg|Anschlussbelegung RFM12B und RFM69]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Fktn. im packet mode !! Fktn. im cont. mode!! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || ||GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || ModeReady&amp;lt;br /&amp;gt;&lt;br /&gt;
PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
Timeout&amp;lt;br /&amp;gt;&lt;br /&gt;
Rssi&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || Data || FSK&amp;lt;br /&amp;gt;DATA&amp;lt;br /&amp;gt;nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
Dclk&amp;lt;br /&amp;gt;&lt;br /&gt;
RxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
 || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || ||CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Standby&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz; RegFrf = Frequenz_in_Hz / (FXOSC / 524288) || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung und Ausgangspin, muss passend zum Modultyp gewaehlt werden: PA1+2 funktionieren nur bei den *H*-Varianten, dafuer funktioniert dort PA0 nicht. || 0x12 = 18 -&amp;gt; 0 dBm (? stimmt das Beispiel?) ; 0x5F -&amp;gt; 13 dBM auf RFM69HCW ; 0x9F -&amp;gt; 13 dBm auf RFM69W&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x27|| RegIrqFlags1 || Statusflags (ModeReady, RxReady, TxReady, PllLock, RSSI, Timeout, AutoMode, SyncAddressMatch) || 0xD0 -&amp;gt; Empfänger bereit zum Datenempfang&lt;br /&gt;
|-&lt;br /&gt;
| 0x28|| RegIrqFlags2 || Statusflags (FifoFull, FifoNotEmpty, FifoLevel, FifoOverrun, PacketSent, PayloadReady, CrcOk, LowBat) || 0x06 -&amp;gt; Daten mit erfolgreichem CRC empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Implementierungen ==&lt;br /&gt;
* [https://github.com/LowPowerLab/RFM69 Arduinobibliothek (C++) von LowPowerLab]&lt;br /&gt;
* [https://github.com/jcw/jeelib Arduinobibliothek (C++) für JeeNodes]&lt;br /&gt;
* [https://github.com/gkaindl/rfm12b-linux Linux Kerneltreiber (C) für RFM12 und RFM69]&lt;br /&gt;
* [https://github.com/ahessling/RFM69-STM32 Bibliothek (C++) für STM32]&lt;br /&gt;
* [https://github.com/etrombly/RFM69 RFM69 Anbindung in Python]&lt;br /&gt;
* [https://github.com/russss/rfm69-python RFM69 Anbindung in Python]&lt;br /&gt;
* [https://github.com/cristi85/RFM69 RFM69 in C]&lt;br /&gt;
&lt;br /&gt;
== Projekte ==&lt;br /&gt;
&lt;br /&gt;
=== Intertechno Funksteckdosen schalten ===&lt;br /&gt;
Hier gibt es einen Artikel wie mit einem Raspberry Pi und einem RFM69 Modul Funksteckdosen angesteuert werden:&lt;br /&gt;
[[http://www.seegel-systeme.de/2015/09/05/funksteckdosen-mit-dem-raspberry-pi-steuern/ Funksteckdosen am Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
=== FS20 Funksteckdosen schalten ===&lt;br /&gt;
Da das RFM69 OOK modulieren kann, können damit die FS20 Funksteckdosen geschaltet werden. FS20 verwendet allerdings eine Art Pulsdauermodulation; eine 1 wird mit 600&amp;amp;nbsp;µs Träger an gefolgt von 600&amp;amp;nbsp;µs Träger aus, und eine 0 mit 400&amp;amp;nbsp;µs an gefolgt von 400&amp;amp;nbsp;µs aus übertragen. Man teilt einfach das Signal in 200&amp;amp;nbsp;µs Schlitze ein (OOK-Datenrate 5&amp;amp;nbsp;kbit/s), und sendet für eine 1 die Folge 111000 und für eine 0 die Folge 1100. Im FS20 Protokoll wird ein 13 Bit langer Header (0000000000001) übertragen, diesen kann man umrechnen und im RFM69 als Syncword einstellen. So wird der Header vom RFM69 bei jeder Übertragung automatisch vorweg ausgesendet.&lt;br /&gt;
&lt;br /&gt;
=== Conrad Energy Count 3000 ===&lt;br /&gt;
Unter http://forum.jeelabs.net/node/3412679.html?page=1 wurde schon das Protokoll der Conrad Energy Count 3000 (baugleich mit Technoline Cost Control RC) Funk-Energiekostenmessgeräte beschrieben. Mit dem RFM69 lässt sich ein Frame des Messgerätes mit dem konfigurierbarem Synchronwortfinder bequem empfangen.&lt;br /&gt;
&lt;br /&gt;
=== LaCrosse Temperatursensoren empfangen ===&lt;br /&gt;
=== Open Energy Monitor empfangen ===&lt;br /&gt;
&lt;br /&gt;
== Hardware mit RFM69 ==&lt;br /&gt;
* [http://www.seegel-systeme.de/produkt/raspyrfm-ii/ RaspyRFM, ein Aufsteckmodul für den Raspberry Pi]&lt;br /&gt;
* [https://lowpowerlab.com/guide/moteino/ Moteino, Arduino kompatibles Board mit RFM69]&lt;br /&gt;
* [http://shop.in-circuit.de/product_info.php?cPath=22_27&amp;amp;products_id=159 radino, Minimodul mit ATMega32u4 und RFM69]&lt;br /&gt;
* [https://www.adafruit.com/product/3177 Adafruit Feather M0, Modul mit Atmel ARM und RFM69]&lt;br /&gt;
&lt;br /&gt;
== Themen zum RFM69 im Forum ==&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/332579 Thread im Forum: Wer verwendet RFM69]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/397900 RFM69 - Beispiel für Initialisierung gesucht]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/409803 RFM69 - RSSI Messung]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/359345 Simple SPI Interaktion mit dem rfm69 Modul]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/400123 RFM69 Sleep Mode]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/369204 Raspberry Pi mit RFM69 und FS20]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/370196 RFM 69 Hub, Bandbreite, Bitrate?]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/421164 RFM69 AFC Versatz auslesen?]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/372914 Umstieg von RFM22 auf RFM69]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
* [http://www.seegel-systeme.de/produkt/funkmodul-rfm69cw-rev-v1-0-smd/ Seegel Systeme]&lt;br /&gt;
* Pollin: [http://www.pollin.de/shop/dt/Nzk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_433_MHz_TX_RX.html 433 MHz] / [http://www.pollin.de/shop/dt/Njk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_868_MHz_TX_RX.html 868 MHz]&lt;br /&gt;
* [http://www.aliexpress.com/item/RFM69CW-13dBm-transceiver-module-pin-to-pin-compatible-to-RFM12B-433-868-915mhz-can-be-selected/2010762457.html AliExpress]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/sx1231.pdf Datenblatt Semtech SX1231]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/AN1200.18_STD.pdf Application Note zur Softwareimplementierung von Data-Whitening und CRC]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:RFM12]]&lt;br /&gt;
[[Kategorie:Funk]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RS-485&amp;diff=100101</id>
		<title>RS-485</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RS-485&amp;diff=100101"/>
		<updated>2018-12-12T13:42:16Z</updated>

		<summary type="html">&lt;p&gt;Energizer: /* Übersicht RS485 / RS422 Baustaine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:RS485.svg|thumb|right|Transceiver ADM483E: Links ist CMOS/TTL-Logik, rechts die RS485-Leitung.]]&lt;br /&gt;
Der RS485-Standard ist eine physikalische Spezifikation einer Reihe bidirektionaler Verbindungen über ein differentielles Leitungspaar, die von mehreren Protokollen benutzt wird. Die Leitung wird idealerweise als twisted Pair mit 120Ω [[Wellenwiderstand]] ausgeführt. Es können zwei oder mehrere Teilnehmer angeschlossen sein. Der Leitungsaufbau erfolgt immer als eine Linie und niemals als Stern mit etwaigen Stichleitungen. Die Leitung ist idealerweise an beiden Enden terminiert, was für höhere Übertragungsgeschwindigkeiten sowie größere Distanzen zwingend erforderlich ist. Bei sehr kurzen Leitungen oder niedrigen Ü-Geschwindigkeiten ist dies nicht unbedingt der Fall, siehe Artikel [[Wellenwiderstand]]. Das physikalische Interface in Mikrocontrollern und CHIP-basierten Anwendungen ist meistens ein vollständiger RS485 Transceiver, der einen Sender sowie einen Empfaenger beinhaltet und das logische Protokoll realisiert. Bei FPGAs und schnellen Microcontrollern reicht ein RS-485 Buffer.&lt;br /&gt;
&lt;br /&gt;
Da nicht mehrere Sender gleichzeitig auf die Leitung aufgeschaltet sein dürfen, muss der jeweilige Sender nach Bedarf eingeschaltet werden ([http://de.wikipedia.org/wiki/Duplex_%28Nachrichtentechnik%29 Halbduplex]). Dies wird auf Protokollebene definiert. Der Sender steuert das differentielle Leitungspaar voll aus, d.h. geht unbelastet auf 0V/Vcc, wobei es 3.3V, sowie 5V Bausteine gibt. Unter Last nimmt die Amplitude dann ab. Der Empfänger braucht minimal 70mV Differenzspannung in einem Gleichtaktbereich von -7...+12V. Es gibt auch Bausteine mit höheren Gleichtaktspannungen. &lt;br /&gt;
&lt;br /&gt;
Während der Standard von bis zu 32 Bausteinen pro Leitung ausgeht, sind Viertel- und Achtelpower-Bausteine erhältlich, wovon dann 128 bzw. 256 Stück an eine Leitung angeschlossen werden können. Die Geschwindigkeit und die Reichweite sind nicht im Standard definiert. &lt;br /&gt;
&lt;br /&gt;
Bisher sind alle Transceiver pinkompatibel.&lt;br /&gt;
&lt;br /&gt;
== Übersicht RS485 / RS422 Baustaine ==&lt;br /&gt;
{| {{Tabelle}} border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;rs485ics&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#eeeeee&amp;quot;&lt;br /&gt;
! Bezeichnung&lt;br /&gt;
! Package&lt;br /&gt;
! Hersteller&lt;br /&gt;
! Vcc/V&lt;br /&gt;
! Datarate/Mbps&lt;br /&gt;
! Slewrate limited&lt;br /&gt;
! Max. trans. on bus&lt;br /&gt;
! Lieferant&lt;br /&gt;
|-&lt;br /&gt;
| LTC1480&lt;br /&gt;
| SO-8&lt;br /&gt;
| Linear&lt;br /&gt;
| 3,3&lt;br /&gt;
| 2,5&lt;br /&gt;
| ?&lt;br /&gt;
| 32&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| MAX481&lt;br /&gt;
| SO-8&lt;br /&gt;
| Maxim&lt;br /&gt;
| 5&lt;br /&gt;
| 2,5&lt;br /&gt;
| nein&lt;br /&gt;
| 32&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| MAX485&lt;br /&gt;
| SO-8&lt;br /&gt;
| Maxim&lt;br /&gt;
| 5&lt;br /&gt;
| 2,5&lt;br /&gt;
| nein&lt;br /&gt;
| 32&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| MAX3485&lt;br /&gt;
| SO-8&lt;br /&gt;
| Maxim&lt;br /&gt;
| 3,3&lt;br /&gt;
| &lt;br /&gt;
| ja&lt;br /&gt;
| 32&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| SP3485&lt;br /&gt;
| SO-8&lt;br /&gt;
| Exar&lt;br /&gt;
| 3,3&lt;br /&gt;
| 10&lt;br /&gt;
| nein&lt;br /&gt;
| 32&lt;br /&gt;
| R&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Meist genutzte RS485-Bausteine ==&lt;br /&gt;
* [//www.mikrocontroller.net/part/SN75176 SN75176], günstig und leicht zu beschaffen, aber ein Stromfresser (28-50mA!)&lt;br /&gt;
* [//www.mikrocontroller.net/part/LTC485 LTC485]&lt;br /&gt;
* [//www.mikrocontroller.net/part/MAX485 MAX485] Moderne CMOS-Variante mit weniger als 1mA Eigenverbrauch&lt;br /&gt;
* [//www.mikrocontroller.net/part/ADM485 ADM485]&lt;br /&gt;
* [//www.mikrocontroller.net/part/ADM483 ADM483] von Analog Devics, 250kBit, supply 350uA plus load, SO8, 1.14$@100&lt;br /&gt;
* [//www.mikrocontroller.net/part/SN65HVD11 SN65HVD11D] von Texas, für 3V3 Schaltungen, recht billig (der [//www.mikrocontroller.net/part/SN65HVD75 SN65HVD75D] arbeitet auch mit 3V3, hat zusätzlich ESD Protection und kostet derzeit bei Farnell nur 2,15€ also etwa einen Euro billiger als der SN65HVD11D)&lt;br /&gt;
* ISL83483 von Intersil, 3,3 V, recht günstig, inkl. Failsafewiderständen&lt;br /&gt;
&lt;br /&gt;
== Speziellere Ausführungen ==&lt;br /&gt;
&lt;br /&gt;
* SN65HVD23D   von TI, extended common mode -20 to +25V, 25MBit @160m, 64nodes, supply 7mA plus load, SO8, 4.05$@1&lt;br /&gt;
* SN65HVD24D   von TI, extended common mode -20 to +25V, 3MBit @500m, 256 nodes, supply 10mA plus load, SO8, 4.05$ @1&lt;br /&gt;
&lt;br /&gt;
== Weitere Hinweise ==&lt;br /&gt;
&lt;br /&gt;
[[bild:rs485_term.png | framed | RS485 Terminierung mit Pull-Up/Down Widerständen]]&lt;br /&gt;
&lt;br /&gt;
* Failsafe - was passiert auf dem Bus, wenn kein Sender aktiv ist? Dann muss man mittels Pull-Up- und Pull-Down-Widerstand für definierte Pegel sorgen. Das ist vor allem dann nötig, wenn man mittels [[UART]] Daten überträgt, was bei 90% der RS485 Anwendungen der Fall ist. Arbeitet man mit Terminierung, so werden klassisch die Werte wie im nebenstehenden Bild verwendet. Ohne Terminierung entfällt R2 und R1=R3=1k&amp;amp;Omega;. Diese Terminierung gibt es nur einmal auf dem Bus, nicht an jedem Teilnehmer!&lt;br /&gt;
* Verlustleistung - die Terminierung (100..120Ω) verbraucht einiges an Strom, den man mit einem 0,1µF in Serie unterdrücken kann (AC-Terminierung, siehe Artikel [[Wellenwiderstand]]).&lt;br /&gt;
* [[Galvanische Trennung]] - speziell bei ausgedehnten Systemen können die -7...+12V Gleichtaktbereich nicht genügen, speziell in einem industriellen Umfeld nicht. Dann sollte man eine galvanische Trennung einführen.&lt;br /&gt;
* Die Masse als Referenz sollte man IMMER im Kabel mitführen, auch wenn es scheinbar oft auch ohne funktioniert.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/306725#new Forumsbeitrag]: Kein GND auf RS485&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/460030?goto=5568496#5568444 Forumsbeitrag]: Datenübertragung über &amp;gt;100m&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.awavo.com/com-port-monitor/ RS485 Monitor]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/RS485 RS485 auf Wikipedia]&lt;br /&gt;
* Slla036b (TI) Interface Circuits for TIA/EIA-485 (RS-485)&lt;br /&gt;
* Slla70c (TI) 422 and 485 Standards Overview and System Configurations&lt;br /&gt;
* Slla169 (TI) Use receiver equalization to extend RS485 data communication&lt;br /&gt;
* [http://www.ti.com/lit/an/snla049b/snla049b.pdf  Ten Ways to Bulletproof RS-485 Interfaces], AN-1057 (National)&lt;br /&gt;
* [http://focus.ti.com/lit/an/slyt324/slyt324.pdf RS-485: Passive failsafe for an idle bus], Application Note slyt324 von TI&lt;br /&gt;
* [http://pdfserv.maxim-ic.com/en/an/AN1090.pdf Methods for Trimming the Power Required in RS-485 Systems], Application Note 1090 von Maxim&lt;br /&gt;
* [http://www.youtube.com/watch?v=iH2UdrRyz7U Video-Anleitung RS485 Konverter Verkabelung]&lt;br /&gt;
&lt;br /&gt;
[[Category:Datenübertragung]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RS-485&amp;diff=100100</id>
		<title>RS-485</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RS-485&amp;diff=100100"/>
		<updated>2018-12-12T13:38:19Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:RS485.svg|thumb|right|Transceiver ADM483E: Links ist CMOS/TTL-Logik, rechts die RS485-Leitung.]]&lt;br /&gt;
Der RS485-Standard ist eine physikalische Spezifikation einer Reihe bidirektionaler Verbindungen über ein differentielles Leitungspaar, die von mehreren Protokollen benutzt wird. Die Leitung wird idealerweise als twisted Pair mit 120Ω [[Wellenwiderstand]] ausgeführt. Es können zwei oder mehrere Teilnehmer angeschlossen sein. Der Leitungsaufbau erfolgt immer als eine Linie und niemals als Stern mit etwaigen Stichleitungen. Die Leitung ist idealerweise an beiden Enden terminiert, was für höhere Übertragungsgeschwindigkeiten sowie größere Distanzen zwingend erforderlich ist. Bei sehr kurzen Leitungen oder niedrigen Ü-Geschwindigkeiten ist dies nicht unbedingt der Fall, siehe Artikel [[Wellenwiderstand]]. Das physikalische Interface in Mikrocontrollern und CHIP-basierten Anwendungen ist meistens ein vollständiger RS485 Transceiver, der einen Sender sowie einen Empfaenger beinhaltet und das logische Protokoll realisiert. Bei FPGAs und schnellen Microcontrollern reicht ein RS-485 Buffer.&lt;br /&gt;
&lt;br /&gt;
Da nicht mehrere Sender gleichzeitig auf die Leitung aufgeschaltet sein dürfen, muss der jeweilige Sender nach Bedarf eingeschaltet werden ([http://de.wikipedia.org/wiki/Duplex_%28Nachrichtentechnik%29 Halbduplex]). Dies wird auf Protokollebene definiert. Der Sender steuert das differentielle Leitungspaar voll aus, d.h. geht unbelastet auf 0V/Vcc, wobei es 3.3V, sowie 5V Bausteine gibt. Unter Last nimmt die Amplitude dann ab. Der Empfänger braucht minimal 70mV Differenzspannung in einem Gleichtaktbereich von -7...+12V. Es gibt auch Bausteine mit höheren Gleichtaktspannungen. &lt;br /&gt;
&lt;br /&gt;
Während der Standard von bis zu 32 Bausteinen pro Leitung ausgeht, sind Viertel- und Achtelpower-Bausteine erhältlich, wovon dann 128 bzw. 256 Stück an eine Leitung angeschlossen werden können. Die Geschwindigkeit und die Reichweite sind nicht im Standard definiert. &lt;br /&gt;
&lt;br /&gt;
Bisher sind alle Transceiver pinkompatibel.&lt;br /&gt;
&lt;br /&gt;
== Übersicht RS485 / RS422 Baustaine ==&lt;br /&gt;
{| {{Tabelle}} border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;rs485ics&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#eeeeee&amp;quot;&lt;br /&gt;
! Bezeichnung&lt;br /&gt;
! Package&lt;br /&gt;
! Hersteller&lt;br /&gt;
! Vcc/V&lt;br /&gt;
! Datarate/Mbps&lt;br /&gt;
! Slewrate limited&lt;br /&gt;
! Max. trans. on bus&lt;br /&gt;
! Lieferant&lt;br /&gt;
|-&lt;br /&gt;
| MAX481&lt;br /&gt;
| SO-8&lt;br /&gt;
| Maxim&lt;br /&gt;
| 5&lt;br /&gt;
| 2,5&lt;br /&gt;
| nein&lt;br /&gt;
| 32&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| MAX485&lt;br /&gt;
| SO-8&lt;br /&gt;
| Maxim&lt;br /&gt;
| 5&lt;br /&gt;
| 2,5&lt;br /&gt;
| nein&lt;br /&gt;
| 32&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| SP3485&lt;br /&gt;
| SO-8&lt;br /&gt;
| Exar&lt;br /&gt;
| 3,3&lt;br /&gt;
| 10&lt;br /&gt;
| nein&lt;br /&gt;
| 32&lt;br /&gt;
| R&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Meist genutzte RS485-Bausteine ==&lt;br /&gt;
* [//www.mikrocontroller.net/part/SN75176 SN75176], günstig und leicht zu beschaffen, aber ein Stromfresser (28-50mA!)&lt;br /&gt;
* [//www.mikrocontroller.net/part/LTC485 LTC485]&lt;br /&gt;
* [//www.mikrocontroller.net/part/MAX485 MAX485] Moderne CMOS-Variante mit weniger als 1mA Eigenverbrauch&lt;br /&gt;
* [//www.mikrocontroller.net/part/ADM485 ADM485]&lt;br /&gt;
* [//www.mikrocontroller.net/part/ADM483 ADM483] von Analog Devics, 250kBit, supply 350uA plus load, SO8, 1.14$@100&lt;br /&gt;
* [//www.mikrocontroller.net/part/SN65HVD11 SN65HVD11D] von Texas, für 3V3 Schaltungen, recht billig (der [//www.mikrocontroller.net/part/SN65HVD75 SN65HVD75D] arbeitet auch mit 3V3, hat zusätzlich ESD Protection und kostet derzeit bei Farnell nur 2,15€ also etwa einen Euro billiger als der SN65HVD11D)&lt;br /&gt;
* ISL83483 von Intersil, 3,3 V, recht günstig, inkl. Failsafewiderständen&lt;br /&gt;
&lt;br /&gt;
== Speziellere Ausführungen ==&lt;br /&gt;
&lt;br /&gt;
* SN65HVD23D   von TI, extended common mode -20 to +25V, 25MBit @160m, 64nodes, supply 7mA plus load, SO8, 4.05$@1&lt;br /&gt;
* SN65HVD24D   von TI, extended common mode -20 to +25V, 3MBit @500m, 256 nodes, supply 10mA plus load, SO8, 4.05$ @1&lt;br /&gt;
&lt;br /&gt;
== Weitere Hinweise ==&lt;br /&gt;
&lt;br /&gt;
[[bild:rs485_term.png | framed | RS485 Terminierung mit Pull-Up/Down Widerständen]]&lt;br /&gt;
&lt;br /&gt;
* Failsafe - was passiert auf dem Bus, wenn kein Sender aktiv ist? Dann muss man mittels Pull-Up- und Pull-Down-Widerstand für definierte Pegel sorgen. Das ist vor allem dann nötig, wenn man mittels [[UART]] Daten überträgt, was bei 90% der RS485 Anwendungen der Fall ist. Arbeitet man mit Terminierung, so werden klassisch die Werte wie im nebenstehenden Bild verwendet. Ohne Terminierung entfällt R2 und R1=R3=1k&amp;amp;Omega;. Diese Terminierung gibt es nur einmal auf dem Bus, nicht an jedem Teilnehmer!&lt;br /&gt;
* Verlustleistung - die Terminierung (100..120Ω) verbraucht einiges an Strom, den man mit einem 0,1µF in Serie unterdrücken kann (AC-Terminierung, siehe Artikel [[Wellenwiderstand]]).&lt;br /&gt;
* [[Galvanische Trennung]] - speziell bei ausgedehnten Systemen können die -7...+12V Gleichtaktbereich nicht genügen, speziell in einem industriellen Umfeld nicht. Dann sollte man eine galvanische Trennung einführen.&lt;br /&gt;
* Die Masse als Referenz sollte man IMMER im Kabel mitführen, auch wenn es scheinbar oft auch ohne funktioniert.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/306725#new Forumsbeitrag]: Kein GND auf RS485&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/460030?goto=5568496#5568444 Forumsbeitrag]: Datenübertragung über &amp;gt;100m&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.awavo.com/com-port-monitor/ RS485 Monitor]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/RS485 RS485 auf Wikipedia]&lt;br /&gt;
* Slla036b (TI) Interface Circuits for TIA/EIA-485 (RS-485)&lt;br /&gt;
* Slla70c (TI) 422 and 485 Standards Overview and System Configurations&lt;br /&gt;
* Slla169 (TI) Use receiver equalization to extend RS485 data communication&lt;br /&gt;
* [http://www.ti.com/lit/an/snla049b/snla049b.pdf  Ten Ways to Bulletproof RS-485 Interfaces], AN-1057 (National)&lt;br /&gt;
* [http://focus.ti.com/lit/an/slyt324/slyt324.pdf RS-485: Passive failsafe for an idle bus], Application Note slyt324 von TI&lt;br /&gt;
* [http://pdfserv.maxim-ic.com/en/an/AN1090.pdf Methods for Trimming the Power Required in RS-485 Systems], Application Note 1090 von Maxim&lt;br /&gt;
* [http://www.youtube.com/watch?v=iH2UdrRyz7U Video-Anleitung RS485 Konverter Verkabelung]&lt;br /&gt;
&lt;br /&gt;
[[Category:Datenübertragung]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=95911</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=95911"/>
		<updated>2017-04-10T19:37:02Z</updated>

		<summary type="html">&lt;p&gt;Energizer: Packet modes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|thumb|300px|RFM69CW, Pinkompatibel zum RFM12]]&lt;br /&gt;
Das RFM69 von HopeRF ist ein universelles Funkmodul für die ISM-Frequenzbänder 315, 433, 868 und 915 MHz. Eine [[SPI]]-Schnitttstelle ermöglicht die einfache Integration in Mikrocontrollerprojekte.&lt;br /&gt;
&lt;br /&gt;
== Ausführungen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM69HCW !! RFM69HW !! RFM69CW !! RFM69W&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 20 dBm || 20 dBm || 13 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Pins || 16 || 16 || 14 || 16&lt;br /&gt;
|-&lt;br /&gt;
| Abmessungen || 16 x 16 mm || 19,7 x 16 mm || 16 x 16 mm || 19,7 x 16 mm&lt;br /&gt;
|-&lt;br /&gt;
| Sonstiges || Ersatz für RFM22B || || Ersatz für RFM12 ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die CW-Variante hat 2 Pins weniger (es fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden.&lt;br /&gt;
&lt;br /&gt;
== Ausstattung ==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI-Schnittstelle&lt;br /&gt;
* FSK- und OOK-Modulation (Frequency Shift Keying = Frequenzumtastung, On-Off-Keying = Amplitudentastung)&lt;br /&gt;
* Eingebauter Manchesterde- und -encoder&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden (13 dBm), 16 mA empfangen, 0,1 µA Standby&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
* Modul basiert auf dem SX1231 von Semtech&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69(C)W&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|-&lt;br /&gt;
| Syncmustererkennung || Fest 0x2DD4 oder 0xD4 || Frei bis zu 8 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann softwareseitig so konfiguriert werden, dass er anzeigt, wenn ein Paket vollständig gesendet oder ein neues Paket empfangen wurde. Ist das Modul in Minimalkonfiguration angeschlossen, müssen dazu die Statusregister RegIrqFlags1 (0x27) oder RegIrqFlags2 (0x28) ausgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Die SPI-Ansteuerung erfolgt im Modus CPOL=0, CPHA=0, wobei jeweils 16 Bits vom µC zum Modul geschickt werden:&lt;br /&gt;
Das erste Bit teilt dem Modul mit, ob es sich um einen Lese- (Bitwert 0) oder Schreibvorgang (Bitwert 1) handelt, die restlichen sieben Bit des ersten Bytes geben die Registeradresse an. Mit den zweiten acht Bit wird im Schreibmodus der zu übertragende Befehl an das Modul übermittelt, im Lesemodus kann eine beliebige Bitfolge gesendet werden. Während das zweite Bit gesendet wird, empfängt der µC sowohl im Lese- als auch im Schreibmodus den Inhalt des angesprochenen Registers vor dem aktuellen Zugriff.&lt;br /&gt;
&lt;br /&gt;
Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrementiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei, dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...), das höchstwertige Byte zu erst geschrieben/gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Es gibt zwei grundsätzliche Funktionsmodi, die im Register &amp;quot;RegDataModule&amp;quot; gewählt werden:&lt;br /&gt;
=== Continuous Mode ===&lt;br /&gt;
Für die Datenübertragung vom/zum Modul werden die beiden Pins &amp;quot;DIO1/DCLK&amp;quot; und &amp;quot;DIO2/DATA&amp;quot; verwendet. An DCLK gibt das Modul den Takt vor mit dem die Datenbits an DATA geschrieben oder gelesen werden müssen.&lt;br /&gt;
=== Packet Mode ===&lt;br /&gt;
Die Packetengine des RFM69 kümmert sich um die Erzeugung und Auswertung der Preamble, des Synchronwortes, des Scramblings, der CRC und der Verschlüsselung. Im Sendebetrieb bearbeitet die eingebaute Packet Engine ein Nutzdatenpaket folgendermaßen:&lt;br /&gt;
==== Fixed Length Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Einstellbare Anzahl (0-65535) von Preamblebytes (0xAA) an den Anfang setzen&lt;br /&gt;
* Synchronwort hinzufügen (Länge zwischen 0-8 Bytes einstellbar, Synchronwort selbst ebenfalls einstellbar)&lt;br /&gt;
* Nutzdaten hinzufügen (Länge wird in einem Register angegeben)&lt;br /&gt;
* CRC hinzufügen (abschaltbar)&lt;br /&gt;
===== Empfangen =====&lt;br /&gt;
* Länge des zu empfangenden Frames wird in einem Register angegeben&lt;br /&gt;
==== Variable Length Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Länge des zu sendenen Frames in einem Register angeben. Die Packetengine sendet das Längenbyte automatisch vor den Nutzdaten&lt;br /&gt;
===== Empfangen =====&lt;br /&gt;
* Packetengine erkennt automatisch die Packetlänge&lt;br /&gt;
==== Unlimited Length Packet Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Beliebig lange Frames; Senden muss von der Software selber gestoppt werden&lt;br /&gt;
===== Empfangen =====&lt;br /&gt;
* Empfangen muss von der Software selber gestoppt werden&lt;br /&gt;
&lt;br /&gt;
== Interrupts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung !! Beschreibung !! Verfügbar an (Packet mode) !! Verfügbar an (Cont. mode)&lt;br /&gt;
|-&lt;br /&gt;
| ModeReady || Beispiel || DIO5&lt;br /&gt;
|-&lt;br /&gt;
| RxReady || Beispiel || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| TxReady || Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PllLock || Beispiel || DIO3, DIO1, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| Rssi || Eingestellte Rssi-Schwelle überschritten; wird gelöscht wenn RX Modus verlassen wird || DIO0, DIO3 || DIO0, DIO3, DIO5&lt;br /&gt;
|-&lt;br /&gt;
| Timeout || Beispiel || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| AutoMode || Beispiel || DIO2&lt;br /&gt;
|-&lt;br /&gt;
| SyncAddressMatch || Syncadresse empfangen || DIO0, DIO3 || DIO0, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoFull || Beispiel || DIO3, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoNotEmpty || || DIO2, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoLevel || || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoOverrun || ||&lt;br /&gt;
|-&lt;br /&gt;
| PacketSent || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PayloadReady || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| CrcOk || || DIO0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69(H)CW ==&lt;br /&gt;
[[Datei:RFM12 69 Pins.svg|Anschlussbelegung RFM12B und RFM69]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Fktn. im packet mode !! Fktn. im cont. mode!! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || ||GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || ModeReady&amp;lt;br /&amp;gt;&lt;br /&gt;
PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
Timeout&amp;lt;br /&amp;gt;&lt;br /&gt;
Rssi&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || Data || FSK&amp;lt;br /&amp;gt;DATA&amp;lt;br /&amp;gt;nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
Dclk&amp;lt;br /&amp;gt;&lt;br /&gt;
RxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
 || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || ||CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x27|| RegIrqFlags1 || Statusflags (ModeReady, RxReady, TxReady, PllLock, RSSI, Timeout, AutoMode, SyncAddressMatch) || 0xD0 -&amp;gt; Empfänger bereit zum Datenempfang&lt;br /&gt;
|-&lt;br /&gt;
| 0x28|| RegIrqFlags2 || Statusflags (FifoFull, FifoNotEmpty, FifoLevel, FifoOverrun, PacketSent, PayloadReady, CrcOk, LowBat) || 0x06 -&amp;gt; Daten mit erfolgreichem CRC empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Implementierungen ==&lt;br /&gt;
* [https://github.com/LowPowerLab/RFM69 Arduinobibliothek (C++) von LowPowerLab]&lt;br /&gt;
* [https://github.com/jcw/jeelib Arduinobibliothek (C++) für JeeNodes]&lt;br /&gt;
* [https://github.com/gkaindl/rfm12b-linux Linux Kerneltreiber (C) für RFM12 und RFM69]&lt;br /&gt;
* [https://github.com/ahessling/RFM69-STM32 Bibliothek (C++) für STM32]&lt;br /&gt;
* [https://github.com/etrombly/RFM69 RFM69 Anbindung in Python]&lt;br /&gt;
* [https://github.com/russss/rfm69-python RFM69 Anbindung in Python]&lt;br /&gt;
* [https://github.com/cristi85/RFM69 RFM69 in C]&lt;br /&gt;
&lt;br /&gt;
== Projekte ==&lt;br /&gt;
&lt;br /&gt;
=== Intertechno Funksteckdosen schalten ===&lt;br /&gt;
Hier gibt es einen Artikel wie mit einem Raspberry Pi und einem RFM69 Modul Funksteckdosen angesteuert werden:&lt;br /&gt;
[[http://www.seegel-systeme.de/2015/09/05/funksteckdosen-mit-dem-raspberry-pi-steuern/ Funksteckdosen am Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
=== FS20 Funksteckdosen schalten ===&lt;br /&gt;
Da das RFM69 OOK modulieren kann, können damit die FS20 Funksteckdosen geschaltet werden. FS20 verwendet allerdings eine Art Pulsdauermodulation; eine 1 wird mit 600&amp;amp;nbsp;µs Träger an gefolgt von 600&amp;amp;nbsp;µs Träger aus, und eine 0 mit 400&amp;amp;nbsp;µs an gefolgt von 400&amp;amp;nbsp;µs aus übertragen. Man teilt einfach das Signal in 200&amp;amp;nbsp;µs Schlitze ein (OOK-Datenrate 5&amp;amp;nbsp;kbit/s), und sendet für eine 1 die Folge 111000 und für eine 0 die Folge 1100. Im FS20 Protokoll wird ein 13 Bit langer Header (0000000000001) übertragen, diesen kann man umrechnen und im RFM69 als Syncword einstellen. So wird der Header vom RFM69 bei jeder Übertragung automatisch vorweg ausgesendet.&lt;br /&gt;
&lt;br /&gt;
=== Conrad Energy Count 3000 ===&lt;br /&gt;
Unter http://forum.jeelabs.net/node/3412679.html?page=1 wurde schon das Protokoll der Conrad Energy Count 3000 (baugleich mit Technoline Cost Control RC) Funk-Energiekostenmessgeräte beschrieben. Mit dem RFM69 lässt sich ein Frame des Messgerätes mit dem konfigurierbarem Synchronwortfinder bequem empfangen.&lt;br /&gt;
&lt;br /&gt;
=== LaCrosse Temperatursensoren empfangen ===&lt;br /&gt;
=== Open Energy Monitor empfangen ===&lt;br /&gt;
&lt;br /&gt;
== Hardware mit RFM69 ==&lt;br /&gt;
* [http://www.seegel-systeme.de/produkt/raspyrfm-ii/ RaspyRFM, ein Aufsteckmodul für den Raspberry Pi]&lt;br /&gt;
* [https://lowpowerlab.com/guide/moteino/ Moteino, Arduino kompatibles Board mit RFM69]&lt;br /&gt;
* [http://shop.in-circuit.de/product_info.php?cPath=22_27&amp;amp;products_id=159 radino, Minimodul mit ATMega32u4 und RFM69]&lt;br /&gt;
* [https://www.adafruit.com/product/3177 Adafruit Feather M0, Modul mit Atmel ARM und RFM69]&lt;br /&gt;
&lt;br /&gt;
== Themen zum RFM69 im Forum ==&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/332579 Thread im Forum: Wer verwendet RFM69]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/397900 RFM69 - Beispiel für Initialisierung gesucht]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/409803 RFM69 - RSSI Messung]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/359345 Simple SPI Interaktion mit dem rfm69 Modul]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/400123 RFM69 Sleep Mode]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/369204 Raspberry Pi mit RFM69 und FS20]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/370196 RFM 69 Hub, Bandbreite, Bitrate?]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/421164 RFM69 AFC Versatz auslesen?]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/372914 Umstieg von RFM22 auf RFM69]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
* [http://www.seegel-systeme.de/produkt/funkmodul-rfm69cw-rev-v1-0-smd/ Seegel Systeme]&lt;br /&gt;
* Pollin: [http://www.pollin.de/shop/dt/Nzk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_433_MHz_TX_RX.html 433 MHz] / [http://www.pollin.de/shop/dt/Njk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_868_MHz_TX_RX.html 868 MHz]&lt;br /&gt;
* [http://www.aliexpress.com/item/RFM69CW-13dBm-transceiver-module-pin-to-pin-compatible-to-RFM12B-433-868-915mhz-can-be-selected/2010762457.html AliExpress]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/sx1231.pdf Datenblatt Semtech SX1231]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/AN1200.18_STD.pdf Application Note zur Softwareimplementierung von Data-Whitening und CRC]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:RFM12]]&lt;br /&gt;
[[Kategorie:Funk]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=95910</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=95910"/>
		<updated>2017-04-10T19:20:55Z</updated>

		<summary type="html">&lt;p&gt;Energizer: Links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|thumb|300px|RFM69CW, Pinkompatibel zum RFM12]]&lt;br /&gt;
Das RFM69 von HopeRF ist ein universelles Funkmodul für die ISM-Frequenzbänder 315, 433, 868 und 915 MHz. Eine [[SPI]]-Schnitttstelle ermöglicht die einfache Integration in Mikrocontrollerprojekte.&lt;br /&gt;
&lt;br /&gt;
== Ausführungen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM69HCW !! RFM69HW !! RFM69CW !! RFM69W&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 20 dBm || 20 dBm || 13 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Pins || 16 || 16 || 14 || 16&lt;br /&gt;
|-&lt;br /&gt;
| Abmessungen || 16 x 16 mm || 19,7 x 16 mm || 16 x 16 mm || 19,7 x 16 mm&lt;br /&gt;
|-&lt;br /&gt;
| Sonstiges || Ersatz für RFM22B || || Ersatz für RFM12 ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die CW-Variante hat 2 Pins weniger (es fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden.&lt;br /&gt;
&lt;br /&gt;
== Ausstattung ==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI-Schnittstelle&lt;br /&gt;
* FSK- und OOK-Modulation (Frequency Shift Keying = Frequenzumtastung, On-Off-Keying = Amplitudentastung)&lt;br /&gt;
* Eingebauter Manchesterde- und -encoder&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden (13 dBm), 16 mA empfangen, 0,1 µA Standby&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
* Modul basiert auf dem SX1231 von Semtech&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69(C)W&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|-&lt;br /&gt;
| Syncmustererkennung || Fest 0x2DD4 oder 0xD4 || Frei bis zu 8 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann softwareseitig so konfiguriert werden, dass er anzeigt, wenn ein Paket vollständig gesendet oder ein neues Paket empfangen wurde. Ist das Modul in Minimalkonfiguration angeschlossen, müssen dazu die Statusregister RegIrqFlags1 (0x27) oder RegIrqFlags2 (0x28) ausgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Die SPI-Ansteuerung erfolgt im Modus CPOL=0, CPHA=0, wobei jeweils 16 Bits vom µC zum Modul geschickt werden:&lt;br /&gt;
Das erste Bit teilt dem Modul mit, ob es sich um einen Lese- (Bitwert 0) oder Schreibvorgang (Bitwert 1) handelt, die restlichen sieben Bit des ersten Bytes geben die Registeradresse an. Mit den zweiten acht Bit wird im Schreibmodus der zu übertragende Befehl an das Modul übermittelt, im Lesemodus kann eine beliebige Bitfolge gesendet werden. Während das zweite Bit gesendet wird, empfängt der µC sowohl im Lese- als auch im Schreibmodus den Inhalt des angesprochenen Registers vor dem aktuellen Zugriff.&lt;br /&gt;
&lt;br /&gt;
Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrementiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei, dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...), das höchstwertige Byte zu erst geschrieben/gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Es gibt zwei grundsätzliche Funktionsmodi, die im Register &amp;quot;RegDataModule&amp;quot; gewählt werden:&lt;br /&gt;
=== Continuous Mode ===&lt;br /&gt;
Für die Datenübertragung vom/zum Modul werden die beiden Pins &amp;quot;DIO1/DCLK&amp;quot; und &amp;quot;DIO2/DATA&amp;quot; verwendet. An DCLK gibt das Modul den Takt vor mit dem die Datenbits an DATA geschrieben oder gelesen werden müssen.&lt;br /&gt;
=== Packet Mode ===&lt;br /&gt;
Die Packetengine des RFM69 kümmert sich um die Erzeugung und Auswertung der Preamble, des Synchronwortes, des Scramblings, der CRC und der Verschlüsselung. Im Sendebetrieb bearbeitet die eingebaute Packet Engine ein Nutzdatenpaket folgendermaßen:&lt;br /&gt;
==== Fixed Length Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Einstellbare Anzahl (0-65535) von Preamblebytes (0xAA) an den Anfang setzen&lt;br /&gt;
* Synchronwort hinzufügen (Länge zwischen 0-8 Bytes einstellbar, Synchronwort selbst ebenfalls einstellbar)&lt;br /&gt;
* Nutzdaten hinzufügen (Länge wird in einem Register angegeben)&lt;br /&gt;
* CRC hinzufügen (abschaltbar)&lt;br /&gt;
&lt;br /&gt;
== Interrupts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung !! Beschreibung !! Verfügbar an (Packet mode) !! Verfügbar an (Cont. mode)&lt;br /&gt;
|-&lt;br /&gt;
| ModeReady || Beispiel || DIO5&lt;br /&gt;
|-&lt;br /&gt;
| RxReady || Beispiel || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| TxReady || Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PllLock || Beispiel || DIO3, DIO1, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| Rssi || Eingestellte Rssi-Schwelle überschritten; wird gelöscht wenn RX Modus verlassen wird || DIO0, DIO3 || DIO0, DIO3, DIO5&lt;br /&gt;
|-&lt;br /&gt;
| Timeout || Beispiel || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| AutoMode || Beispiel || DIO2&lt;br /&gt;
|-&lt;br /&gt;
| SyncAddressMatch || Syncadresse empfangen || DIO0, DIO3 || DIO0, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoFull || Beispiel || DIO3, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoNotEmpty || || DIO2, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoLevel || || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoOverrun || ||&lt;br /&gt;
|-&lt;br /&gt;
| PacketSent || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PayloadReady || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| CrcOk || || DIO0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69(H)CW ==&lt;br /&gt;
[[Datei:RFM12 69 Pins.svg|Anschlussbelegung RFM12B und RFM69]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Fktn. im packet mode !! Fktn. im cont. mode!! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || ||GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || ModeReady&amp;lt;br /&amp;gt;&lt;br /&gt;
PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
Timeout&amp;lt;br /&amp;gt;&lt;br /&gt;
Rssi&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || Data || FSK&amp;lt;br /&amp;gt;DATA&amp;lt;br /&amp;gt;nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
Dclk&amp;lt;br /&amp;gt;&lt;br /&gt;
RxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
 || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || ||CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x27|| RegIrqFlags1 || Statusflags (ModeReady, RxReady, TxReady, PllLock, RSSI, Timeout, AutoMode, SyncAddressMatch) || 0xD0 -&amp;gt; Empfänger bereit zum Datenempfang&lt;br /&gt;
|-&lt;br /&gt;
| 0x28|| RegIrqFlags2 || Statusflags (FifoFull, FifoNotEmpty, FifoLevel, FifoOverrun, PacketSent, PayloadReady, CrcOk, LowBat) || 0x06 -&amp;gt; Daten mit erfolgreichem CRC empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Implementierungen ==&lt;br /&gt;
* [https://github.com/LowPowerLab/RFM69 Arduinobibliothek (C++) von LowPowerLab]&lt;br /&gt;
* [https://github.com/jcw/jeelib Arduinobibliothek (C++) für JeeNodes]&lt;br /&gt;
* [https://github.com/gkaindl/rfm12b-linux Linux Kerneltreiber (C) für RFM12 und RFM69]&lt;br /&gt;
* [https://github.com/ahessling/RFM69-STM32 Bibliothek (C++) für STM32]&lt;br /&gt;
* [https://github.com/etrombly/RFM69 RFM69 Anbindung in Python]&lt;br /&gt;
* [https://github.com/russss/rfm69-python RFM69 Anbindung in Python]&lt;br /&gt;
* [https://github.com/cristi85/RFM69 RFM69 in C]&lt;br /&gt;
&lt;br /&gt;
== Projekte ==&lt;br /&gt;
&lt;br /&gt;
=== Intertechno Funksteckdosen schalten ===&lt;br /&gt;
Hier gibt es einen Artikel wie mit einem Raspberry Pi und einem RFM69 Modul Funksteckdosen angesteuert werden:&lt;br /&gt;
[[http://www.seegel-systeme.de/2015/09/05/funksteckdosen-mit-dem-raspberry-pi-steuern/ Funksteckdosen am Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
=== FS20 Funksteckdosen schalten ===&lt;br /&gt;
Da das RFM69 OOK modulieren kann, können damit die FS20 Funksteckdosen geschaltet werden. FS20 verwendet allerdings eine Art Pulsdauermodulation; eine 1 wird mit 600&amp;amp;nbsp;µs Träger an gefolgt von 600&amp;amp;nbsp;µs Träger aus, und eine 0 mit 400&amp;amp;nbsp;µs an gefolgt von 400&amp;amp;nbsp;µs aus übertragen. Man teilt einfach das Signal in 200&amp;amp;nbsp;µs Schlitze ein (OOK-Datenrate 5&amp;amp;nbsp;kbit/s), und sendet für eine 1 die Folge 111000 und für eine 0 die Folge 1100. Im FS20 Protokoll wird ein 13 Bit langer Header (0000000000001) übertragen, diesen kann man umrechnen und im RFM69 als Syncword einstellen. So wird der Header vom RFM69 bei jeder Übertragung automatisch vorweg ausgesendet.&lt;br /&gt;
&lt;br /&gt;
=== Conrad Energy Count 3000 ===&lt;br /&gt;
Unter http://forum.jeelabs.net/node/3412679.html?page=1 wurde schon das Protokoll der Conrad Energy Count 3000 (baugleich mit Technoline Cost Control RC) Funk-Energiekostenmessgeräte beschrieben. Mit dem RFM69 lässt sich ein Frame des Messgerätes mit dem konfigurierbarem Synchronwortfinder bequem empfangen.&lt;br /&gt;
&lt;br /&gt;
=== LaCrosse Temperatursensoren empfangen ===&lt;br /&gt;
=== Open Energy Monitor empfangen ===&lt;br /&gt;
&lt;br /&gt;
== Hardware mit RFM69 ==&lt;br /&gt;
* [http://www.seegel-systeme.de/produkt/raspyrfm-ii/ RaspyRFM, ein Aufsteckmodul für den Raspberry Pi]&lt;br /&gt;
* [https://lowpowerlab.com/guide/moteino/ Moteino, Arduino kompatibles Board mit RFM69]&lt;br /&gt;
* [http://shop.in-circuit.de/product_info.php?cPath=22_27&amp;amp;products_id=159 radino, Minimodul mit ATMega32u4 und RFM69]&lt;br /&gt;
* [https://www.adafruit.com/product/3177 Adafruit Feather M0, Modul mit Atmel ARM und RFM69]&lt;br /&gt;
&lt;br /&gt;
== Themen zum RFM69 im Forum ==&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/332579 Thread im Forum: Wer verwendet RFM69]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/397900 RFM69 - Beispiel für Initialisierung gesucht]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/409803 RFM69 - RSSI Messung]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/359345 Simple SPI Interaktion mit dem rfm69 Modul]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/400123 RFM69 Sleep Mode]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/369204 Raspberry Pi mit RFM69 und FS20]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/370196 RFM 69 Hub, Bandbreite, Bitrate?]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/421164 RFM69 AFC Versatz auslesen?]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/372914 Umstieg von RFM22 auf RFM69]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
* [http://www.seegel-systeme.de/produkt/funkmodul-rfm69cw-rev-v1-0-smd/ Seegel Systeme]&lt;br /&gt;
* Pollin: [http://www.pollin.de/shop/dt/Nzk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_433_MHz_TX_RX.html 433 MHz] / [http://www.pollin.de/shop/dt/Njk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_868_MHz_TX_RX.html 868 MHz]&lt;br /&gt;
* [http://www.aliexpress.com/item/RFM69CW-13dBm-transceiver-module-pin-to-pin-compatible-to-RFM12B-433-868-915mhz-can-be-selected/2010762457.html AliExpress]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/sx1231.pdf Datenblatt Semtech SX1231]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/AN1200.18_STD.pdf Application Note zur Softwareimplementierung von Data-Whitening und CRC]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:RFM12]]&lt;br /&gt;
[[Kategorie:Funk]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=95909</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=95909"/>
		<updated>2017-04-10T19:10:40Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|thumb|300px|RFM69CW, Pinkompatibel zum RFM12]]&lt;br /&gt;
Das RFM69 von HopeRF ist ein universelles Funkmodul für die ISM-Frequenzbänder 315, 433, 868 und 915 MHz. Eine [[SPI]]-Schnitttstelle ermöglicht die einfache Integration in Mikrocontrollerprojekte.&lt;br /&gt;
&lt;br /&gt;
== Ausführungen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM69HCW !! RFM69HW !! RFM69CW !! RFM69W&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 20 dBm || 20 dBm || 13 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Pins || 16 || 16 || 14 || 16&lt;br /&gt;
|-&lt;br /&gt;
| Abmessungen || 16 x 16 mm || 19,7 x 16 mm || 16 x 16 mm || 19,7 x 16 mm&lt;br /&gt;
|-&lt;br /&gt;
| Sonstiges || Ersatz für RFM22B || || Ersatz für RFM12 ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die CW-Variante hat 2 Pins weniger (es fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden.&lt;br /&gt;
&lt;br /&gt;
== Ausstattung ==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI-Schnittstelle&lt;br /&gt;
* FSK- und OOK-Modulation (Frequency Shift Keying = Frequenzumtastung, On-Off-Keying = Amplitudentastung)&lt;br /&gt;
* Eingebauter Manchesterde- und -encoder&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden (13 dBm), 16 mA empfangen, 0,1 µA Standby&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
* Modul basiert auf dem SX1231 von Semtech&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69(C)W&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|-&lt;br /&gt;
| Syncmustererkennung || Fest 0x2DD4 oder 0xD4 || Frei bis zu 8 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann softwareseitig so konfiguriert werden, dass er anzeigt, wenn ein Paket vollständig gesendet oder ein neues Paket empfangen wurde. Ist das Modul in Minimalkonfiguration angeschlossen, müssen dazu die Statusregister RegIrqFlags1 (0x27) oder RegIrqFlags2 (0x28) ausgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Die SPI-Ansteuerung erfolgt im Modus CPOL=0, CPHA=0, wobei jeweils 16 Bits vom µC zum Modul geschickt werden:&lt;br /&gt;
Das erste Bit teilt dem Modul mit, ob es sich um einen Lese- (Bitwert 0) oder Schreibvorgang (Bitwert 1) handelt, die restlichen sieben Bit des ersten Bytes geben die Registeradresse an. Mit den zweiten acht Bit wird im Schreibmodus der zu übertragende Befehl an das Modul übermittelt, im Lesemodus kann eine beliebige Bitfolge gesendet werden. Während das zweite Bit gesendet wird, empfängt der µC sowohl im Lese- als auch im Schreibmodus den Inhalt des angesprochenen Registers vor dem aktuellen Zugriff.&lt;br /&gt;
&lt;br /&gt;
Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrementiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei, dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...), das höchstwertige Byte zu erst geschrieben/gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Es gibt zwei grundsätzliche Funktionsmodi, die im Register &amp;quot;RegDataModule&amp;quot; gewählt werden:&lt;br /&gt;
=== Continuous Mode ===&lt;br /&gt;
Für die Datenübertragung vom/zum Modul werden die beiden Pins &amp;quot;DIO1/DCLK&amp;quot; und &amp;quot;DIO2/DATA&amp;quot; verwendet. An DCLK gibt das Modul den Takt vor mit dem die Datenbits an DATA geschrieben oder gelesen werden müssen.&lt;br /&gt;
=== Packet Mode ===&lt;br /&gt;
Die Packetengine des RFM69 kümmert sich um die Erzeugung und Auswertung der Preamble, des Synchronwortes, des Scramblings, der CRC und der Verschlüsselung. Im Sendebetrieb bearbeitet die eingebaute Packet Engine ein Nutzdatenpaket folgendermaßen:&lt;br /&gt;
==== Fixed Length Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Einstellbare Anzahl (0-65535) von Preamblebytes (0xAA) an den Anfang setzen&lt;br /&gt;
* Synchronwort hinzufügen (Länge zwischen 0-8 Bytes einstellbar, Synchronwort selbst ebenfalls einstellbar)&lt;br /&gt;
* Nutzdaten hinzufügen (Länge wird in einem Register angegeben)&lt;br /&gt;
* CRC hinzufügen (abschaltbar)&lt;br /&gt;
&lt;br /&gt;
== Interrupts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung !! Beschreibung !! Verfügbar an (Packet mode) !! Verfügbar an (Cont. mode)&lt;br /&gt;
|-&lt;br /&gt;
| ModeReady || Beispiel || DIO5&lt;br /&gt;
|-&lt;br /&gt;
| RxReady || Beispiel || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| TxReady || Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PllLock || Beispiel || DIO3, DIO1, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| Rssi || Eingestellte Rssi-Schwelle überschritten; wird gelöscht wenn RX Modus verlassen wird || DIO0, DIO3 || DIO0, DIO3, DIO5&lt;br /&gt;
|-&lt;br /&gt;
| Timeout || Beispiel || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| AutoMode || Beispiel || DIO2&lt;br /&gt;
|-&lt;br /&gt;
| SyncAddressMatch || Syncadresse empfangen || DIO0, DIO3 || DIO0, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoFull || Beispiel || DIO3, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoNotEmpty || || DIO2, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoLevel || || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoOverrun || ||&lt;br /&gt;
|-&lt;br /&gt;
| PacketSent || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PayloadReady || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| CrcOk || || DIO0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69(H)CW ==&lt;br /&gt;
[[Datei:RFM12 69 Pins.svg|Anschlussbelegung RFM12B und RFM69]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Fktn. im packet mode !! Fktn. im cont. mode!! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || ||GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || ModeReady&amp;lt;br /&amp;gt;&lt;br /&gt;
PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
Timeout&amp;lt;br /&amp;gt;&lt;br /&gt;
Rssi&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || Data || FSK&amp;lt;br /&amp;gt;DATA&amp;lt;br /&amp;gt;nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
Dclk&amp;lt;br /&amp;gt;&lt;br /&gt;
RxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
 || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || ||CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x27|| RegIrqFlags1 || Statusflags (ModeReady, RxReady, TxReady, PllLock, RSSI, Timeout, AutoMode, SyncAddressMatch) || 0xD0 -&amp;gt; Empfänger bereit zum Datenempfang&lt;br /&gt;
|-&lt;br /&gt;
| 0x28|| RegIrqFlags2 || Statusflags (FifoFull, FifoNotEmpty, FifoLevel, FifoOverrun, PacketSent, PayloadReady, CrcOk, LowBat) || 0x06 -&amp;gt; Daten mit erfolgreichem CRC empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Implementierungen ==&lt;br /&gt;
* [https://github.com/LowPowerLab/RFM69 Arduinobibliothek von LowPowerLab]&lt;br /&gt;
* [https://github.com/jcw/jeelib Arduinobibliothek für JeeNodes]&lt;br /&gt;
* [https://github.com/gkaindl/rfm12b-linux Linux Kerneltreiber für RFM12 und RFM69]&lt;br /&gt;
* [https://github.com/ahessling/RFM69-STM32 C++ Bibliothek für STM32]&lt;br /&gt;
&lt;br /&gt;
== Projekte ==&lt;br /&gt;
&lt;br /&gt;
=== Intertechno Funksteckdosen schalten ===&lt;br /&gt;
Hier gibt es einen Artikel wie mit einem Raspberry Pi und einem RFM69 Modul Funksteckdosen angesteuert werden:&lt;br /&gt;
[[http://www.seegel-systeme.de/2015/09/05/funksteckdosen-mit-dem-raspberry-pi-steuern/ Funksteckdosen am Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
=== FS20 Funksteckdosen schalten ===&lt;br /&gt;
Da das RFM69 OOK modulieren kann, können damit die FS20 Funksteckdosen geschaltet werden. FS20 verwendet allerdings eine Art Pulsdauermodulation; eine 1 wird mit 600&amp;amp;nbsp;µs Träger an gefolgt von 600&amp;amp;nbsp;µs Träger aus, und eine 0 mit 400&amp;amp;nbsp;µs an gefolgt von 400&amp;amp;nbsp;µs aus übertragen. Man teilt einfach das Signal in 200&amp;amp;nbsp;µs Schlitze ein (OOK-Datenrate 5&amp;amp;nbsp;kbit/s), und sendet für eine 1 die Folge 111000 und für eine 0 die Folge 1100. Im FS20 Protokoll wird ein 13 Bit langer Header (0000000000001) übertragen, diesen kann man umrechnen und im RFM69 als Syncword einstellen. So wird der Header vom RFM69 bei jeder Übertragung automatisch vorweg ausgesendet.&lt;br /&gt;
&lt;br /&gt;
=== Conrad Energy Count 3000 ===&lt;br /&gt;
Unter http://forum.jeelabs.net/node/3412679.html?page=1 wurde schon das Protokoll der Conrad Energy Count 3000 (baugleich mit Technoline Cost Control RC) Funk-Energiekostenmessgeräte beschrieben. Mit dem RFM69 lässt sich ein Frame des Messgerätes mit dem konfigurierbarem Synchronwortfinder bequem empfangen.&lt;br /&gt;
&lt;br /&gt;
=== LaCrosse Temperatursensoren empfangen ===&lt;br /&gt;
=== Open Energy Monitor empfangen ===&lt;br /&gt;
&lt;br /&gt;
== Hardware mit RFM69 ==&lt;br /&gt;
* [http://www.seegel-systeme.de/produkt/raspyrfm-ii/ RaspyRFM, ein Aufsteckmodul für den Raspberry Pi]&lt;br /&gt;
* [https://lowpowerlab.com/guide/moteino/ Moteino, Arduino kompatibles Board mit RFM69]&lt;br /&gt;
* [http://shop.in-circuit.de/product_info.php?cPath=22_27&amp;amp;products_id=159 radino, Minimodul mit ATMega32u4 und RFM69]&lt;br /&gt;
* [https://www.adafruit.com/product/3177 Adafruit Feather M0, Modul mit Atmel ARM und RFM69]&lt;br /&gt;
&lt;br /&gt;
== Themen zum RFM69 im Forum ==&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/332579 Thread im Forum: Wer verwendet RFM69]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/397900 RFM69 - Beispiel für Initialisierung gesucht]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/409803 RFM69 - RSSI Messung]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/359345 Simple SPI Interaktion mit dem rfm69 Modul]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/400123 RFM69 Sleep Mode]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/369204 Raspberry Pi mit RFM69 und FS20]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/370196 RFM 69 Hub, Bandbreite, Bitrate?]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/421164 RFM69 AFC Versatz auslesen?]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/372914 Umstieg von RFM22 auf RFM69]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
* [http://www.seegel-systeme.de/produkt/funkmodul-rfm69cw-rev-v1-0-smd/ Seegel Systeme]&lt;br /&gt;
* Pollin: [http://www.pollin.de/shop/dt/Nzk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_433_MHz_TX_RX.html 433 MHz] / [http://www.pollin.de/shop/dt/Njk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_868_MHz_TX_RX.html 868 MHz]&lt;br /&gt;
* [http://www.aliexpress.com/item/RFM69CW-13dBm-transceiver-module-pin-to-pin-compatible-to-RFM12B-433-868-915mhz-can-be-selected/2010762457.html AliExpress]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/sx1231.pdf Datenblatt Semtech SX1231]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/AN1200.18_STD.pdf Application Note zur Softwareimplementierung von Data-Whitening und CRC]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:RFM12]]&lt;br /&gt;
[[Kategorie:Funk]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=95908</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=95908"/>
		<updated>2017-04-10T18:45:44Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|thumb|300px|RFM69CW, Pinkompatibel zum RFM12]]&lt;br /&gt;
Das RFM69 von HopeRF ist ein universelles Funkmodul für die ISM-Frequenzbänder 315, 433, 868 und 915 MHz. Eine [[SPI]]-Schnitttstelle ermöglicht die einfache Integration in Mikrocontrollerprojekte.&lt;br /&gt;
&lt;br /&gt;
== Ausführungen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM69HCW !! RFM69HW !! RFM69CW !! RFM69W&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 20 dBm || 20 dBm || 13 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Pins || 16 || 16 || 14 || 16&lt;br /&gt;
|-&lt;br /&gt;
| Abmessungen || 16 x 16 mm || 19,7 x 16 mm || 16 x 16 mm || 19,7 x 16 mm&lt;br /&gt;
|-&lt;br /&gt;
| Sonstiges || Ersatz für RFM22B || || Ersatz für RFM12 ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die CW-Variante hat 2 Pins weniger (es fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden.&lt;br /&gt;
&lt;br /&gt;
== Ausstattung ==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI-Schnittstelle&lt;br /&gt;
* FSK- und OOK-Modulation (Frequency Shift Keying = Frequenzumtastung, On-Off-Keying = Amplitudentastung)&lt;br /&gt;
* Eingebauter Manchesterde- und -encoder&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden (13 dBm), 16 mA empfangen, 0,1 µA Standby&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
* Modul basiert auf dem SX1231 von Semtech&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69(C)W&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|-&lt;br /&gt;
| Syncmustererkennung || Fest 0x2DD4 oder 0xD4 || Frei bis zu 8 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann softwareseitig so konfiguriert werden, dass er anzeigt, wenn ein Paket vollständig gesendet oder ein neues Paket empfangen wurde. Ist das Modul in Minimalkonfiguration angeschlossen, müssen dazu die Statusregister RegIrqFlags1 (0x27) oder RegIrqFlags2 (0x28) ausgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Die SPI-Ansteuerung erfolgt im Modus CPOL=0, CPHA=0, wobei jeweils 16 Bits vom µC zum Modul geschickt werden:&lt;br /&gt;
Das erste Bit teilt dem Modul mit, ob es sich um einen Lese- (Bitwert 0) oder Schreibvorgang (Bitwert 1) handelt, die restlichen sieben Bit des ersten Bytes geben die Registeradresse an. Mit den zweiten acht Bit wird im Schreibmodus der zu übertragende Befehl an das Modul übermittelt, im Lesemodus kann eine beliebige Bitfolge gesendet werden. Während das zweite Bit gesendet wird, empfängt der µC sowohl im Lese- als auch im Schreibmodus den Inhalt des angesprochenen Registers vor dem aktuellen Zugriff.&lt;br /&gt;
&lt;br /&gt;
Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrementiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei, dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...), das höchstwertige Byte zu erst geschrieben/gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Es gibt zwei grundsätzliche Funktionsmodi, die im Register &amp;quot;RegDataModule&amp;quot; gewählt werden:&lt;br /&gt;
=== Continuous Mode ===&lt;br /&gt;
Für die Datenübertragung vom/zum Modul werden die beiden Pins &amp;quot;DIO1/DCLK&amp;quot; und &amp;quot;DIO2/DATA&amp;quot; verwendet. An DCLK gibt das Modul den Takt vor mit dem die Datenbits an DATA geschrieben oder gelesen werden müssen.&lt;br /&gt;
=== Packet Mode ===&lt;br /&gt;
Die Packetengine des RFM69 kümmert sich um die Erzeugung und Auswertung der Preamble, des Synchronwortes, des Scramblings, der CRC und der Verschlüsselung. Im Sendebetrieb bearbeitet die eingebaute Packet Engine ein Nutzdatenpaket folgendermaßen:&lt;br /&gt;
==== Fixed Length Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Einstellbare Anzahl (0-65535) von Preamblebytes (0xAA) an den Anfang setzen&lt;br /&gt;
* Synchronwort hinzufügen (Länge zwischen 0-8 Bytes einstellbar, Synchronwort selbst ebenfalls einstellbar)&lt;br /&gt;
* Nutzdaten hinzufügen (Länge wird in einem Register angegeben)&lt;br /&gt;
* CRC hinzufügen (abschaltbar)&lt;br /&gt;
&lt;br /&gt;
== Interrupts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung !! Beschreibung !! Verfügbar an (Packet mode) !! Verfügbar an (Cont. mode)&lt;br /&gt;
|-&lt;br /&gt;
| ModeReady || Beispiel || DIO5&lt;br /&gt;
|-&lt;br /&gt;
| RxReady || Beispiel || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| TxReady || Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PllLock || Beispiel || DIO3, DIO1, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| Rssi || Eingestellte Rssi-Schwelle überschritten; wird gelöscht wenn RX Modus verlassen wird || DIO0, DIO3 || DIO0, DIO3, DIO5&lt;br /&gt;
|-&lt;br /&gt;
| Timeout || Beispiel || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| AutoMode || Beispiel || DIO2&lt;br /&gt;
|-&lt;br /&gt;
| SyncAddressMatch || Syncadresse empfangen || DIO0, DIO3 || DIO0, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoFull || Beispiel || DIO3, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoNotEmpty || || DIO2, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoLevel || || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoOverrun || ||&lt;br /&gt;
|-&lt;br /&gt;
| PacketSent || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PayloadReady || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| CrcOk || || DIO0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69(H)CW ==&lt;br /&gt;
[[Datei:RFM12 69 Pins.svg|Anschlussbelegung RFM12B und RFM69]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Fktn. im packet mode !! Fktn. im cont. mode!! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || ||GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || ModeReady&amp;lt;br /&amp;gt;&lt;br /&gt;
PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
Timeout&amp;lt;br /&amp;gt;&lt;br /&gt;
Rssi&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || Data || FSK&amp;lt;br /&amp;gt;DATA&amp;lt;br /&amp;gt;nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
Dclk&amp;lt;br /&amp;gt;&lt;br /&gt;
RxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
 || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || ||CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x27|| RegIrqFlags1 || Statusflags (ModeReady, RxReady, TxReady, PllLock, RSSI, Timeout, AutoMode, SyncAddressMatch) || 0xD0 -&amp;gt; Empfänger bereit zum Datenempfang&lt;br /&gt;
|-&lt;br /&gt;
| 0x28|| RegIrqFlags2 || Statusflags (FifoFull, FifoNotEmpty, FifoLevel, FifoOverrun, PacketSent, PayloadReady, CrcOk, LowBat) || 0x06 -&amp;gt; Daten mit erfolgreichem CRC empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Implementierungen ==&lt;br /&gt;
* [https://github.com/LowPowerLab/RFM69 Arduinobibliothek von LowPowerLab]&lt;br /&gt;
* [https://github.com/jcw/jeelib Arduinobibliothek für JeeNodes]&lt;br /&gt;
* [https://github.com/gkaindl/rfm12b-linux Linux Kerneltreiber für RFM12 und RFM69]&lt;br /&gt;
&lt;br /&gt;
== Projekte ==&lt;br /&gt;
&lt;br /&gt;
=== Intertechno Funksteckdosen schalten ===&lt;br /&gt;
Hier gibt es einen Artikel wie mit einem Raspberry Pi und einem RFM69 Modul Funksteckdosen angesteuert werden:&lt;br /&gt;
[[http://www.seegel-systeme.de/2015/09/05/funksteckdosen-mit-dem-raspberry-pi-steuern/ Funksteckdosen am Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
=== FS20 Funksteckdosen schalten ===&lt;br /&gt;
Da das RFM69 OOK modulieren kann, können damit die FS20 Funksteckdosen geschaltet werden. FS20 verwendet allerdings eine Art Pulsdauermodulation; eine 1 wird mit 600&amp;amp;nbsp;µs Träger an gefolgt von 600&amp;amp;nbsp;µs Träger aus, und eine 0 mit 400&amp;amp;nbsp;µs an gefolgt von 400&amp;amp;nbsp;µs aus übertragen. Man teilt einfach das Signal in 200&amp;amp;nbsp;µs Schlitze ein (OOK-Datenrate 5&amp;amp;nbsp;kbit/s), und sendet für eine 1 die Folge 111000 und für eine 0 die Folge 1100. Im FS20 Protokoll wird ein 13 Bit langer Header (0000000000001) übertragen, diesen kann man umrechnen und im RFM69 als Syncword einstellen. So wird der Header vom RFM69 bei jeder Übertragung automatisch vorweg ausgesendet.&lt;br /&gt;
&lt;br /&gt;
=== Conrad Energy Count 3000 ===&lt;br /&gt;
Unter http://forum.jeelabs.net/node/3412679.html?page=1 wurde schon das Protokoll der Conrad Energy Count 3000 (baugleich mit Technoline Cost Control RC) Funk-Energiekostenmessgeräte beschrieben. Mit dem RFM69 lässt sich ein Frame des Messgerätes mit dem konfigurierbarem Synchronwortfinder bequem empfangen.&lt;br /&gt;
&lt;br /&gt;
=== LaCrosse Temperatursensoren empfangen ===&lt;br /&gt;
=== Open Energy Monitor empfangen ===&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
* [http://www.seegel-systeme.de/produkt/funkmodul-rfm69cw-rev-v1-0-smd/ Seegel Systeme]&lt;br /&gt;
* Pollin: [http://www.pollin.de/shop/dt/Nzk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_433_MHz_TX_RX.html 433 MHz] / [http://www.pollin.de/shop/dt/Njk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_868_MHz_TX_RX.html 868 MHz]&lt;br /&gt;
* [http://www.aliexpress.com/item/RFM69CW-13dBm-transceiver-module-pin-to-pin-compatible-to-RFM12B-433-868-915mhz-can-be-selected/2010762457.html AliExpress]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/sx1231.pdf Datenblatt Semtech SX1231]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/AN1200.18_STD.pdf Application Note zur Softwareimplementierung von Data-Whitening und CRC]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/332579 Thread im Forum: Wer verwendet RFM69]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:RFM12]]&lt;br /&gt;
[[Kategorie:Funk]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFID_T%C3%BCrmodul&amp;diff=92802</id>
		<title>RFID Türmodul</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFID_T%C3%BCrmodul&amp;diff=92802"/>
		<updated>2016-04-21T14:16:45Z</updated>

		<summary type="html">&lt;p&gt;Energizer: Links korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:rfid-modul2.jpg|thumb|200px|Aufgebautes RFID Türmodul mit verschiedenen Tags]]&lt;br /&gt;
&lt;br /&gt;
Das RFID Türmodul eignet sich aufgrund seiner Abmessung (Durchmesser 52mm) für den direkten Einbau in eine Unterputzdose. Die Unterputzdose sollte am besten an der inneren Seite der Tür angebracht werden. An der Außenseite kann z.&amp;amp;nbsp;B. eine Acrylplatte, welche die Antenne und optional eine (Duo-) LED beherbergt, befestigt werden. Das Modul kann z.&amp;amp;nbsp;B. direkt an einem Klingeltrafo 8 V~ betrieben werden, welcher auch gleich einen elektrischen Türöffner versorgen kann.&lt;br /&gt;
Ein Relais um den elektrischen Türöffner zu steuern befindet sich mit auf der Platine. Optional kann die Platine mit einem RS485 IC bestückt werden, um z.&amp;amp;nbsp;B. eine Vernetzung oder erweiterte Steuerung zu ermöglichen. Weiterhin ist auf der Platine Platz für ein I2C EEPROM, sollte das interne EEPROM des Mega8 nicht ausreichen.&lt;br /&gt;
&lt;br /&gt;
=== Ausstattung im Überblick ===&lt;br /&gt;
[[Bild:rfid-modul.jpg|thumb|200px|RFID Türmodul Oberseite]]&lt;br /&gt;
* µC ATMega8&lt;br /&gt;
* Brückengleichrichter und Spannungsregler 78M05 on board&lt;br /&gt;
* RFID Reader IC EM4095&lt;br /&gt;
* Wagoklemme für den Anschluss von Stromversorgung, RFID Antenne, (Duo-) LED und] Datenleitung (RS485)&lt;br /&gt;
* Wagoklemme für den Relaiskontakt, um z.&amp;amp;nbsp;B. einen Türöffner zu schalten (Relais on board)&lt;br /&gt;
* Kurzhubtaster on board, z.&amp;amp;nbsp;B. um in den Lernmodus für neue Tags zu gelangen (nur sinnvoll wenn das Modul abgesetzt von der Antenne auf der Innenseite der Tür angebracht wird)&lt;br /&gt;
* 2 Pins des µC (PD3, PD4) mit Stiftleiste abgreifbar, um z.&amp;amp;nbsp;B. zusammen mit dem ISP Steckverbinder ein RFM12 Funkmodul anbinden zu können&lt;br /&gt;
&lt;br /&gt;
=== Funktionsbeschreibung ===&lt;br /&gt;
[[Bild:rfidbot.jpg|thumb|200px|RFID Türmodul Unterseite]]&lt;br /&gt;
Die Standardfirmware (Download unten) überprüft bei Erkennung eines Tags zunächst, ob bereits ein Tag im EEPROM abgespeichert ist. Falls nicht (EEPROM leer / Erstinbetriebnahme) wird dieser Tag im EEPROM abgelegt und gilt von nun an als &amp;quot;Administrator-Tag&amp;quot;. Wird ein gültiger Tag erkannt, zieht das Relais für ca. 2 s an bevor es wieder abfällt, um z.&amp;amp;nbsp;B. einen elektrischen Türöffner anzusteuern. Handelt es sich bei diesem Tag um den Administrator Tag, können weitere gültige Tags angelernt werden, wenn diese an die Antenne geführt werden solange das Relais angezogen ist. Wird der Kurzhubtaster auf der Platine länger als 2 Sekunden gedrückt, werden alle gespeicherten Tags gelöscht. Der nach einem Löschvorgang als nächstes erkannte Tag wird wieder als Administratortag gespeichert. Über die RS485 Schnittstelle werden beim Lesen eines Tags dessen Daten nach folgendem Format ausgegeben: &amp;lt;STX&amp;gt;R&amp;lt;+/-&amp;gt;&amp;lt;5 Bytes Tag hexadezimal&amp;gt;&amp;lt;EOT&amp;gt;. Das &#039;+&#039; oder &#039;-&#039; gibt an ob der Tag im EEPROM gefunden wurde und somit das Relais akiviert wurde.&lt;br /&gt;
&lt;br /&gt;
=== Schaltungsbeschreibung ===&lt;br /&gt;
[[Bild:schem.png|thumb|200px|Schaltplan]]&lt;br /&gt;
Der RFID IC EM4095 gibt kontinuierlich ein 125 kHz Signal auf die Spulenantenne aus. Wird ein Tag in das Feld der Antenne gebracht, versorgt sich der auszulesende Tag darüber mit Energie. Gleichzeitig sendet der Tag seine Daten, in dem er dem Leser unterschiedlich stark Energie entzieht, so dass eine Amplitudenmodulation entsteht. Das RFID IC EM4095 gibt das demodulierte und gefilterte Signal auf einen interruptfähigen Eingang des Mega8. Bei diesem Signal handelt es sich um ein [http://www.mikrocontroller.net/articles/Manchester Manchester-codiertes] Signal mit einer Bitrate von einem 64tel der Trägerfrequenz. Ausgehend von 125 kHz Trägerfrequenz sind das knapp 2000 bit/s. Bei jedem Wechsel des manchester-codierten Signals wird nun eine Interruptroutine im µC aufgerufen.&lt;br /&gt;
&lt;br /&gt;
=== Softwarebeschreibung ===&lt;br /&gt;
[[Bild:manchester.png]]&lt;br /&gt;
Trotz des kleinen µC wurde als Programmiersprache C++ verwendet, da sich damit eine sehr kompakte Struktur erreichen lässt. Kernstück der Firmware bildet die Klasse &amp;quot;Rfid&amp;quot;. Bei jedem Aufruf der INT0-Interruptroutine durch das Signal des RFID-ICs wird die vergangene Zeit zum vorherigen Flankenwechsel überprüft;  ist die Zeit kürzer als 3/4 der Bitzeit, wird die Flanke ausgeblendet und die Routine verlassen (wegge-x-te Flanken in der Grafik). Andernfalls wird eine statische 16-bit Variable um ein Bit nach links geschoben und, falls der Pegel auf 0 liegt, mit 1 verodert. Nach jedem eingelesenen Bit wird nun dieses FIFO-Register auf das Vorhandensein eines Tagheaders (9x 1-Bits) überprüft, und gegebenfalls ein Bitzähler auf 0 gesetzt. Ist ein ganzes Byte voll, wird dieses der RFID Klasse übergeben. Nachdem 64 Bit eingelesen wurden, werden zunächst die Spalten- und Zeilenparitätsbits überprüft. Sind alle Paritätsbits korrekt werden selbige ausgeblendet, so dass 40 &amp;quot;Nettodatenbits&amp;quot; verbleiben. Diese Transponderdaten werden nun der Klasse &amp;quot;Tagmanager&amp;quot; übergeben. Dort werden aus dem EEPROM immer 5 Byte große Stücke ausgelesen und mit dem dekodierten Daten verglichen, solange bis die Daten übereinstimmen, oder das Speicherende (0xFFFFFFFFFF) erreicht wurde. Handelt es sich beim dekodierten Transponder um den ersten Speicherplatz im EEPROM, wird noch ein Administratorflag gesetzt, so dass weitere Transponder hinzugefügt werden können.&lt;br /&gt;
&lt;br /&gt;
==== Datenaufbau Tags ====&lt;br /&gt;
Ein Tag mit den Nettodaten 0x1234567890 ist wie folgend aufgebaut:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!9 Header Bits (1)&lt;br /&gt;
!4 Datenbits + Paritätsbit&lt;br /&gt;
!4 Datenbits + Paritätsbit&lt;br /&gt;
!4 Datenbits + Paritätsbit&lt;br /&gt;
!4 Datenbits + Paritätsbit&lt;br /&gt;
!4 Datenbits + Paritätsbit&lt;br /&gt;
!4 Datenbits + Paritätsbit&lt;br /&gt;
!4 Datenbits + Paritätsbit&lt;br /&gt;
!4 Datenbits + Paritätsbit&lt;br /&gt;
!4 Datenbits + Paritätsbit&lt;br /&gt;
!4 Datenbits + Paritätsbit&lt;br /&gt;
!4 Spaltenparitäten + Stopbit&lt;br /&gt;
|-&lt;br /&gt;
|Bit 0-8&lt;br /&gt;
|Bit 9-13&lt;br /&gt;
|Bit 14-18&lt;br /&gt;
|Bit 19-23&lt;br /&gt;
|Bit 24-28&lt;br /&gt;
|Bit 29-33&lt;br /&gt;
|Bit 34-38&lt;br /&gt;
|Bit 39-43&lt;br /&gt;
|Bit 44-48&lt;br /&gt;
|Bit 49-53&lt;br /&gt;
|Bit 54-58&lt;br /&gt;
|Bit 59-63&lt;br /&gt;
|-&lt;br /&gt;
|111111111&lt;br /&gt;
|0001 1&lt;br /&gt;
|0010 1&lt;br /&gt;
|0011 0&lt;br /&gt;
|0100 1&lt;br /&gt;
|0101 0&lt;br /&gt;
|0110 0&lt;br /&gt;
|0111 1&lt;br /&gt;
|1000 1&lt;br /&gt;
|1001 0&lt;br /&gt;
|0000 0&lt;br /&gt;
|0001 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Die Antenne ===&lt;br /&gt;
Eine passende Leseantenne für das Modul kann recht einfach selbst hergestellt werden. Man nehme z.&amp;amp;nbsp;B. 0,2 mm Kupferlackdraht, von dem ca. 100 Windungen auf einen runden Körper mit ca. 45 mm Durchmesser gewickelt wird. Die Induktivität der Spule lässt sich dann mit Hilfe eines L-Meters oder alternativ mit einem Funktionsgenerator und einem Oszilloskop herausfinden. Wer keine Antenne selber wickeln möchte kann natürlich auch auf fertige Spulen zurückgreifen (siehe Links). In jedem Fall müssen in der Schaltung C1-C4 und R9 an die Antenne angepasst werden. C3 und C4 bilden zusammen mit der Antennenspule einen Serienschwingkreis, so dass sich eine Resonanzfrequenz von ca. 125 kHz ergibt. C1 und C2 dienen als kapazitiver Spannungsteiler, um das relativ große Antennensignal auf ein für das IC verträgliches Mass zu verkleinern. R9 dient dazu um bei sehr niederohmigen Antennen die Güte künstlich zu verkleinern. Auf der Herstellerseite des RFID ICs findet sich eine Excel-Tabelle, die die Berechnung der Bauteile etwas vereinfacht. Die Antenne kann in gewissen Grenzen mit einem Kabel vom Modul abgesetzt werden, ohne dass sich die Resonanzfrequenz dramatisch ändert. In einem Versuch mit 70 cm 0,5 mm² Doppellitze zwischen Antenne und Modul ging die Resonanzfrequenz um ca. 1 kHz nach unten.&lt;br /&gt;
&lt;br /&gt;
=== Quellcode Dateiübersicht ===&lt;br /&gt;
[[Bild:besttop.png|thumb|200px|Bestückungsplan oben]]&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Datei&lt;br /&gt;
!Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|bus.cpp / bus.h&lt;br /&gt;
|Klasse &amp;quot;Bus&amp;quot;, RS485 Kommunikation&lt;br /&gt;
|-&lt;br /&gt;
|button.cpp / button.h&lt;br /&gt;
|Klasse &amp;quot;Button&amp;quot;, fragt Kurzhubtaster ab&lt;br /&gt;
|-&lt;br /&gt;
|global.h&lt;br /&gt;
|Hardware Defines &amp;amp; Makros&lt;br /&gt;
|-&lt;br /&gt;
|global.cpp&lt;br /&gt;
|Diverse Hilfen für C++&lt;br /&gt;
|-&lt;br /&gt;
|i2ceeprom.h / i2ceeprom.cpp&lt;br /&gt;
|Klasse &amp;quot;I2CEEprom&amp;quot;, spricht das externe EEPROM an&lt;br /&gt;
|-&lt;br /&gt;
|main.cpp&lt;br /&gt;
|Das Hauptprogramm&lt;br /&gt;
|-&lt;br /&gt;
|makefile&lt;br /&gt;
|[[Beispiel_Makefile]]&lt;br /&gt;
|-&lt;br /&gt;
|rfid.h / rfid.cpp&lt;br /&gt;
|Klasse &amp;quot;Rfid&amp;quot;, prüft und dekodiert die Tagrohdaten&lt;br /&gt;
|-&lt;br /&gt;
|tagmanager.h / tagmanager.cpp&lt;br /&gt;
|Klasse &amp;quot;Tagmanager&amp;quot;, prüft und speichert Daten im EEPROM&lt;br /&gt;
|-&lt;br /&gt;
|task.h / task.cpp&lt;br /&gt;
|Basisklasse für alle Tasks (Taskscheduling)&lt;br /&gt;
|-&lt;br /&gt;
|timer.h / timer.cpp&lt;br /&gt;
|Klasse &amp;quot;Timer&amp;quot;, wird in diversen anderen Klassen verwendet&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Bauteileliste ===&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!QTY&lt;br /&gt;
!Position&lt;br /&gt;
!Bauteil&lt;br /&gt;
!Wert&lt;br /&gt;
!Reichelt Best. Nr.&lt;br /&gt;
!IT-WNS Best. Nr.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|IC4&lt;br /&gt;
|78MXXD&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|SV1&lt;br /&gt;
|Stiftleiste&lt;br /&gt;
|&lt;br /&gt;
|PINHD-1X2_2.54-SMD&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|JP1&lt;br /&gt;
|Stiftleiste SMD&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|B1&lt;br /&gt;
|Brückengleichrichter&lt;br /&gt;
|&lt;br /&gt;
|B80C800RUND&lt;br /&gt;
|B50C1500 o. B80C800&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|C1*&lt;br /&gt;
|SMD Kondensator 0805&lt;br /&gt;
|1,5 nF&lt;br /&gt;
|X7R-G0805 1,5N&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|D1&lt;br /&gt;
|Diode&lt;br /&gt;
|1N4148&lt;br /&gt;
|SMD 1N 4148&lt;br /&gt;
|D-1N4148-0805&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|C4*&lt;br /&gt;
|SMD Kondensator 0805&lt;br /&gt;
|1 nF&lt;br /&gt;
|NPO-G0805 1,0N&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Q1&lt;br /&gt;
|Quarz HC49&lt;br /&gt;
|7,3728 MHz&lt;br /&gt;
|7,3728-HC49U-S&lt;br /&gt;
|Q-7.3728M-HC49US&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|R9*&lt;br /&gt;
|SMD Widerstand 0805&lt;br /&gt;
|10Ω&lt;br /&gt;
|SMD-0805 10&lt;br /&gt;
|R-10-0805-1&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|R1, R2, R4, R5&lt;br /&gt;
|SMD Widerstand 0805&lt;br /&gt;
|10 k&lt;br /&gt;
|SMD-0805 10,0K&lt;br /&gt;
|R-10000-0805&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|C7, C8&lt;br /&gt;
|SMD Kondensator 0805&lt;br /&gt;
|10 nF&lt;br /&gt;
|X7R-G0805 10N&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|C2*&lt;br /&gt;
|SMD Kondensator 0805&lt;br /&gt;
|10 pF&lt;br /&gt;
|NPO-G0805 10P&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|C9, C10&lt;br /&gt;
|SMD Kondensator 0805&lt;br /&gt;
|22 pF&lt;br /&gt;
|NPO-G0805 22P&lt;br /&gt;
|C-22P-0805&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|IC5&lt;br /&gt;
|ST24C64&lt;br /&gt;
|&lt;br /&gt;
|ST 24C64 MN6&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|C5, C6, C12, C13, C14, C15, C16, C17, C18, C19&lt;br /&gt;
|SMD Kondensator 0805&lt;br /&gt;
|100 nF&lt;br /&gt;
|X7R-G0805 100N&lt;br /&gt;
|C-100-0805&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|R3, R10&lt;br /&gt;
|SMD Widerstand 0805&lt;br /&gt;
|270Ω&lt;br /&gt;
|SMD-0805 270&lt;br /&gt;
|R-270-0805-1&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|C11&lt;br /&gt;
|Elko&lt;br /&gt;
|330 µ&lt;br /&gt;
|RAD 330/35&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|C3*&lt;br /&gt;
|SMD Kondensator 0805&lt;br /&gt;
|330 pF&lt;br /&gt;
|NPO-G0805 330P&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|X3&lt;br /&gt;
|Wago Klemme 8-polig&lt;br /&gt;
|&lt;br /&gt;
|WAGO 733-338, WAGO 733-108&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|X2&lt;br /&gt;
|Wago Klemme 2-polig&lt;br /&gt;
|&lt;br /&gt;
|WAGO 734-132, WAGO 734-102&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|IC2&lt;br /&gt;
|ATMega8-16A&lt;br /&gt;
|&lt;br /&gt;
|ATMEGA 8-16 TQ&lt;br /&gt;
|ATMEGA8-16AU&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|T1&lt;br /&gt;
|NPN Transistor&lt;br /&gt;
|BC847&lt;br /&gt;
|BC 847C SMD&lt;br /&gt;
|TR-BC847B&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|IC1&lt;br /&gt;
|EM4095 RFID IC&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|EM4095&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|K1&lt;br /&gt;
|Relais 5V 1xUM&lt;br /&gt;
|&lt;br /&gt;
|FIN 36.11 5V&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|S2&lt;br /&gt;
|Kurzhubtaster&lt;br /&gt;
|&lt;br /&gt;
|TASTER 9315&lt;br /&gt;
|T-Mini-6X6-4.3&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|IC3&lt;br /&gt;
|RS485 IC&lt;br /&gt;
|MAX485&lt;br /&gt;
|MAX 485 CSA&lt;br /&gt;
|MAX485CSA+&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|LED2&lt;br /&gt;
|SMD LED 0805&lt;br /&gt;
|rot&lt;br /&gt;
|SMD-LED 0805 RT&lt;br /&gt;
|LED-0805-rt-2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
C1, C2, C3, C4 und R9 sind abhängig von der verwendeten Antenne.&lt;br /&gt;
Werte für [http://shop.seegel-systeme.de/Bauelemente/RFID-Antenne-24-mm-1-mH.html diese Antenne]:&lt;br /&gt;
{|-&lt;br /&gt;
|C1&lt;br /&gt;
|1,5 nF&lt;br /&gt;
|-&lt;br /&gt;
|C2&lt;br /&gt;
|10 pF&lt;br /&gt;
|-&lt;br /&gt;
|C3&lt;br /&gt;
|entfällt&lt;br /&gt;
|-&lt;br /&gt;
|C4&lt;br /&gt;
|1,5 nF&lt;br /&gt;
|-&lt;br /&gt;
|R9&lt;br /&gt;
|33Ω&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IC3 (MAX485) und IC5 (I2C EEPROM) sind optional.&lt;br /&gt;
&lt;br /&gt;
Als EEPROM kann auch ein 24LC32 verwendet werden...&lt;br /&gt;
&lt;br /&gt;
=== Downloads ===&lt;br /&gt;
[[Bild:bestbot.png|thumb|200px|Bestückungsplan unten]]&lt;br /&gt;
* [[Media:schem.pdf|Schaltplan (PDF)]]&lt;br /&gt;
* [[Media:ass_top.pdf|Bestückungsplan Oberseite (PDF)]]&lt;br /&gt;
* [[Media:ass_bot.pdf|Bestückungsplan Unterseite (PDF)]]&lt;br /&gt;
* [[Media:RFID_UP_20080818.zip|C++ Quellcode AVRGCC (RAR mit ZIP Endung!!!)]]&lt;br /&gt;
&lt;br /&gt;
=== FAQ ===&lt;br /&gt;
*  Wieviele Transponder können im Speicher abgelegt werden ?&lt;br /&gt;
In der aktuellen Firmware wird das externe EEPROM verwendet (auf der Platine integriert). Darauf lassen sich mit einem 64 kBit EEPROM 1638 Transponder abspeichern.&lt;br /&gt;
*  Wo bekomme ich passende Transponder her ?&lt;br /&gt;
Siehe Links&lt;br /&gt;
* Wieviel Strom kann das Relais schalten&lt;br /&gt;
Das Relais an sich kann 10 A schalten, jedoch sind Stecker und Leiterbahnen für einen Strom von ca. 3 A dimensioniert.&lt;br /&gt;
&lt;br /&gt;
=== FUSES für den Prozessor ===&lt;br /&gt;
&lt;br /&gt;
* Highbyte: 0xD9 (ggv. auch 0xC9)&lt;br /&gt;
* Lowbyte: 0XFF (ggv. auch 0xBF)&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/106299 Diskussion]&lt;br /&gt;
* [http://www.emmicroelectronic.com/Products.asp?IdProduct=86 Datenblatt und Application Notes EM4095 RFID Reader IC]&lt;br /&gt;
* [http://www.emmicroelectronic.com/Products.asp?IdProduct=5 Datenblatt 125KHz, 64 bit read only TAG von EM Microeletronic]&lt;br /&gt;
* [http://www.spulen.com/shop/product_info.php?products_id=979&amp;amp;osCsid=5cc0f6bd092b5d20d42128c18b7c2f03 Passende Spule von spulen.com]&lt;br /&gt;
* [http://www.reichelt.de/?;ARTICLE=67319 Passender Transponder (Schlüsselanhänger) bei Reichelt] oder  [http://www.it-wns.de/themes/kategorie/detail.php?artikelid=380&amp;amp;source=2 IT-WNS] &lt;br /&gt;
* [http://www.reichelt.de/?;ARTICLE=67324 Passender Transponder (ISO Karte) bei Reichelt] oder  [http://www.it-wns.de/themes/kategorie/detail.php?artikelid=273&amp;amp;source=2 IT-WNS]&lt;br /&gt;
* [http://www.seegel-systeme.de/produkt/leiterplatte-rfid-tueroeffner/ Leiterplatte bei Seegel Systeme]&lt;br /&gt;
* [http://www.seegel-systeme.de/produkt/rfid-em4095-so16/ EM4095 RFID IC bei Seegel Systeme]&lt;br /&gt;
* [http://www.seegel-systeme.de/produkt/rfid-antenne-o28-mm/ Passende Antenne bei Seegel Systeme]&lt;br /&gt;
&lt;br /&gt;
[[Category:1. Wettbewerb]]&lt;br /&gt;
[[Kategorie:AVR-Projekte]]&lt;br /&gt;
[[Kategorie:RFID-Projekte]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=92801</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=92801"/>
		<updated>2016-04-21T13:43:15Z</updated>

		<summary type="html">&lt;p&gt;Energizer: Link ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|thumb|300px|RFM69CW, Pinkompatibel zum RFM12]]&lt;br /&gt;
Das RFM69 von HopeRF ist ein universelles Funkmodul für die ISM-Frequenzbänder 315, 433, 868 und 915 MHz. Eine [[SPI]]-Schnitttstelle ermöglicht die einfache Integration in Mikrocontrollerprojekte.&lt;br /&gt;
&lt;br /&gt;
== Ausführungen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM69HCW !! RFM69HW !! RFM69CW !! RFM69W&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 20 dBm || 20 dBm || 13 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Pins || 16 || 16 || 14 || 16&lt;br /&gt;
|-&lt;br /&gt;
| Abmessungen || 16 x 16 mm || 19,7 x 16 mm || 16 x 16 mm || 19,7 x 16 mm&lt;br /&gt;
|-&lt;br /&gt;
| Sonstiges || Ersatz für RFM22B || || Ersatz für RFM12 ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die CW-Variante hat 2 Pins weniger (es fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden.&lt;br /&gt;
&lt;br /&gt;
== Ausstattung ==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI-Schnittstelle&lt;br /&gt;
* FSK- und OOK-Modulation (Frequency Shift Keying = Frequenzumtastung, On-Off-Keying = Amplitudentastung)&lt;br /&gt;
* Eingebauter Manchesterde- und -encoder&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden (13 dBm), 16 mA empfangen, 0,1 µA Standby&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
* Modul basiert auf dem SX1231 von Semtech&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69(C)W&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|-&lt;br /&gt;
| Syncmustererkennung || Fest 0x2DD4 oder 0xD4 || Frei bis zu 8 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann softwareseitig so konfiguriert werden, dass er anzeigt, wenn ein Paket vollständig gesendet oder ein neues Paket empfangen wurde. Ist das Modul in Minimalkonfiguration angeschlossen, müssen dazu die Statusregister RegIrqFlags1 (0x27) oder RegIrqFlags2 (0x28) ausgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Die SPI-Ansteuerung erfolgt im Modus CPOL=0, CPHA=0, wobei jeweils 16 Bits vom µC zum Modul geschickt werden:&lt;br /&gt;
Das erste Bit teilt dem Modul mit, ob es sich um einen Lese- (Bitwert 0) oder Schreibvorgang (Bitwert 1) handelt, die restlichen sieben Bit des ersten Bytes geben die Registeradresse an. Mit den zweiten acht Bit wird im Schreibmodus der zu übertragende Befehl an das Modul übermittelt, im Lesemodus kann eine beliebige Bitfolge gesendet werden. Während das zweite Bit gesendet wird, empfängt der µC sowohl im Lese- als auch im Schreibmodus den Inhalt des angesprochenen Registers vor dem aktuellen Zugriff.&lt;br /&gt;
&lt;br /&gt;
Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrementiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei, dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...), das höchstwertige Byte zu erst geschrieben/gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Es gibt zwei grundsätzliche Funktionsmodi, die im Register &amp;quot;RegDataModule&amp;quot; gewählt werden:&lt;br /&gt;
=== Continuous Mode ===&lt;br /&gt;
Für die Datenübertragung vom/zum Modul werden die beiden Pins &amp;quot;DIO1/DCLK&amp;quot; und &amp;quot;DIO2/DATA&amp;quot; verwendet. An DCLK gibt das Modul den Takt vor mit dem die Datenbits an DATA geschrieben oder gelesen werden müssen.&lt;br /&gt;
=== Packet Mode ===&lt;br /&gt;
Die Packetengine des RFM69 kümmert sich um die Erzeugung und Auswertung der Preamble, des Synchronwortes, des Scramblings, der CRC und der Verschlüsselung. Im Sendebetrieb bearbeitet die eingebaute Packet Engine ein Nutzdatenpaket folgendermaßen:&lt;br /&gt;
==== Fixed Length Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Einstellbare Anzahl (0-65535) von Preamblebytes (0xAA) an den Anfang setzen&lt;br /&gt;
* Synchronwort hinzufügen (Länge zwischen 0-8 Bytes einstellbar, Synchronwort selbst ebenfalls einstellbar)&lt;br /&gt;
* Nutzdaten hinzufügen (Länge wird in einem Register angegeben)&lt;br /&gt;
* CRC hinzufügen (abschaltbar)&lt;br /&gt;
&lt;br /&gt;
== Interrupts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung !! Beschreibung !! Verfügbar an (Packet mode) !! Verfügbar an (Cont. mode)&lt;br /&gt;
|-&lt;br /&gt;
| ModeReady || Beispiel || DIO5&lt;br /&gt;
|-&lt;br /&gt;
| RxReady || Beispiel || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| TxReady || Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PllLock || Beispiel || DIO3, DIO1, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| Rssi || Eingestellte Rssi-Schwelle überschritten; wird gelöscht wenn RX Modus verlassen wird || DIO0, DIO3 || DIO0, DIO3, DIO5&lt;br /&gt;
|-&lt;br /&gt;
| Timeout || Beispiel || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| AutoMode || Beispiel || DIO2&lt;br /&gt;
|-&lt;br /&gt;
| SyncAddressMatch || Syncadresse empfangen || DIO0, DIO3 || DIO0, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoFull || Beispiel || DIO3, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoNotEmpty || || DIO2, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoLevel || || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoOverrun || ||&lt;br /&gt;
|-&lt;br /&gt;
| PacketSent || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PayloadReady || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| CrcOk || || DIO0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69(H)CW ==&lt;br /&gt;
[[Datei:RFM12 69 Pins.svg|Anschlussbelegung RFM12B und RFM69]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Fktn. im packet mode !! Fktn. im cont. mode!! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || ||GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || ModeReady&amp;lt;br /&amp;gt;&lt;br /&gt;
PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
Timeout&amp;lt;br /&amp;gt;&lt;br /&gt;
Rssi&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || Data || FSK&amp;lt;br /&amp;gt;DATA&amp;lt;br /&amp;gt;nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
Dclk&amp;lt;br /&amp;gt;&lt;br /&gt;
RxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
 || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || ||CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x27|| RegIrqFlags1 || Statusflags (ModeReady, RxReady, TxReady, PllLock, RSSI, Timeout, AutoMode, SyncAddressMatch) || 0xD0 -&amp;gt; Empfänger bereit zum Datenempfang&lt;br /&gt;
|-&lt;br /&gt;
| 0x28|| RegIrqFlags2 || Statusflags (FifoFull, FifoNotEmpty, FifoLevel, FifoOverrun, PacketSent, PayloadReady, CrcOk, LowBat) || 0x06 -&amp;gt; Daten mit erfolgreichem CRC empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Implementierungen ==&lt;br /&gt;
* [https://github.com/LowPowerLab/RFM69 Arduinobibliothek von LowPowerLab]&lt;br /&gt;
* [https://github.com/jcw/jeelib Arduinobibliothek für JeeNodes]&lt;br /&gt;
* [https://github.com/gkaindl/rfm12b-linux Linux Kerneltreiber für RFM12 und RFM69]&lt;br /&gt;
&lt;br /&gt;
== Projekte ==&lt;br /&gt;
&lt;br /&gt;
=== Intertechno Funksteckdosen schalten ===&lt;br /&gt;
Hier gibt es einen Artikel wie mit einem Raspberry Pi und einem RFM69 Modul Funksteckdosen angesteuert werden:&lt;br /&gt;
[[http://www.seegel-systeme.de/2015/09/05/funksteckdosen-mit-dem-raspberry-pi-steuern/|Funksteckdosen am Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
=== FS20 Funksteckdosen schalten ===&lt;br /&gt;
Da das RFM69 OOK modulieren kann, können damit die FS20 Funksteckdosen geschaltet werden. FS20 verwendet allerdings eine Art Pulsdauermodulation; eine 1 wird mit 600&amp;amp;nbsp;µs Träger an gefolgt von 600&amp;amp;nbsp;µs Träger aus, und eine 0 mit 400&amp;amp;nbsp;µs an gefolgt von 400&amp;amp;nbsp;µs aus übertragen. Man teilt einfach das Signal in 200&amp;amp;nbsp;µs Schlitze ein (OOK-Datenrate 5&amp;amp;nbsp;kbit/s), und sendet für eine 1 die Folge 111000 und für eine 0 die Folge 1100. Im FS20 Protokoll wird ein 13 Bit langer Header (0000000000001) übertragen, diesen kann man umrechnen und im RFM69 als Syncword einstellen. So wird der Header vom RFM69 bei jeder Übertragung automatisch vorweg ausgesendet.&lt;br /&gt;
&lt;br /&gt;
=== Conrad Energy Count 3000 ===&lt;br /&gt;
Unter http://forum.jeelabs.net/node/3412679.html?page=1 wurde schon das Protokoll der Conrad Energy Count 3000 (baugleich mit Technoline Cost Control RC) Funk-Energiekostenmessgeräte beschrieben. Mit dem RFM69 lässt sich ein Frame des Messgerätes mit dem konfigurierbarem Synchronwortfinder bequem empfangen.&lt;br /&gt;
&lt;br /&gt;
=== LaCrosse Temperatursensoren empfangen ===&lt;br /&gt;
=== Open Energy Monitor empfangen ===&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
* [http://http://www.seegel-systeme.de/produkt/funkmodul-rfm69cw-rev-v1-0-smd/ Seegel Systeme]&lt;br /&gt;
* Pollin: [http://www.pollin.de/shop/dt/Nzk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_433_MHz_TX_RX.html 433 MHz] / [http://www.pollin.de/shop/dt/Njk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_868_MHz_TX_RX.html 868 MHz]&lt;br /&gt;
* [http://www.aliexpress.com/item/RFM69CW-13dBm-transceiver-module-pin-to-pin-compatible-to-RFM12B-433-868-915mhz-can-be-selected/2010762457.html AliExpress]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/sx1231.pdf Datenblatt Semtech SX1231]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/AN1200.18_STD.pdf Application Note zur Softwareimplementierung von Data-Whitening und CRC]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/332579 Thread im Forum: Wer verwendet RFM69]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:RFM12]]&lt;br /&gt;
[[Kategorie:Funk]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=92800</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=92800"/>
		<updated>2016-04-21T13:40:31Z</updated>

		<summary type="html">&lt;p&gt;Energizer: Link aktualisiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|thumb|300px|RFM69CW, Pinkompatibel zum RFM12]]&lt;br /&gt;
Das RFM69 von HopeRF ist ein universelles Funkmodul für die ISM-Frequenzbänder 315, 433, 868 und 915 MHz. Eine [[SPI]]-Schnitttstelle ermöglicht die einfache Integration in Mikrocontrollerprojekte.&lt;br /&gt;
&lt;br /&gt;
== Ausführungen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM69HCW !! RFM69HW !! RFM69CW !! RFM69W&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 20 dBm || 20 dBm || 13 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Pins || 16 || 16 || 14 || 16&lt;br /&gt;
|-&lt;br /&gt;
| Abmessungen || 16 x 16 mm || 19,7 x 16 mm || 16 x 16 mm || 19,7 x 16 mm&lt;br /&gt;
|-&lt;br /&gt;
| Sonstiges || Ersatz für RFM22B || || Ersatz für RFM12 ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die CW-Variante hat 2 Pins weniger (es fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden.&lt;br /&gt;
&lt;br /&gt;
== Ausstattung ==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI-Schnittstelle&lt;br /&gt;
* FSK- und OOK-Modulation (Frequency Shift Keying = Frequenzumtastung, On-Off-Keying = Amplitudentastung)&lt;br /&gt;
* Eingebauter Manchesterde- und -encoder&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden (13 dBm), 16 mA empfangen, 0,1 µA Standby&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
* Modul basiert auf dem SX1231 von Semtech&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69(C)W&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|-&lt;br /&gt;
| Syncmustererkennung || Fest 0x2DD4 oder 0xD4 || Frei bis zu 8 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann softwareseitig so konfiguriert werden, dass er anzeigt, wenn ein Paket vollständig gesendet oder ein neues Paket empfangen wurde. Ist das Modul in Minimalkonfiguration angeschlossen, müssen dazu die Statusregister RegIrqFlags1 (0x27) oder RegIrqFlags2 (0x28) ausgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Die SPI-Ansteuerung erfolgt im Modus CPOL=0, CPHA=0, wobei jeweils 16 Bits vom µC zum Modul geschickt werden:&lt;br /&gt;
Das erste Bit teilt dem Modul mit, ob es sich um einen Lese- (Bitwert 0) oder Schreibvorgang (Bitwert 1) handelt, die restlichen sieben Bit des ersten Bytes geben die Registeradresse an. Mit den zweiten acht Bit wird im Schreibmodus der zu übertragende Befehl an das Modul übermittelt, im Lesemodus kann eine beliebige Bitfolge gesendet werden. Während das zweite Bit gesendet wird, empfängt der µC sowohl im Lese- als auch im Schreibmodus den Inhalt des angesprochenen Registers vor dem aktuellen Zugriff.&lt;br /&gt;
&lt;br /&gt;
Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrementiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei, dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...), das höchstwertige Byte zu erst geschrieben/gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Es gibt zwei grundsätzliche Funktionsmodi, die im Register &amp;quot;RegDataModule&amp;quot; gewählt werden:&lt;br /&gt;
=== Continuous Mode ===&lt;br /&gt;
Für die Datenübertragung vom/zum Modul werden die beiden Pins &amp;quot;DIO1/DCLK&amp;quot; und &amp;quot;DIO2/DATA&amp;quot; verwendet. An DCLK gibt das Modul den Takt vor mit dem die Datenbits an DATA geschrieben oder gelesen werden müssen.&lt;br /&gt;
=== Packet Mode ===&lt;br /&gt;
Die Packetengine des RFM69 kümmert sich um die Erzeugung und Auswertung der Preamble, des Synchronwortes, des Scramblings, der CRC und der Verschlüsselung. Im Sendebetrieb bearbeitet die eingebaute Packet Engine ein Nutzdatenpaket folgendermaßen:&lt;br /&gt;
==== Fixed Length Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Einstellbare Anzahl (0-65535) von Preamblebytes (0xAA) an den Anfang setzen&lt;br /&gt;
* Synchronwort hinzufügen (Länge zwischen 0-8 Bytes einstellbar, Synchronwort selbst ebenfalls einstellbar)&lt;br /&gt;
* Nutzdaten hinzufügen (Länge wird in einem Register angegeben)&lt;br /&gt;
* CRC hinzufügen (abschaltbar)&lt;br /&gt;
&lt;br /&gt;
== Interrupts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung !! Beschreibung !! Verfügbar an (Packet mode) !! Verfügbar an (Cont. mode)&lt;br /&gt;
|-&lt;br /&gt;
| ModeReady || Beispiel || DIO5&lt;br /&gt;
|-&lt;br /&gt;
| RxReady || Beispiel || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| TxReady || Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PllLock || Beispiel || DIO3, DIO1, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| Rssi || Eingestellte Rssi-Schwelle überschritten; wird gelöscht wenn RX Modus verlassen wird || DIO0, DIO3 || DIO0, DIO3, DIO5&lt;br /&gt;
|-&lt;br /&gt;
| Timeout || Beispiel || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| AutoMode || Beispiel || DIO2&lt;br /&gt;
|-&lt;br /&gt;
| SyncAddressMatch || Syncadresse empfangen || DIO0, DIO3 || DIO0, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoFull || Beispiel || DIO3, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoNotEmpty || || DIO2, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoLevel || || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoOverrun || ||&lt;br /&gt;
|-&lt;br /&gt;
| PacketSent || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PayloadReady || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| CrcOk || || DIO0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69(H)CW ==&lt;br /&gt;
[[Datei:RFM12 69 Pins.svg|Anschlussbelegung RFM12B und RFM69]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Fktn. im packet mode !! Fktn. im cont. mode!! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || ||GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || ModeReady&amp;lt;br /&amp;gt;&lt;br /&gt;
PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
Timeout&amp;lt;br /&amp;gt;&lt;br /&gt;
Rssi&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || Data || FSK&amp;lt;br /&amp;gt;DATA&amp;lt;br /&amp;gt;nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
Dclk&amp;lt;br /&amp;gt;&lt;br /&gt;
RxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
 || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || ||CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x27|| RegIrqFlags1 || Statusflags (ModeReady, RxReady, TxReady, PllLock, RSSI, Timeout, AutoMode, SyncAddressMatch) || 0xD0 -&amp;gt; Empfänger bereit zum Datenempfang&lt;br /&gt;
|-&lt;br /&gt;
| 0x28|| RegIrqFlags2 || Statusflags (FifoFull, FifoNotEmpty, FifoLevel, FifoOverrun, PacketSent, PayloadReady, CrcOk, LowBat) || 0x06 -&amp;gt; Daten mit erfolgreichem CRC empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Implementierungen ==&lt;br /&gt;
* [https://github.com/LowPowerLab/RFM69 Arduinobibliothek von LowPowerLab]&lt;br /&gt;
* [https://github.com/jcw/jeelib Arduinobibliothek für JeeNodes]&lt;br /&gt;
* [https://github.com/gkaindl/rfm12b-linux Linux Kerneltreiber für RFM12 und RFM69]&lt;br /&gt;
&lt;br /&gt;
== Projekte ==&lt;br /&gt;
=== FS20 Funksteckdosen schalten ===&lt;br /&gt;
Da das RFM69 OOK modulieren kann, können damit die FS20 Funksteckdosen geschaltet werden. FS20 verwendet allerdings eine Art Pulsdauermodulation; eine 1 wird mit 600&amp;amp;nbsp;µs Träger an gefolgt von 600&amp;amp;nbsp;µs Träger aus, und eine 0 mit 400&amp;amp;nbsp;µs an gefolgt von 400&amp;amp;nbsp;µs aus übertragen. Man teilt einfach das Signal in 200&amp;amp;nbsp;µs Schlitze ein (OOK-Datenrate 5&amp;amp;nbsp;kbit/s), und sendet für eine 1 die Folge 111000 und für eine 0 die Folge 1100. Im FS20 Protokoll wird ein 13 Bit langer Header (0000000000001) übertragen, diesen kann man umrechnen und im RFM69 als Syncword einstellen. So wird der Header vom RFM69 bei jeder Übertragung automatisch vorweg ausgesendet.&lt;br /&gt;
&lt;br /&gt;
=== Conrad Energy Count 3000 ===&lt;br /&gt;
Unter http://forum.jeelabs.net/node/3412679.html?page=1 wurde schon das Protokoll der Conrad Energy Count 3000 (baugleich mit Technoline Cost Control RC) Funk-Energiekostenmessgeräte beschrieben. Mit dem RFM69 lässt sich ein Frame des Messgerätes mit dem konfigurierbarem Synchronwortfinder bequem empfangen.&lt;br /&gt;
&lt;br /&gt;
=== LaCrosse Temperatursensoren empfangen ===&lt;br /&gt;
=== Open Energy Monitor empfangen ===&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
* [http://http://www.seegel-systeme.de/produkt/funkmodul-rfm69cw-rev-v1-0-smd/ Seegel Systeme]&lt;br /&gt;
* Pollin: [http://www.pollin.de/shop/dt/Nzk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_433_MHz_TX_RX.html 433 MHz] / [http://www.pollin.de/shop/dt/Njk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_868_MHz_TX_RX.html 868 MHz]&lt;br /&gt;
* [http://www.aliexpress.com/item/RFM69CW-13dBm-transceiver-module-pin-to-pin-compatible-to-RFM12B-433-868-915mhz-can-be-selected/2010762457.html AliExpress]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/sx1231.pdf Datenblatt Semtech SX1231]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/AN1200.18_STD.pdf Application Note zur Softwareimplementierung von Data-Whitening und CRC]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/332579 Thread im Forum: Wer verwendet RFM69]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:RFM12]]&lt;br /&gt;
[[Kategorie:Funk]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Dioden-%C3%9Cbersicht&amp;diff=89653</id>
		<title>Dioden-Übersicht</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Dioden-%C3%9Cbersicht&amp;diff=89653"/>
		<updated>2015-08-31T09:01:12Z</updated>

		<summary type="html">&lt;p&gt;Energizer: /* Standardformen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wie in der [[Mosfet-Übersicht]] und der [[Transistor-Übersicht]] soll hier eine Liste mit gängigen [[Diode]]n entstehen. Eine allgemeine Übersicht über verschiedene Bauteile gibt es hier: [[Standardbauelemente]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Standardformen ==&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;Standardformen&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#eeeeee&amp;quot;&lt;br /&gt;
! Bezeichnung&lt;br /&gt;
! Typ&lt;br /&gt;
! Package&lt;br /&gt;
! V&amp;lt;sub&amp;gt;f&amp;lt;/sub&amp;gt;/V @ I&amp;lt;sub&amp;gt;f&amp;lt;/sub&amp;gt;/A&lt;br /&gt;
! I&amp;lt;sub&amp;gt;O&amp;lt;/sub&amp;gt;/A&lt;br /&gt;
! V&amp;lt;sub&amp;gt;R&amp;lt;/sub&amp;gt;/V&lt;br /&gt;
! t&amp;lt;sub&amp;gt;rr&amp;lt;/sub&amp;gt;/ns&lt;br /&gt;
! Bemerkung&lt;br /&gt;
! Lieferant&lt;br /&gt;
! ca. Preis&lt;br /&gt;
! Links&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/1N4001 1N4001]&lt;br /&gt;
|Si&lt;br /&gt;
|DO-41, Melf&lt;br /&gt;
|1 @ 1&lt;br /&gt;
|1&lt;br /&gt;
|50&lt;br /&gt;
|&lt;br /&gt;
|Universal-/Gleichrichterdiode&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.02&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=1N4001 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=1N4001 d] [http://www.google.de/search?q=1N4001%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/1N4002 1N4002]&lt;br /&gt;
|Si&lt;br /&gt;
|DO-41, Melf&lt;br /&gt;
|1 @ 1&lt;br /&gt;
|1&lt;br /&gt;
|100&lt;br /&gt;
|&lt;br /&gt;
|Universal-/Gleichrichterdiode&lt;br /&gt;
|rei&lt;br /&gt;
|0.02&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=1N4002 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=1N4002 d] [http://www.google.de/search?q=1N4002%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/1N4003 1N4003]&lt;br /&gt;
|Si&lt;br /&gt;
|DO-41, Melf&lt;br /&gt;
|1 @ 1&lt;br /&gt;
|1&lt;br /&gt;
|200&lt;br /&gt;
|&lt;br /&gt;
|Universal-/Gleichrichterdiode&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.02&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=1N4003 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=1N4003 d] [http://www.google.de/search?q=1N4003%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/1N4004 1N4004]&lt;br /&gt;
|Si&lt;br /&gt;
|DO-41, Melf&lt;br /&gt;
|1 @ 1&lt;br /&gt;
|1&lt;br /&gt;
|400&lt;br /&gt;
|&lt;br /&gt;
|Universal-/Gleichrichterdiode&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.02&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=1N4004 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=1N4004 d] [http://www.google.de/search?q=1N4004%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/1N4005 1N4005]&lt;br /&gt;
|Si&lt;br /&gt;
|DO-41, Melf&lt;br /&gt;
|1 @ 1&lt;br /&gt;
|1&lt;br /&gt;
|600&lt;br /&gt;
|&lt;br /&gt;
|Universal-/Gleichrichterdiode&lt;br /&gt;
|rei&lt;br /&gt;
|0.02&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=1N4005 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=1N4005 d] [http://www.google.de/search?q=1N4005%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/1N4006 1N4006]&lt;br /&gt;
|Si&lt;br /&gt;
|DO-41, Melf&lt;br /&gt;
|1 @ 1&lt;br /&gt;
|1&lt;br /&gt;
|800&lt;br /&gt;
|&lt;br /&gt;
|Universal-/Gleichrichterdiode&lt;br /&gt;
|rei&lt;br /&gt;
|0.02&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=1N4006 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=1N4006 d] [http://www.google.de/search?q=1N4006%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/1N4007 1N4007]&lt;br /&gt;
|Si&lt;br /&gt;
|DO-41, Melf&lt;br /&gt;
|1 @ 1&lt;br /&gt;
|1&lt;br /&gt;
|1000&lt;br /&gt;
|&lt;br /&gt;
|Universal-/Gleichrichterdiode&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.02&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=1N4007 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=1N4007 d] [http://www.google.de/search?q=1N4007%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/1N4148 1N4148,1N914]&lt;br /&gt;
|Si&lt;br /&gt;
|DO-35, Mini-Melf&lt;br /&gt;
|1 @ 0.01&lt;br /&gt;
|0.2&lt;br /&gt;
|75&lt;br /&gt;
|4&lt;br /&gt;
|Schaltdiode&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.02&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=1N4148 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=1N4148 d] [http://www.google.de/search?q=1N4148%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/1N5400 1N5400]&lt;br /&gt;
|Si&lt;br /&gt;
|DO-201AD&lt;br /&gt;
|1 @ 3&lt;br /&gt;
|3&lt;br /&gt;
|50&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei&lt;br /&gt;
|0.05&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=1N5400 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=1N5400 d] [http://www.google.de/search?q=1N5400%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/1N5401 1N5401]&lt;br /&gt;
|Si&lt;br /&gt;
|DO-201AD&lt;br /&gt;
|1 @ 3&lt;br /&gt;
|3&lt;br /&gt;
|100&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei&lt;br /&gt;
|0.06&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=1N5401 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=1N5401 d] [http://www.google.de/search?q=1N5401%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/1N5402 1N5402]&lt;br /&gt;
|Si&lt;br /&gt;
|DO-201AD&lt;br /&gt;
|1 @ 3&lt;br /&gt;
|3&lt;br /&gt;
|200&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.07&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=1N5402 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=1N5402 d] [http://www.google.de/search?q=1N5402%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/1N5404 1N5404]&lt;br /&gt;
|Si&lt;br /&gt;
|DO-201AD&lt;br /&gt;
|1 @ 3&lt;br /&gt;
|3&lt;br /&gt;
|400&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.07&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=1N5404 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=1N5404 d] [http://www.google.de/search?q=1N5404%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/1N5406 1N5406]&lt;br /&gt;
|Si&lt;br /&gt;
|DO-201AD&lt;br /&gt;
|1 @ 3&lt;br /&gt;
|3&lt;br /&gt;
|600&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei&lt;br /&gt;
|0.08&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=1N5406 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=1N5406 d] [http://www.google.de/search?q=1N5406%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/1N5407 1N5407]&lt;br /&gt;
|Si&lt;br /&gt;
|DO-201AD&lt;br /&gt;
|1 @ 3&lt;br /&gt;
|3&lt;br /&gt;
|800&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei&lt;br /&gt;
|0.08&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=1N5407 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=1N5407 d] [http://www.google.de/search?q=1N5407%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/1N5408 1N5408]&lt;br /&gt;
|Si&lt;br /&gt;
|DO-201AD&lt;br /&gt;
|1 @ 3&lt;br /&gt;
|3&lt;br /&gt;
|1000&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.08&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=1N5408 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=1N5408 d] [http://www.google.de/search?q=1N5408%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/1N5818 1N5818]&lt;br /&gt;
|Schottky&lt;br /&gt;
|DO-41&lt;br /&gt;
|0.55 @ 1&lt;br /&gt;
|1&lt;br /&gt;
|30&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.06&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=1N5818 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=1N5818 d] [http://www.google.de/search?q=1N5818%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/1N5819 1N5819]&lt;br /&gt;
|Schottky&lt;br /&gt;
|DO-41&lt;br /&gt;
|0.6 @ 1&lt;br /&gt;
|1&lt;br /&gt;
|40&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.06&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=1N5819 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=1N5819 d] [http://www.google.de/search?q=1N5819%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/1N5822 1N5822]&lt;br /&gt;
|Schottky&lt;br /&gt;
|DO-27&lt;br /&gt;
|0.525 @ 3&lt;br /&gt;
|3&lt;br /&gt;
|40&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei&lt;br /&gt;
|0.16&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=1N5822 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=1N5822 d] [http://www.google.de/search?q=1N5822%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/1N6263 1N6263]&lt;br /&gt;
|Schottky&lt;br /&gt;
|DO-35&lt;br /&gt;
|0.41 @ 0.001&lt;br /&gt;
|0.015&lt;br /&gt;
|60&lt;br /&gt;
|1&lt;br /&gt;
|Schaltdiode&lt;br /&gt;
|rei&lt;br /&gt;
|0.17&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=1N6263 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=1N6263 d] [http://www.google.de/search?q=1N6263%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/B140 B140]&lt;br /&gt;
|Schottky&lt;br /&gt;
|SMA&lt;br /&gt;
|0.5 @ 1&lt;br /&gt;
|1&lt;br /&gt;
|40&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei&lt;br /&gt;
|0.12&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=B140 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=B140 d] [http://www.google.de/search?q=B140%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/B240 B240]&lt;br /&gt;
|Schottky&lt;br /&gt;
|SMB&lt;br /&gt;
|0.5 @ 2&lt;br /&gt;
|2&lt;br /&gt;
|40&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei&lt;br /&gt;
|0.19&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=B240 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=B240 d] [http://www.google.de/search?q=B240%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/B340 B340]&lt;br /&gt;
|Schottky&lt;br /&gt;
|SMC&lt;br /&gt;
|0.5 @ 3&lt;br /&gt;
|3&lt;br /&gt;
|40&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei&lt;br /&gt;
|0.24&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=B340 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=B340 d] [http://www.google.de/search?q=B340%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/B360 B360]&lt;br /&gt;
|Schottky&lt;br /&gt;
|SMC&lt;br /&gt;
|0.7 @ 3&lt;br /&gt;
|3&lt;br /&gt;
|60&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei&lt;br /&gt;
|0.24&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=B360 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=B360 d] [http://www.google.de/search?q=B360%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BAR43 BAR43]&lt;br /&gt;
|Schottky&lt;br /&gt;
|SOT-23&lt;br /&gt;
|0.33 @ 0.002&lt;br /&gt;
|0.2&lt;br /&gt;
|30&lt;br /&gt;
|5&lt;br /&gt;
|Schaltdiode&lt;br /&gt;
|rei&lt;br /&gt;
|0.13&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BAR43 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BAR43 d] [http://www.google.de/search?q=BAR43%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BAS85 BAS85]&lt;br /&gt;
|Schottky&lt;br /&gt;
|Mini-Melf&lt;br /&gt;
|0.4 @ 0.01&lt;br /&gt;
|0.2&lt;br /&gt;
|30&lt;br /&gt;
|5&lt;br /&gt;
|Schaltdiode&lt;br /&gt;
|rei&lt;br /&gt;
|0.06&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BAS85 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BAS85 d] [http://www.google.de/search?q=BAS85%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BAT41 BAT41]&lt;br /&gt;
|Schottky&lt;br /&gt;
|DO-35, Mini-Melf&lt;br /&gt;
|0.4 @ 0.001&lt;br /&gt;
|0.1&lt;br /&gt;
|100&lt;br /&gt;
|5&lt;br /&gt;
|Schaltdiode&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.11&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BAT41 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BAT41 d] [http://www.google.de/search?q=BAT41%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BAT42 BAT42]&lt;br /&gt;
|Schottky&lt;br /&gt;
|SOD123, SOD323, Mini-Melf&lt;br /&gt;
|0.4 @ 0.01&lt;br /&gt;
|0.2&lt;br /&gt;
|30&lt;br /&gt;
|5&lt;br /&gt;
|Schaltdiode&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.06&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BAT41 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BAT41 d] [http://www.google.de/search?q=BAT42%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BAT43 BAT43]&lt;br /&gt;
|Schottky&lt;br /&gt;
|DO-35, Mini-Melf&lt;br /&gt;
|0.3 @ 0.002&lt;br /&gt;
|0.2&lt;br /&gt;
|30&lt;br /&gt;
|5&lt;br /&gt;
|Schaltdiode&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.11&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BAT43 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BAT43 d] [http://www.google.de/search?q=BAT43%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BAT46 BAT46]&lt;br /&gt;
|Schottky&lt;br /&gt;
|DO-35, Mini-Melf&lt;br /&gt;
|0.45 @ 0.01&lt;br /&gt;
|0.15&lt;br /&gt;
|100&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.11&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BAT46 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BAT46 d] [http://www.google.de/search?q=BAT46%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BAT48 BAT48]&lt;br /&gt;
|Schottky&lt;br /&gt;
|DO-35, Mini-Melf&lt;br /&gt;
|0.4 @ 0.01&lt;br /&gt;
|0.35&lt;br /&gt;
|40&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.18&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BAT48 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BAT48 d] [http://www.google.de/search?q=BAT48%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BAT54 BAT54]&lt;br /&gt;
|Schottky&lt;br /&gt;
|SOT-23&lt;br /&gt;
|0.32 @ 0.001&lt;br /&gt;
|0.2&lt;br /&gt;
|30&lt;br /&gt;
|5&lt;br /&gt;
|Schaltdiode&lt;br /&gt;
|rei&lt;br /&gt;
|0.07&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BAT54 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BAT54 d] [http://www.google.de/search?q=BAT54%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BAT85 BAT85]&lt;br /&gt;
|Schottky&lt;br /&gt;
|DO-35&lt;br /&gt;
|0.4 @ 0.01&lt;br /&gt;
|0.2&lt;br /&gt;
|30&lt;br /&gt;
|5&lt;br /&gt;
|Schaltdiode&lt;br /&gt;
|rei&lt;br /&gt;
|0.11&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BAT85 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BAT85 d] [http://www.google.de/search?q=BAT85%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BYT30P-400 BYT30P-400]&lt;br /&gt;
|Si&lt;br /&gt;
|SOD-93&lt;br /&gt;
|1.5 @ 30&lt;br /&gt;
|30&lt;br /&gt;
|400&lt;br /&gt;
|100&lt;br /&gt;
|schnelle Gleichrichterdiode&lt;br /&gt;
|rei&lt;br /&gt;
|2.85&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BYT30P-400 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BYT30P-400 d] [http://www.google.de/search?q=BYT30P-400%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BYV27-200 BYV27-200]&lt;br /&gt;
|Si&lt;br /&gt;
|SOD-57&lt;br /&gt;
|1 @ 2&lt;br /&gt;
|2&lt;br /&gt;
|200&lt;br /&gt;
|25&lt;br /&gt;
|schnelle Gleichrichterdiode&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.34&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BYV27-200 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BYV27-200 d] [http://www.google.de/search?q=BYV27-200%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BYV28-200 BYV28-200]&lt;br /&gt;
|Si&lt;br /&gt;
|SOD-64&lt;br /&gt;
|1 @ 3.5&lt;br /&gt;
|3.5&lt;br /&gt;
|200&lt;br /&gt;
|25&lt;br /&gt;
|schnelle Gleichrichterdiode&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.25&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BYV28-200 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BYV28-200 d] [http://www.google.de/search?q=BYV28-200%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BYV29-400 BYV29-400]&lt;br /&gt;
|Si&lt;br /&gt;
|SOD-59&lt;br /&gt;
|1.05 @ 8&lt;br /&gt;
|9&lt;br /&gt;
|400&lt;br /&gt;
|60&lt;br /&gt;
|schnelle Gleichrichterdiode&lt;br /&gt;
|rei&lt;br /&gt;
|0.69&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BYV29-400 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BYV29-400 d] [http://www.google.de/search?q=BYV29-400%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BYV79-200 BYV79-200]&lt;br /&gt;
|Si&lt;br /&gt;
|TO-220AC&lt;br /&gt;
|0.95 @ 14&lt;br /&gt;
|14&lt;br /&gt;
|200&lt;br /&gt;
|22&lt;br /&gt;
|schnelle Gleichrichterdiode&lt;br /&gt;
|rei&lt;br /&gt;
|0.89&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BYV79-200 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BYV79-200 d] [http://www.google.de/search?q=BYV79-200%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/MBR1045 MBR1045]&lt;br /&gt;
|Schottky&lt;br /&gt;
|TO-220AC&lt;br /&gt;
|0.59 @ 10&lt;br /&gt;
|10&lt;br /&gt;
|45&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.45&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=MBR1045 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=MBR1045 d] [http://www.google.de/search?q=MBR1045%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/MBR1645 MBR1645]&lt;br /&gt;
|Schottky&lt;br /&gt;
|TO-220AC&lt;br /&gt;
|0.63 @ 16&lt;br /&gt;
|16&lt;br /&gt;
|45&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.43&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=MBR1645 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=MBR1645 d] [http://www.google.de/search?q=MBR1645%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/MBR745 MBR745]&lt;br /&gt;
|Schottky&lt;br /&gt;
|TO-220AC&lt;br /&gt;
|0.625 @ 7.5&lt;br /&gt;
|7.5&lt;br /&gt;
|45&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.38&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=MBR745 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=MBR745 d] [http://www.google.de/search?q=MBR745%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/MBRS1100 MBRS1100]&lt;br /&gt;
|Schottky&lt;br /&gt;
|SMB&lt;br /&gt;
|0.75 @ 1&lt;br /&gt;
|1&lt;br /&gt;
|100&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei&lt;br /&gt;
|0.17&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=MBRS1100 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=MBRS1100 d] [http://www.google.de/search?q=MBRS1100%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/MBRS120 MBRS120]&lt;br /&gt;
|Schottky&lt;br /&gt;
|SMB&lt;br /&gt;
|0.6 @ 1&lt;br /&gt;
|1&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei&lt;br /&gt;
|0.14&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=MBRS120 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=MBRS120 d] [http://www.google.de/search?q=MBRS120%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/MBRS140 MBRS140]&lt;br /&gt;
|Schottky&lt;br /&gt;
|SMB&lt;br /&gt;
|0.6 @ 1&lt;br /&gt;
|1&lt;br /&gt;
|40&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.12&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=MBRS140 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=MBRS140 d] [http://www.google.de/search?q=MBRS140%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/MBRS240 MBRS240]&lt;br /&gt;
|Schottky&lt;br /&gt;
|SMB&lt;br /&gt;
|0.43 @ 2&lt;br /&gt;
|2&lt;br /&gt;
|40&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.22&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=MBRS240 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=MBRS240 d] [http://www.google.de/search?q=MBRS240%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/MBRS320 MBRS320]&lt;br /&gt;
|Schottky&lt;br /&gt;
|SMC&lt;br /&gt;
|0.5 @ 3&lt;br /&gt;
|3&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei&lt;br /&gt;
|0.32&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=MBRS320 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=MBRS320 d] [http://www.google.de/search?q=MBRS320%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/MBRS340 MBRS340]&lt;br /&gt;
|Schottky&lt;br /&gt;
|SMC&lt;br /&gt;
|0.525 @ 3&lt;br /&gt;
|3&lt;br /&gt;
|40&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei&lt;br /&gt;
|0.22&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=MBRS340 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=MBRS340 d] [http://www.google.de/search?q=MBRS340%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/MBRS360 MBRS360]&lt;br /&gt;
|Schottky&lt;br /&gt;
|SMC&lt;br /&gt;
|0.74 @ 3&lt;br /&gt;
|3&lt;br /&gt;
|60&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.23&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=MBRS360 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=MBRS360 d] [http://www.google.de/search?q=MBRS360%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/SB140 SB140]&lt;br /&gt;
|Schottky&lt;br /&gt;
|DO-41&lt;br /&gt;
|0.5 @ 1&lt;br /&gt;
|1&lt;br /&gt;
|40&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.13&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=SB140 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=SB140 d] [http://www.google.de/search?q=SB140%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/SB160 SB160]&lt;br /&gt;
|Schottky&lt;br /&gt;
|DO-41&lt;br /&gt;
|0.7 @ 1&lt;br /&gt;
|1&lt;br /&gt;
|60&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei&lt;br /&gt;
|0.17&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=SB160 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=SB160 d] [http://www.google.de/search?q=SB160%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/SB340 SB340]&lt;br /&gt;
|Schottky&lt;br /&gt;
|DO-201AD&lt;br /&gt;
|0.5 @ 3&lt;br /&gt;
|3&lt;br /&gt;
|40&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.25&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=SB340 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=SB340 d] [http://www.google.de/search?q=SB340%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/SB360 SB360]&lt;br /&gt;
|Schottky&lt;br /&gt;
|DO-201AD&lt;br /&gt;
|0.74 @ 3&lt;br /&gt;
|3&lt;br /&gt;
|60&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.30&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=SB360 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=SB360 d] [http://www.google.de/search?q=SB360%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/SB540 SB540]&lt;br /&gt;
|Schottky&lt;br /&gt;
|DO-201AD&lt;br /&gt;
|0.55 @ 5&lt;br /&gt;
|5&lt;br /&gt;
|40&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.44&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=SB540 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=SB540 d] [http://www.google.de/search?q=SB540%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/SB560 SB560]&lt;br /&gt;
|Schottky&lt;br /&gt;
|DO-201AD&lt;br /&gt;
|0.67 @ 5&lt;br /&gt;
|5&lt;br /&gt;
|60&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|rei,csd&lt;br /&gt;
|0.50&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=SB560 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=SB560 d] [http://www.google.de/search?q=SB560%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BAT60A BAT60A]&lt;br /&gt;
|Schottky&lt;br /&gt;
|PG-SOD323&lt;br /&gt;
|0.3 @ 1&lt;br /&gt;
|3&lt;br /&gt;
|10&lt;br /&gt;
|&lt;br /&gt;
| 0.12V@10mA aber nur 10V&lt;br /&gt;
|con,rs&lt;br /&gt;
|0.14&lt;br /&gt;
|[http://www.infineon.com/dgdl/bat60aseries.pdf?folderId=db3a304313d846880113def5812204a1&amp;amp;fileId=db3a304313d846880113def70c9304a9]&lt;br /&gt;
|-&lt;br /&gt;
|BYG23M&lt;br /&gt;
|Si&lt;br /&gt;
|SMA&lt;br /&gt;
|1.7 @ 1&lt;br /&gt;
|1&lt;br /&gt;
|1000&lt;br /&gt;
|75&lt;br /&gt;
|Ultraschneller Avalanchegleichrichter&lt;br /&gt;
|?&lt;br /&gt;
|0.18&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BYG23 a]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Tabelle mit Click im Kopfbereich sortierbar)&lt;br /&gt;
&lt;br /&gt;
== Sonderformen ==&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;Sonderformen&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#eeeeee&amp;quot;&lt;br /&gt;
! Bezeichnung&lt;br /&gt;
! Typ&lt;br /&gt;
! Package&lt;br /&gt;
! V&amp;lt;sub&amp;gt;f&amp;lt;/sub&amp;gt;/V @ I&amp;lt;sub&amp;gt;f&amp;lt;/sub&amp;gt;/A&lt;br /&gt;
! I&amp;lt;sub&amp;gt;O&amp;lt;/sub&amp;gt;/A&lt;br /&gt;
! V&amp;lt;sub&amp;gt;R&amp;lt;/sub&amp;gt;/V&lt;br /&gt;
! t&amp;lt;sub&amp;gt;rr&amp;lt;/sub&amp;gt;/ns&lt;br /&gt;
! Bemerkung&lt;br /&gt;
! Lieferant&lt;br /&gt;
! ca. Preis&lt;br /&gt;
! Links&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BAR43A BAR43A]&lt;br /&gt;
|Schottky&lt;br /&gt;
|SOT-23&lt;br /&gt;
|0.33 @ 0.002&lt;br /&gt;
|0.2&lt;br /&gt;
|30&lt;br /&gt;
|5&lt;br /&gt;
|2 Dioden, gemeinsame Anode&lt;br /&gt;
|rei&lt;br /&gt;
|0.13&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BAR43A a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BAR43A d] [http://www.google.de/search?q=BAR43A%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BAR43C BAR43C]&lt;br /&gt;
|Schottky&lt;br /&gt;
|SOT-23&lt;br /&gt;
|0.33 @ 0.002&lt;br /&gt;
|0.2&lt;br /&gt;
|30&lt;br /&gt;
|5&lt;br /&gt;
|2 Dioden, gemeinsame Kathode&lt;br /&gt;
|rei&lt;br /&gt;
|0.13&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BAR43C a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BAR43C d] [http://www.google.de/search?q=BAR43C%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BAR43S BAR43S]&lt;br /&gt;
|Schottky&lt;br /&gt;
|SOT-23&lt;br /&gt;
|0.33 @ 0.002&lt;br /&gt;
|0.2&lt;br /&gt;
|30&lt;br /&gt;
|5&lt;br /&gt;
|2 Dioden, Serienschaltung&lt;br /&gt;
|rei&lt;br /&gt;
|0.15&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BAR43S a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BAR43S d] [http://www.google.de/search?q=BAR43S%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BAT54A BAT54A]&lt;br /&gt;
|Schottky&lt;br /&gt;
|SOT-23&lt;br /&gt;
|0.32 @ 0.001&lt;br /&gt;
|0.2&lt;br /&gt;
|30&lt;br /&gt;
|5&lt;br /&gt;
|2 Dioden, gemeinsame Anode&lt;br /&gt;
|rei&lt;br /&gt;
|0.07&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BAT54A a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BAT54A d] [http://www.google.de/search?q=BAT54A%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BAT54C BAT54C]&lt;br /&gt;
|Schottky&lt;br /&gt;
|SOT-23&lt;br /&gt;
|0.32 @ 0.001&lt;br /&gt;
|0.2&lt;br /&gt;
|30&lt;br /&gt;
|5&lt;br /&gt;
|2 Dioden, gemeinsame Kathode&lt;br /&gt;
|rei&lt;br /&gt;
|0.07&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BAT54C a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BAT54C d] [http://www.google.de/search?q=BAT54C%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BAT54S BAT54S]&lt;br /&gt;
|Schottky&lt;br /&gt;
|SOT-23&lt;br /&gt;
|0.32 @ 0.001&lt;br /&gt;
|0.2&lt;br /&gt;
|30&lt;br /&gt;
|5&lt;br /&gt;
|2 Dioden, Serienschaltung&lt;br /&gt;
|rei&lt;br /&gt;
|0.07&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BAT54S a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BAT54S d] [http://www.google.de/search?q=BAT54S%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BAV70 BAV70]&lt;br /&gt;
|Si&lt;br /&gt;
|SOT-23&lt;br /&gt;
|1 @ 0.05&lt;br /&gt;
|0.2&lt;br /&gt;
|70&lt;br /&gt;
|6&lt;br /&gt;
|2 Dioden, gemeinsame Kathode&lt;br /&gt;
|rei&lt;br /&gt;
|0.04&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BAV70 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BAV70 d] [http://www.google.de/search?q=BAV70%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BAV99 BAV99]&lt;br /&gt;
|Si&lt;br /&gt;
|SOT-23&lt;br /&gt;
|1 @ 0.05&lt;br /&gt;
|0.2&lt;br /&gt;
|70&lt;br /&gt;
|6&lt;br /&gt;
|2 Dioden, Serienschaltung&lt;br /&gt;
|rei&lt;br /&gt;
|0.04&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BAV99 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BAV99 d] [http://www.google.de/search?q=BAV99%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BAW56 BAW56]&lt;br /&gt;
|Si&lt;br /&gt;
|SOT-23&lt;br /&gt;
|1 @ 0.05&lt;br /&gt;
|0.2&lt;br /&gt;
|70&lt;br /&gt;
|6&lt;br /&gt;
|2 Dioden, gemeinsame Anode&lt;br /&gt;
|rei&lt;br /&gt;
|0.04&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BAW56 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BAW56 d] [http://www.google.de/search?q=BAW56%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/BYV32-200 BYV32-200]&lt;br /&gt;
|Si&lt;br /&gt;
|TO-220AB&lt;br /&gt;
|1 @ 20&lt;br /&gt;
|20&lt;br /&gt;
|200&lt;br /&gt;
|25&lt;br /&gt;
|2 Dioden, gemeinsame Kathode&lt;br /&gt;
|rei&lt;br /&gt;
|0.92&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=BYV32-200 a] [http://www.diodes.com/products/catalog/search.php?search-pattern=BYV32-200 d] [http://www.google.de/search?q=BYV32-200%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/MBR20100CT MBR20100CT]&lt;br /&gt;
|Schottky&lt;br /&gt;
|TO-220AB&lt;br /&gt;
|0.85 @ 10&lt;br /&gt;
|20&lt;br /&gt;
|100&lt;br /&gt;
|&lt;br /&gt;
|2 Dioden, gemeinsame Kathode&lt;br /&gt;
|rei&lt;br /&gt;
|0.67&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=MBR20100CT a] [http://www.diodes.com/products/catalog/search.php?search-pattern=MBR20100CT d] [http://www.google.de/search?q=MBR20100CT%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/MBR20200CT MBR20200CT]&lt;br /&gt;
|Schottky&lt;br /&gt;
|TO-220AB&lt;br /&gt;
|0.9 @ 10&lt;br /&gt;
|20&lt;br /&gt;
|200&lt;br /&gt;
|&lt;br /&gt;
|2 Dioden, gemeinsame Kathode&lt;br /&gt;
|rei&lt;br /&gt;
|0.97&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=MBR20200CT a] [http://www.diodes.com/products/catalog/search.php?search-pattern=MBR20200CT d] [http://www.google.de/search?q=MBR20200CT%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/MBR2045CT MBR2045CT]&lt;br /&gt;
|Schottky&lt;br /&gt;
|TO-220AB&lt;br /&gt;
|0.55 @ 10&lt;br /&gt;
|20&lt;br /&gt;
|45&lt;br /&gt;
|&lt;br /&gt;
|2 Dioden, gemeinsame Kathode&lt;br /&gt;
|rei&lt;br /&gt;
|0.40&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=MBR2045CT a] [http://www.diodes.com/products/catalog/search.php?search-pattern=MBR2045CT d] [http://www.google.de/search?q=MBR2045CT%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/MBR2060CT MBR2060CT]&lt;br /&gt;
|Schottky&lt;br /&gt;
|TO-220AB&lt;br /&gt;
|0.8 @ 10&lt;br /&gt;
|20&lt;br /&gt;
|60&lt;br /&gt;
|&lt;br /&gt;
|2 Dioden, gemeinsame Kathode&lt;br /&gt;
|rei&lt;br /&gt;
|0.62&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=MBR2060CT a] [http://www.diodes.com/products/catalog/search.php?search-pattern=MBR2060CT d] [http://www.google.de/search?q=MBR2060CT%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/MBR3045PT MBR3045PT]&lt;br /&gt;
|Schottky&lt;br /&gt;
|TO-247AD&lt;br /&gt;
|0.6 @ 15&lt;br /&gt;
|30&lt;br /&gt;
|45&lt;br /&gt;
|&lt;br /&gt;
|2 Dioden, gemeinsame Kathode&lt;br /&gt;
|rei&lt;br /&gt;
|0.89&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=MBR3045PT a] [http://www.diodes.com/products/catalog/search.php?search-pattern=MBR3045PT d] [http://www.google.de/search?q=MBR3045PT%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/MBR4045PT MBR4045PT]&lt;br /&gt;
|Schottky&lt;br /&gt;
|TO-247AD&lt;br /&gt;
|0.7 @ 20&lt;br /&gt;
|40&lt;br /&gt;
|45&lt;br /&gt;
|&lt;br /&gt;
|2 Dioden, gemeinsame Kathode&lt;br /&gt;
|rei,csd&lt;br /&gt;
|1.10&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=MBR4045PT a] [http://www.diodes.com/products/catalog/search.php?search-pattern=MBR4045PT d] [http://www.google.de/search?q=MBR4045PT%20datasheet%20filetype:pdf g]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.mikrocontroller.net/part/MBR4045WT MBR4045WT]&lt;br /&gt;
|Schottky&lt;br /&gt;
|TO-247AD&lt;br /&gt;
|0.59 @ 20&lt;br /&gt;
|40&lt;br /&gt;
|45&lt;br /&gt;
|&lt;br /&gt;
|2 Dioden, gemeinsame Kathode&lt;br /&gt;
|rei&lt;br /&gt;
|1.00&lt;br /&gt;
|[http://www.alldatasheet.com/view.jsp?Searchword=MBR4045WT a] [http://www.diodes.com/products/catalog/search.php?search-pattern=MBR4045WT d] [http://www.google.de/search?q=MBR4045WT%20datasheet%20filetype:pdf g]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Tabelle mit Click im Kopfbereich sortierbar)&lt;br /&gt;
&lt;br /&gt;
== Bemerkungen ==&lt;br /&gt;
&lt;br /&gt;
=== Eigenschaften ===&lt;br /&gt;
* V&amp;lt;sub&amp;gt;f&amp;lt;/sub&amp;gt; = forward voltage; Flusspannung&lt;br /&gt;
* I&amp;lt;sub&amp;gt;f&amp;lt;/sub&amp;gt; = forward current, Strom in Flussrichung&lt;br /&gt;
* I&amp;lt;sub&amp;gt;O&amp;lt;/sub&amp;gt; = maximum average rectified current, Maximaler mittlerer Gleichrichtstrom&lt;br /&gt;
* V&amp;lt;sub&amp;gt;R&amp;lt;/sub&amp;gt; = maximum DC reverse voltage, Maximale Sperrspannung&lt;br /&gt;
* t&amp;lt;sub&amp;gt;rr&amp;lt;/sub&amp;gt; = reverse recovery time, Sperrerholzeit&lt;br /&gt;
&lt;br /&gt;
=== Lieferanten ===&lt;br /&gt;
* [Rei] [[Elektronikversender#Reichelt|Reichelt]]: http://www.reichelt.de&lt;br /&gt;
* [csd] [[Elektronikversender#csd-electronics|CSD-Electronics]]: http://www.csd-electronics.de/&lt;br /&gt;
* [Con] [[Elektronikversender#Conrad|Conrad-Elektronik]]: http://www.conrad.de&lt;br /&gt;
* [Kes] [[Elektronikversender#Kessler|Kessler]]: http://www.kessler-elektronik.de&lt;br /&gt;
* [Far] [[Elektronikversender#Farnell|Farnell]]: http://www.farnell.de&lt;br /&gt;
* [RS]  [[Elektronikversender#RS_Components|RS Components]]: http://de.rs-online.com&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* [a] Alldatasheet: http://www.alldatasheet.com&lt;br /&gt;
* [d] Diodes Incorporated: http://www.diodes.com&lt;br /&gt;
* [g] Google: http://www.google.de&lt;br /&gt;
&lt;br /&gt;
== Parametrische Suche beim Hersteller ==&lt;br /&gt;
* [http://www.infineon.com/cms/de/product/channel.html?channel=db3a304319c6f18c011a14e9f0d62600 Infineon]&lt;br /&gt;
* [http://www.nxp.com/products/diodes/ NXP]&lt;br /&gt;
* [http://www.onsemi.com/PowerSolutions/taxonomy.do?id=800&amp;amp;lctn=home ONsemi]&lt;br /&gt;
* [http://www.diodes.com/zetex/?ztx=3.0/3-3-1@tcatid~8 Diodes (vomals Zetex)]&lt;br /&gt;
* [http://www.vishay.com/diodes/ Vishay]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Liste mit Bauteilen]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=89403</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=89403"/>
		<updated>2015-07-27T07:56:47Z</updated>

		<summary type="html">&lt;p&gt;Energizer: Softwarelinks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|thumb|300px|RFM69CW, Pinkompatibel zum RFM12]]&lt;br /&gt;
Das RFM69 von HopeRF ist ein universelles Funkmodul für die ISM-Frequenzbänder 315, 433, 868 und 915 MHz. Eine [[SPI]]-Schnitttstelle ermöglicht die einfache Integration in Mikrocontrollerprojekte.&lt;br /&gt;
&lt;br /&gt;
== Ausführungen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM69HCW !! RFM69HW !! RFM69CW !! RFM69W&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 20 dBm || 20 dBm || 13 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Pins || 16 || 16 || 14 || 16&lt;br /&gt;
|-&lt;br /&gt;
| Abmessungen || 16 x 16 mm || 19,7 x 16 mm || 16 x 16 mm || 19,7 x 16 mm&lt;br /&gt;
|-&lt;br /&gt;
| Sonstiges || Ersatz für RFM22B || || Ersatz für RFM12 ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die CW-Variante hat 2 Pins weniger (es fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden.&lt;br /&gt;
&lt;br /&gt;
== Ausstattung ==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI-Schnittstelle&lt;br /&gt;
* FSK- und OOK-Modulation (Frequency Shift Keying = Frequenzumtastung, On-Off-Keying = Amplitudentastung)&lt;br /&gt;
* Eingebauter Manchesterde- und -encoder&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden (13 dBm), 16 mA empfangen, 0,1 µA Standby&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
* Modul basiert auf dem SX1231 von Semtech&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69(C)W&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|-&lt;br /&gt;
| Syncmustererkennung || Fest 0x2DD4 oder 0xD4 || Frei bis zu 8 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann softwareseitig so konfiguriert werden, dass er anzeigt, wenn ein Paket vollständig gesendet oder ein neues Paket empfangen wurde. Ist das Modul in Minimalkonfiguration angeschlossen, müssen dazu die Statusregister RegIrqFlags1 (0x27) oder RegIrqFlags2 (0x28) ausgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Die SPI-Ansteuerung erfolgt im Modus CPOL=0, CPHA=0, wobei jeweils 16 Bits vom µC zum Modul geschickt werden:&lt;br /&gt;
Das erste Bit teilt dem Modul mit, ob es sich um einen Lese- (Bitwert 0) oder Schreibvorgang (Bitwert 1) handelt, die restlichen sieben Bit des ersten Bytes geben die Registeradresse an. Mit den zweiten acht Bit wird im Schreibmodus der zu übertragende Befehl an das Modul übermittelt, im Lesemodus kann eine beliebige Bitfolge gesendet werden. Während das zweite Bit gesendet wird, empfängt der µC sowohl im Lese- als auch im Schreibmodus den Inhalt des angesprochenen Registers vor dem aktuellen Zugriff.&lt;br /&gt;
&lt;br /&gt;
Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrementiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei, dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...), das höchstwertige Byte zu erst geschrieben/gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Es gibt zwei grundsätzliche Funktionsmodi, die im Register &amp;quot;RegDataModule&amp;quot; gewählt werden:&lt;br /&gt;
=== Continuous Mode ===&lt;br /&gt;
Für die Datenübertragung vom/zum Modul werden die beiden Pins &amp;quot;DIO1/DCLK&amp;quot; und &amp;quot;DIO2/DATA&amp;quot; verwendet. An DCLK gibt das Modul den Takt vor mit dem die Datenbits an DATA geschrieben oder gelesen werden müssen.&lt;br /&gt;
=== Packet Mode ===&lt;br /&gt;
Die Packetengine des RFM69 kümmert sich um die Erzeugung und Auswertung der Preamble, des Synchronwortes, des Scramblings, der CRC und der Verschlüsselung. Im Sendebetrieb bearbeitet die eingebaute Packet Engine ein Nutzdatenpaket folgendermaßen:&lt;br /&gt;
==== Fixed Length Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Einstellbare Anzahl (0-65535) von Preamblebytes (0xAA) an den Anfang setzen&lt;br /&gt;
* Synchronwort hinzufügen (Länge zwischen 0-8 Bytes einstellbar, Synchronwort selbst ebenfalls einstellbar)&lt;br /&gt;
* Nutzdaten hinzufügen (Länge wird in einem Register angegeben)&lt;br /&gt;
* CRC hinzufügen (abschaltbar)&lt;br /&gt;
&lt;br /&gt;
== Interrupts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung !! Beschreibung !! Verfügbar an (Packet mode) !! Verfügbar an (Cont. mode)&lt;br /&gt;
|-&lt;br /&gt;
| ModeReady || Beispiel || DIO5&lt;br /&gt;
|-&lt;br /&gt;
| RxReady || Beispiel || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| TxReady || Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PllLock || Beispiel || DIO3, DIO1, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| Rssi || Eingestellte Rssi-Schwelle überschritten; wird gelöscht wenn RX Modus verlassen wird || DIO0, DIO3 || DIO0, DIO3, DIO5&lt;br /&gt;
|-&lt;br /&gt;
| Timeout || Beispiel || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| AutoMode || Beispiel || DIO2&lt;br /&gt;
|-&lt;br /&gt;
| SyncAddressMatch || Syncadresse empfangen || DIO0, DIO3 || DIO0, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoFull || Beispiel || DIO3, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoNotEmpty || || DIO2, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoLevel || || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoOverrun || ||&lt;br /&gt;
|-&lt;br /&gt;
| PacketSent || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PayloadReady || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| CrcOk || || DIO0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69(H)CW ==&lt;br /&gt;
[[Datei:RFM12 69 Pins.svg|Anschlussbelegung RFM12B und RFM69]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Fktn. im packet mode !! Fktn. im cont. mode!! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || ||GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || ModeReady&amp;lt;br /&amp;gt;&lt;br /&gt;
PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
Timeout&amp;lt;br /&amp;gt;&lt;br /&gt;
Rssi&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || Data || FSK&amp;lt;br /&amp;gt;DATA&amp;lt;br /&amp;gt;nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
Dclk&amp;lt;br /&amp;gt;&lt;br /&gt;
RxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
 || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || ||CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x27|| RegIrqFlags1 || Statusflags (ModeReady, RxReady, TxReady, PllLock, RSSI, Timeout, AutoMode, SyncAddressMatch) || 0xD0 -&amp;gt; Empfänger bereit zum Datenempfang&lt;br /&gt;
|-&lt;br /&gt;
| 0x28|| RegIrqFlags2 || Statusflags (FifoFull, FifoNotEmpty, FifoLevel, FifoOverrun, PacketSent, PayloadReady, CrcOk, LowBat) || 0x06 -&amp;gt; Daten mit erfolgreichem CRC empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Implementierungen ==&lt;br /&gt;
* [https://github.com/LowPowerLab/RFM69 Arduinobibliothek von LowPowerLab]&lt;br /&gt;
* [https://github.com/jcw/jeelib Arduinobibliothek für JeeNodes]&lt;br /&gt;
* [https://github.com/gkaindl/rfm12b-linux Linux Kerneltreiber für RFM12 und RFM69]&lt;br /&gt;
&lt;br /&gt;
== Projekte ==&lt;br /&gt;
=== FS20 Funksteckdosen schalten ===&lt;br /&gt;
Da das RFM69 OOK modulieren kann, können damit die FS20 Funksteckdosen geschaltet werden. FS20 verwendet allerdings eine Art Pulsdauermodulation; eine 1 wird mit 600&amp;amp;nbsp;µs Träger an gefolgt von 600&amp;amp;nbsp;µs Träger aus, und eine 0 mit 400&amp;amp;nbsp;µs an gefolgt von 400&amp;amp;nbsp;µs aus übertragen. Man teilt einfach das Signal in 200&amp;amp;nbsp;µs Schlitze ein (OOK-Datenrate 5&amp;amp;nbsp;kbit/s), und sendet für eine 1 die Folge 111000 und für eine 0 die Folge 1100. Im FS20 Protokoll wird ein 13 Bit langer Header (0000000000001) übertragen, diesen kann man umrechnen und im RFM69 als Syncword einstellen. So wird der Header vom RFM69 bei jeder Übertragung automatisch vorweg ausgesendet.&lt;br /&gt;
&lt;br /&gt;
=== Conrad Energy Count 3000 ===&lt;br /&gt;
Unter http://forum.jeelabs.net/node/3412679.html?page=1 wurde schon das Protokoll der Conrad Energy Count 3000 (baugleich mit Technoline Cost Control RC) Funk-Energiekostenmessgeräte beschrieben. Mit dem RFM69 lässt sich ein Frame des Messgerätes mit dem konfigurierbarem Synchronwortfinder bequem empfangen.&lt;br /&gt;
&lt;br /&gt;
=== LaCrosse Temperatursensoren empfangen ===&lt;br /&gt;
=== Open Energy Monitor empfangen ===&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
* [http://shop.seegel-systeme.de/Bauelemente/Funkmodul-RFM69CW-REV-V1-0-868-MHz-SMD.html Seegel Systeme]&lt;br /&gt;
* Pollin: [http://www.pollin.de/shop/dt/Nzk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_433_MHz_TX_RX.html 433 MHz] / [http://www.pollin.de/shop/dt/Njk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_868_MHz_TX_RX.html 868 MHz]&lt;br /&gt;
* [http://www.aliexpress.com/item/RFM69CW-13dBm-transceiver-module-pin-to-pin-compatible-to-RFM12B-433-868-915mhz-can-be-selected/2010762457.html AliExpress]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/sx1231.pdf Datenblatt Semtech SX1231]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/AN1200.18_STD.pdf Application Note zur Softwareimplementierung von Data-Whitening und CRC]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/332579 Thread im Forum: Wer verwendet RFM69]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:RFM12]]&lt;br /&gt;
[[Kategorie:Funk]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=89127</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=89127"/>
		<updated>2015-06-25T14:35:09Z</updated>

		<summary type="html">&lt;p&gt;Energizer: /* Interrupts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|thumb|300px|RFM69CW, Pinkompatibel zum RFM12]]&lt;br /&gt;
Das RFM69 von HopeRF ist ein universelles Funkmodul für die ISM-Frequenzbänder 315, 433, 868 und 915 MHz. Eine [[SPI]]-Schnitttstelle ermöglicht die einfache Integration in Mikrocontrollerprojekte.&lt;br /&gt;
&lt;br /&gt;
== Ausführungen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM69HCW !! RFM69HW !! RFM69CW !! RFM69W&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 20 dBm || 20 dBm || 13 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Pins || 16 || 16 || 14 || 16&lt;br /&gt;
|-&lt;br /&gt;
| Abmessungen || 16 x 16 mm || 19,7 x 16 mm || 16 x 16 mm || 19,7 x 16 mm&lt;br /&gt;
|-&lt;br /&gt;
| Sonstiges || Ersatz für RFM22B || || Ersatz für RFM12 ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die CW-Variante hat 2 Pins weniger (es fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden.&lt;br /&gt;
&lt;br /&gt;
== Ausstattung ==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI-Schnittstelle&lt;br /&gt;
* FSK- und OOK-Modulation (Frequency Shift Keying = Frequenzumtastung, On-Off-Keying = Amplitudentastung)&lt;br /&gt;
* Eingebauter Manchesterde- und -encoder&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden (13 dBm), 16 mA empfangen, 0,1 µA Standby&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
* Modul basiert auf dem SX1231 von Semtech&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69(C)W&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|-&lt;br /&gt;
| Syncmustererkennung || Fest 0x2DD4 oder 0xD4 || Frei bis zu 8 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann softwareseitig so konfiguriert werden, dass er anzeigt, wenn ein Paket vollständig gesendet oder ein neues Paket empfangen wurde. Ist das Modul in Minimalkonfiguration angeschlossen, müssen dazu die Statusregister RegIrqFlags1 (0x27) oder RegIrqFlags2 (0x28) ausgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Die SPI-Ansteuerung erfolgt im Modus CPOL=0, CPHA=0, wobei jeweils 16 Bits vom µC zum Modul geschickt werden:&lt;br /&gt;
Das erste Bit teilt dem Modul mit, ob es sich um einen Lese- (Bitwert 0) oder Schreibvorgang (Bitwert 1) handelt, die restlichen sieben Bit des ersten Bytes geben die Registeradresse an. Mit den zweiten acht Bit wird im Schreibmodus der zu übertragende Befehl an das Modul übermittelt, im Lesemodus kann eine beliebige Bitfolge gesendet werden. Während das zweite Bit gesendet wird, empfängt der µC sowohl im Lese- als auch im Schreibmodus den Inhalt des angesprochenen Registers vor dem aktuellen Zugriff.&lt;br /&gt;
&lt;br /&gt;
Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrementiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei, dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...), das höchstwertige Byte zu erst geschrieben/gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Es gibt zwei grundsätzliche Funktionsmodi, die im Register &amp;quot;RegDataModule&amp;quot; gewählt werden:&lt;br /&gt;
=== Continuous Mode ===&lt;br /&gt;
Für die Datenübertragung vom/zum Modul werden die beiden Pins &amp;quot;DIO1/DCLK&amp;quot; und &amp;quot;DIO2/DATA&amp;quot; verwendet. An DCLK gibt das Modul den Takt vor mit dem die Datenbits an DATA geschrieben oder gelesen werden müssen.&lt;br /&gt;
=== Packet Mode ===&lt;br /&gt;
Die Packetengine des RFM69 kümmert sich um die Erzeugung und Auswertung der Preamble, des Synchronwortes, des Scramblings, der CRC und der Verschlüsselung. Im Sendebetrieb bearbeitet die eingebaute Packet Engine ein Nutzdatenpaket folgendermaßen:&lt;br /&gt;
==== Fixed Length Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Einstellbare Anzahl (0-65535) von Preamblebytes (0xAA) an den Anfang setzen&lt;br /&gt;
* Synchronwort hinzufügen (Länge zwischen 0-8 Bytes einstellbar, Synchronwort selbst ebenfalls einstellbar)&lt;br /&gt;
* Nutzdaten hinzufügen (Länge wird in einem Register angegeben)&lt;br /&gt;
* CRC hinzufügen (abschaltbar)&lt;br /&gt;
&lt;br /&gt;
== Interrupts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung !! Beschreibung !! Verfügbar an (Packet mode) !! Verfügbar an (Cont. mode)&lt;br /&gt;
|-&lt;br /&gt;
| ModeReady || Beispiel || DIO5&lt;br /&gt;
|-&lt;br /&gt;
| RxReady || Beispiel || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| TxReady || Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PllLock || Beispiel || DIO3, DIO1, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| Rssi || Eingestellte Rssi-Schwelle überschritten; wird gelöscht wenn RX Modus verlassen wird || DIO0, DIO3 || DIO0, DIO3, DIO5&lt;br /&gt;
|-&lt;br /&gt;
| Timeout || Beispiel || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| AutoMode || Beispiel || DIO2&lt;br /&gt;
|-&lt;br /&gt;
| SyncAddressMatch || Syncadresse empfangen || DIO0, DIO3 || DIO0, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoFull || Beispiel || DIO3, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoNotEmpty || || DIO2, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoLevel || || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoOverrun || ||&lt;br /&gt;
|-&lt;br /&gt;
| PacketSent || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PayloadReady || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| CrcOk || || DIO0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69(H)CW ==&lt;br /&gt;
[[Datei:RFM12 69 Pins.svg|Anschlussbelegung RFM12B und RFM69]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Fktn. im packet mode !! Fktn. im cont. mode!! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || ||GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || ModeReady&amp;lt;br /&amp;gt;&lt;br /&gt;
PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
Timeout&amp;lt;br /&amp;gt;&lt;br /&gt;
Rssi&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || || FSK&amp;lt;br /&amp;gt;DATA&amp;lt;br /&amp;gt;nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
Dclk&amp;lt;br /&amp;gt;&lt;br /&gt;
RxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
 || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || ||CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x27|| RegIrqFlags1 || Statusflags (ModeReady, RxReady, TxReady, PllLock, RSSI, Timeout, AutoMode, SyncAddressMatch) || 0xD0 -&amp;gt; Empfänger bereit zum Datenempfang&lt;br /&gt;
|-&lt;br /&gt;
| 0x28|| RegIrqFlags2 || Statusflags (FifoFull, FifoNotEmpty, FifoLevel, FifoOverrun, PacketSent, PayloadReady, CrcOk, LowBat) || 0x06 -&amp;gt; Daten mit erfolgreichem CRC empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Projekte ==&lt;br /&gt;
=== FS20 Funksteckdosen schalten ===&lt;br /&gt;
Da das RFM69 OOK modulieren kann, können damit die FS20 Funksteckdosen geschaltet werden. FS20 verwendet allerdings eine Art Pulsdauermodulation; eine 1 wird mit 600&amp;amp;nbsp;µs Träger an gefolgt von 600&amp;amp;nbsp;µs Träger aus, und eine 0 mit 400&amp;amp;nbsp;µs an gefolgt von 400&amp;amp;nbsp;µs aus übertragen. Man teilt einfach das Signal in 200&amp;amp;nbsp;µs Schlitze ein (OOK-Datenrate 5&amp;amp;nbsp;kbit/s), und sendet für eine 1 die Folge 111000 und für eine 0 die Folge 1100. Im FS20 Protokoll wird ein 13 Bit langer Header (0000000000001) übertragen, diesen kann man umrechnen und im RFM69 als Syncword einstellen. So wird der Header vom RFM69 bei jeder Übertragung automatisch vorweg ausgesendet.&lt;br /&gt;
&lt;br /&gt;
=== Conrad Energy Count 3000 ===&lt;br /&gt;
Unter http://forum.jeelabs.net/node/3412679.html?page=1 wurde schon das Protokoll der Conrad Energy Count 3000 (baugleich mit Technoline Cost Control RC) Funk-Energiekostenmessgeräte beschrieben. Mit dem RFM69 lässt sich ein Frame des Messgerätes mit dem konfigurierbarem Synchronwortfinder bequem empfangen.&lt;br /&gt;
&lt;br /&gt;
=== LaCrosse Temperatursensoren empfangen ===&lt;br /&gt;
=== Open Energy Monitor empfangen ===&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
* [http://shop.seegel-systeme.de/Bauelemente/Funkmodul-RFM69CW-REV-V1-0-868-MHz-SMD.html Seegel Systeme]&lt;br /&gt;
* Pollin: [http://www.pollin.de/shop/dt/Nzk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_433_MHz_TX_RX.html 433 MHz] / [http://www.pollin.de/shop/dt/Njk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_868_MHz_TX_RX.html 868 MHz]&lt;br /&gt;
* [http://www.aliexpress.com/item/RFM69CW-13dBm-transceiver-module-pin-to-pin-compatible-to-RFM12B-433-868-915mhz-can-be-selected/2010762457.html AliExpress]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/sx1231.pdf Datenblatt Semtech SX1231]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/AN1200.18_STD.pdf Application Note zur Softwareimplementierung von Data-Whitening und CRC]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/332579 Thread im Forum: Wer verwendet RFM69]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:RFM12]]&lt;br /&gt;
[[Kategorie:Funk]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=89125</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=89125"/>
		<updated>2015-06-25T13:45:50Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|thumb|300px|RFM69CW, Pinkompatibel zum RFM12]]&lt;br /&gt;
Das RFM69 von HopeRF ist ein universelles Funkmodul für die ISM-Frequenzbänder 315, 433, 868 und 915 MHz. Eine [[SPI]]-Schnitttstelle ermöglicht die einfache Integration in Mikrocontrollerprojekte.&lt;br /&gt;
&lt;br /&gt;
== Ausführungen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM69HCW !! RFM69HW !! RFM69CW !! RFM69W&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 20 dBm || 20 dBm || 13 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Pins || 16 || 16 || 14 || 16&lt;br /&gt;
|-&lt;br /&gt;
| Abmessungen || 16 x 16 mm || 19,7 x 16 mm || 16 x 16 mm || 19,7 x 16 mm&lt;br /&gt;
|-&lt;br /&gt;
| Sonstiges || Ersatz für RFM22B || || Ersatz für RFM12 ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die CW-Variante hat 2 Pins weniger (es fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden.&lt;br /&gt;
&lt;br /&gt;
== Ausstattung ==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI-Schnittstelle&lt;br /&gt;
* FSK- und OOK-Modulation (Frequency Shift Keying = Frequenzumtastung, On-Off-Keying = Amplitudentastung)&lt;br /&gt;
* Eingebauter Manchesterde- und -encoder&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden (13 dBm), 16 mA empfangen, 0,1 µA Standby&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
* Modul basiert auf dem SX1231 von Semtech&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69(C)W&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|-&lt;br /&gt;
| Syncmustererkennung || Fest 0x2DD4 oder 0xD4 || Frei bis zu 8 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann softwareseitig so konfiguriert werden, dass er anzeigt, wenn ein Paket vollständig gesendet oder ein neues Paket empfangen wurde. Ist das Modul in Minimalkonfiguration angeschlossen, müssen dazu die Statusregister RegIrqFlags1 (0x27) oder RegIrqFlags2 (0x28) ausgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Die SPI-Ansteuerung erfolgt im Modus CPOL=0, CPHA=0, wobei jeweils 16 Bits vom µC zum Modul geschickt werden:&lt;br /&gt;
Das erste Bit teilt dem Modul mit, ob es sich um einen Lese- (Bitwert 0) oder Schreibvorgang (Bitwert 1) handelt, die restlichen sieben Bit des ersten Bytes geben die Registeradresse an. Mit den zweiten acht Bit wird im Schreibmodus der zu übertragende Befehl an das Modul übermittelt, im Lesemodus kann eine beliebige Bitfolge gesendet werden. Während das zweite Bit gesendet wird, empfängt der µC sowohl im Lese- als auch im Schreibmodus den Inhalt des angesprochenen Registers vor dem aktuellen Zugriff.&lt;br /&gt;
&lt;br /&gt;
Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrementiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei, dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...), das höchstwertige Byte zu erst geschrieben/gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Es gibt zwei grundsätzliche Funktionsmodi, die im Register &amp;quot;RegDataModule&amp;quot; gewählt werden:&lt;br /&gt;
=== Continuous Mode ===&lt;br /&gt;
Für die Datenübertragung vom/zum Modul werden die beiden Pins &amp;quot;DIO1/DCLK&amp;quot; und &amp;quot;DIO2/DATA&amp;quot; verwendet. An DCLK gibt das Modul den Takt vor mit dem die Datenbits an DATA geschrieben oder gelesen werden müssen.&lt;br /&gt;
=== Packet Mode ===&lt;br /&gt;
Die Packetengine des RFM69 kümmert sich um die Erzeugung und Auswertung der Preamble, des Synchronwortes, des Scramblings, der CRC und der Verschlüsselung. Im Sendebetrieb bearbeitet die eingebaute Packet Engine ein Nutzdatenpaket folgendermaßen:&lt;br /&gt;
==== Fixed Length Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Einstellbare Anzahl (0-65535) von Preamblebytes (0xAA) an den Anfang setzen&lt;br /&gt;
* Synchronwort hinzufügen (Länge zwischen 0-8 Bytes einstellbar, Synchronwort selbst ebenfalls einstellbar)&lt;br /&gt;
* Nutzdaten hinzufügen (Länge wird in einem Register angegeben)&lt;br /&gt;
* CRC hinzufügen (abschaltbar)&lt;br /&gt;
&lt;br /&gt;
== Interrupts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung !! Beschreibung !! Verfügbar an (Packet mode) !! Verfügbar an (Cont. mode)&lt;br /&gt;
|-&lt;br /&gt;
| ModeReady || Beispiel || DIO5&lt;br /&gt;
|-&lt;br /&gt;
| RxReady || Beispiel || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| TxReady || Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PllLock || Beispiel || DIO3, DIO1, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| Rssi || Eingestellte Rssi-Schwelle überschritten || DIO0, DIO3 || DIO0, DIO3, DIO5&lt;br /&gt;
|-&lt;br /&gt;
| Timeout || Beispiel || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| AutoMode || Beispiel || DIO2&lt;br /&gt;
|-&lt;br /&gt;
| SyncAddressMatch || Syncadresse empfangen || DIO0, DIO3 || DIO0, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoFull || Beispiel || DIO3, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoNotEmpty || || DIO2, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoLevel || || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoOverrun || ||&lt;br /&gt;
|-&lt;br /&gt;
| PacketSent || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PayloadReady || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| CrcOk || || DIO0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69(H)CW ==&lt;br /&gt;
[[Datei:RFM12 69 Pins.svg|Anschlussbelegung RFM12B und RFM69]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Fktn. im packet mode !! Fktn. im cont. mode!! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || ||GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || ModeReady&amp;lt;br /&amp;gt;&lt;br /&gt;
PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
Timeout&amp;lt;br /&amp;gt;&lt;br /&gt;
Rssi&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || || FSK&amp;lt;br /&amp;gt;DATA&amp;lt;br /&amp;gt;nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
Dclk&amp;lt;br /&amp;gt;&lt;br /&gt;
RxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
 || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || ||CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x27|| RegIrqFlags1 || Statusflags (ModeReady, RxReady, TxReady, PllLock, RSSI, Timeout, AutoMode, SyncAddressMatch) || 0xD0 -&amp;gt; Empfänger bereit zum Datenempfang&lt;br /&gt;
|-&lt;br /&gt;
| 0x28|| RegIrqFlags2 || Statusflags (FifoFull, FifoNotEmpty, FifoLevel, FifoOverrun, PacketSent, PayloadReady, CrcOk, LowBat) || 0x06 -&amp;gt; Daten mit erfolgreichem CRC empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Projekte ==&lt;br /&gt;
=== FS20 Funksteckdosen schalten ===&lt;br /&gt;
Da das RFM69 OOK modulieren kann, können damit die FS20 Funksteckdosen geschaltet werden. FS20 verwendet allerdings eine Art Pulsdauermodulation; eine 1 wird mit 600&amp;amp;nbsp;µs Träger an gefolgt von 600&amp;amp;nbsp;µs Träger aus, und eine 0 mit 400&amp;amp;nbsp;µs an gefolgt von 400&amp;amp;nbsp;µs aus übertragen. Man teilt einfach das Signal in 200&amp;amp;nbsp;µs Schlitze ein (OOK-Datenrate 5&amp;amp;nbsp;kbit/s), und sendet für eine 1 die Folge 111000 und für eine 0 die Folge 1100. Im FS20 Protokoll wird ein 13 Bit langer Header (0000000000001) übertragen, diesen kann man umrechnen und im RFM69 als Syncword einstellen. So wird der Header vom RFM69 bei jeder Übertragung automatisch vorweg ausgesendet.&lt;br /&gt;
&lt;br /&gt;
=== Conrad Energy Count 3000 ===&lt;br /&gt;
Unter http://forum.jeelabs.net/node/3412679.html?page=1 wurde schon das Protokoll der Conrad Energy Count 3000 (baugleich mit Technoline Cost Control RC) Funk-Energiekostenmessgeräte beschrieben. Mit dem RFM69 lässt sich ein Frame des Messgerätes mit dem konfigurierbarem Synchronwortfinder bequem empfangen.&lt;br /&gt;
&lt;br /&gt;
=== LaCrosse Temperatursensoren empfangen ===&lt;br /&gt;
=== Open Energy Monitor empfangen ===&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
* [http://shop.seegel-systeme.de/Bauelemente/Funkmodul-RFM69CW-REV-V1-0-868-MHz-SMD.html Seegel Systeme]&lt;br /&gt;
* Pollin: [http://www.pollin.de/shop/dt/Nzk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_433_MHz_TX_RX.html 433 MHz] / [http://www.pollin.de/shop/dt/Njk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_868_MHz_TX_RX.html 868 MHz]&lt;br /&gt;
* [http://www.aliexpress.com/item/RFM69CW-13dBm-transceiver-module-pin-to-pin-compatible-to-RFM12B-433-868-915mhz-can-be-selected/2010762457.html AliExpress]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/sx1231.pdf Datenblatt Semtech SX1231]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/AN1200.18_STD.pdf Application Note zur Softwareimplementierung von Data-Whitening und CRC]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/332579 Thread im Forum: Wer verwendet RFM69]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:RFM12]]&lt;br /&gt;
[[Kategorie:Funk]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=89124</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=89124"/>
		<updated>2015-06-25T13:41:21Z</updated>

		<summary type="html">&lt;p&gt;Energizer: DIO Beschreibungen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|thumb|300px|RFM69CW, Pinkompatibel zum RFM12]]&lt;br /&gt;
Das RFM69 von HopeRF ist ein universelles Funkmodul für die ISM-Frequenzbänder 315, 433, 868 und 915 MHz. Eine [[SPI]]-Schnitttstelle ermöglicht die einfache Integration in Mikrocontrollerprojekte.&lt;br /&gt;
&lt;br /&gt;
== Ausführungen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM69HCW !! RFM69HW !! RFM69CW !! RFM69W&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 20 dBm || 20 dBm || 13 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Pins || 16 || 16 || 14 || 16&lt;br /&gt;
|-&lt;br /&gt;
| Abmessungen || 16 x 16 mm || 19,7 x 16 mm || 16 x 16 mm || 19,7 x 16 mm&lt;br /&gt;
|-&lt;br /&gt;
| Sonstiges || Ersatz für RFM22B || || Ersatz für RFM12 ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die CW-Variante hat 2 Pins weniger (es fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden.&lt;br /&gt;
&lt;br /&gt;
== Ausstattung ==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI-Schnittstelle&lt;br /&gt;
* FSK- und OOK-Modulation (Frequency Shift Keying = Frequenzumtastung, On-Off-Keying = Amplitudentastung)&lt;br /&gt;
* Eingebauter Manchesterde- und -encoder&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden (13 dBm), 16 mA empfangen, 0,1 µA Standby&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
* Modul basiert auf dem SX1231 von Semtech&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69(C)W&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|-&lt;br /&gt;
| Syncmustererkennung || Fest 0x2DD4 oder 0xD4 || Frei bis zu 8 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann softwareseitig so konfiguriert werden, dass er anzeigt, wenn ein Paket vollständig gesendet oder ein neues Paket empfangen wurde. Ist das Modul in Minimalkonfiguration angeschlossen, müssen dazu die Statusregister RegIrqFlags1 (0x27) oder RegIrqFlags2 (0x28) ausgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Die SPI-Ansteuerung erfolgt im Modus CPOL=0, CPHA=0, wobei jeweils 16 Bits vom µC zum Modul geschickt werden:&lt;br /&gt;
Das erste Bit teilt dem Modul mit, ob es sich um einen Lese- (Bitwert 0) oder Schreibvorgang (Bitwert 1) handelt, die restlichen sieben Bit des ersten Bytes geben die Registeradresse an. Mit den zweiten acht Bit wird im Schreibmodus der zu übertragende Befehl an das Modul übermittelt, im Lesemodus kann eine beliebige Bitfolge gesendet werden. Während das zweite Bit gesendet wird, empfängt der µC sowohl im Lese- als auch im Schreibmodus den Inhalt des angesprochenen Registers vor dem aktuellen Zugriff.&lt;br /&gt;
&lt;br /&gt;
Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrementiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei, dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...), das höchstwertige Byte zu erst geschrieben/gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Es gibt zwei grundsätzliche Funktionsmodi, die im Register &amp;quot;RegDataModule&amp;quot; gewählt werden:&lt;br /&gt;
=== Continuous Mode ===&lt;br /&gt;
Für die Datenübertragung vom/zum Modul werden die beiden Pins &amp;quot;DIO1/DCLK&amp;quot; und &amp;quot;DIO2/DATA&amp;quot; verwendet. An DCLK gibt das Modul den Takt vor mit dem die Datenbits an DATA geschrieben oder gelesen werden müssen.&lt;br /&gt;
=== Packet Mode ===&lt;br /&gt;
Die Packetengine des RFM69 kümmert sich um die Erzeugung und Auswertung der Preamble, des Synchronwortes, des Scramblings, der CRC und der Verschlüsselung. Im Sendebetrieb bearbeitet die eingebaute Packet Engine ein Nutzdatenpaket folgendermaßen:&lt;br /&gt;
==== Fixed Length Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Einstellbare Anzahl (0-65535) von Preamblebytes (0xAA) an den Anfang setzen&lt;br /&gt;
* Synchronwort hinzufügen (Länge zwischen 0-8 Bytes einstellbar, Synchronwort selbst ebenfalls einstellbar)&lt;br /&gt;
* Nutzdaten hinzufügen (Länge wird in einem Register angegeben)&lt;br /&gt;
* CRC hinzufügen (abschaltbar)&lt;br /&gt;
&lt;br /&gt;
== Interrupts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung !! Beschreibung !! Verfügbar an&lt;br /&gt;
|-&lt;br /&gt;
| ModeReady || Beispiel || DIO5&lt;br /&gt;
|-&lt;br /&gt;
| RxReady || Beispiel || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| TxReady || Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PllLock || Beispiel || DIO3, DIO1, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| Rssi || Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| Timeout || Beispiel || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| AutoMode || Beispiel || DIO2&lt;br /&gt;
|-&lt;br /&gt;
| SyncAddressMatch|| Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| FifoFull || Beispiel || DIO3, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoNotEmpty || || DIO2, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoLevel || || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoOverrun || ||&lt;br /&gt;
|-&lt;br /&gt;
| PacketSent || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PayloadReady || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| CrcOk || || DIO0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69(H)CW ==&lt;br /&gt;
[[Datei:RFM12 69 Pins.svg|Anschlussbelegung RFM12B und RFM69]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Fktn. im packet mode !! Fktn. im cont. mode!! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || ||GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || ModeReady&amp;lt;br /&amp;gt;&lt;br /&gt;
PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
Timeout&amp;lt;br /&amp;gt;&lt;br /&gt;
Rssi&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || || FSK&amp;lt;br /&amp;gt;DATA&amp;lt;br /&amp;gt;nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
Dclk&amp;lt;br /&amp;gt;&lt;br /&gt;
RxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
 || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || ||CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DIO Pinbeschreibung ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! DIO !! Beschreibung !! Packet mode !! Continuous mode&lt;br /&gt;
|-&lt;br /&gt;
| Rssi || Eingestellte Rssi-Schwelle überschritten || DIO0 || DIO0, DIO5&lt;br /&gt;
|-&lt;br /&gt;
| SyncAddress || Syncadresse empfangen || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x27|| RegIrqFlags1 || Statusflags (ModeReady, RxReady, TxReady, PllLock, RSSI, Timeout, AutoMode, SyncAddressMatch) || 0xD0 -&amp;gt; Empfänger bereit zum Datenempfang&lt;br /&gt;
|-&lt;br /&gt;
| 0x28|| RegIrqFlags2 || Statusflags (FifoFull, FifoNotEmpty, FifoLevel, FifoOverrun, PacketSent, PayloadReady, CrcOk, LowBat) || 0x06 -&amp;gt; Daten mit erfolgreichem CRC empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Projekte ==&lt;br /&gt;
=== FS20 Funksteckdosen schalten ===&lt;br /&gt;
Da das RFM69 OOK modulieren kann, können damit die FS20 Funksteckdosen geschaltet werden. FS20 verwendet allerdings eine Art Pulsdauermodulation; eine 1 wird mit 600&amp;amp;nbsp;µs Träger an gefolgt von 600&amp;amp;nbsp;µs Träger aus, und eine 0 mit 400&amp;amp;nbsp;µs an gefolgt von 400&amp;amp;nbsp;µs aus übertragen. Man teilt einfach das Signal in 200&amp;amp;nbsp;µs Schlitze ein (OOK-Datenrate 5&amp;amp;nbsp;kbit/s), und sendet für eine 1 die Folge 111000 und für eine 0 die Folge 1100. Im FS20 Protokoll wird ein 13 Bit langer Header (0000000000001) übertragen, diesen kann man umrechnen und im RFM69 als Syncword einstellen. So wird der Header vom RFM69 bei jeder Übertragung automatisch vorweg ausgesendet.&lt;br /&gt;
&lt;br /&gt;
=== Conrad Energy Count 3000 ===&lt;br /&gt;
Unter http://forum.jeelabs.net/node/3412679.html?page=1 wurde schon das Protokoll der Conrad Energy Count 3000 (baugleich mit Technoline Cost Control RC) Funk-Energiekostenmessgeräte beschrieben. Mit dem RFM69 lässt sich ein Frame des Messgerätes mit dem konfigurierbarem Synchronwortfinder bequem empfangen.&lt;br /&gt;
&lt;br /&gt;
=== LaCrosse Temperatursensoren empfangen ===&lt;br /&gt;
=== Open Energy Monitor empfangen ===&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
* [http://shop.seegel-systeme.de/Bauelemente/Funkmodul-RFM69CW-REV-V1-0-868-MHz-SMD.html Seegel Systeme]&lt;br /&gt;
* Pollin: [http://www.pollin.de/shop/dt/Nzk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_433_MHz_TX_RX.html 433 MHz] / [http://www.pollin.de/shop/dt/Njk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_868_MHz_TX_RX.html 868 MHz]&lt;br /&gt;
* [http://www.aliexpress.com/item/RFM69CW-13dBm-transceiver-module-pin-to-pin-compatible-to-RFM12B-433-868-915mhz-can-be-selected/2010762457.html AliExpress]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/sx1231.pdf Datenblatt Semtech SX1231]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/AN1200.18_STD.pdf Application Note zur Softwareimplementierung von Data-Whitening und CRC]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/332579 Thread im Forum: Wer verwendet RFM69]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:RFM12]]&lt;br /&gt;
[[Kategorie:Funk]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=89123</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=89123"/>
		<updated>2015-06-25T13:32:27Z</updated>

		<summary type="html">&lt;p&gt;Energizer: /* Pinbelegung RFM69(H)CW */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|thumb|300px|RFM69CW, Pinkompatibel zum RFM12]]&lt;br /&gt;
Das RFM69 von HopeRF ist ein universelles Funkmodul für die ISM-Frequenzbänder 315, 433, 868 und 915 MHz. Eine [[SPI]]-Schnitttstelle ermöglicht die einfache Integration in Mikrocontrollerprojekte.&lt;br /&gt;
&lt;br /&gt;
== Ausführungen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM69HCW !! RFM69HW !! RFM69CW !! RFM69W&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 20 dBm || 20 dBm || 13 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Pins || 16 || 16 || 14 || 16&lt;br /&gt;
|-&lt;br /&gt;
| Abmessungen || 16 x 16 mm || 19,7 x 16 mm || 16 x 16 mm || 19,7 x 16 mm&lt;br /&gt;
|-&lt;br /&gt;
| Sonstiges || Ersatz für RFM22B || || Ersatz für RFM12 ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die CW-Variante hat 2 Pins weniger (es fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden.&lt;br /&gt;
&lt;br /&gt;
== Ausstattung ==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI-Schnittstelle&lt;br /&gt;
* FSK- und OOK-Modulation (Frequency Shift Keying = Frequenzumtastung, On-Off-Keying = Amplitudentastung)&lt;br /&gt;
* Eingebauter Manchesterde- und -encoder&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden (13 dBm), 16 mA empfangen, 0,1 µA Standby&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
* Modul basiert auf dem SX1231 von Semtech&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69(C)W&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|-&lt;br /&gt;
| Syncmustererkennung || Fest 0x2DD4 oder 0xD4 || Frei bis zu 8 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann softwareseitig so konfiguriert werden, dass er anzeigt, wenn ein Paket vollständig gesendet oder ein neues Paket empfangen wurde. Ist das Modul in Minimalkonfiguration angeschlossen, müssen dazu die Statusregister RegIrqFlags1 (0x27) oder RegIrqFlags2 (0x28) ausgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Die SPI-Ansteuerung erfolgt im Modus CPOL=0, CPHA=0, wobei jeweils 16 Bits vom µC zum Modul geschickt werden:&lt;br /&gt;
Das erste Bit teilt dem Modul mit, ob es sich um einen Lese- (Bitwert 0) oder Schreibvorgang (Bitwert 1) handelt, die restlichen sieben Bit des ersten Bytes geben die Registeradresse an. Mit den zweiten acht Bit wird im Schreibmodus der zu übertragende Befehl an das Modul übermittelt, im Lesemodus kann eine beliebige Bitfolge gesendet werden. Während das zweite Bit gesendet wird, empfängt der µC sowohl im Lese- als auch im Schreibmodus den Inhalt des angesprochenen Registers vor dem aktuellen Zugriff.&lt;br /&gt;
&lt;br /&gt;
Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrementiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei, dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...), das höchstwertige Byte zu erst geschrieben/gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Es gibt zwei grundsätzliche Funktionsmodi, die im Register &amp;quot;RegDataModule&amp;quot; gewählt werden:&lt;br /&gt;
=== Continuous Mode ===&lt;br /&gt;
Für die Datenübertragung vom/zum Modul werden die beiden Pins &amp;quot;DIO1/DCLK&amp;quot; und &amp;quot;DIO2/DATA&amp;quot; verwendet. An DCLK gibt das Modul den Takt vor mit dem die Datenbits an DATA geschrieben oder gelesen werden müssen.&lt;br /&gt;
=== Packet Mode ===&lt;br /&gt;
Die Packetengine des RFM69 kümmert sich um die Erzeugung und Auswertung der Preamble, des Synchronwortes, des Scramblings, der CRC und der Verschlüsselung. Im Sendebetrieb bearbeitet die eingebaute Packet Engine ein Nutzdatenpaket folgendermaßen:&lt;br /&gt;
==== Fixed Length Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Einstellbare Anzahl (0-65535) von Preamblebytes (0xAA) an den Anfang setzen&lt;br /&gt;
* Synchronwort hinzufügen (Länge zwischen 0-8 Bytes einstellbar, Synchronwort selbst ebenfalls einstellbar)&lt;br /&gt;
* Nutzdaten hinzufügen (Länge wird in einem Register angegeben)&lt;br /&gt;
* CRC hinzufügen (abschaltbar)&lt;br /&gt;
&lt;br /&gt;
== Interrupts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung !! Beschreibung !! Verfügbar an&lt;br /&gt;
|-&lt;br /&gt;
| ModeReady || Beispiel || DIO5&lt;br /&gt;
|-&lt;br /&gt;
| RxReady || Beispiel || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| TxReady || Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PllLock || Beispiel || DIO3, DIO1, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| Rssi || Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| Timeout || Beispiel || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| AutoMode || Beispiel || DIO2&lt;br /&gt;
|-&lt;br /&gt;
| SyncAddressMatch|| Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| FifoFull || Beispiel || DIO3, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoNotEmpty || || DIO2, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoLevel || || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoOverrun || ||&lt;br /&gt;
|-&lt;br /&gt;
| PacketSent || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PayloadReady || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| CrcOk || || DIO0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69(H)CW ==&lt;br /&gt;
[[Datei:RFM12 69 Pins.svg|Anschlussbelegung RFM12B und RFM69]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Fktn. im packet mode !! Fktn. im cont. mode!! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || ||GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || ModeReady&amp;lt;br /&amp;gt;&lt;br /&gt;
PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
Timeout&amp;lt;br /&amp;gt;&lt;br /&gt;
Rssi&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || || FSK&amp;lt;br /&amp;gt;DATA&amp;lt;br /&amp;gt;nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || PllLock&amp;lt;br /&amp;gt;&lt;br /&gt;
Dclk&amp;lt;br /&amp;gt;&lt;br /&gt;
RxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
SyncAddress&amp;lt;br /&amp;gt;&lt;br /&gt;
TxReady&amp;lt;br /&amp;gt;&lt;br /&gt;
 || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || ||CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x27|| RegIrqFlags1 || Statusflags (ModeReady, RxReady, TxReady, PllLock, RSSI, Timeout, AutoMode, SyncAddressMatch) || 0xD0 -&amp;gt; Empfänger bereit zum Datenempfang&lt;br /&gt;
|-&lt;br /&gt;
| 0x28|| RegIrqFlags2 || Statusflags (FifoFull, FifoNotEmpty, FifoLevel, FifoOverrun, PacketSent, PayloadReady, CrcOk, LowBat) || 0x06 -&amp;gt; Daten mit erfolgreichem CRC empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Projekte ==&lt;br /&gt;
=== FS20 Funksteckdosen schalten ===&lt;br /&gt;
Da das RFM69 OOK modulieren kann, können damit die FS20 Funksteckdosen geschaltet werden. FS20 verwendet allerdings eine Art Pulsdauermodulation; eine 1 wird mit 600&amp;amp;nbsp;µs Träger an gefolgt von 600&amp;amp;nbsp;µs Träger aus, und eine 0 mit 400&amp;amp;nbsp;µs an gefolgt von 400&amp;amp;nbsp;µs aus übertragen. Man teilt einfach das Signal in 200&amp;amp;nbsp;µs Schlitze ein (OOK-Datenrate 5&amp;amp;nbsp;kbit/s), und sendet für eine 1 die Folge 111000 und für eine 0 die Folge 1100. Im FS20 Protokoll wird ein 13 Bit langer Header (0000000000001) übertragen, diesen kann man umrechnen und im RFM69 als Syncword einstellen. So wird der Header vom RFM69 bei jeder Übertragung automatisch vorweg ausgesendet.&lt;br /&gt;
&lt;br /&gt;
=== Conrad Energy Count 3000 ===&lt;br /&gt;
Unter http://forum.jeelabs.net/node/3412679.html?page=1 wurde schon das Protokoll der Conrad Energy Count 3000 (baugleich mit Technoline Cost Control RC) Funk-Energiekostenmessgeräte beschrieben. Mit dem RFM69 lässt sich ein Frame des Messgerätes mit dem konfigurierbarem Synchronwortfinder bequem empfangen.&lt;br /&gt;
&lt;br /&gt;
=== LaCrosse Temperatursensoren empfangen ===&lt;br /&gt;
=== Open Energy Monitor empfangen ===&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
* [http://shop.seegel-systeme.de/Bauelemente/Funkmodul-RFM69CW-REV-V1-0-868-MHz-SMD.html Seegel Systeme]&lt;br /&gt;
* Pollin: [http://www.pollin.de/shop/dt/Nzk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_433_MHz_TX_RX.html 433 MHz] / [http://www.pollin.de/shop/dt/Njk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_868_MHz_TX_RX.html 868 MHz]&lt;br /&gt;
* [http://www.aliexpress.com/item/RFM69CW-13dBm-transceiver-module-pin-to-pin-compatible-to-RFM12B-433-868-915mhz-can-be-selected/2010762457.html AliExpress]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/sx1231.pdf Datenblatt Semtech SX1231]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/AN1200.18_STD.pdf Application Note zur Softwareimplementierung von Data-Whitening und CRC]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/332579 Thread im Forum: Wer verwendet RFM69]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:RFM12]]&lt;br /&gt;
[[Kategorie:Funk]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=89122</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=89122"/>
		<updated>2015-06-25T12:19:11Z</updated>

		<summary type="html">&lt;p&gt;Energizer: /* Pinbelegung RFM69(H)CW */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|thumb|300px|RFM69CW, Pinkompatibel zum RFM12]]&lt;br /&gt;
Das RFM69 von HopeRF ist ein universelles Funkmodul für die ISM-Frequenzbänder 315, 433, 868 und 915 MHz. Eine [[SPI]]-Schnitttstelle ermöglicht die einfache Integration in Mikrocontrollerprojekte.&lt;br /&gt;
&lt;br /&gt;
== Ausführungen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM69HCW !! RFM69HW !! RFM69CW !! RFM69W&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 20 dBm || 20 dBm || 13 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Pins || 16 || 16 || 14 || 16&lt;br /&gt;
|-&lt;br /&gt;
| Abmessungen || 16 x 16 mm || 19,7 x 16 mm || 16 x 16 mm || 19,7 x 16 mm&lt;br /&gt;
|-&lt;br /&gt;
| Sonstiges || Ersatz für RFM22B || || Ersatz für RFM12 ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die CW-Variante hat 2 Pins weniger (es fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden.&lt;br /&gt;
&lt;br /&gt;
== Ausstattung ==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI-Schnittstelle&lt;br /&gt;
* FSK- und OOK-Modulation (Frequency Shift Keying = Frequenzumtastung, On-Off-Keying = Amplitudentastung)&lt;br /&gt;
* Eingebauter Manchesterde- und -encoder&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden (13 dBm), 16 mA empfangen, 0,1 µA Standby&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
* Modul basiert auf dem SX1231 von Semtech&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69(C)W&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|-&lt;br /&gt;
| Syncmustererkennung || Fest 0x2DD4 oder 0xD4 || Frei bis zu 8 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann softwareseitig so konfiguriert werden, dass er anzeigt, wenn ein Paket vollständig gesendet oder ein neues Paket empfangen wurde. Ist das Modul in Minimalkonfiguration angeschlossen, müssen dazu die Statusregister RegIrqFlags1 (0x27) oder RegIrqFlags2 (0x28) ausgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Die SPI-Ansteuerung erfolgt im Modus CPOL=0, CPHA=0, wobei jeweils 16 Bits vom µC zum Modul geschickt werden:&lt;br /&gt;
Das erste Bit teilt dem Modul mit, ob es sich um einen Lese- (Bitwert 0) oder Schreibvorgang (Bitwert 1) handelt, die restlichen sieben Bit des ersten Bytes geben die Registeradresse an. Mit den zweiten acht Bit wird im Schreibmodus der zu übertragende Befehl an das Modul übermittelt, im Lesemodus kann eine beliebige Bitfolge gesendet werden. Während das zweite Bit gesendet wird, empfängt der µC sowohl im Lese- als auch im Schreibmodus den Inhalt des angesprochenen Registers vor dem aktuellen Zugriff.&lt;br /&gt;
&lt;br /&gt;
Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrementiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei, dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...), das höchstwertige Byte zu erst geschrieben/gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Es gibt zwei grundsätzliche Funktionsmodi, die im Register &amp;quot;RegDataModule&amp;quot; gewählt werden:&lt;br /&gt;
=== Continuous Mode ===&lt;br /&gt;
Für die Datenübertragung vom/zum Modul werden die beiden Pins &amp;quot;DIO1/DCLK&amp;quot; und &amp;quot;DIO2/DATA&amp;quot; verwendet. An DCLK gibt das Modul den Takt vor mit dem die Datenbits an DATA geschrieben oder gelesen werden müssen.&lt;br /&gt;
=== Packet Mode ===&lt;br /&gt;
Die Packetengine des RFM69 kümmert sich um die Erzeugung und Auswertung der Preamble, des Synchronwortes, des Scramblings, der CRC und der Verschlüsselung. Im Sendebetrieb bearbeitet die eingebaute Packet Engine ein Nutzdatenpaket folgendermaßen:&lt;br /&gt;
==== Fixed Length Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Einstellbare Anzahl (0-65535) von Preamblebytes (0xAA) an den Anfang setzen&lt;br /&gt;
* Synchronwort hinzufügen (Länge zwischen 0-8 Bytes einstellbar, Synchronwort selbst ebenfalls einstellbar)&lt;br /&gt;
* Nutzdaten hinzufügen (Länge wird in einem Register angegeben)&lt;br /&gt;
* CRC hinzufügen (abschaltbar)&lt;br /&gt;
&lt;br /&gt;
== Interrupts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung !! Beschreibung !! Verfügbar an&lt;br /&gt;
|-&lt;br /&gt;
| ModeReady || Beispiel || DIO5&lt;br /&gt;
|-&lt;br /&gt;
| RxReady || Beispiel || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| TxReady || Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PllLock || Beispiel || DIO3, DIO1, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| Rssi || Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| Timeout || Beispiel || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| AutoMode || Beispiel || DIO2&lt;br /&gt;
|-&lt;br /&gt;
| SyncAddressMatch|| Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| FifoFull || Beispiel || DIO3, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoNotEmpty || || DIO2, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoLevel || || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoOverrun || ||&lt;br /&gt;
|-&lt;br /&gt;
| PacketSent || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PayloadReady || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| CrcOk || || DIO0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69(H)CW ==&lt;br /&gt;
[[Datei:RFM12 69 Pins.svg|Anschlussbelegung RFM12B und RFM69]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Beschreibung !! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || FSK/DATA/nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x27|| RegIrqFlags1 || Statusflags (ModeReady, RxReady, TxReady, PllLock, RSSI, Timeout, AutoMode, SyncAddressMatch) || 0xD0 -&amp;gt; Empfänger bereit zum Datenempfang&lt;br /&gt;
|-&lt;br /&gt;
| 0x28|| RegIrqFlags2 || Statusflags (FifoFull, FifoNotEmpty, FifoLevel, FifoOverrun, PacketSent, PayloadReady, CrcOk, LowBat) || 0x06 -&amp;gt; Daten mit erfolgreichem CRC empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Projekte ==&lt;br /&gt;
=== FS20 Funksteckdosen schalten ===&lt;br /&gt;
Da das RFM69 OOK modulieren kann, können damit die FS20 Funksteckdosen geschaltet werden. FS20 verwendet allerdings eine Art Pulsdauermodulation; eine 1 wird mit 600&amp;amp;nbsp;µs Träger an gefolgt von 600&amp;amp;nbsp;µs Träger aus, und eine 0 mit 400&amp;amp;nbsp;µs an gefolgt von 400&amp;amp;nbsp;µs aus übertragen. Man teilt einfach das Signal in 200&amp;amp;nbsp;µs Schlitze ein (OOK-Datenrate 5&amp;amp;nbsp;kbit/s), und sendet für eine 1 die Folge 111000 und für eine 0 die Folge 1100. Im FS20 Protokoll wird ein 13 Bit langer Header (0000000000001) übertragen, diesen kann man umrechnen und im RFM69 als Syncword einstellen. So wird der Header vom RFM69 bei jeder Übertragung automatisch vorweg ausgesendet.&lt;br /&gt;
&lt;br /&gt;
=== Conrad Energy Count 3000 ===&lt;br /&gt;
Unter http://forum.jeelabs.net/node/3412679.html?page=1 wurde schon das Protokoll der Conrad Energy Count 3000 (baugleich mit Technoline Cost Control RC) Funk-Energiekostenmessgeräte beschrieben. Mit dem RFM69 lässt sich ein Frame des Messgerätes mit dem konfigurierbarem Synchronwortfinder bequem empfangen.&lt;br /&gt;
&lt;br /&gt;
=== LaCrosse Temperatursensoren empfangen ===&lt;br /&gt;
=== Open Energy Monitor empfangen ===&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
* [http://shop.seegel-systeme.de/Bauelemente/Funkmodul-RFM69CW-REV-V1-0-868-MHz-SMD.html Seegel Systeme]&lt;br /&gt;
* Pollin: [http://www.pollin.de/shop/dt/Nzk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_433_MHz_TX_RX.html 433 MHz] / [http://www.pollin.de/shop/dt/Njk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_868_MHz_TX_RX.html 868 MHz]&lt;br /&gt;
* [http://www.aliexpress.com/item/RFM69CW-13dBm-transceiver-module-pin-to-pin-compatible-to-RFM12B-433-868-915mhz-can-be-selected/2010762457.html AliExpress]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/sx1231.pdf Datenblatt Semtech SX1231]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/AN1200.18_STD.pdf Application Note zur Softwareimplementierung von Data-Whitening und CRC]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/332579 Thread im Forum: Wer verwendet RFM69]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:RFM12]]&lt;br /&gt;
[[Kategorie:Funk]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:RFM12_69_Pins.svg&amp;diff=89121</id>
		<title>Datei:RFM12 69 Pins.svg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:RFM12_69_Pins.svg&amp;diff=89121"/>
		<updated>2015-06-25T12:17:49Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=89120</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=89120"/>
		<updated>2015-06-25T12:17:22Z</updated>

		<summary type="html">&lt;p&gt;Energizer: Anschlussbelegung eingefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|thumb|300px|RFM69CW, Pinkompatibel zum RFM12]]&lt;br /&gt;
Das RFM69 von HopeRF ist ein universelles Funkmodul für die ISM-Frequenzbänder 315, 433, 868 und 915 MHz. Eine [[SPI]]-Schnitttstelle ermöglicht die einfache Integration in Mikrocontrollerprojekte.&lt;br /&gt;
&lt;br /&gt;
== Ausführungen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM69HCW !! RFM69HW !! RFM69CW !! RFM69W&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 20 dBm || 20 dBm || 13 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Pins || 16 || 16 || 14 || 16&lt;br /&gt;
|-&lt;br /&gt;
| Abmessungen || 16 x 16 mm || 19,7 x 16 mm || 16 x 16 mm || 19,7 x 16 mm&lt;br /&gt;
|-&lt;br /&gt;
| Sonstiges || Ersatz für RFM22B || || Ersatz für RFM12 ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die CW-Variante hat 2 Pins weniger (es fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden.&lt;br /&gt;
&lt;br /&gt;
== Ausstattung ==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI-Schnittstelle&lt;br /&gt;
* FSK- und OOK-Modulation (Frequency Shift Keying = Frequenzumtastung, On-Off-Keying = Amplitudentastung)&lt;br /&gt;
* Eingebauter Manchesterde- und -encoder&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden (13 dBm), 16 mA empfangen, 0,1 µA Standby&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
* Modul basiert auf dem SX1231 von Semtech&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69(C)W&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|-&lt;br /&gt;
| Syncmustererkennung || Fest 0x2DD4 oder 0xD4 || Frei bis zu 8 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann softwareseitig so konfiguriert werden, dass er anzeigt, wenn ein Paket vollständig gesendet oder ein neues Paket empfangen wurde. Ist das Modul in Minimalkonfiguration angeschlossen, müssen dazu die Statusregister RegIrqFlags1 (0x27) oder RegIrqFlags2 (0x28) ausgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Die SPI-Ansteuerung erfolgt im Modus CPOL=0, CPHA=0, wobei jeweils 16 Bits vom µC zum Modul geschickt werden:&lt;br /&gt;
Das erste Bit teilt dem Modul mit, ob es sich um einen Lese- (Bitwert 0) oder Schreibvorgang (Bitwert 1) handelt, die restlichen sieben Bit des ersten Bytes geben die Registeradresse an. Mit den zweiten acht Bit wird im Schreibmodus der zu übertragende Befehl an das Modul übermittelt, im Lesemodus kann eine beliebige Bitfolge gesendet werden. Während das zweite Bit gesendet wird, empfängt der µC sowohl im Lese- als auch im Schreibmodus den Inhalt des angesprochenen Registers vor dem aktuellen Zugriff.&lt;br /&gt;
&lt;br /&gt;
Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrementiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei, dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...), das höchstwertige Byte zu erst geschrieben/gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Es gibt zwei grundsätzliche Funktionsmodi, die im Register &amp;quot;RegDataModule&amp;quot; gewählt werden:&lt;br /&gt;
=== Continuous Mode ===&lt;br /&gt;
Für die Datenübertragung vom/zum Modul werden die beiden Pins &amp;quot;DIO1/DCLK&amp;quot; und &amp;quot;DIO2/DATA&amp;quot; verwendet. An DCLK gibt das Modul den Takt vor mit dem die Datenbits an DATA geschrieben oder gelesen werden müssen.&lt;br /&gt;
=== Packet Mode ===&lt;br /&gt;
Die Packetengine des RFM69 kümmert sich um die Erzeugung und Auswertung der Preamble, des Synchronwortes, des Scramblings, der CRC und der Verschlüsselung. Im Sendebetrieb bearbeitet die eingebaute Packet Engine ein Nutzdatenpaket folgendermaßen:&lt;br /&gt;
==== Fixed Length Format ====&lt;br /&gt;
===== Senden =====&lt;br /&gt;
* Einstellbare Anzahl (0-65535) von Preamblebytes (0xAA) an den Anfang setzen&lt;br /&gt;
* Synchronwort hinzufügen (Länge zwischen 0-8 Bytes einstellbar, Synchronwort selbst ebenfalls einstellbar)&lt;br /&gt;
* Nutzdaten hinzufügen (Länge wird in einem Register angegeben)&lt;br /&gt;
* CRC hinzufügen (abschaltbar)&lt;br /&gt;
&lt;br /&gt;
== Interrupts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung !! Beschreibung !! Verfügbar an&lt;br /&gt;
|-&lt;br /&gt;
| ModeReady || Beispiel || DIO5&lt;br /&gt;
|-&lt;br /&gt;
| RxReady || Beispiel || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| TxReady || Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PllLock || Beispiel || DIO3, DIO1, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| Rssi || Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| Timeout || Beispiel || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| AutoMode || Beispiel || DIO2&lt;br /&gt;
|-&lt;br /&gt;
| SyncAddressMatch|| Beispiel || DIO3, DIO0&lt;br /&gt;
|-&lt;br /&gt;
| FifoFull || Beispiel || DIO3, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoNotEmpty || || DIO2, DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoLevel || || DIO1&lt;br /&gt;
|-&lt;br /&gt;
| FifoOverrun || ||&lt;br /&gt;
|-&lt;br /&gt;
| PacketSent || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| PayloadReady || || DIO0&lt;br /&gt;
|-&lt;br /&gt;
| CrcOk || || DIO0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69(H)CW ==&lt;br /&gt;
[[Datei:RFM12 69 Pins.svg|miniatur|Anschlussbelegung RFM12B und RFM69]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Beschreibung !! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || FSK/DATA/nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x27|| RegIrqFlags1 || Statusflags (ModeReady, RxReady, TxReady, PllLock, RSSI, Timeout, AutoMode, SyncAddressMatch) || 0xD0 -&amp;gt; Empfänger bereit zum Datenempfang&lt;br /&gt;
|-&lt;br /&gt;
| 0x28|| RegIrqFlags2 || Statusflags (FifoFull, FifoNotEmpty, FifoLevel, FifoOverrun, PacketSent, PayloadReady, CrcOk, LowBat) || 0x06 -&amp;gt; Daten mit erfolgreichem CRC empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Projekte ==&lt;br /&gt;
=== FS20 Funksteckdosen schalten ===&lt;br /&gt;
Da das RFM69 OOK modulieren kann, können damit die FS20 Funksteckdosen geschaltet werden. FS20 verwendet allerdings eine Art Pulsdauermodulation; eine 1 wird mit 600&amp;amp;nbsp;µs Träger an gefolgt von 600&amp;amp;nbsp;µs Träger aus, und eine 0 mit 400&amp;amp;nbsp;µs an gefolgt von 400&amp;amp;nbsp;µs aus übertragen. Man teilt einfach das Signal in 200&amp;amp;nbsp;µs Schlitze ein (OOK-Datenrate 5&amp;amp;nbsp;kbit/s), und sendet für eine 1 die Folge 111000 und für eine 0 die Folge 1100. Im FS20 Protokoll wird ein 13 Bit langer Header (0000000000001) übertragen, diesen kann man umrechnen und im RFM69 als Syncword einstellen. So wird der Header vom RFM69 bei jeder Übertragung automatisch vorweg ausgesendet.&lt;br /&gt;
&lt;br /&gt;
=== Conrad Energy Count 3000 ===&lt;br /&gt;
Unter http://forum.jeelabs.net/node/3412679.html?page=1 wurde schon das Protokoll der Conrad Energy Count 3000 (baugleich mit Technoline Cost Control RC) Funk-Energiekostenmessgeräte beschrieben. Mit dem RFM69 lässt sich ein Frame des Messgerätes mit dem konfigurierbarem Synchronwortfinder bequem empfangen.&lt;br /&gt;
&lt;br /&gt;
=== LaCrosse Temperatursensoren empfangen ===&lt;br /&gt;
=== Open Energy Monitor empfangen ===&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
* [http://shop.seegel-systeme.de/Bauelemente/Funkmodul-RFM69CW-REV-V1-0-868-MHz-SMD.html Seegel Systeme]&lt;br /&gt;
* Pollin: [http://www.pollin.de/shop/dt/Nzk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_433_MHz_TX_RX.html 433 MHz] / [http://www.pollin.de/shop/dt/Njk2OTgxOTk-/Bausaetze_Module/Module/Funkmodul_HOPERF_RFM69CW_868_MHz_TX_RX.html 868 MHz]&lt;br /&gt;
* [http://www.aliexpress.com/item/RFM69CW-13dBm-transceiver-module-pin-to-pin-compatible-to-RFM12B-433-868-915mhz-can-be-selected/2010762457.html AliExpress]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/sx1231.pdf Datenblatt Semtech SX1231]&lt;br /&gt;
* [http://www.semtech.com/images/datasheet/AN1200.18_STD.pdf Application Note zur Softwareimplementierung von Data-Whitening und CRC]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/332579 Thread im Forum: Wer verwendet RFM69]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:RFM12]]&lt;br /&gt;
[[Kategorie:Funk]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83088</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83088"/>
		<updated>2014-05-21T16:35:42Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|thumb|300px|RFM69CW]]&lt;br /&gt;
Funkmodul RFM69&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Funkmodule RFM69CW, RFM69W.&lt;br /&gt;
Das Modul RFM69CW hat 2 Pins weniger als das RFM69W (bei RFM69C fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es nd kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden. &lt;br /&gt;
&lt;br /&gt;
==Ausstattung==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI Schnittstelle&lt;br /&gt;
* FSK und OOK Modulation&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden, 16 mA empfangen, 0,1 µA stand by&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann z.B. anzeigen wenn ein Packet vollständig gesendet wurde, oder ein neues Packet empfangen wurde. Prinzipiell wird zuerst ein Adressbyte geschickt, auf welches Register zugegriffen werden soll. Das höchstwertigste Bit im Adressbyte gibt an ob das Register gelesen (Bit 7 = 0) oder geschrieben (Bit 7 = 1) werden soll. Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrmentiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...) das höchstwertige Byte zu erst geschrieben / gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69CW==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Beschreibung !! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || FSK/DATA/nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
[http://shop.seegel-systeme.de/Bauelemente/Funkmodul-RFM69CW-REV-V1-0-868-MHz-SMD.html Seegel Systeme]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
* [http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/332579 Thread im Forum: Wer verwendet RFM69]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83087</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83087"/>
		<updated>2014-05-21T16:35:20Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|thumb|300px|RFM69CW]]&lt;br /&gt;
Funkmodul RFM69&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Funkmodule RFM69CW, RFM69W.&lt;br /&gt;
Das Modul RFM69CW hat 2 Pins weniger als das RFM69W (bei RFM69C fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es nd kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden. &lt;br /&gt;
&lt;br /&gt;
==Ausstattung==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI Schnittstelle&lt;br /&gt;
* FSK und OOK Modulation&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden, 16 mA empfangen, 0,1 µA stand by&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendeleistung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann z.B. anzeigen wenn ein Packet vollständig gesendet wurde, oder ein neues Packet empfangen wurde. Prinzipiell wird zuerst ein Adressbyte geschickt, auf welches Register zugegriffen werden soll. Das höchstwertigste Bit im Adressbyte gibt an ob das Register gelesen (Bit 7 = 0) oder geschrieben (Bit 7 = 1) werden soll. Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrmentiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...) das höchstwertige Byte zu erst geschrieben / gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69CW==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Beschreibung !! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || FSK/DATA/nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
[http://shop.seegel-systeme.de/Bauelemente/Funkmodul-RFM69CW-REV-V1-0-868-MHz-SMD.html Seegel Systeme]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;br /&gt;
[http://www.mikrocontroller.net/topic/332579 Thread im Forum: Wer verwendet RFM69]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83084</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83084"/>
		<updated>2014-05-21T14:21:03Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|thumb|300px|RFM69CW]]&lt;br /&gt;
Funkmodul RFM69&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Funkmodule RFM69CW, RFM69W.&lt;br /&gt;
Das Modul RFM69CW hat 2 Pins weniger als das RFM69W (bei RFM69C fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es nd kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden. &lt;br /&gt;
&lt;br /&gt;
==Ausstattung==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI Schnittstelle&lt;br /&gt;
* FSK und OOK Modulation&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden, 16 mA empfangen, 0,1 µA stand by&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendelsietung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann z.B. anzeigen wenn ein Packet vollständig gesendet wurde, oder ein neues Packet empfangen wurde. Prinzipiell wird zuerst ein Adressbyte geschickt, auf welches Register zugegriffen werden soll. Das höchstwertigste Bit im Adressbyte gibt an ob das Register gelesen (Bit 7 = 0) oder geschrieben (Bit 7 = 1) werden soll. Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrmentiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...) das höchstwertige Byte zu erst geschrieben / gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69CW==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Beschreibung !! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || FSK/DATA/nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
[http://shop.seegel-systeme.de/Bauelemente/Funkmodul-RFM69CW-REV-V1-0-868-MHz-SMD.html Seegel Systeme]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83083</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83083"/>
		<updated>2014-05-21T14:19:23Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|gerahmt|rechts|300px|RFM69CW]]&lt;br /&gt;
Funkmodul RFM69&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Funkmodule RFM69CW, RFM69W.&lt;br /&gt;
Das Modul RFM69CW hat 2 Pins weniger als das RFM69W (bei RFM69C fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es nd kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden. &lt;br /&gt;
&lt;br /&gt;
==Ausstattung==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI Schnittstelle&lt;br /&gt;
* FSK und OOK Modulation&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden, 16 mA empfangen, 0,1 µA stand by&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendelsietung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann z.B. anzeigen wenn ein Packet vollständig gesendet wurde, oder ein neues Packet empfangen wurde. Prinzipiell wird zuerst ein Adressbyte geschickt, auf welches Register zugegriffen werden soll. Das höchstwertigste Bit im Adressbyte gibt an ob das Register gelesen (Bit 7 = 0) oder geschrieben (Bit 7 = 1) werden soll. Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrmentiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...) das höchstwertige Byte zu erst geschrieben / gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69CW==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Beschreibung !! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || FSK/DATA/nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
[http://shop.seegel-systeme.de/Bauelemente/Funkmodul-RFM69CW-REV-V1-0-868-MHz-SMD.html Seegel Systeme]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83082</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83082"/>
		<updated>2014-05-21T14:16:04Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|gerahment|rechts|300px|RFM69CW]]&lt;br /&gt;
Funkmodul RFM69&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Funkmodule RFM69CW, RFM69W.&lt;br /&gt;
Das Modul RFM69CW hat 2 Pins weniger als das RFM69W (bei RFM69C fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es nd kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden. &lt;br /&gt;
&lt;br /&gt;
==Ausstattung==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI Schnittstelle&lt;br /&gt;
* FSK und OOK Modulation&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden, 16 mA empfangen, 0,1 µA stand by&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendelsietung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann z.B. anzeigen wenn ein Packet vollständig gesendet wurde, oder ein neues Packet empfangen wurde. Prinzipiell wird zuerst ein Adressbyte geschickt, auf welches Register zugegriffen werden soll. Das höchstwertigste Bit im Adressbyte gibt an ob das Register gelesen (Bit 7 = 0) oder geschrieben (Bit 7 = 1) werden soll. Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrmentiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...) das höchstwertige Byte zu erst geschrieben / gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69CW==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Beschreibung !! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || FSK/DATA/nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || DCLK/CFIL/FFIT&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || CLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
[http://shop.seegel-systeme.de/Bauelemente/Funkmodul-RFM69CW-REV-V1-0-868-MHz-SMD.html Seegel Systeme]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83081</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83081"/>
		<updated>2014-05-21T14:14:58Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|gerahment|rechts|300px|RFM69CW]]&lt;br /&gt;
Funkmodul RFM69&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Funkmodule RFM69CW, RFM69W.&lt;br /&gt;
Das Modul RFM69CW hat 2 Pins weniger als das RFM69W (bei RFM69C fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es nd kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden. &lt;br /&gt;
&lt;br /&gt;
==Ausstattung==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI Schnittstelle&lt;br /&gt;
* FSK und OOK Modulation&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden, 16 mA empfangen, 0,1 µA stand by&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendelsietung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann z.B. anzeigen wenn ein Packet vollständig gesendet wurde, oder ein neues Packet empfangen wurde. Prinzipiell wird zuerst ein Adressbyte geschickt, auf welches Register zugegriffen werden soll. Das höchstwertigste Bit im Adressbyte gibt an ob das Register gelesen (Bit 7 = 0) oder geschrieben (Bit 7 = 1) werden soll. Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrmentiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...) das höchstwertige Byte zu erst geschrieben / gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69CW==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Beschreibung !! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;lt;br/&amp;gt;CrcOK (RX)&amp;lt;br/&amp;gt;PayloadReady (RX)&amp;lt;br/&amp;gt;SyncAddress (RX)&amp;lt;br/&amp;gt;Rssi (RX)&amp;lt;br/&amp;gt;PacketSent (TX)&amp;lt;br/&amp;gt;TxReady (TX) || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || FSK/DATA/nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;PllLock (FS, TX)&amp;lt;br/&amp;gt;Timeout (RX) || CLK&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;lt;br/&amp;gt;ClkOut (Stdby, FS, RX, TX)&amp;lt;br/&amp;gt;Data (RX, TX) || &lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
[http://shop.seegel-systeme.de/Bauelemente/Funkmodul-RFM69CW-REV-V1-0-868-MHz-SMD.html Seegel Systeme]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83080</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83080"/>
		<updated>2014-05-21T14:13:18Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|gerahment|rechts|300px|RFM69CW]]&lt;br /&gt;
Funkmodul RFM69&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Funkmodule RFM69CW, RFM69W.&lt;br /&gt;
Das Modul RFM69CW hat 2 Pins weniger als das RFM69W (bei RFM69C fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es nd kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden. &lt;br /&gt;
&lt;br /&gt;
==Ausstattung==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI Schnittstelle&lt;br /&gt;
* FSK und OOK Modulation&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden, 16 mA empfangen, 0,1 µA stand by&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendelsietung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann z.B. anzeigen wenn ein Packet vollständig gesendet wurde, oder ein neues Packet empfangen wurde. Prinzipiell wird zuerst ein Adressbyte geschickt, auf welches Register zugegriffen werden soll. Das höchstwertigste Bit im Adressbyte gibt an ob das Register gelesen (Bit 7 = 0) oder geschrieben (Bit 7 = 1) werden soll. Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrmentiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...) das höchstwertige Byte zu erst geschrieben / gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69CW==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Beschreibung !! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;lt;br/&amp;gt;Rssi&amp;lt;br/&amp;gt;SyncAdress&amp;lt;br/&amp;gt;TXReady || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;amp;nbsp;CrcOK (RX)&amp;amp;nbsp;PayloadReady (RX)&amp;amp;nbsp;SyncAddress (RX)&amp;amp;nbsp;Rssi (RX)&amp;amp;nbsp;PacketSent (TX)&amp;amp;nbsp;TxReady (TX)&amp;amp;nbsp; || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;amp;nbsp;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;amp;nbsp;Data (RX, TX) || FSK/DATA/nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;amp;nbsp;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;amp;nbsp;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;amp;nbsp;PllLock (FS, TX)&amp;amp;nbsp;Timeout (RX) || CLK&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;amp;nbsp;ClkOut (Stdby, FS, RX, TX)&amp;amp;nbsp;Data (RX, TX) || &lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
[http://shop.seegel-systeme.de/Bauelemente/Funkmodul-RFM69CW-REV-V1-0-868-MHz-SMD.html Seegel Systeme]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83079</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83079"/>
		<updated>2014-05-21T14:11:58Z</updated>

		<summary type="html">&lt;p&gt;Energizer: Pinbeschreibungen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|gerahment|rechts|300px|RFM69CW]]&lt;br /&gt;
Funkmodul RFM69&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Funkmodule RFM69CW, RFM69W.&lt;br /&gt;
Das Modul RFM69CW hat 2 Pins weniger als das RFM69W (bei RFM69C fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es nd kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden. &lt;br /&gt;
&lt;br /&gt;
==Ausstattung==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI Schnittstelle&lt;br /&gt;
* FSK und OOK Modulation&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden, 16 mA empfangen, 0,1 µA stand by&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendelsietung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann z.B. anzeigen wenn ein Packet vollständig gesendet wurde, oder ein neues Packet empfangen wurde. Prinzipiell wird zuerst ein Adressbyte geschickt, auf welches Register zugegriffen werden soll. Das höchstwertigste Bit im Adressbyte gibt an ob das Register gelesen (Bit 7 = 0) oder geschrieben (Bit 7 = 1) werden soll. Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrmentiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...) das höchstwertige Byte zu erst geschrieben / gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69CW==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Beschreibung !! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || ANT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || Versorgungsspannung || VDD&lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || GND&lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || FifoFull&amp;amp;nbsp;PllLock&amp;amp;nbsp;Rssi&amp;amp;nbsp;SyncAdress&amp;amp;nbsp;TXReady || nINT/VDI&lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || SPI Daten Eingang || SDI&lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || SPI Takt || SCK&lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || Chip select || nSEL&lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || SPI Daten Ausgang || SDO&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || PllLock (FS, TX)&amp;amp;nbsp;CrcOK (RX)&amp;amp;nbsp;PayloadReady (RX)&amp;amp;nbsp;SyncAddress (RX)&amp;amp;nbsp;Rssi (RX)&amp;amp;nbsp;PacketSent (TX)&amp;amp;nbsp;TxReady (TX)&amp;amp;nbsp; || nIRQ&lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;amp;nbsp;AutoMode(Sleep, Stdby, FS, RX, TX)&amp;amp;nbsp;Data (RX, TX) || FSK/DATA/nFFS&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || FifoLevel (Sleep, Stdby, FS, RX, TX)&amp;amp;nbsp;FifoFull (Sleep, Stdby, FS, RX, TX)&amp;amp;nbsp;FifoNotEmpty (Sleep, Stdby, FS, RX, TX)&amp;amp;nbsp;PllLock (FS, TX)&amp;amp;nbsp;Timeout (RX) || CLK&lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || ModeReady&amp;amp;nbsp;ClkOut (Stdby, FS, RX, TX)&amp;amp;nbsp;Data (RX, TX) || &lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || nRES&lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
[http://shop.seegel-systeme.de/Bauelemente/Funkmodul-RFM69CW-REV-V1-0-868-MHz-SMD.html Seegel Systeme]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83078</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83078"/>
		<updated>2014-05-21T13:57:44Z</updated>

		<summary type="html">&lt;p&gt;Energizer: Pinbelegungen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|gerahment|rechts|300px|RFM69CW]]&lt;br /&gt;
Funkmodul RFM69&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Funkmodule RFM69CW, RFM69W.&lt;br /&gt;
Das Modul RFM69CW hat 2 Pins weniger als das RFM69W (bei RFM69C fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es nd kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden. &lt;br /&gt;
&lt;br /&gt;
==Ausstattung==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI Schnittstelle&lt;br /&gt;
* FSK und OOK Modulation&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden, 16 mA empfangen, 0,1 µA stand by&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendelsietung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann z.B. anzeigen wenn ein Packet vollständig gesendet wurde, oder ein neues Packet empfangen wurde. Prinzipiell wird zuerst ein Adressbyte geschickt, auf welches Register zugegriffen werden soll. Das höchstwertigste Bit im Adressbyte gibt an ob das Register gelesen (Bit 7 = 0) oder geschrieben (Bit 7 = 1) werden soll. Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrmentiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...) das höchstwertige Byte zu erst geschrieben / gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung RFM69CW==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pinnummer !! Name !! Richtung !! Beschreibung !! Pin am RFM12&lt;br /&gt;
|-&lt;br /&gt;
| 1 || ANA || || Antennenanschluss || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3.3V || || || &lt;br /&gt;
|-&lt;br /&gt;
| 3 || GND || || || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || DIO3 || || || &lt;br /&gt;
|-&lt;br /&gt;
| 5 || MOSI || || || &lt;br /&gt;
|-&lt;br /&gt;
| 6 || SCK || || || &lt;br /&gt;
|-&lt;br /&gt;
| 7 || NSS || || || &lt;br /&gt;
|-&lt;br /&gt;
| 8 || MISO || || || &lt;br /&gt;
|-&lt;br /&gt;
| 9 || DIO0 || || || &lt;br /&gt;
|-&lt;br /&gt;
| 10 || DIO2 || || || &lt;br /&gt;
|-&lt;br /&gt;
| 11 || DIO1 || || || &lt;br /&gt;
|-&lt;br /&gt;
| 12 || DIO5 || || || &lt;br /&gt;
|-&lt;br /&gt;
| 13 || RESET || || || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || GND || || || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
[http://shop.seegel-systeme.de/Bauelemente/Funkmodul-RFM69CW-REV-V1-0-868-MHz-SMD.html Seegel Systeme]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83077</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83077"/>
		<updated>2014-05-21T13:27:43Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|gerahment|rechts|300px|RFM69CW]]&lt;br /&gt;
Funkmodul RFM69&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Funkmodule RFM69CW, RFM69W.&lt;br /&gt;
Das Modul RFM69CW hat 2 Pins weniger als das RFM69W (bei RFM69C fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es nd kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden. &lt;br /&gt;
&lt;br /&gt;
==Ausstattung==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI Schnittstelle&lt;br /&gt;
* FSK und OOK Modulation&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden, 16 mA empfangen, 0,1 µA stand by&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendelsietung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann z.B. anzeigen wenn ein Packet vollständig gesendet wurde, oder ein neues Packet empfangen wurde. Prinzipiell wird zuerst ein Adressbyte geschickt, auf welches Register zugegriffen werden soll. Das höchstwertigste Bit im Adressbyte gibt an ob das Register gelesen (Bit 7 = 0) oder geschrieben (Bit 7 = 1) werden soll. Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrmentiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...) das höchstwertige Byte zu erst geschrieben / gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
[http://shop.seegel-systeme.de/Bauelemente/Funkmodul-RFM69CW-REV-V1-0-868-MHz-SMD.html Seegel Systeme]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83076</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83076"/>
		<updated>2014-05-21T13:27:06Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png|rahmenlos|rechts|200px|RFM69CW]]&lt;br /&gt;
Funkmodul RFM69&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Funkmodule RFM69CW, RFM69W.&lt;br /&gt;
Das Modul RFM69CW hat 2 Pins weniger als das RFM69W (bei RFM69C fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es nd kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden. &lt;br /&gt;
&lt;br /&gt;
==Ausstattung==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI Schnittstelle&lt;br /&gt;
* FSK und OOK Modulation&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden, 16 mA empfangen, 0,1 µA stand by&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendelsietung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann z.B. anzeigen wenn ein Packet vollständig gesendet wurde, oder ein neues Packet empfangen wurde. Prinzipiell wird zuerst ein Adressbyte geschickt, auf welches Register zugegriffen werden soll. Das höchstwertigste Bit im Adressbyte gibt an ob das Register gelesen (Bit 7 = 0) oder geschrieben (Bit 7 = 1) werden soll. Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrmentiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...) das höchstwertige Byte zu erst geschrieben / gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
[http://shop.seegel-systeme.de/Bauelemente/Funkmodul-RFM69CW-REV-V1-0-868-MHz-SMD.html Seegel Systeme]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Rf69cw.png&amp;diff=83075</id>
		<title>Datei:Rf69cw.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Rf69cw.png&amp;diff=83075"/>
		<updated>2014-05-21T13:24:51Z</updated>

		<summary type="html">&lt;p&gt;Energizer: RFM69CW Funkmodul 868 MHz&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;RFM69CW Funkmodul 868 MHz&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83074</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83074"/>
		<updated>2014-05-21T13:24:22Z</updated>

		<summary type="html">&lt;p&gt;Energizer: Bild hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:rf69cw.png]]&lt;br /&gt;
Funkmodul RFM69&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Funkmodule RFM69CW, RFM69W.&lt;br /&gt;
Das Modul RFM69CW hat 2 Pins weniger als das RFM69W (bei RFM69C fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es nd kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden. &lt;br /&gt;
&lt;br /&gt;
==Ausstattung==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI Schnittstelle&lt;br /&gt;
* FSK und OOK Modulation&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden, 16 mA empfangen, 0,1 µA stand by&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendelsietung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann z.B. anzeigen wenn ein Packet vollständig gesendet wurde, oder ein neues Packet empfangen wurde. Prinzipiell wird zuerst ein Adressbyte geschickt, auf welches Register zugegriffen werden soll. Das höchstwertigste Bit im Adressbyte gibt an ob das Register gelesen (Bit 7 = 0) oder geschrieben (Bit 7 = 1) werden soll. Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrmentiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...) das höchstwertige Byte zu erst geschrieben / gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
[http://shop.seegel-systeme.de/Bauelemente/Funkmodul-RFM69CW-REV-V1-0-868-MHz-SMD.html Seegel Systeme]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83073</id>
		<title>RFM69</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFM69&amp;diff=83073"/>
		<updated>2014-05-21T13:22:11Z</updated>

		<summary type="html">&lt;p&gt;Energizer: Artikel neu Angelegt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Funkmodul RFM69&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Funkmodule RFM69CW, RFM69W.&lt;br /&gt;
Das Modul RFM69CW hat 2 Pins weniger als das RFM69W (bei RFM69C fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B.&lt;br /&gt;
Es nd kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden. &lt;br /&gt;
&lt;br /&gt;
==Ausstattung==&lt;br /&gt;
* Betriebsspannung 1,8 - 3,6 V&lt;br /&gt;
* SPI Schnittstelle&lt;br /&gt;
* FSK und OOK Modulation&lt;br /&gt;
* Frequenzbereiche 315, 433, 868, 915 MHz&lt;br /&gt;
* Max. Datenrate 300 kbit/s&lt;br /&gt;
* Ausgangsleistung +13 dBm (rund 20 mW)&lt;br /&gt;
* Stromaufnahme 45 mA senden, 16 mA empfangen, 0,1 µA stand by&lt;br /&gt;
* Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung&lt;br /&gt;
* 66 Byte FIFO&lt;br /&gt;
&lt;br /&gt;
== Vergleich zum RFM12B ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! RFM12B !! RFM69&lt;br /&gt;
|-&lt;br /&gt;
| Versorgungsspannung || 2,2 - 3,8 V || 1,8 - 3,6 V&lt;br /&gt;
|-&lt;br /&gt;
| Max. Datenrate || 115,2 kbit/s || 300 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| Sendelsietung || 5 dBm || 13 dBm&lt;br /&gt;
|-&lt;br /&gt;
| Empfindlichkeit || -105 dB || -120 dB&lt;br /&gt;
|-&lt;br /&gt;
| Stromaufnahme || 22 mA/11 mA/0,3 µA || 45 mA/16 mA/0,1 µA&lt;br /&gt;
|-&lt;br /&gt;
| FIFO Größe || 16 Bit || 66 Bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch noch DIO0 zum Prozessor. Dieser Pin kann z.B. anzeigen wenn ein Packet vollständig gesendet wurde, oder ein neues Packet empfangen wurde. Prinzipiell wird zuerst ein Adressbyte geschickt, auf welches Register zugegriffen werden soll. Das höchstwertigste Bit im Adressbyte gibt an ob das Register gelesen (Bit 7 = 0) oder geschrieben (Bit 7 = 1) werden soll. Werden nach dem Adressbyte mehrere Bytes empfangen oder gelesen, wird der Adresszeiger im RFM69 automatisch inkrmentiert, so dass in einem einzigen Burst mehrere Register gelesen werden können. Zu beachten ist dabei dass in Registern die mehr als 8 Bit breit sind (Frequenz, Bitrate, ...) das höchstwertige Byte zu erst geschrieben / gelesen wird (big endian). Wird das FIFO Register gelesen/geschrieben, wird der Adresszeiger nicht inkrementiert, so dass auf das FIFO in einem Burst zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
== Register ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Adresse !! Registername !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || RegFifo || Zugriff auf das FIFO Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x01 || RegOpMode || Betriebsart (senden, empfangen, ...) || 0x04 = Empfangen&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || RegDataModule || Modulationsart &amp;amp;-shaping, Packetengine || 0x00 = FSK, Packetengine aktiv&lt;br /&gt;
|-&lt;br /&gt;
| 0x03 - 0x04|| RegBitrate || = FXOSC/Bitrate || 0x1A0B = 6667 -&amp;gt; 4,8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 0x05 - 0x06 || RegFdev || Frequenzabweichung (Hub * 2) || 0x52 = 82 -&amp;gt; 5 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x07 - 0x09 || RegFrf || Mittenfrequenz || 0xD91333 = 14226227 -&amp;gt; 868,300 MHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x11|| RegPaLevel || Sendeleistung || 0x12 = 18 -&amp;gt; 0 dBm&lt;br /&gt;
|-&lt;br /&gt;
| 0x19|| RegRxBw || Filterbandbreite || 0b01001 -&amp;gt; 200 kHz&lt;br /&gt;
|-&lt;br /&gt;
| 0x25|| RegDioMapping1 || DIO Funktionen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C - 0x2D|| RegPreamble || Preamblelänge ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || RegSyncConfig || Synchronworteinstellungen ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F - 0x36 || RegSyncValue || Synchronwort || 0x2DD4&lt;br /&gt;
|-&lt;br /&gt;
| 0x37 || RegPacketConfig1 || Einstellungen Packetengine ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || RegPayloadLength || Datenpacketgröße ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
[http://shop.seegel-systeme.de/Bauelemente/Funkmodul-RFM69CW-REV-V1-0-868-MHz-SMD.html Seegel Systeme]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69CW-V1.1.pdf Datenblatt RFM69CW]&lt;br /&gt;
[http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf Datenblatt RFM69W]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Optokoppler&amp;diff=82088</id>
		<title>Optokoppler</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Optokoppler&amp;diff=82088"/>
		<updated>2014-03-17T15:19:21Z</updated>

		<summary type="html">&lt;p&gt;Energizer: SFH610 added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
Optokoppler dienen zur Kopplung elektronischer Schaltungen mit Hilfe von Lichtenergie. In einem Optokoppler befindet sich ein Lichtsender ([[LED]], meist Infrarot) und ein Lichtempfänger (z.&amp;amp;nbsp;B. [[Lichtsensor / Helligkeitssensor|Fototransistor]]), welche durch einen sehr kurzen Lichtleiter verbunden sind. Die elektrische (galvanische) Trennung zwischen Eingang und Ausgang ermöglicht Kopplung von Schaltungen sehr unterschiedlichen Spannungsniveaus. Das ist notwendig bei gefährlich hohen Spannungen, störverseuchten Umgebungen oder zur Verhinderung von Masseschleifen. Neben Optokopplern mit Fototransistoren als Lichtempfänger gibt es Typen mit Fotodioden oder Triacs. Typen mit Photodioden sind dabei wesentlich schneller als Transistor- und Triactypen. Ausserdem gibt es noch komplett integrierte Typen, welche ohne weitere Beschaltung wie ein normaler digitaler IC verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
Die meisten Optokoppler sind nur für digitale Signale nutzbar. Zur elektrischen Trennung von analogen Signalen eignen sich spezielle Optokoppler. Diese haben meist zwei Photoempfänger, meist Photodioden. Eine Photodiode dient als [[Galvanische Trennung | galvanisch getrennter Ausgang]], die Zweite als Vergleichsausgang zur Kompensation von Unlinearitäten, Drift- und Alterungseffekten. Durch diese lässt sich eine Regelung aufbauen die die Vergleichsspannung proportional zur Eingangsspannung einstellt. Dadurch ist die Übertragungsfunktion des Optokopplers als linear anzusehen. Daher wird im Zusammenhang mit analogen Optokopplern häufig auch von linearen Optokopplern gesprochen. Für gemäßigte Ansprüche kann man aber auch mit normalen, digitalen Optokopplern analoge Signale übertragen.&lt;br /&gt;
&lt;br /&gt;
== Beschaltung ==&lt;br /&gt;
&lt;br /&gt;
Optokoppler sind relativ leicht nutzbar. Sie bieten ausserdem die Möglichkeit, das Signal bei der Übertragung zu invertieren. Nachfolgend sind drei Grundschaltungen gezeigt. Links nichtinvertierend, in der Mitte mit Invertierung am Eingang und rechts mit Invertierung am Ausgang, das ist die häufigste Schaltung.&lt;br /&gt;
&lt;br /&gt;
[[bild:optokoppler_grundschaltungen.png]]&lt;br /&gt;
&lt;br /&gt;
Wie berechnet man nun die Widerstände für die [[LED]] und den [[Transistor]] am Ausgang? Recht einfach. Zunächst muss man den Strom durch die LED festlegen, hier hilft auch das Datenblatt. Typische Werte liegen zwischen 5-20mA. Die Berechnung des Vorwiderstands erfolgt gemäß Beschreibung im Artikel [[LED]], wobei die Flußspannung meist 1,2-1,5V beträgt. Der Arbeitswiderstand am Ausgang berechnet sich wie folgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; R_A = \frac{Vcc \cdot SF}{I_{LED} \cdot CTR }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* R_A : Arbeitswiderstand&lt;br /&gt;
* Vcc: Betriebsspannung am Ausgang&lt;br /&gt;
* CTR: Stromübertragungsfaktor (engl. &#039;&#039;&#039;C&#039;&#039;&#039;urrent &#039;&#039;&#039;T&#039;&#039;&#039;ransfer &#039;&#039;&#039;R&#039;&#039;&#039;atio)&lt;br /&gt;
* SF: Sicherheitsfaktor&lt;br /&gt;
&lt;br /&gt;
Dabei muss man im Datenblatt nach dem &#039;&#039;&#039;minimalen&#039;&#039;&#039; CTR suchen, der ist abhängig von dem speziellen Typ, Temperatur und ggf. vom LED-Strom. Als Sicherheitsfaktor sollte man mindestens 2 wählen, weil die gängige Definition der Lebensdauer einer LED bzw. Optokopplers auf die halbe optische Leistung ausgelegt ist. Wenn man die LED jedoch deutlich unter dem Nennstrom betreibt (50% und weniger), erhöht sich die Lebensdauer beachtlich, Faktor 10 und mehr ist möglich. Praktisch wird man einen Sicherheitsfaktor zwischen 2-5 wählen.&lt;br /&gt;
Aber auch hier muss man Kompromisse eingehen. Denn um die maximale Geschwindigkeit eines Optokopplers zu erreichen, muss man meist mit Nennstrom und minimalem Arbeitswiderstand arbeiten. Hier sind dann die High Speed Optokoppler mit aktivem Empfänger und Verstärker deutlich im Vorteil (z.B. 6N137). Bei Optokopplern mit Transistorausgang und herausgeführtem Basisanschluß kann man durch einen passenden Widerstand zwischen Basis und Emitter vor allem die Abschaltgeschwindigkeit deutlich steigen, allerdings auf Kosten der Empfindlichkeit.&lt;br /&gt;
&lt;br /&gt;
== Standardtypen == &lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;transistors-npn&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
! Bezeichnung&lt;br /&gt;
! Gehäuse&lt;br /&gt;
! Vce-max&lt;br /&gt;
| Vsupply&lt;br /&gt;
! CTR&lt;br /&gt;
! Iout&lt;br /&gt;
! Geschwindigkeit&lt;br /&gt;
! Bemerkung&lt;br /&gt;
! Lieferant&lt;br /&gt;
! Datenblatt&lt;br /&gt;
|-&lt;br /&gt;
| 4N32, 4N33&lt;br /&gt;
| DIP6, SMD6&lt;br /&gt;
| 30 V&lt;br /&gt;
| &lt;br /&gt;
| &amp;gt;= 500 %&lt;br /&gt;
| 100 mA max.&lt;br /&gt;
| 5 µS / 100 µS&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4N35, 4N36, 4N37&lt;br /&gt;
| DIP6, DCJ6&lt;br /&gt;
| 30 V&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
| 100 mA&lt;br /&gt;
| ton/off 7 µs&lt;br /&gt;
| &lt;br /&gt;
| R&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 6N135, 6N136, HCPL2503, HCPL4502&lt;br /&gt;
| DIP8&lt;br /&gt;
| 20 V&lt;br /&gt;
| 0 - 30 V&lt;br /&gt;
| 18 - 30 %&lt;br /&gt;
| 100 mA&lt;br /&gt;
| 1 MBit/s&lt;br /&gt;
| Dual-channel: HCPL2530, HCPL2531&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 6N137&lt;br /&gt;
| DIP8&lt;br /&gt;
| &lt;br /&gt;
| 4,5 - 5,5 V&lt;br /&gt;
| &lt;br /&gt;
| 15 mA&lt;br /&gt;
| 10 MBit/s&lt;br /&gt;
|&lt;br /&gt;
| R&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FOD060&lt;br /&gt;
| DIP8, SMT8&lt;br /&gt;
| &lt;br /&gt;
| 3,0 - 5,5 V&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 10 MBit/s&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| SFH610&lt;br /&gt;
| DIP4, SMT (SFH6106)&lt;br /&gt;
| 70 V&lt;br /&gt;
|&lt;br /&gt;
| 40 % - 320 %&lt;br /&gt;
| &lt;br /&gt;
| 10 MBit/s&lt;br /&gt;
| Veraltet&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Typen mit Transistorausgang ===&lt;br /&gt;
&lt;br /&gt;
* CNY17/x: 1-fach Koppler im DIL6-Gehäuse &lt;br /&gt;
* PC817-Serie: 1-,2-,3- und 4-fachTyp verfügbar, CTR: 50%, 80 kHz&lt;br /&gt;
* 6N135, 6N136: 1-fach Typ, DIL8, Highspeed 1 MBit/s&lt;br /&gt;
* 6N138, Darlingtonausgang mit hohem CTR&lt;br /&gt;
&lt;br /&gt;
=== Typen mit Triacausgang === &lt;br /&gt;
&lt;br /&gt;
* IL4218 TRIAC DRIVER OPTOCOUPLER&lt;br /&gt;
* MOC3020 6-Pin DIP Random-Phase Optoisolators Triac Driver Output 400 V&lt;br /&gt;
* MOC3052 6-Pin DIP Random-Phase Optoisolators Triac Drivers 600 V&lt;br /&gt;
* MOC306x 6-Pin DIP Zero-Cross Optoisolators Triac Driver Output 600 V&lt;br /&gt;
&lt;br /&gt;
=== Typen mit MOSFET ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.panasonic-electric-works.com/peweu/en/html/photomos.php PhotoMOS Relais bei Panasonic]&lt;br /&gt;
&lt;br /&gt;
=== Lineare Optokoppler ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.avagotech.com/products/parametric/optocouplers/optocouplers_-_plastic/plastic_high_linearity_analog_optocoupler/ Avago HCNR-200/201]&lt;br /&gt;
* [http://www.vishay.com/optocouplers/opto-linear/ Vishay IL300]&lt;br /&gt;
&lt;br /&gt;
=== Vollintegrierte Optokoppler ===&lt;br /&gt;
&lt;br /&gt;
* 6N137: 1-fach Typ, DIL8, Highspeed 10 Mbit/s&lt;br /&gt;
* HCPL 2630: 2-fach Typ, DIL8, Highspeed 10 Mbit/s&lt;br /&gt;
&lt;br /&gt;
=== Alternative Technologien ===&lt;br /&gt;
&lt;br /&gt;
* Für höhere Geschwindigkeiten bietet z.&amp;amp;nbsp;B. Analog Devices recht teure [http://www.analog.com/en/interface/digital-isolators/products/index.html Digital Isolators] an, genannt &#039;&#039;&#039;iCoupler&#039;&#039;&#039; und von Texas Instruments die [http://focus.ti.com/paramsearch/docs/parametricsearch.tsp?family=analog&amp;amp;familyId=897&amp;amp;uiTemplateId=NODE_STRY_PGE_T ISO Koppler] auf kapazitiver Basis.&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&lt;br /&gt;
* [[I2C-Schaltmodul]] mit Optokoppler MOC3040 zur galvanischen Trennung von [[I2C]]-[[Bus]] und 230 Volt Netzspannung.&lt;br /&gt;
&lt;br /&gt;
[[Category:Bauteile]]&lt;br /&gt;
[[Category:Datenübertragung]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Optokoppler&amp;diff=82059</id>
		<title>Optokoppler</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Optokoppler&amp;diff=82059"/>
		<updated>2014-03-14T13:55:42Z</updated>

		<summary type="html">&lt;p&gt;Energizer: Typ hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
Optokoppler dienen zur Kopplung elektronischer Schaltungen mit Hilfe von Lichtenergie. In einem Optokoppler befindet sich ein Lichtsender ([[LED]], meist Infrarot) und ein Lichtempfänger (z.&amp;amp;nbsp;B. [[Lichtsensor / Helligkeitssensor|Fototransistor]]), welche durch einen sehr kurzen Lichtleiter verbunden sind. Die elektrische (galvanische) Trennung zwischen Eingang und Ausgang ermöglicht Kopplung von Schaltungen sehr unterschiedlichen Spannungsniveaus. Das ist notwendig bei gefährlich hohen Spannungen, störverseuchten Umgebungen oder zur Verhinderung von Masseschleifen. Neben Optokopplern mit Fototransistoren als Lichtempfänger gibt es Typen mit Fotodioden oder Triacs. Typen mit Photodioden sind dabei wesentlich schneller als Transistor- und Triactypen. Ausserdem gibt es noch komplett integrierte Typen, welche ohne weitere Beschaltung wie ein normaler digitaler IC verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
Die meisten Optokoppler sind nur für digitale Signale nutzbar. Zur elektrischen Trennung von analogen Signalen eignen sich spezielle Optokoppler. Diese haben meist zwei Photoempfänger, meist Photodioden. Eine Photodiode dient als [[Galvanische Trennung | galvanisch getrennter Ausgang]], die Zweite als Vergleichsausgang zur Kompensation von Unlinearitäten, Drift- und Alterungseffekten. Durch diese lässt sich eine Regelung aufbauen die die Vergleichsspannung proportional zur Eingangsspannung einstellt. Dadurch ist die Übertragungsfunktion des Optokopplers als linear anzusehen. Daher wird im Zusammenhang mit analogen Optokopplern häufig auch von linearen Optokopplern gesprochen. Für gemäßigte Ansprüche kann man aber auch mit normalen, digitalen Optokopplern analoge Signale übertragen.&lt;br /&gt;
&lt;br /&gt;
== Beschaltung ==&lt;br /&gt;
&lt;br /&gt;
Optokoppler sind relativ leicht nutzbar. Sie bieten ausserdem die Möglichkeit, das Signal bei der Übertragung zu invertieren. Nachfolgend sind drei Grundschaltungen gezeigt. Links nichtinvertierend, in der Mitte mit Invertierung am Eingang und rechts mit Invertierung am Ausgang, das ist die häufigste Schaltung.&lt;br /&gt;
&lt;br /&gt;
[[bild:optokoppler_grundschaltungen.png]]&lt;br /&gt;
&lt;br /&gt;
Wie berechnet man nun die Widerstände für die [[LED]] und den [[Transistor]] am Ausgang? Recht einfach. Zunächst muss man den Strom durch die LED festlegen, hier hilft auch das Datenblatt. Typische Werte liegen zwischen 5-20mA. Die Berechnung des Vorwiderstands erfolgt gemäß Beschreibung im Artikel [[LED]], wobei die Flußspannung meist 1,2-1,5V beträgt. Der Arbeitswiderstand am Ausgang berechnet sich wie folgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; R_A = \frac{Vcc \cdot SF}{I_{LED} \cdot CTR }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* R_A : Arbeitswiderstand&lt;br /&gt;
* Vcc: Betriebsspannung am Ausgang&lt;br /&gt;
* CTR: Stromübertragungsfaktor (engl. &#039;&#039;&#039;C&#039;&#039;&#039;urrent &#039;&#039;&#039;T&#039;&#039;&#039;ransfer &#039;&#039;&#039;R&#039;&#039;&#039;atio)&lt;br /&gt;
* SF: Sicherheitsfaktor&lt;br /&gt;
&lt;br /&gt;
Dabei muss man im Datenblatt nach dem &#039;&#039;&#039;minimalen&#039;&#039;&#039; CTR suchen, der ist abhängig von dem speziellen Typ, Temperatur und ggf. vom LED-Strom. Als Sicherheitsfaktor sollte man mindestens 2 wählen, weil die gängige Definition der Lebensdauer einer LED bzw. Optokopplers auf die halbe optische Leistung ausgelegt ist. Wenn man die LED jedoch deutlich unter dem Nennstrom betreibt (50% und weniger), erhöht sich die Lebensdauer beachtlich, Faktor 10 und mehr ist möglich. Praktisch wird man einen Sicherheitsfaktor zwischen 2-5 wählen.&lt;br /&gt;
Aber auch hier muss man Kompromisse eingehen. Denn um die maximale Geschwindigkeit eines Optokopplers zu erreichen, muss man meist mit Nennstrom und minimalem Arbeitswiderstand arbeiten. Hier sind dann die High Speed Optokoppler mit aktivem Empfänger und Verstärker deutlich im Vorteil (z.B. 6N137). Bei Optokopplern mit Transistorausgang und herausgeführtem Basisanschluß kann man durch einen passenden Widerstand zwischen Basis und Emitter vor allem die Abschaltgeschwindigkeit deutlich steigen, allerdings auf Kosten der Empfindlichkeit.&lt;br /&gt;
&lt;br /&gt;
== Standardtypen == &lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;transistors-npn&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
! Bezeichnung&lt;br /&gt;
! Gehäuse&lt;br /&gt;
! Vce-max&lt;br /&gt;
| Vsupply&lt;br /&gt;
! CTR&lt;br /&gt;
! Iout&lt;br /&gt;
! Geschwindigkeit&lt;br /&gt;
! Bemerkung&lt;br /&gt;
! Lieferant&lt;br /&gt;
! Datenblatt&lt;br /&gt;
|-&lt;br /&gt;
| 4N32, 4N33&lt;br /&gt;
| DIP6, SMD6&lt;br /&gt;
| 30 V&lt;br /&gt;
| &lt;br /&gt;
| &amp;gt;= 500 %&lt;br /&gt;
| 100 mA max.&lt;br /&gt;
| 5 µS / 100 µS&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4N35, 4N36, 4N37&lt;br /&gt;
| DIP6, DCJ6&lt;br /&gt;
| 30 V&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
| 100 mA&lt;br /&gt;
| ton/off 7 µs&lt;br /&gt;
| &lt;br /&gt;
| R&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 6N135, 6N136, HCPL2503, HCPL4502&lt;br /&gt;
| DIP8&lt;br /&gt;
| 20 V&lt;br /&gt;
| 0 - 30 V&lt;br /&gt;
| 18 - 30 %&lt;br /&gt;
| 100 mA&lt;br /&gt;
| 1 MBit/s&lt;br /&gt;
| Dual-channel: HCPL2530, HCPL2531&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 6N137&lt;br /&gt;
| DIP8&lt;br /&gt;
| &lt;br /&gt;
| 4,5 - 5,5 V&lt;br /&gt;
| &lt;br /&gt;
| 15 mA&lt;br /&gt;
| 10 MBit/s&lt;br /&gt;
|&lt;br /&gt;
| R&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FOD060&lt;br /&gt;
| DIP8, SMT8&lt;br /&gt;
| &lt;br /&gt;
| 3,0 - 5,5 V&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 10 MBit/s&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Typen mit Transistorausgang ===&lt;br /&gt;
&lt;br /&gt;
* CNY17/x: 1-fach Koppler im DIL6-Gehäuse &lt;br /&gt;
* PC817-Serie: 1-,2-,3- und 4-fachTyp verfügbar, CTR: 50%, 80 kHz&lt;br /&gt;
* 6N135, 6N136: 1-fach Typ, DIL8, Highspeed 1 MBit/s&lt;br /&gt;
* 6N138, Darlingtonausgang mit hohem CTR&lt;br /&gt;
&lt;br /&gt;
=== Typen mit Triacausgang === &lt;br /&gt;
&lt;br /&gt;
* IL4218 TRIAC DRIVER OPTOCOUPLER&lt;br /&gt;
* MOC3020 6-Pin DIP Random-Phase Optoisolators Triac Driver Output 400 V&lt;br /&gt;
* MOC3052 6-Pin DIP Random-Phase Optoisolators Triac Drivers 600 V&lt;br /&gt;
* MOC306x 6-Pin DIP Zero-Cross Optoisolators Triac Driver Output 600 V&lt;br /&gt;
&lt;br /&gt;
=== Typen mit MOSFET ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.panasonic-electric-works.com/peweu/en/html/photomos.php PhotoMOS Relais bei Panasonic]&lt;br /&gt;
&lt;br /&gt;
=== Lineare Optokoppler ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.avagotech.com/products/parametric/optocouplers/optocouplers_-_plastic/plastic_high_linearity_analog_optocoupler/ Avago HCNR-200/201]&lt;br /&gt;
* [http://www.vishay.com/optocouplers/opto-linear/ Vishay IL300]&lt;br /&gt;
&lt;br /&gt;
=== Vollintegrierte Optokoppler ===&lt;br /&gt;
&lt;br /&gt;
* 6N137: 1-fach Typ, DIL8, Highspeed 10 Mbit/s&lt;br /&gt;
* HCPL 2630: 2-fach Typ, DIL8, Highspeed 10 Mbit/s&lt;br /&gt;
&lt;br /&gt;
=== Alternative Technologien ===&lt;br /&gt;
&lt;br /&gt;
* Für höhere Geschwindigkeiten bietet z.&amp;amp;nbsp;B. Analog Devices recht teure [http://www.analog.com/en/interface/digital-isolators/products/index.html Digital Isolators] an, genannt &#039;&#039;&#039;iCoupler&#039;&#039;&#039; und von Texas Instruments die [http://focus.ti.com/paramsearch/docs/parametricsearch.tsp?family=analog&amp;amp;familyId=897&amp;amp;uiTemplateId=NODE_STRY_PGE_T ISO Koppler] auf kapazitiver Basis.&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&lt;br /&gt;
* [[I2C-Schaltmodul]] mit Optokoppler MOC3040 zur galvanischen Trennung von [[I2C]]-[[Bus]] und 230 Volt Netzspannung.&lt;br /&gt;
&lt;br /&gt;
[[Category:Bauteile]]&lt;br /&gt;
[[Category:Datenübertragung]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Optokoppler&amp;diff=82058</id>
		<title>Optokoppler</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Optokoppler&amp;diff=82058"/>
		<updated>2014-03-14T12:33:42Z</updated>

		<summary type="html">&lt;p&gt;Energizer: Liste&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
Optokoppler dienen zur Kopplung elektronischer Schaltungen mit Hilfe von Lichtenergie. In einem Optokoppler befindet sich ein Lichtsender ([[LED]], meist Infrarot) und ein Lichtempfänger (z.&amp;amp;nbsp;B. [[Lichtsensor / Helligkeitssensor|Fototransistor]]), welche durch einen sehr kurzen Lichtleiter verbunden sind. Die elektrische (galvanische) Trennung zwischen Eingang und Ausgang ermöglicht Kopplung von Schaltungen sehr unterschiedlichen Spannungsniveaus. Das ist notwendig bei gefährlich hohen Spannungen, störverseuchten Umgebungen oder zur Verhinderung von Masseschleifen. Neben Optokopplern mit Fototransistoren als Lichtempfänger gibt es Typen mit Fotodioden oder Triacs. Typen mit Photodioden sind dabei wesentlich schneller als Transistor- und Triactypen. Ausserdem gibt es noch komplett integrierte Typen, welche ohne weitere Beschaltung wie ein normaler digitaler IC verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
Die meisten Optokoppler sind nur für digitale Signale nutzbar. Zur elektrischen Trennung von analogen Signalen eignen sich spezielle Optokoppler. Diese haben meist zwei Photoempfänger, meist Photodioden. Eine Photodiode dient als [[Galvanische Trennung | galvanisch getrennter Ausgang]], die Zweite als Vergleichsausgang zur Kompensation von Unlinearitäten, Drift- und Alterungseffekten. Durch diese lässt sich eine Regelung aufbauen die die Vergleichsspannung proportional zur Eingangsspannung einstellt. Dadurch ist die Übertragungsfunktion des Optokopplers als linear anzusehen. Daher wird im Zusammenhang mit analogen Optokopplern häufig auch von linearen Optokopplern gesprochen. Für gemäßigte Ansprüche kann man aber auch mit normalen, digitalen Optokopplern analoge Signale übertragen.&lt;br /&gt;
&lt;br /&gt;
== Beschaltung ==&lt;br /&gt;
&lt;br /&gt;
Optokoppler sind relativ leicht nutzbar. Sie bieten ausserdem die Möglichkeit, das Signal bei der Übertragung zu invertieren. Nachfolgend sind drei Grundschaltungen gezeigt. Links nichtinvertierend, in der Mitte mit Invertierung am Eingang und rechts mit Invertierung am Ausgang, das ist die häufigste Schaltung.&lt;br /&gt;
&lt;br /&gt;
[[bild:optokoppler_grundschaltungen.png]]&lt;br /&gt;
&lt;br /&gt;
Wie berechnet man nun die Widerstände für die [[LED]] und den [[Transistor]] am Ausgang? Recht einfach. Zunächst muss man den Strom durch die LED festlegen, hier hilft auch das Datenblatt. Typische Werte liegen zwischen 5-20mA. Die Berechnung des Vorwiderstands erfolgt gemäß Beschreibung im Artikel [[LED]], wobei die Flußspannung meist 1,2-1,5V beträgt. Der Arbeitswiderstand am Ausgang berechnet sich wie folgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; R_A = \frac{Vcc \cdot SF}{I_{LED} \cdot CTR }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* R_A : Arbeitswiderstand&lt;br /&gt;
* Vcc: Betriebsspannung am Ausgang&lt;br /&gt;
* CTR: Stromübertragungsfaktor (engl. &#039;&#039;&#039;C&#039;&#039;&#039;urrent &#039;&#039;&#039;T&#039;&#039;&#039;ransfer &#039;&#039;&#039;R&#039;&#039;&#039;atio)&lt;br /&gt;
* SF: Sicherheitsfaktor&lt;br /&gt;
&lt;br /&gt;
Dabei muss man im Datenblatt nach dem &#039;&#039;&#039;minimalen&#039;&#039;&#039; CTR suchen, der ist abhängig von dem speziellen Typ, Temperatur und ggf. vom LED-Strom. Als Sicherheitsfaktor sollte man mindestens 2 wählen, weil die gängige Definition der Lebensdauer einer LED bzw. Optokopplers auf die halbe optische Leistung ausgelegt ist. Wenn man die LED jedoch deutlich unter dem Nennstrom betreibt (50% und weniger), erhöht sich die Lebensdauer beachtlich, Faktor 10 und mehr ist möglich. Praktisch wird man einen Sicherheitsfaktor zwischen 2-5 wählen.&lt;br /&gt;
Aber auch hier muss man Kompromisse eingehen. Denn um die maximale Geschwindigkeit eines Optokopplers zu erreichen, muss man meist mit Nennstrom und minimalem Arbeitswiderstand arbeiten. Hier sind dann die High Speed Optokoppler mit aktivem Empfänger und Verstärker deutlich im Vorteil (z.B. 6N137). Bei Optokopplern mit Transistorausgang und herausgeführtem Basisanschluß kann man durch einen passenden Widerstand zwischen Basis und Emitter vor allem die Abschaltgeschwindigkeit deutlich steigen, allerdings auf Kosten der Empfindlichkeit.&lt;br /&gt;
&lt;br /&gt;
== Standardtypen == &lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;transistors-npn&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
! Bezeichnung&lt;br /&gt;
! Gehäuse&lt;br /&gt;
! Vce-max&lt;br /&gt;
| Vsupply&lt;br /&gt;
! CTR&lt;br /&gt;
! Iout&lt;br /&gt;
! Geschwindigkeit&lt;br /&gt;
! Bemerkung&lt;br /&gt;
! Lieferant&lt;br /&gt;
! Datenblatt&lt;br /&gt;
|-&lt;br /&gt;
| 4N35, 4N36, 4N37&lt;br /&gt;
| DIP6, DCJ6&lt;br /&gt;
| 30 V&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
| 100 mA&lt;br /&gt;
| ton/off 7 µs&lt;br /&gt;
| &lt;br /&gt;
| R&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 6N135, 6N136, HCPL2503, HCPL4502&lt;br /&gt;
| DIP8&lt;br /&gt;
| 20 V&lt;br /&gt;
| 0 - 30 V&lt;br /&gt;
| 18 - 30 %&lt;br /&gt;
| 100 mA&lt;br /&gt;
| 1 MBit/s&lt;br /&gt;
| Dual-channel: HCPL2530, HCPL2531&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 6N137&lt;br /&gt;
| DIP8&lt;br /&gt;
| &lt;br /&gt;
| 4,5 - 5,5 V&lt;br /&gt;
| &lt;br /&gt;
| 15 mA&lt;br /&gt;
| 10 MBit/s&lt;br /&gt;
|&lt;br /&gt;
| R&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FOD060&lt;br /&gt;
| DIP8, SMT8&lt;br /&gt;
| &lt;br /&gt;
| 3,0 - 5,5 V&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 10 MBit/s&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Typen mit Transistorausgang ===&lt;br /&gt;
&lt;br /&gt;
* CNY17/x: 1-fach Koppler im DIL6-Gehäuse &lt;br /&gt;
* PC817-Serie: 1-,2-,3- und 4-fachTyp verfügbar, CTR: 50%, 80 kHz&lt;br /&gt;
* 6N135, 6N136: 1-fach Typ, DIL8, Highspeed 1 MBit/s&lt;br /&gt;
* 6N138, Darlingtonausgang mit hohem CTR&lt;br /&gt;
&lt;br /&gt;
=== Typen mit Triacausgang === &lt;br /&gt;
&lt;br /&gt;
* IL4218 TRIAC DRIVER OPTOCOUPLER&lt;br /&gt;
* MOC3020 6-Pin DIP Random-Phase Optoisolators Triac Driver Output 400 V&lt;br /&gt;
* MOC3052 6-Pin DIP Random-Phase Optoisolators Triac Drivers 600 V&lt;br /&gt;
* MOC306x 6-Pin DIP Zero-Cross Optoisolators Triac Driver Output 600 V&lt;br /&gt;
&lt;br /&gt;
=== Typen mit MOSFET ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.panasonic-electric-works.com/peweu/en/html/photomos.php PhotoMOS Relais bei Panasonic]&lt;br /&gt;
&lt;br /&gt;
=== Lineare Optokoppler ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.avagotech.com/products/parametric/optocouplers/optocouplers_-_plastic/plastic_high_linearity_analog_optocoupler/ Avago HCNR-200/201]&lt;br /&gt;
* [http://www.vishay.com/optocouplers/opto-linear/ Vishay IL300]&lt;br /&gt;
&lt;br /&gt;
=== Vollintegrierte Optokoppler ===&lt;br /&gt;
&lt;br /&gt;
* 6N137: 1-fach Typ, DIL8, Highspeed 10 Mbit/s&lt;br /&gt;
* HCPL 2630: 2-fach Typ, DIL8, Highspeed 10 Mbit/s&lt;br /&gt;
&lt;br /&gt;
=== Alternative Technologien ===&lt;br /&gt;
&lt;br /&gt;
* Für höhere Geschwindigkeiten bietet z.&amp;amp;nbsp;B. Analog Devices recht teure [http://www.analog.com/en/interface/digital-isolators/products/index.html Digital Isolators] an, genannt &#039;&#039;&#039;iCoupler&#039;&#039;&#039; und von Texas Instruments die [http://focus.ti.com/paramsearch/docs/parametricsearch.tsp?family=analog&amp;amp;familyId=897&amp;amp;uiTemplateId=NODE_STRY_PGE_T ISO Koppler] auf kapazitiver Basis.&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&lt;br /&gt;
* [[I2C-Schaltmodul]] mit Optokoppler MOC3040 zur galvanischen Trennung von [[I2C]]-[[Bus]] und 230 Volt Netzspannung.&lt;br /&gt;
&lt;br /&gt;
[[Category:Bauteile]]&lt;br /&gt;
[[Category:Datenübertragung]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_RFM12&amp;diff=81197</id>
		<title>AVR RFM12</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_RFM12&amp;diff=81197"/>
		<updated>2014-01-28T10:57:21Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Schaltungen und Software für AVR und das Funkmodul [[RFM12]].&lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
&lt;br /&gt;
svn://mikrocontroller.net/rfm12 (siehe auch: http://www.mikrocontroller.net/svn/list)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== Treiber ===&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/attachment/22473/rfm12_pc.zip Firmware v1.0.0] von Benedikt K.&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/attachment/23542/RMxx_Driver.tar.bz2 Firmware v2.0.1] von Jürgen Eckert&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+ Funktionalität&lt;br /&gt;
|-&lt;br /&gt;
!  || Beschreibung || Software&lt;br /&gt;
|-&lt;br /&gt;
!1. Stufe:&lt;br /&gt;
| 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)&lt;br /&gt;
| [http://www.mikrocontroller.net/topic/67273#564945 Claude Schwarz], [http://www.mikrocontroller.net/topic/71682#584915 Benedikt K.] oder [http://www.mikrocontroller.net/attachment/36742/RFM12_V3.zip Manuel Stahl]&lt;br /&gt;
|-&lt;br /&gt;
! 2. Stufe:&lt;br /&gt;
| Es findet eine Fehlererkennung (z.&amp;amp;nbsp;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.&lt;br /&gt;
| [http://www.mikrocontroller.net/topic/71682#585851 Benedikt K.]&lt;br /&gt;
|-&lt;br /&gt;
! 3. Stufe:&lt;br /&gt;
| Die Datenübertragung wird individualisiert. Dadurch können zwei Funkstrecken, die im gleichen Empfangsbereich liegen nebeneinander arbeiten, ohne sich zu beeinträchtigen.&lt;br /&gt;
| [[RFM12_Protokoll_Stack]]&lt;br /&gt;
|-&lt;br /&gt;
! 4. Stufe: &lt;br /&gt;
| Die Datenübertragung wird verschlüsselt und damit abhörsicher.&lt;br /&gt;
| [http://ethersex.de/index.php/OpenVPN ethersex OpenVPN]&lt;br /&gt;
|-&lt;br /&gt;
!5. Stufe:&lt;br /&gt;
| Neben den Daten der seriellen Schnittstelle werden auch Änderungen der Statusleitungen übertragen. Damit erhält man eine &amp;quot;RS232-Verlängerung&amp;quot; über eine Funkstrecke, die fehlerfrei arbeitet und zu einer Drahtverbindung weitestgehend kompatibel ist.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== RS232 &amp;lt;-&amp;gt; RFM12 ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== USB &amp;lt;-&amp;gt; RFM12 ===&lt;br /&gt;
&lt;br /&gt;
Mit [http://www.obdev.at/vusb/ V-USB] lässt sich ein USB-Slave in Software emulieren.&lt;br /&gt;
&lt;br /&gt;
* [http://www.recursion.jp/avrcdc/ AVR-CDC] läuft mit Anpassung der USB-Pins. &#039;&#039;(Zumindest unter Windows an einem USB2.0-Port)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adapter für [http://www.embedded-projects.net/?page_id=135 USBprog]:&lt;br /&gt;
&lt;br /&gt;
* Funktionierender Code liegt im oben genannten SVN&lt;br /&gt;
* Implementiert die USB-CDC-Klasse (kein Treiber nötig)&lt;br /&gt;
* Sicherung der Übertragung durch Hamming-Code&lt;br /&gt;
* Work in progress... (Manuel Stahl)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Alternative rfm12lib ===&lt;br /&gt;
rfm12lib von das-labor.org&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
* Ein einfaches Paketformat, bestehend aus:&lt;br /&gt;
** Einem 8-bit (0..255) Pakettyp- oder Adress-feld&lt;br /&gt;
** Paketlänge bis zu 255 Bytes&lt;br /&gt;
** Eine simple Header Checksumme&lt;br /&gt;
* Interrupt oder Polling basierte Datenübertragung&lt;br /&gt;
* Verschiedene Frequenzbänder, abhängig von dem verwendeten Modul (433, 868 und 915 MHz)&lt;br /&gt;
* Collision avoidance (carrier sense)&lt;br /&gt;
* Synchronisierungsfunktion beim Datenempfang&lt;br /&gt;
* Hardware oder software SPI&lt;br /&gt;
* Nur-Sende-Modus, zum verkleinern der binaries&lt;br /&gt;
* Grundlegende ASK (amplitude shift keying) empfangs und sende Funktionalität (Für Funksteckdosen aus dem Baumarkt und ähnlichem)&lt;br /&gt;
* Low-battery detector (funktion des RFM12)&lt;br /&gt;
* Low-power Wakeup timer (funktion des RFM12)&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
* [http://www.das-labor.org/wiki/RFM12_library Projektseite]&lt;br /&gt;
* [http://www.das-labor.org/LaborLibTrac/browser/rfm12 Code im SVN]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Alternative myrfm12 ===&lt;br /&gt;
&lt;br /&gt;
ACHTUNG: Links führen auf Phishing Seite!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
myrfm12 von mydani&lt;br /&gt;
&lt;br /&gt;
Download:&lt;br /&gt;
http://www. mydani. com/dl/myrfm12/&lt;br /&gt;
&lt;br /&gt;
Dokumentation:&lt;br /&gt;
http://www. mydani. com/dl/myrfm12/help&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Basismodul V1.0 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prozessor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
ATmega8 TQFP32 (kompatibel ATmega48, ATmega88, ATmega168)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schnittstellen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* RS232&lt;br /&gt;
* I²C:&lt;br /&gt;
* USB&lt;br /&gt;
* GPIO&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Platine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Bild:AVR RFM12 Schematic.png|200px|ATmega48 + USB]]&lt;br /&gt;
[[Bild:AVR RFM12 Board TOP.png|220px|2-lagig top]]&lt;br /&gt;
[[Bild:AVR RFM12 Board BOTTOM.png|240px|2-lagig bottom]]&lt;br /&gt;
[[Bild:AVR_RFM12_Photo.jpg|240px|Photo]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; border-right:1px solid gray; padding-right:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Bauteile:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Größe: SMD 0603&lt;br /&gt;
&lt;br /&gt;
* R1, R2: 68R (nur USB)&lt;br /&gt;
* R3, R4: 10k&lt;br /&gt;
* R5: 1k5 (nur USB)&lt;br /&gt;
* C1, C2: 22pF&lt;br /&gt;
* C3 - C9: 100nF&lt;br /&gt;
* Q1: 12Mhz (nur USB)&lt;br /&gt;
* D1, D2: beliebig, Minimelf&lt;br /&gt;
* IC3: MAX3221CUE&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; border-right:1px solid gray; padding: 0px 0px 10px 10px; width:33%&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Kosten:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* MiniUSB SMD: &#039;&#039;&#039;1,25€&#039;&#039;&#039;&lt;br /&gt;
* HF-Buchse MMCX: &#039;&#039;&#039;4,25€&#039;&#039;&#039;&lt;br /&gt;
* ATmega48: &#039;&#039;&#039;2,85€&#039;&#039;&#039;&lt;br /&gt;
* MAX3221CUE: &#039;&#039;&#039;1,10€&#039;&#039;&#039;&lt;br /&gt;
* Quarz 12Mhz 30ppm: &#039;&#039;&#039;1,19€&#039;&#039;&#039;&lt;br /&gt;
* Kleinkram: &#039;&#039;&#039;&amp;lt; 1,10€&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* habe ein verbindliches Angebot für 24 Stück von http://mme-pcb.de/: &#039;&#039;&#039;4,00€ pro Platine&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; padding: 0px 0px 10px 10px; width:33%&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Bugs / Erweiterungen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Der 1,5k Widerstand muss direkt an den VCC-Pin angelötet werden (Pad ist nicht verbunden)&lt;br /&gt;
* Beim Fertigen wurde das Polygon, welches das VCC-Signal durch die eine Ecke des ATmega48 leitet, unterbrochen. Hier hilft nur eine Drahtbrücke.&lt;br /&gt;
* Unter den RFM12 und unter den Quarz am Besten Isolierband kleben!&lt;br /&gt;
* Beim Programmieren sollte der SEL des RFM12 (J1 der zweite Pin vom RS232 aus) auf VCC gelegt werden&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/attachment/24012/RFM12.brd Board (Eagle)]:&lt;br /&gt;
&lt;br /&gt;
[[Bild:AVR RFM12 Board top bestuecken.png|200px|top]]&lt;br /&gt;
[[Bild:Board bottom bestuecken.png|200px|bottom]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashcraft Funkboard ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eine Funklösung mit dem RFM12 bietet das &#039;&#039;&#039;Open Source&#039;&#039;&#039; Flashcraft Funkboard von Florian Scherb.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Flashcraft_funkboard_pic.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Das Projekt enthält&#039;&#039;&#039;&lt;br /&gt;
* Funkboard Platine&lt;br /&gt;
* Code für AVR&lt;br /&gt;
* PC Terminalprogramm&lt;br /&gt;
* Dokumentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Überblick:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Über 60 Seiten starke Dokumentation&lt;br /&gt;
# PC Terminalprogramm zum Testen und Konfigurieren&lt;br /&gt;
# Abmessungen: 32x34mm, Montage durch 2 Stiftleisten im 2,54mm Raster&lt;br /&gt;
# ATmega32 übernimmt komplette Ansteuerung&lt;br /&gt;
# 3 Schnittstellen sind vorgesehen: I2C, SPI, UART (derzeit nur UART)&lt;br /&gt;
# SMA-Antennenanschluss&lt;br /&gt;
# Stromaufnahme: 40mA im normalen Betrieb, 2 Schlafmodi mit Stromverbrauch bis min. 25µA!&lt;br /&gt;
# Betriebsspannungsbereich von 3,2 - 5,4V (mit ATmega32L)&lt;br /&gt;
# 5V oder 3V Spannungsregler onBoard! Direkter Batteriebetrieb möglich; Kann externe Schaltung versorgen! &lt;br /&gt;
# uvm.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Außerdem:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Unterstützt Funknetzwerk mit bis zu 125 Modulen!&lt;br /&gt;
# Kontrolle über fast alle Konfigurationen, direkt im Betrieb änderbar, kein Umprogrammieren notwendig!&lt;br /&gt;
# Zahlreiche Sicherheitsfeatures wie Acknowledge, CRCs,...&lt;br /&gt;
# RS232-Treiberbaustein MAX3221 onBoard. Damit TTL- und RS232-UART möglich&lt;br /&gt;
# Clock Takt am Funkboard abgreifbar, z.&amp;amp;nbsp;B. für externen Mikrocontroller&lt;br /&gt;
# Totzeiten ca. 1,5 Millisekunden beim Wechsel zwischen Sende- und Empfangsbetrieb&lt;br /&gt;
# uvm. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schaltpläne, Board-Layout, Sourcecodes und andere Files sind auf der &amp;lt;s&amp;gt;[http://flashcraft.de/index.php/funkboard-uebersicht Homepage]&amp;lt;/s&amp;gt; des Funkboard-Projekts verfügbar.&#039;&#039;&#039; &amp;lt;br/&amp;gt;&lt;br /&gt;
Die Seite ist schon längere Zeit offline. Die Dateien inkl. Dokumentation gibt es weiterhin hier: [http://www.mikrocontroller.net/attachment/57372/Flashcraft.zip]&lt;br /&gt;
&lt;br /&gt;
Diskussionen zum Projekt gibt es im [http://www.mikrocontroller.net/topic/115542 Forums-Thread auf µc.net] und im [http://www.roboternetz.de/community/threads/39028-Nachbaubares-Funkmodul-auf-Basis-des-RFM12 Thread auf Roboternetz.de vom Erbauer].&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== USBprogRFM12 ===&lt;br /&gt;
&lt;br /&gt;
Da der USBprog genau das SPI-Interface des ATmega32 zur Verfügung stellt, eignet er sich perfekt als USB-RFM12-Adapter.&lt;br /&gt;
&lt;br /&gt;
[[Bild:USBprogRFM12_schematic.png|200px|USBprogRFM12]] [[Bild:USBprogRFM12_board.png|200px|USBprogRFM12]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:USBprogRFM12.jpg|400px|USBprogRFM12]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=== RF SOAP ===&lt;br /&gt;
&lt;br /&gt;
→ &#039;&#039;Hauptartikel: [[RF SOAP]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kompakte Leiterplatte mit RFM12, ATmega88, FT232 für USB und LiPo Akku&lt;br /&gt;
&lt;br /&gt;
[[Bild:RealSoap.jpg|200px]]&lt;br /&gt;
[[Bild:PovTop.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== RN-AVR Universal===&lt;br /&gt;
Universelle Leiterplatte mit RFM12 Modulplatz. Da die Platine auch zerteilbar ist, lassen sich sowohl kompakte Header-Boards, Module als auch große Europaformat Projekte damit schnell erstellen.&lt;br /&gt;
Die Platine arbeitet mit 3,3V Spannungsregler und dem stromsparendem AVR Mega 644, ist dadurch ideal für Batteriebetrieb.&lt;br /&gt;
[http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=248 Bezugsquelle]&lt;br /&gt;
&lt;br /&gt;
http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/rnavruniversal/AVR-Universal_aufgebaut_390.jpg&lt;br /&gt;
&lt;br /&gt;
http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/rnavruniversal/AVR-Universal_Huckepack_390.jpg&lt;br /&gt;
&lt;br /&gt;
=== RN-MikroFunk ===&lt;br /&gt;
Ein besonders kleines ATMega328 Controllerboard mit dem neueren RFM12b auf der Unterseite.Der Schwerpunkt dieses kleinen Contollerboards ist die Entwicklung von Fernsteuerungen, funkgesteuerten Aktoren, Sensoren beispielsweise für Robotik, Alarmanlagen, Haussteuerungen und ähnliche Aufgaben.&lt;br /&gt;
Durch die sehr kompakte Größe von nur 29x45mm (kleiner als eine Streichholzschachtel) kann das Board vielfältig eingesetzt werden, es passt fast überall rein. &lt;br /&gt;
Bei der Entwicklung wurde besonders darauf geachtet das das Board einen sehr geringen Strombedarf hat. Dadurch ergeben sich mit 2 bis 3 Mignonzellen, je nach Anwendung und Einsatz der Sleepmodis, theoretisch Batterielaufzeiten bis zu mehren Jahren.&lt;br /&gt;
Für dieses Board wird auch eine Platine und Bausatz angeboten.&lt;br /&gt;
Eien umfangreiche Projektbeschreibung mit Schaltplan und vielen Beispielprogrammen (Bascom) als PDF-Verfügbar&lt;br /&gt;
&lt;br /&gt;
==== Projektbeschreibung / Schaltplan / Bestückungsplan ====&lt;br /&gt;
* [http://www.roboternetz.de/community/threads/61006-RN-MikroFunk-Fertiges-Projekt-eines-Miniaturboards-inkl-Funkmodul-RFM12b Roboternetz-Projektseite mit Projektbeschreibung als PDF]&lt;br /&gt;
&lt;br /&gt;
* [http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=266 Bezugsquelle Platine oder Bausatz]&lt;br /&gt;
&lt;br /&gt;
==== Ein paar Fotos ====&lt;br /&gt;
&lt;br /&gt;
http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/RN_MikroFunk/RN_MikroFunk_2361_390px.jpg&lt;br /&gt;
&lt;br /&gt;
http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/RN_MikroFunk/RN_MikroFunk_2382_390px.jpg&lt;br /&gt;
&lt;br /&gt;
http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/RN_MikroFunk/RN_MikroFunk_2383_390.jpg&lt;br /&gt;
&lt;br /&gt;
http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/RN_MikroFunk/rnmikrofunk2_390.jpg&lt;br /&gt;
&lt;br /&gt;
==== Die Features und ein paar Daten ====&lt;br /&gt;
&lt;br /&gt;
* leistungsfähiger Mikrocontroller ATMEGA 328P 8-Bit Mikrocontroller, Technologie, AVR RISC Architektur , Gehäuse TQFP-32, 32kB Flash / 2kB Ram / Eeprom 1kB / 6 PWM / 3 Timer / Uart / I2C / SPI&lt;br /&gt;
*1WIRE-Bus&lt;br /&gt;
* 8 Mhz Resonator für stabilen Takt&lt;br /&gt;
* frei programmierbar über Standard 6poligen ISP Anschluss&lt;br /&gt;
* kompakte Maße 45x29mm / passt in eine Streichholzschachtel !&lt;br /&gt;
* Batteriespannung von 3,4 bis 12 V – bei Überbrückung von SJ1 auch ab mit * niedrigen Spannungen von 2,5V bis 3,5V betreibbar beispielsweise als Batterie (Akku) geeignet: min. 2 Mignon Zellen oder 9V Block oder 1 Lithium Zelle 3V oder Knopfzelle 3V&lt;br /&gt;
* eingebaute 3,3V Stabilisierung (wahlweise überbrückbar)&lt;br /&gt;
* eingebauter digitaler Temperatursensor DS18S20 (wahlweise bestückbar)&lt;br /&gt;
* Die meisten I/O-Ports und AD-Ports stehen an Pin-Leisten zur freien Verfügung&lt;br /&gt;
* Messeingang für höhere Spannung (Standard bis 13,4V – Spannungsmessbereich kann durch Widerstände frei verändert werden)&lt;br /&gt;
* Zusätzliche Batteriespannungsüberwachung über AD-Port integriert&lt;br /&gt;
* Äußerst geringer Strombedarf durch sparsame Bauteile&lt;br /&gt;
** Strombedarf im &lt;br /&gt;
** Powerdown Modi mit schlafendem Funkmodul &#039;&#039;&#039;kleiner als 10uA&#039;&#039;&#039;&lt;br /&gt;
** Strombedarf aktiv – jedoch mit schlafendem Funkmodul nur ca. 0,1 bis 0,2 mA&lt;br /&gt;
** Strombedarf beim Empfang mit Funkmodul RFM12b nur ca. 15mA&lt;br /&gt;
** Strombedarf beim Senden mit Funkmodul RFM12b nur ca. 20mA&lt;br /&gt;
* zwei frei programmierbare Open Kollektor Schaltausgänge (bis 1A belastbar)&lt;br /&gt;
* RFM12 oder RFM12b Funkmodul kann direkt auf der Unterseite aufgelötet werden&lt;br /&gt;
* Hohe Funkreichweite (Siehe Datenblatt des Funkmodules)&lt;br /&gt;
* Beispiele für Interrupt gesteuertes Senden und Empfangen und Wake-Up Ausnutzung&lt;br /&gt;
* Funkkompatibel zu RN-AVR Universal (bei gleichem Funkmodul)&lt;br /&gt;
* Eagle–Library mit RN-MikroFunk auf DVD&lt;br /&gt;
* zahlreiche deutsche Beispielprogramme in Bascom Basic&lt;br /&gt;
* deutsche Anleitung fast 70 DIN A4 Seiten im PDF Format (erläutert auch die Programmierung des Funkmodules RFM12/b)&lt;br /&gt;
* Datenblättern zu Funkmodul und anderen Komponenten&lt;br /&gt;
&lt;br /&gt;
=== Raspy RFM ===&lt;br /&gt;
[[Datei:RaspberryRFM1.jpeg|200px|miniatur|rechts|Raspberry RFM Modul]]&lt;br /&gt;
[[Datei:RaspberryRFM2.jpeg|200px|miniatur|rechts|Modul auf dem Raspberry]]&lt;br /&gt;
[[Datei:RaspberryRFM3.jpeg|200px|miniatur|rechts|Modul mit Gummiantenne]]&lt;br /&gt;
[[Datei:RaspberryRFM4.jpeg|200px|miniatur|rechts]]&lt;br /&gt;
Aufsatzmodul für den Raspberry PI. Das RFM12 wird dabei direkt mit der SPI Schnittstelle des Raspberry verbunden. Es existiert ein Pythonmodul, mit dem z.B. Funkthermometer empfangen werden können.&lt;br /&gt;
==== Links ====&lt;br /&gt;
[http://www.seegel-systeme.de/index.php?page=funksensoren-am-raspberry-pi Seegel Systeme]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/65984 Allgemeine Diskussion]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/71682  bidirektionale RS232 Funkbrücke mit RFM12]&lt;br /&gt;
* [http://robotikhardware.de/download/RN-MikroFunk_1.7.pdf PDF mit u.a. sehr guter Dokumentation und Beispielen zu RFM12b]&lt;br /&gt;
* [http://www.das-labor.org/wiki/Datenfunk_mit_dem_AVR Datenfunk mit dem AVR] bei das-labor.org&lt;br /&gt;
* [http://jeelabs.net/projects/hardware/wiki/JeeNode JeeNode]&lt;br /&gt;
* [http://www.youtube.com/watch?v=cGtC7e44abA&amp;amp;feature=player_embedded Video zu neuem AVR Entwicklungsboard und Platine mit RFM12 Modulplatz]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]]&lt;br /&gt;
[[Kategorie:RFM12]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_RFM12&amp;diff=81195</id>
		<title>AVR RFM12</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_RFM12&amp;diff=81195"/>
		<updated>2014-01-28T10:53:19Z</updated>

		<summary type="html">&lt;p&gt;Energizer: Raspberry RFM&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Schaltungen und Software für AVR und das Funkmodul [[RFM12]].&lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
&lt;br /&gt;
svn://mikrocontroller.net/rfm12 (siehe auch: http://www.mikrocontroller.net/svn/list)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== Treiber ===&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/attachment/22473/rfm12_pc.zip Firmware v1.0.0] von Benedikt K.&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/attachment/23542/RMxx_Driver.tar.bz2 Firmware v2.0.1] von Jürgen Eckert&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+ Funktionalität&lt;br /&gt;
|-&lt;br /&gt;
!  || Beschreibung || Software&lt;br /&gt;
|-&lt;br /&gt;
!1. Stufe:&lt;br /&gt;
| 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)&lt;br /&gt;
| [http://www.mikrocontroller.net/topic/67273#564945 Claude Schwarz], [http://www.mikrocontroller.net/topic/71682#584915 Benedikt K.] oder [http://www.mikrocontroller.net/attachment/36742/RFM12_V3.zip Manuel Stahl]&lt;br /&gt;
|-&lt;br /&gt;
! 2. Stufe:&lt;br /&gt;
| Es findet eine Fehlererkennung (z.&amp;amp;nbsp;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.&lt;br /&gt;
| [http://www.mikrocontroller.net/topic/71682#585851 Benedikt K.]&lt;br /&gt;
|-&lt;br /&gt;
! 3. Stufe:&lt;br /&gt;
| Die Datenübertragung wird individualisiert. Dadurch können zwei Funkstrecken, die im gleichen Empfangsbereich liegen nebeneinander arbeiten, ohne sich zu beeinträchtigen.&lt;br /&gt;
| [[RFM12_Protokoll_Stack]]&lt;br /&gt;
|-&lt;br /&gt;
! 4. Stufe: &lt;br /&gt;
| Die Datenübertragung wird verschlüsselt und damit abhörsicher.&lt;br /&gt;
| [http://ethersex.de/index.php/OpenVPN ethersex OpenVPN]&lt;br /&gt;
|-&lt;br /&gt;
!5. Stufe:&lt;br /&gt;
| Neben den Daten der seriellen Schnittstelle werden auch Änderungen der Statusleitungen übertragen. Damit erhält man eine &amp;quot;RS232-Verlängerung&amp;quot; über eine Funkstrecke, die fehlerfrei arbeitet und zu einer Drahtverbindung weitestgehend kompatibel ist.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== RS232 &amp;lt;-&amp;gt; RFM12 ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== USB &amp;lt;-&amp;gt; RFM12 ===&lt;br /&gt;
&lt;br /&gt;
Mit [http://www.obdev.at/vusb/ V-USB] lässt sich ein USB-Slave in Software emulieren.&lt;br /&gt;
&lt;br /&gt;
* [http://www.recursion.jp/avrcdc/ AVR-CDC] läuft mit Anpassung der USB-Pins. &#039;&#039;(Zumindest unter Windows an einem USB2.0-Port)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adapter für [http://www.embedded-projects.net/?page_id=135 USBprog]:&lt;br /&gt;
&lt;br /&gt;
* Funktionierender Code liegt im oben genannten SVN&lt;br /&gt;
* Implementiert die USB-CDC-Klasse (kein Treiber nötig)&lt;br /&gt;
* Sicherung der Übertragung durch Hamming-Code&lt;br /&gt;
* Work in progress... (Manuel Stahl)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Alternative rfm12lib ===&lt;br /&gt;
rfm12lib von das-labor.org&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
* Ein einfaches Paketformat, bestehend aus:&lt;br /&gt;
** Einem 8-bit (0..255) Pakettyp- oder Adress-feld&lt;br /&gt;
** Paketlänge bis zu 255 Bytes&lt;br /&gt;
** Eine simple Header Checksumme&lt;br /&gt;
* Interrupt oder Polling basierte Datenübertragung&lt;br /&gt;
* Verschiedene Frequenzbänder, abhängig von dem verwendeten Modul (433, 868 und 915 MHz)&lt;br /&gt;
* Collision avoidance (carrier sense)&lt;br /&gt;
* Synchronisierungsfunktion beim Datenempfang&lt;br /&gt;
* Hardware oder software SPI&lt;br /&gt;
* Nur-Sende-Modus, zum verkleinern der binaries&lt;br /&gt;
* Grundlegende ASK (amplitude shift keying) empfangs und sende Funktionalität (Für Funksteckdosen aus dem Baumarkt und ähnlichem)&lt;br /&gt;
* Low-battery detector (funktion des RFM12)&lt;br /&gt;
* Low-power Wakeup timer (funktion des RFM12)&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
* [http://www.das-labor.org/wiki/RFM12_library Projektseite]&lt;br /&gt;
* [http://www.das-labor.org/LaborLibTrac/browser/rfm12 Code im SVN]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Alternative myrfm12 ===&lt;br /&gt;
&lt;br /&gt;
ACHTUNG: Links führen auf Phishing Seite!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
myrfm12 von mydani&lt;br /&gt;
&lt;br /&gt;
Download:&lt;br /&gt;
http://www. mydani. com/dl/myrfm12/&lt;br /&gt;
&lt;br /&gt;
Dokumentation:&lt;br /&gt;
http://www. mydani. com/dl/myrfm12/help&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Basismodul V1.0 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prozessor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
ATmega8 TQFP32 (kompatibel ATmega48, ATmega88, ATmega168)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schnittstellen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* RS232&lt;br /&gt;
* I²C:&lt;br /&gt;
* USB&lt;br /&gt;
* GPIO&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Platine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Bild:AVR RFM12 Schematic.png|200px|ATmega48 + USB]]&lt;br /&gt;
[[Bild:AVR RFM12 Board TOP.png|220px|2-lagig top]]&lt;br /&gt;
[[Bild:AVR RFM12 Board BOTTOM.png|240px|2-lagig bottom]]&lt;br /&gt;
[[Bild:AVR_RFM12_Photo.jpg|240px|Photo]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; border-right:1px solid gray; padding-right:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Bauteile:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Größe: SMD 0603&lt;br /&gt;
&lt;br /&gt;
* R1, R2: 68R (nur USB)&lt;br /&gt;
* R3, R4: 10k&lt;br /&gt;
* R5: 1k5 (nur USB)&lt;br /&gt;
* C1, C2: 22pF&lt;br /&gt;
* C3 - C9: 100nF&lt;br /&gt;
* Q1: 12Mhz (nur USB)&lt;br /&gt;
* D1, D2: beliebig, Minimelf&lt;br /&gt;
* IC3: MAX3221CUE&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; border-right:1px solid gray; padding: 0px 0px 10px 10px; width:33%&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Kosten:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* MiniUSB SMD: &#039;&#039;&#039;1,25€&#039;&#039;&#039;&lt;br /&gt;
* HF-Buchse MMCX: &#039;&#039;&#039;4,25€&#039;&#039;&#039;&lt;br /&gt;
* ATmega48: &#039;&#039;&#039;2,85€&#039;&#039;&#039;&lt;br /&gt;
* MAX3221CUE: &#039;&#039;&#039;1,10€&#039;&#039;&#039;&lt;br /&gt;
* Quarz 12Mhz 30ppm: &#039;&#039;&#039;1,19€&#039;&#039;&#039;&lt;br /&gt;
* Kleinkram: &#039;&#039;&#039;&amp;lt; 1,10€&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* habe ein verbindliches Angebot für 24 Stück von http://mme-pcb.de/: &#039;&#039;&#039;4,00€ pro Platine&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; padding: 0px 0px 10px 10px; width:33%&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Bugs / Erweiterungen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Der 1,5k Widerstand muss direkt an den VCC-Pin angelötet werden (Pad ist nicht verbunden)&lt;br /&gt;
* Beim Fertigen wurde das Polygon, welches das VCC-Signal durch die eine Ecke des ATmega48 leitet, unterbrochen. Hier hilft nur eine Drahtbrücke.&lt;br /&gt;
* Unter den RFM12 und unter den Quarz am Besten Isolierband kleben!&lt;br /&gt;
* Beim Programmieren sollte der SEL des RFM12 (J1 der zweite Pin vom RS232 aus) auf VCC gelegt werden&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/attachment/24012/RFM12.brd Board (Eagle)]:&lt;br /&gt;
&lt;br /&gt;
[[Bild:AVR RFM12 Board top bestuecken.png|200px|top]]&lt;br /&gt;
[[Bild:Board bottom bestuecken.png|200px|bottom]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashcraft Funkboard ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eine Funklösung mit dem RFM12 bietet das &#039;&#039;&#039;Open Source&#039;&#039;&#039; Flashcraft Funkboard von Florian Scherb.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Flashcraft_funkboard_pic.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Das Projekt enthält&#039;&#039;&#039;&lt;br /&gt;
* Funkboard Platine&lt;br /&gt;
* Code für AVR&lt;br /&gt;
* PC Terminalprogramm&lt;br /&gt;
* Dokumentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Überblick:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Über 60 Seiten starke Dokumentation&lt;br /&gt;
# PC Terminalprogramm zum Testen und Konfigurieren&lt;br /&gt;
# Abmessungen: 32x34mm, Montage durch 2 Stiftleisten im 2,54mm Raster&lt;br /&gt;
# ATmega32 übernimmt komplette Ansteuerung&lt;br /&gt;
# 3 Schnittstellen sind vorgesehen: I2C, SPI, UART (derzeit nur UART)&lt;br /&gt;
# SMA-Antennenanschluss&lt;br /&gt;
# Stromaufnahme: 40mA im normalen Betrieb, 2 Schlafmodi mit Stromverbrauch bis min. 25µA!&lt;br /&gt;
# Betriebsspannungsbereich von 3,2 - 5,4V (mit ATmega32L)&lt;br /&gt;
# 5V oder 3V Spannungsregler onBoard! Direkter Batteriebetrieb möglich; Kann externe Schaltung versorgen! &lt;br /&gt;
# uvm.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Außerdem:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Unterstützt Funknetzwerk mit bis zu 125 Modulen!&lt;br /&gt;
# Kontrolle über fast alle Konfigurationen, direkt im Betrieb änderbar, kein Umprogrammieren notwendig!&lt;br /&gt;
# Zahlreiche Sicherheitsfeatures wie Acknowledge, CRCs,...&lt;br /&gt;
# RS232-Treiberbaustein MAX3221 onBoard. Damit TTL- und RS232-UART möglich&lt;br /&gt;
# Clock Takt am Funkboard abgreifbar, z.&amp;amp;nbsp;B. für externen Mikrocontroller&lt;br /&gt;
# Totzeiten ca. 1,5 Millisekunden beim Wechsel zwischen Sende- und Empfangsbetrieb&lt;br /&gt;
# uvm. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schaltpläne, Board-Layout, Sourcecodes und andere Files sind auf der &amp;lt;s&amp;gt;[http://flashcraft.de/index.php/funkboard-uebersicht Homepage]&amp;lt;/s&amp;gt; des Funkboard-Projekts verfügbar.&#039;&#039;&#039; &amp;lt;br/&amp;gt;&lt;br /&gt;
Die Seite ist schon längere Zeit offline. Die Dateien inkl. Dokumentation gibt es weiterhin hier: [http://www.mikrocontroller.net/attachment/57372/Flashcraft.zip]&lt;br /&gt;
&lt;br /&gt;
Diskussionen zum Projekt gibt es im [http://www.mikrocontroller.net/topic/115542 Forums-Thread auf µc.net] und im [http://www.roboternetz.de/community/threads/39028-Nachbaubares-Funkmodul-auf-Basis-des-RFM12 Thread auf Roboternetz.de vom Erbauer].&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== USBprogRFM12 ===&lt;br /&gt;
&lt;br /&gt;
Da der USBprog genau das SPI-Interface des ATmega32 zur Verfügung stellt, eignet er sich perfekt als USB-RFM12-Adapter.&lt;br /&gt;
&lt;br /&gt;
[[Bild:USBprogRFM12_schematic.png|200px|USBprogRFM12]] [[Bild:USBprogRFM12_board.png|200px|USBprogRFM12]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:USBprogRFM12.jpg|400px|USBprogRFM12]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=== RF SOAP ===&lt;br /&gt;
&lt;br /&gt;
→ &#039;&#039;Hauptartikel: [[RF SOAP]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kompakte Leiterplatte mit RFM12, ATmega88, FT232 für USB und LiPo Akku&lt;br /&gt;
&lt;br /&gt;
[[Bild:RealSoap.jpg|200px]]&lt;br /&gt;
[[Bild:PovTop.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== RN-AVR Universal===&lt;br /&gt;
Universelle Leiterplatte mit RFM12 Modulplatz. Da die Platine auch zerteilbar ist, lassen sich sowohl kompakte Header-Boards, Module als auch große Europaformat Projekte damit schnell erstellen.&lt;br /&gt;
Die Platine arbeitet mit 3,3V Spannungsregler und dem stromsparendem AVR Mega 644, ist dadurch ideal für Batteriebetrieb.&lt;br /&gt;
[http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=248 Bezugsquelle]&lt;br /&gt;
&lt;br /&gt;
http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/rnavruniversal/AVR-Universal_aufgebaut_390.jpg&lt;br /&gt;
&lt;br /&gt;
http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/rnavruniversal/AVR-Universal_Huckepack_390.jpg&lt;br /&gt;
&lt;br /&gt;
=== RN-MikroFunk ===&lt;br /&gt;
Ein besonders kleines ATMega328 Controllerboard mit dem neueren RFM12b auf der Unterseite.Der Schwerpunkt dieses kleinen Contollerboards ist die Entwicklung von Fernsteuerungen, funkgesteuerten Aktoren, Sensoren beispielsweise für Robotik, Alarmanlagen, Haussteuerungen und ähnliche Aufgaben.&lt;br /&gt;
Durch die sehr kompakte Größe von nur 29x45mm (kleiner als eine Streichholzschachtel) kann das Board vielfältig eingesetzt werden, es passt fast überall rein. &lt;br /&gt;
Bei der Entwicklung wurde besonders darauf geachtet das das Board einen sehr geringen Strombedarf hat. Dadurch ergeben sich mit 2 bis 3 Mignonzellen, je nach Anwendung und Einsatz der Sleepmodis, theoretisch Batterielaufzeiten bis zu mehren Jahren.&lt;br /&gt;
Für dieses Board wird auch eine Platine und Bausatz angeboten.&lt;br /&gt;
Eien umfangreiche Projektbeschreibung mit Schaltplan und vielen Beispielprogrammen (Bascom) als PDF-Verfügbar&lt;br /&gt;
&lt;br /&gt;
=== Raspy RFM ===&lt;br /&gt;
[[Datei:RaspberryRFM1.jpeg|200px|miniatur|rechts|Raspberry RFM Modul]]&lt;br /&gt;
Aufsatzmodul für den Raspberry PI. Das RFM12 wird dabei direkt mit der SPI Schnittstelle des Raspberry verbunden. Es existiert ein Pythonmodul, mit dem z.B. Funkthermometer empfangen werden können.&lt;br /&gt;
&lt;br /&gt;
==== Projektbeschreibung / Schaltplan / Bestückungsplan ====&lt;br /&gt;
* [http://www.roboternetz.de/community/threads/61006-RN-MikroFunk-Fertiges-Projekt-eines-Miniaturboards-inkl-Funkmodul-RFM12b Roboternetz-Projektseite mit Projektbeschreibung als PDF]&lt;br /&gt;
&lt;br /&gt;
* [http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=266 Bezugsquelle Platine oder Bausatz]&lt;br /&gt;
&lt;br /&gt;
==== Ein paar Fotos ====&lt;br /&gt;
&lt;br /&gt;
http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/RN_MikroFunk/RN_MikroFunk_2361_390px.jpg&lt;br /&gt;
&lt;br /&gt;
http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/RN_MikroFunk/RN_MikroFunk_2382_390px.jpg&lt;br /&gt;
&lt;br /&gt;
http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/RN_MikroFunk/RN_MikroFunk_2383_390.jpg&lt;br /&gt;
&lt;br /&gt;
http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/RN_MikroFunk/rnmikrofunk2_390.jpg&lt;br /&gt;
&lt;br /&gt;
==== Die Features und ein paar Daten ====&lt;br /&gt;
&lt;br /&gt;
* leistungsfähiger Mikrocontroller ATMEGA 328P 8-Bit Mikrocontroller, Technologie, AVR RISC Architektur , Gehäuse TQFP-32, 32kB Flash / 2kB Ram / Eeprom 1kB / 6 PWM / 3 Timer / Uart / I2C / SPI&lt;br /&gt;
*1WIRE-Bus&lt;br /&gt;
* 8 Mhz Resonator für stabilen Takt&lt;br /&gt;
* frei programmierbar über Standard 6poligen ISP Anschluss&lt;br /&gt;
* kompakte Maße 45x29mm / passt in eine Streichholzschachtel !&lt;br /&gt;
* Batteriespannung von 3,4 bis 12 V – bei Überbrückung von SJ1 auch ab mit * niedrigen Spannungen von 2,5V bis 3,5V betreibbar beispielsweise als Batterie (Akku) geeignet: min. 2 Mignon Zellen oder 9V Block oder 1 Lithium Zelle 3V oder Knopfzelle 3V&lt;br /&gt;
* eingebaute 3,3V Stabilisierung (wahlweise überbrückbar)&lt;br /&gt;
* eingebauter digitaler Temperatursensor DS18S20 (wahlweise bestückbar)&lt;br /&gt;
* Die meisten I/O-Ports und AD-Ports stehen an Pin-Leisten zur freien Verfügung&lt;br /&gt;
* Messeingang für höhere Spannung (Standard bis 13,4V – Spannungsmessbereich kann durch Widerstände frei verändert werden)&lt;br /&gt;
* Zusätzliche Batteriespannungsüberwachung über AD-Port integriert&lt;br /&gt;
* Äußerst geringer Strombedarf durch sparsame Bauteile&lt;br /&gt;
** Strombedarf im &lt;br /&gt;
** Powerdown Modi mit schlafendem Funkmodul &#039;&#039;&#039;kleiner als 10uA&#039;&#039;&#039;&lt;br /&gt;
** Strombedarf aktiv – jedoch mit schlafendem Funkmodul nur ca. 0,1 bis 0,2 mA&lt;br /&gt;
** Strombedarf beim Empfang mit Funkmodul RFM12b nur ca. 15mA&lt;br /&gt;
** Strombedarf beim Senden mit Funkmodul RFM12b nur ca. 20mA&lt;br /&gt;
* zwei frei programmierbare Open Kollektor Schaltausgänge (bis 1A belastbar)&lt;br /&gt;
* RFM12 oder RFM12b Funkmodul kann direkt auf der Unterseite aufgelötet werden&lt;br /&gt;
* Hohe Funkreichweite (Siehe Datenblatt des Funkmodules)&lt;br /&gt;
* Beispiele für Interrupt gesteuertes Senden und Empfangen und Wake-Up Ausnutzung&lt;br /&gt;
* Funkkompatibel zu RN-AVR Universal (bei gleichem Funkmodul)&lt;br /&gt;
* Eagle–Library mit RN-MikroFunk auf DVD&lt;br /&gt;
* zahlreiche deutsche Beispielprogramme in Bascom Basic&lt;br /&gt;
* deutsche Anleitung fast 70 DIN A4 Seiten im PDF Format (erläutert auch die Programmierung des Funkmodules RFM12/b)&lt;br /&gt;
* Datenblättern zu Funkmodul und anderen Komponenten&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/65984 Allgemeine Diskussion]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/71682  bidirektionale RS232 Funkbrücke mit RFM12]&lt;br /&gt;
* [http://robotikhardware.de/download/RN-MikroFunk_1.7.pdf PDF mit u.a. sehr guter Dokumentation und Beispielen zu RFM12b]&lt;br /&gt;
* [http://www.das-labor.org/wiki/Datenfunk_mit_dem_AVR Datenfunk mit dem AVR] bei das-labor.org&lt;br /&gt;
* [http://jeelabs.net/projects/hardware/wiki/JeeNode JeeNode]&lt;br /&gt;
* [http://www.youtube.com/watch?v=cGtC7e44abA&amp;amp;feature=player_embedded Video zu neuem AVR Entwicklungsboard und Platine mit RFM12 Modulplatz]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]]&lt;br /&gt;
[[Kategorie:RFM12]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:RaspberryRFM1.jpeg&amp;diff=81194</id>
		<title>Datei:RaspberryRFM1.jpeg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:RaspberryRFM1.jpeg&amp;diff=81194"/>
		<updated>2014-01-28T10:50:49Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:RaspberryRFM4.jpeg&amp;diff=81193</id>
		<title>Datei:RaspberryRFM4.jpeg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:RaspberryRFM4.jpeg&amp;diff=81193"/>
		<updated>2014-01-28T10:50:01Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:RaspberryRFM3.jpeg&amp;diff=81192</id>
		<title>Datei:RaspberryRFM3.jpeg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:RaspberryRFM3.jpeg&amp;diff=81192"/>
		<updated>2014-01-28T10:49:32Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:RaspberryRFM2.jpeg&amp;diff=81191</id>
		<title>Datei:RaspberryRFM2.jpeg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:RaspberryRFM2.jpeg&amp;diff=81191"/>
		<updated>2014-01-28T10:48:55Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RF_SOAP&amp;diff=80029</id>
		<title>RF SOAP</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RF_SOAP&amp;diff=80029"/>
		<updated>2013-12-14T15:24:05Z</updated>

		<summary type="html">&lt;p&gt;Energizer: mega88V&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;RF SOAP&#039;&#039;&#039; ist ein universelles mobiles USB-RFM12 Modul mit [[AVR]] ATmega88, FT232, [[RFM12]], LiPo Akku und Ladeelektronik.&lt;br /&gt;
&lt;br /&gt;
[[Bild:RealSoap.jpg|thumb|right|300px]]&lt;br /&gt;
[[Bild:PovTop.jpg|thumb|right|300px]]&lt;br /&gt;
[[Bild:PovBot.jpg|thumb|right|300px]]&lt;br /&gt;
&lt;br /&gt;
== Ausstattung ==&lt;br /&gt;
&lt;br /&gt;
*  Abmessung der Leiterplatte: 52 x 28 mm, geeignet zum Einbau in dieses [http://www.reichelt.de/?ARTICLE=34080 Gehäuse]&lt;br /&gt;
* AVR ATmega88&lt;br /&gt;
* Lithiumpolymer-Akku (230 mAh) mit Lade-IC (MCP73812), über USB ladbar&lt;br /&gt;
* Einschaltlogik (Taster, MOSFET), so dass der µC, z.B. bei zu niedrigem Akkustand, selbstständig das Gerät vollständig ausschalten kann&lt;br /&gt;
* RFM12 Funkmodul, angebunden über die [[SPI]]-Schnittstelle &amp;amp; [[IRQ]]-Leitung&lt;br /&gt;
* RFM12 FSK/DATA/NFFS und DCLK/CFIL/FFIT mit AVR verbunden für Mess- und Testzwecke und Betrieb ohne [[FIFO]]&lt;br /&gt;
* Lötpad, um den analogen RSSI-Pin des RFM12 einfach an ADC6 anzubinden&lt;br /&gt;
* CLK des RFM12 mit XTAL1 verbunden, so dass der Quarz des RFM12 verwendet werden kann&lt;br /&gt;
* SMA-Buchse&lt;br /&gt;
* FT232RL für die USB-Anbindung&lt;br /&gt;
* Mini USB-Buchse zum Laden und für die Datenverbindung&lt;br /&gt;
* 3 Leds an PD4, PD5, PD6&lt;br /&gt;
* 1 Led direkt an USB zur Ladekontrolle&lt;br /&gt;
* 2 Kurzhubtaster an PD3, PB7&lt;br /&gt;
* [[ISP]]-Schnittstelle 6-Pin zum Programmieren&lt;br /&gt;
* PC2 - PC5 (und somit ADC2 - ADC5 / SDA, SCL), Vcc und GND an 1.27 mm Stiftleiste geführt für Erweiterungen (Sensoren etc.)&lt;br /&gt;
* TXD/RXD an Pinheader geführt&lt;br /&gt;
&lt;br /&gt;
== Schalt- / Bestückungspläne ==&lt;br /&gt;
&lt;br /&gt;
=== Schaltplan ===&lt;br /&gt;
[[Bild:RF_Soap_Schem.png|350px]]&lt;br /&gt;
&lt;br /&gt;
=== Bestückungsplan ===&lt;br /&gt;
&lt;br /&gt;
[[Image:RF_Soap_Thumb.png|350px]]&lt;br /&gt;
* [[Media:RF_Soap_Assem_Top.pdf|Bestückungsplan oben]]&lt;br /&gt;
* [[Media:RF_Soap_Assem_Bot.pdf|Bestückungsplan unten]]&lt;br /&gt;
&lt;br /&gt;
== Hinweise &amp;amp; Tips zur Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Pinbeschreibung ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! µC || Schaltung || I/O || Erläuterung 	&lt;br /&gt;
|-&lt;br /&gt;
| PB0 || PWEN || O || Highpegel aktiviert die Stromversorgung&lt;br /&gt;
|-&lt;br /&gt;
| PB1 / PCINT1 || IRQ || I || Interrupt vom Funkmodul&lt;br /&gt;
|-&lt;br /&gt;
| PB2 || NSEL || O || Chipselect für Funkmodul&lt;br /&gt;
|-&lt;br /&gt;
| PB3 || MOSI || O || SPI Datenleitung zum Funkmodul&lt;br /&gt;
|-&lt;br /&gt;
| PB4 || MISO || I || SPI Datenleitung vom Funkmodul&lt;br /&gt;
|-&lt;br /&gt;
| PB5 || SCK || O || SPI Taktleitung zum Funkmdul&lt;br /&gt;
|-&lt;br /&gt;
| PB6 || XTAL1 || I || Quarztakt vom Funkmodul&lt;br /&gt;
|-&lt;br /&gt;
| PB7/PCINT7 || SW3 || I || Kurzhubtaster S3 &lt;br /&gt;
|-&lt;br /&gt;
| PC0 || FSK || I/O || FSK / DATA / NFFS Pin des Funkmoduls; im FIFO Modus Pullup aktivieren, im non-FIFO Modus Datenein- und Ausgang des Funkmoduls&lt;br /&gt;
|-&lt;br /&gt;
| PC1 / PCINT9 || DCLK || I/O || DCLK/CFIL/FFIT Pin des Funkmoduls; im FIFO Modus nicht benötigt, im non-FIFO Modus Taktleitung vom Funkmodul, im analogen Modus Empfangssignal vom RFM12 (z.B. für Mess-/Testzwecke)&lt;br /&gt;
|-&lt;br /&gt;
| PC2/ADC2/PCINT10 || PC2 || I/O || PC2 zu Stiftleiste&lt;br /&gt;
|-&lt;br /&gt;
| PC3/ADC3/PCINT11 || PC3 || I/O || PC3 zu Stiftleiste&lt;br /&gt;
|-&lt;br /&gt;
| PC4/ADC4/SDA/PCINT12 || PC4 || I/O || PC4 zu Stiftleiste&lt;br /&gt;
|-&lt;br /&gt;
| PC5/ADC5/SCL/PCINT13 || PC5 || I/O || PC5 zu Stiftleiste&lt;br /&gt;
|-&lt;br /&gt;
| ADC6 || RSSI || I || TP1, kann mit dem RSSI-Pad auf dem RFM12 verbunden werden&lt;br /&gt;
|-&lt;br /&gt;
| PD0/RXD/PCINT16 || RXD || I || Dateneingang serielle Schnittstelle&lt;br /&gt;
|-&lt;br /&gt;
| PD1/TXD/PCINT17 || TXD || O || Datenausgang serielle Schnittstelle&lt;br /&gt;
|-&lt;br /&gt;
| PD2 || CBUS3 || I || CBUS3 vom FT232 (Standard: #PWREN)&lt;br /&gt;
|-&lt;br /&gt;
| PD3/INT1/PCINT19 || SW2 || I || Kurzhubtaster S2 &lt;br /&gt;
|-&lt;br /&gt;
| PD4 || LED1 || O || LED1&lt;br /&gt;
|-&lt;br /&gt;
| PD5 || LED2 || O || LED2&lt;br /&gt;
|-&lt;br /&gt;
| PD6 || LED3 || O || LED3&lt;br /&gt;
|-&lt;br /&gt;
| PD7/PCINT23 || SW1 || I || Kurzhubtaster S1 (gleichzeitig Einschalter) &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stromversorgung / TP2 ===&lt;br /&gt;
&lt;br /&gt;
Das Modul wird über den Taster S1, welcher den MOSFET durchschaltet, aktiviert. Spätestens nach dem loslassen von S1 muss der µC das Ansteuern des MOSFETS übernehmen. Während dem Flashen muss deswegen S1 gedrückt gehalten werden. Um das Entwickeln zu erleichtern kann durch eine Lötbrücke zwischen TP2 und der Diode das Modul auf Dauerbetrieb gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== Akkuspannung ===&lt;br /&gt;
Die Akkuspannung kann indirekt gemessen werden indem die Referenz auf AVcc gesetzt wird, und die Spannung der Bandgap-Diode gemessen wird.&lt;br /&gt;
&lt;br /&gt;
=== Jumper SJ1 ===&lt;br /&gt;
&lt;br /&gt;
Soll das Modul komplett ohne Akku (und Ladeelektronik) betrieben werden, weil reiner USB Betrieb genügt, so können alle Bauteile im gestrichelten Kasten auf dem Schaltplan weggelassen werden. Damit dann das Modul trotzdem mit Strom versorgt wird muss SJ1 auf 3,3 V oder 5 V gesetzt werden.&lt;br /&gt;
Wird der Akku und Ladeelektronik benutzt, so darf SJ1 nicht gesetzt werden!&lt;br /&gt;
&lt;br /&gt;
== Stückliste ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Menge || Artikel || Wert || Bezeichnung || Lieferant || Art-Nr. 	&lt;br /&gt;
|-&lt;br /&gt;
| 5 || SMD Kondensator 0805 || 100 nF || C1, C2, C3, C4, C8 || Reichelt ||&lt;br /&gt;
|-&lt;br /&gt;
| 2 || SMD Kondensator 0805 || 1 µF || C9, C10 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 4 || SMD Widerstand 0805 || 180 Ω || R16, R51, R52, R53 || Reichelt || SMD-0805 180&lt;br /&gt;
|-&lt;br /&gt;
| 3 || SMD Widerstand 0805 || 10 kΩ || R17, R21, R62 || Reichelt || SMD-0805 10,0K&lt;br /&gt;
|-&lt;br /&gt;
| 2 || SMD Widerstand 0805 || 4,7 kΩ || R1, R2 || Reichelt || SMD-0805 4,70K&lt;br /&gt;
|-&lt;br /&gt;
| 1 || SMD Widerstand 0805 || 100 kΩ || R40 || Reichelt || SMD-0805 100K&lt;br /&gt;
|-&lt;br /&gt;
| 1 || SMD Widerstand 0805 || 5,6 kΩ || R18 || Reichelt || SMD-0805 5,60K&lt;br /&gt;
|-&lt;br /&gt;
| 1 || SMD EMI Filter 0805 || || L1 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 3 || LED 3mm gelb || || LED1, LED2, LED3 || Reichelt || SLH 36 GE&lt;br /&gt;
|-&lt;br /&gt;
| 1 || LED 3mm rot || || LED4 || Reichelt || SLH 36 RT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || SMD Diode || 1N4148 || D1, D5 || Reichelt || 1N 4148 WS&lt;br /&gt;
|-&lt;br /&gt;
| 1 || µC AVR Mega 88V || || IC1 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || USB Charger IC || MCP73812 || IC1 || Farnell&lt;br /&gt;
|-&lt;br /&gt;
| 1 || P-Kanal MOSFET || PMV65XP || Q4 || Farnell&lt;br /&gt;
|-&lt;br /&gt;
| 1 || SMD NPN Transistor || BC847 || T4 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Kurzhubtaster gewinkelt || || S2, S3 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || SMD Mini USB Buchse || || X2 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || LiPo Akku || || B1 || LiPoPower&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Stifleiste 1.27mm || || X1 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || RFM12 Funkmodul || || U$1 || Pollin&lt;br /&gt;
|-&lt;br /&gt;
| 1 || FT232RL USB IC || || IC3 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || SMA Buchse || || X3 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Stiftleiste 2x3 || || SV1 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Gehäuse || || || Reichelt || TEKO 10006&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Anwendungen / Projekte ==&lt;br /&gt;
&lt;br /&gt;
=== Software Framework ===&lt;br /&gt;
Das Software-Framework (siehe Links) demonstriert alle Funktionen des Moduls:&lt;br /&gt;
* Ein- / Ausschalten mit jeweils langem Druck auf den Hauptknopf&lt;br /&gt;
* Mit den zwei Seitentasten einen erhöhen/erniedrigen&lt;br /&gt;
* Kurzer Druck auf den Hauptknopf sendet den Wert über das Funkmodul&lt;br /&gt;
* Empfangener Wert wird an den LEDs angezeigt&lt;br /&gt;
* Akkuspannungüberwachung&lt;br /&gt;
* Power down Mode&lt;br /&gt;
&lt;br /&gt;
=== Ansteuerung von Funksteckdosen (in Planung) ===&lt;br /&gt;
&lt;br /&gt;
Viele Router oder NAS Geräte, die sowieso meist 24/7 laufen, haben mittlerweile eine USB-Schnittstelle oder auch eine serielle Schnittstelle intern auf Stiftleisten herausgeführt. Dadurch könnte man relativ einfach über Netzwerk Funksteckdosen im Haus steuern.&lt;br /&gt;
&lt;br /&gt;
=== Messwanze für Volkszähler ===&lt;br /&gt;
&lt;br /&gt;
Ein oder mehrere Module könnten Messwerte (I2C, 1wire, Analog, S0 Bus für Strom- oder Wasserzähler, Reedkontakt für Gasuhren, u.v.m.) an ein weiteres Modul, welches z.B. an einem Rechner, einer Fritzbox, einem NAS, etc. angeschlossen ist, senden. Die Daten könnten dann z.B. an das Volkszähler-Projekt übergeben werden.&lt;br /&gt;
&lt;br /&gt;
=== Blitzfernsteuerung ===&lt;br /&gt;
&lt;br /&gt;
Der Autor verwendet zwei der Module um einen Blitz entfesselt mit einer Nikon DSLR Kamera zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/207871#new Zugehöriger Thread im Forum]&lt;br /&gt;
* [http://ww1.microchip.com/downloads/en/DeviceDoc/22036a.pdf Datenblatt USB Charger IC]&lt;br /&gt;
* [[RFM12]]&lt;br /&gt;
* [[AVR RFM12]]&lt;br /&gt;
* [http://www.hoperf.com/upfile/RF12.pdf Datenblatt des ICs RF12] (PDF)&lt;br /&gt;
* [http://www.hoperf.com/upfile/RFM12.pdf Datenblatt des Moduls RFM12] (PDF)&lt;br /&gt;
* [http://www.hoperf.com/upfile/RF12_code.pdf Programming Guide] (PDF)&lt;br /&gt;
* Leiterplatte und &amp;quot;Nicht-Reichelt-Bauteile&amp;quot; (Akku, Laderegler, Funkmodul, MOSFET) bei [http://shop.seegel-systeme.de Seegel Systeme]&lt;br /&gt;
* [https://github.com/Phunkafizer/RF-Soap C++ Framework]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:RFM12]]&lt;br /&gt;
[[Kategorie:AVR-Projekte]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RF_SOAP&amp;diff=79853</id>
		<title>RF SOAP</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RF_SOAP&amp;diff=79853"/>
		<updated>2013-12-02T18:51:10Z</updated>

		<summary type="html">&lt;p&gt;Energizer: Mobil&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;RF SOAP&#039;&#039;&#039; ist ein universelles mobiles USB-RFM12 Modul mit [[AVR]] ATmega88, FT232, [[RFM12]], LiPo Akku und Ladeelektronik.&lt;br /&gt;
&lt;br /&gt;
[[Bild:RealSoap.jpg|thumb|right|300px]]&lt;br /&gt;
[[Bild:PovTop.jpg|thumb|right|300px]]&lt;br /&gt;
[[Bild:PovBot.jpg|thumb|right|300px]]&lt;br /&gt;
&lt;br /&gt;
== Ausstattung ==&lt;br /&gt;
&lt;br /&gt;
*  Abmessung der Leiterplatte: 52 x 28 mm, geeignet zum Einbau in dieses [http://www.reichelt.de/?ARTICLE=34080 Gehäuse]&lt;br /&gt;
* AVR ATmega88&lt;br /&gt;
* Lithiumpolymer-Akku (230 mAh) mit Lade-IC (MCP73812), über USB ladbar&lt;br /&gt;
* Einschaltlogik (Taster, MOSFET), so dass der µC, z.B. bei zu niedrigem Akkustand, selbstständig das Gerät vollständig ausschalten kann&lt;br /&gt;
* RFM12 Funkmodul, angebunden über die [[SPI]]-Schnittstelle &amp;amp; [[IRQ]]-Leitung&lt;br /&gt;
* RFM12 FSK/DATA/NFFS und DCLK/CFIL/FFIT mit AVR verbunden für Mess- und Testzwecke und Betrieb ohne [[FIFO]]&lt;br /&gt;
* Lötpad, um den analogen RSSI-Pin des RFM12 einfach an ADC6 anzubinden&lt;br /&gt;
* CLK des RFM12 mit XTAL1 verbunden, so dass der Quarz des RFM12 verwendet werden kann&lt;br /&gt;
* SMA-Buchse&lt;br /&gt;
* FT232RL für die USB-Anbindung&lt;br /&gt;
* Mini USB-Buchse zum Laden und für die Datenverbindung&lt;br /&gt;
* 3 Leds an PD4, PD5, PD6&lt;br /&gt;
* 1 Led direkt an USB zur Ladekontrolle&lt;br /&gt;
* 2 Kurzhubtaster an PD3, PB7&lt;br /&gt;
* [[ISP]]-Schnittstelle 6-Pin zum Programmieren&lt;br /&gt;
* PC2 - PC5 (und somit ADC2 - ADC5 / SDA, SCL), Vcc und GND an 1.27 mm Stiftleiste geführt für Erweiterungen (Sensoren etc.)&lt;br /&gt;
* TXD/RXD an Pinheader geführt&lt;br /&gt;
&lt;br /&gt;
== Schalt- / Bestückungspläne ==&lt;br /&gt;
&lt;br /&gt;
=== Schaltplan ===&lt;br /&gt;
[[Bild:RF_Soap_Schem.png|350px]]&lt;br /&gt;
&lt;br /&gt;
=== Bestückungsplan ===&lt;br /&gt;
&lt;br /&gt;
[[Image:RF_Soap_Thumb.png|350px]]&lt;br /&gt;
* [[Media:RF_Soap_Assem_Top.pdf|Bestückungsplan oben]]&lt;br /&gt;
* [[Media:RF_Soap_Assem_Bot.pdf|Bestückungsplan unten]]&lt;br /&gt;
&lt;br /&gt;
== Hinweise &amp;amp; Tips zur Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Pinbeschreibung ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! µC || Schaltung || I/O || Erläuterung 	&lt;br /&gt;
|-&lt;br /&gt;
| PB0 || PWEN || O || Highpegel aktiviert die Stromversorgung&lt;br /&gt;
|-&lt;br /&gt;
| PB1 / PCINT1 || IRQ || I || Interrupt vom Funkmodul&lt;br /&gt;
|-&lt;br /&gt;
| PB2 || NSEL || O || Chipselect für Funkmodul&lt;br /&gt;
|-&lt;br /&gt;
| PB3 || MOSI || O || SPI Datenleitung zum Funkmodul&lt;br /&gt;
|-&lt;br /&gt;
| PB4 || MISO || I || SPI Datenleitung vom Funkmodul&lt;br /&gt;
|-&lt;br /&gt;
| PB5 || SCK || O || SPI Taktleitung zum Funkmdul&lt;br /&gt;
|-&lt;br /&gt;
| PB6 || XTAL1 || I || Quarztakt vom Funkmodul&lt;br /&gt;
|-&lt;br /&gt;
| PB7/PCINT7 || SW3 || I || Kurzhubtaster S3 &lt;br /&gt;
|-&lt;br /&gt;
| PC0 || FSK || I/O || FSK / DATA / NFFS Pin des Funkmoduls; im FIFO Modus Pullup aktivieren, im non-FIFO Modus Datenein- und Ausgang des Funkmoduls&lt;br /&gt;
|-&lt;br /&gt;
| PC1 / PCINT9 || DCLK || I/O || DCLK/CFIL/FFIT Pin des Funkmoduls; im FIFO Modus nicht benötigt, im non-FIFO Modus Taktleitung vom Funkmodul, im analogen Modus Empfangssignal vom RFM12 (z.B. für Mess-/Testzwecke)&lt;br /&gt;
|-&lt;br /&gt;
| PC2/ADC2/PCINT10 || PC2 || I/O || PC2 zu Stiftleiste&lt;br /&gt;
|-&lt;br /&gt;
| PC3/ADC3/PCINT11 || PC3 || I/O || PC3 zu Stiftleiste&lt;br /&gt;
|-&lt;br /&gt;
| PC4/ADC4/SDA/PCINT12 || PC4 || I/O || PC4 zu Stiftleiste&lt;br /&gt;
|-&lt;br /&gt;
| PC5/ADC5/SCL/PCINT13 || PC5 || I/O || PC5 zu Stiftleiste&lt;br /&gt;
|-&lt;br /&gt;
| ADC6 || RSSI || I || TP1, kann mit dem RSSI-Pad auf dem RFM12 verbunden werden&lt;br /&gt;
|-&lt;br /&gt;
| PD0/RXD/PCINT16 || RXD || I || Dateneingang serielle Schnittstelle&lt;br /&gt;
|-&lt;br /&gt;
| PD1/TXD/PCINT17 || TXD || O || Datenausgang serielle Schnittstelle&lt;br /&gt;
|-&lt;br /&gt;
| PD2 || CBUS3 || I || CBUS3 vom FT232 (Standard: #PWREN)&lt;br /&gt;
|-&lt;br /&gt;
| PD3/INT1/PCINT19 || SW2 || I || Kurzhubtaster S2 &lt;br /&gt;
|-&lt;br /&gt;
| PD4 || LED1 || O || LED1&lt;br /&gt;
|-&lt;br /&gt;
| PD5 || LED2 || O || LED2&lt;br /&gt;
|-&lt;br /&gt;
| PD6 || LED3 || O || LED3&lt;br /&gt;
|-&lt;br /&gt;
| PD7/PCINT23 || SW1 || I || Kurzhubtaster S1 (gleichzeitig Einschalter) &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stromversorgung / TP2 ===&lt;br /&gt;
&lt;br /&gt;
Das Modul wird über den Taster S1, welcher den MOSFET durchschaltet, aktiviert. Spätestens nach dem loslassen von S1 muss der µC das Ansteuern des MOSFETS übernehmen. Während dem Flashen muss deswegen S1 gedrückt gehalten werden. Um das Entwickeln zu erleichtern kann durch eine Lötbrücke zwischen TP2 und der Diode das Modul auf Dauerbetrieb gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== Akkuspannung ===&lt;br /&gt;
Die Akkuspannung kann indirekt gemessen werden indem die Referenz auf AVcc gesetzt wird, und die Spannung der Bandgap-Diode gemessen wird.&lt;br /&gt;
&lt;br /&gt;
=== Jumper SJ1 ===&lt;br /&gt;
&lt;br /&gt;
Soll das Modul komplett ohne Akku (und Ladeelektronik) betrieben werden, weil reiner USB Betrieb genügt, so können alle Bauteile im gestrichelten Kasten auf dem Schaltplan weggelassen werden. Damit dann das Modul trotzdem mit Strom versorgt wird muss SJ1 auf 3,3 V oder 5 V gesetzt werden.&lt;br /&gt;
Wird der Akku und Ladeelektronik benutzt, so darf SJ1 nicht gesetzt werden!&lt;br /&gt;
&lt;br /&gt;
== Stückliste ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Menge || Artikel || Wert || Bezeichnung || Lieferant || Art-Nr. 	&lt;br /&gt;
|-&lt;br /&gt;
| 5 || SMD Kondensator 0805 || 100 nF || C1, C2, C3, C4, C8 || Reichelt ||&lt;br /&gt;
|-&lt;br /&gt;
| 2 || SMD Kondensator 0805 || 1 µF || C9, C10 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 4 || SMD Widerstand 0805 || 180 Ω || R16, R51, R52, R53 || Reichelt || SMD-0805 180&lt;br /&gt;
|-&lt;br /&gt;
| 3 || SMD Widerstand 0805 || 10 kΩ || R17, R21, R62 || Reichelt || SMD-0805 10,0K&lt;br /&gt;
|-&lt;br /&gt;
| 2 || SMD Widerstand 0805 || 4,7 kΩ || R1, R2 || Reichelt || SMD-0805 4,70K&lt;br /&gt;
|-&lt;br /&gt;
| 1 || SMD Widerstand 0805 || 100 kΩ || R40 || Reichelt || SMD-0805 100K&lt;br /&gt;
|-&lt;br /&gt;
| 1 || SMD Widerstand 0805 || 5,6 kΩ || R18 || Reichelt || SMD-0805 5,60K&lt;br /&gt;
|-&lt;br /&gt;
| 1 || SMD EMI Filter 0805 || || L1 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 3 || LED 3mm gelb || || LED1, LED2, LED3 || Reichelt || SLH 36 GE&lt;br /&gt;
|-&lt;br /&gt;
| 1 || LED 3mm rot || || LED4 || Reichelt || SLH 36 RT&lt;br /&gt;
|-&lt;br /&gt;
| 2 || SMD Diode || 1N4148 || D1, D5 || Reichelt || 1N 4148 WS&lt;br /&gt;
|-&lt;br /&gt;
| 1 || µC AVR Mega 88 || || IC1 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || USB Charger IC || MCP73812 || IC1 || Farnell&lt;br /&gt;
|-&lt;br /&gt;
| 1 || P-Kanal MOSFET || PMV65XP || Q4 || Farnell&lt;br /&gt;
|-&lt;br /&gt;
| 1 || SMD NPN Transistor || BC847 || T4 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Kurzhubtaster gewinkelt || || S2, S3 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || SMD Mini USB Buchse || || X2 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || LiPo Akku || || B1 || LiPoPower&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Stifleiste 1.27mm || || X1 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || RFM12 Funkmodul || || U$1 || Pollin&lt;br /&gt;
|-&lt;br /&gt;
| 1 || FT232RL USB IC || || IC3 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || SMA Buchse || || X3 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Stiftleiste 2x3 || || SV1 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Gehäuse || || || Reichelt || TEKO 10006&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Anwendungen / Projekte ==&lt;br /&gt;
&lt;br /&gt;
=== Software Framework ===&lt;br /&gt;
Das Software-Framework (siehe Links) demonstriert alle Funktionen des Moduls:&lt;br /&gt;
* Ein- / Ausschalten mit jeweils langem Druck auf den Hauptknopf&lt;br /&gt;
* Mit den zwei Seitentasten einen erhöhen/erniedrigen&lt;br /&gt;
* Kurzer Druck auf den Hauptknopf sendet den Wert über das Funkmodul&lt;br /&gt;
* Empfangener Wert wird an den LEDs angezeigt&lt;br /&gt;
* Akkuspannungüberwachung&lt;br /&gt;
* Power down Mode&lt;br /&gt;
&lt;br /&gt;
=== Ansteuerung von Funksteckdosen (in Planung) ===&lt;br /&gt;
&lt;br /&gt;
Viele Router oder NAS Geräte, die sowieso meist 24/7 laufen, haben mittlerweile eine USB-Schnittstelle oder auch eine serielle Schnittstelle intern auf Stiftleisten herausgeführt. Dadurch könnte man relativ einfach über Netzwerk Funksteckdosen im Haus steuern.&lt;br /&gt;
&lt;br /&gt;
=== Messwanze für Volkszähler ===&lt;br /&gt;
&lt;br /&gt;
Ein oder mehrere Module könnten Messwerte (I2C, 1wire, Analog, S0 Bus für Strom- oder Wasserzähler, Reedkontakt für Gasuhren, u.v.m.) an ein weiteres Modul, welches z.B. an einem Rechner, einer Fritzbox, einem NAS, etc. angeschlossen ist, senden. Die Daten könnten dann z.B. an das Volkszähler-Projekt übergeben werden.&lt;br /&gt;
&lt;br /&gt;
=== Blitzfernsteuerung ===&lt;br /&gt;
&lt;br /&gt;
Der Autor verwendet zwei der Module um einen Blitz entfesselt mit einer Nikon DSLR Kamera zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/207871#new Zugehöriger Thread im Forum]&lt;br /&gt;
* [http://ww1.microchip.com/downloads/en/DeviceDoc/22036a.pdf Datenblatt USB Charger IC]&lt;br /&gt;
* [[RFM12]]&lt;br /&gt;
* [[AVR RFM12]]&lt;br /&gt;
* [http://www.hoperf.com/upfile/RF12.pdf Datenblatt des ICs RF12] (PDF)&lt;br /&gt;
* [http://www.hoperf.com/upfile/RFM12.pdf Datenblatt des Moduls RFM12] (PDF)&lt;br /&gt;
* [http://www.hoperf.com/upfile/RF12_code.pdf Programming Guide] (PDF)&lt;br /&gt;
* Leiterplatte und &amp;quot;Nicht-Reichelt-Bauteile&amp;quot; (Akku, Laderegler, Funkmodul, MOSFET) bei [http://shop.seegel-systeme.de Seegel Systeme]&lt;br /&gt;
* [https://github.com/Phunkafizer/RF-Soap C++ Framework]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:RFM12]]&lt;br /&gt;
[[Kategorie:AVR-Projekte]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFID_T%C3%BCrmodul&amp;diff=62073</id>
		<title>RFID Türmodul</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFID_T%C3%BCrmodul&amp;diff=62073"/>
		<updated>2011-11-30T12:33:03Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:rfid-modul2.jpg|thumb|200px|Aufgebautes RFID Türmodul mit verschiedenen Tags]]&lt;br /&gt;
&lt;br /&gt;
Das RFID Türmodul eignet sich aufgrund seiner Abmessung (Durchmesser 52mm) für den direkten Einbau in eine Unterputzdose. Die Unterputzdose sollte am besten an der inneren Seite der Tür angebracht werden. An der Außenseite kann z.&amp;amp;nbsp;B. eine Acrylplatte, welche die Antenne und optional eine (Duo-) LED beherbergt, befestigt werden. Das Modul kann z.&amp;amp;nbsp;B. direkt an einem Klingeltrafo 8 V~ betrieben werden, welcher auch gleich einen elektrischen Türöffner versorgen kann.&lt;br /&gt;
Ein Relais um den elektrischen Türöffner zu steuern befindet sich mit auf der Platine. Optional kann die Platine mit einem RS485 IC bestückt werden, um z.&amp;amp;nbsp;B. eine Vernetzung oder erweiterte Steuerung zu ermöglichen. Weiterhin ist auf der Platine Platz für ein I2C EEPROM, sollte das interne EEPROM des Mega8 nicht ausreichen.&lt;br /&gt;
&lt;br /&gt;
=== Ausstattung im Überblick ===&lt;br /&gt;
[[Bild:rfid-modul.jpg|thumb|200px|RFID Türmodul Oberseite]]&lt;br /&gt;
* µC ATMega8&lt;br /&gt;
* Brückengleichrichter und Spannungsregler 78M05 on board&lt;br /&gt;
* RFID Reader IC EM4095&lt;br /&gt;
* Wagoklemme für den Anschluss von Stromversorgung, RFID Antenne, (Duo-) LED und] Datenleitung (RS485)&lt;br /&gt;
* Wagoklemme für den Relaiskontakt, um z.&amp;amp;nbsp;B. einen Türöffner zu schalten (Relais on board)&lt;br /&gt;
* Kurzhubtaster on board, z.&amp;amp;nbsp;B. um in den Lernmodus für neue Tags zu gelangen (nur sinnvoll wenn das Modul abgesetzt von der Antenne auf der Innenseite der Tür angebracht wird)&lt;br /&gt;
* 2 Pins des µC (PD3, PD4) mit Stiftleiste abgreifbar, um z.&amp;amp;nbsp;B. zusammen mit dem ISP Steckverbinder ein RFM12 Funkmodul anbinden zu können&lt;br /&gt;
&lt;br /&gt;
=== Funktionsbeschreibung ===&lt;br /&gt;
[[Bild:rfidbot.jpg|thumb|200px|RFID Türmodul Unterseite]]&lt;br /&gt;
Die Standardfirmware (Download unten) überprüft bei Erkennung eines Tags zunächst, ob bereits ein Tag im EEPROM abgespeichert ist. Falls nicht (EEPROM leer / Erstinbetriebnahme) wird dieser Tag im EEPROM abgelegt und gilt von nun an als &amp;quot;Administrator-Tag&amp;quot;. Wird ein gültiger Tag erkannt, zieht das Relais für ca. 2 s an bevor es wieder abfällt, um z.&amp;amp;nbsp;B. einen elektrischen Türöffner anzusteuern. Handelt es sich bei diesem Tag um den Administrator Tag, können weitere gültige Tags angelernt werden, wenn diese an die Antenne geführt werden solange das Relais angezogen ist. Wird der Kurzhubtaster auf der Platine länger als 2 Sekunden gedrückt, werden alle gespeicherten Tags gelöscht. Der nach einem Löschvorgang als nächstes erkannte Tag wird wieder als Administratortag gespeichert. Über die RS485 Schnittstelle werden beim Lesen eines Tags dessen Daten nach folgendem Format ausgegeben: &amp;lt;STX&amp;gt;R&amp;lt;+/-&amp;gt;&amp;lt;5 Bytes Tag hexadezimal&amp;gt;&amp;lt;EOT&amp;gt;. Das &#039;+&#039; oder &#039;-&#039; gibt an ob der Tag im EEPROM gefunden wurde und somit das Relais akiviert wurde.&lt;br /&gt;
&lt;br /&gt;
=== Schaltungsbeschreibung ===&lt;br /&gt;
[[Bild:schem.png|thumb|200px|Schaltplan]]&lt;br /&gt;
Der RFID IC EM4095 gibt kontinuierlich ein 125 kHz Signal auf die Spulenantenne aus. Wird ein Tag in das Feld der Antenne gebracht, versorgt sich der auszulesende Tag darüber mit Energie. Gleichzeitig sendet der Tag seine Daten, in dem er dem Leser unterschiedlich stark Energie entzieht, so dass eine Amplitudenmodulation entsteht. Das RFID IC EM4095 gibt das demodulierte und gefilterte Signal auf einen interruptfähigen Eingang des Mega8. Bei diesem Signal handelt es sich um ein [http://www.mikrocontroller.net/articles/Manchester Manchester-codiertes] Signal mit einer Bitrate von einem 64tel der Trägerfrequenz. Ausgehend von 125 kHz Trägerfrequenz sind das knapp 2000 bit/s. Bei jedem Wechsel des manchester-codierten Signals wird nun eine Interruptroutine im µC aufgerufen.&lt;br /&gt;
&lt;br /&gt;
=== Softwarebeschreibung ===&lt;br /&gt;
[[Bild:manchester.png]]&lt;br /&gt;
Trotz des kleinen µC wurde als Programmiersprache C++ verwendet, da sich damit eine sehr kompakte Struktur erreichen lässt. Kernstück der Firmware bildet die Klasse &amp;quot;Rfid&amp;quot;. Bei jedem Aufruf der INT0-Interruptroutine durch das Signal des RFID-ICs wird die vergangene Zeit zum vorherigen Flankenwechsel überprüft;  ist die Zeit kürzer als 3/4 der Bitzeit, wird die Flanke ausgeblendet und die Routine verlassen (wegge-x-te Flanken in der Grafik). Andernfalls wird eine statische 16-bit Variable um ein Bit nach links geschoben und, falls der Pegel auf 0 liegt, mit 1 verodert. Nach jedem eingelesenen Bit wird nun dieses FIFO-Register auf das Vorhandensein eines Tagheaders (9x 1-Bits) überprüft, und gegebenfalls ein Bitzähler auf 0 gesetzt. Ist ein ganzes Byte voll, wird dieses der RFID Klasse übergeben. Nachdem 64 Bit eingelesen wurden, werden zunächst die Spalten- und Zeilenparitätsbits überprüft. Sind alle Paritätsbits korrekt werden selbige ausgeblendet, so dass 40 &amp;quot;Nettodatenbits&amp;quot; verbleiben. Diese Transponderdaten werden nun der Klasse &amp;quot;Tagmanager&amp;quot; übergeben. Dort werden aus dem EEPROM immer 5 Byte große Stücke ausgelesen und mit dem dekodierten Daten verglichen, solange bis die Daten übereinstimmen, oder das Speicherende (0xFFFFFFFFFF) erreicht wurde. Handelt es sich beim dekodierten Transponder um den ersten Speicherplatz im EEPROM, wird noch ein Administratorflag gesetzt, so dass weitere Transponder hinzugefügt werden können.&lt;br /&gt;
&lt;br /&gt;
==== Datenaufbau Tags ====&lt;br /&gt;
Ein Tag mit den Nettodaten 0x1234567890 ist wie folgend aufgebaut:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!9 Header Bits (1)&lt;br /&gt;
!4 Datenbits + Paritätsbit&lt;br /&gt;
!4 Datenbits + Paritätsbit&lt;br /&gt;
!4 Datenbits + Paritätsbit&lt;br /&gt;
!4 Datenbits + Paritätsbit&lt;br /&gt;
!4 Datenbits + Paritätsbit&lt;br /&gt;
!4 Datenbits + Paritätsbit&lt;br /&gt;
!4 Datenbits + Paritätsbit&lt;br /&gt;
!4 Datenbits + Paritätsbit&lt;br /&gt;
!4 Datenbits + Paritätsbit&lt;br /&gt;
!4 Datenbits + Paritätsbit&lt;br /&gt;
!4 Spaltenparitäten + Stopbit&lt;br /&gt;
|-&lt;br /&gt;
|Bit 0-8&lt;br /&gt;
|Bit 9-13&lt;br /&gt;
|Bit 14-18&lt;br /&gt;
|Bit 19-23&lt;br /&gt;
|Bit 24-28&lt;br /&gt;
|Bit 29-33&lt;br /&gt;
|Bit 34-38&lt;br /&gt;
|Bit 39-43&lt;br /&gt;
|Bit 44-48&lt;br /&gt;
|Bit 49-53&lt;br /&gt;
|Bit 54-58&lt;br /&gt;
|Bit 59-63&lt;br /&gt;
|-&lt;br /&gt;
|111111111&lt;br /&gt;
|0001 1&lt;br /&gt;
|0010 1&lt;br /&gt;
|0011 0&lt;br /&gt;
|0100 1&lt;br /&gt;
|0101 0&lt;br /&gt;
|0110 0&lt;br /&gt;
|0111 1&lt;br /&gt;
|1000 1&lt;br /&gt;
|1001 0&lt;br /&gt;
|0000 0&lt;br /&gt;
|0001 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Die Antenne ===&lt;br /&gt;
Eine passende Leseantenne für das Modul kann recht einfach selbst hergestellt werden. Man nehme z.&amp;amp;nbsp;B. 0,2 mm Kupferlackdraht, von dem ca. 100 Windungen auf einen runden Körper mit ca. 45 mm Durchmesser gewickelt wird. Die Induktivität der Spule lässt sich dann mit Hilfe eines L-Meters oder alternativ mit einem Funktionsgeenerator und einem Oszilloskop herausfinden. Wer keine Antenne selber wickeln möchte kann natürlich auch auf fertige Spulen zurückgreifen (siehe Links). In jedem Fall müssen in der Schaltung C1-C4 und R9 an die Antenne angepasst werden. C3 und C4 bilden zusammen mit der Antennenspule einen Serienschwingkreis, so dass sich eine Resonanzfrequenz von ca. 125 kHz ergibt. C1 und C2 dienen als kapazitiver Spannungsteiler, um das relativ große Antennensignal auf ein für das IC verträgliches Mass zu verkleinern. R9 dient dazu um bei sehr niederohmigen Antennen die Güte künstlich zu verkleinern. Auf der Herstellerseite des RFID ICs findet sich eine Excel-Tabelle, die die Berechnung der Bauteile etwas vereinfacht. Die Antenne kann in gewissen Grenzen mit einem Kabel vom Modul abgesetzt werden, ohne dass sich die Resonanzfrequenz dramatisch ändert. In einem Versuch mit 70 cm 0,5 mm² Doppellitze zwischen Antenne und Modul ging die Resonanzfrequenz um ca. 1 kHz nach unten.&lt;br /&gt;
&lt;br /&gt;
=== Quellcode Dateiübersicht ===&lt;br /&gt;
[[Bild:besttop.png|thumb|200px|Bestückungsplan oben]]&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Datei&lt;br /&gt;
!Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|bus.cpp / bus.h&lt;br /&gt;
|Klasse &amp;quot;Bus&amp;quot;, RS485 Kommunikation&lt;br /&gt;
|-&lt;br /&gt;
|button.cpp / button.h&lt;br /&gt;
|Klasse &amp;quot;Button&amp;quot;, fragt Kurzhubtaster ab&lt;br /&gt;
|-&lt;br /&gt;
|global.h&lt;br /&gt;
|Hardware Defines &amp;amp; Makros&lt;br /&gt;
|-&lt;br /&gt;
|global.cpp&lt;br /&gt;
|Diverse Hilfen für C++&lt;br /&gt;
|-&lt;br /&gt;
|i2ceeprom.h / i2ceeprom.cpp&lt;br /&gt;
|Klasse &amp;quot;I2CEEprom&amp;quot;, spricht das externe EEPROM an&lt;br /&gt;
|-&lt;br /&gt;
|main.cpp&lt;br /&gt;
|Das Hauptprogramm&lt;br /&gt;
|-&lt;br /&gt;
|makefile&lt;br /&gt;
|[[Beispiel_Makefile]]&lt;br /&gt;
|-&lt;br /&gt;
|rfid.h / rfid.cpp&lt;br /&gt;
|Klasse &amp;quot;Rfid&amp;quot;, prüft und dekodiert die Tagrohdaten&lt;br /&gt;
|-&lt;br /&gt;
|tagmanager.h / tagmanager.cpp&lt;br /&gt;
|Klasse &amp;quot;Tagmanager&amp;quot;, prüft und speichert Daten im EEPROM&lt;br /&gt;
|-&lt;br /&gt;
|task.h / task.cpp&lt;br /&gt;
|Basisklasse für alle Tasks (Taskscheduling)&lt;br /&gt;
|-&lt;br /&gt;
|timer.h / timer.cpp&lt;br /&gt;
|Klasse &amp;quot;Timer&amp;quot;, wird in diversen anderen Klassen verwendet&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Bauteileliste ===&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!QTY&lt;br /&gt;
!Position&lt;br /&gt;
!Bauteil&lt;br /&gt;
!Wert&lt;br /&gt;
!Reichelt Best. Nr.&lt;br /&gt;
!IT-WNS Best. Nr.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|IC4&lt;br /&gt;
|78MXXD&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|SV1&lt;br /&gt;
|Stiftleiste&lt;br /&gt;
|&lt;br /&gt;
|PINHD-1X2_2.54-SMD&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|JP1&lt;br /&gt;
|Stiftleiste SMD&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|B1&lt;br /&gt;
|Brückengleichrichter&lt;br /&gt;
|&lt;br /&gt;
|B80C800RUND&lt;br /&gt;
|B50C1500 o. B80C800&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|C1*&lt;br /&gt;
|SMD Kondensator 0805&lt;br /&gt;
|1,5 nF&lt;br /&gt;
|X7R-G0805 1,5N&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|D1&lt;br /&gt;
|Diode&lt;br /&gt;
|1N4148&lt;br /&gt;
|SMD 1N 4148&lt;br /&gt;
|D-1N4148-0805&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|C4*&lt;br /&gt;
|SMD Kondensator 0805&lt;br /&gt;
|1 nF&lt;br /&gt;
|NPO-G0805 1,0N&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Q1&lt;br /&gt;
|Quarz HC49&lt;br /&gt;
|7,3728 MHz&lt;br /&gt;
|7,3728-HC49U-S&lt;br /&gt;
|Q-7.3728M-HC49US&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|R9*&lt;br /&gt;
|SMD Widerstand 0805&lt;br /&gt;
|10Ω&lt;br /&gt;
|SMD-0805 10&lt;br /&gt;
|R-10-0805-1&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|R1, R2, R4, R5&lt;br /&gt;
|SMD Widerstand 0805&lt;br /&gt;
|10 k&lt;br /&gt;
|SMD-0805 10,0K&lt;br /&gt;
|R-10000-0805&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|C7, C8&lt;br /&gt;
|SMD Kondensator 0805&lt;br /&gt;
|10 nF&lt;br /&gt;
|X7R-G0805 10N&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|C2*&lt;br /&gt;
|SMD Kondensator 0805&lt;br /&gt;
|10 pF&lt;br /&gt;
|NPO-G0805 10P&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|C9, C10&lt;br /&gt;
|SMD Kondensator 0805&lt;br /&gt;
|22 pF&lt;br /&gt;
|NPO-G0805 22P&lt;br /&gt;
|C-22P-0805&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|IC5&lt;br /&gt;
|ST24C64&lt;br /&gt;
|&lt;br /&gt;
|ST 24C64 MN6&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|C5, C6, C12, C13, C14, C15, C16, C17, C18, C19&lt;br /&gt;
|SMD Kondensator 0805&lt;br /&gt;
|100 nF&lt;br /&gt;
|X7R-G0805 100N&lt;br /&gt;
|C-100-0805&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|R3, R10&lt;br /&gt;
|SMD Widerstand 0805&lt;br /&gt;
|270Ω&lt;br /&gt;
|SMD-0805 270&lt;br /&gt;
|R-270-0805-1&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|C11&lt;br /&gt;
|Elko&lt;br /&gt;
|330 µ&lt;br /&gt;
|RAD 330/35&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|C3*&lt;br /&gt;
|SMD Kondensator 0805&lt;br /&gt;
|330 pF&lt;br /&gt;
|NPO-G0805 330P&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|X3&lt;br /&gt;
|Wago Klemme 8-polig&lt;br /&gt;
|&lt;br /&gt;
|WAGO 733-338, WAGO 733-108&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|X2&lt;br /&gt;
|Wago Klemme 2-polig&lt;br /&gt;
|&lt;br /&gt;
|WAGO 734-132, WAGO 734-102&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|IC2&lt;br /&gt;
|ATMega8-16A&lt;br /&gt;
|&lt;br /&gt;
|ATMEGA 8-16 TQ&lt;br /&gt;
|ATMEGA8-16AU&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|T1&lt;br /&gt;
|NPN Transistor&lt;br /&gt;
|BC847&lt;br /&gt;
|BC 847C SMD&lt;br /&gt;
|TR-BC847B&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|IC1&lt;br /&gt;
|EM4095 RFID IC&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|EM4095&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|K1&lt;br /&gt;
|Relais 5V 1xUM&lt;br /&gt;
|&lt;br /&gt;
|FIN 36.11 5V&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|S2&lt;br /&gt;
|Kurzhubtaster&lt;br /&gt;
|&lt;br /&gt;
|TASTER 9315&lt;br /&gt;
|T-Mini-6X6-4.3&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|IC3&lt;br /&gt;
|RS485 IC&lt;br /&gt;
|MAX485&lt;br /&gt;
|MAX 485 CSA&lt;br /&gt;
|MAX485CSA+&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|LED2&lt;br /&gt;
|SMD LED 0805&lt;br /&gt;
|rot&lt;br /&gt;
|SMD-LED 0805 RT&lt;br /&gt;
|LED-0805-rt-2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
C1, C2, C3, C4 und R9 sind abhängig von der verwendeten Antenne.&lt;br /&gt;
Werte für [http://shop.seegel-systeme.de/Bauelemente/RFID-Antenne-24-mm-1-mH.html diese Antenne]:&lt;br /&gt;
{|-&lt;br /&gt;
|C1&lt;br /&gt;
|1,5 nF&lt;br /&gt;
|-&lt;br /&gt;
|C2&lt;br /&gt;
|10 pF&lt;br /&gt;
|-&lt;br /&gt;
|C3&lt;br /&gt;
|entfällt&lt;br /&gt;
|-&lt;br /&gt;
|C4&lt;br /&gt;
|1,5 nF&lt;br /&gt;
|-&lt;br /&gt;
|R9&lt;br /&gt;
|33Ω&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IC3 (MAX485) und IC5 (I2C EEPROM) sind optional.&lt;br /&gt;
&lt;br /&gt;
Als EEPROM kann auch ein 24LC32 verwendet werden...&lt;br /&gt;
&lt;br /&gt;
=== Downloads ===&lt;br /&gt;
[[Bild:bestbot.png|thumb|200px|Bestückungsplan unten]]&lt;br /&gt;
* [[Media:schem.pdf|Schaltplan (PDF)]]&lt;br /&gt;
* [[Media:ass_top.pdf|Bestückungsplan Oberseite (PDF)]]&lt;br /&gt;
* [[Media:ass_bot.pdf|Bestückungsplan Unterseite (PDF)]]&lt;br /&gt;
* [[Media:RFID_UP_20080818.zip|C++ Quellcode AVRGCC (ZIP)]]&lt;br /&gt;
&lt;br /&gt;
=== FAQ ===&lt;br /&gt;
*  Wieviele Transponder können im Speicher abgelegt werden ?&lt;br /&gt;
In der aktuellen Firmware wird das externe EEPROM verwendet (auf der Platine integriert). Darauf lassen sich mit einem 64 kBit EEPROM 1638 Transponder abspeichern.&lt;br /&gt;
*  Wo bekomme ich passende Transponder her ?&lt;br /&gt;
Siehe Links&lt;br /&gt;
* Wieviel Strom kann das Relais schalten&lt;br /&gt;
Das Relais an sich kann 10 A schalten, jedoch sind Stecker und Leiterbahnen für einen Strom von ca. 3 A dimensioniert.&lt;br /&gt;
&lt;br /&gt;
=== FUSES für den Prozessor ===&lt;br /&gt;
&lt;br /&gt;
* Highbyte: 0xD9 (ggv. auch 0xC9)&lt;br /&gt;
* Lowbyte: 0XFF (ggv. auch 0xBF)&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/106299 Diskussion]&lt;br /&gt;
* [http://www.emmicroelectronic.com/Products.asp?IdProduct=86 Datenblatt und Application Notes EM4095 RFID Reader IC]&lt;br /&gt;
* [http://www.emmicroelectronic.com/Products.asp?IdProduct=5 Datenblatt 125KHz, 64 bit read only TAG von EM Microeletronic]&lt;br /&gt;
* [http://www.spulen.com/shop/product_info.php?products_id=979&amp;amp;osCsid=5cc0f6bd092b5d20d42128c18b7c2f03 Passende Spule von spulen.com]&lt;br /&gt;
* [http://www.reichelt.de/?;ARTICLE=67319 Passender Transponder (Schlüsselanhänger) bei Reichelt] oder  [http://www.it-wns.de/themes/kategorie/detail.php?artikelid=380&amp;amp;source=2 IT-WNS] &lt;br /&gt;
* [http://www.reichelt.de/?;ARTICLE=67324 Passender Transponder (ISO Karte) bei Reichelt] oder  [http://www.it-wns.de/themes/kategorie/detail.php?artikelid=273&amp;amp;source=2 IT-WNS]&lt;br /&gt;
* [http://shop.seegel-systeme.de Leiterplatte, RFID Chip, Antenne und Spannungsregler bei Seegel Systeme]&lt;br /&gt;
&lt;br /&gt;
[[Category:1. Wettbewerb]]&lt;br /&gt;
[[Kategorie:Funk]]&lt;br /&gt;
[[Kategorie:AVR-Projekte]]&lt;br /&gt;
[[Kategorie:Projekte ]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFID_USB_Leser&amp;diff=62072</id>
		<title>RFID USB Leser</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFID_USB_Leser&amp;diff=62072"/>
		<updated>2011-11-30T12:32:30Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:rfid_usb_leser2.jpg|thumb|250px|Aufgebauter RFID USB Leser ohne Gehäuse]]&lt;br /&gt;
RFID Leser für LF RFID Transponder.&lt;br /&gt;
[[Bild:rfid_usb_leser.jpg|thumb|250px|PCB in Eagle 3D]]&lt;br /&gt;
RFID Leser für LF RFID Transponder.&lt;br /&gt;
&lt;br /&gt;
=== Ausstattung ===&lt;br /&gt;
* Integrierte PCB Antenne&lt;br /&gt;
* Optional externe Antenne anschließbar&lt;br /&gt;
* Microcontroller ATMega 8&lt;br /&gt;
* Anbindung an USB über FT232 Chip (virtuelle serielle Schnittstelle)&lt;br /&gt;
* Stromversorgung über USB&lt;br /&gt;
&lt;br /&gt;
=== Schaltungsbeschreibung ===&lt;br /&gt;
&lt;br /&gt;
=== Downloads ===&lt;br /&gt;
* [[Media:usbschem.pdf|Schaltplan (PDF)]]&lt;br /&gt;
&lt;br /&gt;
=== Bauteileliste ===&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!QTY&lt;br /&gt;
!Position&lt;br /&gt;
!Bauteil&lt;br /&gt;
!Wert&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|R2&lt;br /&gt;
|SMD Widerstand 1206&lt;br /&gt;
|1k&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|R5&lt;br /&gt;
|SMD Widerstand 1206&lt;br /&gt;
|1k5&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|C8&lt;br /&gt;
|SMD Kondensator 1206&lt;br /&gt;
|1n5&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|R1&lt;br /&gt;
|SMD Widerstand 1206&lt;br /&gt;
|4,7&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|C6&lt;br /&gt;
|SMD Kondensator 1206&lt;br /&gt;
|4n7&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Q1&lt;br /&gt;
|Quarz HC49&lt;br /&gt;
|7,3728 MHz&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|L1&lt;br /&gt;
|SMD Induktivität&lt;br /&gt;
|10µ&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|R3&lt;br /&gt;
|SMD Widerstand 1206&lt;br /&gt;
|10k&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|C5&lt;br /&gt;
|SMD Kondensator 1206&lt;br /&gt;
|15n&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|C7&lt;br /&gt;
|SMD Kondensator 1206&lt;br /&gt;
|15p&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|R4&lt;br /&gt;
|SMD Widerstand 1206&lt;br /&gt;
|180&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|IC3&lt;br /&gt;
|AT Mega 8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|IC1&lt;br /&gt;
|EM4095&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|IC2&lt;br /&gt;
|FT232RL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|X1&lt;br /&gt;
|Stiftleiste 2,54 mm 2x3 Pins gerade&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|LED1&lt;br /&gt;
|Duo-LED 3mm 2 Pins&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|LED2&lt;br /&gt;
|LED 3mm low current grün&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|C14, C22&lt;br /&gt;
|SMD Elko&lt;br /&gt;
| 10 µF&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|C9, C10&lt;br /&gt;
|SMD Kondensator 1206&lt;br /&gt;
|22p&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|C3, C4, C12&lt;br /&gt;
|SMD Kondensator 1206&lt;br /&gt;
|10n&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|C1, C2, C11, C13, C15, C16, C17, C18, C19, C20, C21&lt;br /&gt;
|SMD Kondensator 1206&lt;br /&gt;
|100n&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/68442 Diskussion]&lt;br /&gt;
* [http://www.emmicroelectronic.com/Products.asp?IdProduct=86 Datenblatt und Application Notes EM4095 RFID Reader IC]&lt;br /&gt;
* [http://www.emmicroelectronic.com/Products.asp?IdProduct=5 Datenblatt 125KHz, 64 bit read only TAG von EM Microeletronic]&lt;br /&gt;
* [http://shop.seegel-systeme.de Leiterplatte, RFID Chip, Transponder bei Seegel Systeme]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]]&lt;br /&gt;
[[Kategorie:Projekte ]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RF_SOAP&amp;diff=62071</id>
		<title>RF SOAP</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RF_SOAP&amp;diff=62071"/>
		<updated>2011-11-30T12:32:01Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;RF SOAP&#039;&#039;&#039; ist ein universelles USB-RFM12 Modul mit [[AVR]] ATmega88, FT232, [[RFM12]], LiPo Akku und Ladeelektronik.&lt;br /&gt;
&lt;br /&gt;
[[Bild:RealSoap.jpg|thumb|right|300px]]&lt;br /&gt;
[[Bild:PovTop.jpg|thumb|right|300px]]&lt;br /&gt;
[[Bild:PovBot.jpg|thumb|right|300px]]&lt;br /&gt;
&lt;br /&gt;
== Ausstattung ==&lt;br /&gt;
&lt;br /&gt;
*  Abmessung der Leiterplatte: 52 x 28 mm, geeignet zum Einbau in dieses [http://www.reichelt.de/?ARTICLE=34080 Gehäuse]&lt;br /&gt;
* AVR ATmega88&lt;br /&gt;
* Lithiumpolymer-Akku (230 mAh) mit Lade-IC (MCP73812), über USB ladbar&lt;br /&gt;
* Einschaltlogik (Taster, MOSFET), so dass der µC, z.B. bei zu niedrigem Akkustand, selbstständig das Gerät vollständig ausschalten kann&lt;br /&gt;
* RFM12 Funkmodul, angebunden über die [[SPI]]-Schnittstelle &amp;amp; [[IRQ]]-Leitung&lt;br /&gt;
* RFM12 FSK/DATA/NFFS und DCLK/CFIL/FFIT mit AVR verbunden für Mess- und Testzwecke und Betrieb ohne [[FIFO]]&lt;br /&gt;
* Lötpad, um den analogen RSSI-Pin des RFM12 einfach an ADC6 anzubinden&lt;br /&gt;
* CLK des RFM12 mit XTAL1 verbunden, so dass der Quarz des RFM12 verwendet werden kann&lt;br /&gt;
* SMA-Buchse&lt;br /&gt;
* FT232RL für die USB-Anbindung&lt;br /&gt;
* Mini USB-Buchse zum Laden und für die Datenverbindung&lt;br /&gt;
* 3 Leds an PD4, PD5, PD6&lt;br /&gt;
* 1 Led direkt an USB zur Ladekontrolle&lt;br /&gt;
* 2 Kurzhubtaster an PD3, PB7&lt;br /&gt;
* [[ISP]]-Schnittstelle 6-Pin zum Programmieren&lt;br /&gt;
* PC2 - PC5 (und somit ADC2 - ADC5 / SDA, SCL), Vcc und GND an 1.27 mm Stiftleiste geführt für Erweiterungen (Sensoren etc.)&lt;br /&gt;
* TXD/RXD an Pinheader geführt&lt;br /&gt;
&lt;br /&gt;
== Schalt- / Bestückungspläne ==&lt;br /&gt;
&lt;br /&gt;
=== Schaltplan ===&lt;br /&gt;
[[Bild:RF_Soap_Schem.png|350px]]&lt;br /&gt;
&lt;br /&gt;
=== Bestückungsplan ===&lt;br /&gt;
&lt;br /&gt;
[[Image:RF_Soap_Thumb.png|350px]]&lt;br /&gt;
* [[Media:RF_Soap_Assem_Top.pdf|Bestückungsplan oben]]&lt;br /&gt;
* [[Media:RF_Soap_Assem_Bot.pdf|Bestückungsplan unten]]&lt;br /&gt;
&lt;br /&gt;
== Hinweise &amp;amp; Tips zur Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Pinbeschreibung ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! µC || Schaltung || I/O || Erläuterung 	&lt;br /&gt;
|-&lt;br /&gt;
| PB0 || PWEN || O || Highpegel aktiviert die Stromversorgung&lt;br /&gt;
|-&lt;br /&gt;
| PB1 / PCINT1 || IRQ || I || Interupt vom Funkmodul&lt;br /&gt;
|-&lt;br /&gt;
| PB2 || NSEL || O || Chipselect für Funkmodul&lt;br /&gt;
|-&lt;br /&gt;
| PB3 || MOSI || O || SPI Datenleitung zum Funkmodul&lt;br /&gt;
|-&lt;br /&gt;
| PB4 || MISO || I || SPI Datenleitung vom Funkmodul&lt;br /&gt;
|-&lt;br /&gt;
| PB5 || SCK || O || SPI Taktleitung zum Funkmdul&lt;br /&gt;
|-&lt;br /&gt;
| PB6 || XTAL1 || I || Quarztakt vom Funkmodul&lt;br /&gt;
|-&lt;br /&gt;
| PB7/PCINT7 || SW3 || I || Kurzhubtaster S3 &lt;br /&gt;
|-&lt;br /&gt;
| PC0 || FSK || I/O || FSK / DATA / NFFS Pin des Funkmoduls; im FIFO Modus Pullup aktivieren, im non-FIFO Modus Datenein- und Ausgang des Funkmoduls&lt;br /&gt;
|-&lt;br /&gt;
| PC1 / PCINT9 || DCLK || I/O || DCLK/CFIL/FFIT Pin des Funkmoduls; im FIFO Modus nicht benötigt, im non-FIFO Modus Taktleitung vom Funkmodul, im analogen Modus Empfangssignal vom RFM12 (z.B. für Mess-/Testzwecke)&lt;br /&gt;
|-&lt;br /&gt;
| PC2/ADC2/PCINT10 || PC2 || I/O || PC2 zu Stiftleiste&lt;br /&gt;
|-&lt;br /&gt;
| PC3/ADC3/PCINT11 || PC3 || I/O || PC3 zu Stiftleiste&lt;br /&gt;
|-&lt;br /&gt;
| PC4/ADC4/SDA/PCINT12 || PC4 || I/O || PC4 zu Stiftleiste&lt;br /&gt;
|-&lt;br /&gt;
| PC5/ADC5/SCL/PCINT13 || PC5 || I/O || PC5 zu Stiftleiste&lt;br /&gt;
|-&lt;br /&gt;
| ADC6 || RSSI || I || TP1, kann mit dem RSSI-Pad auf dem RFM12 verbunden werden&lt;br /&gt;
|-&lt;br /&gt;
| PD0/RXD/PCINT16 || RXD || I || Dateneingang serielle Schnittstelle&lt;br /&gt;
|-&lt;br /&gt;
| PD1/TXD/PCINT17 || TXD || O || Datenausgang serielle Schnittstelle&lt;br /&gt;
|-&lt;br /&gt;
| PD2 || CBUS3 || I || CBUS3 vom FT232 (Standard: #PWREN)&lt;br /&gt;
|-&lt;br /&gt;
| PD3/INT1/PCINT19 || SW2 || I || Kurzhubtaster S2 &lt;br /&gt;
|-&lt;br /&gt;
| PD4 || LED1 || O || LED1&lt;br /&gt;
|-&lt;br /&gt;
| PD5 || LED2 || O || LED2&lt;br /&gt;
|-&lt;br /&gt;
| PD6 || LED3 || O || LED3&lt;br /&gt;
|-&lt;br /&gt;
| PD7/PCINT23 || SW1 || I || Kurzhubtaster S1 (gleichzeitig Einschalter) &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stromversorgung / TP2 ===&lt;br /&gt;
&lt;br /&gt;
Das Modul wird über den Taster S1, welcher den MOSFET durchschaltet, aktiviert. Spätestens nach dem loslassen von S1 muss der µC das Ansteuern des MOSFETS übernehmen. Während dem Flashen muss deswegen S1 gedrückt gehalten werden. Um das Entwickeln zu erleichtern kann durch eine Lötbrücke zwischen TP2 und der Diode das Modul auf Dauerbetrieb gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== Akkuspannung ===&lt;br /&gt;
Die Akkuspannung kann indirekt gemessen werden indem die Referenz auf AVcc gesetzt wird, und die Spannung der Bandgap-Diode gemessen wird.&lt;br /&gt;
&lt;br /&gt;
=== Jumper SJ1 ===&lt;br /&gt;
&lt;br /&gt;
Soll das Modul komplett ohne Akku (und Ladeelektronik) betrieben werden, weil reiner USB Betrieb genügt, so können alle Bauteile im gestrichelten Kasten auf dem Schaltplan weggelassen werden. Damit dann das Modul trotzdem mit Strom versorgt wird muss SJ1 auf 3,3 V oder 5 V gesetzt werden.&lt;br /&gt;
Wird der Akku und Ladeelektronik benutzt, so darf SJ1 nicht gesetzt werden!&lt;br /&gt;
&lt;br /&gt;
== Stückliste ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Menge || Artikel || Wert || Bezeichnung || Lieferant 	&lt;br /&gt;
|-&lt;br /&gt;
| 5 || SMD Kondensator 0805 || 100 nF || C1, C2, C3, C4, C8 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 2 || SMD Kondensator 0805 || 1 µF || C9, C10 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 4 || SMD Widerstand 0805 || 180Ω || R16, R51, R52, R53 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 3 || SMD Widerstand 0805 || 10 kOhm || R17, R21, R62 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 2 || SMD Widerstand 0805 || 4,7 kkOhm || R1, R2 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || SMD Widerstand 0805 || 100 kOhm || R40 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || SMD Widerstand 0805 || 5,6 kOhm || R18 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || SMD EMI Filter 0805 || || L1 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 3 || LED 3mm gelb || || LED1, LED2, LED3 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 2 || SMD Diode || 1N4148 || D1, D5 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || µC AVR Mega 88 || || IC1 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || USB Charger IC || MCP73812 || IC1 || Farnell&lt;br /&gt;
|-&lt;br /&gt;
| 1 || P-Kanal MOSFET || PMV65XP || Q4 || Farnell&lt;br /&gt;
|-&lt;br /&gt;
| 1 || SMD NPN Transistor || BC847 || T4 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Kurzhubtaster gewinkelt || || S2, S3 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || LED 3mm rot || || LED4 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || SMD Mini USB Buchse || || X2 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || LiPo Akku || || B1 || LiPoPower&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Stifleiste 1.27mm || || X1 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || RFM12 Funkmodul || || U$1 || Pollin&lt;br /&gt;
|-&lt;br /&gt;
| 1 || FT232RL USB IC || || IC3 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || SMA Buchse || || X3 || Reichelt&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Stiftleiste 2x3 || || SV1 || Reichelt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Anwendungen / Projekte ==&lt;br /&gt;
&lt;br /&gt;
=== Ansteuerung von Funksteckdosen (in Planung) ===&lt;br /&gt;
&lt;br /&gt;
Viele Router oder NAS Geräte, die sowieso meist 24/7 laufen, haben mittlerweile eine USB-Schnittstelle oder auch eine serielle Schnittstelle intern auf Stiftleisten herausgeführt. Dadurch könnte man relativ einfach über Netzwerk Funksteckdosen im Haus steuern.&lt;br /&gt;
&lt;br /&gt;
=== Gaszähler ===&lt;br /&gt;
&lt;br /&gt;
Durch Anschluss eines Reedkontaktes an die Pinleiste kann der Gasverbrauch einer Gasuhr mitgezählt werden. Zwischen den Impulsen kann der µC und das RFM12 schlafengelegt werden, so dass der Akku lange hält. Die Daten könnten an ein weiteres Modul, welches z.B. an einem Router oder einem NAS im Netz hängt, gesendet und dort weiterverarbeitet werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/207871#new Zugehöriger Thread im Forum]&lt;br /&gt;
* [http://ww1.microchip.com/downloads/en/DeviceDoc/22036a.pdf Datenblatt USB Charger IC]&lt;br /&gt;
* [http://shop.lipopower.de/230-mAh-Einzelzelle-15C LiPo Akku]&lt;br /&gt;
* [[RFM12]]&lt;br /&gt;
* [[AVR RFM12]]&lt;br /&gt;
* [http://www.hoperf.com/upfile/RF12.pdf Datenblatt des ICs RF12] (PDF)&lt;br /&gt;
* [http://www.hoperf.com/upfile/RFM12.pdf Datenblatt des Moduls RFM12] (PDF)&lt;br /&gt;
* [http://www.hoperf.com/upfile/RF12_code.pdf Programming Guide] (PDF)&lt;br /&gt;
* Leiterplatte und &amp;quot;Nicht-Reichelt-Bauteile&amp;quot; (Akku, Laderegler, Funkmodul, MOSFET) bei [http://shop.seegel-systeme.de Seegel Systeme]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Funk]]&lt;br /&gt;
[[Kategorie:AVR-Projekte]]&lt;br /&gt;
[[Kategorie:Projekte ]]&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Usbschem.pdf&amp;diff=62068</id>
		<title>Datei:Usbschem.pdf</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Usbschem.pdf&amp;diff=62068"/>
		<updated>2011-11-30T11:27:12Z</updated>

		<summary type="html">&lt;p&gt;Energizer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Energizer</name></author>
	</entry>
</feed>