Gast
#31828
Hi, Ich versuche mich gerade mit dem UART anzufreunden. Habe einen 4414 und einen 8515 zur Auswahl. Nun wurde uns folgende Aufgabe gestellt: Baudrate: 250kBaud Im Ruhezustand liegt die Datenleitung auf hohem Potential (MARK). Der aktive Pegel ist Low (BREAK, SPACE); die Begriffe MARK, SPACE und BREAK entstammen der Terminologie serieller Schnittstellen. Die Übertragung beginnt mit einem BREAK, der mindestens 88 us Dauer aufweisen soll (2 Framezeiten). Dieser Break wird als RESET-Signal interpretiert. Der RESET wird von einem MARK gefolgt, der den Beginn der Datenübertragung signalisiert. Dieser MARK soll eine feste Länge von 8 us nicht unterschreiten. Im Anschluß hieran werden n+1 Datenbytes gesendet, die die Daten für n Kanäle enthalten. Jedes Byte wird von einem Startbit (SPACE) eingeleitet und mit zwei Stopbits (MARK) beendet; das Übertragungsformat ist also 8N2. Man beachte jedoch, daß eine zu sendende 0 als BREAK, eine zu sendende 1 als MARK gesendet wird. Das erste gesendete Byte wird als Startbyte bezeichnet und hat den festen Wert Null (00h). Das Problem was nun vorliegt ist nicht die Daten auszuwerten, sondern die Erkennung des RESET-Signals mit anschließendem high-Pegel(MARK). Denn erst wenn dies korrekt ist kann man ja den UART freigeben. Des weiteren muß ständig überprüft werden ob dieses RESET-Signal kommt, damit bei der Auswertung immer eindeutig ist welches das STARTbyte ist und wann Daten kommen. Wenn also jemand zu diesem Problem eine Antwort weiß so bitte ich diese zu posten. Ich hoffe es sieht jetzt nicht so aus als wolle ich mir keine Arbeit machen, aber ich bekomme diese ständige Überprüfung nicht vernünftig hin! ULI