Forum: Mikrocontroller und Digitale Elektronik Ich traue meinem uisp nicht...


von Alexander (Gast)


Lesenswert?

Hallo,

ich verzweifele hier gerade an uisp und zwei Controllern:
uisp version 20050207

#uisp -dprog=dapa -v=3 --rd_fuses
Reset inactive time (t_reset) 1000 us
AVR Direct Parallel Access succeeded after 0 retries.
Vendor Code: 0x1e
Part Family: 0x93
Part Number: 0x07
Atmel AVR ATmega8 is found.
Page Write Enabled, size=64
FLASH Write Delay (t_wd_flash): 12500 us
EEPROM Write Delay (t_wd_eeprom): 25000 us

Fuse Low Byte      = 0xff
Fuse High Byte     = 0xc9
Fuse Extended Byte = 0xff
Calibration Byte   = 0xbc  --  Read Only
Lock Bits          = 0xff

Der läuft mit 5V, alles bestens.

#

Reset inactive time (t_reset) 1000 us
AVR Direct Parallel Access succeeded after 31 retries.
Vendor Code: 0x1e
Part Family: 0x97
Part Number: 0x01
Atmel AVR ATmega103 is found.
Page Write Enabled, size=256
FLASH Write Delay (t_wd_flash): 61111 us
EEPROM Write Delay (t_wd_eeprom): 11111 us
Fuse Low Byte      = 0x0f
Fuse High Byte     = 0xff
Fuse Extended Byte = 0xff
Calibration Byte   = 0xff  --  Read Only
Lock Bits          = 0xff

Der läuft auf einer etwas schwachbrüstigen 3Volt-Batterie.
Dass er damit langsamer ist, ist klar, aber wenn die Fuse-Bits
so stimmen und ich das Datenblatt richtig verstehe, dann hieße
das, dass SPI-Programmierung disabled ist, was ich nicht glauben
kann, weil das Gerät extra einen Stecker dafür hat.

Kann das an der Batterie liegen? Austauschen ist nicht so einfach,
Netzteil dranhängen auch nicht, das würde etwas löten kosten, aber
wenn mir jemand Hoffnung machen kann, dass es dann geht, tue ich
es natürlich. Andererseits, warum bekommt er die IDs, aber die Fuses
nicht?

Ich kann offenbar das Flash über die serielle Methode lesen, aber
nicht löschen oder schreiben.

Die Hardware ist einfach ein Kabel zwischen Parallelport und den AVRs,
wobei ich dem 3Volt-AVR in die Leitungen vom PC noch je einen
Spannungsteiler (1500-1000 Ohm) reingesetzt habe, um ihm nicht die 5V
zuzumuten.

Oder hat uisp doch recht und ich darf mich jetzt nach irgendeiner
Möglichkeit umsehen, einem 64pin-smd-avr, der auf ein Board gelötet
ist, parallel die fuse-bits zu setzen? Grummel.

Vielen Dank schonmal
  Alexander

von Simon Küppers (Gast)


Lesenswert?

AVR Direct Parallel Access succeeded after 31 retries.

steht beim zweiten..

Nicht sehr toll, dass das auslesen erst nacht 31 Versuchen geklappt
hat.

von Axos (Gast)


Lesenswert?

du hast im SPI modus keinen zugriff auf das "SPI-Programmierung
disabled" (SPIEN) bit. Du kannst es also auch nocht auslesen.
wenn du über die SPI schnittstelle in den Programming mode kommst, dann
ist das SPI-ISP interface auch eingeschalten.



Ich denke die 3V sind für den AVR zu wenig. Ist es denn eine L Version
? (selbst für den wären 3V schon fast zu wenig) ATMEL garantiert ja
nicht, dass die megas nach bei 3V laufen....und so kommt es
wahrscheinlich, dass der Controller irgendwelche sinnlosen sachen
macht. Wie man auch an den 31 Versuchen sehen kann.

Du solltest mal versuchen irgendwie die spannungsversorgung zum testen
hinhängen. Oder versuch mal den mega noch langsamer zu takten.

MfG

von Malte (Gast)


Lesenswert?

Der MCU sendet ja auch Daten zurück zum PC. Villeicht sind auch einfach
nur die 3V dann zu wenig für den LPT Port um die Pegel richtig erkennen
zu können. Ich hatte bei mir ursprünglich auch in der MISO Leitung 620
Ohm. Mit meinem altem Mainboard funktionierte das auch, auf meinem
jetzigen erst wenn ich den Widerstand überbrücke (an dem Widerstand
fiel etwas Spannung ab).

von Alexander (Gast)


Lesenswert?

Hallo,

zunächst mal vielen Dank für die Antworten. Ich habe also die
Spannungsversorgung zerlegt und ihn erstmal mit einem Netzteil auf 3,6V
gelegt, das half aber nicht. Jetzt läuft er mit 5V und direkt mit dem
Parallelport verbunden, und es geht. Die Fuses sehen immer noch völlig
falsch aus, aber erase, upload und verify funktionieren.

Und nein, es ist kein L, Atmega103 AC6, also laut Datenblatt 5V. Im
normalen Betrieb tut er aber wohl auch mit 2,8 noch ganz gut, Nur
Programmieren ist nicht drin.

Vielen Dank
   Alexander

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.