Перейти к содержанию
    

Хочу на плату поставить сотню микроконтроллеров. С какими трудностями я могу столкнуться?

Хочу сделать что-то типа нейросети.

 

дык вот уже готовое и масштабируемое

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так какая задача то?

Грешен, тоже иногда посещают мысли о десятке-другом МК на плате.

Никаких нейросетей, конечно. Исключительно мелкие процы с индивидуальной прошивкой "намертво". Использовать в качестве периферийных контроллеров. RS-232, RS-485 уже с нужным протоколом внутри, SPI, I2C, просто расширитель IO и тд. Они фактически делают весь реал-тайм (потому как заняты одной задачей). А рядом стоит жирный (сравнительно) МК, который обсчитывает математику и алгоритм, не отвлекаясь на ввод-вывод.

 

Последний пример - на плате периферийного контроллера был нужен делитель частоты строк на два (типа счетный триггер), но с возможностью фиксированного сдвига во времени и парафазным выходным каскадом. Долго не думал - поставил Тини88 QFN24 RC осциллятор, подобрал сдвиг и забыл навсегда. А Главный МК (Атмега644) захлебывался от 16 кГц прерываний.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Главное меня смущает не будут ли процессоры сбивать друг друга взаимными цифровыми наводками?

Я бы вам порекомендовал книгу, но книги, как я понял, вы не читаете, предпочитая им живое общение.

Почему например на каждый вход не поставить по процессору?

Потому что это дорого, неудобно, а самое главное зачем? Вы полагаете, что сделав матрицу NxM из процов, то решите тучу задач? Ничего подобного. Реальный мир - это мир аналоговых сигналов. И как минимум при вводе аналогового сигнала нужна простейшая RC-цепочка за 20 коп, которую никаким процом за 5, 15 и даже 100000 рублей не заменишь. Вы замучаетесь синхронизировать эту кучу входов, собирать с них данные, анализировать их. Скорее всего всё упрётся в пропускную способность коммуникационных шин процессоров за 15 рублей. И выйдет, что вместо покупки тучи процов, проще купить какой-нить шустрый проц + FPGA, который порвёт эту матрицу как тузик грелку. Или вообще поставить кристалл, на котором сразу проц и FPGA. А с наружи суровые analog front end.

 

Где вы такие цены находите? 15 руб? Ссылку в студию, плиз.

 

Доходит до того, что микроконтроллер стоит дешевле отдельного транзистора или конденсатора или реле.

Ссылку в студию! Если вы не говорите о MOSFET'ах, стоимость которых доходит до 1000 р.

 

ИМХО. Решать проблемы кучей процов, да ещё и на каждый вход по-процу это просто признак убогого дизайна схемы в корню. Либо попытка потроллить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я ставил на малюсенькой платке два PIC-а вплотную друг к другу.

Задача была вполне земная: опросить разъем со многими линиями. Входов одного МК не хватало. Можно было поставить обычные мультиплексоры. Однако я поставил еще один МК, за что коллеги в Нете обо*рали меня с головы до пят, как будто я потратил лишний миллион из их собственных карманов :) Но с МК плату развести было в 100 раз проще, поскольку ноги-то можно использовать произвольно.

От собственного кварца тактировался "главный" МК. Второй МК питался своим входом (где должен бы быть кварц) от ножки кварца первого: той, которая выход (OSC2). Через конденсатор 15пФ. Всё работало, полная синхронность, никаких помех.

Общались контроллеры между собой по RS232. (Можно было и что-то другое, но эта подпрограмма там уже была задействована для связи с компом. Ну вот ее и припряг.)

 

Автору темы респект, проект интересный, я думаю, всё получится. Для ста штук, тактирование, как уже сказали, конечно от внешнего генератора. И я думаю, это не проблема, поскольку входы МК наверняка полевые. Если количество все же смущает - возьмите десять буферов из простых инверторов, к каждому по десятку входов всего лишь.

 

Но вот в чем простор для работы - это принцип соединений МК друг с другом по обмену данными. Тут уж автору флаг в руки, даже фантазировать не берусь.

