vavshchuk_D 0 27 марта, 2012 Опубликовано 27 марта, 2012 (изменено) · Жалоба Здравствуйте. Требуется создать систему для записи экспериментальных данных на жесткий диск (SSD). Сейчас стараюсь понять, в каком направлении двигаться, покритикуйте пожалуйста. Что система делает: Работает в полевых условиях, принимает данные с множества датчиков.Пишет поток данных 50Мбайт в секунду на SSD (в виде файлов по 100 Мбайт каждый). Далее в лаборатории изображает из себя ftp - сервер и выдает эти данные в ПК через Ethernet. 1) У меня есть идея использовать для этого ПЛИС Spartan 6, или Virtex6 или Kintex 7 с Microblaz'ом. Связь с HDD - через SATA или PCIe. Может кто скажет, какой из них проще реализовать? На PCIe у Xilinx есть готовое ядро, а на SATA - вроде нет. 2) Правильно ли я понимаю, что чтобы писать с файловой системой на SSD, нужна ОС в Microblaze? Спасибо Изменено 27 марта, 2012 пользователем vavshchuk_D Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitryR 0 30 марта, 2012 Опубликовано 30 марта, 2012 · Жалоба Мы делали SATA, правда slave, и мне видится что это подъемная задача, особенно если не заморачиваться всякими NCQ. PCIe мастер (root) есть только в дорогих ПЛИС, и мне непонятно как вы SSD подключите по PCIe. А SATA можно сделать ПЛИС начального уровня. Чтобы писать файлы операционку конечно надо, вот тут у вас будет небольшая сложность - придется для выбранной операционки к вашему самодельному SATA мастеру написать драйвер, что может стать самой гемморойной частью проекта. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dsmv 0 4 апреля, 2012 Опубликовано 4 апреля, 2012 · Жалоба Мы делали SATA, правда slave, и мне видится что это подъемная задача, особенно если не заморачиваться всякими NCQ. PCIe мастер (root) есть только в дорогих ПЛИС, и мне непонятно как вы SSD подключите по PCIe. А SATA можно сделать ПЛИС начального уровня. Чтобы писать файлы операционку конечно надо, вот тут у вас будет небольшая сложность - придется для выбранной операционки к вашему самодельному SATA мастеру написать драйвер, что может стать самой гемморойной частью проекта. Наиболее сложной частью в SATA является LINK, он аналогичен уровню DATA_LINK в PCIe, но в современных ПЛИС PCIe уже существует в виде hard блока. Для ПЛИС Xilinx IP Core PCIe входит в состав CORE Generator и не требует отдельной лицензии. IP Core для SATA нужно покупать у других компаний, например у Snowbush. Когда то я пытался изучить вопрос как сделать самостоятельно SATA, но не смог. Так что мне интересно, как удалось сделать SATA в ПЛИС и главное какая ПЛИС и сколько ресурсов занимает контроллер, хотя бы приблизительно. А для решения поставленной автором задачи напрашивается применение ARM. Там уже всё есть, включая soft. У нас на фирме эксперименты с ARM проводятся, например получили ввод данных на скорости 600 Мбайт/с через PCIe v2.0 x2. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vavshchuk_D 0 9 апреля, 2012 Опубликовано 9 апреля, 2012 · Жалоба Всем спасибо за ответы. Я тут почитал еще документацию, и понял, что: 1) PCIe Root Complex есть в Virtex6 и 7 Series. В Virtex6 он доступен только из Coregen. В Kintex7 его можно будет создать из EDK. Но kit'a , который бы это демонстрировал, еще нет. Так что для PCIe Root сейчас требуется брать Virtex6 или Kintex7 , через AXI-DMA подключать к Microblaze, и писать свой драйвер для ОС. Все это видимо довольно сложно. 2) Поискал на форуме по SATA, и нашел, что на его реализацию требуется человеко-год. Многовато. 3) Нашел SSD с интерфейсом PATA и логич. уровнями 3.3V, так что даже преобразователя уровней между ПЛИС и SSD не надо. Похоже, самописная PATA - самый простой вариант. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Wic 0 9 апреля, 2012 Опубликовано 9 апреля, 2012 · Жалоба vavshchuk_D, если не ошибаюсь на форуме кто то занимался разработкой SАТА контроллера. Не пробовали писать им может они поделятся за некоторое вознаграждение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 5 13 июля, 2012 Опубликовано 13 июля, 2012 · Жалоба А существуют готовые микросхемы/процессоры контроллеры SATA ? Что-то аналогичное таким для USB, поставил между разъёмом SATA и ПЛИС , решил проблему. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LV26 0 13 июля, 2012 Опубликовано 13 июля, 2012 · Жалоба А существуют готовые микросхемы/процессоры контроллеры SATA ? Что-то аналогичное таким для USB, поставил между разъёмом SATA и ПЛИС , решил проблему. Xilinx Zync-7000 + USB to SATA контроллер Вас спасет. P.S. У Zync есть еще и SD-CARD контроллеры. Можно и их пользовать, если задача позволяет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 13 июля, 2012 Опубликовано 13 июля, 2012 · Жалоба При задаче в 50МБайт/с USB2SATA не спасет. PCIe хост на Virtex-6 или, тем более, 7-series - не проблема, но загвоздка видится в драйвере для PCI-Express SSD. Это будет или SATA SSD с PCIe-SATA RAID-контроллером (например OCZ), или что-то проприетарное и абсолютно неподъемное (например Fusion-IO). Возможное решение - SoC процессор с PCIe / SATA одновременно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 13 июля, 2012 Опубликовано 13 июля, 2012 (изменено) · Жалоба 50Мбайт в секунду это надо обрабатывать на лету. либо фермой ПЛИС либо фермой CPU. посмотрите ради интереса как устроены фермы ATLAS или CMS в CERN, и как там мульти-гигабитные потоки после L1-триггеров плавно срезаются L2-триггерами и затем только пишутся в offline storage. Изменено 13 июля, 2012 пользователем krux Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться