Hallo,
ich möchte mit oben genanntem Modul eine Wireless UART realisieren!
Ich nutze ein fertiges Modul der Firma IMST nennt sich da WiMOD iM240A.
Dazu gibt es auch eine schöne Test Applikation die mir leider nicht viel
hilft da ich allerhöchstens binärdaten zur Verfügung gestellt bekommen
habe damit ich dieses Modul testen kann.
Und da die Firma nicht mit dem GCC arbeitet kann ich mir von denen keine
Sourcecodes zuschicken lassen damit ich mir des mal ansehen kann wie
dieses ZigBee Protokoll eingebunden wird.
Dieses Modul beeinhaltet ein ATMega328P und eben dieses AT86RF230 Rev.
B.
Von der ATMEL Seite habe ich ein paar Source Codes runtergeladen. Rate
da aber schon die ganze Zeit rum wo die SPI den Controller
ansteuert/initialisiert/etc. vielleicht bin ich auch nur blind! Aber bei
gefühlten 100 Sourcefiles habe ich womöglich einfach den überblick
verloren!
Ich habe die Suchfunktion bereits benutzt aber leider nicht die genaue
Verwendung des Protokolls entdeckt! Google war da auch nicht so
hilfreich! Ich habe allerdings gesehen das hier schon einige mit diesem
Modul Erfahrungen sammeln konnten und ich würde gerne etwas von diesem
Wissen abzapfen :D
Ich danke für jede Hilfe!
Arthur
Ja natürlich liegt das Interface auf einem Speziellen Port! Ich
kann/konnte aber bisher noch nicht wirklich aus den beispielen ATMEL
herauserkennen das dieses Interface irgendwo angesprochen wird!
Grüße
Wenn du überhaupt noch kein Gefühl hast, wie man diese ICs anspricht,
dann kannst du dir mal das µracoli-Projekt ansehen.
Allerdings wird dein ganz konkreter Modul dort derzeit noch nicht
unterstützt. Es werden aber schon Module unterstützt, die auf einem
ATmega88 basieren, der ja nun zumindest von deinem Controller nur
durch ein paar Kilobyte Flash und SRAM unterschiedlich ist.
Wenn man die Unterstützung deines Moduls da einbauen will, müsste man
aber außer dem reinen SPI-Interface (das ja vergleichsweise einfach
und standardisiert ist) noch die restliche Verdrahtung zwischen
Transceiver und Controller wissen:
. chip select (vermutlich der Pin /SS am ATmega328P)
. IRQ
. SLP_TR
. nRST (Transceiver-Reset)
Hast du einen Schaltplan oder anderen Hinweise, die einen Rückschluss
auf diese Verdrahtungsdetails geben?
Arthur schrieb:> Da habe ich mal die Verdrahtung des WiMOD angehängt!
Gut, dann sollte das kein Problem sein, eine Board-Definition für
µracoli draus zu machen. Da bei derartigen Modulen viel von der
fertigen Schaltung abhängt, ist es möglicherweise auch sinnvoll,
Varianten von Board-Definitionen vorzusehen. Sowas habe ich gerade
für Zigbits gemacht (ist allerdings bislang nur im CVS zu finden,
meines Wissens noch nicht in einem Release): da gibt es dann eine
Variante für ein Zigbit, bei dem die UART benutzt wird (damit kann man
all die Beispiele mit den PRINTFs benutzen etc.) und eine ohne UART
(wenn man das Ding später einsetzt und da nichts dran hat).
Übrigens: Bildformate Zwar ist das JPEG hier ohne nennenswerte
Artefakte, aber das nur, weil es offenbar wenig oder gar nicht
komprimiert ist. Das gleiche Bild als PNG hat nur 2/3 der Größe bei
gleichem Informationsgehalt.
Oh sorry! Da war ich wieder schneller mit der Maus als mim Hirn :D
Beim nächsten Upload versuche ich daran zu denken!
Ich habe mir ein bischen das uracoli Project angeschaut! Ist echt ne
wucht!
Muss ich eig. jedesmal beim Senden den Transceiver auf TX_ON schalten
oder eben auf RX_ON beim Empfangen?
Wenn ich mir die Sources Runterlade find ich zwar die Hexfiles für die
Wireless UART aber leider keine Projektdatei!
So nebenbei ne blöde Frage, was ist den ne CVS?
Arthur schrieb:> Muss ich eig. jedesmal beim Senden den Transceiver auf TX_ON schalten> oder eben auf RX_ON beim Empfangen?
Ja klar, woher soll er denn wissen, ob du nun gerade senden oder
empfangen willst?
Allerdings kannst du bestätigte Sendungen machen lassen, die werden
solange wiederholt, bis die Bestätigung des Empfängers eingetroffen
ist. In diesem Falle erfolgt das Umschalten zum Empfang der
Bestätigung ("ACK frame") automatisch.
> Wenn ich mir die Sources Runterlade find ich zwar die Hexfiles für die> Wireless UART aber leider keine Projektdatei!
Projektdatei, wofür? AVR Studio? Ich glaube, die werden nur
generiert, wenn man mittles scons ein Release-Paket schnürt ("scons
psrc"), ebenso die Makefiles. Intern arbeitet µracoli durchweg mit
scons als Werkzeug zum Bauen (das ist ein wenig ähnlich zu "make",
aber Python-basiert).
> So nebenbei ne blöde Frage, was ist den ne CVS?
Ein VCS (version control system):
http://de.wikipedia.org/wiki/Concurrent_Versions_System
Jörg Wunsch schrieb :
> Ja klar, woher soll er denn wissen, ob du nun gerade senden oder> empfangen willst?>> Allerdings kannst du bestätigte Sendungen machen lassen, die werden> solange wiederholt, bis die Bestätigung des Empfängers eingetroffen> ist. In diesem Falle erfolgt das Umschalten zum Empfang der> Bestätigung ("ACK frame") automatisch.
Dankeschön! Ich werde das umschalten erstmal manuell in meiner Software
vornehmen! Dann weis ich wenigstens was mein kleiner so treibt G> Projektdatei, wofür? AVR Studio?
Ja für AVR Studio!
> Ich glaube, die werden nur> generiert, wenn man mittles scons ein Release-Paket schnürt ("scons> psrc"), ebenso die Makefiles.
Mit "scons" habe ich überhaupt keine Erfahrung!
Ich Programmiere eig. immer auf PIC´s da muss ich mich nicht so sehr ums
Makefile kümmern! Erst seit diesem Projekt arbeite ich mich auf AVR ein.
Aber vielen Dank! Ich werde mir das mit "scons" mal genauer anschauen!
Grüße Arthur
Arthur schrieb:>> Ich glaube, die werden nur>> generiert, wenn man mittles scons ein Release-Paket schnürt ("scons>> psrc"), ebenso die Makefiles.>> Mit "scons" habe ich überhaupt keine Erfahrung!
Erfahrung damit musst du für die Benutzung auch nicht haben. ;-)
Du installierst dir einfach scons + Python aus dem Netz, und rufst
auf der Kommandozeile mal
scons -h
auf. Das sagt dir dann, was du alles damit tun kannst.
Alternativ kannst du natürlich mit Axel verhandeln, möglichst zügig
eine fertige Definition für dein Board zu bekommen, sodass er damit
dann ein fertiges Release macht. In diesem findest du dann auch wieder
deine AVR-Studio-Projektdateien.
Das IMST WIMOD im240a ist jetzt in den uracoli Source-Code eingepflegt
(bis zum naechsten Release im CVS), der Wireless UART funktioniert.
Build targets:
im240a fuer das Modul (ohne LEDs, Buttons, ...)
im240a_eval fuer das Eval Board (mit LEDs, Buttons, ...)
Known Bugs: Die LEDs muessen noch umsortiert werden und LED D1 wird noch
nicht angesprochen.
... achso und Danke an IMST, die mir freundlicherweise ein Kit
zum Testen gegeben haben.