реклама на сайте
подробности

 
 
> Задержка при работе с RS232, Виртуальным из среды Матлаб
Muscat
сообщение Jan 17 2011, 14:21
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 277
Регистрация: 8-04-09
Из: Москва
Пользователь №: 47 382



Добрый день.
Попробую еще раз задать вопрос на форуме, хотя уже и без особой надежды на ответ.

Есть задача - научиться подавать в ПЛИС длинные последовательности бит (от 10^6 байт по 6 бит).
Имеется отладочная плата Actel, на которой установлена микросхема USB->RS232, а на PC установлен виртуальным COM-порт. Таким образом физически RS232 нигде не существует, однако для всех приложений существует COM-порт, в который я могу писать данные, а для ПЛИС существует 2 контакта RX и ТХ для передачи данных.

Теперь собственно к проблеме.
Поскольку физические ограничения на скорость существует только по USB, я пишу данные со скорость 1.5МБит секунду.

В среде Матлаб это выглядит так
Код
s = serial('COM2');
s.BaudRate=1.5*10^6;
fopen(s);
fwrite(s,'!&!');
fclose(s);

Данные пишутся как надо, на осциллографе я вижу требуемые сигналы, длительной одного байта - 4.8 мкс.
Пакеты данных так же передаются как надо, без трудностей,байт за байтом
Код
fwrite(s,'ABCDEFGHIJKLM');


Далее, задача состоит в том, чтобы организовать обмен данными между ПЛИС и PC
Прием->Передача->Прием->Передача
Для чистоты опыта задача прием пока выключен, то есть я пробую выполнить 2 команды передачи последовательно
Код
fwrite(s,'A');
fwrite(s,'B');
И вот тут случается странное. Длительность байт не меняется, однако между самими байтами возникает интервал в 80мс. То есть 4мкс порт занят передачей, потом 80мс ждет, потом передает следующий байт.


Откуда возникает эта задержка и как с ней бороться? Одно из временных решений - увеличить размер входного буфера до 1024 бит, и тогда передача будет идти не 4 мкс, а 4 мс, пауза сохранится прежней 80мс. Но КПД по прежнему просто несерьезный.

Где узкое место и чего дожидается система?



--------------------
Because it's there
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 07:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.02804 секунд с 7
ELECTRONIX ©2004-2016