Как подключить периферию к МК?

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Родился
Сообщения: 7
Зарегистрирован: Ср фев 25, 2015 13:13:25

Сообщение Silber »

Здравствуйте! Нужно программировать на МК, а опыта работы с МК нет. Очень простой для вас, но очень важный для меня вопрос. Имею: плата stm32f407vg (она же дискавери), установленная на расширяющую плату от фирмы WaveShare с названием Open407V-D. Пройдемся по моей периферии:
  • Вай-фай модуль - 14 пинов (WaveShare wifi232 UART module)
    4 инфракрасных сенсора - по 3 пина каждый, неизвестного китайского изготовителя
    Кард-ридер - 9 пинов (WaveShare)
    Ультразвуковой датчик - 4 пина (от компании Arduino)
    Voltage sensor - 3 пина
    Акселерометр от WaveShare 10DoF - 7 пинов
Очевидно, что всю эту периферию мне нужно подключить к МК, да еще и так, чтобы она функционировала. К разъемам, имеющимся на расширяющей плате ничего из этого, кроме кард-ридера, не подходит.
Вопрос:
Как выбирать пины мк для подключения к ним периферии? (выбор у меня весьма богатый)
Реклама
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Сообщение kalobyte »

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

читалка карточек это интерфейс спи, причем твой контроллер наверное поддерживает скоростной режим сдио и это висит жестко на конкретных выводах, так что в даташите смотреть надо
а так в жирных мк есть больше одного спи интерфейса и можно на любой
Silber писал(а):(WaveShare wifi232 UART module)
это юарт обычный, управляется ат командами с мк
модулей юарт тоже полно
Silber писал(а):Акселерометр от WaveShare 10DoF - 7 пинов
на остальной хлам смотри даташиты, а не количество пинов и название в каком-то магазине
тематические ответы только в форуме, в приват не пишите
Реклама
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Сообщение uk8amk »

От себя хочу добавить, что работу с МК следует начать с изучения его внутренностей. Но не с попыток подключения красивых кубиков к чёрном ящику.
Родился
Сообщения: 7
Зарегистрирован: Ср фев 25, 2015 13:13:25

Сообщение Silber »

uk8amk писал(а):От себя хочу добавить, что работу с МК следует начать с изучения его внутренностей. Но не с попыток подключения красивых кубиков к чёрном ящику.
Я с вами полностью согласен, но! Инструкция к моему МК ~700 страниц на хорошем английском языке. По-хорошему нужно её прочитать раз десять. Времени такого рода обучение займет очень много, а передо мной стоит конкретная задача - научить МК выполнять приказы, полученные по вай-фаю и есть срок в который её нужно выполнить. Поэтому я обучаюсь на конкретном практическом задании - решая задачу, изучаю теорию, с которой приходится взаимодействовать. Вы так говорите, как будто я наугад хочу подключить периферию! Нет же. именно для того, чтобы разбираться в МК я и спрашиваю "на что смотреть, когда я хочу подключить периферийное устройство?". Хорошим ответом было бы "смотри интерфейс периферии и подключай к соответствующим пинам мк"
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Сообщение Morroc »

uk8amk писал(а):От себя хочу добавить, что работу с МК следует начать с изучения его внутренностей. Но не с попыток подключения красивых кубиков к чёрном ящику.
Почему ? Зависит от цели же, если первично подключение красивых кубиков - они запросто подключаются в большинстве своем без изучение внутренностей мк, я тому живой пример. Когда нужно что нибудь специфическое, чего ардуина не умеет - набираю google.com -> arduino / avr <трахтибедох> (название периферии) и, обычно, легко нахожу нужное и если там абракадабра типа TCCR1B = TCCR1B & 0b11111000 | 0x01; - смотрю в даташите что за хрень такая.
Silber писал(а):Нет же. именно для того, чтобы разбираться в МК я и спрашиваю "на что смотреть, когда я хочу подключить периферийное устройство?". Хорошим ответом было бы "смотри интерфейс периферии и подключай к соответствующим пинам мк"
А то вы это сами не знаете. Это как в соседней теме "Q: Можно ли подключить <название девайса> к AVR ? A: Можно, подключайте."
Не хотите изучать 700 страниц ДШ - возьмите ардуино, тыщи людей так делают и чего только не подключают к нему с переменным успехом, потом можно .hex от него взять и прошить в новый мк. Можно и к несоответствующим пинам подключать если соответствующие уже заняты.
Последний раз редактировалось Morroc Чт фев 26, 2015 14:49:57, всего редактировалось 1 раз.
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Реклама
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Сообщение HHIMERA »

