Velikost FIFO u serioveho portu?

Martin Cupak M.Cupy na seznam.cz
Úterý Duben 12 13:23:13 CEST 2005


Petr Tomasek napsal(a):
>>>Takze je potreba, aby zarizeni shodilo CTS trosku driv, a na to jsem
>>>se prave ptal, ze jsem potreboval vedet, _kolik_ bytu to je
>>>(pripadne byl schopny to na strane PC nejak nastavit...)

>>Resite situaci, kdy nestiha zarizeni nebo linuxove PC?

> zarizeni... ale k tomu potrebuju vedet vlikost vystupniho fifo
> u PC ...
16550A 16 byte, jak uz se tu psalo.
ale pozor, tento UART nebo aspon jeho podoba integrovana
na drtive vetsine motherboardu neumi regulerni HW handshake
(bez toho aby se do toho vlozil OS/ovladac).
Jedina HWrovost handshaku zde spociva v tom, ze se pouzivaji
signaly RTS/CTS serioveho portu. Jejich stav je vsak rizen
ovladacem v OS.

Dost jsem laboroval s opacnym pripadem (nestiha PC/linux),
tam je resenim 16C650 (realne jsem nepotkal) ci vyssi,
mel jsem v ruce 16950 a to je dobry UART. Bohuzel, neda
se koupit tak jednoduse jako houska na krame.
U bezne dostupnych stokorunovych PCI seriovych karet
s chipem jako treba NM9835 to resim hackem do jadra resp.
ovladace serial.c (2.4.X, 2.6 jsem nezkousel)
Ten UART to umi ale musi se to zapnout, jinak se chova
jako 16C550A viz vyse.

Jak to funguje pro transmit jsem detailne nezkoumal, ale snad
jsem Vam aspon trochu pomohl...

...ted me napadlo: nakofigurovat UART manualne jako 16450,
ktery ma 1byte buffer. ale to chce zkusit, jestli si to
HW da libit.

Jinak jeste je resenim nejaky vyssi softwarovy protokol,
kde se kazdy byte pred odeslanim dalsiho z PC potvrzuje
poslanim zpet (echo), tedy pokud tam nemate prilis hutny tok dat.
Ale to Vas asi uz taky napadlo.

M.

-- 
-------------------------------------------------------
Martin Cupak < M.Cupy at seznam.cz >
-------------------------------------------------------
User friendly things make u(ser)s lazy and thus silly.
-------------------------------------------------------


Další informace o konferenci Linux