Jump to content
Форум по продукции MOXA

Белый пони

Пользователи
  • Posts

    5
  • Joined

  • Last visited

Everything posted by Белый пони

  1. Спасибо! Пробовал переписать для QNX функцию из драйверов для Linux: #define SET_MOXA_MUST_FIFO_VALUE(info) { \ UCHAR __oldlcr, __efr; \ __oldlcr = inb((info)->base+UART_LCR); \ outb(MOXA_MUST_ENTER_ENCHANCE, (info)->base+UART_LCR); \ __efr = inb((info)->base+MOXA_MUST_EFR_REGISTER); \ __efr &= ~MOXA_MUST_EFR_BANK_MASK; \ __efr |= MOXA_MUST_EFR_BANK1; \ outb(__efr, (info)->base+MOXA_MUST_EFR_REGISTER); \ outb((UCHAR)((info)->rx_high_water), (info)->base+MOXA_MUST_RBRTH_REGISTER); \ outb((UCHAR)((info)->rx_trigger), (info)->base+MOXA_MUST_RBRTI_REGISTER); \ outb((UCHAR)((info)->rx_low_water), (info)->base+MOXA_MUST_RBRTL_REGISTER); \ outb((UCHAR)(0), (info)->base+MOXA_MUST_THRTL_REGISTER); \ outb(__oldlcr, (info)->base+UART_LCR); \ } С помощью этой функции в Linux можно задавать любой уровень буффера для выдачи прерываний - rx_trigger - от 1 до 120, включая нестандартные значения (по умолчанию стоит 96). Я пробовал в Linux Ubuntu 10.10. Может кому-то пригодится.
  2. Здравствуйте! У кого-нибудь был опыт работы c платами с MU860 в QNX 6.5 ? Столкнулся с проблемой, что на плате CP-168U в QNX'е 128-байтный FIFO-буффер работет только как стандартный 1-, 4-, 8- или 14-ти байтный. Последний драйвер с moxa.com, запускает стандартный драйвер для работы с COM-портами: # pidin arg | grep 8250 155666 devc-ser8250 -c14745600,16 -t 14 -u2 a400,11 a408,11 a410,11 a418,11 a420,11 a428,11 a430,11 a438,11 176147 devc-ser8250 -u1 3f8,4 217102 devc-ser8250 -u10 2f8,3 618543 grep 8250 т.е. по умолчанию устанавливает 14-байтный входной буффер: -t 14. При этом входная буфферизация получается именно 14-ти байтная. (Хотя в описании сказано, что доступно всего 3 значения 1, 60 и 120). Пробовал запускать драйвер с опциями -t 1, -t 4, -t 8 . Буффрер устанавливался в соотетствующие значения. Пробовал запускать вообще без опции -t , тогда буффер по умолчанию устанавливался в 8 байт. Отсюда вопрос, как мне в QNX 6.5 полностью использовать 128-байтный буффер на данной плате? PS Проверял работу платы в Win XP x86 и Ubuntu 10.10. В них буффер исправно работает на все 120 входных байт.
  3. Спасибо за помощь! Тогда может получится по-другому... В линуксе у меня получалось регулировать размер буфера без помощи ОС и драйверов. Для этого я "вручную" командами outb записывал необходимые флаги в регистры uart'а, конкретно регистр управления fifo находится по адресу (базовый адрес com-порта + 2). Двумя битами задаётся один из 4-х вариантов размера буфера. В этой инструкции - http://www.moxa.com/...s_Manual_v8.pdf - описано, как настраивать размер буфера в ОС Windows. Доступно три варианта для чтения и записи: 1, 60, 120 и 1, 64, 128, соответственно. Т.е. насколько я понимаю, техническая возможность настройки как минимум трёх уровней имеется. Базовый адресс порта можно узнать. Остаётся вопрос, какие именно рагистры отвечают за настройку FIFO, совпадают ли адреса с адресами стандарных uart'в? Двух битов хватит, чтобы задать три уровня буффера, предусмотреных в windows. Но с другой стороны, я встречал в интернете и uart'ы, где для задания размера большого буффера использовались отдельные регистры. Для этого, вероятно, нужно подробное описание используемого uart'а MU860. Но в интернете мне удалось найти только совсем краткое http://read.pudn.com...te_20070926.pdf Нет ли у Вас информации, по поводу того, где можно раздобыть детальное описание?
  4. Здравствуйте, в описании указаных плат на сайте указан размер буффера FIFO - 128 Б. Имеется ли возможность программно изменить пороговое значение количества байт в буффере, при котором генерируется прерывание? (как например для стандартных uart с 16-ти байтным буффером, можно постваить пороговые значения 1,4,8 и 14 байт) Если да, то какие значения можно указать? Можно ли это сделать средствами драйвера или ОС QNX 6.x.x ? ( Например, в Linux, насколько я знаю, средствами ОС настроить FIFO пока нельзя. )
  5. Насклько я понял из version.txt этот же драйвер подходит и для CP-132 ? Нашёл его тут совершенно случайно, на moxa.ru ссылку на драйвер для CP-132 вообще не нашёл, а на moxa.com лежит только старая версия 1.15 (по крайней мере для CP-132). Спасибо!
×
×
  • Create New...