www.mikrocontroller.net

Forum: PC-Programmierung OX16C950 und VB (5)


Autor: topla (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich beschäftige mich seit mehreren Jahren mit der hobbymäßigen 
Programmierung von µC als Ergänzung zu digitalen Modellbahnsteuerungen.
Zentraler Punkt ist ein RS-485-Bus mit 62,5 kbaud. Um hier Problemen im 
Zusammenspiel verschiedener Busteilnehmer auf die Spur zu kommen, habe 
ich bisher immer einen Logikanalysator benutzt. Leider reicht jetzt die 
Aufzeichnungsdauer dieses Gerätes nicht mehr aus. Eine Alternative wäre 
der Bau eines Umsetzers und Nutzung eines Terminalprogramms am PC, 
allerdings mit entsprechendem Entwicklungsaufwand für Hard- und 
Software.
Nun ist mir eine PCMCIA-Card in die Finger gekommen, die auf dem 
Oxford-Chipsatz OX16C950 beruht 
http://www.oxsemi.com/products/serial/OX16C950B.html , durch spezielle 
Einstellmöglichkeiten die "krummen" 62,5 kbaud beherrscht und auch den 
9-Bit-Modus der µC-Kommunikation kann. Ich würde gerne diese Karte 
nutzen, um die notwendige Intelligenz des Sniffers in einen Laptop zu 
legen. Windows-Treiber zu dieser Karte sind vorhanden und funktionieren. 
Richtige und ausführliche Dokumentationen zum Treiber und zum Ansprechen 
aus VB habe ich nicht gefunden; heute hat auch der Service von Oxford 
(Chipsatz) und Delock (Kartenhersteller) die weiße Fahne gezeigt. 
Allerdings liegen meine Erfahrungen auf Seite der PC-Programmierung 20 
Jahre zurück (DOS). Beim Herumsuchen im Softwarebestand bin ich auf ein 
angegrautes VB 5.0 gestoßen - habe allerdings damit Null Erfahrungen.
Ich würde mich über Hinweise oder Beispiele zum Thema "Einstellen und 
Ansprechen des OX16C950 aus VB" freuen und bedanke mich im Voraus.

Viele Grüße
Thomas

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist anzunehmen, daß der Treiber den speziellen 9-Bit-Modus (der ja 
nur in der nativen '950-Betriebsart überhaupt möglich ist) nicht 
unterstützt.

Wenn Oxford das nicht explizit erwähnt und auch nicht explizit eine 
Programmier-API für diese Betriebsart zur Verfügung stellt, dann geht 
das nicht. Die Architektur der Devicetreiberschnittstelle für serielle 
Schnittstellen von Windows unterstützt keinen 9-Bit-Modus, daher müsste 
diese Erweiterung mit einer eigenen Programmierschnittstelle (über ioctl 
oder dergleichen) angesprochen werden.

Wie die Hardware selbst zu programmieren ist, ist ja dokumentiert und 
auch mit einem Beispiel belegt, aber das kann so unter Windows oder auch 
unter einem anderen Betriebssystem nicht erfolgen, das setzt "nacktes 
DOS" oder eine vergleichbare Umgebung voraus.

Um das dann doch unter Windows nutzen zu können, müsste ein eigener 
Windows-Devicetreiber erstellt werden, der die nötige zusätzliche 
Programmierschnittstelle zur Verfügung stellt. Das ist -gelinde gesagt- 
ein ganz erheblicher Heidenaufwand.

Erst dann könnte man mit einer Programmiersprache wie VB versuchen, 
diese noch zu definierende zusätzliche Treiberschnittstelle 
anzusprechen, für alles andere ist VB hier vollkommen ungeeignet.

Also: Entweder unter "nacktem DOS" oder etwas ähnlichem oder aber mit 
speziellem Devicetreiber, der die erweiterten Betriebsarten unterstützt.

Autor: Thomas P. (topla)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, das deckt sich mit den mittlerweile gewonnenen Erkenntnissen - 
leider. Irgendwie will mir nicht so richtig in den Kopf, dass zwar 
Karten mit diesem Chipsatz hergestellt und vertrieben werden, aber kein 
gescheiter Treiber (bzw. Schnittstelle für Programme) dafür existiert, 
die die Möglichkeiten dieses Chipsatzes ausnutzen kann.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Irgendwie will mir nicht so richtig in den Kopf, dass zwar
> Karten mit diesem Chipsatz hergestellt und vertrieben werden,
> aber kein gescheiter Treiber (bzw. Schnittstelle für Programme)
> dafür existiert, die die Möglichkeiten dieses Chipsatzes ausnutzen
> kann.

Das liegt daran, daß nur dieser Chip diese spezielle Funktionalität 
bietet, alle anderen Oxford-Chips tun das nicht. Der Treiber aber ist 
ein generischer Treiber, der mit allen anderen Chips auch funktioniert.

Obendrein kennt sonst auch keine andere PC-UART den 9-Bit-Betrieb, 
deshalb dürfte die Zielgruppe annähernd verschwindend gering sein.
Sicherlich, diese Funktionalität wurde schon oft genug gebraucht, aber 
bislang hat noch niemand sie geboten.

Das ist also reichlich exotische Hardware.

Und zuletzt: In Embedded-Systemen, bei denen auf Windows und dergleichen 
verzichtet wird, kann der Baustein ja (mehr oder weniger) problemlos 
verwendet werden ...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.