Hallo zusammen, ich möchte mit meinem Windows XP Rechner Daten auf der seriellen Schnittstelle (10.400 kbps) mitloggen. Das Problem ist, dass es zu unkontrollierten Stromausfällen kommen kann, nach denen der Rechner neu booten muss. Das Booten dauert locker 60s - zu lange. Meine Idee zur Abhilfe war erst, auf MS-DOS statt auf XP zu setzen. Leider habe ich entdeckt, dass der dortige "mode"-Befehl nur vorkonfigurierte Baudraten unterstüzt und 10.400 kbps leider nicht dabei sind. Anders ist es bei der Dos-Box unter Windows XP - dort kann ich 10.400 kbps einstellen. Also müsste ich XP daz bringen, im DOS-Modus zu starten. Das war bei den alten Windows Versionen ja noch möglich. Bei XP aber leider nicht mehr. Meine nächste Idee wäre jetzt, eine Startdiskette zu erstellen und diese, mangels Diskettenlaufwerks, per USB booten zu lassen... Aber ich bin mir nicht sicher, ob ich mich da nicht verrenne... Deshalb meine Frage an Euch: Habt ihr eine einfachere Lösung? Ziel ist es, die serielle Schnittstelle mit 10.400 kbps zu überwachen (=Empfangsdaten in Datei schreiben) und diesen Zustand nach einem evtl. Stromausfall vollautomatisch und schnell wieder einzunehmen. Ich freue mich auf Eure Antworten! Steffen
Gast
#3768633
Wie wäre es mit einem Linux-System? Wenn du dich damit auskennst dauert der Bootvorgang keine 10s.
Gast
#3768642
es gibt keine dos-box unter xp. und ältere versionen von windows liessen sich auch nicht in einem "dos-modus" hochfahren. es wurde jediglich das zugrunde liegende dos gebootet und windows nicht gestartet. probiere es mal mit freedos.
Daran habe ich auch gedacht, aber leider kenne ich mich mit Linux überhaupt nicht aus :-( Ist es realistisch, das als Anfänger innerhalb von 1-2 Abenden hinzubekommen?
Gast
#3768649
Steffen Hausinger schrieb: > Daran habe ich auch gedacht, aber leider kenne ich mich mit Linux > überhaupt nicht aus :-( Ist es realistisch, das als Anfänger innerhalb > von 1-2 Abenden hinzubekommen? ein Linux bootet auch nicht viel schneller als ein Windows. Bau einen SSD ein und schon bootet Linux und Windows in 5-7 Sekunden. Oder kaufe eine USV.
Steffen Hausinger schrieb: > Anders ist es bei der Dos-Box unter Windows XP - dort kann ich 10.400 > kbps einstellen. Das ist keine "Dos-Box", das ist die Windows-Eingabeaufforderung. Die hat mit DOS exakt gar nichts zu tun, daher sind Deine nachfolgenden Vermutungen über Bootdisketten etc. auch nicht zielführend. Wenn Du Dir tatsächlich den Betrieb mit DOS antun willst, musst Du nur die Schnittstelle selber "von Hand" konfigurieren, statt auf die beschränkten und völlig antiquitierten Funktionen des BIOS zur Ansteuerung der seriellen Schnittstelle zuzugreifen. Das empfiehlt sich sowieso, weil die noch nicht mal eine gepufferte Übertragung hinbekommen (sprich: interruptgesteuertes Senden/Empfangen). Und wenn Du die UART direkt ansprichst (also mit I/O-Zugriffen die verschiedenen Register programmierst), dann kannst Du auch beliebige Baudraten einstellen, sofern diese durch einen ganzzahligen Teiler aus 115200 erzeugt werden können. Das ist mit Deinen 10400 Baud übrigens nicht ohne Baudratenfehler möglich; bist Du Dir dessen bewusst? Die Hardware der PC-Schnittstelle erzeugt die Baudrate aus einem Takt von 1.8432 MHz, der durch 16 geteilt die höchste erreichbare Baudrate (die oben erwähnten 115200 Baud) erzeugt, und jede niedrigere durch einen ganzzahligen Teiler davon. Die physikalisch erzielbare Baudrate beträgt etwa 10473 Baud (bei einem Teiler von 11) und weicht damit um etwa ein Prozent von der gewünschten Baudrate ab. Natürlich bist Du dann auf "echte" Onboard-Schnittstellen angewiesen und kannst weder USB-Seriell-Adapter noch Schnittstellen auf PCI/PCIe-Karten verwenden. Was spricht gegen die Verwendung einer USV?
Löse das Problem doch elektrotechnisch: http://www.alternate.de/BlueWalker/PowerWalker-VFD-600-IEC-USV/html/product/1017669?
Ich werde heute Abend FreeDOS ausprobieren. Die Alternativen mit einer USV (oder einem Laptop - kommt ja aufs Gleiche hinaus) ist charmant, aber nicht rechtzeitig darstellbar. Ich habe nur 1-2 Abende. Der UART-Teiler sollte so passen, da es unter Windows bereits funktioniert. Dennoch danke für den Hinweis!
Gast
#3768720
Steffen Hausinger schrieb: > seriellen Schnittstelle (10.400 kbps) Wer gibt denn solch eine krueppel baudrate vor?
Die ISO9141 (aka. Fzg.-Diagnose).
Steffen Hausinger schrieb: > Ich werde heute Abend FreeDOS ausprobieren. Hast Du denn schon eine Software, die die UART ansteuert? Oder wie stellst Du Dir das ganze vor? Einfach nur mit dem mode-Kommando die Baudrate einstellen ist nur ein Bruchteil der Miete.
Gast
#3768858
> Hast Du denn schon eine Software, die die UART ansteuert? http://en.wikipedia.org/wiki/Telix
Rufus Τ. Firefly schrieb: > Hast Du denn schon eine Software, die die UART ansteuert? Ich dachte, mit "mode" konfiguriere ich die Schnittstelle und mit dem Umleitungsoperator leite ich den eintreffenden Datenstrom in eine Datei um. Geht das so nicht? Wie gesagt, es geht nur ums loggen. Es wird nichts gesendet. Falls das so nicht klappt, danke für den Tipp mit Telix!
Steffen Hausinger schrieb: > und mit dem > Umleitungsoperator leite ich den eintreffenden Datenstrom in eine Datei > um. Geht das so nicht? Das geht nur mit reinem Text; wenn da Binärdaten kommen, ist mit dem ersten Auftreten eines Ctrl+Z die Aufzeichnung beendet. Ein richtiges Terminalprogramm ist da eindeutig zu bevorzugen; wobei zu prüfen wäre, ob Telix auch Nicht-Standardbaudraten zulässt. Das ist bei DOS-Terminalprogrammen durchaus unüblich, und ich kenne keines (mehr), bei dem das geht (ist aber auch schon über 20 Jahre her, daß ich mir DOS-Terminalprogramme angetan habe).
Gast
#3769041
Steffen Hausinger schrieb: > mit dem > Umleitungsoperator leite ich den eintreffenden Datenstrom in eine Datei > um. Das gibt fürchte ich ein Problem mit dem Ende - die Aufzeichnung wird beendet, wenn ein Ctrl-Z empfangen wird. Telix: kann alles, aber wahrscheinlich keine 10400 Baud, das gibt DOS nicht her und Programme wie Telix oder Procomm sind recht ordentlich programmiert, gehen also nicht direkt an die Hardware. Georg
Gast
#3769294
Steffen Hausinger schrieb: > Ich werde heute Abend FreeDOS ausprobieren. Dann schau Dir Telix genau an. Vor allem die mächtige Scriptsprache SALT, die sehr nach C aussieht. Damit habe ich damals viel gemacht, aber ob 10400 Baud möglich sind weiss ich heute nicht mehr. Viel Erfolg
Gast
#3769307
Steffen Hausinger schrieb: > Die ISO9141 (aka. Fzg.-Diagnose). vielen dank für die aufklärung.
Gast
#3769382
Kaj schrieb: > Wer gibt denn solch eine krueppel baudrate vor? Das ist genau ein Viertel von 41.6 kbit/s. Macht doch Sinn. Die bei der ISO machen keine halben Sachen ;-(
Georg schrieb: > Programme wie Telix oder Procomm sind recht ordentlich > programmiert, gehen also nicht direkt an die Hardware. Oh, und ob die das tun. Unter DOS gibt es keine brauchbare Unterstützung der seriellen Schnittstellen; wenn man vernünftig mit denen umgehen möchte und auch noch Baudraten jenseit der 19200 Baud nutzen will, dann muss man die unter Umgehung der jämmerlich primitiven BIOS-Routinen direkt ansprechen. Die BIOS-Routinen (die auch von DOS genutzt werden) kennen noch nicht einmal gepuffertes Senden/Empfangen von Daten, ganz zu schweigen von den Hardware-FIFOs neuerer Schnittstellenbausteine (16550).
Wieso nimmst du da keinen ELM323? Der ist doch extra dafür da.
Gast
#3769434
Christian R. schrieb: > Wieso nimmst du da keinen ELM323? Der ist doch extra dafür da. Vermutlich weil er schon paarmal gesagt hat, daß er nur 1-2 Abende hat, die Geschichte zum Laufen zu bringen...
Gast
#3769451
Mike schrieb: > Das ist genau ein Viertel von 41.6 kbit/s. Macht doch Sinn. Die bei der > ISO machen keine halben Sachen ;-( Keine halben Sachen... aber wie du selber sagst: dafür machen sie viertel Sachen :D
npn schrieb: > Vermutlich weil er schon paarmal gesagt hat, daß er nur 1-2 Abende hat, > die Geschichte zum Laufen zu bringen... OK, wenn man die Lieferzeit mit einrechnet, wirds echt knapp. Ich dachte die Zeitangabe sei netto.
Das Steuerzeichen Ctrl-Z... nicht schlecht, daran hab ich überhaupt nicht gedacht! Dann klappt das mit den Bordmitteln von DOS also nicht zuverlässig. Ich hab gestern Abend ein paar Dinge erfolglos ausprobiert und mich heute Morgen dann dazu entschieden, das ganze mit Windows und Makros zu lösen. Bleiben die 60s Totzeit - ich habe in meinem Bekanntenkreis aber einen Laptop mit ausreichend kräftigem Akku auftreiben können. Ich hoffe, das reicht. Herzlichen Dank für alle Tipps!! Steffen
Mit einem raspi sollten mit dem entsprechenden System die 10 s drinnen sein. Und unter Linux ist die serielle Schnittstelle einfach zugreifbar. Das sollte als einzeiler für die config und nochmal ein einzeiler in der Shell fürs loggen gehen.
Gast
#3770061
Die FTDI können auch "fractional Divisor", also mit Nachkomma im Teiler. Einfach mal googln : FTDI fractional divisor.
Gast
#3770064
uwe schrieb: > Die FTDI können auch "fractional Divisor", also mit Nachkomma im Teiler. > Einfach mal googln : FTDI fractional divisor. nur wird er den bestimmt unter dos nicht zum laufen bringen.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.