Liste der Anhänge anzeigen (Anzahl: 1)
großes Projekt Großes PROBLEM Gebäudesteuerung
HI
Hab mir eine Steuerung für meine wohnug zusammengelötet
1 X Mega644 Haupt MCU
1 X Mega16 Touch Screen auswertung
2 X mega8 Aktoren für licht und netzwerk
m644 ext quartz 8 mhz
m16 int 8mhz
m8 int 1 mhz (geht sonst nicht mehr nach fusebit einstellung auf 8 mhz)
alles über i²c verbunden (ausser der m16 mit dem m644 direkt über 8bit port)
die i²c leitungen haben eine gesammtlänge von ca 15 m 2,5kOhm abschluss
touch = am mega644 = portd
es hängen noch D/A A/D und tempsensoren dran.
so problem is jetzt nach einiger zeit hängt sich der Bus auf.
watchdog hat auch nix gebrach (läuft dan gar nicht mehr)
Liste der Anhänge anzeigen (Anzahl: 2)
sry
Re: großes Projekt Großes PROBLEM Gebäudesteuerung
Zitat:
Zitat von demlinger
die i²c leitungen haben eine gesammtlänge von ca 15 m 2,5kOhm abschluss
Hallo demlinger!
I²C ist nicht für diese Länge gedacht. Verwendest du I²C Extender?
- http://www.alldatasheet.com/view.jsp?Searchword=P82B715
- http://www.alldatasheet.com/view.jsp?Searchword=P82B96
mfg
Gerold
:-)
PS: Du verwendest Software-I²C statt das in den Controller eingebaute TWI. Probiere es mal mit
Code:
'TWI (I²C)
$lib "i2c_twi.lbx" 'Hardware TWI einschalten
'Config Scl = Portc.5
'Config Sda = Portc.4
Config Twi = 100000
I2cinit
PS2: ``Waitms 1`` nach I²C-Schreiboptionen des Masters ist meist zu wenig. Erhöhe zum Testen mal auf ``Waitms 5`` oder sogar auf ``Waitms 10``.
PS3: Nach einer Lese- oder Schreibaktion des Masters steht in der Variable "err" ob dabei ein Fehler aufgetreten ist. Du könntest diese Variable auswerten und dementsprechend eine Fehlermeldung auf dem Display ausgeben. Dann weißt du wer oder was den Fehler verursacht. -- Aber ich denke mal, dass du mit ``waitms 1`` einfach zu wenig lang wartest. Bei meinen Tests mit I²C-EEPROMs wurde das System erst bei ``waitms 5`` stabil. Siehe: https://www.roboternetz.de/phpBB2/vi...=360112#360112
.