Forum: PC-Programmierung EEprom 24c02 mit MFC anwendung programmieren


von Eddy (Gast)


Lesenswert?

Hallo,

 Ich beschäftige mich gerade mit Serial Programmierung mit Visual Studio 
6.0 in MFC anwendung es klappt soweit Com Port öffnen senden und 
empfangen.
 Als nächstes möchte ich mit Serielle schnittstelle über RS 232 ein 
EEprom Programmieren auslesen können event. bestimmte adressen auslesen 
und schreiben können.

 Ich bin euch sehr dankbar für jeden tip den ihr mir geben könnt.

von Eddy (Gast)


Lesenswert?

Wenn Ihr ein beispiel für mich habt würde ich mich sehr freuen.

- wie spreche ich den eeprom an damit ich den programmieren und auslesen 
kann

- später müchte ich bestimmte adressen auslesn und programmieren.

Danke euch

von Ralf (Gast)


Lesenswert?

Ohne Microcontroller dazwischen wird das aber recht schwierig, weil das 
zwei unterschiedliche Interfaces sind. Ist sicherlich möglich über 
BitBang, aber wird ne Heidenfrickelei.
Mach dir mal Gedanken über die Hardware. Brauchst du das wirklich? 
Möglich ist es, aber wenn ich diesen Anwendungsfall hätte (kann mir 
leider keinen Fall vorstellen, bei dem man ein EEPROM über den PC 
programmieren will), würde ich einen FT232R verwenden, weil da erstens 
schon mal die richtigen Spannungspegel rauskommen, und zweitens eine DLL 
von FTDI zur Ansteuerung vorhanden ist, die man in die 
Programmiersprache seiner Wahl integrieren kann. Wäre dann sogar über 
USB.
Noch luxuriöser wäre ein FT2232H, der hat zwei MPSSE-Controller, die 
I2C/JTAG/SPI Kommunikation unterstützen und dir somit zusätzlich solche 
Timing-Probleme abnehmen. Mit nem normalen FT232R gehts auch, wenn man 
weiss, wie man's machen muss :)

Erklär mal, was du machen willst. Ist das zum Üben/Lernen oder steckt da 
was konkreteres dahinter?

Ralf

von Eddy (Gast)


Lesenswert?

Danke Ralf für deine Antwort
ich möchtes das erstma zum üben, dann malschauen.

In MFC bin soweit das ich über seriell senden und empfangen kann, jetzt 
möchte ich den eeprom über RS 232 eeprom ansprechen schreiben bzw lesen. 
mir fehlt leider der anfang wie es realiseren kann ich habe auch schon 
gegoogelt leider nicht richtiges gefunden.

... ein beispiel würde mir sehr weiter helfen

MfG
Eddy

von Ralf (Gast)


Lesenswert?

Wenn das wirklich nur zum Üben ist, dann ist das der falsche Weg, wenn 
du ein EEPROM ansteuern willst. Dafür ist die serielle Schnittstelle 
nicht gedacht. Und so etwas per BitBang als Anfänger zu machen, halte 
ich für gewagt.
Aus diesem Grund wirst du bei Google etc. auch nix finden, weils einfach 
keinen Sinn macht, EEPROMs per RS232 anzusprechen.

Was ist dein Hauptziel? Die RS232 an sich? Oder einfach mit allem 
gespielt zu haben? Wenn du planst, mit Microcontrollern zu arbeiten, 
dann kauf dir ein DevKit, da musst du sowieso mit der seriellen 
Schnittstelle arbeiten, und kommst genauso ans Ziel. Für die 
Microcontroller wirst du hier auch besseren Support finden, wie es mit 
der Schnittstelle funktioniert etc. und somit viel schneller zu einem 
(befriedigenderen) Ergebnis kommen.

Ralf

von Hmm... (Gast)


Lesenswert?

Natürlich gibt es jede Menge fertig erwerbare (oder nachbaubare) 
Programmiergeräte für I²C-Eeproms.

Wenn du so etwas selber machen möchtest, musst du mehrere Probleme 
lösen.

1. Spannungs-Pegel.

  Die EEPROMS arbeiten mit maximal +5.5V Betriebsspannung. Daraus
  ergibt sich ein Low-Pegel von mehr als 0V und ein High-Pegel von etwas
  weniger als Vcc. Diese Pegel musst du mit deinem PC erzeugen oder
  die Pegel vom PC anpassen. Welche Schnittstellen stehen dir den
  zur Verfügung?

2. Timing+Protokoll

  Die 24c02 werden per I²C Bus angesprochen, d.h. du musst das Timing
  deiner ausgegebenen Bits steuern können. Eine simple RS232 reicht
  dafür nicht aus, da die Bit-Timings nicht passen. Eventuell könnte
  man das noch (mit Pegel-Anpassung) über eine Handshake-Leitung
  machen. Bin aber nicht sicher, ob unter Windows hier genügend
  schnell auf die Handshake-Leitungen zu gegriffen werden kann.

3. Verdrahtung

  Der I2C-Bus braucht eine Datenleitung und eine Taktleitung. Erstere
  wird vom Master (dem PC) und dem Slave gleichermassen verwendet.
  Hier brauchst du also eine kleine Schaltung, um die Schnittstelle
  vom PC zu entkoppeln.

Wenn ich so darüber nachdenke, ist die einfachste Lösung sicherlich, mit 
einem ATTiny2313+MAX232 oder dergleichen einen kleinen Protokoll-Wandler 
zu basteln. Der Controller braucht nur eine Hardware-UART und ein 
I2C-Interface.

von Roland P. (pram)


Lesenswert?

Muss es unbedingt seriell sein?

Etwas einfacher geht es über den Parallelport:
http://www.markuszehnder.ch/albums/eeprom/easyI2Cbus.gif

Du kannst dir auch mal die Seriellen Adapter von Ponyprog ansehen:
http://www.lancos.com/siprogsch.html

In beiden Fällen musst du die Schnittstelle allerdings im BitBang-Modus 
ansteuern, d.h. du schreibst direkt in ein Hardwareregister, welche 
Leitung welchen Pegel haben soll.
Dies erfordert meist einen speziellen Treiber (giveIO.sys) sowie 
Adminrechte.
Windows-API-Funktionen zum Senden/Empfangen von Zeichen sind hier fehl 
am Platz und die Verwendung von USB2SERIAL-Adaptern ist ebenfalls 
problematisch.

Falls du nur das EEPROM auslesen willst, verwende Ponyprog.


Gruß
Roland

von Hmm... (Gast)


Lesenswert?

Oder vielleicht das hier:

Beitrag "RS232 <-> TWI / I2C INTERFACE (Assembler) ATmega8"

Hab jetzt da nicht näher rein geguckt, die Stromversorgung würde ich 
lieber per Wandwarze+7805 realisieren und für RS232 besser einen MAX232 
nehmen. Die Signale vom I2C kannst du dann ja schon direkt auf einen 
8-Pin IC-Sockel legen.

von Rainer (Gast)


Lesenswert?

Zur Anregung diese Seite:

http://www.horter.de/i2c/i2c-beispiele/beispiele_1.html

MfG     Rainer

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.