Hallo, ich bin noch ein absoluter Neuling.. Und habe ein Problem. Ich
habe ein fertiges Programm welches ich schon über USB/UART auf den
AT90CAN128 geflasht habe, jetzt soll ich noch die Fuse-bits einstellen.
Habe einen Olimex AVRIPS mkII Programmer mit dem ich die Fuses über AVR
Studio einstellen wollte.
AVR Studio verbindet sich auch mit dem Programmer, allerdings der
Programmer über ISP nicht mit dem AT90. Es kommt immer "entering
programming mode.. FAILED". Das Board hat aber die richtige Spannung
anliegen und die Kommunikation über USB/UART funktioniert auch, nur halt
nicht über ISP. Was kann das Problem sein? Hab mich schon durch das
ganze Internet gelesen.. Wäre für jede Hilfe dankbar!!
fritz schrieb:> Ich habe ein fertiges Programm welches ich schon über USB/UART auf den> AT90CAN128 geflasht habe,
Also mit Bootloader?
Das ist ein fertig gekauftes Board?
Muss denn dann wirklich noch was eingestellt werden?
> Also mit Bootloader?> Das ist ein fertig gekauftes Board?> Muss denn dann wirklich noch was eingestellt werden?
Ja ein fertig gekauftes Board mit Bootloader, Crumb128 v5.0 nennt es
sich. Soweit ich weiß müssen die Fuses noch eingestellt werden damit er
auch die Frequenz vom 16 MHz Quartz nimmt.. Aber ich lasse mich gerne
eines besseren belehren
Naja, sagen wir mal so, wenn der Quarz nicht aktiviert sein sollte,
obwohl Du das Board mit genau dieser Konfiguration gekauft hast, dann
läuft der Controller per Default auf 1MHz.
Der Bootloader müsste dann entsprechend auf 1MHz Takt angepasst sein.
Wenn man dann wirklich die Fuse-Bits einstellen müsste, dann würde der
Bootloader hinterher nicht mehr funktionieren können.
Das macht es ein klein wenig unwahrscheinlich, dass der Controller nicht
jetzt schon mit den bestellten 16 MHz läuft.
Das löst zwar das Problem mit dem ISP an sich nicht, aber verschiebt es
vielleicht auf später. :-)
Ok Danke Rudolph!! Das macht Sinn. Also müsste alles so laufen?! Ich
empfange ja auch schon mithilfe von Putty über UART die richtigen
Signale, heißt also dass der Bootloader auch das Programm lädt und
ausführt. Allerdings konnte ich noch nicht ausprobieren ob er auch die
richtigen Signale über CAN sendet. Könnte das dann evtl. nicht der Fall
sein wenn die Fuse Bits falsch eingestellt sind?
UART oder CAN ist doch egal dabei, die werden beide so eingestellt das
mit dem Takt den der Controller haben soll die gewünschte Datenrate raus
kommt.
Wenn Du also den UART für 115200 bei 16 MHz Takt einstellst und da
kommen Daten mit 115200 raus, dann hat der Controller auch in etwa 16
MHz.
Oder einfach mal eine LED blinken lassen.
Über Putty lässt sich leider nichts mit 115200 empfangen.. nur mit 9600
Baud. Also liegen da wohl nur 1 MHz an? Habe mal den Quarz rausgelötet,
dann funktioniert nichts mehr, also muss er doch eigentlich verwendet
werden oder?
fritz schrieb:> Über Putty lässt sich leider nichts mit 115200 empfangen
Ich meinte ja auch, wenn man ein Programm schreibt, dass auf der
Datenrate senden soll - oder auf irgendeiner anderen.
Das fertige Programm was da jetzt drin ist, gibt es dazu den Quelltext?
Was steht denn da drin zum UART?
> Was steht denn da drin zum UART?
Es soll über UART einfach nur mit dem PC eine Einstellung vorgenommen
werden, heißt man gibt eine Information ein, die das Programm zum
arbeiten braucht. Und das Board meldet sich halt auch so wie es soll
über UART und akzeptiert die Einstellung
fritz schrieb:>> Was steht denn da drin zum UART?>> Es soll über UART einfach nur mit dem PC eine Einstellung vorgenommen
Die Frage war nicht, was das Programm macht, sondern wie es programmiert
ist, wie schon oben beschrieben, aus der Einstellung des UART kann man
den Takt des Controllers ableiten.
Rudolph schrieb:> Die Frage war nicht, was das Programm macht, sondern wie es programmiert> ist, wie schon oben beschrieben, aus der Einstellung des UART kann man> den Takt des Controllers ableiten.
Ich komme nicht ganz mit. Alles was ich dir sagen kann ist, dass UART
mit einer Datenrate von 9600 Baud kommuniziert.
Nen Link hier wäre auch okay gewesen. :-)
Na denn, es gibt keinen Source Code und mit Dokumentation im allgemeinen
haben es die Jungs auch nicht wirklich.
Aber auf der Webseite steht, dass die Software für einen 90CAN128 bei 16
MHz geschrieben ist und mit 9600 Baud auf dem UART sendet.
Okay, da steht "9600kbaud". :-)
Also ja, wenn das Modul Daten mit 9600 Baud raus wirft, dann läuft der
Controller auf ungefähr 16 MHz.