Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Связь с компьютером на скорости 133 МБ/с
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам
paskal
Нужно из самодельного устройства завести данные в компьютер. Разрядность - 16 бит, частота 66 МГц. Связь в одну сторону. Каким образом можно бы осуществить такое?
Methane
Цитата(paskal @ May 19 2009, 18:37) *
Нужно из самодельного устройства завести данные в компьютер. Разрядность - 16 бит, частота 66 МГц. Связь в одну сторону. Каким образом можно бы осуществить такое?

PCIe

Если хочется извратиться, то eSATA.
Rst7
Немного урезать осетра и "асилить" 1G Ethernet. Иначе - разве что PCI-устройство делать для ввода.

Кстати, этот поток еще переварить надо. Может стоит подумать над предварительной обработкой в девайсе для уменьшения потока?
Methane
Цитата(Rst7 @ May 19 2009, 19:01) *
Немного урезать осетра и "асилить" 1G Ethernet. Иначе - разве что PCI-устройство делать для ввода.

Кстати, этот поток еще переварить надо. Может стоит подумать над предварительной обработкой в девайсе для уменьшения потока?

Про 1G забыл. Если не использовать IP, а гнать влоб ethernet фреймы, то PC принять успеет.
Rst7
Цитата
то PC принять успеет.


Ключевое слово - принять. Не спорю. А вот произвести какую-либо обработку - сомнительно. Так есть ли смысл лить в писюк такой поток? Это так, риторический вопрос/призыв к топикстартеру крепко подумать о необходимости того, что он хочет сделать...
Itch
Ну если сначала тупо записывать все в память, скажем в 4ГБ, то на 30сек ее хватит, а потом уже можно сидеть и обрабатывать... Главное, отключить файл подкачки, а то терпения не хватит ждать, пока 4гига прокачает.
Кстати Ethernet довольно легко параллелить, просто ставишь 2-N карточек и шлешь по ним одновременно.
disel
Цитата(Methane @ May 19 2009, 19:58) *
Если хочется извратиться, то eSATA.


Почему eSata? На днях искал ядра по этому поводу, как то все грустно. Может есть контроллеры готовые? Примеры решений?
Methane
Цитата(Itch @ May 19 2009, 20:06) *
Ну если сначала тупо записывать все в память, скажем в 4ГБ, то на 30сек ее хватит, а потом уже можно сидеть и обрабатывать... Главное, отключить файл подкачки, а то терпения не хватит ждать, пока 4гига прокачает.

Это от оси зависит. Помнится что в линухе память ядра не свопится. Так что можно в нем выделить сколько нужно, и спокойно ее обрабатывать. И почему только 4? Почему не 16?

Цитата
Кстати Ethernet довольно легко параллелить, просто ставишь 2-N карточек и шлешь по ним одновременно.

Еще можно на HT првесится. Видел решение - двухядерная мамка, AMD, в первый сокет ставится процессор, во второй ПЛИС, которая по HT гразит данные в DRAM AMD.

В общем было бы желание и бабло.

Цитата(disel @ May 19 2009, 21:07) *
Почему eSata? На днях искал ядра по этому поводу, как то все грустно. Может есть контроллеры готовые? Примеры решений?

На сайте Альтеры смотрели?
http://www.altera.com/literature/hb/arria-...iigx_5v2_01.pdf
Цитата
Transceiver channels are designed to support the following serial protocols:
PCI Express (PIPE)

Gen1 (2.5 Gbps)

Serial RapidIO (1.25 Gbps, 2.5 Gbps, 3.125 Gbps)

Serial ATA (SATA)/Serial attached SCSI (SAS)

SATA I (1.5 Gbps)

SATA II (3.0 Gbps)

SAS (1.5 Gbps, 3.0 Gbps)
soldat_shveyk
Думаю что поможет только PCI (PCIe).
Достаточная конфигурация - 32 bit 66 MHz (64 bit 33 MHz).
PCI удобна тем, что можно через шину напрямую писать данные в физическую память без участия процессора.
Еще лет пять назад делал устройства для непрерывной передачи потока 200 Мбайт/сек в комп. Отлично работает и по сей день на контроллере PCI 64 bit /33 MHz. И время на обработку остается - ресемплинг, гребенка фильтров и больше сотни демодуляторов.
Ничего сверхестественного в этом нет.
Нынче, на PCIe доступны совсем другие скорости - до 1300 Мбайт/сек на 8х. Правда Альтеры, поддерживающие PCIe достаточно дорогие, и все имеют BGA корпус.
Methane
Цитата(soldat_shveyk @ May 19 2009, 23:44) *
Правда Альтеры, поддерживающие PCIe достаточно дорогие, и все имеют BGA корпус.

