|
|
  |
Что проще - SATA или PCIe ?, Покритикуйте концепцию |
|
|
|
Mar 27 2012, 11:14
|
Группа: Участник
Сообщений: 12
Регистрация: 13-11-10
Пользователь №: 60 859

|
Здравствуйте. Требуется создать систему для записи экспериментальных данных на жесткий диск (SSD). Сейчас стараюсь понять, в каком направлении двигаться, покритикуйте пожалуйста. Что система делает: Работает в полевых условиях, принимает данные с множества датчиков.Пишет поток данных 50Мбайт в секунду на SSD (в виде файлов по 100 Мбайт каждый). Далее в лаборатории изображает из себя ftp - сервер и выдает эти данные в ПК через Ethernet. 1) У меня есть идея использовать для этого ПЛИС Spartan 6, или Virtex6 или Kintex 7 с Microblaz'ом. Связь с HDD - через SATA или PCIe. Может кто скажет, какой из них проще реализовать? На PCIe у Xilinx есть готовое ядро, а на SATA - вроде нет. 2) Правильно ли я понимаю, что чтобы писать с файловой системой на SSD, нужна ОС в Microblaze? Спасибо
Сообщение отредактировал vavshchuk_D - Mar 27 2012, 11:14
|
|
|
|
|
Apr 4 2012, 05:21
|
Местный
  
Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284

|
Цитата(DmitryR @ Mar 30 2012, 10:27)  Мы делали 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.
|
|
|
|
|
Apr 9 2012, 03:55
|
Группа: Участник
Сообщений: 12
Регистрация: 13-11-10
Пользователь №: 60 859

|
Всем спасибо за ответы. Я тут почитал еще документацию, и понял, что: 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 - самый простой вариант.
|
|
|
|
|
Jul 13 2012, 12:50
|

Lazy
     
Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76

|
Цитата(Lmx2315 @ Jul 13 2012, 09:57)  А существуют готовые микросхемы/процессоры контроллеры SATA ? Что-то аналогичное таким для USB, поставил между разъёмом SATA и ПЛИС , решил проблему. Xilinx Zync-7000 + USB to SATA контроллер Вас спасет. P.S. У Zync есть еще и SD-CARD контроллеры. Можно и их пользовать, если задача позволяет.
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
|
Jul 13 2012, 21:09
|
Профессионал
    
Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596

|
Цитата 50Мбайт в секунду это надо обрабатывать на лету. либо фермой ПЛИС либо фермой CPU. посмотрите ради интереса как устроены фермы ATLAS или CMS в CERN, и как там мульти-гигабитные потоки после L1-триггеров плавно срезаются L2-триггерами и затем только пишутся в offline storage.
Сообщение отредактировал krux - Jul 13 2012, 21:09
--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|