К1921ВГ015 общее

32-разрядные микроконтроллеры разработки АО "НИИЭТ"

Модераторы: ea, dav, bkolbov, Alis, pip, _sva_

ea
Администратор
Сообщения: 57
Зарегистрирован: 10 окт 2014, 09:08

Re: К1921ВГ015 общее

Сообщение ea »

dezna писал(а): 02 апр 2025, 13:53 столкнулся с такой проблемой:
при напряжении нуля на входе мк порядка 0,25В начинает сбоить генерация прерывания по фронту.
может сгенерировать по обоим фронтам.
подаю периодический сигнал на вход (синяя осциллограмма). прерывание настроено по переднему фронту.
в прерывании перекидываем тестовую ногу мк (желтая осциллограмма).
если генерить периодический сигнал с того же мк, то сбоев не наблюдается.
что-то не нашел по уровням входных/выходных сигналов ничего в РП. может проглядел где... только токи потребления.
причем пробовал фильтрацию входов - не помогло совсем. как будто не работает.
уровень приподнят, потому что сигнал заходит с оптрона (плюс - подтяжка, коммутирует ноль). на видео как раз пытался увеличивать ток через него больше чем в 2 раза.
так же отключал оптрон и пропускал сигнал с мк через его цепи на вход, ноль приподнимался и начинались такие же глюки.
можете сымитировать делителем на +U.
пробовал и с ДМА вместо прерывания - эффект тот же, значит не работает вход.
Мы повторили эксперимент, но подавали на вход GPIO меандр со смещением нуля от 0В до 1,3В - прерывания отрабатывают корректно.
При смещении нуля ближе к 1,4В - наблюдаем похожую картину. Согласно ТУ в предельно-допустимом режиме входное напряжение низкого уровня не более 0,8В.

Проверьте более детально сигнал, который поступает на вход GPIO, возможно проскакивает короткий импульс, на который и реагирует GPIO.
Михаил Каа
Сообщения: 1
Зарегистрирован: 14 апр 2025, 12:52
Предприятие: Михаил Каа

Re: К1921ВГ015 общее

Сообщение Михаил Каа »

Возникли вопросы по ADCSD.
1. В РП написано:
"На выходе внутреннего источника опорного напряжения формируется
напряжение (1,2500,125) В. Допускается подключение внешнего источника опорного
напряжения к выводу SDADC_CAP не более (VCC2 / 2) В."

Если отключить источник внутреннего опорного напряжения (ADCSD->CTRL_bit.PUREF = 0;), то на ножке SDADC_CAP все равно присутствует примерно 1,25В. Код из примера работы с ADCSD продолжает работать также - значения соответствует поданному напряжению.
- Означает ли это, что источник не отключился?
- Если наличие напряжения на SDADC_CAP когда PUREF = 0 допустимо, то что будет если подам опорное напряжение ниже (или выше) 1.25В?
- "SDADC_CAP не более (VCC2 / 2) В." - можно ли подать ровно половину VCC2?

2. Из РП не понятно как использовать дифференциальный режим работы с ADCSD.
Пробовал включать бит (ADCSD->DIFF_bit.CH0 = 1;) для нулевого канала, для первого канала, для двух сразу - АЦП перестает реагировать на входные сигналы - как будто на входе ноль, при этом есть флуктуация отсчетов, плюс-минус десяток (ну то есть некий шум все же оцифровывается).
- Как использовать дифференциальный режим работы с ADCSD?
- Верно ли предполагаю, что в таком режиме для одного АЦП нужны две входные ножки (например CH0 и CH1 для 0 канала)?


*********************************************************************************************************************************************************************************
Вопрос по ключам компиляции при сборке проекта.
Сейчас сборка идет с использованием самописного makefile
Ключи компиляции
CPU = -march=rv32imfc -msmall-data-limit=8 -mstrict-align -mno-save-restore -Og -fmessage-length=0 -fsigned-char -fno-common -fno-builtin -flto -ggdb
FPU = -mabi=ilp32f
FPU += -u _printf_float
MCU = $(CPU) $(FPU)

Компилятор riscv-none-elf-gcc
gcc version 14.2.0 (xPack GNU RISC-V Embedded GCC x86_64)

Суть вопроса:
- Правильно указаны ключи?
- Правильная версия компилятора?

- Есть какие ни будь рекомендации по написанию кода, чтобы не попадать на MCAUSE_EXCEPT_LOADADDRMISALGN ?
dezna
Сообщения: 49
Зарегистрирован: 20 дек 2024, 08:23
Предприятие: avtomatica

