Kopart 0 15 ноября, 2013 Опубликовано 15 ноября, 2013 · Жалоба Поток только в одну сторону. Или сохраняем или выдаем данные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_basile 0 15 ноября, 2013 Опубликовано 15 ноября, 2013 (изменено) · Жалоба Требование сохранения/выдачи потока в 20МБ/с подразумевает, что целостность потока важна. Хотя в принципе даже некоторые случайные сбои не приведут к проблемам, но они не должны быть систематическими. С HDD куда потом данные забираются? Или пдразумевается, что HDD в PC стоит ? Управлять этим устройством все равно как-то надо. Мне видится такой вариан: ПЛИС -> 8 бит 20MHz в 32 бита 5MHz -> 32битный порт STM32 CorteX-M4 -> USB -> PC. Плату с CorteX-M4 можно из какого-нибудь стартеркита изпользовать, главное, чтобы у нее один 32-х разрядный порт полностью на разъем был выведен. USB 2.0 full speed до 480 МБит/сек обеспечивает, а увас 160 МБит/сек. Один повтор вполне поместится. Под ПЛИС можно платку разработать, непосредственно стыкующуюся с CorteX-M4 и источником сигнала. Изменено 15 ноября, 2013 пользователем _basile Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Methane 0 15 ноября, 2013 Опубликовано 15 ноября, 2013 · Жалоба Управлять этим устройством все равно как-то надо. Мне видится такой вариан: ПЛИС -> 8 бит 20MHz в 32 бита 5MHz -> 32битный порт STM32 CorteX-M4 -> USB -> PC. ПЛИС по моему лишняя. Надо поискать контроллер который сумеет поток в ДМА загнать и со встроеным USB. Но это будет сложнее чем CY7C68013A. Для него кажись даже драйверов писать не нада. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_basile 0 15 ноября, 2013 Опубликовано 15 ноября, 2013 · Жалоба ПЛИС по моему лишняя. Надо поискать контроллер который сумеет поток в ДМА загнать и со встроеным USB. Но это будет сложнее чем CY7C68013A. Для него кажись даже драйверов писать не нада. Железо сейчас дешевле, чем поиск готовой платы с экслюзивным МК, еще компилятора под него. Плюс программные извраты на предельных скоростях. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Methane 0 15 ноября, 2013 Опубликовано 15 ноября, 2013 · Жалоба Железо сейчас дешевле, чем поиск готовой платы с экслюзивным МК, еще компилятора под него. Плюс программные извраты на предельных скоростях. 20 мегагерц - предельная скорость? Вы действительно так думете? Я просто знаю из тех контроллеров которые умеют загнать в DMA поток с парралельной шины, только блекфин, что явно из пушки по воробьям. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_basile 0 15 ноября, 2013 Опубликовано 15 ноября, 2013 (изменено) · Жалоба Я просто знаю из тех контроллеров которые умеют загнать в DMA поток с парралельной шины, только блекфин, что явно из пушки по воробьям. Вот именно. И не контроллер он ни разу, а DSP. Там и ПО поди найди, и средства отладки. И стоимость покупной платы нехилая. А Кортексов - как грязи. И ПО - хочешь свободное, хочешь ворованное - ни вапрос. А отладка и заливка - через USART. Ну, и платку с FPGA Альтерой прилепить, которая через самопальный шнурок шьется, или тем же Кортексом. А для STM32F4xx 5 МГц прерывания обработать - как нефиг делать. Тут, по крайней мере, все пройдено и ясно. Изменено 15 ноября, 2013 пользователем _basile Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 15 ноября, 2013 Опубликовано 15 ноября, 2013 · Жалоба isochronous - пакеты могут теряться.Из-за помех? На bulk помехи не действуют? Вы реально видели такую помеховую обстановку, когда это происходит? Если всё-таки помеховая обстановка так ужасна и вы надеетесь на ретрансмиссии bulk, то что будет со скоростью и как будете бороться с переполнением буфера? bulk - быстрее в 2 раза чем isochronous За счёт чего? А если в этот-же хаб воткнули другое устройство с хорошим потоком данных, что будет со скоростью bulk? А ведь изохронной передаче это будет фиолетово.... С HDD куда потом данные забираются? Или пдразумевается, что HDD в PC стоит ? USB 2.0 full speed до 480 МБит/сек обеспечивает, а увас 160 МБит/сек. Один повтор вполне поместится. Малейшая активность на данном USB-хабе (например - втыкание флешки в соседний разъём), приведёт к задержке низкоприоритетного bulk. Соответственно - нужно иметь хороший буфер чтобы скомпенсировать эту задержку и запас по скорости, чтобы потом нагнать отставание. А если вдруг ещё и какой-то другой поток через данный USB-хаб пойдёт на соседнем разъёме? bulk не предназначен самой спецификацией USB-шины для обеспечения минимальной постоянной скорости потока. Забывание этого факта всегда ведёт к проблемам. С HDD куда потом данные забираются? Или пдразумевается, что HDD в PC стоит ? Управлять этим устройством все равно как-то надо. Мне видится такой вариан: ПЛИС -> 8 бит 20MHz в 32 бита 5MHz -> 32битный порт STM32 CorteX-M4 -> USB -> PC. Зачем так сложно? Если в каждый момент времени есть передача только между двумя абонентами, то достаточно (как тут уже посоветовали) двух CY7C68013A с двумя USB-шнурками к компу - через один данные пишутся на комп, через другой выдаются. Может даже второй и не понадобится, а можно данные с компа отдавать уже как захочется по другому (Ethernet к примеру). Да собственно даже - один USB-шнурок, если сделать коммутацию линий GPIF-интерфейса у CY7C68013A Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_basile 0 15 ноября, 2013 Опубликовано 15 ноября, 2013 (изменено) · Жалоба Зачем так сложно? Если в каждый момент времени есть передача только между двумя абонентами, то достаточно (как тут уже посоветовали) двух CY7C68013A с двумя USB-шнурками к компу - через один данные пишутся на комп, через другой выдаются. Может даже второй и не понадобится, а можно данные с компа отдавать уже как захочется по другому (Ethernet к примеру). Да собственно даже - один USB-шнурок, если сделать коммутацию линий GPIF-интерфейса у CY7C68013A Да ? Я с этой CY7C68013A дел не имел. Экслюзивно как-то. А вот любой кортекс-М3/4 в связке с FPGA это дело потянет. Да, и как же собираетесь реализовать достоверность данных в изохронном режиме на этой CY7C68013A ? Да что там кортекс, в связке с FPGA - даже ARM-7, со своей долбанутой обработкой прерываний. Делаем в FPGA (32-х бит х N) буфер FIFO и - вперед. А насчет bulk / изохронный, все верно. Даже в спецификации USB так и пишут: " Балк - для принтеров, сканнеров, модемов. Изохронный - для голоса, видео и т.п." Гарантированность передачи изохронный не обеспечивает, но это реализуется программно. Балк обеспечивает гарантированность передачи, как Интернет, примерно. Ага, пакет через полчаса пришел, подтверждения от хоста в течении этого времени не было - все остальные данные пропали. Тут нужен реалтайм, а не Форточки/Пингвин (я не в смысле, какая операционка будет стоять, а в смысле USB). За счёт чего? А если в этот-же хаб воткнули другое устройство с хорошим потоком данных, что будет со скоростью bulk? А ведь изохронной передаче это будет фиолетово.... Малейшая активность на данном USB-хабе (например - втыкание флешки в соседний разъём), приведёт к задержке низкоприоритетного bulk. Соответственно - нужно иметь хороший буфер чтобы скомпенсировать эту задержку и запас по скорости, чтобы потом нагнать отставание. А если вдруг ещё и какой-то другой поток через данный USB-хаб пойдёт на соседнем разъёме? А если Интернет камеру воткнуть - тоже фиолетово ? Понятно, что изохронные пакеты USB пропускает с наивысшим приоритетом. Ну, так дураку закон не писан... Изменено 15 ноября, 2013 пользователем _basile Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopart 0 15 ноября, 2013 Опубликовано 15 ноября, 2013 · Жалоба Давайте эти технические вопросы между собой обсуждать в соответствующем разделе. А тут это уже потеряло всякий смысл. В приоритете вариант реализации без обычного компьютера, тк имеет преимущества и в принципе реализуем аппаратно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Methane 0 15 ноября, 2013 Опубликовано 15 ноября, 2013 · Жалоба В приоритете вариант реализации без обычного компьютера, тк имеет преимущества и в принципе реализуем аппаратно. Я бы тупо набил плату NAND флешками. Связываться с винтами, головками, цилиндрами, LBA и прочей фигней, автодетект, дануегонафиг. А на SD карточку не хотите писать? Из-за помех? На bulk помехи не действуют? Вы реально видели такую помеховую обстановку, когда это происходит? Если всё-таки помеховая обстановка так ужасна и вы надеетесь на ретрансмиссии bulk, то что будет со скоростью и как будете бороться с переполнением буфера? Читайте доки на USB, зачем сделан изохроннй и bulk режимы. Многое станет ясно. реализуем аппаратно. Думаете обойтись без софта? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopart 0 15 ноября, 2013 Опубликовано 15 ноября, 2013 · Жалоба Я бы тупо набил плату NAND флешками. Связываться с винтами, головками, цилиндрами, LBA и прочей фигней, автодетект, дануегонафиг. А на SD карточку не хотите писать? Заходим на второй круг. Требуется объем 1-2ТБ. Считаем стоимость аппаратной платформы не содержащей HDD. Закрываем тему. Все вопросы с передачей данных на комп уже обсудили. Приоритет у автономного решения из-за удобства и реализуемости. Пока все вопросы упираются в отсутствие накопленного подобного опыта у embedded программистов или отсутствие свободного времени у программистов, кто решал схожие задачи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_basile 0 15 ноября, 2013 Опубликовано 15 ноября, 2013 (изменено) · Жалоба Давайте эти технические вопросы между собой обсуждать в соответствующем разделе. А тут это уже потеряло всякий смысл. В приоритете вариант реализации без обычного компьютера, тк имеет преимущества и в принципе реализуем аппаратно. Аппаратно - куда? Сбрасывать - куда ? Предварительные требования, выложите уже. Хватит уже помаленьку высирать свои требования. А то, потом, и дальше "по еврейски" действовать будем ? Заходим на второй круг. Требуется объем 1-2ТБ. Считаем стоимость аппаратной платформы не содержащей HDD. Закрываем тему. Все вопросы с передачей данных на комп уже обсудили. Приоритет у автономного решения из-за удобства и реализуемости. Пока все вопросы упираются в отсутствие накопленного подобного опыта у embedded программистов или отсутствие свободного времени у программистов, кто решал схожие задачи. Свободного времени у нас, однозначно нет. Ты готов взять на постоянку? Вопрос обсуждаемый. Опыт ? Не смеши мои тапки. Чо сам-то хочешь? Изменено 15 ноября, 2013 пользователем _basile Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Methane 0 15 ноября, 2013 Опубликовано 15 ноября, 2013 · Жалоба Заходим на второй круг. Требуется объем 1-2ТБ. 2 ТБ это сейчас 32 мелкосхемы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopart 0 15 ноября, 2013 Опубликовано 15 ноября, 2013 · Жалоба Предварительные требования, выложите уже. Читаем первое сообщение внимательней. Вопросы и дальнейшее обсуждение в личных сообщениях форума. Все кто обратился и оставил координаты для связи получили подробное ТЗ. Если заинтересованы, то напишите как связаться. Тогда смогу отправить ТЗ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harbour 0 15 ноября, 2013 Опубликовано 15 ноября, 2013 · Жалоба Можно купить кит на GX чипе и такую хрень : http://www.altera.com/products/ip/iup/addi...-sata-host.html если ТС готов потратиться на киты и IP то можно смело макаться ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться