Мелкие вопросы по МК и ПЛИС.
- Сообщения: 3794
- Зарегистрирован: Ср дек 24, 2008 09:58:58
seregaviper - значения TRIM копируются по сбросу МК в регистры FFAE-FFAF из области IFR (Flash Information Row), куда они прожигаются на заводе. Эти значения записываются в IFR индивидуально для каждого экземпляра МК. Область IRF недоступна для чтения/записи дебаггерам. Короче, это нормально, что они разные на разных чипах и обращать внимание на это не стоит.
- Реклама
[uquote="Salk",url="/forum/viewtopic.php?p=3522415#p3522415"]Так вот там есть 10 полноценных 12-бит АЦП.[/uquote]Там ОДИН АЦП с входным мультиплексором. Для работы с 10 входами нужно ПОСЛЕДОВАТЕЛЬНО переключать эти входы и запускать преобразования на каждое направление. Одновременное преобразование даже по двум входам невозможно. Невозможен даже одновременный захват сигнала, потому что там и УВХ тоже один.
Мурик Да, конечно.
КРАМ А, теперь понятно что за значения, это выбор канала и порядок их опроса. Просто CubeMX во вкладке АЦП предлагает настроить только 10 АЦП (IN0-IN9), а в файле adc.h есть следующиеУже 19 каналов. Первые 10 соответствуют IN0-IN9, а как работать с остальными? Нужно ли ноги настраивать в режиме Analog Input?


КРАМ А, теперь понятно что за значения
Код: Выделить всё
sConfig.Channel = ADC_CHANNEL_6;
sConfig.Rank = ADC_RANK_CHANNEL_NUMBER;Код: Выделить всё
/**
* @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)
*/Спойлер

Спойлер

- Сообщения: 3386
- Зарегистрирован: Пн окт 11, 2010 19:00:08
В STM32f030 с большим числом выводов, больше каналов АЦП.Salk писал(а):в файле adc.h есть следующие
[uquote="Salk",url="/forum/viewtopic.php?p=3522521#p3522521"][/uquote]
Зачем Вам настройка через Cube?
Есть же нормальные примеры - snippets называются, качаются с сайта STM/ Там есть примеры для использования периферии во всех извращённых положениях. Только голову придётся открыть описание регистров конкретного модуля и приложить немного голову.
Поверьте - писанины и мороки будет меньше чем с Cube и HAL.
Зачем Вам настройка через Cube?
Есть же нормальные примеры - snippets называются, качаются с сайта STM/ Там есть примеры для использования периферии во всех извращённых положениях. Только голову придётся открыть описание регистров конкретного модуля и приложить немного голову.
Поверьте - писанины и мороки будет меньше чем с Cube и HAL.
- Реклама
- Сообщения: 23
- Зарегистрирован: Вт янв 05, 2016 19:41:46
Здравствайте. Подключил к ATmega, АЦП (MCP3201) его значения считываются и выводятся на дисплей 1602, все вроде как работает. Но между АЦП и МК необходима гальваноразвязка, ее было сделано по схеме на рис. Теперь при подключении гальваноразвязки к интерфейсу SPI на дисплее выводится вместо значений нули (без нее все работает), оптопары все проверены и исправны. Подскажите куда копать ?


