Перейти к содержанию
    

Ошибки чтения на шине PCI Express

Всем доброго времени суток

 

Обнаружил интересную проблему. Пока не могу её объяснить.

 

Есть промышленный компьютер PCE-5127: http://www.advantech.ru/products/1-2JKP2L/...2d422d678e.aspx

 

Есть плата с контроллером PCI Express на Virtex 5, используется контроллер DS_DMA: http://ds-dev.ru/projects/ds-dma

 

При работе канала DMA происходит считывание блока дескрипторов размером 512 байт из ОЗУ и запись данных в ОЗУ. Блок дескрипторов защищён контрольной суммой. В процессе чтения проверяется таймаут на чтение. При превышении таймаута или при ошибке CRC происходит повторное чтение блока дескрипторов.

 

Процесс чтения блока дескрипторов происходит по разному в Windows XP и Windows 7;

 

XP: чтение происходит за 200-400 тактов (250 Мгц), не происходит ошибок Completion Timeout и ошибок CRC

 

Windows 7: время чтения не стабильное 200 - 800, а иногда происходят очень длительная задержка и срабатывание таймаута. И как следствие иногда возникают ошибки CRC.

 

На других компьютерах с Window 7 чтение происходит достаточно стабильно и без ошибок.

 

Собственно вопрос - кто-нибуть сталкивался с подобным поведением процесса чтения ?

 

 

 

 

 

 

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...