Ich habe ein Board mit einem AT91SAM9G20. Auf diesem Board ist eine 3V
Batterie, die, wenn sie reingesteckt ist, den 32kHz Oszillator und den
real time timer weiter laufen lässt. Sinn des ganzen ist, das die
Software die Uhrzeit auch nach einem Ausfall der Versorgnungsspannung
behält.
Ich betreibe das Board nicht mit Linux. Ich habe mir einen kleinen
Bootloader programmiert, der von dem Bootloader im ROM vom NAND Flash in
den SRAM kopiert und ausgeführt wird. Mein Bootloader initialisiert dann
den SDRAM und kopiert die eigentliche Firmware vom NAND Flash in den
SDRAM, initialisiert die MMU, aktiviert den Daten- und Instructioncache
und springt dann zum Startvektor der Firmware.
Solange ich die Batterie nicht reinstecke funktioniert das alles so wie
es soll. Mit Backupbatterie verhält sich der Controller irgendwie
anders. Mein eigener Bootloader wird nicht ausgeführt und im SRAM steht
nur Müll, wenn ich mich mit JTAG verbinde und den SRAM auslese.
Das Problem ist nur, im Datenblatt steht da nicht viel, außer das in
diesem Fall ein wake-up reset durchgeführt wird. Kann mir jemand sagen,
was bei dem wake-up reset anders ist? Es sieht so aus als würde der
Bootloader im ROM des Controllers, der die Software aus dem NAND Flash
liest, nicht ausgeführt werden.
Hallo,
der Post ist zwar schon alt, aber ich wollte mal nachfragen,
ob sich das Problem mittlerweile gelöst hat????
Aktuell hab ich nämlich das gleich Problem.
Kann hier jemand weiter helfen ???
Hallo,
ich habe das selbe Problem mit einem AT91SAM9G25,
mit Backup-Batterie bootet dieser nicht wenn die Haupt-Stromversorgung
zugeschaltet wird, selbst wenn ich die Signale "NRST" oder "WKUP" (beide
mit 100k Pullup) kurz auf Masse ziehe passiert nichts;
trenne ich die Batterie ab und schalte die Stromversorgung ein dann
startet das System einwandfrei;
kennt nochjemand das Problem?
Gruß Hartmut.
Hallo,
warum braucht der Chip beim Kaltstart, also Power On ca. 1 Sekunde zum
starten und bei gezogenem Reset nur ein paar Milisekunden ?
Ich benutze den 9G10 und ich habe über das Reset Problem einmal eine
Abhandlung gelesen, kann mich aber nicht mehr an die AppNode erinnern.
Es hing mit dem Spannungsregler und den 2 Reset Eingängen, sowie mit der
Core und IO Spannung zusammen. Die Core und IO Spannung muss dann mit
einer gewissen Schaltung zuschalten.
Ich habe das mit der Batt. gleich gelassen und eine externe Epson RTC
eingesetzt.
Gruß Sascha
Hallo,
noch ein Nachtrag, hängt am externen BUS ein NAND-Flash dran?
Dann kann es unter umständen passieren, das der BUS blockiert bleibt.
Rückspannungen von der Batt. auf die Core und IO (BUS-Spannung) prüfen.
Dann bootet der Chip nicht mehr weil der BUS blockiert ist.
Gruß Sascha
Hallo zusammen,
ich glaube ich habe eine Lösung gefunden:
bei mir kam die 3.3V für VDDIO später als die VDDCORE, das habe ich
geändert;
beim EVAL-Board ist es auch so das die 3.3V anliegen und daraus die
VDDCORE gewonnen wird,
bei mir kommt jetzt auch die VDDCORE erst nach den 3.3V und die Boards
die vorher verzögert oder garnicht booteten laufen jetzt problemlos;
Gruß Hartmut.
Hallo Hartmut,
genau das habe ich mit der Powersequence auch gemeint. Am besten ist es
den VCC-Core Regler nachgeschaltet dem VCC-IO Regler zu setzen, dann ist
das kein Problem. Mit Syncron Rectifier Reglern dürfte das auch kein
Problem sein. So habe ich mein Design ganz einfach aufgebaut.
Aber vorsicht, wenn der Reset in einer SDRAM Read-sequence kommt gibt
der Chip keinen Clock mehr an das SDRAM aus und das SDRAM bleibt auf
Ausgabe stehen, somit ist der BUS geklemmt. Dann kein Booten mehr über
diverse Speicher möglich. Also den second Bootloader immer im seriellen
Flash benutzen.
Gruß Sascha
Hallo Sascha,
in dem Chip-Dokument "doc11032.pdf" Kapitel 46.13 gibt es eine Grafik
mit der Erläuterung das VDDIO nach VDDCORE kommen soll damit POR
funktioniert,
oder habe ich das falsch verstanden?
Gruß Hartmut.
Hallo Hartmut,
kann bei atmel das doc11032.pdf leider nicht finden.
Aber wenn durch die VCCIO der Reset gesteuert wird, sollte der Core
vorher schon startklar sein.
Das hat auch mit dem SDRAM nichts zu tun.
Sondern das mit dem SDRAM ist der zweite Fehler der passieren kann damit
der Prozessor z.B. durch einen WDT Reset oder auch externen Reset nicht
mehr bootet.
Ansonsten sind die Chips bis jetzt doch relativ zuverlässig (9G10).
Gruß Sascha
Hallo Sascha,
doc11032.pdf ist altes "SAM9G25 Complete", im aktuelle Dokument vom
AT91SAM9G25 ist es Kapitel
46.15 Power Sequence Requirements:
da steht das VDDCORE und VDDBU den POR steuern,
VDDIO soll nach VDDCORE kommen ?!
mfG Hartmut Dahlke.
Hallo Hartmut,
danke, ich werde mal Heute Abend mit meinem Speicheroszi die Sapnnungen
aufnehmen und als Bild einstellen, mal sehen wie das bei mir aussieht.
Jedenfalls startet der Chip bei mir sehr zuverlässig (ich würde mal
sagen zu 100%).
Gruß Sascha
Hallo,
so anbei wie versprochen die Oszi Bilder der Messungen. Man sieht also
deutlich die VCC-Core Spannung, die mit 1.2V als erstes vorhanden ist.
Der Reset lässt allerdings eh lange auf sich warten. Da sollte es kein
Problem geben.
In Abhängigkeit dazu habe ich noch die Anderen Spannungen gemessen.
Die Eingangsspannung ist +24V und geht durch einen Syncronrectifier
Regler von LT auf 5V runter. Von den 5V geht ein Syncronrectifier Regler
auf VCC Core 1.2V (TI) und für die VCC IO Spannung ein Syncronrectifier
von AD.
Gruß Sascha