С переключением мультиплексорами - я бы попробовал. Скорость доступа должна очень заметно увеличиться по сравнению с цепочечной передачей через много узлов. Но сколько слоев должна быть плата тогда,- для такого количества сетко-подобных соединений?!

Словом, "Безумству храбрых поем мы песню"©.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Словом, "Безумству храбрых поем мы песню"©.

Ну давайте вместе петь :rolleyes: Повторюсь, автор говорил о том, что микроконтроллеры дешевле грязи, дешевле транзистора и даже, порой, конденсатора. О пятнадцатирублёвых. Где такие?

Минимум - это 50, а то и больше рублей. Ну пусть даже 15. Сто штук - это 1500 руб. Печатка - четырёхслойка, как минимум. Я не думаю, что за 15 рублей автор купит шустрый кортекс с хорошими быстрыми шинами на борту. Как он это всё соединит в сеть. Ну а соединив, что получит? Просто красивую плату из 100 процов? Ведь можно же всё дело отмоделить в том же матлабе. Прикинуть расчёты. Выложить сюда не набор феерических фраз, а что-то, о чём можно говорить предметно.

 

Как он будет программировать 100 мк? Отлаживать? Какой экономический эффект?

 

А не дешевле за 1500 рублей купить нормальный камень от Xilinx, где на борту кортекс-a + фпга? Да и разводить проще. И возможностей больше.

 

Извините, но мне это напоминает: вместо инженера возьмём студентов десятка два, их труд оценим в копейки, а они выдадут на гора результат.

 

Я ставил на малюсенькой платке два PIC-а вплотную друг к другу.

Это нормальный подход. Смотря для чего. Хотя ставить дополнительный МК для опроса входов взамен расширителя для меня, лично, немного странно. Это писать ещё одну программу, пусть простую, но ещё одну. Это усложняет тестирование готового изделия.

 

Я просто хочу сказать, что иногда наблюдаю тенденцию, когда "волшебным МК" пытаются заменить всё: аналоговую схемотехнику, цифровую и т.п. и т.п., абсолютно не понимая, сути проблемы. Относительная простота программирования МК имеет и другую сторону медали: кажется, что можно решить почти всё. Доступность ардуино сыграло свою роль в этом. Массы знают как более-менее запрограммить микросхему, но совершенно теряются, когда нужно собрать регулятор на операционниках...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну давайте вместе петь :rolleyes: Повторюсь, автор говорил о том, что микроконтроллеры дешевле грязи, дешевле транзистора и даже, порой, конденсатора. О пятнадцатирублёвых. Где такие?
Мне например как-то это всё равно: раз автор хочет собирать - значит у него есть.

 

Я не думаю, что за 15 рублей автор купит шустрый кортекс с хорошими быстрыми шинами на борту.
И не надо. Работу сети "в принципе" можно испытать и на низкой скорости. Собственно, тут и будет видно, насколько такая структура обеспечивает выигрыш перед одним.

Да и наводки с дорожки на дорожку меньше, волновыми сопротивлениями заморачиваться не нужно. 4 МГц - самое оно, имхо; больше и не надо.

 

Как он это всё соединит в сеть. Ну а соединив, что получит?
Вот это САМЫЙ интересный вопрос! Я надеюсь, что автор потом отпишется и расскажет нам о результатах.

Плиз! Нам очень интересно.

 

Какой экономический эффект?
Никакого. Я так понимаю, что это чисто исследовательский проект.

 

Ну а моделировать на компе.... Я бы не стал. Собственно, это возможно; но совсем другой раздел знаний. Кто специалист - занимаются именно тем. Ну и что; разные области деятельности есть.

 

ставить дополнительный МК для опроса входов взамен расширителя для меня, лично, немного странно.
Да я вообще чел странный :) но всё получилось))))

 

Это писать ещё одну программу, пусть простую, но ещё одну.
В данном случае было много легче написать программу, чем разводить печатку под мультиплексоры. Да и управление ими - тоже ведь подпрограмму писать понадобилось бы. Так что в сумме - проигрыш.

 

Это усложняет тестирование готового изделия.
Но улучшает живучесть.

 

Я просто хочу сказать, что иногда наблюдаю тенденцию, когда "волшебным МК" пытаются заменить всё: аналоговую схемотехнику, цифровую и т.п. и т.п., абсолютно не понимая, сути проблемы.
Вот в этом соглашусь с Вами. Невежественность ни с какой стороны плюсом не бывала.

 

