С Новым годом! Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 07.10.2019
Сообщений: 1

2 микроконтроллера, 1 память

07.10.2019, 13:18. Показов 1681. Ответов 13

Студворк — интернет-сервис помощи студентам
День добрый! Есть задача: имеются два устройства - хилинький, но почти не требующий питания микроконтроллер и большой и мощный, но относительно прожорливый одноплатник (пусть raspberry, но не суть). Необходимо, чтобы микроконтроллер долго-долго набирал данные с датчика (не суть какого), сохранял это в какую-то память, и раз в какой-то период времени включал одноплатник, чтобы тот считывал эти данные, быстренько обрабатывал и отключался.
Вопрос: как реализовать решение с общей памятью? Есть брать какую-нибудь spi-flash, то как адекватно реализовать два мастера на одном spi? Или есть более разумные способы?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.10.2019, 13:18
Ответы с готовыми решениями:

Внешняя память PIC: как нарастить внутреннюю память данных?
Я только начал разбираться с ПИКами и пока не все понимаю. Мне нужно организовать систему сбора и обработки информации с газовых датчиков....

Программирование микроконтроллера
Вычисление косинуса с помощью ряда Тейлора Здравствуйте, помогите мне пожалуйста ,я не знаю как написать код программы на ассемблере для...

Корпус микроконтроллера
Для проекта использую микроконтроллер DA14531. При изучении документации столкнулся с таким вопросом: почему в разных корпусах разное...

13
 Аватар для COKPOWEHEU
4082 / 2680 / 432
Регистрация: 09.09.2017
Сообщений: 11,901
07.10.2019, 15:00
Если данных много, лучше не flash, а ram, а то еще протрется до дыр не вовремя.
Есть ли запас у "слабого" контроллера по скорости и свободным ногам? Если есть, проще соединить с памятью только его, а данными пусть обменивается, скажем, по UART. То есть разбудил "мощного", дождался запроса данных и передает их. Реализовывать ожидание запроса придется, поскольку заранее не известно время запуска.
Это самый, на мой взгляд, разумный подход.
Но можно и поизвращаться: взять две микросхемы ОЗУ и пусть "слабый" работает с одной, а "мощный" с другой. Когда закончат - поменяются. Реализовать "перекидывание" четырех линий можно на внешней логике.
Извращение 2: пусть "слабый" контроллер подстраивается под "мощного", то есть пока с памятью общается тот - не мешать ему, когда "мощный" закончил, снял CS и перевел выводы в Z-состояние, можно подхватывать управление и писать туда то, что нужно. Конечно, внешнюю схему тут тоже придется налепить чтобы не было конфликтов.
1
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
07.10.2019, 16:41
Цитата Сообщение от volervagashim Посмотреть сообщение
Есть брать какую-нибудь spi-flash, то как адекватно реализовать два мастера на одном spi? Или есть более разумные способы?
штатный SPI не может иметь подключение нескольких мастеров на шине. Можно, конечно, колхозить что угодно - подключаться в момент, когда ни один из мастеров не работает, но это все равно чревато коллизией, хотя, и сильно маловероятно ввиду краткости использования.

поддержу схему COKPOWEHEU, трансфер данных с "мелкого" в "крупный" вполне оправдан. Мелкий может быть свободно любым serial/parrallel' слейвом для "главного", отдавая ему архивные данные.
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
07.10.2019, 19:24
Цитата Сообщение от Voland_ Посмотреть сообщение
штатный SPI не может иметь подключение нескольких мастеров на шине.
вообще то говорят что STM32 может работать в режиме мультимастера, но сам я не пробовал, где то читал в описаниях
0
3765 / 2642 / 582
Регистрация: 11.09.2009
Сообщений: 9,431
07.10.2019, 21:57
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Извращение 2: пусть "слабый" контроллер подстраивается под "мощного"
Почему "извращение" и зачем "подстраиваться", если по условию слабый управляет мощным?
Слабый перед включением мощного переводит линии управления памятью в третье состояние (освобождает шину), включает мощный, ждёт от него сигнала окончания, выключает его и снова забирает шину управления памятью. Никаких извратов...

И, видимо, ещё потребуется канал обмена данными с мощным. Ну там начальный адрес, размер записи передавать, ещё параметры какие-нибудь, получать ответные коды для обработки ошибок, результаты расчёта забирать...
0
Эксперт по электронике
6533 / 3161 / 334
Регистрация: 28.10.2011
Сообщений: 12,414
Записей в блоге: 7
07.10.2019, 23:05
А не проще мощный МК переводить в спящий режим когда не требуется работа? Тогда можно исключить "слабый" МК.
0
3765 / 2642 / 582
Регистрация: 11.09.2009
Сообщений: 9,431
08.10.2019, 01:36
Цитата Сообщение от locm Посмотреть сообщение
А не проще ..в спящий режим ...?
Видимо идея с двумя контроллерами и возникла из-за проблемы реализации "чтобы микроконтроллер долго-долго набирал данные с датчика" в спящем режиме.
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,609
08.10.2019, 02:08
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Есть ли запас у "слабого" контроллера по скорости
На мой взгляд это важно. Из общих соображений по сформулированной задаче лично я делаю вывод, что "слабый" должен собирать данные постоянно. И это его главная задача, которой не должно мешать ничто. В частности периодическая передача данных в "сильный" контроллер.
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
08.10.2019, 08:59
Цитата Сообщение от ValeryS Посмотреть сообщение
вообще то говорят что STM32 может работать в режиме мультимастера, но сам я не пробовал, где то читал в описаниях
"ну, можно, конечно, и зайца научить курить" <c> просто, имхо, такой конфиг сводит все преимущества мощной SPI на "нет".
К тому же нет резона это делать. Потому что в практически любом МК общего назначения есть как минимум парочка быстрых интерфейсов, которыми можно свободно разделить функции. Допустим, посадить FLASH на SPI с мелким МК, и общаться по UART с верхним уровнем.

