Hat jemand versucht dieses RF chip an atmega32 zu verbinden ?. Im datasheet steht das er 4 Linien fuer SPI benutzt aber es gibt kein beispiel wie ich das mit MCU verbinden kann.
Atmega32 wird auf internal 8mhz osc arbeiten und an rf chip sollte ich eine baudrate zwischen 9600 - 19200 setzen. Bin nicht 100% sicher aber ich denke das ich 9600 benutzen werde...
Hat jemand ein Beispiel wie ich das verbinden kann ?
Dazu müsste ich mich ersteinmal genauer in das Datenblatt einlesen. Aber was mir an deiner Schaltung als erstes auffällt, ist die fehlende Beschaltung des CS* Anschlusses. Den solltest du nach GND ziehen.
Ansonsten müsste das so wie von dir gezeichnet prinzipiell funktionieren. Ich würde aber noch abchecken, ob die Daten über SPI oder FSK eingespielt werden müssen. Wenn du die Daten komplett über SPI ein- und auslesen kannst, sollte auch RCLKOUT nicht benötigt werden.
Wie schon geschrieben, ich verwende RFM01 und RFM02. Da gibt es auch einen FSK Pin, den man aber normalerweise nicht verwendet, bzw. mit einem Widerstand nach + oder GND zieht.
Noch eine Sache: Die SDI und SCK Leitung hast du mit RXD und TXD verbunden. Die Pins könnte man grundsätzlich schon verwenden, aber nicht als UART. Der ATMega hat einen eingebauten SPI. Den könntest du verwenden. Ansonsten andere Pins nehmen, um nicht mit dem UART in Konflikt zu kommen und das SPI Protokoll in Software realisieren.
Nunja, ich sehe eine USI als Untermenge von TWI. Aber auch egal, der OP hat jedenfalls auf seinem Schaltplan GPIOs verwendet, was bei einer vorhandenen USI/TWI/SPI natürlich suboptimal ist.
----------------- So hab jetzt das auf neu gebaut. Ich sende neue schema im cca 2 Stunden.
Aber es gibt ein Problem... Muss ich CS auf GND setzen ? Ob ja, dann habe ich ein Problemm bei lotten,da ich keine richtige Lotkoblen fuer so etwas habe :-),
Noch eine Sache ... Wie kann ich RF balun einrichten. Erstens, is das notwendig ? Zweitens das sind echt nidrige Werte, wo kann ich soetwas finden ?
Manchmal ist es am Anfang einfacher, SPI oder auch I2C, beim ATmega heißt das TWI von Hand zu programmieren. Da weiss man dann wenigstens genau, wann welches Bit wie gesetzt wird. Ansonsten kann man bei der Initialisierung der entsprechenden Hardware Bausteine einiges falsch machen. Wobei SPI deutlich unproblematischer ist wie I2C.
Es kann sein, dass das einfach so funktioniert. Eventuell musst du CS* auch über einen Portpin zum richtigen Zeitpunkt auf GND ziehen, bzw. zwischendurch auf High. Das müsstest du aus dem Datenblatt entnehmen.
Tja...
Für den Anfang reicht es vieleicht, eine Drahtschleife anzuschließen. Ansonsten mal im Datenblatt nach Beispielen suchen. Das müsste man eigentlich selber wickeln können.
Ich würde erst einmal versuchen, eine kurze Funkstrecke zu überbrücken und mit danach Gedanken über die Optimierung der Antenne machen.
Aber: Ich würde einen RFM12 nehmen. Da ist die Antennenbeschaltung kein Problem.
Ach komm, weder I2C noch SPI ist eine Geheimwissenschaft und ohne Oszi oder besser LA wird man auf Dauer bei solchen Schaltungen ohnehin nicht glücklich werden.
Das sieht schon besser aus - aber MOSI und MISO müssen noch vertauscht werden: MOSI (Master Out) an SDI (Serial Data IN) MISO (Master In) an SDO (Serial Data OUT)
Es kann sein, dass CS auf Masse funktioniert, aber wahrscheinlich bleibt dann SDO immer als Ausgang aktiv. Der ISP -Anschluss, der auch an den SPI - Pins hängt, wird damit nicht funktionieren.
Darum würde ich CS unbedingt an einen IO des ATMEGA32 anschließen.
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.