|
CY7C68013A постоянная булочная передача, прога для компа |
|
|
|
 |
Ответов
|
Feb 19 2007, 18:44
|
Местный
  
Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704

|
Цитата(torik @ Feb 19 2007, 09:12)  А как контроллер будет определять что PCKTEND получен, успеет он? Посчитать надо. Во всяком случае, микроконтроллер - штука достаточно быстрая, импульс длительностью порядка десятка/двух микросекунд должен увидеть лёгко. Цитата(torik @ Feb 19 2007, 15:20)  Иногда во время приема почему-то (дело вроде не в железе) пропадают пара-тройка пакетов по 512 байт. Но вот тут-то Код if (dlg->InEndPt->FinishDataXfer(buffers[i], rLen, &inOvLap[i], contexts[i], isoPktInfos[i])) { ....... ждет себе заполнения буфера до размера 640*480! А берет он их ясен пень из следующего кадра и, получаем сбой синхронизации. Конечно. Все дело в негарантированности доставки булочных пакетов. IMHO, тут единственная надежда - запуливать в очередь прием только двух пакетов и не больше (т.е. одной полной TV строки: 512+128 байт). А число очередей взять по-больше (8-16 штук). Но все равно, я не очень представляю, как без маркерного байта полностью избавиться от сбоев синхронизации... Цитата(torik @ Feb 19 2007, 15:20)  Чтобы синхронизироваться надо бы при приеме кадровой синхронизации (иными словами по приему от второй In точки) делать как-то так чтобы буфер поновой заполнялся!! КАК?? Вот как раз при организации приема в 2 пакета на буфер (первый пакет полный, а второй - короткий, на 128 байт) и получится, что приход кадровой синхронизации тут же будет означать, что следующая строка - первая. Правда, может получиться, что синхроимпульс придет на текущую строку... Кстати, тут может выручить тот факт, что временн ой промежуток для кадрового синхроимпульса заметно дольше (несколько строк). За счет этого можно как-то поиграться с синхронизацией... Думаю, стоит обдумать этот момент. Можно, к примеру, очень точно измерять время прихода строк и когда очередная строка придет сильно позже обычных - это и будет сигналом начала кадра. Тогда даже кадровая синхронизация через другую булку будет не нужна! :-)
--------------------
MPEG-4 - в массы!
|
|
|
|
|
Feb 19 2007, 21:25
|

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

|
Цитата(jur @ Feb 19 2007, 18:44)  Цитата(torik @ Feb 19 2007, 09:12)  А как контроллер будет определять что PCKTEND получен, успеет он? Посчитать надо. Во всяком случае, микроконтроллер - штука достаточно быстрая, импульс длительностью порядка десятка/двух микросекунд должен увидеть лёгко. Чатота тактов с камеры почти 10 Мгц - о счете речи быть не может Цитата Цитата(torik @ Feb 19 2007, 15:20)  Иногда во время приема почему-то (дело вроде не в железе) пропадают пара-тройка пакетов по 512 байт. Но вот тут-то Код if (dlg->InEndPt->FinishDataXfer(buffers[i], rLen, &inOvLap[i], contexts[i], isoPktInfos[i])) { ....... ждет себе заполнения буфера до размера 640*480! А берет он их ясен пень из следующего кадра и, получаем сбой синхронизации. Конечно. Все дело в негарантированности доставки булочных пакетов. IMHO, тут единственная надежда - запуливать в очередь прием только двух пакетов и не больше (т.е. одной полной TV строки: 512+128 байт). А число очередей взять по-больше (8-16 штук). Но все равно, я не очень представляю, как без маркерного байта полностью избавиться от сбоев синхронизации... Булочные пакеты, путаем с изохронными - доставка гарантирована, кроме того я потом же выяснил - на железе не пропадают данные Цитата Цитата(torik @ Feb 19 2007, 15:20)  Чтобы синхронизироваться надо бы при приеме кадровой синхронизации (иными словами по приему от второй In точки) делать как-то так чтобы буфер поновой заполнялся!! КАК?? Вот как раз при организации приема в 2 пакета на буфер (первый пакет полный, а второй - короткий, на 128 байт) и получится, что приход кадровой синхронизации тут же будет означать, что следующая строка - первая. Правда, может получиться, что синхроимпульс придет на текущую строку... Если ща у меня 5 раз принимается 120*512, то принимать скажем так 480 раз 512+128 не рулит, не принимает комп Цитата Кстати, тут может выручить тот факт, что временной промежуток для кадрового синхроимпульса заметно дольше (несколько строк). За счет этого можно как-то поиграться с синхронизацией... Думаю, стоит обдумать этот момент. Можно, к примеру, очень точно измерять время прихода строк и когда очередная строка придет сильно позже обычных - это и будет сигналом начала кадра. Тогда даже кадровая синхронизация через другую булку будет не нужна! :-) хм... я глядел - наложения кадровой синхронизации (данных по второй токе) на строчные данные НЕТ. Просто когда мы ловим этот кадр - не понятно (да и можно ли), как начать прием совсем сначал. Разве что сделать Abort() и далее BeginXferData? корректро ли это.... Вот так, думается мне что проблема в правильности, грамотности написания кода на СИ. Делали переписывание полученных данных тупо циклом for, указатель=указатель. Были сбои в конце каждого из 5-и пакетов, когда заменили на memcpy - эти сбои почти ушли. Теперь стабильно теряется около 128 байт в последнем из пяти пакетов...
--------------------
Быть. torizin-liteha@yandex.ru
|
|
|
|
Сообщений в этой теме
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 torik А с помощью чего еще ловить начало кадра?
По преры... Feb 16 2007, 17:26 -Al- Цитата(torik @ Feb 16 2007, 17:26) А с по... Feb 16 2007, 19:06  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   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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|