Forum: HF, Funk und Felder ZigBit ZigBee Meshnetics


von alex (Gast)


Lesenswert?

hallo!

gibt es hier noch ein paar leute die mit dem zigbee modulen von 
meshnetics arbeiten?

weclhe erfahrungen habt ihr mit denen gemacht?

von Thomas F. (thomas-hn) Benutzerseite


Lesenswert?

Ich habe nur welche gekauft, aber noch nichts damit aufgebaut.
Mein bisheriger Eindruck ist: Im Datenblatt steht niergends welcher 
ATmega1281-Portpin mit welchem GPIOx des Moduls verbunden ist und der 
Hersteller "kann" einem auch net weiterhelfen.

von Alexander J. (alexanderj)


Lesenswert?

hi thomas,

schau mal: ZigBit_OEM_Module_Product_Datasheet.pdf (DOC.M-251~01v1.9)
S. 9

gruß alex

von Alexander J. (alexanderj)


Angehängte Dateien:

Lesenswert?

hier das pdf ;)

von Alexander J. (alexanderj)


Lesenswert?

hi thomas,

hast du eigentlich das dev. bzw. eval kit gekauft oder nur module?

gruß alex

von Thomas F. (thomas-hn) Benutzerseite


Lesenswert?

Nur Module (von Farnell)

von Thomas F. (thomas-hn) Benutzerseite


Lesenswert?

> schau mal: ZigBit_OEM_Module_Product_Datasheet.pdf (DOC.M-251~01v1.9)
> S. 9

Hallo Alex,

vielen Dank für das PDF. Da stehen die Infos wirklich auf seite 9.
Auf der Website des Herstellers gibt es aber wohl nur das hier
http://www.meshnetics.com/ZigBit_OEM_Module_Product_Datasheet.pdf

Und da ist auf Seite 9 die gleiche Tabelle, aber ohne die ATmega1281 
Angaben. Ich hatte den Hersteller diesbezüglich schon angeschrieben, 
aber nicht wirklich eine brauchbare Hilfe erhalten?!?
Wo hast Du denn das Datenblatt her? Hast Du ein solches Entwicklungskit 
erworben?

Gruß & danke nochmals,

Thomas

von alex (Gast)


Lesenswert?

musst mal schaun, ich hab version april 2007, das auf der homepage ist 
oktober 2007 ;). da will wohl meshnetics dass wir in zukunft weniger 
über ihre (mich oft ärgernde) module wissen!
ich hab das datenblatt mitte september runter geladen. hab leider auch 
kein dev kit was oft eine hilfe wäre.
sollen wir mal hier unsere programme offen legen?
hast du den bootloader? ohne ihn kommt man nicht sehr weit bzw. nur mit 
isp/jtag.

von Thomas F. (thomas-hn) Benutzerseite


Lesenswert?

Ich selber habe noch nichts damit gemacht....hab da momentan leider 
keine Zeit...würde mich aber auf jeden Fall interessieren.
Ich kenne die Module nur von der Hochschule Heilbronn....da gibt es 
momentan Seminar- und Diplomarbeiten auf dem ZigBee-Gebiet.

von Reinhold L. (Firma: privat) (rol)


Lesenswert?

Hallo Leute,

ich liebäugle mit den Modulen von Radiocrafts, da die Zigbee Module 
haben, die sowohl mit dem AtMega als auch mit dem TI / Chipcon (Core 
8051) bestückt sind.
Den 8051 kenne ich fast auswendig, in den AtMega müsste ich mich noch 
einarbeiten.
Habe weder mit den einen noch anderen ZigBee Modulen Erfahrungen.
Wäre nett, wenn mal jemand darüber etwas erzählen könnte.
Compiler, Einstellungen, Fehler im Stack, Einbindung eigener 
Applikationen, Reichweite, Antennen, Datenrate, Stromverbrauch etc. also 
all das Zeug, was einem Anfänger Kopfschmerzen bereitet.

Frohes Fest.

von Alexander J. (alexanderj)


Lesenswert?

@Reinhold Loose

ich arbeite mit den meshnetics modulen, haben auch den atmega 1281v.
zu programmieren an sicht ne easy sache.
der support von meshnetics, naja aber geht.
man muss allerdings dazu sagen, ich hab auch nur module und kein dev. 
kit.
beim dev kit wäre ein support offiziel dabei.

Compiler, gcc mit avr studio, also einwandfrei.
einstellungen, hab eine weile dazu gebracht bis sie wirklich liefen.
nachdem ich allerdings die pingPong appl. bekommen hatte und dadruch 
wussten was und wie zu setzen ist. kein problem mehr.
stromverbrauch bei mir bis jetzt 1mA im Sleep. 20mA Coordinator.
reichweite. hab wohl meinen dipol nicht ganz optimal, daher nicht 
besonders weit(2 räume).

von Werner (Gast)


Lesenswert?

Hallo Alexander,

kannst du mir die PingPong Application mal zukommen lassen, ich komme 
momentan mit den Modulen auch nicht richtig weiter, vielleicht würde das 
ja helfen.
Danke.

von Holger M. (nezaya)


Lesenswert?

Hallo,

ich hänge gerade auch bei der Initialisierung der Verbindung zwischen 
zwei Meshnetics Zigbee Modulen.

Ich habe auf beiden Modulen MAC, PAN_ID und die Logical_Adress gesetzt 
und überprüfe ob das Modul auch im richtigen Modus (Coordinator oder 
EndDevice) ist.

Konfiguraton:
Coordinator  logicalAddr 0x0
             macAddr  2
             ZIGBEE_COORDINATOR_TYPE

EndDevice    logicalAddr 0x15
             macAddr 3
             ZIGBEE_END_DEVICE_TYPE

Netzwerk     panID 0xD151

Das eine Modul (Coordinator) kann dann auch mit fw_joinNetwork() ein 
Netzwerk anlegen. Jedoch gelingt es mir nicht, ein als End-Device 
arbeitendes Modul mit diesem Netzwerk zu verbinden. Nach dem Aufruf von 
fw_joinNetwork wird immer der Lost-Handler aufgerufen.

Wenn ich auf beide Module die Software für den Coordinator aufspiele, 
kann jeweils nur das zuerst gestartete Modul ein Netzwerk eröffnen. Das 
zweite reagiert auf fw_joinNetwork mit Lost.
Das sollte wohl auch so ein, da ja schon ein Koordinator für das Netz 
exisitert und damit das Netzt nicht nochmal existieren kann.
Also scheint die Hardware zumindest ok zu sein.

Hat jemand eine Idee was noch fehlt, oder wo ich noch suchen könnte, 
oder ein Minimalbeispiel mit funktionierender Netzverbindung?

Gruß Holger

von Holger M. (nezaya)


Lesenswert?

Hi,

hab mein Problem inzwischen gelöst. Es lag an einem fehlenden Define im 
Makefile.

@Jan F.
Zum UART Bootloader kann ich leider nix sagen. Ich arbeite über JTAG.

Gruß Holger

von Jan F. (wishmaster)


Lesenswert?

Holger M. wrote:
> Hi,
>
> hab mein Problem inzwischen gelöst. Es lag an einem fehlenden Define im
> Makefile.
>
> @Jan F.
> Zum UART Bootloader kann ich leider nix sagen. Ich arbeite über JTAG.
>
> Gruß Holger

Wir haben das Problem gelöst. Der Bootloader auf dem Boards hatte einen 
weg. Haben den Bootloader über JTAG neu draufgespeilt. Nun funktioniert 
der Bootloader prima.

von Jan F. (wishmaster)


Lesenswert?

@ Holger M

Wir haben auch das Problem, dass wir kein Netz aufgebaut bekommen. Wir 
haben das mit dem SerialNet Programm, also über AT-Befehle ausprobiert. 
Heute haben wir das Ping Pong Programm getestet und es baut sich auch 
hier keine Netz auf.
Die WSN Demoapplikation funktioniert ohne Probleme. Die Hardware ist 
also Ok.

von Holger M. (nezaya)


Lesenswert?

@Jan F.:
Ich habe die PingPong Applikation nicht, kann dazu also nichts sagen.

Normalerweise sollte man aber davon ausgehen können, dass die 
vorgefertigte Demo-Applikation auf den Modulen problemlos läuft.

Wurden die originalen Hex-Files aus der Demo auf das Modul geladen, oder 
wurden die zuvor neu erstellt. Dann kann es evt. sein, das es einen 
Adresskonflikt gibt, wenn dem Makefile nicht die richtigen Parameter 
übergeben wurden. Beim Makefile der WSN-Demo, die in den freien 
Downloads dabei ist kann/muss man beispielsweise die MAC-Adresse für die 
einzelnen Module mit übergeben.
Aber wie gesagt, über die PingPong-Applikation kann ich nur spekulieren, 
da ich nur die frei verfügbare Version des Stacks von Atmel habe und da 
ist die nicht dabei.

Ansonsten kann ich nur sagen, dass wenn die Parameter MAC-Address, 
PAN-ID und NWKlogicalAddress gesetzt sind sowie das Modul die richtige 
Role haben (ein Coordinator, ein oder mehrerer Router bzw. EndDevices) 
fünktioniert das Netz auf Anhieb. Mehr muss man garnicht setzen.

Beim setzen der Device-Role sollte man überprüfen ob die Role auch 
verfügbar ist (oder sich sicher sein, dass dies der Fall ist). Je nach 
dem welche der Libs des eZeenet Stacks eingebunden werden kann es 
nämlich sein, dass das Modul z.B. kein Coordinator werden kann.

Außerdem ist nach einer Änderung der MAC-Adresse, oder der Role 
innerhalb der Software ein Neustart des Stacks nötig. Dazu gibt es die 
Funktion fw_warmReset(FALSE). FALSE sorgt dafür das die zuvor gesetzten 
Werte erhalten bleiben.


Gruß Holger

von Holger M. (nezaya)


Lesenswert?

Da sich hier doch einige mit den Zigbee Modulen vom Meshnetics 
beschäftigen und nicht immer alles ganz rund läuft, habe ich mal einen 
Eintrag im Wiki angelegt.

Meshnetics Zigbee

Dort können aufgetretene Probleme und vorallem deren Lösugen 
dokumentiert werden.

Wer Lust und Zeit hat, darf also Inhalt beitragen.

Gruß Holger

von Joan (Gast)


Lesenswert?

Hi.

