Forum: Mikrocontroller und Digitale Elektronik NXP P89V51RD2 ISP


von Alex_H (Gast)


Lesenswert?

Hallo zusammen,

ich hoffe das mir jemand von euch weiterhelfen kann, da ich in der 
HerstellerDoku irgendwie nichts gefunden habe.
Der P89V51 geht nach einem Power On Reset direkt in den 
In-System-Programming Mode.
Auszug aus dem Datenblatt:
----------------------------------------------------------------
Following a power-on or external reset the P89V51RB2/RC2/RD2 will force 
the SWR and BSEL bits (FCF[1:0]) = 00. This causes the boot block to be 
mapped into the lower 8 kB of code memory and the device will execute 
the ISP code in the boot block and attempt to auto baud to the host. If 
the auto baud is successful the device will remain in ISP mode. If, 
after approximately 400 ms, the auto baud is unsuccessful the boot block 
code will check to see if the SoftICE flag is set (from a previous 
programming operation). If the SoftICE flag is set the device will enter 
SoftICE mode. If the SoftICE flag is cleared, the boot code will execute 
a software reset causing the device to execute the user code from block 
0 starting at address 0000H. Note that an external reset applied to the 
RST pin has the same effect as a power-on reset.
----------------------------------------------------------------
In meiner Anwendung stört es jedoch, wenn der Controller nach jedem 
Reset automatisch in den ISP geht. Es muß doch eine Möglichkeit (Bit 
oder Pin) geben, damit der Controller nicht in den ISP Mode geht nach 
dem Reset.
Nur welche?

Im voraus herzlichen Dank.
Gruß
Alex

von Robert T. (robertteufel)


Lesenswert?

Der controller geht in ISP bei einem Power-on Reset, also nicht wenn der 
Reset Pin nach unten gezogen wird. Bei Power On wartet der micro auf 
eine Antwort fuer ca. 400 msk ob er es schafft sich auf ein externes 
Protokoll aufzusynchronisieren. Das Gegenstueck ist normalerweisse Flash 
Magic
http://www.flashmagictool.com/
Wenn also der micro nach einem Power On Reset keine "befriedigende" 
Antwort bekommt, erfolgt nach 400 ms der Start ab der Adresse 0
Ansonsten wuerde Andy eine Anfrage auf Englisch beantworten falls es die 
Moeglichkeit gibt diese Funktion abzuschalten.
http://www.flashmagictool.com/support.html

Hoffe das hilft, Robert

von Alex_H (Gast)


Lesenswert?

Hallo Robert,

danke für Deine Antwort. Die Funktionsweise ist mir soweit klar. Konnte 
es auch auf der seriellen Schnittstelle messen.
Den letzten Satz hast Du glaube ich überlesen:
"Note that an external reset applied to the RST pin has the same effect 
as a power-on reset."
Ändert aber nichts an der Sache.
Mich hat hauptsächlich interessiert, wie ich das deaktivieren kann 
(Sowohl bei Power On als auch über den Reset Pin). Es fällt mir schwer 
zu glauben, das es nicht zu deaktivieren ist, auch wenn ich bisher noch 
keine Möglichkeit gefunden habe....

von Peter D. (peda)


Lesenswert?

Alex_H schrieb:
> Der P89V51 geht nach einem Power On Reset direkt in den
> In-System-Programming Mode.

Da bleibt wohl nur, auf den AT89C51RD2 umzusteigen.
Der geht nur dann in den ISP-Mode, wenn man den PSEN-Pin auf GND legt.


Peter

von Alex_H (Gast)


Lesenswert?

So, Lösung gefunden:

Es lässt sich so wie ich das jetzt verstanden habe nicht unterbinden, 
das der Controller in den ISP Mode geht.

Ich habe jetzt den Bootloader aktualisiert und habe dann im 
Programmiertool (in meinem Fall Flash Magic) die Möglichkeit Optionen 
einzustellen unter dessen Bedingung dann wirklich programmiert werden 
soll (z.B. Pin P0.4 high).

Wenn diese Bedingung nicht erfüllt ist, dann springt der Bootloader 
sofort zurück in den User Code.

Das ist für meine Applikation eine akzeptable Lösung.

@Peter
Ein Wechsel des Controllers stand zum jetzigen Stand der Entwicklung 
nicht mehr zur Diskussion.

Danke an alle.
Gruß
Alex

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.