Re: К1921ВГ015 общее

Сообщение dezna »

ea писал(а): 14 апр 2025, 08:34 Мы повторили эксперимент, но подавали на вход GPIO меандр со смещением нуля от 0В до 1,3В - прерывания отрабатывают корректно.
При смещении нуля ближе к 1,4В - наблюдаем похожую картину. Согласно ТУ в предельно-допустимом режиме входное напряжение низкого уровня не более 0,8В.

Проверьте более детально сигнал, который поступает на вход GPIO, возможно проскакивает короткий импульс, на который и реагирует GPIO.
проверял. и логический анализатор подключал с выборкой 24МГц.
и внешний сигнал подавал, и изнутри таймер настраивал для подачи его сигнала на вход.
внешний сигнал передается через медленный оптрон, там сразу было бы видно если б проскакивал импульс. только если на DC-DC по питанию как то реагирует... питание импульсное. но достаточно чистое... по крайней мере на СТМ в этом же приборе глюков не обнаружено...
сигнал изнутри - просто таймер в режиме ШИМ. из программы убрано все, что исключает влияние программы на работу.
на осциллограмме виден уровень напряжения.
если бы проскакивал какой-то импульс, то вероятнее всего он был бы плавающий, тогда на осциллограмме это было бы видно.
пробовал включать фильтрацию входа, вообще никакой реакции! количество тактов до 1000 поднимал. это вообще как то должно влиять на эту ситуацию?
я в следующих (предыдущий к вашему ответу) постах еще описал свои дополнительные исследования. перекидывал на TMR32_CCIB. так же все.

возможно вы мне такие образцы прислали...
возможно, из-за приведения в чувство, когда отваливается J-TAG что-то наделал... хз...
для реанимации МК подавал 1.2В на VBAT_CAP. там было 0,8В и МК не подавал признаков жизни. только при подаче 1.2В удавалось перепрошить. это было неоднократно из-за ошибок в программе сносило мозг МК и отваливался дебаг. кстати это не хорошо... первый раз с таким сталкиваюсь, чтобы без запрета дебага нельзя было достучаться до МК...
для исключения моих танцев с бубном, впаяю еще 1 МК, проверю. мы у вас закупили 4 шт. самый первый вообще плохо себя ведет.

выкрутился включив триггер по обоим фронтам и суммируя защелку таймера, вроде не глючит.
но ДМА от TMR32_CCIB так и не смог включить...
dezna
Сообщения: 49
Зарегистрирован: 20 дек 2024, 08:23
Предприятие: avtomatica

Re: К1921ВГ015 общее

Сообщение dezna »

ea писал(а): 14 апр 2025, 08:34 Проверьте более детально сигнал, который поступает на вход GPIO, возможно проскакивает короткий импульс, на который и реагирует GPIO.
проверил.
вот что получилось.
питание МК чистое.
с оптрона никаких левых пульсаций/импульсов не проходит, коммутируемый 0В чистый.
на входе МК даже при нулевом уровне сигнала на входе какие-то импульсы.
что за импульсы, откуда взялись? вероятнее всего они и приводят к сбоям.
Мк еще не перепаивал.
изменения по сравнению с предыдущими фото/видео в предыдущем посте: другой вход МК на другом порту TMR32_CCIB.
сравнительно с предыдущим опытом - напряжение нуля на входе МК без смещения 250мВ.
количество глюков поменьше.
буду перепаивать МК.
так же потребление от батарейки порядка 710мкА при выключенном питании. часы настроены и работают.
Вложения
на выходе оптрона. на МК через резистор 330Ом заводится сигнал.
на выходе оптрона. на МК через резистор 330Ом заводится сигнал.
photo_2025-04-17_09-09-32.jpg (123.68 КБ) 708 просмотров
прямо на входе МК. есть какие-то пульсации.
прямо на входе МК. есть какие-то пульсации.
photo_2025-04-17_09-09-43.jpg (133.01 КБ) 708 просмотров
питание 3,3В.
питание 3,3В.
photo_2025-04-17_09-09-48.jpg (103.21 КБ) 708 просмотров
ВитГо
Сообщения: 5
Зарегистрирован: 19 фев 2021, 09:20
Предприятие: Хобби-user
Контактная информация:

Re: К1921ВГ015 общее

Сообщение ВитГо »

можно ли для прошивки\отладки ВГ015 использовать J-Link V9 ?