На 1х можно внешний PHY поставить, и обойтись довольно простой плисиной. Мне лень смотреть, но я бы так не утверждал, что очень дорого и BGA. На циклоне PCIe 1x точно можно.
disel
Цитата(Methane @ May 19 2009, 22:49) *
На сайте Альтеры смотрели?


Не смотрел, с ксалинксом работаю, но это не проблема. Спасибо за ссылку. А альтеровское ядро для саты доступно простым пользователям? А то ксалинс предлагает решения, но они сторонних фирм, их на халяву нет sad.gif
Methane
Цитата(disel @ May 20 2009, 08:15) *
Не смотрел, с ксалинксом работаю, но это не проблема. Спасибо за ссылку. А альтеровское ядро для саты доступно простым пользователям? А то ксалинс предлагает решения, но они сторонних фирм, их на халяву нет sad.gif

Про сату не знаю. Но у меня выходило, что на PCIe 1x с внешним phy нужно было что-то вроде 3х килобаксов на борду, с которой шло все необходимое. На фирме решили что дорого.
disel
Поковырялся на сайте альтеры в айпи-корах, саты найти не смог. Если кто знает где она есть, просьба ткнуть.
Methane
Цитата(disel @ May 20 2009, 08:31) *
Поковырялся на сайте альтеры в айпи-корах, саты найти не смог. Если кто знает где она есть, просьба ткнуть.

http://www.altera.com/products/ip/iup/pci-...s/ipm-index.jsp
paskal
Цитата(Methane @ May 19 2009, 22:49) *
На сайте Альтеры смотрели?
http://www.altera.com/literature/hb/arria-...iigx_5v2_01.pdf

PCI Express (PIPE)

Gen1 (2.5 Gbps)

Serial RapidIO (1.25 Gbps, 2.5 Gbps, 3.125 Gbps)

Serial ATA (SATA)/Serial attached SCSI (SAS)

SATA I (1.5 Gbps)

SATA II (3.0 Gbps)

SAS (1.5 Gbps, 3.0 Gbps)

Все это как то труднореализуемо. Дорогущие стратиксы в BGA корпусах. Нельзя ли более доступными методами? Пускай на более низкой скорости. Скажем 16 бит при 33 МГц.
SM
Цитата(paskal @ May 20 2009, 11:40) *
Дорогущие стратиксы в BGA корпусах. Нельзя ли более доступными методами?

Зачем сразу стратиксы? Arria GX, или, что еще дешевле LatticeECP2/M или LatticeECP3.
soldat_shveyk
Если цена критична, то лучше ориентироваться на PCI 64bit 33 MHz.
Для реализации будет достаточно старенькой альтеры Cyclone EP1C12Q240C7 в обычном QFP корпусе (стоит всего 60 $).
К тому же печатная плата при отказе от BGA получится недорогой. Можно будет обойтись всего 4-я слоями и сэкономить на имерсионном золоте.
А скорость передачи будет не менее 200 МБайт/Сек.
Methane
Цитата(paskal @ May 20 2009, 10:40) *
Все это как то труднореализуемо. Дорогущие стратиксы в BGA корпусах. Нельзя ли более доступными методами? Пускай на более низкой скорости. Скажем 16 бит при 33 МГц.

Какие стратиксы? 1x на циклоне втором можно сделать.
Rst7
Цитата
Пускай на более низкой скорости. Скажем 16 бит при 33 МГц.


Вот тут уже явно надо делать 1GE и не страдать. Намного меньше работы, чем с PCI(e) и уж тем более SATA.
Methane
Цитата(Rst7 @ May 20 2009, 11:59) *
Вот тут уже явно надо делать 1GE и не страдать. Намного меньше работы, чем с PCI(e) и уж тем более SATA.

Про PCIe, сильно сомневаюсь. Про SATA не знаю.
SM
Цитата(Rst7 @ May 20 2009, 12:59) *
Вот тут уже явно надо делать 1GE и не страдать. Намного меньше работы, чем с PCI(e) и уж тем более SATA.

Вот тут уж точно с PCI (без "e") работы на пару порядков меньше, чем со всем остальным перечисленным.
disel
Цитата(Methane @ May 20 2009, 09:37) *


Это же pciexpress, видел я это. Саты то там нет.

Цитата(SM @ May 20 2009, 12:14) *
Зачем сразу стратиксы? Arria GX, или, что еще дешевле LatticeECP2/M или LatticeECP3.


А Вы не поскажите, а латис может с SATA работать? И есть ли ядра доступные под это дело?
Rst7
Цитата
Вот тут уж точно с PCI работы на пару порядков меньше


