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

 
 
> CY7C68013A постоянная булочная передача, прога для компа
torik
сообщение Feb 1 2007, 18:07
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Снова привет!

Ковыряюсь с этой платой CY3681, драйвер CyUSB....

Состряпал девайс - точка 1 IN интераптовая а также точки 2 OUT и 6 IN по 512 байт.
Пока зациклена точка 2 на точку 6, т.е. чо передаем с компа то обратно отсылаем...
Все это проверяется с помощью CyConsole... и вот какая проблема: в этой программе нельзя непрерывно принимать данные и записывать их в файл.

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


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
torik
сообщение Feb 16 2007, 17:26
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



А с помощью чего еще ловить начало кадра?
По прерыванию от кадрового импульса сбрасываю ФИФО, как без этого...

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

А насчет того что не успевает - у меня же 6500 тактов камеры имеется в распоряжении... А ПЛИСа нету у меня, да и больно дорого станет.

Сообщение отредактировал torik - Feb 16 2007, 17:26


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
-Al-
сообщение Feb 16 2007, 19:06
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894



Цитата(torik @ Feb 16 2007, 17:26) *
А с помощью чего еще ловить начало кадра?
По прерыванию от кадрового импульса сбрасываю ФИФО, как без этого...

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

А насчет того что не успевает - у меня же 6500 тактов камеры имеется в распоряжении... А ПЛИСа нету у меня, да и больно дорого станет.

Во первых - абсолютно некорректно в обработчике прерывания трогать какие-либо регистры контроллера и, тем более, вводить такты ожидания (SYNCDELAY)! Там должно быть ТОЛЬКО изменения какого-либо флага, по которому в основном цикле уже надо начинать обработку.
Во вторых - насколько помню, после сброса FIFO в FX2, надо выждать порядка 100мкс, прежде чем начинать писать туда что либо.
В третьих - начало кадра лучше ловить с помощью ПЛИС да и проблема с пакетами исчазла бы сама собой, писали-бы всё в навал...
Кстати, для передачи такого потока информации в реальном времени через Bulk EP без внешнего буфера не обойтись, иначе будут потери, внутреннего буфера FX2 просто будет недостаточно, так-что Вам, для нормальной работы Вашего устройства просто необходимо ставить ПЛИС.

И что это за 6500 тактов камеры???

Цитата(jur @ Feb 16 2007, 18:56) *
Цитата(torik @ Feb 16 2007, 14:05) *
Как сделать на основе стримера высокий приоритет потоку?
Это очень несложно. Вот как поступаю я:

Код
  XferThread = CreateThread(NULL,0,XferLoop,0,CREATE_SUSPENDED,(LPDWORD )&lpThreadId);
  if(XferThread == NULL) {
    return false;
  }
  if(SetThreadPriority(XferThread,THREAD_PRIORITY_TIME_CRITICAL) == 0) {
    CloseHandle(XferThread);
    return false;
  }
  if(ResumeThread(XferThread) == -1) {
    CloseHandle(XferThread);
    return false;
  }
  return true;

При этом я четко заметил, что флаг THREAD_PRIORITY_TIME_CRITICAL полностью решает проблему с пропаданием пакетов. Правда, зависит от всего остального. Если на компьютере выполняются другие важные задачи, то пакеты могут пропадать... Тогда нужно принимать более радикальные меры.

