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

 
 
 
Reply to this topicStart new topic
vavshchuk_D
сообщение Mar 27 2012, 11:14
Сообщение #1





Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Mar 30 2012, 07:27
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Мы делали SATA, правда slave, и мне видится что это подъемная задача, особенно если не заморачиваться всякими NCQ. PCIe мастер (root) есть только в дорогих ПЛИС, и мне непонятно как вы SSD подключите по PCIe. А SATA можно сделать ПЛИС начального уровня. Чтобы писать файлы операционку конечно надо, вот тут у вас будет небольшая сложность - придется для выбранной операционки к вашему самодельному SATA мастеру написать драйвер, что может стать самой гемморойной частью проекта.
Go to the top of the page
 
+Quote Post
dsmv
сообщение Apr 4 2012, 05:21
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 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.




Go to the top of the page
 
+Quote Post
vavshchuk_D
сообщение Apr 9 2012, 03:55
Сообщение #4





Группа: Участник
Сообщений: 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 - самый простой вариант.
Go to the top of the page
 
+Quote Post
Wic
сообщение Apr 9 2012, 04:59
Сообщение #5


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

Группа: Свой
Сообщений: 183
Регистрация: 16-03-08
Из: Новосибирск
Пользователь №: 35 954



vavshchuk_D, если не ошибаюсь на форуме кто то занимался разработкой SАТА контроллера. Не пробовали писать им может они поделятся за некоторое вознаграждение.
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Jul 13 2012, 06:57
Сообщение #6


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



А существуют готовые микросхемы/процессоры контроллеры SATA ?
Что-то аналогичное таким для USB, поставил между разъёмом SATA и ПЛИС , решил проблему.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
Victor®
сообщение Jul 13 2012, 12:50
Сообщение #7


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
Go to the top of the page
 
+Quote Post
Flood
сообщение Jul 13 2012, 17:40
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 702
Регистрация: 8-06-06
Пользователь №: 17 871



При задаче в 50МБайт/с USB2SATA не спасет.
PCIe хост на Virtex-6 или, тем более, 7-series - не проблема, но загвоздка видится в драйвере для PCI-Express SSD. Это будет или SATA SSD с PCIe-SATA RAID-контроллером (например OCZ), или что-то проприетарное и абсолютно неподъемное (например Fusion-IO).
Возможное решение - SoC процессор с PCIe / SATA одновременно.
Go to the top of the page
 
+Quote Post
krux
сообщение Jul 13 2012, 21:09
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



Цитата
50Мбайт в секунду


это надо обрабатывать на лету.
либо фермой ПЛИС либо фермой CPU.

посмотрите ради интереса как устроены фермы ATLAS или CMS в CERN, и как там мульти-гигабитные потоки после L1-триггеров плавно срезаются L2-триггерами и затем только пишутся в offline storage.

Сообщение отредактировал krux - Jul 13 2012, 21:09


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post

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

 


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


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