У Вас есть готовая отлаженная корка? Тогда не спорю. А вот я бы делал посылатель raw-пакетов через 1GE - код для него займет полстранички на HDL. Прием на стороне большого брата - тоже не проблема. Главное - не надо заниматься изготовлением драйверов. Это - тоже время.
SM
Цитата(Rst7 @ May 20 2009, 13:15) *
У Вас есть готовая отлаженная корка? Тогда не спорю. А вот я бы делал посылатель raw-пакетов через 1GE - код для него займет полстранички на HDL. Прием на стороне большого брата - тоже не проблема. Главное - не надо заниматься изготовлением драйверов. Это - тоже время.

Для PCI этих корок хоть одним местом ешь. Как и для GbE. Только для GbE придется потрахаться с гарантией доставки пакета, чего не надо для PCI, в этом, собственно, и есть тот самый порядок сложности.
Methane
Цитата(disel @ May 20 2009, 12:14) *
Это же pciexpress, видел я это. Саты то там нет.

Ну нафига вам сата? Вам хочется прикинуться винчестером, со всеми вытекающими? Получить медаль за самую странную разработку? Есть PCIe, что вам в ней не хватает? Есть к ней конструктор. Из корки вы получаете параллельную шину в которую можете burstа-ми писать все что хотите, причем с большой скоростью. Причем сразу в ОЗУ. А потом в своем драйвере готовые данные выгребаете и что угодно с ними делаете.
Rst7
Цитата
Только для GbE придется потрахаться с гарантией доставки пакета


А надо ли? При BER<1e-10? Тем более, что девайс явно будет рядом, а не в ста метрах.
SM
Цитата(disel @ May 20 2009, 13:14) *
А Вы не поскажите, а латис может с SATA работать? И есть ли ядра доступные под это дело?

Из этого документа явно следует, что может. http://www.latticesemi.com/documents/EB27.pdf
Methane
Цитата(Rst7 @ May 20 2009, 12:24) *
А надо ли? При BER<1e-10? Тем более, что девайс явно будет рядом, а не в ста метрах.

На таких скоростях, драйвер имеет полное право дропать пакеты. Насколько это критично, ХЕЗ. Хочется получить потенциально громадное кол-во гемороя, вперед.

Вообще, если деньги есть, то можно купить eval. плату и посмотреть как оно работает. ЛАмпочки там позажигать итд.
paskal
Цитата(soldat_shveyk @ May 20 2009, 12:46) *
Если цена критична, то лучше ориентироваться на PCI 64bit 33 MHz.
..........
А скорость передачи будет не менее 200 МБайт/Сек.

200 МБ/с это неплохо. Но есть ли в природе компы с PCI 64 бит? Помнится распространения такой формат не получил.
И еще. В свое время игрался с PCI, и убедился что заявленной скорости 133 МБ/с получить не удается. Реально получалось меньше в разы. Понимаю, что для приближения к обещанным 133 надо организовывать пакетный цикл. Но как его вызвать программно не знаю. Тем более что стандарт закрытый.
SM
Цитата(Rst7 @ May 20 2009, 13:24) *
А надо ли? При BER<1e-10?

А кто этот BER гарантирует, особенно если кабель китайский, а разъем админ с бодуна обжал? Значит придется применять средства проверки соединения, измеряющие BER, прежде чем вводить в эксплуатацию девайс.

Цитата(paskal @ May 20 2009, 13:32) *
Но есть ли в природе компы с PCI 64 бит?
Пости все серверные мамки имеют PCI-X, на них большинство рейд-контроллеров живет. И часть для рабочих станций, например асусы с буквами WS.

Цитата(Methane @ May 20 2009, 13:22) *
Ну нафига вам сата?

А вот SAS (или вообще древний SCSI) может оказаться очень полезным. Если надо гнать данные на накопитель, то оно позволит это сделать мимо компа.
Methane
Цитата(paskal @ May 20 2009, 12:32) *
200 МБ/с это неплохо. Но есть ли в природе компы с PCI 64 бит? Помнится распространения такой формат не получил.

В серверных мамках смотрите. Там его много.

Цитата
И еще. В свое время игрался с PCI, и убедился что заявленной скорости 133 МБ/с получить не удается. Реально получалось меньше в разы. Понимаю, что для приближения к обещанным 133 надо организовывать пакетный цикл. Но как его вызвать программно не знаю. Тем более что стандарт закрытый.

Он не программно вызывается. Это карточка пакет делает. Ставит начальный адрес и начинает гнать данные.
SM
Цитата(Methane @ May 20 2009, 13:36) *
Он не программно вызывается. Это карточка пакет делает.

