Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Друг Кота
Аватара пользователя
Сообщения: 3794
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

seregaviper - значения TRIM копируются по сбросу МК в регистры FFAE-FFAF из области IFR (Flash Information Row), куда они прожигаются на заводе. Эти значения записываются в IFR индивидуально для каждого экземпляра МК. Область IRF недоступна для чтения/записи дебаггерам. Короче, это нормально, что они разные на разных чипах и обращать внимание на это не стоит.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 25863
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="Salk",url="/forum/viewtopic.php?p=3522415#p3522415"]Так вот там есть 10 полноценных 12-бит АЦП.[/uquote]Там ОДИН АЦП с входным мультиплексором. Для работы с 10 входами нужно ПОСЛЕДОВАТЕЛЬНО переключать эти входы и запускать преобразования на каждое направление. Одновременное преобразование даже по двум входам невозможно. Невозможен даже одновременный захват сигнала, потому что там и УВХ тоже один.
Реклама
Грызет канифоль
Аватара пользователя
Сообщения: 288
Зарегистрирован: Пт янв 17, 2014 22:48:20
Откуда: Екатеринбург

Сообщение Salk »

Мурик Да, конечно.
КРАМ А, теперь понятно что за значения

Код: Выделить всё

sConfig.Channel = ADC_CHANNEL_6;
  sConfig.Rank = ADC_RANK_CHANNEL_NUMBER;
, это выбор канала и порядок их опроса. Просто CubeMX во вкладке АЦП предлагает настроить только 10 АЦП (IN0-IN9), а в файле adc.h есть следующие

Код: Выделить всё

/**
  * @brief Configure the channel number into channel selection register
  * @param _CHANNEL_ ADC Channel
  * @retval None
  *//* This function converts ADC channels from numbers (see defgroup ADC_channels) 
   to bitfields, to get the equivalence of CMSIS channels:
        ADC_CHANNEL_0           ((uint32_t) ADC_CHSELR_CHSEL0)
        ADC_CHANNEL_1           ((uint32_t) ADC_CHSELR_CHSEL1)
        ADC_CHANNEL_2           ((uint32_t) ADC_CHSELR_CHSEL2)
        ADC_CHANNEL_3           ((uint32_t) ADC_CHSELR_CHSEL3)
        ADC_CHANNEL_4           ((uint32_t) ADC_CHSELR_CHSEL4)
        ADC_CHANNEL_5           ((uint32_t) ADC_CHSELR_CHSEL5)
        ADC_CHANNEL_6           ((uint32_t) ADC_CHSELR_CHSEL6)
        ADC_CHANNEL_7           ((uint32_t) ADC_CHSELR_CHSEL7)
        ADC_CHANNEL_8           ((uint32_t) ADC_CHSELR_CHSEL8)
        ADC_CHANNEL_9           ((uint32_t) ADC_CHSELR_CHSEL9)
        ADC_CHANNEL_10          ((uint32_t) ADC_CHSELR_CHSEL10)
        ADC_CHANNEL_11          ((uint32_t) ADC_CHSELR_CHSEL11)
        ADC_CHANNEL_12          ((uint32_t) ADC_CHSELR_CHSEL12)
        ADC_CHANNEL_13          ((uint32_t) ADC_CHSELR_CHSEL13)
        ADC_CHANNEL_14          ((uint32_t) ADC_CHSELR_CHSEL14)
        ADC_CHANNEL_15          ((uint32_t) ADC_CHSELR_CHSEL15)
        ADC_CHANNEL_16          ((uint32_t) ADC_CHSELR_CHSEL16)
        ADC_CHANNEL_17          ((uint32_t) ADC_CHSELR_CHSEL17)
        ADC_CHANNEL_18          ((uint32_t) ADC_CHSELR_CHSEL18)
*/
Уже 19 каналов. Первые 10 соответствуют IN0-IN9, а как работать с остальными? Нужно ли ноги настраивать в режиме Analog Input?
СпойлерИзображение
СпойлерИзображение
Друг Кота
Аватара пользователя
Сообщения: 3386
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Salk писал(а):в файле adc.h есть следующие
В STM32f030 с большим числом выводов, больше каналов АЦП.
Реклама
Эиком - электронные компоненты и радиодетали
Chettuser

