Коммутация устройств
- Войдите на сайт для отправки комментариев
Скорее всего многие посчитают мой вопрос глупым, но все-же для меня он актуальный.
Суть вот в чем:
У нас имеется два кардридера и пять SD-карт памяти. Я хотел-бы сделать девайс, с помощью которого можно было-бы эти самые карты памяти коммутировать с кардридерами, то есть подключать по требованию, при чем не прикасаясь к ним. То есть даю команду ардуине на подключение третей флешки в первый кардридер, она делает волшебство, после чего я получаю в ридере подключенную флешку, после этого даю команду на подключение первой карты в второй порт, и пятой в первый, и так далее.
Главная проблема тут все-же в самой реализации. Изначально я думал сделать все это на оптронах, но слишком уж много оптронов для этого нужно, да и управлять ими то еще удовольствие. И тут я полумал а нет ли случайно каких либо микросхем на N ног, которые как раз и делают то, что мне нужно. А может что-то более умное посоветуете, в плане "забрось эту ерунду" :)
Одним словом жду дельных советов?
Карты подключаться будут к ардуине или к компьютеру? Т.е. Ардуина только коммутирует или же и работает с картами
если ардуина и коммутирует и работает то проще сделать так.
Sd карта поддерживает работу по SPI, это значит, что все карты можно присоединить к МК параллельно, выводы SCK/MISO/MOSI
А вот выводы выбора кристалла CS надо подключить к разным пинам
Карты будут подключаться к компьютеру, ардуина будет служить только коммутатором.
А ничего, если пины SCK/MISO/MOSI будут паралельно подключены к нескольким кардридерам? Замыкания это не вызовет?
Карты будут подключаться к компьютеру, ардуина будет служить только коммутатором.
А ничего, если пины SCK/MISO/MOSI будут паралельно подключены к нескольким кардридерам? Замыкания это не вызовет?
вызовет. Но зачем вам подключать к нескольким кард ридерам если все карты можно прицепить к одному?
На случай, когда одновременно нужен доступ к нескольким картам памяти.
К сожалению всю суть задачи раскрыть не могу, могу только сказать что там будет далеко не 5 карт и не парочка кардридеров.
Если комп один то можно все карты прицепить к одному кардридеру, все пины, кроме CS
Пины CS цеплять к ардуине
а как вы собираетесь решать проблему с операционной системой? систему может заглючить, а записываемые данные легко будут потеряны
на уровне операционки сабж имеет решение только при эмуляции "отключить/включить новый" так как ОС оперирует дискрипторами а не именами файлов или областями записи, и замена физического носителя приведет к проблеммам ч вероятностью 99% (банально таблица FAT запишится криво и SD станет не читаемой).
есть еще вариант - эмуляция горячего RAID контроллера, но думаю это ардуинке если и под силу, то только для спеца с очень прямыми руками...
Горячую замену делать не планировал изначально, перед заменой карты она будет извлекаться. Да и не важно это, софтверная часть меня не интересует, мне важна железная часть. Смысл париться о том, до чего еще невероятно далеко?
Ладно, упрощаем задачу - у нас есть сто светодиодов, и десять источников питания, при этом нет возможности использовать ни сдвиговые регистры ни светодиодные драйвера. Нам требуется при команде на ардуину коммутировать определенный светодиод на определенный источник питания.
Горячую замену делать не планировал изначально, перед заменой карты она будет извлекаться. Да и не важно это, софтверная часть меня не интересует, мне важна железная часть. Смысл париться о том, до чего еще невероятно далеко?
Ладно, упрощаем задачу - у нас есть сто светодиодов, и десять источников питания, при этом нет возможности использовать ни сдвиговые регистры ни светодиодные драйвера. Нам требуется при команде на ардуину коммутировать определенный светодиод на определенный источник питания.
Вы зря так думаете, ну да ладно....
покупаем платы, вроде http://www.ebay.com/itm/262243068830?_trksid=p2060353.m2749.l2648&ssPageName=STRK%3AMEBIDX%3AIT у них есть интерфейс SPI значит на UNO одновременно можно подключить до 15 таких плат (3 пина общие на все, и по 1 управляющему пину на каждую плату), одновременно будет работать только одна, в зависимости от включеного управляющего пина
более 15 SD я себе слабо представляю :) .... если надо больше - то или использовать более дорогие шины (например "rs485" или "wire"), но к ним нудно будет покупать отдельные модули сопряжения с SD картами, и не факт, что типовые библиотери заработают...
вариант с SPI - самый простой и дешевый, если Вам надо более 15 карт - опишите подробнее что именно Вам нужно...
Горячую замену делать не планировал изначально, перед заменой карты она будет извлекаться. Да и не важно это, софтверная часть меня не интересует, мне важна железная часть. Смысл париться о том, до чего еще невероятно далеко?
для винды - перекомутация ардуинкой (без извлечения карты) будет видется именно как "пропажа" старого устройства и "обнаружения" нового... то есть "горячая замена", разумеется для этого нужна спец поддержка, которой у тебя нет...
Горячую замену делать не планировал изначально, перед заменой карты она будет извлекаться. Да и не важно это, софтверная часть меня не интересует, мне важна железная часть. Смысл париться о том, до чего еще невероятно далеко?
для винды - перекомутация ардуинкой (без извлечения карты) будет видется именно как "пропажа" старого устройства и "обнаружения" нового... то есть "горячая замена", разумеется для этого нужна спец поддержка, которой у тебя нет...
интересно, как опознается замена? Там что то типа серийного номера используется?
интересно, как опознается замена? Там что то типа серийного номера используется?
должна опозноватся, в этом и есть проблемма, что штатно не увидет подмену и будет работать как со старой... например таблицу размещения файлов перезатрет и все....
по этому и требуется от ардуинки эмулировать отключение или еще чего
для винды - перекомутация ардуинкой (без извлечения карты) будет видется именно как "пропажа" старого устройства и "обнаружения" нового... то есть "горячая замена", разумеется для этого нужна спец поддержка, которой у тебя нет...
Ай беда! Что-же мне теперь делать?
https://dl.dropboxusercontent.com/u/27680952/Ardu.png
Ладно, с учетом того, что вы все равно не хотите обсуждать мою тему, а и далее продолжаете мусолить софтверную часть, предлаю обсудить где лучше на Али покупать ардуины. Мне вот нужно парочку Нано прикупить.
А если серьезно - предлагаю забыть мое первое сообщение, и отталкиватся от вопроса/примера с светодиодами. Все, я больше не хочу коммутировать карты памяти, а хочу коммутировать светодиоды, вот их в частности:
https://dl.dropboxusercontent.com/u/27680952/Ardu2.JPG
Вычитал о такой штуке как мультиплексторы и демультиплексторы, по описани вроди как раз то, что мне нужно. Что скажете?
Ай беда! Что-же мне теперь делать?
https://dl.dropboxusercontent.com/u/27680952/Ardu.png
Ладно, с учетом того, что вы все равно не хотите обсуждать мою тему, а и далее продолжаете мусолить софтверную часть, предлаю обсудить где лучше на Али покупать ардуины. Мне вот нужно парочку Нано прикупить.
какая разница, винда, линукс, андроид или NT и т.д. везде тома монтируются перед использовнием...
собственно монтирование и подразумевает опознание диска...
в противном случае ты должен эмулировать функции BIOS в плане работы с диском, и весь базар в том где это эмулировать на компе или в ардуинке, при работе с одним SD это делает комп... ардуинка то-же умеет эмулировать это, но дело в том, что связь ардуино-комп будет очень тяжелая именно из-за того, что придется эмулировать BIOS или в ардуинке или в нестандартной программе компа...
В Линуксе есть такая крутая штука как Bash и Shell - они нереально решают, есть еще даже Udev. Короче, запускаем скрипт с определенным параметром, он отмонтирует нужную флешку, на порт Ардуины дает команду на коммутацию флешки, на отключение одной и на подключение на ее место другой. После этого Udev разруливает что с ней делать и куда монтировать, можно монтировать отталкиваясь от подключенного порта, а можно от серийника флешки. Все, после этого спокойно работаем! Ну вот при чем тут биосы-шмиусы, эмуляции какие-то? При чем тут горячие замены? При чем тут файловые системы флешек? Ну вот объясните мне! Чего вы вьелись в софтверную часть? Мне это оставте, тут ничего сложного для меня нет, уж поверьте!
В конце то концов, может все таки о флешках забудем, и вернемся к светодиодам? Не зря-же я фотку делал...