Выдержки из описания UART 16550AFN из National Semiconductor Data Book Этот чип имеет два 16 байтных (+ биты ошибок) буфера: один для пе- редачи и один для приема. При включении питания этот чип переходит в ре- жим эмуляции UART 16450, имеющий однобайтный буфер. Однако программное обеспечение предусматривает 16-ти байтный буфер. А это означает: - Возможность установки количества байтов в буфере (входном), по которому будет выставляться прерывание. Количество байтов - 1, 4, 8 или 14 байтов, устанавливается при инициализации UART (в конфигурационном файле коммуникационной программы или в командной строке фоссила). При работе UART 16550 коммуникационная программа (благодаря прерыванию) по- лучает из буфера установленное количество байтов. После вывода из буфера данных прерывание не будет вновь выставлено до тех пор, пока из порта в буфер не попадет, например, 8 новых байтов. - Возможность загрузки в выходной буфер до 16-ти байтов данных и передача их в линию (а не передача по одному байту). Благодаря этим двум новшествам время ожидания в очереди при работе с высокими скоростями сокращается в 10 или более раз. Так, при работе со скоростью 2400 бит/с и использовании обычного UART это время довольно незначительно. Однако уже на скорости 9600 бит/с и выше имеется значи- тельный выигрыш. Так, обычное число 960 прерываний/с уменьшается, ска- жем, до 100 прерываний/с, что является значительным выигрышем. аконец, в конце потока входящих данных имеется возможность того, что не будет достигнут предел, когда будет выставлено прерывание и поэ- тому несколько знаков будут находиться в буфере неопределенно долго или, по крайней мере, до тех пор пока не поступят новые знаки. Для предотвра- щения этого UART 16550AF обладает свойством тайм-аута. Таким образом, если за время равное по длительности 4-ем байтам в буфер не поступают новые знаки, то будет генерироваться прерывание для очистки буфера. Следует обратить внимание на маркировку. Если там имеется надпись UART 16550 и еще букву N для отметки того, что это пластмассовый DIP корпус, то этот чип практически 'нерабочий', так как даже когда за- действован 16-ти байтный Fifo (16-ти байтный буфер), то передача все равно идет по одному байту. В UART 16550AFN эта ошибка уже исправлена и Fifo работает исправно. Поэтому, когда UART маркирован как 16550AFN, то это - 'хороший' UART в пластмассовом DIP корпусе. Эти чипы становятся все более популярными в частности в тех случа- ях, когда используются режим мультитаска, и возникает проблема 'потери знаков' по той причине, что система не может достаточно быстро реагиро- вать на поступающие данные. И еще несколько соображений по замене этих чипов. Вначале следует определить тип чипа, используемого в вашей коммуникационной плате или внутреннем модеме. Если там установлен UART 8250 или 16450, то UART 16550AFN представляет полную замену, которая выполняется простой сменой чипа в 40 контактной панельке. Однако некоторые коммуникационные платы или модемы могут не иметь отдельно установленного UART. В этих случаях UART возможно является составной частью другой сложной схемы. В этом случае ваши шансы на простую смену UART весьма ограничены, и тогда воз- можно потребуется установка такой платы коммуникационного порта или мо- дема, где UART установлен на отдельной панельке. Alex --- GoldED 2.42.G0214 * Origin: Back Panel #2 BBS (DOWN) (2:5020/93)