Это имеет смысл только на скоростях близких к масимуму (~40МБ/сек) при меньших скоростях, тем более при скорости 10МБ/сек делать такое для того, чтобы не терялись пакеты - просто шаманство smile.gif Если пакеты теряются - надо перерабатывать аппаратную часть, вводить дополнительный буфер.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- torik   CY7C68013A постоянная булочная передача   Feb 1 2007, 18:07
- - Warlord   Выход один, учиться программировать на ПК. Это теб...   Feb 2 2007, 11:02
- - torik   Аха - все получилось. Принимаю данные. Следующий ш...   Feb 2 2007, 15:39
- - torik   Ну вот и снова я... Первый вопрос (не принципиаль...   Feb 5 2007, 14:54
- - torik   ах да - может это както связано с регистром AUTOPT...   Feb 6 2007, 09:56
|- - jur   Цитата(torik @ Feb 6 2007, 08:56) ах да -...   Feb 7 2007, 08:20
- - torik   Дык а чего еще нужно? К ФИФО подключены данные, ас...   Feb 7 2007, 14:55
|- - jur   Цитата(torik @ Feb 7 2007, 13:55) Дык а ч...   Feb 7 2007, 17:05
- - torik   Цитата(jur @ Feb 7 2007, 17:05) Запись да...   Feb 8 2007, 09:00
|- - jur   Цитата(torik @ Feb 8 2007, 08:00) EZ-USB ...   Feb 8 2007, 23:14
- - torik   Насчет проверки... Сделано, только программное зап...   Feb 10 2007, 15:09
- - torik   Получилось - сигнал с камеры пошел... Только пришл...   Feb 10 2007, 17:19
- - torik   Ладно, с железом разобрались... теперь с программо...   Feb 12 2007, 09:44
|- - jur   Цитата(torik @ Feb 12 2007, 08:44) Ладно,...   Feb 13 2007, 08:12
|- - -Al-   Цитата(torik @ Feb 12 2007, 09:44) Ладно,...   Feb 13 2007, 11:58
- - torik   Извиняюсь, три дня на работе без инета Посмотрел ...   Feb 13 2007, 20:03
|- - jur   Цитата(torik @ Feb 13 2007, 19:03) Теперь...   Feb 13 2007, 22:00
- - torik   ыхы - вот только маркерный байт не подет - остальн...   Feb 14 2007, 19:19
|- - jur   Цитата(torik @ Feb 14 2007, 18:19) ыхы - ...   Feb 14 2007, 22:10
- - torik   О - спасибо - насчет маркерного байта понял. Тут п...   Feb 15 2007, 11:44
|- - jur   Цитата(torik @ Feb 15 2007, 10:44) И оста...   Feb 15 2007, 13:57
|- - jur   Цитата(torik @ Feb 15 2007, 10:44) Тут пр...   Feb 15 2007, 14:10
- - torik   насчет интераптовых "быстрых" точек - я ...   Feb 15 2007, 14:18
- - torik   Тэкс, прерывания не спасли Возможно дело в програ...   Feb 15 2007, 19:13
|- - jur   Тяжело вот так, дистанционно, понять проблему... Д...   Feb 15 2007, 23:08
- - torik   хм... Оказывается комп пропускает пакеты иногда, п...   Feb 16 2007, 15:05
|- - -Al-   @torik Я тут чего-то не понял?? Вы пытаетесь с пом...   Feb 16 2007, 15:34
|- - jur   Цитата(torik @ Feb 16 2007, 14:05) Как сд...   Feb 16 2007, 18:56
|- - jur   Цитата(-Al- @ Feb 16 2007, 18:0...   Feb 17 2007, 12:38
- - torik   AL, "6500 тактов камеры" - это значит чу...   Feb 17 2007, 13:38
- - -Al-   Цитата(jur @ Feb 17 2007, 12:38) С одной ...   Feb 17 2007, 15:00
|- - jur   Цитата(-Al- @ Feb 17 2007, 14:0...   Feb 18 2007, 20:01
- - torik   Аха, понял про прерывания, это учитываю. Что каса...   Feb 17 2007, 15:42
- - torik   А как контроллер будет определять что PCKTEND полу...   Feb 19 2007, 10:12
|- - jur   Цитата(torik @ Feb 19 2007, 09:12) А как ...   Feb 19 2007, 18:44
|- - torik   Цитата(jur @ Feb 19 2007, 18:44) Цитата(t...   Feb 19 2007, 21:25
|- - jur   Цитата(torik @ Feb 19 2007, 20:25) Чатота...   Feb 19 2007, 22:51
- - torik   Короче, вот такой будет вопрос... Кадр = 640*480,...   Feb 19 2007, 16:20
- - torik   Во блин дела... Тока заметили - пакеты 512 байт мы...   Feb 19 2007, 17:31
- - Warlord   Интересно получается, пакеты пропадают. Для начала...   Feb 20 2007, 10:40
- - torik   Потерю пакетов устранили! Картинка получилась,...   Feb 20 2007, 15:24
- - Warlord   ЦитатаКак приняли эти 640*480 байт, передаем их в ...   Feb 20 2007, 17:02
- - torik   Хы... тоже верно, спасибо. Но я всетаки сделал ка...   Feb 20 2007, 19:54


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

 


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


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