roboforum.ru

Технический форум по робототехнике.

ISA UART

В этом разделе обсуждаются вопросы по использованию ПК и КПК в робототехнике.
Программирование, настройка, аппаратная часть.

ISA UART

Сообщение noonv » 22 сен 2011, 17:58

Приветствую!
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 байта) часть байтов пакета теряются (причём байт может потеряться и в середине пакета О_о).

пробовал уменьшать скорость, но похоже, потерь нету только на 9600 :ROFL:

подскажите, в чём может быть дело?
Спасибо!
Последний раз редактировалось noonv 22 сен 2011, 22:04, всего редактировалось 1 раз.
Аватара пользователя
noonv
 
Сообщения: 600
Зарегистрирован: 21 май 2007, 22:57
Откуда: Калининград
прог. языки: C++

Re: ISA UART

Сообщение dccharacter » 22 сен 2011, 18:55

Может в том, что скорость 3Мбита прописана?
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: ISA UART

Сообщение Angel71 » 22 сен 2011, 19:13

не должно из-за этого.
здесь http://www.exar.com/Common/Content/ProductDetails.aspx?ID=25 указано
Up to 6.25 Mbps at 5V, and 4 Mbps at 3.3V
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: ISA UART

Сообщение dccharacter » 22 сен 2011, 20:52

Зачем гадать? Можно прописать 19200 и проверить.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: ISA UART

Сообщение noonv » 22 сен 2011, 22:03

проверю, хотя, кажется это не то :unknown:
baud_base скорость_в_бодах
Этот параметр устанавливает частоту изменения состояния сигнала линии в бодах, которая является опорной частотой внутреннего генератора поделенной счётчиком-делителем на 16. Обычно, это значение равно 115200 бод, это также самая высокая скорость которую может поддерживать микросхема UART.

http://www.opennet.ru/man.shtml?topic=s ... &russian=0
Аватара пользователя
noonv
 
Сообщения: 600
Зарегистрирован: 21 май 2007, 22:57
Откуда: Калининград
прог. языки: C++

Re: ISA UART

Сообщение noonv » 23 сен 2011, 10:48

изменение не помогает.

сам альт, скорее всего не причём, но возникает вопрос - в чём может быть дело :(
не хватает времени на обработку прерывания (FIFO 128 байт)?
но я подключаю к этому же компу переходник USB-RS422 (FIFO 64 байта) и всё считывается нормально :-[
Аватара пользователя
noonv
 
Сообщения: 600
Зарегистрирован: 21 май 2007, 22:57
Откуда: Калининград
прог. языки: C++

Re: ISA UART

Сообщение Angel71 » 23 сен 2011, 14:40

тут или уход частоты или настройки или не совсем корректно в коде отсылаете/принимаете данные. у вас кварц на 14.7456 и data rate x16? у вас в строке инициализации не все уартовкие настройки, остальные возможно задать?
врядли, но возможно нужно сменить кварц и/или кондёры. но это имхо как крайняя мера.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1


Вернуться в Компьютеры в роботостроении

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5