как говорят военные: "здесь есть 2 варианта, первый и второй".
так вот, у тебя оно не работает либо потому, что пропала связь мк—>ацп п ацп не может вещать в пустоту, либо из-за того что светодиод оптопары просадил линию связи до состояния лог. "0".
для проверки поставь диод (шоттки) от ацп к мк (оптопару пока убери) если с ним заработает, значит просто к имеющейся схеме добавь транзистор, дабы исключить воздействие светодиода на линию. если нет, значит проидется делать 2хстороннюю связь (2 оптопары, 2 диода, 2 резистора).
______
упс
я неправильно название интерфейса прочитал... почемуто про двунаправленный I2C подумал...
так вот, у тебя оно не работает либо потому, что пропала связь мк—>ацп п ацп не может вещать в пустоту, либо из-за того что светодиод оптопары просадил линию связи до состояния лог. "0".
для проверки поставь диод (шоттки) от ацп к мк (оптопару пока убери) если с ним заработает, значит просто к имеющейся схеме добавь транзистор, дабы исключить воздействие светодиода на линию. если нет, значит проидется делать 2хстороннюю связь (2 оптопары, 2 диода, 2 резистора).
______
упс
Последний раз редактировалось Ivanoff-iv Пт дек 28, 2018 08:11:43, всего редактировалось 2 раза.
PC817 достаточно меленные. Могут не работать выше 50 кГц. Зависит от резистора нагрузки.
приобрести оптроны HCPL-2630, у них максимальная частота 10 МГц.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
- Сообщения: 23
- Зарегистрирован: Вт янв 05, 2016 19:41:46
АЦП с МК соединяется через SCK, MISO, SS. Так вот если ставить опторазвязку только на MISO и SS, то работает, а если еще и на SCK то на дисплее нули вместо значений (это на оптопарах 6N137). Почему может не проходить тактовый сигнал?
По нарисованной выше схеме он и не должен проходить, ибо он идёт от МК к АЦП.Глеb писал(а):Почему может не проходить тактовый сигнал?
P.S Скоростные параметры 6N137 заявляются при подтяжке резистором на порядок меньшего сопротивления.
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. 
Всегда с уважением, Александр.
Всегда с уважением, Александр.
- Сообщения: 23
- Зарегистрирован: Вт янв 05, 2016 19:41:46
Так я и не писал, что тактовый сигнал идет от АЦП к МК. Подключал вот по такой схеме.


- Сообщения: 3386
- Зарегистрирован: Пн окт 11, 2010 19:00:08
Если частота большая сопротивление R2 нужно уменьшить.
Оптрон инвертирует сигнал. Нужно левый вывод резистора R3 соединить с питанием, а вывод 3 оптрона подключить к МК.
Оптрон инвертирует сигнал. Нужно левый вывод резистора R3 соединить с питанием, а вывод 3 оптрона подключить к МК.
- Сообщения: 11
- Зарегистрирован: Ср янв 02, 2019 20:58:27
Здравствуйте!
Хочу сделать свою простенькую схемку на STM32F103C8T6.
При этом схема может одновременно запитываться и по отладочному кабелю и от внешнего питания +3,3 В.
Лично проверял, подавал одновременно питание на микроконтроллер и от отладочного кабеля и от внешнего источника +3,3 В (без дополнительных элементов). Все продолжало нормально работать.
Но это как-то с моей точки зрения не правильно и хотелось бы защититься от возможных проблем.
Как я прочитал, в таких случаях используют 2 диода по такой схеме:

