Autor |
Nachricht |
ulf Profi-Schrauber
KFZ-Schrauber seit: 13.04.2002 Beiträge: 11129 Karma: +18 / -0 Wohnort: Saarland 2023 MG ZS Premium Support
|
29-12-2002, 10:55 Titel: Test-Software für VAGCOM-Adapter? |
|
|
Hallo zusammen
Meine kürzlichen Erfahrungen mit VAGCOM ergaben, dass die Qualität eines Adapters u.a. mit der Signalverzögerung innerhalb des Adapters (= Laufzeit) zusammenhängt.
Daher sollte ein Adapter im Rahmen der Entwicklung bzw. seiner Justage auf möglichst geringe Laufzeiten optimiert werden.
Sowas ist z.B. mit Hilfe eines Rechteckgenerators und eines Oszillokops möglich, was aber wohl nicht jedem VAGCOM-Anwender oder Adapter-Selbstbauer zur Verfügung steht.
Ein Alternative wäre den ohnehin vorhandenen PC als Meßinstrument einzusetzen.
Jedes Signal, das der PC für die K-Line einspeist, kommt als Echo an Pin RXD zurück. Die Messung dieser Verzögerung könnte direkt als Qualitätskriterium für den Adapter und sein Zusammenspiel mit dem Computer herangezogen werden und bei justierbaren Adaptern als Einstellhilfe genutzt werden.
Nebenbei könnten so auch die käuflichen Fertigadapter auf ihre Qualität geprüft werden.
Der Adaptertest im VAGCOM-Menü prüft die Adapterfunktion offenbar so lasch, dass auch sehr langsame Adapter als OK erkannt werden, die im realen Dialogbetrieb trotzdem versagen können.
Für eine genauere Prüfung müsste eine entsprechende Software verfügbar sein, die folgendes erledigen sollte.
Grundzustand: RTS = low, DTR = high (die anderen Pins des COM-Ports sind egal).
Messbetrieb: TXD wird alle ca. 0,5 sec von low auf high und zurück umgeschaltet. Dabei werden die Zeiten zwischen jedem Schaltimpuls für TXD und der nächsten jeweils gleichsinnigen Signalflanke an RXD gemessen und am Monitor in Echtzeit ausgegeben.
Da die Laufzeiten von positiven und negativen Flanken unterschiedlich sein können, müssen beide Zeiten parallel ausgegeben werden.
Als Messbereich sollten ca. 1 bis 100 Mikrosekunden und als Auflösung ca. 1 Mikrosekunde ausreichen.
Wo gibt’s eine solche Software, oder wer könnte so was schreiben und ggf. als Download für Rainers HP zur Verfügung stellen?
Gruß Ulf
_________
MG4 Electric |
|
Nach oben |
|
|
Jan6K
KFZ-Schrauber seit: 12.04.2002 Beiträge: 4876 Karma: +107 / -0 Wohnort: Hagen
Premium Support
|
30-12-2002, 20:03 Titel: Test-Software für VAGCOM-Adapter? |
|
|
Nach einem kleinen Mailwechsel mit Ulf nun auch hier im Forum ein Statement hierzu, weil das Thema in weiten Teilen so ziemlich genau in mein Arbeitsgebiet faellt.
Ein solches Programm als Einmesshilfe waere zweifellos nuetzlich, ich halte es aber fuer nicht realisierbar, und das aus einer Reihe von Gruenden.
Timer-Aufloesung: Um so genaue Messungen machen zu koennen, braucht man einen wenigstens genauso guten Timer, und das bieten die meisten PC nicht an. Viel genauer als 10 Mikrosekunden ist nicht machbar, auch wenn diverse Systemschnittstellen etwas anderes suggerieren. Moeglich waere einzig die Nutzung der Performance-Counter der CPU (ab Pentium 1 zaehlen die CPUs intern ihre Takte mit), damit wuerde man sehr genau werden, aber das um den Preis einer hohen Abhaengigkeit von bestimmten CPUs und Mainboards. Nicht geloest werden damit die naechsten beiden Probleme.
Interrupts: Wenn man "High-Level" arbeitet, dann sitzt zwischen dem Programm und der Hardware das Betriebssysfem mit diversen Interrupt-Handlern, die fuer das Programm unvorhersagbar zuschlagen koennen, angefangen beim Timerservice des Betriebssystems ueber interne Aufraeumvorgaenge bis hin zu anderen Geraeten, zu denen Daten geschickt werden, z.B. Platte oder CDROM. Solche Einfluesse koennen zu unvorhersagbaren Verzoegerungen fuehren, die die geplanten Messungen unmoeglich machen. Gaenzlich abdrehen laesst sich das kaum, selbst dann nicht, wenn man ein primitives DOS als OS benutzt. Ausweg hier waere die Benutzung eines sehr kleinen und vorhersagbaren Echtzeit-Kerns (z.B. rtlinux, QNX oder Lynx), aber das wuerde wieder zu einer Spezialloesung fuehren, die einen sehr grossen Aufwand mit sich bringt. Und... nicht geloest wird damit das naechste Problem.
PC-Hardware: PC-Hardware ist unvorhersagbar. Beispielsweise koennen PCI-Geraete wie Grafikkarten (auch AGP ist an der Stelle nichts anderes als ein Spezialfall von PCI) den PCI-Bus fuer UNVORHERSAGBAR lange Zeit blockieren, was letztlich dazu fuehrt, dass wir wieder keine Daten mit bekannter Verzoegerung von den seriellen Ports bekommen, denn diese haengen in den meisten Faellen via PCI/ISA-Bridge am PCI dran. Die Funktion wird dadurch nicht geschmaelert, wohl aber die Vorhersagbarkeit. Dieses Problem ist sehr ernst, Firmen, die Echtzeitsysteme auf PC-Hardware laufen lassen, muessen sehr sorgfaeltig saemtliche Komponenten selektieren und sehr umstaendlich dieses Verhalten evalurieren, denn DAS schreibt ja keiner in die Specs rein. Ergo muessten wir das gleiche tun, und das faellt aus vielen Gruenden weg, denn unsere Rechner sind ja alle sehr verschieden.
Diese drei Argumente zeigen einen der wichtigsten Aspekte der Echtzeitsysteme: Sie muessen naemlich nicht SCHNELL sein (das ist ein weit verbreiteter Irrtum), sondern VORHERSAGBAR (was auch vorhersagbare ausreichende Performance beinhaltet).
Von daher halte ich ein solches Messprogramm OHNE Zusatzhardware leider fuer nicht machbar.
MIT Zusatzhardware ist es recht einfach, z.B. grosse FIFOs, die Datenstroeme einlesen und parallel Zeitstempel eines Quarz-Oszillators speichern, und dann via ISA oder PCI auslesbar sind. Das entkoppelt das ganze zeitlich, ist aber auch wieder vom Aufwand her nicht gerechtfertigt.
Insgesamt KOENNTE es sogar sein, dass Gruende aus obiger Ausfuehrung mit dafuer verantwortlich sind, dass VAGCOM an manchen PC schlichtweg nicht funktioniert.
Und... es gibt noch ein (abschaltbares) Hindernis: Moderne COMs haben FIFOs, ueber die sie die Daten puffern. Die CPU bekommt es also gar nicht mehr mit, wann genau etwas ankommt, sondern erst dann, wenn das FIFO einen bestimmten Fuellstand ueberschritten hat, auch das muesste man deaktivieren, was dann wiederum die COMs erheblich verlangsamt, so dass hohe Messaufloesungen illusorisch werden.
Viele Gruesse,
Jan
1Z5 CFHF / AHB H4D |
|
Nach oben |
|
|
ulf Profi-Schrauber
KFZ-Schrauber seit: 13.04.2002 Beiträge: 11129 Karma: +18 / -0 Wohnort: Saarland 2023 MG ZS Premium Support
|
30-12-2002, 21:24 Titel: Oh Mann ist das kompliziert |
|
|
Hi Jan
wenn ich die Grundaussage richtig verstanden habe, kann man PCs bei der Konfrontation mit so "einfachen" Aufgaben also in etwa mit einem Mathematikprofessor vergleichen, der vor lauter Wissen nicht mehr 2 + 2 zusammenzählen kann . . .
Schade also.
Es gibt ja noch irgendwelche Produkte, mit denen man den PC als (Speicher?)Oszilloskop nutzen kann, aber dann fehlt wohl wieder die Option, Rechtecke zu generieren . . . außerdem weiß ich nicht was sowas kostet.
VAGCOM scheint aber wohl die grundsätzliche Fähigkeit zu haben, den COM-Port in Echtzeit zu "beherrschen".
Sonst wäre IMO ein Dialog mit den STGen im Wagen nicht möglich, denn dabei ist ja die Einhaltung bestimmter (kurzer) Zeitfenster unverzichtbar.
Vielleicht könnte man VAGCOM so sezieren, daß man den direkten Zugang zum COM-Port klaut und da drumherum ein Adapter-Prüfprogramm baut?
Aber wahrscheinlich denke ich auch hier wieder zu einfach und zu "analog" . . .
Was solls, was nicht geht, geht eben nicht. Wäre auch zu schön gewesen.
Danke nochmal für alle aufklärenden beiträge zum Thema.
Gruß Ulf
_________
MG4 Electric |
|
Nach oben |
|
|
christians Profi-Schrauber
KFZ-Schrauber seit: 05.09.2002 Beiträge: 2100 Karma: +12 / -0 Wohnort: Sauerland
Premium Support
|
30-12-2002, 21:30 Titel: Test-Software für VAGCOM-Adapter? |
|
|
Hi,
VAG-Com kanns meiner Meinung nach nicht.
Für die Einhaltung der Zeitfenster etc. ist der serielle Kontrollerbaustein des PC´s zuständig.
Dafür sprechen auch Statements auf der Ross´schen Homepage: VAG-COM verwendet nur Windows-Standard-Funktionen damit man nicht für jede Windoof-Variante eigene Routinen braucht. Um die Abfrage-Geschwindigkeit zu verbessern überlegt oder plant man einen Adapter mit eigener Intelligenz zu bauen.
Christian
|
|
Nach oben |
|
|
AndyO Gast
Kostenloser Account, kein OBD Support (VCDS, KOBD2Check)
|
30-12-2002, 21:38 Titel: Nicht zuviel in den Adapter interpretieren ! |
|
|
Hallo,
die Hauptfunktion des Adapters ist die Potenzialtrennung und die Anpassung der Signale an das Steuergerät. Die Schaltung sollte dieses mit geringstmöglichen Laufzeiten, Phasenverschiebungen und Impulsverzerrungen realiseren. Wenn wir mal 9.600 Bit/s annehmen, sollte die Signalverzögerungen zeitlich um den Faktor 5 darunter liegen, ergibt sich 10000 Bit/s > 1/10000s > 100 us > mit Faktor 5 > 20 us zulässige Signalverzögerung. Dieses entspricht einer Testfrequenz von 50 KHz-Rechteck. Das es schwierig ist, ein 50 KHz-Generator+Osszi über die serielle Schnittstelle nach zu bilden, ist doch klar.
Ohne meine beschleunigenden Maßnahmen 100nF über R7 und R10 und 100pF über R12 lag ich mit der Schaltung an diesem Grenzwert. Jetzt bin ich bei ca. 6us. Das muss reichen.
|
|
Nach oben |
|
|
Jan6K
KFZ-Schrauber seit: 12.04.2002 Beiträge: 4876 Karma: +107 / -0 Wohnort: Hagen
Premium Support
|
30-12-2002, 21:59 Titel: Test-Software für VAGCOM-Adapter? |
|
|
Hallo,
bezueglich der Echtzeitfaehigkeit der COM-Ansteuerung schliesse ich mich meinen Vorrednern an - das macht der Controller ganz von alleine. Und die Daten, die dabei entstehen, laufen in einen FIFO, sobald der einen bestimmten Fuellstand erreicht hat, gibts einen Interrupt. Schafft es die CPU, sich vor der kompletten Fuelluing des FIFO darum zu kuemmern, laeuft der Port weiter mit Maximaltempo (die CPU saugt den FIFO also quasi leer, und beschaeftigt sich dann wieder anderweitig), schafft sie es nicht, stockt der Datenfluss. Die Kunst ist also, so alle 10...12 Byte (die Fifos haben meist 16 Byte) einen IRQ auszuloesen, bei 115KBit/s = 15 KB/s sind das also etwa 1500 IRQ pro Sekunde, was muehelos verkraftet werden kann im Normalfall.
Zurueck zu VAGCOM: Dieses muss nur schnell genug sein, die Daten halbwegs passend von den Treibern (die lesen die FIFOs) zu uebernehmen, weiter nach unten kommt es nicht. Insbesodnere kommt es nicht an die Bits ran, die bastelt die Hardware des Controllers protokollgerecht zu Bytes zusammen.
Was die PC-Oszilloskope angeht: Wenn mich nicht alles taeuscht, ist sowas z.B. bei Conrad drin... die haben aber wieder Spezialhardware: Eine Steckkarte implementiert die zeitkritischen Teile, der PC dient dann als Anzeige und Steuerung fuer diese Karte. Ist sozusagen die Luxusvariante des Spielchens mit den FIFOs.
Bei uns in der Uni hat mal jemand eine ISA-Karte fuer parallele Echtzeitmessungen (also 32 Eingaenge mit je 1 Bit parallel von verschiedenen Quellen) gebaut. Grundprinzip ist ein grosser Fifo und ein Zaehler, letzterer wird von einem 8MHZ-Quarz hochgezaehlt, und pro Runde wird dieser Zaehler und die Maske der 32 Bit in den sehr grossen Fifo (wohl einige 16 KB) geschoben - die CPU liest das dann aus und ermoeglicht spaetere Analysen. Auch hier also die Echtzeitfrage auf eine extra Hardware verschoben - mit dem Ding duerften solche Messungen machbar sein, aber der Aufwand ist auch gewaltig.
Viele Gruesse,
Jan
1Z5 CFHF / AHB H4D |
|
Nach oben |
|
|
AndyO Gast
Kostenloser Account, kein OBD Support (VCDS, KOBD2Check)
|
30-12-2002, 22:16 Titel: Vertrauen zur Schaltung reicht. |
|
|
Den einzigen Ansatzpunkt, den ich bei der Schaltung sehe, ist die Laufzeit des Signals. Das die Anwendung auf den höheren Protokollschichten fehlerfrei läuft, wird dabei unterstellt. Mehr, als das Signal verzögerungsfrei durchzureichen, kann der Adapter nicht bewirken.
|
|
Nach oben |
|
|
Gremlin Gast
Kostenloser Account, kein OBD Support (VCDS, KOBD2Check)
|
31-12-2002, 0:49 Titel: Test-Software für VAGCOM-Adapter? |
|
|
also, ich oute mich mal als mikroprozessor-gott auf der hardwareebene (siehe auch profil)
zugegebenermassen hab ich mir den adapter noch nie genau besehen, egal welchen. denn bei den maximalen datenraten 10,4 kbaud und den verwendeten bauteilen kann die signallaufzeit keinen einfluss in diesem masse nehmen. da wär ja was ganz arg schiefgelaufen. ich hab auch im gegensatz zu vielen überhaupt keine probleme mit dem original jeff's pcb. weder mit verschiedenen fahrzeugen, noch mit den beiden verwendeten toshiba laptops.
da halte ich das 'problem' der echtzeitfähigkeit der BS schon für wahrscheinlicher. da hilft nur prozesse killen auf teufel komm raus. aber wie schafft das dann der 266er P-II mit 64MB unter 98SE hier, auf dem zig programme im hintergrund laufen ?
okok, ich schau mir das ganze nächstes jahr ( ) mal an und tüftle mal dran rum. notfalls gibts ne schaltung mit DC/DC converter um die PC-seite etwas zu boosten....kann aber dauern, traditionell spinnen die kunden wie die blöden rum am jahresanfang
CU Gremlin
|
|
Nach oben |
|
|
|