Forum: Mikrocontroller und Digitale Elektronik Microchip PIC16C57


von Heiko Künzel (Gast)


Lesenswert?

hallo leute!

ich habe nicht sehr viel ahnung in diesem speziellen bereich, dehalb 
frage ich euch: wir haben ein gerät entwickelt und gebaut, in dem ein 
chip pic16c57 verbaut ist. der entwickler hat leider unsere firma 
verlassen und ich muss mich nun mit dem thema weiterbeschäftigen. eine 
hex-datei, mit dem ich mittels galep die mcu beschreiben kann, 
existiert. leider habe ich ein problem beim beschreiben: galep meldet, 
es wäre schon ein programm drauf (die chips sind wirklich neu!)! nach 
späteren nachforschungen habe ich entdeckt, dass ich einen etwas anderen 
typ verwendet habe. in dem datenblatt finde ich keine erkärung dafür. 
original ist der typ pic16c57-xt/so verwendet, ich habe den typ 
pic16c57-hs/so verwenden wollen. liegt es evtl. daran? danke euch schon 
mal!

von Stark Erhard (Gast)


Lesenswert?

Hallo Heiko,

genaueres kann ich dir auch nicht sagen, da ich nur mit den PIC´s 16F84 
und 16F627/8 zu tun habe, aber sieh doch mal auf "www.sprut.de" nach. Da 
kannst du auch eine E-mail hinschicken.

von Nik (Gast)


Lesenswert?

Ich denke ich hab dazu eine Idee.
Ich arbeite zwar auch mit pic16f84.
ABER:

Hs ist ein high speed oszilator
und Xt soviel ich weiss ein langsamerer quarz oszilator.
Es kommt schon auf die bezeichnung an.
Es könnte auch sein das man beim hs typ einen schnelleren
Externen Quarz anschliessen könnte, dann müsste es auch funktionieren.
Nur müsste dan das Programm wieder angepasst werden, damit es wieder 
langsamer läuft.

Am einfachsten wird es sein einfach einen Typ xt zu verwenden.

MFG
NIK

von Fernando Heitor (Gast)


Lesenswert?

Hi Heiko

Der einzige Unterschied der beiden Mikrocontroller ist die Frequenz.
Es gibt PICs die günstiger sind, weil sie z.B. mit bis zu 4 MHz getaktet 
werden können. Das sind die Typen XT. Die Typen HS kosten etwas mehr und 
können über 4MHz getaktet werden.
Die Typen LP bis zu 200 KHz.

Bei deinem Fall würde ich es verstehen, wenn du die XT-Versionen 
benutzen würdest und eine Frequenz über 4MHz.

Frag mal bei deinem Distributor nach und schilder dein Problem.

MFG
Fernando

von BernhardT (Gast)


Lesenswert?

One-Time-Programable (OTP) devices may have the fuses "OT0" and "OT1" 
set by the factory.. (diesen Bit stehen für RC, LP, HS oder XS) und ich 
gleichen Text stand auch was, das die (unter ganz besonderen Umständen) 
ausversehen überschrieben werden könnten (sehr merkwürdig bei nem OTP). 
Inzwischen gab es ne Revision der 16C57 ich habe das nicht weiter 
verfolgt.
Ich halte zwar auch einen derartigen Zusammenhang für unwarscheinlich. 
Die Fuse Bit Einstellung beim Promen  solltest du aber schon mal 
überprüfen. Ebenfalls die Version des 16C57 (die Neueren brauchen glaube 
ich sogar einen anderen Programieralgoritmus als die Alten).Ich würde 
eher mal bei Galep fragen.
Gruß Bernhard

von Heiko Künzel (Gast)


Lesenswert?

danke leute, für eure antworten!

es gibt einen neueren typ, den pic16c57c. da gibt es auch eine pdf von 
microchip, wo drinnen steht, wie man die neuen anpasst (pic16c57 -> 
pic16c57c migration). deswegen habe ich auch explizit den alten typ 
bestellt (da ich vom programm selbst nix verstehe). aber wenn ich eure 
antworten lese, habe ich ja eigentlich einen besseren (weil theoretisch 
schnelleren) typ gekauft. das darf aber eigentlich nicht dieses phänomen 
verursachen. ist schon sehr merkwürdig. aber ich bleibe dran. mein quarz 
hat genau 4mhz, müsste also jeder typ laufen. beim neuen typ "c" kann 
man extern den oszillator-typ einstellen, aber das brauche ich ja nicht. 
ich werde weiter berichten! danke erstmal!