Сообщение Chettuser »

[uquote="Salk",url="/forum/viewtopic.php?p=3522521#p3522521"][/uquote]
Зачем Вам настройка через Cube?
Есть же нормальные примеры - snippets называются, качаются с сайта STM/ Там есть примеры для использования периферии во всех извращённых положениях. Только голову придётся открыть описание регистров конкретного модуля и приложить немного голову.
Поверьте - писанины и мороки будет меньше чем с Cube и HAL.
Реклама
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вт янв 05, 2016 19:41:46

Сообщение Глеb »

Здравствайте. Подключил к ATmega, АЦП (MCP3201) его значения считываются и выводятся на дисплей 1602, все вроде как работает. Но между АЦП и МК необходима гальваноразвязка, ее было сделано по схеме на рис. Теперь при подключении гальваноразвязки к интерфейсу SPI на дисплее выводится вместо значений нули (без нее все работает), оптопары все проверены и исправны. Подскажите куда копать ?
Изображение
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7083
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

как говорят военные: "здесь есть 2 варианта, первый и второй".
так вот, у тебя оно не работает либо потому, что пропала связь мк—>ацп п ацп не может вещать в пустоту, либо из-за того что светодиод оптопары просадил линию связи до состояния лог. "0".
для проверки поставь диод (шоттки) от ацп к мк (оптопару пока убери) если с ним заработает, значит просто к имеющейся схеме добавь транзистор, дабы исключить воздействие светодиода на линию. если нет, значит проидется делать 2хстороннюю связь (2 оптопары, 2 диода, 2 резистора).
______
упс :oops: я неправильно название интерфейса прочитал... почемуто про двунаправленный I2C подумал...
Последний раз редактировалось Ivanoff-iv Пт дек 28, 2018 08:11:43, всего редактировалось 2 раза.
Мучитель микросхем
Сообщения: 413
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

Сообщение Sergi »

PC817 достаточно меленные. Могут не работать выше 50 кГц. Зависит от резистора нагрузки.
Модератор
Аватара пользователя
Сообщения: 19102
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Сообщение Starichok51 »

приобрести оптроны HCPL-2630, у них максимальная частота 10 МГц.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вт янв 05, 2016 19:41:46

Сообщение Глеb »

АЦП с МК соединяется через SCK, MISO, SS. Так вот если ставить опторазвязку только на MISO и SS, то работает, а если еще и на SCK то на дисплее нули вместо значений (это на оптопарах 6N137). Почему может не проходить тактовый сигнал?
Друг Кота
Аватара пользователя
Сообщения: 6643
Зарегистрирован: Чт авг 09, 2012 01:09:39
Откуда: Ливны

Сообщение korob »

Глеb писал(а):Почему может не проходить тактовый сигнал?
По нарисованной выше схеме он и не должен проходить, ибо он идёт от МК к АЦП. :? :facepalm: Если тактовый сигнал развязывается должным образом (а не как на схеме :facepalm: ), то рисуйте полную схему с указанием номиналов элементов. :roll:

P.S Скоростные параметры 6N137 заявляются при подтяжке резистором на порядок меньшего сопротивления. :wink:
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вт янв 05, 2016 19:41:46

Сообщение Глеb »

Так я и не писал, что тактовый сигнал идет от АЦП к МК. Подключал вот по такой схеме.
Изображение
Друг Кота
Аватара пользователя
Сообщения: 3386
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Если частота большая сопротивление R2 нужно уменьшить.
Оптрон инвертирует сигнал. Нужно левый вывод резистора R3 соединить с питанием, а вывод 3 оптрона подключить к МК.
Родился
Сообщения: 11
Зарегистрирован: Ср янв 02, 2019 20:58:27

Сообщение Vlad7172 »

Здравствуйте!

