Benutzer-Werkzeuge

Webseiten-Werkzeuge


contiki:a-n-solutions-module:atany24001-module

Contiki Portierung auf die AT-ANY-1 Module (@ANY2400-1, @ANY900-1)

In der oberen Abbildung ist das Development Board mit dem @ANY2400-1 zu sehen, das @ANY900-1 besitzt den gleichen Aufbau. Ebenfalls ist dort der PIN, welcher für printf()-Ausgaben verwendet werden kann angegeben. Auch hier wird wieder ein Level Shifter benötigt, siehe RS232 Debugging des Raven Boards (ATmega1284P). Das Board verwendet wie das Zigbit Board von Atmel einen ATmega1281 Prozessor. Jedoch kommt als Funkchip nicht der AT86RF230, sondern der AT86RF231 (bei 2,4Ghz) bzw. der AT86RF212 (bei 900Mhz) zum Einsatz. Glücklicherweise unterstützt Contiki ab Version 2.5 mit den RF230bb Treibern auch den AT86RF231 sowie den AT86RF212 Funkchip. Es kann somit mit TARGET=avr-zigbit auch für das @ANY2400-1 sowie das @ANY900-1 kompiliert werden. Im Auslieferungszustand sind die Daten auf dem EEPROM durch die Fuse EESAVE geschützt. Da Contiki die MAC Adresse jedoch innerhalb des EEPROMs speichern will, muss vor der Programmierung die Fuse EESAVE deaktiviert werden. Wird dies nicht getan, so meldet das AVR Studio einen Fehler und es ist eventuell keine Netzwerkkommunikation möglich. Zum Deaktivieren der Fuse genügt es innerhalb des AVR Studios im Fenster „Programm AVR“ (Tools/Program/Auto Connect) im Reiter „Fuses“ den Haken bei der Fuse EESAVE zu entfernen und anschließend mit einem Klick auf „Program“ die Einstellungen auf den Mikrocontroller zu schreiben (siehe Abbildung unten). Danach sollte das Beschreiben des EEPROMs probelmlos möglich sein.

Hinweis: → Die @ANY Module für 2,4GHz besitzen den AT86RF231 Funkchip, dieser bietet die Möglichkeit einen externen Verstärker nachzuschalten. Dies wurde innerhalb den @ANY-2400-Modulen realisiert. Damit dieser Verstärker nicht immer aktiv ist, bietet der AT86RF231 einen Ausgangspin, welcher beim Senden aktiv wird und somit den Verstärker steuert. Diese Funktion muss jedoch aktiviert werden. Dazu muss innerhalb des Registers 0x04 (TRX_CTRL_1) das 7. Bit (PA_EXT_EN) auf High gesetzt werden. Dies kann innerhalb der Datei rf230bb.c in der Funktion rf230_warm_reset() mit den folgenden Codezeilen realisiert werden.

innerhalb rf230bb.c

/*sz*/
/*set external PA in on state, used for @ANY modules*/
uint8_t reg_trx_ctrl_state;
reg_trx_ctrl_state = hal_register_read(0x04);
reg_trx_ctrl_state = (reg_trx_ctrl_state) | (0x80);
hal_register_write(0x04, reg_trx_ctrl_state);
/*sz*/

→ gesamte Datei (Änderungen markiert mit /*sz*/) rf230bb.c

contiki/a-n-solutions-module/atany24001-module.txt · Zuletzt geändert: 2017/01/24 18:49 (Externe Bearbeitung)