T
Tom Naxos
Guest
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
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