Хочу сделать свою простенькую схемку на STM32F103C8T6.
При этом схема может одновременно запитываться и по отладочному кабелю и от внешнего питания +3,3 В.
Лично проверял, подавал одновременно питание на микроконтроллер и от отладочного кабеля и от внешнего источника +3,3 В (без дополнительных элементов). Все продолжало нормально работать.
Но это как-то с моей точки зрения не правильно и хотелось бы защититься от возможных проблем.
Как я прочитал, в таких случаях используют 2 диода по такой схеме:
Изображение
Если использовать диоды Шоттки, то напряжение просяден на 0,3 Вольта. Что не очень хорошо.
А какие еще есть варианты одновременной запитки устройства от двух источников питания?
Друг Кота
Аватара пользователя
Сообщения: 25863
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="Vlad7172",url="/forum/viewtopic.php?p=3540022#p3540022"]Что не очень хорошо.[/uquote]
А что конкретно "не очень хорошо"?
Даташит нам говорит о допустимом диапазоне напряжений питания от 2 до 3,6 Вольт.
Напряжение 3,3 Вольта взято лишь как типовое, при котором снимаются характеристики.
Мучитель микросхем
Сообщения: 413
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

Сообщение Sergi »

Возможно это влияет на показания АЦП? Тогда два диода надо ставить до стабилизатора 3,3в.
Друг Кота
Аватара пользователя
Сообщения: 25863
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="Sergi",url="/forum/viewtopic.php?p=3540132#p3540132"]влияет на показания АЦП?[/uquote]
У него аналоговая часть СХЕМЫ питается от тех же 3,3 Вольт? Какой смысл в АЦП, если схема получения сигнала для АЦП без питания?
Вообще то говоря, подобные задачи обычно решаются В САМОМ ДЕБАГГЕРЕ. И не задача отладчика питать всю схему через питание 5 вольт (впрочем, там может быть и не 5 Вольт, а отладчик и 5 не выдает...)
Родился
Сообщения: 11
Зарегистрирован: Ср янв 02, 2019 20:58:27

Сообщение Vlad7172 »

Питание аналоговой части будет осуществляться отдельным стабилизированным источником питания +3,3 В. Планирую для запитывания устройства использовать 2 линейных стабилизатора HT7333 (один для аналоговых цепей, другой для цифровых). Внутри стабилизаторов HT7333 установлен полевой транзистор. Вероятно, он может выполнять функцию диода по схеме нарисованной выше.

В качестве отладчика используется китайский отладчик ST-LINK V2. Что там внутри по цепи питания я не знаю - у меня он залит компаундом, но судя по схемам которые я нашел, то там тоже стоит линейный стабилизатор питания с 5 Вольт до 3,3 Вольт.

Т. е. у меня получается такая схема:
Изображение

Интересует вопрос надежности работы устройства. Т. е. не перегорит ли что-либо (микроконтроллер или отладчик), если запитывать разрабатываемое устройство без диодов?
Соответственно необходимы ли нарисованные в схеме в первом сообщении диоды?
Друг Кота
Аватара пользователя
Сообщения: 25863
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Вообще то обычно от "аналогового" питания в МК питаются, в том числе, и не очень аналоговые цепи.
Вам кто подсказал делать разные стабилизаторы?
Родился
Сообщения: 11
Зарегистрирован: Ср янв 02, 2019 20:58:27

Сообщение Vlad7172 »

Делать разные стабилизаторы для цифровой и аналоговых цепей мне подсказала прочитанная литература и здравый смысл. В цифровой цепи питания присутствует очень много помех. Для того, что бы уменьшить помехи от цифровой цепи питания, аналоговую часть запитывают от той же цифровой цепи питания, но через дроссель (если точность измерения не очень важна), либо ставят отдельный стабилизатор. Или я ошибаюсь?

Хуже от наличия дополнительного стабилизатора по аналоговой цепи однозначно не будет, а лучше будет.

Вопрос в том, что можно ли запитывать схему одновременно от двух источников питания без дополнительных согласующих элементов? Или необходимо что то устанавливать (например диоды)?
Ответить

Вернуться в «Разные вопросы по МК»