Если использовать диоды Шоттки, то напряжение просяден на 0,3 Вольта. Что не очень хорошо.
А какие еще есть варианты одновременной запитки устройства от двух источников питания?
Хочу сделать свою простенькую схемку на STM32F103C8T6.
При этом схема может одновременно запитываться и по отладочному кабелю и от внешнего питания +3,3 В.
Лично проверял, подавал одновременно питание на микроконтроллер и от отладочного кабеля и от внешнего источника +3,3 В (без дополнительных элементов). Все продолжало нормально работать.
Но это как-то с моей точки зрения не правильно и хотелось бы защититься от возможных проблем.
Как я прочитал, в таких случаях используют 2 диода по такой схеме:
Если использовать диоды Шоттки, то напряжение просяден на 0,3 Вольта. Что не очень хорошо.
А какие еще есть варианты одновременной запитки устройства от двух источников питания?
[uquote="Vlad7172",url="/forum/viewtopic.php?p=3540022#p3540022"]Что не очень хорошо.[/uquote]
А что конкретно "не очень хорошо"?
Даташит нам говорит о допустимом диапазоне напряжений питания от 2 до 3,6 Вольт.
Напряжение 3,3 Вольта взято лишь как типовое, при котором снимаются характеристики.
А что конкретно "не очень хорошо"?
Даташит нам говорит о допустимом диапазоне напряжений питания от 2 до 3,6 Вольт.
Напряжение 3,3 Вольта взято лишь как типовое, при котором снимаются характеристики.
Возможно это влияет на показания АЦП? Тогда два диода надо ставить до стабилизатора 3,3в.
[uquote="Sergi",url="/forum/viewtopic.php?p=3540132#p3540132"]влияет на показания АЦП?[/uquote]
У него аналоговая часть СХЕМЫ питается от тех же 3,3 Вольт? Какой смысл в АЦП, если схема получения сигнала для АЦП без питания?
Вообще то говоря, подобные задачи обычно решаются В САМОМ ДЕБАГГЕРЕ. И не задача отладчика питать всю схему через питание 5 вольт (впрочем, там может быть и не 5 Вольт, а отладчик и 5 не выдает...)
У него аналоговая часть СХЕМЫ питается от тех же 3,3 Вольт? Какой смысл в АЦП, если схема получения сигнала для АЦП без питания?
Вообще то говоря, подобные задачи обычно решаются В САМОМ ДЕБАГГЕРЕ. И не задача отладчика питать всю схему через питание 5 вольт (впрочем, там может быть и не 5 Вольт, а отладчик и 5 не выдает...)
- Сообщения: 11
- Зарегистрирован: Ср янв 02, 2019 20:58:27
Питание аналоговой части будет осуществляться отдельным стабилизированным источником питания +3,3 В. Планирую для запитывания устройства использовать 2 линейных стабилизатора HT7333 (один для аналоговых цепей, другой для цифровых). Внутри стабилизаторов HT7333 установлен полевой транзистор. Вероятно, он может выполнять функцию диода по схеме нарисованной выше.
В качестве отладчика используется китайский отладчик ST-LINK V2. Что там внутри по цепи питания я не знаю - у меня он залит компаундом, но судя по схемам которые я нашел, то там тоже стоит линейный стабилизатор питания с 5 Вольт до 3,3 Вольт.
Т. е. у меня получается такая схема:

Интересует вопрос надежности работы устройства. Т. е. не перегорит ли что-либо (микроконтроллер или отладчик), если запитывать разрабатываемое устройство без диодов?
Соответственно необходимы ли нарисованные в схеме в первом сообщении диоды?
В качестве отладчика используется китайский отладчик ST-LINK V2. Что там внутри по цепи питания я не знаю - у меня он залит компаундом, но судя по схемам которые я нашел, то там тоже стоит линейный стабилизатор питания с 5 Вольт до 3,3 Вольт.
Т. е. у меня получается такая схема:
Интересует вопрос надежности работы устройства. Т. е. не перегорит ли что-либо (микроконтроллер или отладчик), если запитывать разрабатываемое устройство без диодов?
Соответственно необходимы ли нарисованные в схеме в первом сообщении диоды?
Вообще то обычно от "аналогового" питания в МК питаются, в том числе, и не очень аналоговые цепи.
Вам кто подсказал делать разные стабилизаторы?
Вам кто подсказал делать разные стабилизаторы?
- Сообщения: 11
- Зарегистрирован: Ср янв 02, 2019 20:58:27
Делать разные стабилизаторы для цифровой и аналоговых цепей мне подсказала прочитанная литература и здравый смысл. В цифровой цепи питания присутствует очень много помех. Для того, что бы уменьшить помехи от цифровой цепи питания, аналоговую часть запитывают от той же цифровой цепи питания, но через дроссель (если точность измерения не очень важна), либо ставят отдельный стабилизатор. Или я ошибаюсь?
Хуже от наличия дополнительного стабилизатора по аналоговой цепи однозначно не будет, а лучше будет.
Вопрос в том, что можно ли запитывать схему одновременно от двух источников питания без дополнительных согласующих элементов? Или необходимо что то устанавливать (например диоды)?
Хуже от наличия дополнительного стабилизатора по аналоговой цепи однозначно не будет, а лучше будет.
Вопрос в том, что можно ли запитывать схему одновременно от двух источников питания без дополнительных согласующих элементов? Или необходимо что то устанавливать (например диоды)?


