PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Barlino BX32P und 24C01 Probleme



Carstenp86
15.09.2009, 12:46
Hallo,

für Entwicklungszwecke haben wir einen Barlino BX32P angeschafft, mit dem für Prototypen serielle EEPROMs 24C01 programmiert werden sollen.

Da diese als SO8 Bausteine auf einer Leiterplatte (versehen mit Cs an den Steuerleitungen und an Vcc) aufgelötet sind, habe ich einen entsprechenden Adapter von DIL auf den Leiterplattenstecker angefertigt.

Mit dieser Anordnung erhalte ich permanent Timeout Fehler, kann also bereits programmierte Chips nicht auslesen.

Um der Sache Herr zu werden, habe ich mehrere 24C01 DIL Bausteine beschafft.
Mit diesen funktioniert der Programmer, aber sobald ich den Tastkopf des Oszilloskops an eine der Steuerleitungen (Pin 5, 6 oder 7) hänge, bricht der Lesevorgang mit Timeout ab.

Sind die Treiber für die Signale so schwach ausgelgt bzw. so auf Programmiergeschwindigkeit getrimmt, dass minimale kapazitive Laständerungen hier zum Ausstieg führen?

Wenn dem so ist, wäre der Barlino BX32P wohl nicht das richtige für uns?


MfG Carsenp86

guidob
15.09.2009, 13:55
Hallo Carstenp86,

auch an dich der Tipp: Schreibe die Frage am besten auch an
service@batronix.de. Du kannst den Text ja von hier mit Copy&Paste
übernehmen. Ev. erhältst du dann schneller Antwort.

Gruß,

guidob

Holger
17.09.2009, 12:05
Hallo,
bei I²C- Steueranschlüssen in der Schaltung werden meist Pull up Widerstände verwendet, (je nach verwendeten Prozessor und Portpintyp) diese beeinflussen die Signale auf dem Datenbus. Deshalb ist es oft in der Schaltung nicht möglich, diese korrekt auszulesen bzw. zu beschreiben. Auch können C's an diesen Leitungen die Steuersignale ungünstig beeinflussen. Pin7 dient nur als Schreibschutz, hat mit dem Auslesevorgang nichts zu tun, nur Pin 5 und 6 bilden den I²C- Bus. Deshalb sollten diese EEproms entweder vor dem Einsetzen programmiert werden oder alle R's, C'S, und alle Verbindungen zu eventuell anderen Bausteinen an diesen beiden Buspins unterbrochen sein! Dieser Fehler hat also nach meiner Meinung nichts mit dem verwendeten Programmiergerät zu tun.

Carstenp86
17.09.2009, 12:15
Hallo,

soweit bin ich mit der Antwort einverstanden...

Nur ist mir nicht klar, wie es sein kann, dass schon der Tastkopf eines Oszilloskops reichen soll, den I²C völlig aus dem Tritt zu bekommen.

Ich habe in der Vergangenheit bei anderen I²C Anwendungen durchaus mit dem Oszilloskop Messungen machen können, ohne die Datenübertragung bis zum Zusammenbrucht zu stören...


Carsten

Holger
17.09.2009, 22:19
Hi,
normalerweise sollte ein Tastkopf eigentlich die Signalquelle so wenig wie möglich belasten, also sehr hochohmig sein. Wie verhält sich dieser, wenn du einen DIL EEprom direkt am bzw. im Programmer hast?
Normalerweise stellt sich ja die Übertragungsgeschwindigkeit bzw. Boudrate bei I²C automatisch (durch Acknowledge) ein, das sollte also nicht das Problem sein. Wird aber SDA oder SCL zu stark mit Pull up belastet, kann der Slave (oder der Master) nicht mehr deutlich genug das Signal nach Ground ziehen-- keine Kommunikation mehr:eek:

PS: Ich nutze einen 0-8-15 Oszi (5MHz) ohne Tastkopf, kann ohne Probleme beide Signale abgreifen und darstellen (vom "nichtspeichern" mal abgesehen, allerdings nicht im Programmer getestet, sondern direkt in ner Schaltung mit MC!

Carstenp86
18.09.2009, 14:51
Hallo,

wie oben geschrieben, kann ich nicht einmal im "Normalbetrieb" (DIL EEPROM im Sockel, nur an Pin 4 ein Drähtchen für die Masse des Tastkopfs und die Prüfspitze an Pin 5 oder Pin 6) irgend etwas messen.
Sobald ich die Prüfspitze des Tastkopfs (irgend ein Standard-Ding, sollte im Megohm-Bereich liegen...) an Pin 5 oder 6 tippe, bricht der Lese-Vorgang ab.

Dass dann mit meinem Adapter mit Flachbandkabel nichts geht, ist logisch.
Aber warum ist das ganze so empfindlich?
Für I²C sind doch ohmsche un kapazitive Lasten in gewissem Rahmen definiert und zulässig...

CU Carsten

Holger
19.09.2009, 01:02
Tja, Carsten, das erscheint mir auch etwas sonderbar. Kann aber nicht sagen, ob dein Programmer tatsächlich so mimosisch reagiert. Ein Tastkopf sollte doch tatsächlich keine Belastung darstellen, andernfalls ist er diesen Namen nicht wert! Aber warum willst du eigentlich während des proggens "Oszi schauen"? Ohne Speicherfunktion sieht man doch eh nicht viel:confused:

André Bauer
22.09.2009, 10:06
Hallo!

Wir haben hier eine Reihe von Tests durchgeführt, und konnten das Problem in Ansätzen nachvollziehen. Jedenfalls kam es hier beim Anlegen eines Tastkopfes in der 1:1 Einstellung am Pin 5 eines M24C01 und Verwendung einer sehr schlechten Bezugsmasse zum gleichen Problem. Bei den anderen Pins gab es keine Probleme. Ebenfalls gab es keine Probleme wenn die Tastkopf Masse an den GND Pin des 24C01 oder in dessen Nähe gelegt wurde.

Mögliche Lösungen:
- Bei einem umschaltbaren Tastkopf sollte die 10:1 Einstellung verwendet werden. Damit klappte es hier immer (auch mit schlechter Masse).
- Den Masseanschluss des Tastkopfes sauber und in der Nähe des Messpins auf Masse legen.

Bitte lasse uns noch wissen, welchen 24C01 Du verwendest (komplette Aufschrift). Da gibt es von Hersteller zu Hersteller Unterschiede. Z.B. ist die Pagegröße bei AT24C01A/B 8Byte und bei den M24C01 16 Byte.

Grüße
André

Carstenp86
28.09.2009, 17:18
Hallo,

nachdem ich mit André Bauer telefoniert hatte und er mir den Tipp gab, die Clock- und Datenleitung per Pull-Up auf einen definierten Pegel zu heben, funktioniert nun alles, auch mit meinem Programmieradapter an unserer EEPROM-Leiterplatte.

Mit 2k2 gab es noch sporadische Aussetzer, mit 1k5 funktioniert nun das Lesen und Schreiben einwandfrei.

Vielen Dank an André Bauer für den Support.
Und vielleicht hat sich ja so ein kleiner Hinweis ergeben, was man an der BATRONIX Hardware verbessern kann, um etwas "robuster" zu werden.

Gruß Carsten