Ich hab bei 3 ZigBit Modulen (ZDM-A1281-A2) versucht, per SPI und 
USBprog (mit 5V -> 3.3V levelshifter) die Signatur zu lesen.. aber keins 
funktioniert.. alle zeigen nur FF FF FF, was bei meinen anderen Atmels 
meistens Finito bedeutet :(
Ich hab sie aber wie rohe Eier behandelt (waren nigelnagelneu von 
Farnell) und war auch beim Löten ganz vorsichtig?!

Der USBprog liest zuverlässig: ATmega168, ATtiny13, ATtiny26 und 
ATtiny2313.. Levelshifter funktioniert hier auch problemlos (hier hab 
ich tlw. direkt an den Beinen gelötet..)

Wenn ich die ZigBit module an 3.3V häng, dann laufen die internen 
Oszillatoren wie im Datenblatt angegeben.. 4MHz an Pin 10 und 32kHz an 
Pin 7.

Die SPI hab ich wie im Datenblatt angegeben angeschlossen:
Pin 1: SCK
Pin 2: MISO
Pin 3: MOSI
Pin 8: RESET
Pin 23: GND
Pin 25: VCC

Langsam gehen mir die Ideen aus, was falsch sein könnte..
Muss man die Teile irgendwie speziell ansprechen? Im Datenblatt steht 
nix davon..

Grüsse und Danke für jede Hilfe
Joan

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Joan wrote:

> Wenn ich die ZigBit module an 3.3V häng, dann laufen die internen
> Oszillatoren wie im Datenblatt angegeben.. 4MHz an Pin 10 und 32kHz an
> Pin 7.

Wenn der 32-kHz-Quarz läuft, dann muss auch der AVR noch funktionieren.
Dieser Oszillator läuft nur an, wenn die Firmware ihm das sagt.

von Joan (Gast)


Lesenswert?

J. Wunsch wrote:

>Wenn der 32-kHz-Quarz läuft, dann muss auch der AVR noch funktionieren.
>Dieser Oszillator läuft nur an, wenn die Firmware ihm das sagt.

Also sind die Module schon mit einer Programmierung ausgestattet?

Ich bin bisher davon ausgegangen, dass ich den ATmega1281 im inneren 
direkt via SPI ansprechen kann.. und dass ich dann das eZeeNet und den 
ganzen anderen 802.15.4/ZigBee-API-HAL-Krams via Bibliothek in mein 
Programm in AVRStudio einbinde.. ist dem nicht so?

Wie ist da vorzugehen?
Steht das nur in der Doku der Eval-Kits?

Als ich grad nochmal gestöbert hab, bin ich in Meshnetics pdf 
(http://www.meshnetics.de/dl.php?id=17) zur 'ezeenet soft api reference' 
auf S.76 auf die Sache mit JTAG gestoßen: "To use the internal 
RC-oscillator, fuse bits should be set as follows (see table below). 
Check ON the following options in Fuses Tab before downloading the 
images through JTAG"..
Dh. ich werde als nächstes mein AVRICE mk2 nehmen und via den JTAG pins 
mal probieren ob ich was erreiche..

Danke schonmal für die bisherige Hilfe Jörg. Falls euch noch was 
einfällt, ich bin ganz Ohr :)

Grüsse
Joan

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Sorry, ich habe mir die Teile noch nicht so genau selbst angesehen.
Wenn du JTAG zur Verfügung hast, ist es allemal einen Versuch wert,
meiner Meinung nach machen die Leute bei Meshnetics alles via JTAG.

von Joan (Gast)


Lesenswert?

JTAG funktioniert.. hab die Signatur auslesen können, dh. meine Module 
sind noch ganz *puh, 90€ nicht im Eimer*

Dann werd ich mal versuchen weiter nach Anleitung ^^ (das pdf von weiter 
oben) die ISP via Fuses freizuschalten. Danke für die Tipps.

Wäre es für das Wiki wünschenswert die ATmega1281 <-> ZDM-A1281-A2 
Pinout als Tabelle zu beinhalten? Gäbs da Copyright probleme? Weil ich 
hab eins von den Modulen offen und konnte da alles durchklingeln..

Grüsse
Joan

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Joan wrote:

> Dann werd ich mal versuchen weiter nach Anleitung ^^ (das pdf von weiter
> oben) die ISP via Fuses freizuschalten.

Wofür brauchst du das ISP denn?

Kann es sein, dass der SPI-Bus einfach mal so verwurschtelt ist (da
wird ja wohl der AT86RF230 dranhängen), dass man ihn nicht für ISP
benutzen kann?

> Wäre es für das Wiki wünschenswert die ATmega1281 <-> ZDM-A1281-A2
> Pinout als Tabelle zu beinhalten? Gäbs da Copyright probleme? Weil ich
> hab eins von den Modulen offen und konnte da alles durchklingeln..

Wenn du es selbst ausklingelst, kann es keine Copyright-Probleme geben.

von Holger M. (nezaya)


Lesenswert?

Hallo,

ich habe noch nicht versucht  über ISP mit den Modulen zu kommunizieren 
und kann deshalb auch eigentlich nichts dazu sagen.

Aber seid ihr sicher, dass das überhautp geht? Weil immerhin ist der 
ISP-Anschluss im Datenblatt (Seite 9) als "Reserved for stack operation" 
beschrieben.

Ich hattte das so verstanden, dass die Schnittstelle damit nicht nutzbar 
ist. Ähnliche Erfahrungen habe ich zumindest mit anderen Modulen 
gemacht.

Gruß Holger

von Thomas (Gast)


Lesenswert?

Joan wrote:

> Ich hab sie aber wie rohe Eier behandelt (waren nigelnagelneu von
> Farnell)

Für mich waren aber die Preisen von Farnell viel zu hoch. Digi-Key 
verkauft viel billiger, und hat ziemlich schnell geliefert. 
http://dkc1.digikey.com/de/digihome.html. Direkt von MeschNetics ist 
natürlich noch billiger.

> Wäre es für das Wiki wünschenswert die ATmega1281 <-> ZDM-A1281-A2
> Pinout als Tabelle zu beinhalten? Gäbs da Copyright probleme? Weil ich
> hab eins von den Modulen offen und konnte da alles durchklingeln..

Soll kein Problem sein, ich hab' so eine direkt von MeshNetics Support 
bekommen ;). Kann später mit deine vergleichen :)

Gruß

von Joan (Gast)


Lesenswert?

J. Wunsch wrote:
>Wofür brauchst du das ISP denn?

"Dumm gelaufen" wär die richtige Antwort ;)

Ich hab bisher alle Atmels so angesprochen und mich blind drauf 
verlassen, dass das geht.. dh, die Boards wo die Funktmodule drauf 
kommen haben die SPI als Programmierschnittstelle jetzt drauf und nicht 
JTAG.
JTAG hatte ich keine Erfahrung mit - war für mich bisher nur die 
'Debug-Schnittstelle'.. das man darüber auch programmieren kann wusst 
ich nicht. Aber so langsam fallen die Groschen.

J. Wunsch wrote:
>Kann es sein, dass der SPI-Bus einfach mal so verwurschtelt ist (da
>wird ja wohl der AT86RF230 dranhängen), dass man ihn nicht für ISP
>benutzen kann?

