I2C- PC-seriell RS232

Antworten
abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

I2C- PC-seriell RS232

Beitrag von abacom » Montag 13. Oktober 2008, 10:44

Joe Holux



Anmeldungsdatum: 06.02.2007
Beiträge: 7
Wohnort: Hamburg
Verfasst am: 06.02.2007 22:13 Titel: I2C- PC-seriell RS232

--------------------------------------------------------------------------------

Hallo Abacom Team,
ich habe 2 Fragen zum I2C Thema.

1) Habt ihr ein Beispiel zur Anschaltung des I2C Masters an die RS232 ?
Ich nutze den Horter & Kalb Adapter www.horter.de.

2) Für den Test verschiedener Komponenten nutze ich den RS232 I2C Adapter V2.0 von IBC www.channaa.com. Besteht die Möglichkeit für diesen Adapter ein Modul zur Verfügung zu stellen. Die Lösung ist sehr elegant da die Logik in dem Adapter steckt und die Ansteuerung über die RS232 möglich ist "man sendet nur Zeichenketten in Hex Form". Der Adapter arbeitet allerdings mit Checksumme die über eine Mod Berechnung ermittelt wird. Das ist im Profi Lab4.0 Expert nicht wirklich anwendbar jedenfalls habe ich keine Möglichkeit gefunden. Toll wäre ein Modul was die Funktionalität zur Verfügung stellt ähnlich wie der I2C Master.
_________________
Vielen Dank für die
Unterstützung

mfg
Joe Holux

Nach oben


abacom
Site Admin


Anmeldungsdatum: 30.06.2006
Beiträge: 898

Verfasst am: 07.02.2007 15:38 Titel:

--------------------------------------------------------------------------------

Sie können die I2C-Beispiele für LPT verwenden. Statt der LPT -Komponente setzen Sie die Komponente "COM (direkt)" ein.
Sie brauchen nur noch die Signale zum Lesen und Schreiben von SCL und SDA den Anschlüssen DSR, CTS, DTR und RTS zuzuordnen. Die Zuordnung ergibt sich aus dem Schaltplan von Horter:

DTR = SDA (schreiben)
DSR = SDA (lesen)
RTS = SCL (schreiben)
--- = SCL (lesen; nicht erforderlich)
CTS = INT (Funktion ist mir nicht bekannt)
(ohne Gewähr)

Die Modulo-Funktion ist der ganzahlige "Rest" einer Integerdivision und kann bei Bedarf z.B. so gebildet werden:
a mod b = int(a) - ( int( int(a) / int(b) ) * int(b) )
Beispiel:
12 mod 5 = 12 - ( int ( 12/5 ) * 5 ) = 12-(2*5) = 2
Ich hoffe das ist mathematisch korrekt.
ABACOM support

Nach oben


Joe Holux



Anmeldungsdatum: 06.02.2007
Beiträge: 7
Wohnort: Hamburg
Verfasst am: 07.02.2007 21:53 Titel:

--------------------------------------------------------------------------------

Hallo Abacom Team ,
danke für den Tip
und mathematisch richtig hab scheinbar auf dem Schlauch gestanden.
_________________
Vielen Dank für die
Unterstützung

mfg
Joe Holux

Nach oben


abacom
Site Admin


Anmeldungsdatum: 30.06.2006
Beiträge: 898

Verfasst am: 08.02.2007 09:45 Titel:

--------------------------------------------------------------------------------

Nachtrag: Kann sein dass DTR, DSR und RTS gegenüber der LPT-Port-Variante noch invertiert werden müssen? Ausserdem ist "COM direkt" vermutlich langsamer als "LPT", so dass es erforderlich sein kann die PL-I2C-Komponenten "extern" über CLK zu Takten (siehe Anleitung).
Wenn´s gelingt bitte posten. Die Hardware Ist sicherlich auch für andere interessant.
ABACOM support

Nach oben


Joe Holux



Anmeldungsdatum: 06.02.2007
Beiträge: 7
Wohnort: Hamburg
Verfasst am: 11.03.2007 10:32 Titel:

--------------------------------------------------------------------------------

Hallo Abacom Team,
die Hardware läuft einwandfrei es ist aber abhängig von der Systemperformance des Rechners um gute bis sehr gute Zykluszeiten zu erzielen die zur Visualisierung aber vollkommen ausreichen. Ich habe die Tests mit den Bausteinen PCF 8574, PCF 8574A und PCF 8591 durchgeführt. Erstaunlich sicher Kommuniziert der Bus ohne besondere Kupferverbindungen auch wenn ich die RS232 auf 115,2 kBaud fahre. Als Koppler habe ich den erwähnten RS232 zu I2C verwendet.
Allerdings ist der dezentrale Aufbau eines Systems mit 64 Eingängen, 64 Ausgängen sowie 32 Analogen Eingängen in der maximalen Ausbaustufe im ProfiLab Expert sehr komplex. Ich meine hier auch nur die System- und Konfigurationssteuerung des I2C Bus.
Zwei Fragen habe ich an euch.
1) Besteht für mich die Möglichkeit außer Makro hierfür ein Hardware- Modul zu erstellen?
2) Wird wenn ein WAIT Acknowledge oder der I2C Master sendet und keine Antwort kommt ( kein entsprechendes IC oder kein Koppler an der RS232) ein ERR am Baustein ausgegeben? Ich kann das nicht feststellen fange den ERR mit einem RS Flip Flop ab es wäre für einen Bus Scan ( abfragen der Adressen ) sehr nützlich.
Beispiel:
Start
Send Write Address
Wait Acknowledge
Send Data Byte
Wait Acknowledge
Stop

Mit freundlichen Grüßen
Joe Holux
ABACOM support

Antworten

Zurück zu „Weitere Geräte“