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

 
 
> CY7C68013:Передача данных, Проблема с двойной буфферизацией
Sh@dow
сообщение Apr 11 2011, 14:27
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 12-03-07
Пользователь №: 26 065



Добрый день,
Используется чип вместе с FPGA в режиме slave fifo.Передача идет по EP2 (размер 512 байт,двойная буфферизация)
Хост периодически передает данные в контроллер.(один кадр размером 512 байт).
FPGA срабатывает по прерыванию от чипа.
Для этого в коде прошивки в процедуре TD_Poll есть такой код:
Код
  if(!(EP2468STAT & 0x01)) {           //    EP2E

                      
    IOE &= ~_int_dsp_;
        IOE |=  _int_dsp_;
        SYNCDELAY;                    
        OUTPKTEND = 0x02;      
       return;
  }

Тоесть если буффер не пустой дрыгаем ногой.По нему собственно FPGA и начинает вычитывать fifo.
Проблема вот в чем.
При первой отсылке происходит прерывание,данные вычитываются хорошо.А вот по второй тоже идет прерывание только данные читаются теже самые.А по третьей отсылке читаются уже обновленные.
Я подумал что возможно так происходит из-за двойной буфферизации. Хотя мне кажется что если присылаем всегда один пакет и шлем мы не часто(раз в секунду) то второй буффер не должен быть задействован.Врочем логика работы двойной буфферизации для меня покрыта мраком.Хотелось бы просвятится в этом направлении.

ЗЫ: Есть ли возможность убрать двойную буфферизацию.В даташите есть варианты:double triple quad invalid.Что означает invalid.Отсутствие буфферизации?
Спасибо.
Go to the top of the page
 
+Quote Post



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

 


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


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