Hallo Experten,
ich habe folgendes Problem bei dem ich nicht so recht weiterkomme:
Ich habe ein Pollin NetIO. In diesem Board habe ich einen ATMega 644
gesetzt und versuche Ethersex zu nutzen. Das ganze hat anfänglich (wenn
auch seeehr langsam) funktioniert - bis ich gemerkt habe das der
Prozessor mit internem Oszi und Teiler läuft (Defaulteinstellung).
OK - also den einen Fuse-Calculator aus dem Internet befragt und per
1 | avrdude -c ponyser -v -P /dev/ttyS0 -p m644 -U lfuse:w:0xFF:m -U hfuse:w:0x99:m -U efuse:w:0xff:m
|
die Fuses gesetzt.
In Make menuconfig von ethersex habe ich die Frequenz auf 16000000
gesetzt, was in den Compileroptionen auch mit übernommen wird und den
Prozessor neu geflasht. Das Ergebnis ist, dass ich den Prozessor zwar
flashen kann (im NetIO-Board über den 10pol ISP-Port, der ext. Quarz
funktioliert also) aber das Netzwerk funktioniert nicht.
Ach so: Wie durch die Option zu erkennen ist auf dem Pollin-Board ein
16MHz Quarz verbaut der auch funktioniert (mit dem original
ATMega32-Prozessor).
Der originale ursprünglich gelieferte Quarz (flache Bauform) war defekt
(Programmieren ging nicht im NetIO-Board). Ich habe diesen durch einen
mit hoher Bauform ausgetauscht.
(Btw: Gibt es einen Unterschied?)
Lasse ich den Proc auf 8MHz internen Takt laufen:
1 | avrdude -c ponyser -v -P /dev/ttyS0 -p m644 -U lfuse:w:0xe2:m -U hfuse:w:0x91:m -U efuse:w:0xff:m
|
,dann funktioniert auch das Netzwerk wieder. Mit ext. Quarz (16MHz) und
Teiler-Fuse funktioniert es auch.
Das ganze wäre an sich nicht ganz so schlimm, wenn ich nicht versuchen
würde, ein DS1820 anzuschließen-was nicht funktioniert. Ich habe das
Gefühl, dass irgendwas mit den "_delays" nicht funktioniert. Und das
deswegen das Timing mit 16MHz für den Netzwerkcontroller und sonst für
den onewire-Bus nicht stimmt.
Da ich jetzt nicht mehr weiß, wo ich noch gucken und debuggen könnte
brauche ich Eure Hilfe.
Vielen Dank im Voraus
Grüße
Markus