Относительная простота программирования МК имеет и другую сторону медали: кажется, что можно решить почти всё. Доступность ардуино сыграло свою роль в этом. Массы знают как более-менее запрограммить микросхему, но совершенно теряются, когда нужно собрать регулятор на операционниках...
Ну может быть все-таки это естественное следствие развития технологий... Многие ли из нас сегодня собственноручно изготовят диод из кристалла цинкита? А в 20-х годах делали. Но сейчас-то зачем, если за копейки можно купить несравнимо более качественные?

Видимо и с другими деталями происходит подобная же история...

Хотя ОУ, имхо, сохранят свою нишу еще очень долго.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 МГц - самое оно, имхо; больше и не надо.

Удивляюсь, откуда конкретные цифры?

Да и управление ими - тоже ведь подпрограмму писать понадобилось бы. Так что в сумме - проигрыш.

Программа бы работала на том же кристал, что и основная. Меньше сущностей. Выигрыш? Может быть.

Но улучшает живучесть.

За счёт чего? Насколько мне известно - увеличение компонентов ведёт к снижению надежности, если эти компоненты только не необходимы для её поддержания. Мультиплексоры - тоже компоненты, но по своему устройству значительно проще МК.

Многие ли из нас сегодня собственноручно изготовят диод из кристалла цинкита? А в 20-х годах делали.

Полагаю, что сравнение некорректное. Неумение изготовить диод не отменяет его необходимости применения в современных схемах. И не важно, умеете ли вы его готовить сами, либо покупаете в супермаркете, в схеме он нужен. И ничем его не заменить. Даже самым навороченным МК.

Но сейчас-то зачем, если за копейки можно купить несравнимо более качественные?

Совершенно верно, но применение МК не гарантирует качества без обвязки. Даже "чисто в цифровых" схемах без знания аналоговой схемотехники не обойтись, ибо цифра - аналог по природе.

Хотя ОУ, имхо, сохранят свою нишу еще очень долго.

Ну а куда они денутся? Разве, что как и транзисторы интегрируются в многолапку. Но ведь и дискретные транзисторы со сцены не ушли. Хотя стали составными, содержат немного рассыпухи внтури (дарлиннтоны с резисторами), даже интеллектуалом обладают :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

откуда конкретные цифры?
Я с этой частотой работал много. Бывало, (каюсь!), делал разводку довольно похабно. Но НИ РАЗУ не было глюков за счет наводок между дорожками или отражениями несогласованных линий. На платах разумного размера (до 20 см).

 

За счёт чего? Насколько мне известно - увеличение компонентов ведёт к снижению надежности, если эти компоненты только не необходимы для её поддержания. Мультиплексоры - тоже компоненты, но по своему устройству значительно проще МК.
Я имел ввиду вот что: если в устройстве единственный мощный МК, который работает за всех, "и швец, и жнец, и на дуде игрец", то если этот мозг конструкции поврежден - всё, она лишается всего управления и мертва начисто.

Если же на каждую функцию стоит по собственному маленькому МК, например на управление сервоприводом каждой конечности робота - по собственному МК, то если один из них убит - одна рука не действует, но остальные-то работают. (Программирование тоже упрощается за счет хардварной многозадачности.)

Но это конечно не мой случай, у меня был выигрыш только в разводке платы.

 

Совершенно верно, но применение МК не гарантирует качества без обвязки.
Качество достигается соответствующей компетентностью инженера. Без нее остальное - пустой звук.

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня на плате EEPROM за доллар имеет свой MAC-адрес

guid круче

 

 

на правильной плате процов должно быть не 100, а 256

назначение - сходу - распознавание лиц

такая шняга, при весьма смешной цене, уверен - уделает интель, и, думаю, фпга

Изменено пользователем Огурцов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я с этой частотой работал много. Бывало, (каюсь!), делал разводку довольно похабно. Но НИ РАЗУ не было глюков за счет наводок между дорожками или отражениями несогласованных линий. На платах разумного размера (до 20 см).

Скажите, а как вы тестируете устройства?

