hallo, ich arbeite an einem design, in dem ein 8bit microprozessor mit einem PC verbunden ist, und zwar via rs232. Der PC soll in sehr kurzer zeit kilobyte-weise daten an den uP schicken, ohne dass dieser ein byte verliert. Dazu ist natuerlich irgendeine weise von flusskontrolle notwendig.
Die idee, datenpakete vom PC zum uP zu schicken, diese quittieren zu lassen und auf quittung die naechsten daten zu verschicken haut nicht hin, weil die latenz im OS-kernel (hier: linux) und den fifos der southbridge einfach zu gross ist (die echtzeit-restriktionen werden dann nicht mehr eingehalten).
Deshalb bleibt mir nichts anderes uebrig, als XON/XOFF oder CTS/RTS zu verwenden. Aber welches der beiden? Dazu folgende fragen:
An welcher stelle im PC werden die XON/XOFF bytes ausgewertet. Per software im kernel? Oder direkt im Chipsatz (sprich: southbridge). Wenn der uP ein XOFF schickt, wieviel bytes werden ihm dann maximal trotzdem noch zugeschickt? Wer legt diese schranke fest?
An welcher stelle im PC wird CTS/RTS ausgewertet? Mit wieviel byte muss ein uP hier noch rechnen, bevor die pause einsetzt? Darf die unterbrechung des datenstroms jederzeit angefordert werden, oder nur zu bestimmten zeitpunkten (etwa zu den stoppbits).
Wo gibt es eine anstaendige dokumentation zur rs232-flusskontrolle. Via google habe ich immer nur pinbelegungen gefunden bzw. "weiche" texte, die zwar sagen, dass CTS/RTS neue leitungen braucht, etc, aber obige fragen nicht klaeren.
Vielen Dank, gruss, tom