Это если она мастер. А если она слейв, то пакет делает чипсет, и вопрос там именно о том, как правильно обратиться, чтобы получился пакет. Да и мастеру может принимающая сторона на раз весь пакет оборвать.
Methane
Цитата(SM @ May 20 2009, 12:40) *
Это если она мастер. А если она слейв, то пакет делает чипсет, и вопрос там именно о том, как правильно обратиться, чтобы получился пакет. Да и мастеру может принимающая сторона на раз весь пакет оборвать.

В PCIe, помнится этим корка занимается.
Rst7
Цитата
Значит придется применять средства проверки соединения, измеряющие BER, прежде чем вводить в эксплуатацию девайс.


Дык если девайсы поток генерят, BER измерить не долго. По общему количеству пакетов в секунду smile.gif
disel
Цитата(Methane @ May 20 2009, 13:22) *
Ну нафига вам сата? Вам хочется прикинуться винчестером, со всеми вытекающими? Получить медаль за самую странную разработку? Есть PCIe, что вам в ней не хватает? Есть к ней конструктор. Из корки вы получаете параллельную шину в которую можете burstа-ми писать все что хотите, причем с большой скоростью. Причем сразу в ОЗУ. А потом в своем драйвере готовые данные выгребаете и что угодно с ними делаете.


Заказчик хочет. Как работать с PCIe я знаю, плату на 8х на ксалинксе уже сделали.
Methane
Цитата(disel @ May 20 2009, 13:29) *
Заказчик хочет. Как работать с PCIe я знаю, плату на 8х на ксалинксе уже сделали.

SAS тогда я бы еще посмотрел (Serial SCSI).
Может удобнее будет.
SM
Цитата(disel @ May 20 2009, 14:29) *
Заказчик хочет.

Вот, почитайте альтеру http://www.altera.com/literature/wp/wp-010...amp;WT.oss=sata
disel
Цитата(SM @ May 20 2009, 13:30) *
Из этого документа явно следует, что может. http://www.latticesemi.com/documents/EB27.pdf


Ага, посмотрел, спасибо. К сожалению тоже только физуровень. Готовых корок латис не предлагает, только сторонних производителей, фиг найдешь за так.

Цитата(Methane @ May 20 2009, 14:34) *
SAS тогда я бы еще посмотрел (Serial SCSI).
Может удобнее будет.


Аналогично, смотрел. Но с SAS система в целом будет дороже.
Заказчик не захочет раскошелиться на покупку готового ядра, поэтому смотрю то что можно на халяву найти.

Цитата(SM @ May 20 2009, 14:40) *
Вот, почитайте альтеру http://www.altera.com/literature/wp/wp-010...amp;WT.oss=sata


Спасибо смотрел, та же проблема, перерыл весь сайт альтеры, кроме этого документа, про сату ничего нет.
Почему то производители FPGA не делают сами ядер под сату, наверное спросу нет, в отличие от PCIe
SM
Цитата(disel @ May 20 2009, 14:56) *
Заказчик не захочет раскошелиться на покупку готового ядра, поэтому смотрю то что можно на халяву найти.

Про лэтис - им SATA-корку делал IntelliProp, в общем - можно спокойно узнать в саппорте лэтиса, что там и к чему. Да и к этой борде она все таки должна идти, оттуда ее наверняка можно и выдрать.
Про альтеру информацией не располагаю... Но, возможно, можно корку на evaluation получить... Это скорее надо у Stewart Little спрашивать, он в курсе наверняка. Кстати, я что-то и не уверен, что альтера сама корки делает, там AMPP для этого есть...
disel
Цитата(SM @ May 20 2009, 15:15) *
Про лэтис - им SATA-корку делал IntelliProp, в общем - можно спокойно узнать в саппорте лэтиса, что там и к чему. Да и к этой борде она все таки должна идти, оттуда ее наверняка можно и выдрать.
Про альтеру информацией не располагаю... Но, возможно, можно корку на evaluation получить... Это скорее надо у Stewart Little спрашивать, он в курсе наверняка. Кстати, я что-то и не уверен, что альтера сама корки делает, там AMPP для этого есть...


Для ксалинкса asics.ws делает, и hitechglobal. Если уж работа случиться, мне проще с ними. Корка от asics.ws к ml405 вроде как прикладывается. evolution конечно. Хотя альтера с arria gx выглядит очень привлекателно
SM
Цитата(disel @ May 20 2009, 15:55) *
Хотя альтера с arria gx выглядит очень привлекателно

Да ладно, arria дороговата для своих функций. Lattice вроде как значительно попривлекательнее...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.