В данной задаче решений очень много, тут скорее всего можно полагаться из выбранной платформы - что может она, и за сколько ее можно купить ).
0
 Аватар для COKPOWEHEU
4082 / 2680 / 432
Регистрация: 09.09.2017
Сообщений: 11,901
08.10.2019, 11:14
Цитата Сообщение от i8085 Посмотреть сообщение
Почему "извращение" и зачем "подстраиваться", если по условию слабый управляет мощным?
Потому что он им не управляет, естественно. Он его только запускает. В "мощном" своя ОС, свои драйвера, которые наверняка не реалтаймовые, то есть синхронизироваться просто не умеют.
Цитата Сообщение от i8085 Посмотреть сообщение
Слабый перед включением мощного переводит линии управления памятью в третье состояние (освобождает шину)
... и теряет все данные, собранные за время активности "мощного", просто потому что некуда их записывать.
Цитата Сообщение от locm Посмотреть сообщение
А не проще мощный МК переводить в спящий режим когда не требуется работа? Тогда можно исключить "слабый" МК.
Тут вопрос к ТСу, умеет ли его "мощный" контроллер достаточно крепко спать и не сильно ли вырастет суммарное потребление.
Цитата Сообщение от northener Посмотреть сообщение
И это его главная задача, которой не должно мешать ничто. В частности периодическая передача данных в "сильный" контроллер.
В общем случае согласен, ТС не сказал насколько "слабый" контроллер загружен. Но, скорее всего, данные приходят относительно редко и их можно повесить на прерывание, а обмен с "мощным" на аппаратный UART. А UART штука асинхронная, так что "мощный" вполне подождет пока "слабый" примет очередную порцию данных, прожует и выплюнет в буфер, после чего как ни в чем не бывало продолжит общение.
0
Эксперт по электронике
6533 / 3161 / 334
Регистрация: 28.10.2011
Сообщений: 12,414
Записей в блоге: 7
08.10.2019, 12:29
Цитата Сообщение от i8085 Посмотреть сообщение
Видимо идея с двумя контроллерами и возникла из-за проблемы реализации "чтобы микроконтроллер долго-долго набирал данные с датчика" в спящем режиме.
Разве микроконтроллер не может просыпаться на короткое время, собрать данные и дальше спать? Вот я и пишу что можно взять мощный МК, который собирает данные расходуя минимум энергии, а потом обрабатывает их.
0
08.10.2019, 12:43

Не по теме:

Есть чипы с мощными процессорами и микроконтроллерами на борту как раз для таких целей.

0
 Аватар для COKPOWEHEU
4082 / 2680 / 432
Регистрация: 09.09.2017
Сообщений: 11,901
08.10.2019, 13:30
Цитата Сообщение от locm Посмотреть сообщение
Вот я и пишу что можно взять мощный МК, который собирает данные расходуя минимум энергии, а потом обрабатывает их.
ТС говорил, что "мощный" контроллер это что-то порядка raspberry pi, то есть уже не столько контроллер, сколько микрокомпьютер. Не уверен что они могут достаточно эффективно спать. А вот какая-нибудь ATmega48 - сколько угодно. Раз в минуту проснулась, опросила датчик и снова спать с потреблением меньше 1 мкА.
Конечно, конкретные контроллеры известны только ТСу, так что придется ждать пока он проснется.
0
Эксперт по электронике
6533 / 3161 / 334
Регистрация: 28.10.2011
Сообщений: 12,414
Записей в блоге: 7
08.10.2019, 13:41
Не знаю что требуется ТС. Я предлагал взять МК по мощнее, например STM32F407. В спящем режиме он потребляет несколько микроампер. К нему можно подключить внешнюю оперативную память до 128 МБ (если имеющихся 192 КБ мало) в которой хранить данные. При сборе данных МК просыпается (от внешнего сигнала или встроенного RTC), помещает данные в память и дальше спит. Когда необходимо собранные данные обрабатываются.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.10.2019, 13:41
Помогаю со студенческими работами здесь

Программирование микроконтроллера
Всем здравствуйте!) Очень нужна ваша помощь в лабораторной работе. У меня есть код (приведу ниже), нужно написать небольшую подпрограммку...

Выбор микроконтроллера
Всем доброе время суток. Стоит задача считать из микрофона сигнал (голос человека) - сжать его (любым алгоритмом) - отправить и обратная...

Программирование микроконтроллера
Друзья, доброго всем времени суток. У меня такая задача: необходимо описать в ассемблере измерение остаточного напряжения на аккумуляторе....

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

Клавиатура микроконтроллера
Добрый день, такой вопрос, никто не описывал клавиатуру в симуляторе MSC8052, для микроконтроллера семейства MCS-51??


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru