|
|
  |
Буферизация потока данных при чтении из PCI target |
|
|
|
Jul 12 2005, 16:03
|
Участник

Группа: Новичок
Сообщений: 24
Регистрация: 19-03-05
Пользователь №: 3 505

|
Здравствуйте. Имеется контроллер PCI от SET 32\33 Target. В документации к нему сказано, что скорость записи из целевого устройства (платы PCI) в память компьютера – 66 Мб\с. Реализации контроллера делается на XC2S100-PQ208. В ПЛИСку приходит поток данных со скоростью около 30 Мб/с. В микросхеме имеется 40 960 бит = 5120 байт. Вопрос, каким образом рассчитать буферизацию? Ну например получается два буфера по 2.5 кбайт. Будет ли машина успевать считывать данные из заполненного буфера? Или необходимо к ПЛИСе подключать дополнительную RAM (тогда какой размер?). Или можно обойтись простым FIFO буфером размером всей памяти XC2S? В компьютере на PCI шине дополнительно будет только сетевая карта. Какая тут теория расчета ??? Заранее спасибо.
|
|
|
|
|
Jul 12 2005, 21:18
|
Местный
  
Группа: Свой
Сообщений: 376
Регистрация: 30-06-04
Из: Moskow
Пользователь №: 218

|
Цитата(STT @ Jul 12 2005, 19:03) Здравствуйте. Имеется контроллер PCI от SET 32\33 Target. В документации к нему сказано, что скорость записи из целевого устройства (платы PCI) в память компьютера – 66 Мб\с. Реализации контроллера делается на XC2S100-PQ208. В ПЛИСку приходит поток данных со скоростью около 30 Мб/с. В микросхеме имеется 40 960 бит = 5120 байт. Вопрос, каким образом рассчитать буферизацию? Ну например получается два буфера по 2.5 кбайт. Будет ли машина успевать считывать данные из заполненного буфера? Или необходимо к ПЛИСе подключать дополнительную RAM (тогда какой размер?). Или можно обойтись простым FIFO буфером размером всей памяти XC2S? В компьютере на PCI шине дополнительно будет только сетевая карта. Какая тут теория расчета ??? Заранее спасибо. Боюсь, что никакой. Хотя, если иметь модель PCI для нескольких устройств (соотносящуюся с логикой мат.платы компа  ), можно преположить, что сетевушка не займёт более 50% ресурсов PCI, и уже от этого плясать. Я таким некоторое время страдал (из тестбенча для opencore's pci core сделал тест устройство+драйвер+несколько мастеров на pci шине). Оказалось, что проще (и быстрее!) "вживую" поглядеть  . Цитата(STT @ Jul 12 2005, 19:03) Имеется контроллер PCI от SET 32\33 Target. Совсем забыл! SET'у не особо верьте  .
--------------------
serpents on the way to paradise - dying for love, fighting for ages.
|
|
|
|
|
Mar 3 2007, 00:32
|
Группа: Новичок
Сообщений: 8
Регистрация: 2-03-07
Пользователь №: 25 832

|
Здравствуйте. Случайно наткнулся на данную тему. Вопрос к qab: Что за ТЕСТ УСТРОЙСТВО+ДРАЙВЕР+НЕСКОЛЬКО МАСТЕРОВ на PCI-ШИНЕ? Мне помощь нужна! Разработка ТЕСТ УСТРОЙСТВА! http://electronix.ru/forum/index.php?showtopic=28130Заранее благодарю, что откликнулся.
|
|
|
|
|
Mar 5 2007, 23:55
|

Местный
  
Группа: Свой
Сообщений: 272
Регистрация: 17-01-05
Из: Ростов-на-Дону
Пользователь №: 2 018

|
Цитата В ПЛИСку приходит поток данных со скоростью около 30 Мб/с. В микросхеме имеется 40 960 бит = 5120 байт. В такой ситуации Вас может спасти PCI-master. Возьмите ядро от Xilinx и добавьте к нему свой контроллер ПДП. Часть памяти ПЛИС отведите под хранние цепочки дескрипторов ПДП (каждый дескриптор описывает одну непрерывную пересылку). Тогда будет гарантия того, что данные будут пересланы вовремя.
--------------------
/* Всё хорошо в меру. */
|
|
|
|
|
Mar 7 2007, 13:28
|
Местный
  
Группа: Свой
Сообщений: 433
Регистрация: 28-02-06
Пользователь №: 14 788

|
Цитата(STT @ Jul 12 2005, 16:03)  Здравствуйте. Имеется контроллер PCI от SET 32\33 Target. В документации к нему сказано, что скорость записи из целевого устройства (платы PCI) в память компьютера – 66 Мб\с. Реализации контроллера делается на XC2S100-PQ208. В ПЛИСку приходит поток данных со скоростью около 30 Мб/с. В микросхеме имеется 40 960 бит = 5120 байт. Вопрос, каким образом рассчитать буферизацию? Ну например получается два буфера по 2.5 кбайт. Будет ли машина успевать считывать данные из заполненного буфера? Или необходимо к ПЛИСе подключать дополнительную RAM (тогда какой размер?). Или можно обойтись простым FIFO буфером размером всей памяти XC2S? В компьютере на PCI шине дополнительно будет только сетевая карта. Какая тут теория расчета ??? Заранее спасибо. Я что то не догоняю речь идет о Master или о Target ???
|
|
|
|
|
Mar 14 2007, 07:13
|
Частый гость
 
Группа: Свой
Сообщений: 97
Регистрация: 10-09-04
Пользователь №: 633

|
Нужно конечно делать мастера. Но и мастер не прокачает такую скорость с такими буферами. Нужно ставить внешнюю память. Сколько ставить зависит от того, насколько страшно потерять данные. На самом деле в любом компе все устройсва грубо говоря сидят на одной шине. Это все порты USB, сеть, винчестеры и пр. Многие из них умеют писать в DMA режиме, поэтому заранее точно определить загруженность шины невозможно. Конечно если можно приостанавливать поток, то таких буферов хватит. Если нет нужно закладывать что-то внешнее. А с размером сложнее
|
|
|
|
|
Mar 22 2007, 16:05
|
Местный
  
Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804

|
Наверное, уже поздновато отвечать, но все же прокомментирую некоторые высказывания. Цитата PCI target может быть и потянет - но обычные компы нет. Делайте PCI master. Такую штука будет даже не фокусом. 66MB/s легко достижимы практически на любом чипсете. Необходимо просто предпринять очень специфические меры по обеспечению доступа бурстами в драйвере устройства. Цитата На самом деле в любом компе все устройсва грубо говоря сидят на одной шине. Это все порты USB, сеть, винчестеры и пр. Многие из них умеют писать в DMA режиме, поэтому заранее точно определить загруженность шины невозможно. PCI шина в современном компьютере сегментирована на большое количество сегментов. Каждый из таких сегментов коммутируется на связную шину южного моста, имеющую среднюю пропускную способность в районе 266MB/s. Посему разные мастера совсем даже и не мешают работе друг друга. BTW, 266MB/s - это очень старая информация, сейчас вероятно уже больше. Проверить сие утверждение просто - ставим мощного PCI потребителя данных типа старой видеокарты или платы захвата видео и наслаждаемся совсем даже и незамедленной записью на винчестера во время работы грабера. Из своего опыта - вынимал из порта USB порядка 45MB/s и одновременно работал с винтом - еще метров 60 в секунду - и никаких особых вопросов не возникало.
--------------------
WBR, V. Mirgorodsky
|
|
|
|
|
Mar 22 2007, 21:53
|
Частый гость
 
Группа: Свой
Сообщений: 95
Регистрация: 10-04-05
Пользователь №: 4 003

|
Цитата(v_mirgorodsky @ Mar 22 2007, 06:05)  PCI шина в современном компьютере сегментирована на большое количество сегментов. Каждый из таких сегментов коммутируется на связную шину южного моста, имеющую среднюю пропускную способность в районе 266MB/s. Посему разные мастера совсем даже и не мешают работе друг друга. BTW, 266MB/s - это очень старая информация, сейчас вероятно уже больше. Проверить сие утверждение просто - ставим мощного PCI потребителя данных типа старой видеокарты или платы захвата видео и наслаждаемся совсем даже и незамедленной записью на винчестера во время работы грабера. Из своего опыта - вынимал из порта USB порядка 45MB/s и одновременно работал с винтом - еще метров 60 в секунду - и никаких особых вопросов не возникало. Южный мост действительно имеет достаточно пропускной способности для *встроенных* устройств и они обычно не сильно мешают друг другу. Но вот устройствам сидящим в PCI разъемах все-же приходится бороться за одну единственную шину. Вы попробуйте прицепить винчестер не ко встроенному в южный мост контроллеру, а к IDE контроллеру воткнутому в PCI слот. Там и посмотрим, как винт уживется с граббером. А еще можно и гигабитный ethernet в соседний слот воткнуть..
--------------------
--xyzzy
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|