Hm.. hab mal weiter geklingelt und die SPI-Verknüpfelung des RF230 mit 
dem ATmega1281 angeschaut: (Datenblatt RF230 Seite 10 - 
http://www.atmel.com/dyn/resources/prod_documents/doc5131.pdf)

ATmega1281.Pin10(SS) -----> SEL ----> RF230.Pin23(SEL)
ATmega1281.Pin44(PA7) ----> RST ----> RF230.Pin08(RST)

ATmega1281.Pin20(RESET) --> RESET --> ZDM-A1281-A2.Pin08(RESET)

..sieht also recht sauber aus und es sollte mMn funktionieren, den 
ATmega1281 allein anzusprechen, da das RST des RF230 ja vom ATmega 
gesteuert wird (mal weiter knobeln wie die SPI da beeinflusst wird).

Holger wrote:
>Aber seid ihr sicher, dass das überhautp geht? Weil immerhin ist der
>ISP-Anschluss im Datenblatt (Seite 9) als "Reserved for stack operation"
>beschrieben.

>Ich hattte das so verstanden, dass die Schnittstelle damit nicht nutzbar
>ist. Ähnliche Erfahrungen habe ich zumindest mit anderen Modulen
>gemacht.

Hm.. Punkt für dich. Das hab ich komplett übersehen :(
Insofern kann ich mir nur selbst Asche aufs Haupt streuen..

Allerdings hab ich das offizielle Datenblatt nicht so ernst genommen, da 
die UART-TXD/RXD Pins (13/14) in allen Zeichnungen und Tabellen 
vertauscht sind.. in genannter Tabelle stimmen nur die I/O und 
Description Spalten.. Dazu stimmt das Pad-Layout nicht ganz und die 
beiden Antenna Patterns für die PCB-Antenne widersprechen sich auch in 
ihrer Skalierung.
(Meshnetics hab ich das alles schon gemeldet)

Thomas wrote:
>Für mich waren aber die Preisen von Farnell viel zu hoch. Digi-Key
>verkauft viel billiger, und hat ziemlich schnell geliefert.
>http://dkc1.digikey.com/de/digihome.html. Direkt von MeschNetics ist
>natürlich noch billiger.

Hatte noch was anderes dort.. mir gings nur darum dass nicht alle meine 
Module 'hops' sind ;)
Aber danke für den Tip, werds mir merken.

Ok, wegen dem PinOut.. ich fügs dann am WE ein.. kann ich auch gleich 
noch die SPI-Verknüpfelung fertig dokumentieren.

Danke und Grüsse
Joan

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Joan wrote:

> ..sieht also recht sauber aus und es sollte mMn funktionieren, den
> ATmega1281 allein anzusprechen, da das RST des RF230 ja vom ATmega
> gesteuert wird (mal weiter knobeln wie die SPI da beeinflusst wird).

Naja, wenn die Pins in der Luft hängen beim RESET (den du ja zum
Programmieren brauchst), dann könnte es sein, dass der RF230 sich
auf den SPI-Bus draufklemmt mit seinem Ausgangstreiber.

von Joan (Gast)


Lesenswert?

So, ich weiß jetzt wieder wie ich drauf gekommen bin, dass es funzen 
müsste..

http://www.atmel.com/dyn/resources/prod_documents/S-RZ200SDK.pdf
Seite 15, 4.2 Programming the Boards: "All the boards can be programmed 
under AVR Studio using the supplied In-System Programmer, AVRISP mkII, 
from Atmel [7]"..
Im Nachhinein natürlich Blödsinn, weil die nicht die ZigBit Module auf 
den Boards haben, aber Hinweis genug für mich.

Nun ziehe ich aber den Joker, die RZRaven Boards von Atmel selber.

http://www.atmel.com/dyn/resources/prod_documents/doc8117.pdf
Schaut man im Hardware User Guide für die LCD-Module nach, kommt man im 
Schaltplan auf Seite 12 im Bereich A-1 (Ränder der Zeichnung beachten) 
auf eine ISP-Buchse, die genau so verschaltet ist, wie ich die für das 
ZDM-A1281-A2 Modul weiter oben angegeben hab.

Damit hätte ich also meinen Präzedensfall..

Hat jemand so ein RZRaven Set in der Evaluierung?
Auf der Embedded hatten die ja welche für rund 99€ oder wars noch 
mehr?..
Mal sehen ob ich so eins bekommen kann..

Grüsse
Joan

von Joan (Gast)


Lesenswert?

Ich hab mir jetzt mal das Timing/die Pegel während einem "Read 
Signature" beim Atmega168 und dann beim ZigBit Modul angeschaut.. für 
alle 4 Leitungen (MOSI, MISO, SCK und RESET).

Beim 168'er läuft alles am Schnürchen.

Beim ZigBit Modul von Programmer-Seite aus auch, dh. der RF230 innnen 
drin, hält die Leitungen jetzt nicht so dolle fest, dass da gar nix mehr 
geht, die Pegel sind einwandfrei.. also MOSI, SCK und RESET sind ok, 
aber MISO kommt nix, das ist immer high.

Laut Datenblatt hält der RF230 SCK und MOSI low, MISO steht nix drin 
(http://www.atmel.com/dyn/resources/prod_documents/doc5131.pdf - Seite 
7, Tabelle 4-4) - ich vermute daher tristate.

Laut Datenblatt vom ATmega1281 hört dessen SPI-Schnittstelle im Falle 
SPI = Slave Modus und SS-Pin von AUSSEN high nicht zu - würde ja zu 
meinem Ergebniss passen 
(http://www.atmel.com/dyn/resources/prod_documents/doc2549.pdf - Seite 
201, 21.1.1 Slave Mode: "When SS is driven high, all pins are inputs, 
and the SPI is passive, which means that it will not receive incoming 
data.".

ABER!

Gilt das auch für ISP?
Im 1281-Datenblatt unter 'Serial Downloading' zu finden.. (Seite 351, 
30.8 Serial Downloading). Dort ist nämlich nur von RESET, MISO, MOSI und 
SCK die Rede.. vom SS-Pin steht da kein Wort. Ich glaube also nicht, 
dass der SS-Pin für das ISP ne Rolle spielt.. wär auch Mist, wenns so 
wär.
Jemand ne Idee?

Grüsse
Joan

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ist das /RESET denn auch wirklich zum ATmega1281 geroutet?

Vorsicht, der AT86RF230 aktiviert seinen Ausgangstreiber an MISO bei
jedem select, auch wenn sein /RST aktiv ist.  Wenn du dir sicher
sein willst, dass der nicht in die Suppe spuckt und MISO hochzieht,
dann solltest du bei ihm sowohl /RST als auch SEL hochohmig auf Vcc
ziehen -- der ATmega fasst diese Leitungen ja nicht an, wenn er
selbst im reset ist.

Ja, /SS ist beim Programmieren egal, der ATmega überwacht MOSI und
SCK, wenn er im reset ist, und wenn er eine programming enable
Sequenz entdeckt, aktiviert er den MISO-Treiber.

von Joan (Gast)


Lesenswert?

>Ist das /RESET denn auch wirklich zum ATmega1281 geroutet?

ZigBit Pin 8 /RESET <----> ATmega1281 Pin 20 /RESET   ..direkt verbunden 
(1,8 Ohm)

>Vorsicht, der AT86RF230 aktiviert seinen Ausgangstreiber an MISO bei
>jedem select, auch wenn sein /RST aktiv ist.  Wenn du dir sicher
>sein willst, dass der nicht in die Suppe spuckt und MISO hochzieht,
>dann solltest du bei ihm sowohl /RST als auch /SEL hochohmig auf Vcc
>ziehen -- der ATmega fasst diese Leitungen ja nicht an, wenn er
>selbst im reset ist.

Hab den /RESET vom Mega1281 mal auf GND gelegt und den /RST und /SEL Pin 
am RF230 gemessen.. beide high.
Wie's im RF230 Datenblatt steht, muss dann auch /MISO high sein (wie es 
auch ist) mit Pull-Up intern.. aber das sollte der Mega1281 doch ziehen 
können um sich der Außenwelt mitzuteilen?!

>Ja, /SS ist beim Programmieren egal, der ATmega überwacht MOSI und
>SCK, wenn er im reset ist, und wenn er eine programming enable
>Sequenz entdeckt, aktiviert er den MISO-Treiber.

Ok. Wenn man ihn so 'blind' programmieren könnte wärs ja auch noch ne 
Überlegung wert.. mal morgen nen kleines Testprog machen.

Testweise /MISO zwischen Mega1281 und RF230 auftrennen muss ich mal mit 
Mikroskop schauen.. mit dieser 3-fach Brille hier wird das garantiert 
nix.

Mal 2 Bilder von dem offenen Modul:
http://img187.imageshack.us/my.php?image=zdma1281a22ya3.gif
http://img156.imageshack.us/my.php?image=zdma1281a21si8.gif

Grüsse und schönen Sonntag
Joan

von Joan P. (joan)


Lesenswert?

So, Wiki ist um ein paar Schnipsel reicher.. hoffe das mit dem Bild geht 
so (http://www.mikrocontroller.net/articles/Meshnetics_Zigbee)

Mit meinem Problem bin ich allerdings nicht viel weiter gekommen.
Ich habe mal die /RST und /SEL Pins vom RF230 direkt gesteuert 
(high/low) und mir dazu die /MISO Leitung angesehen (ohne USBprog auf 
der /MISO-Leitung).

..folgendes Ergebnis:

Fall   /RST   /SEL   /MISO
1      L      H      tristate
2      L      L      L (aktiv)
3      H      L      L (aktiv)
4      H      H      tristate

Fall 4 ist der mMn interessante Zustand, bei dem man per ISP proggen 
können sollte.

Mit USBprog wurden die tristate /MISO-Pegel auf High gezogen
Im Beitrag eins drüber hab ich die Passage im RF230 Datenblatt falsch 
verstanden: "..Note, when both SEL and RST are active, the MISO output 
driver is also enabled"
Das meint wohl, wenn beide auf Low gezogen werden (Fall 2 = active) und 
nicht, wie von mir gedacht (beide high = active = Fall 4).

Wenn ich jetzt keinen Knick im Hirn habe, müsste sich der ATmega im 
ISP-Modus eigentlich die MISO Leitung schnappen können, da der RF230 ja 
bei VCC anliegend /RST und /SEL high macht und damit /MISO tristate wird 
->> free for all.

Laut JTAG ist die SPI Fuse auf enabled.

Weiß nicht, was man jetzt noch probieren könnte?
Vielleicht nen Fehler bei USBprog? -> 
http://forum.embedded-projects.net/viewtopic.php?id=269

Grüsse
Joan

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Warum bist du eigentlich auf das ISP so erpicht, wenn du doch mit
JTAG zurecht kommst?

von Joan P. (joan)


Lesenswert?

Hab die Trägerboards für die Module schon in Auftrag gegeben, ohne JTAG, 
mit ISP.. ;)

von Olli S. (Gast)


Lesenswert?

Hallo,

Bei mir sind Alle Versuche mit ISP gescheitert, aber mit der Hilfe des 
Bootloaders sollte sich trotzdem noch die Firmware aktualisieren lassen. 
Ist dann halt etwas unbequemer als mit JTAG.

gruss

Olli

von Olli S. (Gast)


Lesenswert?

Hallo,

ich versuche immer noch, die Ping-Pong Anwendung zwischen
zwei Modems zum Laufen zu bringen, aber das klappt irgendwie
nicht.

Kann hier jemand bitte mal seine Makefile-Einstellungen posten
und eine kleine Schritt-für-Schritt Anleitung für den Test wäre
natürlich auch prima.


gruss

Olli

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Olli S. wrote:

> Bei mir sind Alle Versuche mit ISP gescheitert, ...

Ich habe auf einem völlig anderen Board auch Probleme, bei einmal
aktivierter Applikation (die den AT86RF230 ja aktiviert) noch mittels
ISP zu programmieren.  Ein AVRISPmkII schafft es gerade so, ein JTAG
ICE mkII im ISP-Modus nicht.  Der Grund dürfte folgender sein: der
AT86RF230 ist nach einem Power-On im Status P_ON, in dem er die
Digitalleitungen mit schwachen Pullup/-down-Widerständen vorbelastet.
Sowie die Firmware des Controllers aber losläuft, aktiviert sie den
AT86RF230, und dieser schaltet die Pull-Widerstände ab (damit sie im
Betrieb keinen Strom mehr verbrauchen).  Dies erfolgt in der Annahme,
dass der Controller ja nun die Steuerung übernommen hat und daher alle
Digitalleitungen selbst auf definierten Pegeln hält.

Dummerweise bricht diese Annahme zusammen, sowie der Controller in
dieser Situation einen Reset bekommt (z. B. eben den Externreset vom
ISP-Interface).  In diesem Moment floaten die Leitungen, und bspw.
durch Übersprechen besteht nun die Gefahr, dass der AT86RF230 aus
Versehen aktiviert wird.

Wenn die Applikation wieder gelöscht wird (chip erase), funktioniert
dagegen das ISP ordentlich, da der AT86RF230 seinen Zustand P_ON nicht
verlassen kann.

Zwei mögliche Abhilfen sehe ich da.  Erstens kann man die Reset-Leitung
vor dem Zuschalten der Betriebsspannung auf Masse klemmen.  Damit
verlässt der Prozessor seinen Reset nie, und kann den AT86RF230 nicht
aktivieren.  Die ISP-Schnittstelle hat als einzige Bedingung, dass
mindestens 20 ms seit dem Reset vergangen sein müssen, bevor versucht
wird, die programming-enable-Sequenz runterzuschreiben -- eine Höchst-
grenze gibt es aber nicht.  Man kann also einige Sekunden später daher
kommen und das ISP aktivieren.  (Was nicht geht, ist die Wiederholung
der Sequenz, aber die braucht man normalerweise ja nicht.)

Eine andere Abhilfe wäre, dass die Firmware selbst einen `Programmier-
modus' kennt: nach einem Power-On-Reset erkundigt sie sich nach dem
Zustand eines Tasters o.ä., und wenn dieser aktiviert ist, schaltet
sie den AT86RF230 nicht scharf.  Damit sollte anschließend das ISP
auch ganz normal funktionieren.

von Michael S. (Gast)


Lesenswert?

Könntet ihr kurz schreiben wo ihr die module bezogen habt ?
Hab mir heute mal den meshnetics-shop angesehen, da sind Versandkosten 
von 49.99 Euro aufgeführt ??
Versenden die aus Deutschland oder kommen da noch Zollgebühren dazu ?

Was für alternative Bezugsquellen kommen für einen Privatkunden noch in 
Frage ?

Vielen Dank

Michael

von madler (Gast)


Lesenswert?

Da ist doch so ein Thread mit einer DigiKey-Sammelbestellung.
Ohne jetzt Werbung dafür machen zu wollen (muss jeder selbst wissen ob 
er da mitmachen will), ist das zumindest eine Gelegenheit die relativ 
billig von DigiKey zu kriegen.

von Klaus G. (ktg)


Lesenswert?

Hallo zusammen,

ich finde das Teil hochinteressant, alleine schon deshalb, weil die 
Hardware sozusagen gebrauchsfertig ist, ohne daß man sich, wie bei 
Eigenkonstruktionen sonst nötig, im Detail z.B. mit dem RF-Design des 
PCB herumschlagen muß.
Was ich jedoch bisher nicht zuverlässig in Erfahrung bringen konnte, 
ist, welche Firmware denn nun im Lieferzustand drauf ist, insbesondere, 
ob der Bootloader schon drauf ist (der Rest ist mir egal, weil ich 
ohnehin eine eigene Applikation draufmache, aber ein vorhandener 
Bootloader würde mir schon enorm helfen). In einem anderen Forum habe 
ich den Eindruck gewonnen, daß bei früheren Lieferungen bereits Firmware 
drauf war, irgendwann später aber nicht mehr.
Weiß jemand, wie es derzeit ist? Und, sollte Firmware drauf sein, liegt 
wenigstens eine kleine Dokumentation bei, oder wie erfahre ich sonst 
z.B., mit welcher Baudrate der Bootloader arbeitet, ob er Handshake 
braucht und ob er srec- oder hex-Files verlangt?
Wäre dankbar für einen Hinweis.

Viele Grüße, Klaus

von Christian C. (Gast)


Lesenswert?

Hallo,

ich habe meine beiden Module hier gekauft:
http://www.dataspherewireless.de/manufacturers/meshnetics/meshnetics_zigbee_modules.htm

Gruss,
Christian

von Klaus G. (ktg)


Lesenswert?

Christian C. wrote:
>
> ich habe meine beiden Module hier gekauft:
> 
http://www.dataspherewireless.de/manufacturers/meshnetics/meshnetics_zigbee_modules.htm
>
Was hast Du bezahlt? Ich wollte es dort auch versuchen, bin aber an der 
Registrierung gescheitert, weil dort die UStID ein Zwangsfeld ist, ich 
als Privatperson aber keine habe.
Gestern habe ich meine bei DigiKey bestellten Module bekommen. Ich hatte 
4 bestellt, um in den Genuss der Versandkostenfreiheit zu kommen. Ich 
habe dafür komplett incl. Einfuhrumsatzsteuer (das Zeug kommt aus den 
USA, kam innerhalb von 3 Tagen) knapp 100 EUR bezahlt.

Um auch gleich meine oben gestellte Frage z.T. selbst zu beantworten: 
außer den nackten Modulen war nix dabei, schließe aber aus der 
Dokumentation des Entwicklungskits, daß Bootloader und SerialNet schon 
drauf sind, habe ich aber noch nicht geprüft.
Da ich das für den Bootloader notwendige Gegenstück bootloader.exe nicht 
bekommen kann, habe ich eine Source für Linux bei 
http://pervasive.researchstudio.at/portal/projects/meshprog dafür 
gefunden. Ich weiß noch nicht, ob ich mir ein Linux auf dem PC 
einrichte, um es dort zu kompilieren und laufen zu lassen, oder 
versuche, es für C#-Express anzupassen oder vielleicht nur die Methode 
abschaue und in VB-Express realisiere (da kenne ich mich besser mit 
aus).

Gruß, Klaus

von Christian C. (Gast)


Lesenswert?

Pro Modul 18,59EUR (o. MwSt)
Versandkosten 11,90EUR

Gesamt für zwei Module: 58,41EUR (inkl. MwSt)

von Günther Hanswurst (Gast)


Lesenswert?

Hallo!

wir haben auch so unsere Probleme mit der PingPong Application, es 
scheint kein Netz zustande zu kommen, blinken alle die ganze zeit nur 
grün...
jemand eine Idee, ob man im Quellcode manuell Änderungen vornehmen kann, 
damit man sicher eine Verbindung herstellen kann? jemand mit ähnlichen 
problemen eine lösung gefunden?


weitere frage: hat jmd. den quellcode von der ZBNDemo den er mir 
schicken könnte? da wir die Geräte für ein Projekt im Studium nutzen ist 
das sicher sehr sinnvoll. Meshnetics antwortet auf Emails leider nicht 
oder erst sehr spät...

danke im voraus

von Günther Hanswurst (Gast)


Lesenswert?

liegt das mit der pingpong-application vielleicht an einer falschen 
einstellung der knoten zu controller/router/enddevice?
wenn ich mir den Code so ansehe scheint ein enddevice nicht möglich zu 
sein, sondern nur controller/router auswählbar.
oder stellt man alle auf 0?
blick da nicht so durch :)

von Kall H. (kned)


Lesenswert?

hat es mittlerweile jemand geschafft son modul per SPI zu proggen?
hab mir 2 zigbit amp module zugelegt, bei denen gibts für den 
transmitter ne extra VDD leitung, wenn ich die nicht anschließ dürft der 
ja nicht in die suppe spucken

wenn ich versuch den atmega mit ponyprog einzulesen bekomm ich erst paar 
fehler und dann wiederholt 0x00 - 0xFF in 2er schritten zurück

hab das modul auch mal aufgemacht, SPI leitungen führen alle zum atmega, 
transmitter hat wie erwartet kein strom ...

von Kall H. (kned)


Lesenswert?

LOL

"ATmega640/1280/1281/2560/2561 data sheet page 351 section 30.8.1 Serial 
Programming Pin Mapping " - SPI pins != ISP pins ... umlöt

von Slawek B. (slab3r)


Lesenswert?

hallo ich hab da mal eine Frage,
ich hab hier ein dev-kit von MeshNetics und will jetzt die WSNDEMO 
ausprobieren. Also sämtliche Platinen wurden mit dem bootloader 
programmiert, ein Gerät hab ich durch die DIP-Schalter als coordinator 
definiert. Dieser coordinator wird auch im wsn monitor erkannt und die 
sensoren können auch ausgelesen werden, aber die anderen beiden 
platinen, die als enddevices arbeiten sollen und sich in das zigbee netz 
einklinken sollen, werden net erkannt. also sie kommen auch nicht in das 
coordinator netz rein, weil die grüne LED einfach weiter blinkt.
So nun meine Frage, muss man ein vor dem programmieren irgendwas 
anpassen? ich habe was von MAC adresse in Makefile gelesen, aber hab da 
nix gefunden.
könnte mir da bitte jemand auf die sprünge helfen?
ich bedanke mich im voraus schonmal für eure mühe.

gruß

von Eugen K. (kannsnet)


Lesenswert?

ok funktioniert mittlerweile alles, da scheint was mit den channel 
einstellungen schief gelaufen zu sein.

von Michael S. (Gast)


Lesenswert?

Hat jemand eine Library für die Meshnetics module für eagle oder für 
Target3001!  ? Oder einen Teil eines Layouts wo die Lötpads für die 
Module schon definiert sind ?

Danke
MIchael

von Klaus G. (ktg)


Angehängte Dateien:

Lesenswert?

Michael S. wrote:
> Hat jemand eine Library für die Meshnetics module für eagle oder für
> Target3001!  ? Oder einen Teil eines Layouts wo die Lötpads für die
> Module schon definiert sind ?
>
> Danke
> MIchael

Da kann ich helfen - für eagle.
In der Atmel.lbr am Ende unter ZDM A1281....

Gruß, Klaus

von Michael S. (Gast)


Lesenswert?

Genial !

Vielen Dank

Michael

von jood (Gast)


Lesenswert?

hallo
hat jemand zufällig die Peer-to-peer Data Exchange Application?
Kann die nämlich leider nicht finden, obwohl im eZeeNet API Reference 
Manual steht, dass es dabei sein müsste.
Wäre sehr dankbar dafür!

von m_t (Gast)


Lesenswert?

Guten Tag! Hat ZDM-A1281-A2 mit der Version 1.6.2.0 gekauft. Aber sie 
arbeitet korrekt (nicht verliert die Angaben bei der Sendung). Versuchte 
das letzte Durchnähen von der Web-Seite, aber sie arbeitet nicht. Ob 
jemand mir auf e-mail micro51@rambler.ru das Arbeitsdurchnähen für 
SerialNet.hex absenden kann.

von Rolf (Gast)


Lesenswert?

hallo!

weiss jemand die maximale anzahl an sendewiederholungen des AT86RF230 
die möglich sind?
dafür ist ja das register 0x2C zuständig,genauer die bits 4,5,6,7 
(MAX_FRAME_RETRIES).damit müssten es doch maximal 15 sendewiederholungen 
sein,oder?

und die maximale Anzahl an CSMA-Zugriffsversuchen ist 7?

danke für antworten

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Rolf wrote:

> damit müssten es doch maximal 15 sendewiederholungen
> sein,oder?

Ja.

> und die maximale Anzahl an CSMA-Zugriffsversuchen ist 7?

Beim AT86RF230: ja.  Aber vorsicht, damit bist du nicht mehr
aufwärtskompatibel zum AT86RF231: dieser benutzt den Wert 7 als
Kennzeichen, dass die Übertragung ohne CSMA/CA zu starten ist
(das kann man beispielsweise für GTS gebrauchen), und der Wert 6
wurden dort als reserviert markiert.

von Mario U. (zigbit)


Lesenswert?

Hallo Herr Bopp,
haben Sie ihr Problem schon gelöst? Wenn nicht, werde ich mich darum 
kümmern.

Gruß aus Leo

von Rolf (Gast)


Lesenswert?

hallo!

ich hab auch mal eine frage zu den modulen.
mein vorhaben ist es,wenn sich die batterieenergie eines ZDM-A1281-B0 
(was dazu dient sensordaten zu übermitteln) dem ende entgegen neigt,dass 
dies einem benachbarten modul über eine gemeinsame verbindung (also 
nicht per funk) mitgeteilt wird.
damit soll dieses zweite modul aus dem stromsparenden modus aufgeweckt 
werden und selbst anfangen daten aufzunehmen und zu senden.

ich hab mir das so gedacht:
der analog-comparator des aktiven moduls vergleicht ständig die 
spannung.sinkt diese kurz vor eine kritischen wert,wird z.B. ein portpin 
das als ausgang definiert ist auf 0 gesetzt.
->dem anderen (sich im stromsparenden modus befindliche) modul wird dies 
per externem interrupt (die beiden module sind über ein pin verbunden) 
mitgeteilt und es somit aufweckt.

dürfte das gehen oder ist es sinnvoller die kommunikation der beiden 
Atmega1281 über UART oder sonstiges zu erledigen?

danke für antworten...

von Axel (Gast)


Lesenswert?

Hallo Rolf,

auf den Meshnetics Modulen sind AT86RF230 radios verbaut. Diese
(und die anderen Atmel-Radios auch) haben intern einen Batterie
Monitor. Per Register write kann man die Schwelle einstellen
(1.7 ... 3.65V), ab der der Batteriemonitor Interrupt anschlägt.

Am besten du suchst im Datenblatt des AT86RF230 nach BATMON. Wichtig
ist noch zu wissen, dass der Interrupt des Batteriemonitors nach dem
ersten auftreten abgeschaltet werden sollte, da er "gehäuft" auftritt,
wenn die Spannung durch schwankenden Stromverbrauch des Moduls an der
eingestellten Schwelle herumwackelt.

Alternativ zum Interrupt kannst du auch das BATMON_OK Signal im Register
0x11 beobachten. Es ist allerdings ein Signal, d.h. wenn die Spannung
beim Senden oder Empfangen kurz einbricht, bekommst du das in dem 
Register
evtl. nicht mit. Also am besten, den ersten Interrupt abwarten und 
danach
BATMON_OK ueberwachen.

Gruss, Axel

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Rolf wrote:

> der analog-comparator des aktiven moduls vergleicht ständig die
> spannung.

Würde ich nicht tun.  Guck dir mal den Stromverbrauch an (Bild 210
im Datenblatt): das Teil braucht >~ 50 µA.

Entweder machst du's wie von Axel vorgeschlagen, oder du misst die
Spannung bei einem irgendwie periodischen Aufwachen (das kann ja
sehr selten sein, Batteriespannungen brechen im Allgemeinen nicht
innerhalb von 5 Minuten zusammen :) mit dem ADC nach.

> dürfte das gehen oder ist es sinnvoller die kommunikation der beiden
> Atmega1281 über UART oder sonstiges zu erledigen?

Pin zum Aufwecken ist OK, aber falls du mehr zu erzählen hast, solltest
du trotzdem RS-232 oder I²C für die Kommunikation in Betracht ziehen.
Die RS-232-Leitung kann ja auch zum Aufwecken an einen interruptfähigen
Pin parallel geklemmt werden.

von Rolf (Gast)


Lesenswert?

vielen dank für die schnelle antwort axel!

und um das auf meine überlegung weiterzuführen:
die ISR würde ich dann so konfigurieren,dass sie z.b. ein portpin setzt, 
was einen externen interrupt am anderen atmega1281 auslöst und ihn damit 
aktiviert?

gruß,holger

von Rolf (Gast)


Lesenswert?

ähh ich mein nätürlich rolf.keine ahnung wie ich grad auf den anderen 
name kam!? :)

von Rolf (Gast)


Lesenswert?

Jörg Wunsch wrote:

>Würde ich nicht tun.  Guck dir mal den Stromverbrauch an (Bild 210
>im Datenblatt): das Teil braucht >~ 50 µA.

Bild 210?kannst du mir die seite nennen-find unter 210 nichts?

>Entweder machst du's wie von Axel vorgeschlagen, oder du misst die
>Spannung bei einem irgendwie periodischen Aufwachen (das kann ja
>sehr selten sein, Batteriespannungen brechen im Allgemeinen nicht
>innerhalb von 5 Minuten zusammen :) mit dem ADC nach.

naja,über periodisches aufwachen: da müsste ich ja den ADC an die 
batterie des anderen moduls hängen um zu prüfen?!

>Pin zum Aufwecken ist OK, aber falls du mehr zu erzählen hast, solltest
>du trotzdem RS-232 oder I²C für die Kommunikation in Betracht ziehen.

also ich will den controller nur aufwecken.ihn selbst kann man dann so 
programmieren,dass er den transceiver und den sensor selbst aktiviert.

gruß,rolf

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Rolf wrote:

>>Würde ich nicht tun.  Guck dir mal den Stromverbrauch an (Bild 210
>>im Datenblatt): das Teil braucht >~ 50 µA.
>
> Bild 210?kannst du mir die seite nennen-find unter 210 nichts?

Du hast aber auch ins Datenblatt des ATmega1281 geguckt, nicht in
das für den AT86RF230, ja?  Bei mir ist es Seite 413, aber ich muss
nicht zwingend die letzte Datenblattversion hier haben.  Die
Überschrift ist

Figure 210. Analog Comparator Current vs. VCC

> naja,über periodisches aufwachen: da müsste ich ja den ADC an die
> batterie des anderen moduls hängen um zu prüfen?!

Nein, der aktive Knoten (wie aktiv er auch immer ist, das weißt nur
du) ermittelt das über seinen eigenen ADC.

von Rolf (Gast)


Lesenswert?

@ Jörg Wunsch:

ich hab die seite gefunden.scheinbar hast du eine etwas ältere 
version...aber am stromverbrauch hat sich nicht geändert ;-)

das mit dem periodischen aufwachen hab ich vorhin falsch verstanden,aber 
jetz weiss ich was du meinst. :)

nur mal ne dumme frage nebenbei: welche schnittstelle ist zum 
programmieren mit dem avr-studio in C am geeignetsten?JTAG oder?
ich bräuchte bei meiner anwendung den i²C zum sensordaten lesen und den 
SPI für die kommunikation mit dem transceiver.

danke,rolf

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Rolf wrote:

> nur mal ne dumme frage nebenbei: welche schnittstelle ist zum
> programmieren mit dem avr-studio in C am geeignetsten?JTAG oder?

Ich glaube, bei den Zigbits sind die ISP-Anschlüsse nicht rausgeführt,
da bleibt dir nur JTAG übrig.

von Rolf (Gast)


Lesenswert?

ich hab mir das BATMON-Register mal angeschaut.Das kann ich so wie es 
aussieht nicht nehmen,weil das nur im Basic Operating Mode geht.
Ich möchte/muss jedoch den Extended Operating Mode nehmen aufgrund von 
Kanalprüfungen und Empfangsbestätigungen (ACK).Dort geht das mit BATMON 
nicht.
So gesehen bleibt mir nur der Vergleich mittels periodischem Aufwachen 
des ADC übrig um die Spannung zu überprüfen.

Aber wenn ich mir den Stromverbrauch ansehe liegt der hier mit ca. 230µA 
@ 3,5V wesentlich höher als wenn ich das mit nem Analog-Comparator 
machen würde (60µA @ 3,5V)!

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Rolf wrote:

> ich hab mir das BATMON-Register mal angeschaut.Das kann ich so wie es
> aussieht nicht nehmen,weil das nur im Basic Operating Mode geht.
> Ich möchte/muss jedoch den Extended Operating Mode nehmen aufgrund von
> Kanalprüfungen und Empfangsbestätigungen (ACK).Dort geht das mit BATMON
> nicht.

Wie du zu dieser Meinung kommst, kann ich nicht nachvollziehen.

Der BATMON läuft komplett neben dem eigentlichen Transceiver und ist
von dessen Wohl und Wehe beinahe komplett unabhängig.  Das Einzige,
was er sich mit dem Transceiver teilt ist, dass er im sleep-Modus
abgeschaltet wird und dass er einen Interrupt auslösen kann.

Wenn du dir die Prinzipskizze des BATMON ansiehst im Datenblatt, das
ist letztlich auch weiter nichts als ein DAC und ein Komparator,
allerdings muss der Komparator dort halt nicht schnell sein, sodass
er Strom sparend aufgebaut sein kann.

[ADC]

> Aber wenn ich mir den Stromverbrauch ansehe liegt der hier mit ca. 230µA
> @ 3,5V wesentlich höher als wenn ich das mit nem Analog-Comparator
> machen würde (60µA @ 3,5V)!

Du sollst doch aber nicht permanent messen!  Dann braucht der ADC
aber auch nur periodisch Strom, danach ist er wieder deaktiviert.

von Sven (Gast)


Lesenswert?

Hallo!

Ich hab die Meshbean Development Boards von Meshnetics und möchte 
aufgenommene Sensordaten vom End Device zum Coordinator übertragen.
Die Daten sollen aber auf jedenfall über einen Router vom End Device zum 
Coordinator gelangen (also quasi eine Baumtopologie).

Meine Frage ist nun,was ich da alles am Router programmieren muss?
Reicht es etwa,das ich das Modul (z.B. über die DIP-Switches) als Router 
definiere?Oder müsste ich mit Hilfe der API´s Einstellungen z.B. in der 
Netzwerkschicht vornehmen??

Zwar ist in der WSN-Demo der Fall der Baumstruktur drin,aber mich 
verwirrt es halt ein wenig, wenn ich mir das Netzwerk mit dem 
WSN-Monitor anschaue und dort manchmal ein "Linie" vom End Device zum 
Router geht und manchmal direkt zum Coordinator!?In diesen beiden Fällen 
ändert sich dann automatisch auch die "Parent-Adresse" des End 
Device.Einmal halt 0x0000 (für Coordinator) und sonst gegebenenfalls 
eine Adresse für den Router.

Kann mir da jemand weiterhelfen?Wäre nett.

MfG,Sven

von Sven (Gast)


Lesenswert?

Hat hier keiner eine Antwort dazu?
MfG,Sven

von Gerhard (Gast)


Lesenswert?

Hat jemand hier im Forum schonmal mit den Meshbean-Boards Sensorwerte 
über I²C eingelesen bzw. allgemein mit der Schnittstelle auf dem Modul 
gearbeitet?

Also ich meine damit nicht die üblichen Beispielfunktionen mit dem 
Temperatur- bzw. Lichtsensor.

Gerhard

von Tommy T. (tommy776)


Lesenswert?

hallo.

hat hier jemand schonmal etwas auf den modulen mit dem Battery Monitor 
(BATMON) programmiert?
ich habe probleme bei der fehlerfreien ausführung der entsprechenden 
funktionen.
mfg,tommy

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Tommy Tacker wrote:

> ich habe probleme bei der fehlerfreien ausführung der entsprechenden
> funktionen.

Wenn du jetzt noch erzählst, welche Probleme du hast, kann dir
vielleicht auch jemand helfen...

von Tommy T. (tommy776)


Lesenswert?

mit unten stehender funktion möchte ich meine batteriespannung 
kontrollieren.jedoch kommt bei mir unten aufgeführtes "undefined 
reference"-problem.tippfehler liegen nicht vor und alle lib-datein des 
bitcloud-stacks sind auch in meinem makefile eingebunden.die header 
rfBattery.h ist ebenfalls in meinen c-files eingebunden.

void appEndDeviceTaskHandler(void)
{
 batmonReq.voltage = RF_1V85_BAT_VTG;// setze Schwellwert auf 1,85V
 batmonReq.RF_BatteryMonConf = RF_BatteryMonConf;//
Confirm-Handler-Aufruf
 RF_BatteryMonReq(&batmonReq);
...
}

mein problem:
die funktion "RF_BatteryMonReq(&batmonReq);"
die dazu dient die werte zu setzen und bei erfolg den confirm-handler
aufzurufen bringt mir den fehler:

D:\Meshnetics Version 2.3.0\ZDK_Complete\Sample
Applications\kranhaken/kranenddevice.c:33: undefined reference to
`RF_BatteryMonReq'
make: *** [link] Error 1
Build failed with 1 errors and 0 warnings...

woran könnte es also liegen das der fehler auftritt???

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ich habe mir den Bitcloud-Kram mal geladen.  Ich finde da nirgends
eine Dokumentation die besagt, dass eine derartige Funktionalität
implementiert sei.  Es gibt zwar unter MAC_PHY ein rfBattery.h,
aber weder zugehörige Dokumentation, noch scheinen die entsprechenden
Funktionen in der Bibliothek zu sein.

Zwar ist die Benutzung des battery monitors im AT86RF230 relativ
simpel, aber es sieht nicht so aus, als würde dir BitCloud irgendwie
Zugriff auf die Hardware geben wollen.

Das das ganze Paket von Atmel supported wird, kannst du ja dort mal
nachfragen, was es damit auf sich hat.

von Tommy T. (tommy776)


Lesenswert?

ich habe mal den support von avr angeschrieben.

>Jörg Wunsch wrote:

>...aber es sieht nicht so aus, als würde dir BitCloud irgendwie
>Zugriff auf die Hardware geben wollen.

wäre das nicht etwas verwerflich,wenn die leute von meshnetics damit 
werben,dass man mit bitcloud eigene anwendungen schreiben kann usw. und 
dann sind funktionen,die im stack aufgeführt sind nicht nutzbar??!?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Tommy Tacker wrote:

> wäre das nicht etwas verwerflich,wenn die leute von meshnetics damit
> werben,dass man mit bitcloud eigene anwendungen schreiben kann usw. und
> dann sind funktionen,die im stack aufgeführt sind nicht nutzbar??!?

Entscheidend ist doch aber nicht, was in irgendeinem Headerfile mehr
oder minder zufällig herumsteht, sondern was dokumentiert ist.  Da
ist es nicht dabei.  Das Feature, was du benutzen willst, ist also
einfach (noch) nirgends ,,beworben''.  ,,Eigene Anwendungen schreiben''
ist ziemlich allgemein, und dass du das damit prinzipiell kannst,
wirst du ja kaum in Abrede stellen wollen.

Ja, man hätte wohl das Headerfile besser vor dem Release löschen sollen,
da es sich ja offenbar auf eine ,,Baustelle'' bezieht, die im Release
selbst noch nicht drin ist.  Aber für dich würde sich dadurch gegen-
über dem derzeitigen Stand rein gar nichts ändern.

von Tommy T. (tommy776)


Lesenswert?

leider hast du wohl recht.mir scheint das auch so,als ob nur die 
funktionen anwendbar sind,die in der *.chm dokumentiert sind.

da ja am zigbit-modul die spi-schnittstelle für die kommunikation mit 
dem transceiver besetzt ist,werde ich wohl gar nicht erst auf das 
BATMON-register des transceivers zugreifen können,oder?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Tommy Tacker wrote:

> da ja am zigbit-modul die spi-schnittstelle für die kommunikation mit
> dem transceiver besetzt ist,werde ich wohl gar nicht erst auf das
> BATMON-register des transceivers zugreifen können,oder?

Ja, das sieht mir so aus, als wäre das nicht vorgesehen.  Das ist
in einem kompletten Stack ohnehin nicht ganz trivial.  Erstens
müsstest du ja sicherstellen, dass dein Zugriff auf den Transceiver
nicht mit möglichen Zugriffen des Stacks kollidiert.  Zweitens darf
der Transceiver sich nicht im Sleep befinden, denn dann kann man
auf seine Register nicht zugreifen.  Die Verwaltung des Sleep/Wakeup
wiederum kann man natürlich nicht am Stack vorbei machen, da der ja
seine Aktionen ebenfalls daran ausrichten muss.

Wenn man in die Bibliotheken reinschaut, dann findet man dort natürlich
die entsprechenden Funktionen, mit denen auf den Transceiver zugegriffen
wird.  Da sie aber nicht dokumentiert sind: use at your own risk.

von Tommy T. (tommy776)


Lesenswert?

hmm,ich persönlich finde das nicht so gut von meshnetics ein produkt auf 
den markt zu bringen,wo die hälfte noch gar nicht fertig ist. :(

naja,wenigstens dürfte dann noch der AD-converter frei sein,um ihn für 
die spannungsüberwachung zu nutzen!?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Tommy Tacker wrote:
> hmm,ich persönlich finde das nicht so gut von meshnetics ein produkt auf
> den markt zu bringen,wo die hälfte noch gar nicht fertig ist. :(

Hättest du es denn lieber, stattdessen gar nichts auf dem Markt zu
haben, weil ein solches Projekt nie wirklich endgültig fertig ist?
,,Die Hälfte'' ist ja auch eine ziemliche Übertreibung... nur weil
nun gerade dein Lieblingsfeature nicht dabei ist, dies so weit
aufzublasen, dass es 50 % ausmachen würde.

> naja,wenigstens dürfte dann noch der AD-converter frei sein,um ihn für
> die spannungsüberwachung zu nutzen!?

Ich glaube mich zu erinnern, dass ich beim Drüberfliegen dafür ein
API gesehen hätte, aber nachgucken kannst du selbst in der Doku.

von Tommy T. (tommy776)


Lesenswert?

>,,Die Hälfte'' ist ja auch eine ziemliche Übertreibung...

na klar ist das ne übertreibung,den genauen anteil an features die nicht 
machbar sind muss ich ja nicht prozentual wissen :)

>Ich glaube mich zu erinnern, dass ich beim Drüberfliegen dafür ein
>API gesehen hätte, aber nachgucken kannst du selbst in der Doku.

meinst du damit extra eine API für spannungsüberwachung oder ADC 
allgemein?
die wäre dann sicherlich in "adc.h" drin.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Tommy Tacker wrote:

> meinst du damit extra eine API für spannungsüberwachung oder ADC
> allgemein?

ADC allgemein, aber indem man Vcc als Referenz benutzt und Vbg
misst, kann man damit Vcc bestimmen.  Muss man allerdings kalibrieren,
da Vbg zu sehr streut.

von Tommy T. (tommy776)


Lesenswert?

Jörg Wunsch wrote:

>ADC allgemein, aber indem man Vcc als Referenz benutzt und Vbg
>misst, kann man damit Vcc bestimmen.  Muss man allerdings kalibrieren,
>da Vbg zu sehr streut.

naja,dass mit dem messen von Vbg ist auch wieder so eine sache.die adc.h 
von BitCloud bietet dies auch nicht an. :( zumindest erscheint mir das 
so.in der dokumentation des Stack kann nur bis zu "HAL_ADC_DIFF_CHANNEL7 
(ADC3 - ADC2 with gain 200x).laut datenblatt des ATmega1281 müsste es in 
BitCloud noch eine konforme Möglichkeit dem "1.1V(Vbg)" geben.tut es 
aber nicht


noch zur Info:

ich habe atmel mal angeschrieben.die möglichkeit das BATMON-register zu 
nutzen besteht im BitCloud nun definitiv nicht.

es ist geplant noch im april eine neuere version des Stacks raus zu 
bringen.dabei soll ein direkter registerzugriff auf den transceiver 
möglich sein.

von Gr (Gast)


Lesenswert?

Hi!
Anybody english-speaking coud help with meshbean2 board and zigbit 
modules?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Gr schrieb:

> Anybody english-speaking coud help with meshbean2 board and zigbit
> modules?

The Atmel AVR support?  Their official statement is that they are
continuing to support the modules, regardless whether they've been
obtained from Meshnetics directly, or now from Atmel.

von Gr (Gast)


Lesenswert?

May be someone have correnspondense between pinout m1281 and zigbit 
modules in meshbean2 boards?
Can one coordinator host 60 end-devices at the same time?
may be someone have programing zigbit modules w/o zigbit net stack?
thank

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Gr schrieb:
> May be someone have correnspondense between pinout m1281 and zigbit
> modules in meshbean2 boards?

Soweit ich mich entsinne, müsste das µracoli-Projekt (-> Google) diese
Module unterstützen.  Daher sollte es dort auch eine Liste des Pinouts
geben.  Stammte die nicht sogar aus diesem Thread hier?

(The main language of this forum is German.  Use embdev.net for
English-language fora.

As far as I remember, the µracoli project supposedly supports these
modules, thus it also ought to have a pinout mapping.  Didn't it even
show up above within this thread?)

von A. W. (uracolix)


Lesenswert?

Die Quelle fuer die interne Meshbean/Zigbit Verdrahtung stammt von hier 
und funktioniert, sowohl mit den 2.4GHz als auch mit den 900 MHz 
Modulen.

 - http://www.mikrocontroller.net/articles/Meshnetics_Zigbee
 - http://uracoli.nongnu.org/manual/usr/group__grpWdba1281.html
....
The source of the internal wiring was found on mikrocontroller.net [see 
links above] and is working as well with the 2.4GHz and 900 MHz modules.

Cheers Axel

von MasterAlexei (Gast)


Lesenswert?

Hallo zusammen,
habe gerade einen der meinen zwei ZigBit Modulen ans Himmel geschickt.

Mit der ISP habe die Fuse bits geändert im PonyProg, seitdem findet 
PonyProg den Kontroller nicht mehr.

Warum habe ich so getan?
Weil ich nicht die Software SerialNet zum laufen bekommen konnte - ich 
hatte keine Reaktion an UART TXD RXD pins des Modules.
ÜBERHAUPT. Sogar wenn ich mein Hostkontroller ins Reset setze, wird TXD 
Linie nicht mal auf 1 gehen, sondern bleibt auf 0 sitzen.

Und jetzt ist die Frage - weisst jemand, wie man den Modul zum Leben 
wieder bringen kann?

Und wie muss ich die UART Einstellungen setzen, um über UART Snitstelle 
mit den ganzem Modul zu sprechen.

von MasterAlexei (Gast)


Lesenswert?

Was aber interessant ist, auf dem Pin CPU_CLK ist ein Clock signa vom 1 
MHz zu sehen.

von A. W. (uracolix)


Lesenswert?

Das 1MHz signal auf CPU_CLK stammt vom AT86RF230 (CLKM). Die originale 
Meshnetics Software verwendet dieses Signal als CPU Takt und stellt 
diesen bei der Initialisierung auf 4MHz um (so war es jedenfalls mal).

Kannst du noch sagen, welche Fuse Werte du programmiert hast ? Solange 
die JTAG Fuse nicht abgeschaltet ist, hast du mit einem Dragon oder 
JTAG-ICE noch eine Chance.

von MasterAlexei (Gast)


Lesenswert?

Hallo Axel,
Danke für schnelle Antwort!

Hier ist das Bild von PonyProg Fuse Dialog:
http://masteralexei.homelinux.net/images/Fuse1281.jpg
Wie man sieht, JTAGEN is auf 0 - also programmiert.
Ich habe bei mir einen JTAG-ICE der ersten Generation noch. Kann ich mit 
dem was machen? Mit welchem tool ist es möglich?

Danke in voraus,
Es wäre super, falls das Modul geretet wird.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

MasterAlexei schrieb:

> Ich habe bei mir einen JTAG-ICE der ersten Generation noch.

Offiziell kann man damit den ATmega1281 nicht programmieren, und
zumindest den Flash wirst du damit keinesfalls programmieren
können (da hat sich an der JTAG-Behandlung was geändert gegenüber
dem ATmega128).

> Kann ich mit
> dem was machen? Mit welchem tool ist es möglich?

Für das Setzen der Fuse könntest du mal gucken, ab avrdude das kann.
Ich sehe auf den ersten Blick nichts, warum es den Dienst komplett
verweigern sollte, auch wenn diese Kombination `unsupported' ist
von der JTAG-Hardware.  Ggf. kannst du auch behaupten, du würdest
einen ATmega128 programmieren (der wurde ja vom alten ICE noch
unterstützt) und dann mit der Option -F den Test der Signatur
abschalten.

von MasterAlexei (Gast)


Lesenswert?

Jörg Wunsch! Super! Danke!

Also - fuse bits kann ich rauslesen mit dem avrdude 5.4 für Win32
und es scheint, dass die richtig rausgelesen werden.

Jetzt wäre es die Mögligkei die reinzuschreiben, wollte aber erst 
fragen, welche Fusebits habt ihr in Ihren Modulen, damit ich den chip 
nicht komplett ins Nirvana schiecke.
Am besten die Werte, wie die beim avrdude angenommen werden.
Danke!!!

von A. W. (uracolix)


Lesenswert?

Welche Werte liest du denn aus ? Man koennte mit einer Interpretation 
des aktuellen Zustandes anfangen, damit man hinterher nicht ganz 
conFUSEd ist ;-)

von MasterAlexei (Gast)


Lesenswert?

das wurde rausgelesen

E fuse - 0xFF
H fuse - 0x88
L fuse - 0xEF
Also - genau dass, was auf dem Bild von PonyProg Dialog.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Eine low fuse von 0xE0 müsste OK sein.

von Alexey M. (masteralexei)


Lesenswert?

Jörg Wunsch schrieb:
> Eine low fuse von 0xE0 müsste OK sein.

Hurra! Es funzt wieder, ich kann den wieder lesen und programmieren.

Aber jetzt andere Problem. Wie kann ich die SerialNet Software zum 
Laufen bekommen?
Was ich gemacht habe ist folgendes:
1. Reset Line auf Logic 1. also 3.2 Volts
2. den Modul mit Microcontroller über UART_TXT UART_RXD UART_CTS 
UART_RTS Linien verbunden.
3. CTS ist als eingang bei dem uC.
4. RTS ist auf 0.
5. über RXD sende ich (mit der Hilfe uC, natürlich) ein "AT" Kommando 
mit 0x0D am ende ("AT\n").
6. TXD bleibt auf 0.
(TXD RXD von der Seite des Modules gesehen, also pins 13 und 14 
entsprechen).

Muss ich irgendwelche Bedingungen auchalten um die Kommunikation 
zwieschen der Software SerialNet und meine uC zum laufen zu bekommen?

Ah ja. den Bootloader ist jetzt gelöscht.
Ich habe den HEX Datei von der Evaluation Software SerialNet genommen, 
die mit Bitcloud ZDK 1.4.1 runtergeladen habe.

Hat jemand schon die Evaliation Software ausprobiert? Oder muss ich was 
eigenes schreiben?

Danke in Voraus!

von Matze N. (hupe123)


Lesenswert?

sagt mal, weiß jemand warum die homepage von meshnetics down ist?!

von A. W. (uracolix)


Lesenswert?


von Matze N. (hupe123)


Lesenswert?

ok, aber wenn du dir das datum anschaust, dieser artikel ist vom feb. 09 
- ganz schön alt.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Matze Niemand schrieb:
> ok, aber wenn du dir das datum anschaust, dieser artikel ist vom feb. 09
> - ganz schön alt.

Ja, und?  Meinst du, Atmel hätte das nun alles gleich wieder
verscherbelt deshalb?

Sie haben den Zigbit-Teil von Meshnetics gekauft und vermarkten und
supporten das weiter.  Meshnetics hat ja noch mehr gemacht, aber
der Rest scheint wohl bei der Firmenpleite den Bach runter gegangen
zu sein.

Dieser NYT-Artikel vom November 2008 scheint ja so ziemlich das
einzige zu sein, was dazu mal irgendwo noch veröffentlicht worden
war, wenn man von Atmels Übernahmeerklärung absieht:

http://www.nytimes.com/2008/11/17/world/europe/17russia.html

von Christian B. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,
ich wechsel mal den Thread, weil meine Frage hier besser hinein passt.

Ich möchte gerne den IEEE 802.15.5 MAC-Stack auf die ATZB-900-B0 Module 
anpassen. Dazu bekam  ich von Atmel die Info, das RCB212 als Vorlage zu 
nehmen. ( Beitrag "802.15.4 / ZigBee" am 
11.01.2010).

Bei dem RCB212 orientiere ich mich an diesem Schaltplan:
http://www.dresden-elektronik.de/shop/media/products/0385317001215694416.pdf

Leider konnte ich für die ATZB-900-B0 Module keinen Schaltplan finden, 
so dass ich mich an diesem Wiki 
http://www.mikrocontroller.net/articles/Meshnetics_Zigbee orientiere.

Auf dieser Vorlage änderte ich die Pins zwischen AT86RF212 und 
ATmega1281.
AT86RF212     RCB212        ATmega1281
RST           PB5     -->   PA7
IRQ           INT0    -->   INT5

Was muss noch alles angepasst werden?

Mir ist irgentwie noch nicht klar, welche Hardware überhaupt auf den 
ATZB-900-B0 Modulen vorhanden ist. Beim RCB212 gibt es z.B. noch das 
AT25010A, das in der Datei "pal_board.c" ausgelesen wird.

Kann ich den im Wiki verlinkten Raven Board Schaltplan als Vorlage 
verwenden?

von Matze A. (matzeapa)


Lesenswert?

mir ist nicht ganz klar, was du eigentlich vor hast... naja, aber 
erstmal, ich arbeite selber mit diesen zigbee teilen, zwar mit dem 
ZDM-A1281-A2 (bzw deren derivaten) und nicht mit dem raven, aber in der 
software müssste es da keine großen unterschiede geben.
allerdings, laß dir gesagt sein, diese teile sind ätzend:
- mal fallen sie aus, beim nächsten mal anschalten (nachdem der strom 
weg war) gehen sie dann wieder
- mal muss man sie manchmal erst richtig "treten" bis sie die richtige 
kennung im netz annehmen
- ... schön sind die nicht
aber es funktioniert und momentan gibts, nach meiner bescheidenen 
meinung, nichts besseres... :)

was dir noch fehlt ist natürlich eine antenne :)
ansonsten kann es noch sein, das tx und rx an pin 13 und 14 am UART 
vertauscht sind, was beim ersten anwerfen des bootloaders zu 
verwirrungen führen kann :)
das AT25010A ist, laut google-ist-dein-freund.de ein eeprom mit SPI 
anschluss: 
http://www.atmel.com/dyn/products/product_card.asp?part_id=3033

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Christian B. schrieb:

> Auf dieser Vorlage änderte ich die Pins zwischen AT86RF212 und
> ATmega1281.
> AT86RF212     RCB212        ATmega1281
> RST           PB5     -->   PA7
> IRQ           INT0    -->   INT5

Das könntest du nochmal in Axels µracoli verifizieren, denn er
unterstützt ja sowohl die RCBs als auch die Meshbeans.

Meiner Meinung nach arbeiten die Zigbits mit externem Takt, der
von CLKM des Transceivers geliefert wird, während die RCBs mit
internem RC-Oszillator arbeiten und CLKM zum Pin T1 routen, damit
man damit den Timer/Counter 1 betreiben kann.

> Mir ist irgentwie noch nicht klar, welche Hardware überhaupt auf den
> ATZB-900-B0 Modulen vorhanden ist. Beim RCB212 gibt es z.B. noch das
> AT25010A, das in der Datei "pal_board.c" ausgelesen wird.

Das ist eine Besonderheit der Boards von Dresden Elektronik, da
werden die statischen Daten für das Board abgelegt (beginnend von
der MAC-Adresse).  AVR Studio hat so eine hässliche Neigung, den
EEPROM des AVRs immer wieder ungefragt zu löschen, sodass man die
Lösung mit dem externen EEPROM bevorzugt hat.

Da dein Zigbit das nicht hat, musst du dort die MAC-Adresse im
internen EEPROM hinterlegen (falls sich nicht sogar schon da ist,
kannst ja mal reingucken).  Irgendwo im pal_board.h gibt's ein
#define das festlegt, ob ein externer AT25010A benutzt wird oder
nicht.

> Kann ich den im Wiki verlinkten Raven Board Schaltplan als Vorlage
> verwenden?

Nein, der Raven ist komplett anders gestrickt.

von Christian B. (Gast)


Lesenswert?

Matze Apa schrieb:
> mir ist nicht ganz klar, was du eigentlich vor hast

Habe eine Platine mit ATZB-900-B0 Modulen, Antenne und Steckerleisten 
erstellt. Daten können unter Verwendung des BitCloud Stacks übertragen 
und empfangen werden. Soweit funktionieren die Module, aber ich möchte 
den IEEE 802.15.4 MAC Stack verwenden. Dafür ist allerdings noch eine 
Anpassung des 802.15.4 MAC Stacks an die Module notwendig.

Das RCB212 ist bereits angepasst und verwendet unter anderem AT86RF212 
und ATmega1281. Ich möchte das RCB212 als Vorlage nehmen und so 
umschreiben, dass ich meine Module verwenden kann.

Mich irritiert der DIG2 vom AT86RF212 (siehe 
http://www.atmel.com/dyn/resources/prod_documents/doc8168.pdf Seite 14) 
Der im Wiki beschriebene AT86RF230 hat den nämlich nicht.
Wofür wird der DIG2 verwendet, bzw wird er überhaupt verwendet?

@ Jörg

Jörg Wunsch schrieb:
> Irgendwo im pal_board.h gibt's ein
> #define das festlegt, ob ein externer AT25010A benutzt wird oder
> nicht.

Danke, die Definition stand im Makefile

Jörg Wunsch schrieb:
> Meiner Meinung nach arbeiten die Zigbits mit externem Takt, der
> von CLKM des Transceivers geliefert wird

Wenn ich die Fuses von den Modulen auslese, steht SUT_CKSEL auf Int. RC 
Oszillator. Dann arbeiten die Module doch auch mit dem Int. Oszillator, 
weil mit dem BitCloud Stack funktionieren sie, oder?

Mit welcher Frequenz wird T1 bei den ATZB-900-B0 Modulen getacktet? 
Richtet die sich nach dem Takt der CPU?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Christian B. schrieb:

> Wofür wird der DIG2 verwendet, bzw wird er überhaupt verwendet?

Der ist dafür gedacht, dass man über ein `input capture' von der
Timer-Hardware einen Zeitstempel bekommen kann für jeden empfangenen
Frame.  Wenn DIG2 passend programmiert wird, dann gibt er einen
positiven Impuls aus während der Zeit, in der ein Rahmen empfangen
wird.

Dieses Feature gibt's aber erst seit dem AT86RF231 und danach.  Keine
Ahnung, ob die 900-MHz-Zigbits das Pin zum Controller routen, die
alten mit dem AT86RF230 hatten dafür natürlich keine Chance.

>> Meiner Meinung nach arbeiten die Zigbits mit externem Takt, der
>> von CLKM des Transceivers geliefert wird

> Wenn ich die Fuses von den Modulen auslese, steht SUT_CKSEL auf
> Int. RC Oszillator. Dann arbeiten die Module doch auch mit dem
> Int. Oszillator, weil mit dem BitCloud Stack funktionieren sie,
> oder?

Gut, dann benutzen sie das doch nicht (mehr).  Hat möglicherweise nur
der erste Meshnetics-Zigbee-Stack so gearbeitet.  Laut der von dir
referenzierten Tabelle ist CLKM zumindest an XTAL1 des ATmega1281
geroutet.

> Mit welcher Frequenz wird T1 bei den ATZB-900-B0 Modulen getacktet?
> Richtet die sich nach dem Takt der CPU?

Da PD6 nicht beschaltet (bzw. nach außen geführt) ist, kann man den
Timer/Counter 1 dann nur sinnvoll mit einem Takt betreiben, den man
vom CPU-Takt ableitet.  Ist beim RC-Oszillator dann leider nicht so
genau, wobei man ihn zumindest regelmäßig vom 32-kHz-Timer
nachkalibrieren könnte.  Der Vorteil, CLKM an T1 zu routen (wie bei
den RCBs) ist halt, dass man einen quarzgenauen Takt für T/C1 hat,
allerdings nur während der Zeit, da der Quarzoszillator des
Transceivers läuft.

von Klaus G. (ktg)


Lesenswert?

Ich kann leider nirgendwo erkennen, ob die ATZB-900-Module bereits mit 
irgendeiner Firmware ausgestattet sind, d.h. sind sie sozusagen 
jungfräulich und man muss erst den Stack noch draufbeamen, oder können 
sie out of the Box via SPI oder UART in Gebrauch genommen werden, falls 
man mit dem zufrieden ist, was evtl. bereits drauf ist?

Danke für einen kurzen Hinweis und viele Grüße
Klaus

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Wenn du gar nichts findest, musst du mal Atmels Support befragen.  Ich
würde vermuten, dass die Teile mit einem Bootloader daher kommen, aber
ich hab' sie auch noch nicht selbst in den Fingern gehabt.

von Christian B. (Gast)


Lesenswert?

Wie könnte man den überprüfen, ob ein Bootloader auf den ATZB-900-B0 
Modulen drauf ist?

Die Module funktionieren nun mit dem IEEE 802.15.4 MAC Stack, aber 
leider nur im Non Beacon Enable Modus. Wenn im Makefile "BEACON_SUPPORT" 
definiert wird, verbinden sich Endknoten und Koordinator nicht mehr. Hat 
vielleicht jemand eine Idee wo der Fehler liegen könnte?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Christian B. schrieb:
> Wie könnte man den überprüfen, ob ein Bootloader auf den ATZB-900-B0
> Modulen drauf ist?

Ein JTAG ICE (oder einen AVR Dragon) benutzen und nachgucken?

> Die Module funktionieren nun mit dem IEEE 802.15.4 MAC Stack, aber
> leider nur im Non Beacon Enable Modus. Wenn im Makefile "BEACON_SUPPORT"
> definiert wird, verbinden sich Endknoten und Koordinator nicht mehr. Hat
> vielleicht jemand eine Idee wo der Fehler liegen könnte?

Ich würde mit einem Sniffer anfangen zu tracen.

von Christian B. (Gast)


Lesenswert?

Nun ich glaube, das ich beim Bootloader nicht helfen kann. Habe mit den 
Fuses experimentiert und den Speicher vieleicht überschrieben.

von Christian B. (Gast)


Lesenswert?

Jörg Wunsch schrieb:
>> Wofür wird der DIG2 verwendet, bzw wird er überhaupt verwendet?
>
> Der ist dafür gedacht, dass man über ein `input capture' von der
> Timer-Hardware einen Zeitstempel bekommen kann für jeden empfangenen
> Frame.  Wenn DIG2 passend programmiert wird, dann gibt er einen
> positiven Impuls aus während der Zeit, in der ein Rahmen empfangen
> wird.

>Dieses Feature gibt's aber erst seit dem AT86RF231 und danach.  Keine
>Ahnung, ob die 900-MHz-Zigbits das Pin zum Controller routen, die
>alten mit dem AT86RF230 hatten dafür natürlich keine Chance.

Der DIG2 wird nicht verwendet. Habe einen Schaltplan bekommen.

Im Beacon Modus schaltet der Endknoten den Transceiver an, wenn der 
Beacon erwartet wird. Beim IEEE 802.15.4 MAC Stack ist zwischen den 
Beacons der  Transceiver aus, aber der Mikrocontroller aktiv. Kann man 
den Mikrocontroller in einen Sleep Modus legen, wenn keine Kommunikation 
erwartet wird?

Wie implementiert man das Aufwachen des Transceiver? Geschieht dies mit 
Hilfe von einem CPU-Takt abhängigen Timer?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Christian B. schrieb:
> Kann man
> den Mikrocontroller in einen Sleep Modus legen, wenn keine Kommunikation
> erwartet wird?

Könnte man sicherlich...

> Wie implementiert man das Aufwachen des Transceiver? Geschieht dies mit
> Hilfe von einem CPU-Takt abhängigen Timer?

Genau da liegt der Pferdefuß.  Der Timer wird (wenn ich mich recht
entsinne, hab gerade keine Lust nachzusehen) mit dem CPU-Takt
betrieben.  Bei den nicht-Zigbee-Boards kann er alternativ, solange
der Transceiver läuft, via CLKM vom 16-MHz-Quarz extern getaktet
werden.

Der MAC müsste wohl so erweitert werden, dass beim Schlafengehen
der nächste Timer, der in der Queue ansteht, vom CPU-Takt-abhängigen
Timer umgelegt wird auf einen Timer, der vom 32-kHz-Quarz betrieben
werden kann.  Nach dem Aufwachen muss man dann die verstrichene Zeit
in TCNT1 und dessen Überlaufzähler "nachtragen", damit die restlichen
eventuell gesetzten Timer wieder sinnvoll laufen.

Ist halt keine völlig triviale Änderung.  Falls einen das Glattziehen
der restlichen Timer nicht interessiert, genügt es eventuell als
"quick & dirty hack", den "Ein Beacon wird erwartet"-Timer durch
einen separaten Aufruf auf den Timer 2 (mit 32 kHz Taktung) zu schieben,
statt die generischen Systemtimer zu benutzen.

von Christian B. (Gast)


Lesenswert?

Habe mal getestet, ob ich im IEEE 802.15.4 MAC Stack den ATmega1281 in 
den Power Down Modus legen kann. Doch nachdem der Power Down Modus 
aktiviert sein soll, benötigt mein Modul immer noch 8 mA.

In diesem Wiki  http://www.mikrocontroller.net/articles/Sleep_Mode fand 
ich den Hinweis, dass die JTAG Schnittstelle deaktiviert werden soll. 
Das bedeutet doch, dass ich über ISP programmieren muss. Aber mit ISP 
gibt es ja anscheinend, wie in diesem Thread beschrieben Probleme.

Wie bekommt man den ATmega1281 in den Power Down Modus?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nein, JTAG darfst du problemlos an lassen, aber OCDEN solltest du
unbedingt abschalten.  Sonst geht der Hauptoszillator nicht aus.

von Christian B. (Gast)


Lesenswert?

Fuse OCDEN ist abgeschaltet. Kann es sein, dass die Fuse per Software 
gesetzt wird? (Z.B. wie bei der CKDIV8)

Wenn ich die OCDEN Fuse setze, ist sie nach dem Ausführen des Programms 
wieder abgeschaltet.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Christian B. schrieb:
> Kann es sein, dass die Fuse per Software
> gesetzt wird? (Z.B. wie bei der CKDIV8)

Die Controller-Firmware kann prinzipiell keine Fuses verändern,
das ist ja der Sinn der Teile.  Bei hinreichend neuen AVRs kann man
sie allerdings von der Firmware aus lesen.

> Wenn ich die OCDEN Fuse setze, ist sie nach dem Ausführen des Programms
> wieder abgeschaltet.

Nur, wenn du AVR Studio benutzt.  Das fummelt selbstständig an dieser
Fuse herum, und insofern ist sie natürlich durch Software (nämlich
durch AVR Studio) veränderbar. ;-)  Stromverbrauchsmessungen solltest
du ohne angeschlossenen Debugger und am besten auch ohne JTAG ICE
machen (das zieht nochmal ca. 200 µA aus der Target-Spannung, die für
den Betrieb der Pegelwandler benötigt werden).

8 mA ist ganz normaler Betriebsstromverbrauch des ATmega1281, da hast
du es noch nicht einmal geschafft, ihn in den idle sleep mode zu
bekommen.  Dort würde er (bei 8 MHz CPU-Takt) nur noch knapp 2 mA
benötigen.  Im powersave sollte er nur noch einige µA brauchen.  Wenn
du den BOD aktiviert hast, sind es leider (der ATmega1281 ist noch
kein Picopower-Typ) um die 20 µA.

von Christian B. (Gast)


Lesenswert?

Danke für den Hinweis.
Das JTAGICE zog sogar fast 4 mA. Das Netzteil war nicht eingesteckt und 
die Spannungsversorgung des JTAGICE kam über USB. Ich vermute, dass 
deine 200 µA mit angeschlossenem Netzteil gemessen wurden.

Außerdem hatte ich noch einen Widerstand auf meiner Platine übersehen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Christian B. schrieb:
> Ich vermute, dass
> deine 200 µA mit angeschlossenem Netzteil gemessen wurden.

Sollte dem JTAG ICE eigentlich egal sein, woher es versorgt wird.
Möglicherweise irre ich mich bei meinen 200 µA auch, ist schon 'ne
Weile her, dass ich das zum letzten Mal gemessen habe.

von Christian B. (Gast)


Lesenswert?

Der Link Quality Indicator (LQI) soll laut 802.15.4 Standard eine 
Aussage über Stärke und / oder Qualität des empfangenen Pakets geben.
Bereich :(0 bis 255)Gibt es einen Bezug zu der Empfangsleistung in dBm?

Ich würde gerne ein Paket über eine Strecke X mit der Sendeleistung Y 
übertragen und die vom Receiver Empfangsleistung messen. Ist dies mit 
dem LQI möglich?

Wie könnte eine Alternative dieser Messung aussehen?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Christian B. schrieb:
> Der Link Quality Indicator (LQI) soll laut 802.15.4 Standard eine
> Aussage über Stärke und / oder Qualität des empfangenen Pakets geben.
> Bereich :(0 bis 255)Gibt es einen Bezug zu der Empfangsleistung in dBm?

Der LQI-Wert und seine Skalierung ist eine rein interne Geschichte
im Stack (MAC/PHY).  Dort steckt typischerweise ein wenig knoff-hoff
der Stackentwickler drin, vor allem dann, wenn man darüber noch eine
Netzwerkschicht hat (ZigBee-NWK), denn diese benutzt typischerweise
die LQI-Werte für die Ermittlung einer optimalen Route.  Dafür wird
man in der Praxis nicht umhin kommen, den Korrelationswert des
Empfängers irgendwie mit der Signalstärke zu kombinieren, denn du
willst einerseits schlecht korrelierende Signale (die dann typisch
durch Mehrwegeempfang zustande kommen) möglichst nicht bevorzugen,
solange ggf. ein stabiler empfangbares Signal selbst mit geringerem
Pegel verfügbar ist, andererseits willst du aber natürlich auch ein
gut korrelierendes Signal kurz vor der "Erbrechensgrenze" erkennen
können.

> Ich würde gerne ein Paket über eine Strecke X mit der Sendeleistung Y
> übertragen und die vom Receiver Empfangsleistung messen. Ist dies mit
> dem LQI möglich?

Der LQI-Wert vom AT86RFxxx ist der Korrelationswert des Empfängers,
d. h. eine Signal_qualität_, nicht -stärke.

Dafür kannst du entweder eine Momentaufnahme mittels des RSSI-Wertes
benutzen (wird aller 1 µs aktualisiert, wenn ich mich recht erinnere)
oder du benutzt den ED-Wert.  Der wird entweder separat ermittelt
(ED-Messung) oder aber impliziert innerhalb der ersten 128 µs beim
Empfang eines jeden Rahmens.

von Christian B. (Gast)


Lesenswert?

Danke, der Mac Stack beinhaltet den sogenannten Build Switch 
"RSSI_TO_LQI_MAPPING" der wie du schon gesagt hast auf einer ED-Messung 
basiert. Das ist vermutlich schon das richtige. Ferner werde ich mir mal 
das RSSI-Kapitel im Datenblatt des AT86RF212 angucken.

Noch mal zurück zu den Fuses.

Jörg Wunsch schrieb:
> Die Controller-Firmware kann prinzipiell keine Fuses verändern,
> das ist ja der Sinn der Teile.  Bei hinreichend neuen AVRs kann man
> sie allerdings von der Firmware aus lesen.

Mit Controller-Firmware ist in meinem Fall das AVR Studio gemeint? 
Bisher ging ich davon aus, dass Software generell keine Fuses verändern 
kann. Also quasi eine Art Hardware-Einstellung sind. Doch beim Mac-Stack 
verwendeten die CPU immer die 8 MHz. Auch wenn die Fuse CKDIV8 
programmiert ist. Die Erklärung fand ich im Datenblatt des ATmega1281 
auf Seite 51.

Demnach eine weitere Fuses die durch Software geändert und nicht nur 
ausgelesen werden kann. Ist die CKDIV8 Fuse eine Ausnahme, oder gibt es 
noch weitere Fuses, die bewusst per Software geändert werden können.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Christian B. schrieb:

> Mit Controller-Firmware ist in meinem Fall das AVR Studio gemeint?

Nein.  Die Firmware ist das, was auf dem (Micro-)Controller selbst
läuft.  Die kann keine Fuses ändern.

> Bisher ging ich davon aus, dass Software generell keine Fuses verändern
> kann.

AVR Studio (oder AVRDUDE) ist halt auch nur "Software".

[CKDIV8]

> Demnach eine weitere Fuses die durch Software geändert und nicht nur
> ausgelesen werden kann.

Nein, CKDIV8 wird nicht durch die Firmware geändert.  Die einzige
Funktion von CKDIV8 aber ist es, den Reset-Wert des Registers CLKPR
von 0b0000 auf 0b0011 zu ändern und damit den Master-Takt durch 8
zu teilen.  Damit soll sichergestellt werden, dass der AVR unter
allen zulässigen Versorgungsspannungen einen Takt bekommt, mit dem
er auch arbeiten kann.  Die Applikation kann aber stets und immer
daher kommen und CLKPR neu schreiben; in dem Moment ist sie selbst
dafür verantwortlich, dass der Prozessor nicht übertaktet wird.

Unabhängig davon, was die Applikation mit CLKPR anstellt: der Wert
der Fuse CKDIV8 bleibt davon unbeeinflusst.  Den kann man nur mit
einem Programmiergerät von außen ändern.

von Christian B. (Gast)


Lesenswert?

Im Datenblatt www.atmel.com/dyn/resources/prod_documents/doc8168.pdf des 
AT86RF212 wird auf Seite 107 in Tabelle 7-15 zwischen EU1 und EU2 
differenziert. Wo liegen die Unterschiede (Region)?

Der verwendete Frequenzbereich von 868,0 MHz bis 868,6 MHz ist neben der 
Sendeleistung auch durch eine duty cycle von 1% limitiert. Ich habe 
gelesen, dass an Stelle des duty cycle ein LBT durchgeführt werden kann.

Befinde ich mich innerhalb der vorgegebenen Richtlinien, wenn ich dem 
PIB Attribute phyCCAMode  Mode 3 zuweise?

von A. W. (uracolix)


Lesenswert?

>EU1, EU2, Wo liegen die Unterschiede (Region)?

Region nicht, im Datenblatt S. 109 ist erklaert, dass EU2 den Boostmode
verwendet und damit 1dB mehr Ausgangsleistung  erreicht und etwas mehr
Strom braucht .

>dass an Stelle des duty cycle ein LBT durchgeführt werden kann.

siehe S.88., Kap. 6.7, mit LBT kann die Dutycycle-Regelung umgangen
werden.

>PIB Attribute phyCCAMode  Mode 3 zuweise?
mode 3: Kanal ist frei, wenn Energy unter Schwelle "UND" kein Carrier,
ich denke das ist Ok. Lt. Datenblatt (6.7.1) soll die ED Schwelle bei 
-82dBm
liegen, d.h. mit CCA_ED_THRESH = 7 (Resetwert) misst du bei je nach 
Modulation bei -82 und -85 dBm, d.h. das sollte Ok sein.


SW-technisch ist beim LBT Mode zu beachten, dass,
wenn der Kanal vollstaendig belegt ist (Jammer), der LBT Mode nie mit 
einem IRQ endet , d.h. die Controller SW sollte intern ein TMO mitlaufen 
lassen, das. ggf. den LBT Versuch abbricht.

von Christian B. (Gast)


Lesenswert?

Vielen Dank für die Tipps.

Axel Wachtler schrieb:
> mit CCA_ED_THRESH = 7 (Resetwert) misst du bei je nach
> Modulation bei -82 und -85 dBm, d.h. das sollte Ok sein.

Dies bezieht sich doch auf den "Energy unter Schwelle" Wert. Ist dieser 
Wert alleine auch ausreichend?

Carrier Sence only ist vermutlich nicht ausreichend, da laut IEEE 
802.15.4 nur Standard konforme Signale mit gleicher Modulation und 
Spreizung empfangen werden können.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Christian B. schrieb:
> Befinde ich mich innerhalb der vorgegebenen Richtlinien, wenn ich dem
> PIB Attribute phyCCAMode  Mode 3 zuweise?

LBT ist das nicht, nein.  Lies dir einfach die Bedingungen für LBT
in der ETSI EN 300 220-1 durch.  Ist zu viel, als dass man das auf
drei Zeilen wiedergeben könnte.  Allein die Messzeit unterscheidet
sich drastisch von CCA gemäß IEEE 802.15.4.

von Christian B. (Gast)


Lesenswert?

Wenn der IEEE 802.15.4 MAC kein LBT nach ETSI Richtlinien implementiert 
haben sollte und man selber einen LBT Algorithmus schreibt bzw. die 
Funkanwendung so auslegt, dass der Duty Cycle von 1% erfüllt ist, muss 
diese Anwendung dann noch zusätzlich von der ETSI oder Bundesnetzagentur 
abgenommen werden?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Christian B. schrieb:
> Wenn der IEEE 802.15.4 MAC kein LBT nach ETSI Richtlinien implementiert
> haben sollte und man selber einen LBT Algorithmus schreibt bzw. die
> Funkanwendung so auslegt, dass der Duty Cycle von 1% erfüllt ist, muss
> diese Anwendung dann noch zusätzlich von der ETSI oder Bundesnetzagentur
> abgenommen werden?

ETSI oder BNetzA wirst du lange danach fragen, dir etwas abzunehmen. ;-)
Das eine ist ein Normungsgremium, das andere eine Überwachungsbehörde.
Aus dem täglichen Kommerzgeschäft sind die beide raus.

Du (*) musst eine Konformitätserklärung liefern, und du musst
dafür einstehen, dass sie korrekt ist.  Dazu musst du wissen,
welche Regelungen alle auf dich zutreffen.  Dementsprechend bist
du auch selbst verantwortlich, die Regelungen bezüglich duty cycle
und/oder LBT einzuhalten.  Irgendwelche Messlabors werden dir in
dieser Hinsicht ohnehin kaum einen Persilschein geben, sondern die
kümmern sich in aller Regel um die reinen HF-Eigenschaften.

(*) Mal in der Annahme, dass du der sogenannte "Inverkehrbringer"
bist.

von Christian B. (Gast)


Lesenswert?

Christian B. schrieb:
> Der verwendete Frequenzbereich von 868,0 MHz bis 868,6 MHz ist neben der
> Sendeleistung auch durch eine duty cycle von 1% limitiert.

Gilt das auch für den Verbindungsaufbau?
Wenn z.B. bei einem Koordinator, 20 Teilnehmer in etwa zur selben Zeit 
einen Activ-Scan durchführen, wäre es doch möglich, dass der Koordinator 
den duty cycle beim Senden der Antwort nicht einhalten kann. Muss der 
Anwender die Antworten des Koordinators vielleicht durch einen Timer 
verzögern?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Christian B. schrieb:
> Gilt das auch für den Verbindungsaufbau?

Diesen Begriff kennen die Regulierungsvorschriften nicht.

Ergo: es gilt für jeden einzelnen Sender.  Seine Funktion ist dabei
völlig egal.  Allerdings muss die Belegung nur über einen Zeitraum
von einer Stunde gemittelt werden, d. h. innerhalb dieser Stunde
darfst du maximal 36 s lang HF emittieren, oder aber du musst LBT
benutzen (im Rahmen der dafür zutreffenden Bedingungen).

von marcel (Gast)


Lesenswert?

Hallo liebe Leute,

es hat bisher wohl noch keiner Geschafft die ZigBits per ISP zu 
programmieren. Ich würde gerne ein Netz (3 Knoten) mit ZigBits aufbauen, 
also muss ich mir wohl einen JTAG zulegen. Kann da jemand was empfehlen?

Viele Grüße
Marcel

von Bernd Walter (Gast)


Lesenswert?

Wollte ja nichts mehr dazu schreiben, weil das alles so alt ist, aber 
nachdem auch dieses Jahr noch Meldungen dazu hinzu gekommen sind...

Ich lese hier immer MSIO/MOSI/SCK und vermutete Kollision mit dem RF230, 
aber beim MEGA1281 gibt es genauso eine Besonderheit in der 
ISP-Belegung, wie beim MEGA64/128, da sind MISO/MOSI vom ISP am USART0 
zu suchen und nicht am SPI wie bei den allermeisten anderen AVR.
PE0 = PDI (programm data in)
PE1 = PDO (programm data out)
PB1 = SCK (clock)
Da der RF230 eben nicht an PE0/1, sondern an PB2/3 hängt kann der da 
auch keine Signale beeinflussen.
Falls der ISP in der Werksprogrammierung natürlich abgeschaltet ist 
nutzt das Wissen allerdings beim ersten eigenen Zugriff auch nichts.

Was JTAG angeht - da kann ich aus preislichen Gründen einen Dragon 
empfehlen.
Den habe ich mir damals extra wegen dem Bedarf nach JTAG für die 
Raven-Boards besorgt und bin ziemlich zufrieden.

von Oliver R. (superberti)


Lesenswert?

Ja, der letzte Beitrag ist schon alt, aber meine Antwort ist evtl. doch 
für einige interessant:

Ich habe es geschafft ein ZigBit ATZB-24-A2 per ISP zu programmieren.
Das ganze aus der Not heraus geboren, da mir aus irgend einem Grunde die 
JTAG-Schnittstelle eines Moduls über Nacht abgeraucht ist ;-((

Folgender Aufbau:
AVROne!
ZigBit ATZB-24-A2
ISP-Frq: 100 kHz

SPI         ZigBit
-------------------------------
SCK    -->  SPI_CLK   (Pin 1)
MISO   -->  UART0_RXD (Pin 38)
MOSI   -->  UART0_TXD (Pin 39)
nRESET -->  RESET
VCC    -->  D_VCC
GND    -->  DGND

Damit konnte ich Fuses lesen/schreiben und das Teil neu programmieren.
Mehr als 200 kHz ISP hat nicht mehr zuverlässig geklappt.
Warum das Modul nicht mehr per JTAG kommuniziert, ist eine ganz andere 
Frage. Ich habe es bestimmt 30 mal neu programmiert und bin dann nach 
Hause gefahren. Am nächsten Morgen wollte der JTAG nicht mehr, obwohl 
der MC einwandfrei lief. Zuerst dachte ich schon, es haben sich die 
Fuses verstellt, aber die waren einwandfrei und wurden auch nie neu 
geschrieben.
Wer dazu eine Idee hat - immer her damit. Die anderen Module 
funktionieren nach wie vor einwandfrei am JTAG.

Viele Grüße,

Oliver

von M.B. (Gast)


Lesenswert?

Hallo,

ich hab ein kleines Problem und zwar ich lege mein ZigBit in den 
Schlafmodus. Dadurch ist "alles" im Schlafmodus. Ich brauche aber eine 
Uhr, die nebenher trotzdem läuft. Damit ich die Uhrzeiten jederzeit 
abrufen kann.
Hab leider keine Ahnung, ob das geht.
Kann mir da jemand helfen?

Danke im Voraus!

MFG

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.