вопрос возник после просмотра карточек товаров на маркетплейсах, там иногда указывают что для risc-v нужна версия не ниже 11

можете прокомментировать (какой все таки программатор брать) ?

использоваться будет с OpenOCD
я правильно понимаю что просто выставляем интерфейс integface/jlink.cfg ну и дальше как всегда ?
ArmAsmEditor наше все ! :-)
dezna
Сообщения: 49
Зарегистрирован: 20 дек 2024, 08:23
Предприятие: avtomatica

Re: К1921ВГ015 общее

Сообщение dezna »

ВитГо писал(а): 17 апр 2025, 11:46 можно ли для прошивки\отладки ВГ015 использовать J-Link V9 ?
вопрос возник после просмотра карточек товаров на маркетплейсах, там иногда указывают что для risc-v нужна версия не ниже 11
можете прокомментировать (какой все таки программатор брать) ?
использоваться будет с OpenOCD
я правильно понимаю что просто выставляем интерфейс integface/jlink.cfg ну и дальше как всегда ?
использую свой программатор на базе ft2232 уже более 10 лет. никаких проблем ни с одним МК не возникало. openocd нужной версии втыкаем и работаем.
сделан на базе amontec_jtagkey со своими доработками по включению буферов. в конфиге это все настраивается. на этой мсх достаточно гибкий программатор вышел. одним им прошиваю все МК с не параллельными способами прошивки.
amontec_jtagkey_flyer_diagram.pdf
(370.3 КБ) 43 скачивания
приведенный вами программатор и конфига то не имеет, т.е. там ничего не настраивается только указан драйвер, так что, возможно, что нужен как пишут.
ВитГо
Сообщения: 5
Зарегистрирован: 19 фев 2021, 09:20
Предприятие: Хобби-user
Контактная информация:

Re: К1921ВГ015 общее

Сообщение ВитГо »

dezna писал(а): 17 апр 2025, 12:18использую свой программатор на базе ft2232 уже более 10 лет. никаких проблем ни с одним МК не возникало. openocd нужной версии втыкаем и работаем.
сделан на базе amontec_jtagkey со своими доработками по включению буферов. в конфиге это все настраивается. на этой мсх достаточно гибкий программатор вышел. одним им прошиваю все МК с не параллельными способами прошивки.
а нигде не публиковали информацию по аппаратной доработке и настройке конфигов ?
dezna писал(а): 17 апр 2025, 12:18приведенный вами программатор и конфига то не имеет, т.е. там ничего не настраивается только указан драйвер, так что, возможно, что нужен как пишут.
в моем случае это скорее плюс чем минус... среда своя, и чем меньше настроек у пользователя на входе - тем больше гарантий что все заработает...
но 2232 действительно заинтересовала... сейчас буду еще смотреть...
ArmAsmEditor наше все ! :-)
dezna
Сообщения: 49
Зарегистрирован: 20 дек 2024, 08:23
Предприятие: avtomatica

Re: К1921ВГ015 общее

Сообщение dezna »

ВитГо писал(а): 17 апр 2025, 13:48 а нигде не публиковали информацию по аппаратной доработке и настройке конфигов ?
я? нет, не публиковал.
брал конфиг от их программатора и допиливал. в опеносд все прописано. все ключи. по тэгу ft2232 вроде все можно найти.
на нем же и SWD работает, только шнур программирования другой.
ВитГо писал(а): 17 апр 2025, 13:48 в моем случае это скорее плюс чем минус... среда своя, и чем меньше настроек у пользователя на входе - тем больше гарантий что все заработает...
но 2232 действительно заинтересовала... сейчас буду еще смотреть...
пользователю все равно какой батник вы запускаете и что в нем написано.
у нас уже давно целая система (дерево программ) для программирования.
подключили программатор, выбирали программу из списка и прошивают. только кнопки на ПК для выбора прибора и программы, так что они совсем не знают что там за программа прошивает и какие у нее настройки.
а программ у нас несколько, каждая для своего МК.
что удобно, данный программатор одновременно может и J-TAG/SWD/SPI давать и последовательный порт стандартный.
так что на одной мсх практически все типы мсх шьем.
dezna
Сообщения: 49
Зарегистрирован: 20 дек 2024, 08:23
Предприятие: avtomatica

Re: К1921ВГ015 общее

Сообщение dezna »

