Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: USB и FT245BM, Help me!
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Drummer
На сколько я знаю, то USB интерфейс осуществляет последовательную передачу данных разбивая их на кадры по 64 байта. Я генерирую тактовый сигнал в проге на компе. Если он больше 64 байта, то на выходе FTDI он может быть разделен паузой через каждые 64 байта, а может и не быть. Например сгенерил я 80 байт клока, а он как-то рандомно то разделяет на 64 и 16, переводя во время паузы все выходы FTDI в z состояние, то сплошником все 80 передает. И длительность этой паузы почему-то все время разная. Почему так происходит?
И вообще, а если мне нужен непрерывный клок, скажем несколько килобайт, я что его по USB получить не смогу?
С буфера FIFO я забираю данные с помощью ПЛИС EPM3064, может я неправильно их забираю?
Maksim
Цитата(Drummer @ Sep 18 2006, 09:00) *
На сколько я знаю, то USB интерфейс осуществляет последовательную передачу данных разбивая их на кадры по 64 байта. Я генерирую тактовый сигнал в проге на компе. Если он больше 64 байта, то на выходе FTDI он может быть разделен паузой через каждые 64 байта, а может и не быть. Например сгенерил я 80 байт клока, а он как-то рандомно то разделяет на 64 и 16, переводя во время паузы все выходы FTDI в z состояние, то сплошником все 80 передает. И длительность этой паузы почему-то все время разная. Почему так происходит?
И вообще, а если мне нужен непрерывный клок, скажем несколько килобайт, я что его по USB получить не смогу?
С буфера FIFO я забираю данные с помощью ПЛИС EPM3064, может я неправильно их забираю?


Хост опрашивает устройство раз в 1 мс, если к моменту запроса данных на чтение в буфере будет меньше 64 байт, то данные не будут передаваться smile.gif , но сработает таймер по истечению времени которого произойдёт всё таки чтение буфера с любым количеством данных в буфере даже если они меньше 64.
Drummer
Цитата(Maksim @ Sep 18 2006, 10:52) *
Хост опрашивает устройство раз в 1 мс, если к моменту запроса данных на чтение в буфере будет меньше 64 байт, то данные не будут передаваться smile.gif , но сработает таймер по истечению времени которого произойдёт всё таки чтение буфера с любым количеством данных в буфере даже если они меньше 64.


Вообще-то у меня происходит все наоборот. Когда данных меньше, чем 64 байта, то они передаются все без задержки, а вот когда больше, тогда она появляется и жутко мешает жить smile.gif
Может быть надо передавать ровно по 64 байта, но тогда тоже будет задержка?
Asb
Не уверен, что Вам это чем-то поможет, но для сведения: FTDI использует 2 служебных байта в кадре, так что полный кадр будет передан при 62 байтах данных.
Maksim
[/quote]
Вообще-то у меня происходит все наоборот. Когда данных меньше, чем 64 байта, то они передаются все без задержки, а вот когда больше, тогда она появляется и жутко мешает жить smile.gif
Может быть надо передавать ровно по 64 байта, но тогда тоже будет задержка?
[/quote]
задержка в чём? в появленииTXE?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.