jetzt wollt ich grad den oberlehrer raushängen lassen, daß man gemäß GPL nicht veröffentlichen muß, aber zum glück hab ich die obdev-lizenz nochmal durchgelesen, bevor ich mich hier zum affen gemacht hab. stümpt, man muß (zum glück ist nicht angegeben, wann :-)
daher ist das projekt jetzt (und nicht irgendwann) auf
formatting link
zum sehen und downloaden.
ciao,
cm.
--
** christian mock in vienna, austria -- http://www.tahina.priv.at/
** http://www.vibe.at/ ** http://quintessenz.org/ ** sig@foo.woas.net
God has yet to tell me to believe the Bible. -- dpm
--
** christian mock in vienna, austria -- http://www.tahina.priv.at/
> Konzept Kunde/König?
Ist deren Internet kaputt oder meines? Kann ich das wieder hinbiegen
oder die? -- Ralph Angenendt in dasr
Die eigenen Lizenzbedingungen hamse geändert, eine Veröffentlichung ist jetzt nicht mehr verpflichtend, sondern nur noch gewünscht. Du kannst in Deinem stillen Kämmerlein damit jetzt tun und lassen, was Du möchtest.
Gruß Henning
--
henning paul home: http://home.arcor.de/henning.paul
PM: henningpaul@gmx.de , ICQ: 111044613
So, nachdem ich zwei Module mal eingebaut und die nötige Software geschrieben habe, kann ich sagen: Mit einem Stück Draht (ca. lambda/4 lang) als Antenne funktionieren die Module für meinen Zweck gut genug.
Dafür habe ich noch eine Frage: Weiß jemand, was es mit dem DQD (Data Quality Detector) auf sich hat bzw. wie der genau funktioniert und was der einstellbare Threshold bedeutet? Aus dem Datenblatt werde ich an der Stelle nicht schlau.
Naja. Wenns billig und einfach sein soll, geht eh nur ein Stück Draht als Antenne. Du kannst ne Teleskopantenne benutzen. Abgleich dann einfach durch passendes Längeneinstellen. Für einen Reichweitentest sollte man aus dem Nahfeld heraugehen und am Empfänger dann auf maximalen Störabstand schauen.
Soweit ich mich erinnere, haben die Chips auch eine automatische Antennenanpassung. Dann würde ne ungefähre Länge des Drahtes einfach reichen.
DQD ist nichts anderes als der Störabstandsmesser. Einfache messen nur die Feldstärke, bessere messen _nach_ dem Datendemodulator - da ist es genauer.
Der Threshold setzt einfach nur die Grenze für deine gewünschte Fehlerfreiheit der Daten. Typischerweise steuert man damit den Wakeup eines Microcontrollers.
Genaueres kann ich hier nicht sagen, da ich die Datenblätter noch nicht gelesen habe.
Soweit ist mir das klar. RSSI ist die Feldstärke, DQD ist irgendein Maß für die Empfangsqualität im Basisband (lt. Blockschaltbild vor dem I/Q-Demodulator). Nur wie dieses Maß bestimmt wird und welcher Thresholdwert folglich sinnvoll ist, kann ich aus dem Datenblatt nicht heraus lesen.
Darum suche ich ja jemanden, der es getan hat und versteht, was da zum DQD gesagt wird: "The [DQD] is based on counting the spikes on the unfiltered received data." (Welche Spikes?) und "To let the DQD report 'good signal quality' the threshold parameter should be less than 4 in the case where the bit-rate is close to the deviation. At higher deviation/bit-rate settings higher threshold parameter settings can report 'good signal quality' as well."
Nein. Sollte ich vielleicht für mein Szenario mal selber aufnehmen.
Keine Ahnung, aber HopeRF erweckt schon den Eindruck, tatsächlich Hersteller der Chips zu sein.
Ja, ich bemerke gerade ein Problem dabei. Wenn ein Bitfehler in der Synchronisationssequenz auftritt, empfängt man standardmäßig gar nichts. D.h. man kann die Bitfehler in so einem Fall gar nicht zählen, sondern nur feststellen, dass es einen Frame-Error gegeben hat. Ich müsste also schon die Synchronisation abschalten und den rohen Bitstrom untersuchen, um in allen Fällen Bitfehler zählen zu können.
Ich hab im Internet gelesen das da jemand nachgefragt hat. Die sollen die Dies von
formatting link
kaufen und nur auf die Platinen pappen. Der RF12 entspricht dem IA4420 und der RF12B dem IA4421. Das ist auch sehr glaubwuerdig wenn man sich mal diese Datenblaetter anschaut.
Insbesondere das Datenblatt des IA4421 ist etwas ausfuehrlicher.
Ich bin uebrigens kurz davor die Teile zu shreddern weil sie meine Nerven kosten. SCHLUCHZ!
Ich hab einem im Palmpilot eingebaut und einer haengt an einem M16C. Ich verwende bei beiden SoftSPI. Ich kann Register lesen und schreiben. (sieht man z.B am POR bit nach dem einschalten, oder daran das ich den Taktausgang schalten kann. Oder wenn ich die Schwelle der Batterieueberwachung verschiebe bekomme ich halt ein Batterieflag oder auch nicht)
Ich kann beide dazu bringen etwas zu senden. Man kann sogar die Modulation auf dem Spektrumanalyzer sehen. Mein Empfaenger wartet bis er die beiden Syncbytes empfaengt, aber wenn ich dann die Fifo lese kommt nur noch Muell raus der lediglich eine grobe Aehnlichkeit mit den Sendedaten hat. Irgendwie gehen mir langsam die Ideen aus was ich noch falsch gemacht habe da doch alles wichtige laufen muss um ueberhaubt soweit zu kommen.
Ah. Hatte ich doch richtig in Erinnerung. Kann mir also die Arbeit des Suches sparen.
Offensichtlich hast du dein Limit erreicht und an deiner Stelle würde ich den Kram zumindest ne Nacht liegenlassen. Morgen kommst du schneller voran. (Meine Erfahrung)
Danke für den Hinweis, die Datenblätter werde ich mir mal ansehen.
Bei mir hat alles unglaublich gut funktioniert, nachdem ich ein Problem beseitigt hatte. Und zwar hatte ich die Datenrate so hoch gewählt, dass ich mit dem Bit-Banging am Parallelport des PCs nicht mehr hinterher kam. Das führte schon bei der FIFO-Syncsequenz zu "TX register underruns" und damit zu keiner Synchronisation auf Empfängerseite. Ich habe die Rate nun zunächst mal bis zur unteren Grenze von 600 bit/s reduziert, damit klappt es. Wieder erhöhen kann ich sie immer noch.
Das ist allerdings seltsam. Hast Du mal das Statusregister während des Sendens bzw. Empfangens auf Auffälligkeiten überprüft?
Habe es mir angesehen. Leider steige ich da auch nicht durch.
Alles was ich dazu sagen kann, ist:
- Der Empfänger ist laut Blockschaltbild ein ganz gewöhnlicher moderner I/Q FSK-Receiver. Mit der Info sollte man weiterreichende Papers im Internet finden können.
- Ein RSSI von -90dBm sollte weitgehend fehlerfreie Daten liefern können.
- Stelle einfach die Register nach einem Programmierbeispiel ein. Gibts das nicht bei hopeRF? Jetzt wissen wir auch wieso die so heißen ;-)
Das Datenblatt ist furchrbar lang. Also das kann man wirklich besser machen. Die meisten Leute wollen doch nur die Bitrate und Sendeleistung einstellen und dann endlich SENDEN!!!
OK, das hatten wir nun erledigt. Neue Begriffe für Google...
Die Synchronisierungsphase muß man extra unterscheiden. BTW: Es gibt auch Modulationsverfahren, in denen die Synchronisation innerhalb des Datenblocks realisiert ist. siehe Phil Karn.
Wenn du ohne FEC arbeitest, würde ich einen CRC nehmen und fertig. Entscheidend ist dann sowieso nur die frame-error-rate, da alles andere automatisch erkannt und verworfen wird.
Die bit-error-rate ist sozusagen der akademische Leistungsfähigkeits-Beweis :-)
Es funktioniert ja alles, aber ich wüsste halt gerne, was ich da genau mache, wenn ich die Schwelle für das DQD auf 4 setze.
Das Datenblatt des IA4420 von Integration ist beinahe wortwörtlich gleich und sagt auch nix Neues zum DQD. Muss ich wohl damit leben, ist ja auch nicht dramatisch.
Aber: Was ist denn das für ein Quatsch auf der Webseite von Integration? Datenblatt-Download nur nach Captcha-Eingabe?
Die haben auch den Vorteil das sie sich drucken lassen. Ich weiss nicht ob ihr es schon gemerkt habt aber die Versionen von Hope haben ein Password gesetzt damit man sie nicht drucken kann. Da muss man erst den Umweg gehen und sie als Postscript umwandeln. .-)
Ich arbeite Momentan mit 1000Baud, obwohl ich es auch schon mit
20000Baud probiert habe. Das macht aber keinen Unterschied.
Das SPI-Interface der Kiste ist...nun ja.. nicht jugendfrei. Normalerweise 16Bit, bei Status 18Bit, aber wenn einem danach ist dann auch mal nur 1Bit. Und wenn ich das richtig sehe gibt er FFIT/RGIT bereits ohne Takt oder 0Bit auf SDI aus.
Da faellt mir nichts auf. Momentan gehe ich der Theorie nach das die Baudrate unterschiedlich ist obwohl das nicht so sein sollte da ich den Source zwischen Palmpilot und M16 weitestgehend kopiert habe. Grund ist das ich z.B das hier sende:
Send: aa aa aa 2d d4 Send: 01 01 01 01 80 80 80 80 f0 f0 f0 f0 0f 0f 0f 0f
Hm..aber bei mir reicht es noch nicht. ICh glaub ich brauch noch zwei Seiten mehr....
BTW: Die haben ja auch noch ein Datenblatt mit Programmierbeispiel in C fuer AVR und PIC. Da sind auch ein paar Macken drin.
Ausserdem dachte ich bisher immer PICs sind nur kacke wenn man sie in Assembler programmieren muss, aber nachdem ich den C-Source zum PIC gelesen habe weiss ich warum ich die nur fuer sehr viel Geld anfassen wuerde.
Interessant waere ja noch wie lange die syncron bleiben nachdem man vor dem Startword seine drei 0xaa geschickt hat.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.