Автор Тема: ISA UART  (Прочитано 3761 раз)

Оффлайн noonv

  • Начинающий
  • *
  • Сообщений: 12
    • RoboCraft
ISA UART
« : 22.09.2011 17:57:06 »
Приветствую!
ALT Linux 5.0 (2.6.30)

ISA-я плата (контроллер XR16C2850) с двумя UART-ами
устанавливаю джамперами базовый адрес и прерывания

настраиваю последовательные порты:
Цитировать
setserial /dev/ttyS4 uart 16850 port 0x100 irq 5 baud_base 3686400
setserial /dev/ttyS5 uart 16850 port 0x108 irq 6 baud_base 3686400

проблема:
на скорости 921600, при считывании одиночных байт проблем не возникает, но при попытке считывания пакета данных ( например, 134 байта) часть байтов пакета теряются (причём байт может потеряться и в середине пакета О_о).

подскажите, в чём может быть дело?
Спасибо!
« Последнее редактирование: 23.09.2011 09:12:20 от noonv »

Оффлайн Карлсон

  • Завсегдатай
  • *
  • Сообщений: 1 699
Re: ISA UART
« Ответ #1 : 22.09.2011 18:05:28 »
подскажите, в чём может быть дело?

Скорость раза в три уменьшите. Стандарт UART вообще вроде 115200 максимум описывает.

Оффлайн noonv

  • Начинающий
  • *
  • Сообщений: 12
    • RoboCraft
Re: ISA UART
« Ответ #2 : 23.09.2011 09:13:20 »
:) если бы нужна была скорость 115200, то использовал бы штатный порт :)

здесь http://www.exar.com/Common/Content/ProductDetails.aspx?ID=25
указано
Цитировать
    Up to 6.25 Mbps at 5V, and 4 Mbps at 3.3V

Оффлайн Карлсон

  • Завсегдатай
  • *
  • Сообщений: 1 699
Re: ISA UART
« Ответ #3 : 23.09.2011 10:29:20 »
:) если бы нужна была скорость 115200, то использовал бы штатный порт :)

здесь http://www.exar.com/Common/Content/ProductDetails.aspx?ID=25
указано
Цитировать
    Up to 6.25 Mbps at 5V, and 4 Mbps at 3.3V

С большой вероятностью проблема аппаратная (плохой кабель, например), к Линуксу вообще и к АЛьТ в частности отношения не имеющая. Под другими ОС проверяли?

Оффлайн noonv

  • Начинающий
  • *
  • Сообщений: 12
    • RoboCraft
Re: ISA UART
« Ответ #4 : 23.09.2011 10:47:49 »
используется RS422. кабели менял - не помогает :)
сам альт, скорее всего действительно не причём, но возникает вопрос - в чём может быть дело :(
не хватает времени на обработку прерывания (FIFO 128 байт)?
но я подключаю к этому же компу переходник USB-RS422 (FIFO 64 байта) и всё считывается нормально  :-[

Оффлайн Карлсон

  • Завсегдатай
  • *
  • Сообщений: 1 699
Re: ISA UART
« Ответ #5 : 23.09.2011 10:53:18 »
но возникает вопрос - в чём может быть дело :(

Ну всяко это не вопрос для форма АЛьТ Линукс.

Берите осциллограф, смотрите, что ваш пакет доходит, что фронты у него вменяемые и т.п. Потом берите код драйвера, и смотрите, как там устроено, нельзя ли вывести отладочную информацию и т.п.