von BernhardT (Gast)


Lesenswert?

Wenn dein Programmiergerät glaubt es hat eine JW-Typ (UV-löschbares 
Eprom) vor sich, es ist aber ein HS oder XT Typ (bei dem der Hersteller 
das Eprom gebrannt hat - also eigentlich  nicht wieder änderbar) - würde 
ein vernünftiges Gerät bei dem Versuch ein XT zu einem HS 
umzuprogrammieren oder andersherum z.B. die von dir genannte 
Fehlermeldung abgeben.  Die HS Typen können laut Datenblatt übrigens 
erheblich mehr Strom verbrauchen als XT.
Gruß Bernhard

von Heiko Künzel (Gast)


Lesenswert?

hallo bernhardt, ist ja interessant! was mich jetzt mal interessieren 
würde, wo hast du das datenblatt her, wo sowas drin steht. ich bin wohl 
zu blöd, es im netz zu finden!

von BernhardT (Gast)


Lesenswert?

Datenbuch 1993 programing spezification...
Ich schau mal ob ich auch auf CD-habe.
Gruß Bernhard

von Heiko Künzel (Gast)


Lesenswert?

das wäre sehr nett, bernhard. wenn du was findest, könntest du es mir 
wenigstens auszugsweise mailen? ich danke schon mal!

von BernhardT (Gast)


Lesenswert?

Hallo Heiko,
emai funzt net also erst einmal etwas Geschichte: die frühen 16C57 
wurden noch selektiert - d.h. die Teile wurden gefertigt, getestet und
geeignete Gruppen verteilt. Erst dann wurde bestimmt ob es sich um einen 
XT (also bis 4 MHz) oder um einen HS (also bis 20
MHz) handelt. Das Datenblatt von Microchip darf man wirklich nicht 
anders verstehen. Die Hersteller wollten sich gegen
Fälschung ihrer hochwertigen Teile schützen, und sie wollten verhindern, 
das aus versehen ein Prozessor mit zu hoher
Taktfrequenz eingesetzt wird (das ist für Freaks OK -  für  seriöse 
Entwickler eine Katastrophe). Deswegen hat Microchip  die
Fuse bit (das configuration  Word) vorprogrammiert. Im Datenblatt steht 
zwar das das aus versehen überschrieben werden
könnte, es wurde aber auch gerade davor gewarnt. Es wir ja  auch nicht 
beschrieben, wie man das kontrolliert ändern könnte.

Praktischer Test:
Ich habe es gerade noch mal ausprobiert mit Mplab (v.6.20) , MICROCHIP 
PICSTART Plus (mit brandneuem
Firmware-update) und einem 16C57 - JW. Sind die Fuse bit (das 
configuration  Word) einmal mit HS oder XT beschrieben,
wird jeder weiterer Versuch den Oszillatortyp zu verändern mit der 
Meldung quittiert 'device not blank' (also dasselbe wie bei
dir) MPLAB gibt mir zwar die Möglichkeit, eine Neuprogrammierung zu 
versuchen, das Ergebnis ist aber unbestimmt
(Fehlermeldung). Nach löschen mit UV - kein Problem.

Ich kenne den galep nicht, aber noch einmal: prüf mal die Einstellungen 
für die Fuse-bit die werden meist immer automatisch
beim programmieren mit beschrieben, können aber meist unabhängig vom 
hex-File eingestellt werden. Genau hier vermute ich
die Fehlerquelle (steht da XT und du willst einen HS Typ programmieren, 
sollte es einen Fehlermeldung geben).

Anlage: 30190D.pfd (S.6 Absatz 2.0 steht das Wichtige) versuch ich 
später naoch mal bei deiner email

Gruß Bernhard

von Heiko Künzel (Gast)


Lesenswert?

hallo bernhard!

mensch, ist ja gigantsch! vielen, vielen dank für deine mühe und deine 
datailreiche antwort. nun komme ich vieleicht weiter. leider habe ich 
momentan andere (wichtige!) sachen zu tun, sodass ich vorerst nicht dazu 
komme, es auszuprobieren. sobald ich ergebnisse habe, werde ich mich 
sofort bei dir melden! wirklich nochmal vielen dank!!

heiko

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.