Hallo Wie versorgt man eine Goldwafercard (PIC16F84) mit dem Takt? Hier gibts die Pin-Belegung: http://www.cardic.com.tw/pro-05-e.htm mfg Wolfram Hildebrandt
Das ist schon klar. Aber wie geht das?. Normalerweise habe ich ja einen Keramikschwinger oder Quarzoszillator mit zwei Pins am PIC. Jetzt sind aber ein Oszill.Pin und ein Port zusammengeschaltet. Wie geht das da?
Entweder Du baust einen Oszilator mit ein paar Bauteilen diskret auf oder nimmst gleich einen fertigen. Schau mal unter www.jauch.de. Die haben ein riesiges Angebot. Bei Conrad gibt´s die natürlich auch. MfG Steffen
Die Card wird doch mit Sicherheit durch eine andere Schaltung ausgelesen.? Den Takt könnte man dann aus der Schaltung "abzweigen". MfG Steffen
Hallo Ich wollte zu Testzwecken nur mal den I/O-Port auf H schalten. Bei diesem merkwürdigen Oszillatoranschluss kann ich mir aber nicht vorstellen, wie man welche Art von Taktgeber anschließen soll. Ein Kermamikschwinger geht so z.B. nicht, da dieser zwei Oszillatoranschlüsse braucht. Was benutzt man denn üblicherweise als Taktgeber? mfg Wolfram Hildebrandt
Das sind komplette Taktgeber, meist mit 4 Anschlüssen. 1x nicht belegt, Takt, Betriebsspannung und Masse. Betriebspannung anschließen und Taktausgang mit dem Takteingang der Card verbinden. Nun klar? MfG Steffen
Ich glaube, du meinst fertige Quarzoszillatoren. So einen habe ich momentan nicht auf Lager. 4Mhz sollten doch ausreichen, oder? mfg Wolfram Hildebrandt
Der integrierte PIC läuft mit 0..6 MHz. Also 4MHz sind ok. Nur was bringt es den I/O-PIN auf High zu legen? Wenn der PIC bereits programmiert ist, könnten nach einem High-Impuls dann evtl. Daten rauskommen (wenn das Protokoll so implementiert ist). Wenn er noch nicht programmiert ist, dann passiert gar nichts. Geht es vielleicht um eine Pay-TV Card? MfG Steffen
Hallo Den PIC in der Karte wollte ich nur testweise auf H setzen. Einfach, um erkennen zu können, ob das Programm richtig auf den PIC übertragen wurde. Ich wollte ein Codeschloss mit Chipkarte bauen, dass einen Türöffner anteuert. Der PIC in der Karte sollte dann einem anderen PIC eine bestimmte Bit-Folge geben, die das Codeschloss öffnet. Mit Primiere hat dies nichts zu tun. Aber egal. Was mich da nur wundert, ist dass der Keramikschwinjger nicht funktioniert. Ein PIN an pos.Spannung, 1 PIN an Masse, dritte PIN an Takteingang. Doch nichts tut sich. Ich denke, dass das Testprogramm richtig gebrannt wurde. Der I/O-Pin gibt aber 1,4V anstatt 5V aus.
Keramischwinger? Das funktioniert freilich nicht. Die Takterzeugung funktioniert nur mit einer Oszilatorschaltung. Probeweise kannst Du einen anderen PIC mit dem Keramkschwinger beschalten (Spannungsversorgung nicht vergessen) und als Taktquelle verwenden. Den Taktausgang (OSC2 vom PIC) dann einfach mit Clock verbinden. Ist zwar nicht so ganz den Spezifikationen entsprechend sollte aber zum Testen gehen. MfG Steffen
Hallo Der Tip mit dem zweiten PIC funktioniert ganz gut. Komisch ist nur, dass der PIC auf der Karte, der laut Programm den I/O-Pin auf H legen soll, dies nur dann tut, wenn man die Karte aus der Kontaktienrichtung zieht und diese dann wieder zurücksteckt. Beim normalen Start (PIC für Takt und Goldwafer angeschlossen) gibt der I/O-Pin Low-Potential aus. Wenn ich am Anfang eine Verzögerung einbaue, geht der I/O-Pin beim Einschalten der Spannungsversorgung nach dieser Wartezeit auf L, anstatt auf H. Wird die Karte dann rein-und rausgesteckt, wechselt der Pin wie vorgesehen nach 250ms auf H. Reset bringt keine Änderung im Verhalten. Wie ist das zu erklären? mfg Wolfram Hildebrandt
Hallo Wolfram, ich glaube Du hattest das Programm schon mal gepostet, ich finde es gerade nur nicht. Könntest Du es noch mal reinstellen? MfG Steffen
Das Problem ist, das RB6 und OSC1 zusammengeschaltet sind. In dem Programm stetzt Du alle Pins von PortB als Ausgang und gibst Low aus. Also liegt auch an OSC1 Low-Pegel an. Dadurch wird der Takt "kurzgeschlossen". Mit "01xxxxxxb" in trisb sollte es funktionieren. Nochmal kurz zum Takt da kannst Du auch einen RC-Oszilator (Beschaltung etc. im Datenblatt) verwenden wenn es nicht so genau sein muss. MfG steffen
Hallo Genau das war das Problem. Da habe ich wohl beim programmieren geschlafen. Vielen Dank. mfg Wolfram Hildebrandt
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.