Я имею в виду на статику, на помехоизлучение и т.д. и т.п.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

на правильной плате процов должно быть не 100, а 256

назначение - сходу - распознавание лиц

такая шняга, при весьма смешной цене, уверен - уделает интель, и, думаю, фпга

 

Что у Маниловых опять мода на транспьютеры и прочие систолические матрицы пошла ? :)

https://en.wikipedia.org/wiki/Transputer

https://en.wikipedia.org/wiki/Systolic_array

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

точно, вот уже и название придумали...

гхм, развести, что ли, от нечего делать

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сейчас микроконтроллеры стали стоить дешевле грязи.

Доходит до того, что микроконтроллер стоит дешевле отдельного транзистора или конденсатора или реле.

STM32F030F4P6 стоит порядка 50 руб @ 100 шт.

Даже Тини13 по 40 руб @ 100 шт, но на ней все ресурсы уйдут на межпроцессорный обмен.

 

Хочу сделать что-то типа нейросети.

Я в нейросетях не силен, но мне кажется, что должен быть быстрый доступ к данным между нейронами.

Т.е. операции в нейроне должны быть "тяжелее", чем межнейронный обмен.

У МК получается наоборот: доступ к данным размазан по времени и очень медленный по сравнению с операциями внутри нейрона.

 

Может, ТС путает нейросеть и распределенную сеть.

Первое - это паралелльная работа над одной задачей; второе - то, что, судя по контексту, имеет ввиду ТС.

 

Поставить на плату сотню другую самых дешевых микроконтроллеров рублей по 15 каждый.

Если для прокачки навыков трассировки, расчета электрических и температурных характеристик,

найки, надаладки, ремонта и других далеких от программирования задач, то - хорошо.

Если для написания распределенных задач и прочувствования тонкостей распределенных вычислений, то лучше потренироваться на ПК.

 

Народ! Кто эксперементировал с установкой на одну маленькую печатную плату большого кол-ва процессоров!

Сейчас есть много многопроцессорных архитектур, где много ядер в одном корпусе.

Не пробовали решить какую-нить задачу на двух ядрах?

Занимались написанием параллельных вычислений и т.п.?

Какой опыт?

 

С какими трудностями пришлось столкнуться?

Это вообще принципиально возможно?

Поставить на плату 100 процессоров и связать их все друг с другом, что каждый был связан с каждым

Почему у меня сомнения возникли?

Потому что по конвейеру движение только в одном направлении.

Зачем связь делать двунаправленную и каждого с каждым?

Когда реальные задачи хорошо параллелятся и данные идут в выделенном направлении.

 

Просто я что-то не встречал такого, чтобы кто-то лепил на плату процессора (ну в смысле микроконтроллеры) десятками. Даже не смотря на то, что один микроконтроллер стоит дешевле транзистора.

Может есть какие-то принципиальные трудости, которые не позволяют этого сделать?

А то ведь это недорого получается. 100 микроконтроллеров стоят всего лишь 1500 руб

Экономически неоправданно. Один-два МК за 1500 руб решат любую задачу лучше, чем 100 МК за 15 руб на одной плате.

А простенькая современная видеокарта в части вычислений победит с многократным запасом все перечисленное выше

(например, Sapphire Radeon HD 2600 XT 800Mhz PCI-E 512Mb за 1500 руб со 120-ю унифицированными процессорами).

 

Я бы посоветовал почитать про вычисления на GPU.

Там тысячи не самых хилых вычислителей - на них решать задачи не просто интересно, но и академически оправдано,

т.к. "физики" используют для вычислений видеокарты))

 

Есть онлайн-ресурс, где можно потренироваться. Нужна ссылочка?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

STM32F030F4P6 стоит порядка 50 руб @ 100 шт.

$0.4 == $100 за 256 шт, как бы не сильно дорого, если под проект

 

Зачем связь делать двунаправленную и каждого с каждым?

можно перемножать два изображения по строкам

 

Один-два МК за 1500 руб решат любую задачу лучше, чем 100 МК за 15 руб на одной плате.

нет, i5 не справляется, а стоит дороже

 

видеокарта

на каком языке программирования писать программы для видеокарт ? ещё

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...