А можно пропустить все эти затасканые ардуиновские мантры... и сразу ответить конкретно на хотелки ТС'а???
Покажите класс... ваш выход... типа "абдурино может всё!"...
"Я не даю готовых решений, я заставляю думать!"(С)
Реклама
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Сообщение Morroc »

Каким образом ? Чисто теоретически ? Ну оно и заработает чисто теоретически :)) могут быть проблемы с поиском библиотек под wifi (если он таки с uart - нафига 14 ног). Если это все надо подключить к одному мк, то в ардуину на мега328 скорее всего не упихнется, но по моему это еще не повод читать 700 страниц и писать на асме.

Это не мантры, реально можно подключить много чего тупо гугля готовое, две недели назад взял индикатор - покрутил в руках, нашел что там sh1106, набрал arduino sh1106, поклацал минут 20 и нет проблем, если бы еще не ложная наводка "да он вообще такой же как и ssd1306" подключил бы и за 10.

Если бы ТС не выдал такое
Silber писал(а):К разъемам, имеющимся на расширяющей плате ничего из этого, кроме кард-ридера, не подходит.
я бы про ардуину не писал :))
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 165
Зарегистрирован: Чт фев 19, 2015 17:26:19
Откуда: СССР

Сообщение FantasyDD »

Отнестись к этому как к задаче, привести все к общему знаменателю.
К каждому датчику подключить преобразователь его протокола в единый, за единый можно выбрать SPI, I2C дело вкуса (за преобразователь можно взять
http://ru.aliexpress.com/store/product/ ... 84777.html
).

SPI пример.
Изображение

Далее все подключить к центральному контролеру (мой совет к ARDUINO MEGA но можно и к ДИСКАВЕРИ, правда посложнее будет).

Удобство такой тактики в чем, можно будет подключать любое число датчиков и любых датчиков, экономим ножки и ресурсы центрального.

Divide et impera.
Родился
Сообщения: 7
Зарегистрирован: Ср фев 25, 2015 13:13:25

Сообщение Silber »

Имею новый вопрос. Я сгенерировал код инициализации МК при помощи утилиты STM32CubeMX, ограничился задачей записи/считывания с микроСД флешки. Эта утилита настроила мне МК длдя работы с интерфейсом SDIO, подключила библиотеку FatFS (мб сделала что-то еще, уже мозг потек, не могу сообразить, см скриншот проекта). Сгенерированный проект успешно прошивается на плату из еварм'а. И вот я встал застрял в, казалось бы, простом месте - нужно писать код для мк. Ищу примеры и не могу разобраться в том, что нахожу. В примерах от производителя кард-ридера используется драйвер для него, в мой проект тоже подключено что-то подобное. Нужно ли этот драйвер дополнительно подключать, или все уже есть - осталось работать с FatFS? Отличается ли работа с FatFS на разных мк, или я могу смотреть пример работы с микроСД-флешкой для любого мк и все по части ФатФС у меня должно работать без изменений(можете ткнуть носом)? Запутался уже. Пытаюсь разобраться, но с одной стороны хорошо начать с самых азов, а с другой -- нужно решать конкретную задачу.
ПС хочу писать, используя HAL (бывший SPI) - библиотека, скрывающая программирование регистров. Утилита генерирует инициализирующий код как раз с использованием HAL.

Спасибо за ваши ответы.
Изображение
Вложения
Screenshot_2.png
(20.27 КБ) 594 скачивания
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 165
Зарегистрирован: Чт фев 19, 2015 17:26:19
Откуда: СССР

Сообщение FantasyDD »

Может дело в карте. Большой объем.
Ответить

Вернуться в «Периферия»