dezna писал(а): 17 апр 2025, 09:45
ea писал(а): 14 апр 2025, 08:34 Проверьте более детально сигнал, который поступает на вход GPIO, возможно проскакивает короткий импульс, на который и реагирует GPIO.
проверил.
вот что получилось.
питание МК чистое.
с оптрона никаких левых пульсаций/импульсов не проходит, коммутируемый 0В чистый.
на входе МК даже при нулевом уровне сигнала на входе какие-то импульсы.
что за импульсы, откуда взялись? вероятнее всего они и приводят к сбоям.
выяснил что за импульсы.
это выходы нагруженные по 2*15мА (достаточно даже 1) создают такие импульсы.
притом что все питание облазил, блокировки все вокруг МК проверил, питание чистое.
что-то как-то внутри МК не достаточно для таких токов.
при выключении этих выходов импульса на входном сигнале пропадают совсем.
и триггер входа ошибся всего раз за пару минут...
что-то не до конца предусмотрели может? по рук-ву 150мА допустимо... кстати, не нашел разделения на порт и пин тока...
dezna писал(а): 17 апр 2025, 09:45 так же потребление от батарейки порядка 710мкА при выключенном питании. часы настроены и работают.
не до конца понял работу RTC и энергопотребления при работе с батарейкой.
похоже что нужно самому мониторить наличие питания по WAKEUP4 и тушить все, чтоб не потреблял МК?
а как он после этого включится? как-то не понятно...
нужно чтобы по выключению питания остались работать часы и пару байт сохранить...

по прикручиванию ДМА на TMR32_CCIB как-то никто ничего из ваших специалистов и не ответил...
у меня не получилось. может что не так сделал?
настройки ДМА и таймера приводил в ранних постах 08 апр 2025, 16:52
ea
Администратор
Сообщения: 57
Зарегистрирован: 10 окт 2014, 09:08

Re: К1921ВГ015 общее

Сообщение ea »

dezna писал(а): 14 апр 2025, 16:56
ea писал(а): 14 апр 2025, 08:34 Мы повторили эксперимент, но подавали на вход GPIO меандр со смещением нуля от 0В до 1,3В - прерывания отрабатывают корректно.
При смещении нуля ближе к 1,4В - наблюдаем похожую картину. Согласно ТУ в предельно-допустимом режиме входное напряжение низкого уровня не более 0,8В.

Проверьте более детально сигнал, который поступает на вход GPIO, возможно проскакивает короткий импульс, на который и реагирует GPIO.
проверял. и логический анализатор подключал с выборкой 24МГц.
и внешний сигнал подавал, и изнутри таймер настраивал для подачи его сигнала на вход.
внешний сигнал передается через медленный оптрон, там сразу было бы видно если б проскакивал импульс. только если на DC-DC по питанию как то реагирует... питание импульсное. но достаточно чистое... по крайней мере на СТМ в этом же приборе глюков не обнаружено...
сигнал изнутри - просто таймер в режиме ШИМ. из программы убрано все, что исключает влияние программы на работу.
на осциллограмме виден уровень напряжения.
если бы проскакивал какой-то импульс, то вероятнее всего он был бы плавающий, тогда на осциллограмме это было бы видно.
пробовал включать фильтрацию входа, вообще никакой реакции! количество тактов до 1000 поднимал. это вообще как то должно влиять на эту ситуацию?
я в следующих (предыдущий к вашему ответу) постах еще описал свои дополнительные исследования. перекидывал на TMR32_CCIB. так же все.

возможно вы мне такие образцы прислали...
возможно, из-за приведения в чувство, когда отваливается J-TAG что-то наделал... хз...
для реанимации МК подавал 1.2В на VBAT_CAP. там было 0,8В и МК не подавал признаков жизни. только при подаче 1.2В удавалось перепрошить. это было неоднократно из-за ошибок в программе сносило мозг МК и отваливался дебаг. кстати это не хорошо... первый раз с таким сталкиваюсь, чтобы без запрета дебага нельзя было достучаться до МК...
для исключения моих танцев с бубном, впаяю еще 1 МК, проверю. мы у вас закупили 4 шт. самый первый вообще плохо себя ведет.

выкрутился включив триггер по обоим фронтам и суммируя защелку таймера, вроде не глючит.
но ДМА от TMR32_CCIB так и не смог включить...

Попробуйте, пожалуйста, все имеющиеся у Вас образцы. Микросхемы, на которых повторяется данное поведение, нужно выслать нам для анализа и замены на новые, на которых мы предварительно "проиграем" данную ситуацию.
Ответить

Вернуться в «32-разрядные микроконтроллеры»