freebus.org

Open Bus System
Aktuelle Zeit: 15. Juni 2015 14:48

Alle Zeiten sind UTC + 2 Stunden




Ein neues Thema erstellen Auf das Thema antworten  [ 18 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
BeitragVerfasst: 11. Juni 2013 01:07 
Offline
Fresh Boarder
Fresh Boarder

Registriert: 24. August 2012 20:41
Beiträge: 10
Hi,

ich habe für die Anbindung eines Miele Dunstabzugs (DA31[6|9]0) an den KNX Bus eine Spezialversion des Controllers entwickelt.
Diese basiert auf der LPC Sende/Empfangsstufe + dem AVR RF Controller Board + Teile des 8out app boards + Teile des 8 in app boards.
Die Eagle files sind im Anhang zu finden.

Die Steuerung des Dunstabzuges selbst übernimmt eine weitere Platine welche über I2C (mit PCA9600 tranciever) an den Hauptcontroller angebunden ist.

Soweit so gut, leider habe ich mit der knx Library auf dem 8 out teil ein problem mit den ausgängen 5 - 8 (später über i2c, die leds sind nur für den status), nach spätestens ein paar Schaltvorgängen, je nach parametrierung auch schon noch einmal schalten (wenn 5 - 8 alle auf die gleiche gruppenadresse zum testen parametriert sind) bekomme ich PERR oder FERR auf der seriellen Konsole und der UC fängt an komisch zu reagieren (kein "zurücksetzen" über bus mehr möglich, relais von 1 - 4 schalten nur teilweise, leds von 5 - 8 schalten nur teilweise, parametrierung aus ETS nicht möglich). Nach einem power cycle ist alles wieder normal. Die verwendeten Controller sind 328P, die sourcen sind vom git und aktuell, in der fbrf-atmega168p.h habe ich die IO's entsprechend für meine Änderungen angepasst (macht aber keinen unterschied, habs auch mit den original pins probiert). PWM habe ich ebenfalls aus dem Source code auskommentiert zum testen, keine änderung. Den PSU Teil auf der PCB hab ich ebenfalls mittlerweile deaktivert und hänge mit den UC's am Labornetzteil und Störungen in der Spannungsversorgung auszuschließen!!

Code:
V2.0
EEPROM:
0000: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
CRC
0010: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0020: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0030: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0040: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0100: FF FF FF 00 04 20 60 01 FE 11 40 00 00 FF E0 63
0110: A7 25 9A 00 00 00 07 11 08 28 0D 2B 00 2B 01 2B
0120: 07 2B 09 48 05 14 06 00 06 01 06 02 06 03 FE 04
0130: FE 05 FE 06 02 07 FE 08 FE 09 FE 0A FE 0B FE 0C
0140: FE 0D FE 0E FE 0F 03 10 04 11 05 12 01 13 FF FF
0150: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0160: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0170: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0180: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0190: FF FF FF FF FF FF FF FF FF FF 14 D6 54 9F 00 55
01A0: 97 00 56 97 00 57 97 00 58 93 00 59 93 00 5A 93
01B0: 00 5B 97 00 5C 93 01 5D 93 01 5E 93 01 5F 93 01
01C0: 60 C3 00 61 C3 00 62 C3 00 63 C3 00 64 C7 00 65
01D0: C7 00 66 C7 00 67 C7 00 00 00 00 00 00 00 00 00
01E0: 00 00 05 00 00 00 00 00 00 00 01 00 03 00 00 00
01F0: 00 00 00 00 00 00 55 55 CD 00 00 00 00 00 00 FF
ADR:07
G00:1108
G01:280D
G02:2B00
G03:2B01
G04:2B07
G05:2B09
G06:4805
ASOC:14
AG:06O00
AG:06O01
AG:06O02
AG:06O03
AG:FEO04
AG:FEO05
AG:FEO06
AG:02O07
AG:FEO08
AG:FEO09
AG:FEO0A
AG:FEO0B
AG:FEO0C
AG:FEO0D
AG:FEO0E
AG:FEO0F
AG:03O10
AG:04O11
AG:05O12
AG:01O13
COMM:14
O00F9FP54T00L00
O01F97P55T00L00
O02F97P56T00L00
O03F97P57T00L00
O04F93P58T00L00
O05F93P59T00L00
O06F93P5AT00L00
O07F97P5BT00L00
O08F93P5CT01L00
O09F93P5DT01L00
O0AF93P5ET01L00
OL00
O0DFC3P61T00L00
O
O10FC7P64T00L00
O11F13FC7P67T00L00
SET PIN00   +++ 00 +++  O07W

OBJ_07 00 00 OFF Sw SWITCH 00 TO 00   +++ 00 +++  O07W

OBJ_07 ss        Sw SWITCH 00 TO 80   +++ 80 +++  O07W

OBJ_07 00 00 O
F Sw SWITCH 80 TO 00   +++ 00 +++  O07W

OBJ_07
ss Sw SWITCH 00 TO 80   +++ 80 +++  O07W

OBJ_07
sF Sw SWITCH 80 TO 00   +++ 00 +++  O07W

OBJ_07 ¾ Sw SWITCH 00 TO 80   +++ 80 +++  O07W

OBJ_07
sF Sw SWITCH 80 TO 00   +++ 00 +++  O00W
O01W
O02W
À
OBJ_00 01 01 TIMER
OBJ_01 01 01 ON
OBJ_02 01 01 ON
OBJ_03 01 01 ON Sw SWITCH 00 TO 0F   +++ 0F +++  TIMEOUT Sw SWITCH 0F TO 0E   +++ 0E +++  O07W

OBJ_07
s Sw SWITCH 0E TO 8E   +++ 8E +++  O07W

OBJ_07
ssF Sw SWITCH 8E TO 0E   +++ 0E +++  O07W

OBJ_07 s Sw SWITCH 0E TO 8E   +++ 8E +++  O07W

OBJ_07 ssF Sw SWITCH 8E TO 0E   +++ 0E +++  PERR
O00W
O01W
O02W
O03W

OBJ_00 00 00 OFF
OBJ_01 00 00 OFF
OBJ_02 00 00 OFF
OBJ_03 00 00 OFF Sw SWITCH 0E TO 00   +++ 00 +++  O00W
O01W
O02W
O03W

OBJ_00 01 01 TIMER
OBJ_01 01 01 ON
OBJ_02 01 01 ON
OBJ_03 01 01 ON Sw SWITCH 00 TO 0F   +++ 0F +++  TIMEOUT Sw SWITCH 0F TO 0E   +++ 0E +++


Das +++ ist nur zum debuggen eingefügt... es scheint aber als würde der Teil des codes im Fehlerfall nicht mehr immer ausgeführt:

Code:
void switchPorts(uint8_t port, uint8_t oldPort) {
    DEBUG_PUTS("SWITCH ");
   DEBUG_PUTHEX(oldPort);
   DEBUG_PUTS(" TO ");
   DEBUG_PUTHEX(port);
    DEBUG_SPACE();

    // Disable PWM only if we switch an IO to high, release a relay does not need power.
//     if((oldPort ^ port) & port) {
//         /* change PWM to supply relays with full power */
//         DEBUG_PUTS("DISABLE PWM ");
//         alloc_timer(&app_dat.pwmTimer, PWM_DELAY_TIME);
//         SET_STATE(PWM_TIMER_ACTIVE);
//         ENABLE_PWM(0xFF); // --> This is 100% negative duty cycle (active low)
//     }

   
    IO_SET(1,(uint8_t)(port & 1<<0));
   IO_SET(2,(uint8_t)(port & 1<<1));
    IO_SET(3,(uint8_t)(port & 1<<2));
    IO_SET(4,(uint8_t)(port & 1<<3));
    IO_SET(5,(uint8_t)(port & 1<<4)); //Port 5 and 6 is reserved for I2C Bus
    IO_SET(6,(uint8_t)(port & 1<<5)); //Port 5 and 6 is reserved for I2C Bus
    IO_SET(7,(uint8_t)(port & 1<<6)); //Port 6 & 7 could be used but are on the I2C Receiver as well
    IO_SET(8,(uint8_t)(port & 1<<7)); //Port 6 & 7 could be used but are on the I2C Receiver as well
    DEBUG_SPACE();
    DEBUG_PUTS(" +++ ");
    DEBUG_PUTHEX(port);
   DEBUG_PUTS(" +++ ");
   DEBUG_SPACE();
   
   //i2c_send_daten(port);
   


Meine Frage: was bedeutet PERR bzw. FERR, wie kann ich hier mit der closed source weiter debuggen, hat jemand eine Idee was das Problem sein könnte.

PS: Zum compillieren und coden verwende ich AVR studio 6.1.2562
https://www.dropbox.com/s/at4wraa8ztyf0wy/controller-pcb.jpg

Ich hoffe jemand kann mir helfen!!!! :wink: :wink: :wink:


Dateianhänge:
Dateikommentar: Multiapp Board Eagle Files
Dunstabzug.zip [331.96 KiB]
65-mal heruntergeladen
Nach oben
 Profil  
 
BeitragVerfasst: 11. Juni 2013 08:58 
Offline
Expert Boarder
Expert Boarder

Registriert: 18. Juli 2007 10:38
Beiträge: 112
Hallo Lightning01,

hast du das mal in der Variante ohne Debug ausprobiert?

PERR bzw. FERR bedeuten Parity bzw Frame Error. Das Timing auf dem Bus ist sehr Zeitkritisch und wird vermutlich durch die vielen Debugausgaben gestört.
Deshalb die Bitte es einfach mal in der Release Variante auszuprobieren.

Sag mal Bescheid ob es dann funktioniert.

Gruß
Dirk


Nach oben
 Profil  
 
BeitragVerfasst: 11. Juni 2013 09:19 
Offline
Fresh Boarder
Fresh Boarder

Registriert: 24. August 2012 20:41
Beiträge: 10
Hi,

hab heute in der früh noch etwas weiter eingegrenzt... es sieht so aus als ob das Problem nur auftritt wenn Rückmeldeobjekte aktiviert sind. Weiters hab ich die ports 1 - 4 und 5 - 8 in der "fbrf-atmega168p.h" vertauscht, macht keinen Unterschied. Sobald jedoch Rückmeldungen aktiviert sind (obs nur mit aktivierten RM oder erst wenn auch wirklich eine RM Addresse Parametriert ist hab ich nocht nicht getestet) tritt das problem auf...

ich werde auf jeden fall am Abend mit ausgeschaltenem debugging auch nochmals testen.

Danke erstmal für die Rückmeldung und bis später


Nach oben
 Profil  
 
BeitragVerfasst: 11. Juni 2013 20:38 
Offline
Fresh Boarder
Fresh Boarder

Registriert: 24. August 2012 20:41
Beiträge: 10
Hi,

habe jetzt nochmals getestet, das problem tritt nur auf wenn für mindestens einen Kanal Rückmeldungen aktiviert !!UND!! eine RM addresse parametriert ist, also nur wenn wirklich rückmeldediagramme gesendet werden müssen, da aber fast immer gleich beim ersten mal oder spätestens beim zweiten versuch!! hierbei ist es auch egal ob mit libfptpdebug und flag debug_uart oder nur mit libfbtp

beim zweiten versuch aufgetreten
Code:
OBJ_03 01 01 TIMER Sw SWITCH 00 TO 0F TIMEOUT Sw SWITCH 0F TO 0E TIMEOUT Sw SWITCH 0E TO 0C TIMEOUT Sw SWITCH 0C TO 08 TIMEOUT Sw SWITCH 08 TO 00 O00W
O01W
O02W
O03W

OBJ_00 01 01 TIMER
OBJ_01 01 01 TIMER
OBJ_02 01 01 TIMER
OBJ_03 01 01 TIMER Sw SWITCH 00 TO 0F CRC
TIMEOUT Sw SWITCH 0F TO 0E TIMEOUT Sw SWITCH 0E TO 0C TIMEOUT Sw SWITCH 0C TO 08 TIMEOUT Sw SWITCH 08 TO 00


beim ersten versuch aufgetreten
Code:
O01W
O02W
O03W

OBJ_00 00 00 OFF
OBJ_01 00 00 OFF
OBJ_02 00 00 OFF
OBJ_03 00 00 OFF Sw SWITCH 00 TO 00 O00W
O01W
O02s
OBJ_00 01 01 TIMER
OBJ_01 01 01 TIMER
OBJ_02 01 01 TIMER
OBJ_03 01 01 TIMER Sw SWITCH 00 TO 0F PERR
TIMEOUT Sw SWITCH 0F TO 0E TIMEOUT Sw SWITCH 0E TO 0C TIMEOUT Sw SWITCH 0C TO 08 TIMEOUT Sw SWITCH 08 TO 00


die parametrierung zum testen:
zeitschaltfunktion (ohne einschaltverzögerung) auf kanal 1 - 4
rückmeldung (nicht invertiert) aktiviert auf kanal 4
verzögerungszeit kanal 1 5x130ms
verzögerungszeit kanal 2 7x130ms
verzögerungszeit kanal 3 9x130ms
verzögerungszeit kanal 4 11x130ms

gleiche gruppenadresse auf kanal 1 - 4 (9/0/5)
eigene rm gruppenadresse auf kanal 4 (9/0/6)

ich hoffe es kann mir jemand weiter helfen.

mfg


Nach oben
 Profil  
 
BeitragVerfasst: 13. Juni 2013 07:32 
Offline
Expert Boarder
Expert Boarder

Registriert: 18. Juli 2007 10:38
Beiträge: 112
Lightning01 hat geschrieben:
hierbei ist es auch egal ob mit libfptpdebug und flag debug_uart oder nur mit libfbtp


Was genau passiert bei Verwendung der libfbtp ? Wie erkennst du ob dort der Fehler auftritt? Siehst du dort auch PERR oder FERR auf der seriellen Konsole?

Gruß
Dirk


Nach oben
 Profil  
 
BeitragVerfasst: 13. Juni 2013 08:38 
Offline
Fresh Boarder
Fresh Boarder

Registriert: 24. August 2012 20:41
Beiträge: 10
Hi,

nein auf der Konsole sehe ich wie erwartet nichts, aber das Verhalten bleibt exakt das gleiche. Am einfachsten lässt es sich mit der "Zurücksetzen" funktion im ETS testen. Sobald ein RM Telegramm verschickt werden sollte, machmal aber auch erst beim zweiten, funktioniert diese nicht mehr.

Die RM Gruppenadresse ist auf die status Led einer Taste eines Gira Tastsensor 2 plus gelegt, damit sieht man schön dass in seltenen Fällen eine Rückmeldung einmal richtig raus geht, dann aber nicht mehr. Sobald sich der status der LED bei Schaltvorgängen nicht mehr ändert treten auch die anderen Probleme (ausgänge schalten willkürlich, zurücksetzen geht nicht mehr, ...) auf!!

mfg Rupert


Nach oben
 Profil  
 
BeitragVerfasst: 13. Juni 2013 08:45 
Offline
Expert Boarder
Expert Boarder

Registriert: 18. Juli 2007 10:38
Beiträge: 112
Hi,

ok.

Zitat:
die parametrierung zum testen:
zeitschaltfunktion (ohne einschaltverzögerung) auf kanal 1 - 4
rückmeldung (nicht invertiert) aktiviert auf kanal 4
verzögerungszeit kanal 1 5x130ms
verzögerungszeit kanal 2 7x130ms
verzögerungszeit kanal 3 9x130ms
verzögerungszeit kanal 4 11x130ms

gleiche gruppenadresse auf kanal 1 - 4 (9/0/5)
eigene rm gruppenadresse auf kanal 4 (9/0/6)


Dies ist noch so? Kannst du mal bitte versuchen weniger Kanäle zu benutzen. Am besten Schrittweise abspecken bis du letztendlich nur noch Kanal 4 (mit der Rückmeldung) nutzt.

Gruß
Dirk


Nach oben
 Profil  
 
BeitragVerfasst: 13. Juni 2013 08:54 
Offline
Fresh Boarder
Fresh Boarder

Registriert: 24. August 2012 20:41
Beiträge: 10
Hi,

klar werd ich heute abend gleich mal testen...

mfg Rupert


Nach oben
 Profil  
 
BeitragVerfasst: 14. Juni 2013 00:47 
Offline
Fresh Boarder
Fresh Boarder

Registriert: 24. August 2012 20:41
Beiträge: 10
Hi,

also ich bin gleich auf nur einen Kanal (kanal 4) gegangen... gleiches Problem.. irgendwie scheint da im timing ordentlich was schief zu gehen... aber wie gesagt manchamal erst beim zweiten dritten oder vierten mal senden.... manchmal schon nach dem ersten RM telegramm...

Die gruppenadressen sind gleich:
gruppenadresse auf kanal 4 (9/0/5)
eigene rm gruppenadresse auf kanal 4 (9/0/6)
zeitschaltfunktion (ohne einschaltverzögerung) auf kanal 4
rückmeldung (nicht invertiert) aktiviert auf kanal 4
verzögerungszeit kanal 4 11x130ms

der aktor hat 1.1.8
der taster hat 1.1.51

der consolen output
Code:
EEPROM:
0000: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0010: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0020: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0030: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0040: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0100: FF FF FF 00 04 20 60 01 FE 11 40 00 00 FF E0 63
0110: A7 1F 9A 00 00 00 04 11 08 2B 00 48 05 48 06 14
0120: FE 00 FE 01 FE 02 02 03 FE 04 FE 05 FE 06 01 07
0130: FE 08 FE 09 FE 0A FE 0B FE 0C FE 0D FE 0E 03 0F
0140: FE 10 FE 11 FE 12 FE 13 FF FF FF FF FF FF FF FF
0150: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0160: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0170: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0180: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0190: FF FF FF FF FF FF FF FF FF FF 14 D6 54 9B 00 55
01A0: 93 00 56 93 00 57 97 00 58 93 00 59 93 00 5A 93
01B0: 00 5B 97 00 5C 93 01 5D 93 01 5E 93 01 5F 93 01
01C0: 60 C3 00 61 C3 00 62 C3 00 63 C7 00 64 C3 00 65
01D0: C3 00 66 C3 00 67 C3 00 00 00 00 00 00 00 00 00
01E0: 00 00 05 07 09 0B 00 00 00 00 0F 00 03 00 00 00
01F0: 00 00 00 00 00 00 55 55 CD 00 00 00 00 00 00 FF
ADR:04
G00:1108
G01:2B00
G02:4805
G03:4806
ASOC:14
AG:FEO00
AG:FEO01
AG:FEO02
AG:02O03
AG:FEO04
AG:FEO05
AG:FEO06
AG:01O07
AG:FEO08
AG:FEO09
AG:FEO0A
AG:FEO0B
AG:FEO0C
AG:FEO0D
AG:FEO0E
AG:03O0F
AG:FEO10
AG:FEO11
AG:FEO12
AG:FEO13
COMM:14
O00F9BP54T00L00
O01F93P55T00L00
O02F93P56T00L00
O03F97P57T00L00
O04F93P58T00L00
O05F93P59T00L00
O06F93P5AT00L00
O07F97P5BT00L00
O08F93P5CT01L00
O09F93P5DT01L00
O0AF93P5ET01L00
O0DFC3P61T00L00
O0EFC0FC3P64T00L00
O11FC3P63P67T00L00
SET PINS FFO03W

OBJ_03 01 01 TIMER Sw SWITCH 00 TO 08 TIMEOUT Sw SWITCH 08 TO 00 O03W

OBJ_03 0
9ÿMER Sw SWITCH 00 TO 08 TIMEOUT Sw SWITCH 08 TO 00 PERR
O03W

OBJ_03 00 00 OFF Sw SWITCH 00 TO 00 O07W

OBJ_07 00 00 OFF Sw SWITCH 00 TO 00
V2.0
EEPROM:
0000: FF FF F


und hier die telegramme:
ein telegramm taster
Bild

ein rückmeldung vom aktor
Bild

nach verzögerungszeit aus rückmeldung vom aktor
Bild

zweites ein telegramm taster
Bild

zweite ein rückmeldung vom aktor
Bild

nach verzögerungszeit sollte die aus rückmeldung vom aktor kommen
Bild


aber die kommt nur mehr verstümmelt, danach hat der µC schlagseite und reagiert mit den beschriebenen macken, RM kommen dann keine mehr ordentlich.... ohne rückmeldungen tritt das problem nicht auf. Man sieht schön die überlangen impulse, welche weit über 35µs sind!!

das gesammte album findest man hier:
https://picasaweb.google.com/rdobroun/KNXDebugging?authuser=0&feat=directlink

die raw USBee DX logfiles gibts hier:
https://www.dropbox.com/s/xbeojt0i6d80hge/Multiapp-Board-Rueckmeldeproblem-2-ohne-rm-13062013.usbeecomp
https://www.dropbox.com/s/50cnick2hrs0nyw/Multiapp-Board-Rueckmeldeproblem-1-mit-rm-13062013.usbeecomp

Die files lassen sich mit der USBee Suite (läuft ohne Logic Analyzer HW einfach im demo mode) ansehen:
http://www.usbee.com/usbeesuitesw.zip

danke für jede hilfe!

mfg Rupert


Nach oben
 Profil  
 
BeitragVerfasst: 16. Juni 2013 22:12 
Offline
Administrator
Administrator

Registriert: 15. September 2007 15:31
Beiträge: 702
Wohnort: Fürstenfeldbruck
in welchem Git Branch arbeitest du momentan?

_________________
Gruß
Matthias


Nach oben
 Profil  
 
BeitragVerfasst: 19. Juni 2013 00:11 
Offline
Fresh Boarder
Fresh Boarder

Registriert: 24. August 2012 20:41
Beiträge: 10
Hi Idefix,

sorry für die verspätete Antwort, hatte in den letzen zwei Tagen zu viel um die Ohren.
Bis jetzt war ich in der "origin/master" am letzen stand unterwegs. Hab aber heute auf deine Frage hin den "origin/newlibname" versucht (aktuellster stand).

Da habe ich jedoch das Problem dass nach dem laden der parameter mit ETS der UC in einen endless reset loop geht. Solange im EEPROM nichts oder nur die Device Adresse gespeichert ist passiert noch nichts, sobald die Parameter hochgeladen wurden --> reset loop

auf der Seriellen Konsole stellt sich das dann so dar:

Code:
V2.0
EEPROM:
0000: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0010: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0020: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0030: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0040: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0100: FF FF FF 00 04 70 54 02 FF 00 40 00 00 FF E0 63
0110: 8F 1D 84 D4 00 00 03 11 07 28 0D 48 06 18 02 00
0120: FE 01 FE 02 FE 03 FE 04 FE 05 FE 06 01 07 FE 08
0130: FE 09 FE 0A FE 0B FE 0C FE 0D FE 0E FE 0F FE 10
0140: FE 11 FE 12 FE 13 FE 14 FE 15 FE 16 FE 17 FF FF
0150: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0160: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0170: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0180: FF FF FF FF 18 D1 53 D7 00 54 D3 00 55 D3 00 56
0190: D3 00 57 D3 00 58 D3 00 59 D3 00 5A D7 00 5B C3
01A0: 00 5D C3 00 5F C3 00 61 C3 00 63 C3 00 65 C3 00
01B0: 67 D3 00 69 D3 00 6B 93 00 6C 93 00 6D 93 00 6E
01C0: 93 00 6F 93 00 70 93 00 71 9
V2.0
EEPROM:
0000: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0010: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0020: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0030: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0040: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0100: FF FF FF 00 04 70 54 02 FF 00 40 00 00 FF E0 63
0110: 8F 1D 84 D4 00 00 03 11 07 28 0D 48 06 18 02 00
0120: FE 01 FE 02 FE 03 FE 04 FE 05 FE 06 01 07 FE 08
0130: FE 09 FE 0A FE 0B FE 0C FE 0D FE 0E FE 0F FE 10
0140: FE 11 FE 12 FE 13 FE 14 FE 15 FE 16 FE 17 FF FF
0150: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0160: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0170: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0180: FF FF FF FF 18 D1 53 D7 00 54 D3 00 55 D3 00 56
0190: D3 00 57 D3 00 58 D3 00 59 D3 00 5A D7 00 5B C3
01A0: 00 5D C3 00 5F C3 00 61 C3 00 63 C3 00 65 C3 00
01B0: 67 D3 00 69 D3 00 6B 93 00 6C 93 00 6D 93 00 6E
01C0: 93 00 6F 93 00 70 93 00 71 9
V2.0
EEPROM:
0000: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0010: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0020: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0030: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0040: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF


läuft immer wieder bis 71 9 und dann gehts von vorne los...

im obigen beispiel ist es auf dem 8-in, tritt aber auf dem 8-out genau gleich auf.
:cry: :cry: :cry:

dabei macht es keinen unterschied ob ich die fbrf-atmega168p.h entsprechend für meine HW anpasse oder das original file nehme.
Den Code für die I2C Kommunikation mit der Dunstabzug Steuerplatine habe ich noch gar nicht eingebaut.

ein weiteres problem war dass nach dem auschecken und anlegen des AVR Studio Projekts im newlib branch das compile nicht funktionierte weil Studio sich über eine fehlende "fb.h" beschwert welche (neben einigen anderen files) nicht mehr (im include folder) vorhanden ist. Ich hab dann einfach alle nicht mehr vorhanden dateien dann aus dem "origin/master" include verzeichniss rüber kopiert, danach ging der compile durch!

mfg Rupert


Nach oben
 Profil  
 
BeitragVerfasst: 19. Juni 2013 14:40 
Offline
Expert Boarder
Expert Boarder

Registriert: 16. Juni 2008 20:11
Beiträge: 90
Hallo,
Zitat:
Da habe ich jedoch das Problem dass nach dem laden der parameter mit ETS der UC in einen endless reset loop geht. Solange im EEPROM nichts oder nur die Device Adresse gespeichert ist passiert noch nichts, sobald die Parameter hochgeladen wurden --> reset loop

Das kann ich bestätigen. Ich habe das gleiche Verhalten bei der Dimmerapplikation beobachtet.
Mit viel Glück fängt sich der Controller irgendwann und funktioniert dann normal.

Gruß
Uwe


Nach oben
 Profil  
 
BeitragVerfasst: 20. Juni 2013 10:58 
Offline
Administrator
Administrator

Registriert: 15. September 2007 15:31
Beiträge: 702
Wohnort: Fürstenfeldbruck
Ist die Fuse EESAVE aktiviert?
Wenn ja, schalte die mal aus und flashe die Firmware nochmal auf den Kontroller.

_________________
Gruß
Matthias


Nach oben
 Profil  
 
BeitragVerfasst: 21. Juni 2013 00:31 
Offline
Fresh Boarder
Fresh Boarder

Registriert: 24. August 2012 20:41
Beiträge: 10
Hi,

ich hab bereits den gesamten UC inkl. EEPROM gelöscht und neu geflashed!
Hat aber leider nichts gebracht, verhalten ist noch immer gleich.

Weiters habe ich versucht via DebugWire einen Breakpoint gleich nach der "restartApplication" Funktion zu setzen, dieser wird aber wenn der loop Fehler besteht nie erreicht, der reset passiert wie es aussieht bereits davor in der Library :cry: :cry:
So lange noch keine oder nur die Deviceadresse Parametriert sind/ist wird die Codestelle jedoch ordentlich nach dem PowerON angesprungen.

Code:
uint8_t restartApplication(void) {

-->BREAKHERE<--    /* IO configuration */
    IO_SET_DIR(1, IO_INPUT);
    IO_SET_DIR(2, IO_INPUT);


das MCUSR habe ich auch überprüft (verdacht BOD oder WD), ist aber immer 0x00, könnte aber natürlich auch davor schon gelöscht worden sein.

so sehen die fuses aus...
BTW: die clock source ist mit absicht da ich anstatt einens quarzes einen 8Mhz Oszillator (siehe schaltplan) dran habe

Code:
BODLEVEL = 2V7
RSTDISBL = [ ]
DWEN = [ ]
SPIEN = [X]
WDTON = [ ]
EESAVE = [ ]
BOOTSZ = 2048W_3800
BOOTRST = [ ]
CKDIV8 = [ ]
CKOUT = [ ]
SUT_CKSEL = EXTCLK_6CK_14CK_4MS1

EXTENDED = 0xFD (valid)
HIGH = 0xD9 (valid)
LOW = 0xD0 (valid)



mfg Rupert


Nach oben
 Profil  
 
BeitragVerfasst: 21. Juni 2013 10:14 
Offline
Expert Boarder
Expert Boarder

Registriert: 18. Juli 2007 10:38
Beiträge: 112
Hallo zusammen,

um das ganze etwas einzugrenzen hätte ich noch ein paar Fragen:

1.) Hängen noch andere Teilnehmer am Bus oder betreibst du den Controller alleine? Wenn noch andere Teilnehmer am Bus hängen, werden in der Zwischenzeit Gruppentelegramme gesendet / empfangen? In diesem Zusammenhang könnte ich mir ein Problem vorstellen.

2.)
Zitat:
Solange im EEPROM nichts oder nur die Device Adresse gespeichert ist passiert noch nichts, sobald die Parameter hochgeladen wurden --> reset loop

Du programmierst die Device Adresse mit der ETS?
Kannst du mal den consolen Output posten nachdem nur die Device Adresse programmiert wurde. D.h. wenn es noch funktionieren sollte.

3.) Das ganze passiert auch mit der Releaseversion?

Viele Grüße
Dirk


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 18 Beiträge ]  Gehe zu Seite 1, 2  Nächste

Alle Zeiten sind UTC + 2 Stunden


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de