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!
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.
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
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
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
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!
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
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!
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
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