К1921ВГ015 общее

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

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

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

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

Сообщение ea »

Михаил Каа писал(а): 14 апр 2025, 14:17 Возникли вопросы по 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 ?
1. Внутренний ИОН SDADC включается битом ADCSD->CTRL_bit.PUREF, а также включается автоматически при включении любого канала АЦП.
Поэтому можно подключить внешний ИОН, который будет передавливать внутренний источник опорного напряжения. Внутренний ИОН без буферизации, поэтому можно передавить внешним ИОН с током не менее 1мА.
2. В текущей разварке в корпусе LQFP100 разварены только одиночные каналы АЦП Сигма-дельта.
В рукодстве представлена информация о возможности использования бескорпусного варианта К1921ВГ015 - в этом случае будут доступны каналы АЦП Сигма-дельта с дифференциальным режимом.
Для обсуждения возможности поставки бескорпусного исполнения или микросхемы с подключенными выводамидифференциального режима обратитесь в коммерческую службу.

Основные ключи компиляции:
CPU = -march=rv32imfc_zicsr -msmall-data-limit=8 -mstrict-align -mno-save-restore -Og -fmessage-length=0 -fsigned-char -fno-common -fno-builtin -flto -ggdb
FPU = -mabi=ilp32f
MCU = $(CPU) $(FPU)
ea
Администратор
Сообщения: 66
Зарегистрирован: 10 окт 2014, 09:08

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

Сообщение ea »

ВитГо писал(а): 17 апр 2025, 11:46 можно ли для прошивки\отладки ВГ015 использовать J-Link V9 ?

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

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

использоваться будет с OpenOCD
я правильно понимаю что просто выставляем интерфейс integface/jlink.cfg ну и дальше как всегда ?
Для прошивки\отладки К1921ВГ015 мы применяем также и J-Link V9 - в связке с OpenOCD работает корректно.
При использовании J-Link необходимо в настройках сессии отладки укзать интерфейс jlink.cfg.

Более подробно можно ознакомиться в документе "Быстрый старт с микроконтроллером К1921ВГ015", который доступен на сайте, на вкладке "Документация" в описании К1921ВГ015, а также в каталоге "doc" репозитория "NIIET_RISCV SDK": https://gitflic.ru/project/niiet/niiet_ ... A1921VG015.
ea
Администратор
Сообщения: 66
Зарегистрирован: 10 окт 2014, 09:08

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

Сообщение ea »

dezna писал(а): 17 апр 2025, 09:45
ea писал(а): 14 апр 2025, 08:34 Проверьте более детально сигнал, который поступает на вход GPIO, возможно проскакивает короткий импульс, на который и реагирует GPIO.
проверил.
вот что получилось.
питание МК чистое.
с оптрона никаких левых пульсаций/импульсов не проходит, коммутируемый 0В чистый.
на входе МК даже при нулевом уровне сигнала на входе какие-то импульсы.
что за импульсы, откуда взялись? вероятнее всего они и приводят к сбоям.
Мк еще не перепаивал.
изменения по сравнению с предыдущими фото/видео в предыдущем посте: другой вход МК на другом порту TMR32_CCIB.
сравнительно с предыдущим опытом - напряжение нуля на входе МК без смещения 250мВ.
количество глюков поменьше.
буду перепаивать МК.
так же потребление от батарейки порядка 710мкА при выключенном питании. часы настроены и работают.
Микросхемы, на которых повторяется данное поведение, выслайте нам для анализа и замены на новые, на которых мы предварительно "проиграем" данную ситуацию.
dezna
Сообщения: 53
Зарегистрирован: 20 дек 2024, 08:23
Предприятие: avtomatica

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

Сообщение dezna »

давайте адрес куда высылать
dezna
Сообщения: 53
Зарегистрирован: 20 дек 2024, 08:23
Предприятие: avtomatica

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

Сообщение dezna »

добрый день!
так вы научите с батарейкой работать на вашем МК, чтоб не потреблял от батарейки 700мкА (2 МК проверял).
при выключении питания кварц 12МГц все так же молотит. подозреваю, что не настроен батарейный домен...
пробовал выключать LDO прям при включении, никак не отразилось ни на кварце, ни на потреблении, только программа не работала и все...
на ваш support тоже написал, пока тишина...
понять бы уже, работает/не работает, могу его в своем проекте использовать/не могу...
если с предыдущими проблемами можно сосуществовать, то с потреблением от батарейки 700мкА - нет!
Vcoder
Сообщения: 10
Зарегистрирован: 01 май 2025, 14:50
Предприятие: .
Откуда: Уфа

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

Сообщение Vcoder »

Всем привет!
Очень медленная отладка - это нормально, или я что-то делаю не так? При пошаговой отладке около десяти секунд один шаг выполняется. Использую J-Link v9.

Привожу схему подключения отладочного разъёма:
Схема подключения JTAG разъёма
Схема подключения JTAG разъёма
Jtag.png (15.28 КБ) 469 просмотров
Для соединения с отладчиком использую скрипт следующего содержания:

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

source [find interface/jlink.cfg]
transport select jtag
source [find target/k1921vg015.cfg]
reset_config trst_only
adapter speed 1000
init
reset halt
Последний раз редактировалось Vcoder 06 май 2025, 18:17, всего редактировалось 1 раз.
ea
Администратор
Сообщения: 66
Зарегистрирован: 10 окт 2014, 09:08

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

Сообщение ea »

dezna писал(а): 29 апр 2025, 16:29 добрый день!
так вы научите с батарейкой работать на вашем МК, чтоб не потреблял от батарейки 700мкА (2 МК проверял).
при выключении питания кварц 12МГц все так же молотит. подозреваю, что не настроен батарейный домен...
пробовал выключать LDO прям при включении, никак не отразилось ни на кварце, ни на потреблении, только программа не работала и все...
на ваш support тоже написал, пока тишина...
понять бы уже, работает/не работает, могу его в своем проекте использовать/не могу...
если с предыдущими проблемами можно сосуществовать, то с потреблением от батарейки 700мкА - нет!
Осциллятор при отключении LDO0 не должен работать. Осциллятор (HSE) потребляет около 1,5 мА. Принудительно отключить HSE (перевести в PoweDown) можно записью 1 в битовое поле EXTOSC регистра PMURTC->PMU_VBATPER_FORCE.

С решением уменьшения потребления в режиме PowerOFF можно ознакомиться в обновленной версии Errata в репозитории: https://gitflic.ru/project/niiet/niiet_ ... nch=master
Последний раз редактировалось dav 07 май 2025, 10:53, всего редактировалось 1 раз.
Причина: Коррекция ссылки errata
dezna
Сообщения: 53
Зарегистрирован: 20 дек 2024, 08:23
Предприятие: avtomatica

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

Сообщение dezna »

ea писал(а): 06 май 2025, 18:25
dezna писал(а): 29 апр 2025, 16:29 добрый день!
так вы научите с батарейкой работать на вашем МК, чтоб не потреблял от батарейки 700мкА (2 МК проверял).
при выключении питания кварц 12МГц все так же молотит. подозреваю, что не настроен батарейный домен...
пробовал выключать LDO прям при включении, никак не отразилось ни на кварце, ни на потреблении, только программа не работала и все...
Осциллятор при отключении LDO0 не должен работать. Осциллятор (HSE) потребляет около 1,5 мА. Принудительно отключить HSE (перевести в PoweDown) можно записью 1 в битовое поле EXTOSC регистра PMURTC->PMU_VBATPER_FORCE.

С решением уменьшения потребления в режиме PowerOFF можно ознакомиться в обновленной версии Errata в репозитории: https://gitflic.ru/project/niiet/niiet_ ... qfp100.pdf
как я понимаю, при выключении питания должно все тушиться. остается только батарейное питание VBAT и все!
по факту, HSE молотит дальше 12МГц, и потребление 700мкА.
потребляет меньше вероятно потому, что по факту напряжение VBAT не 3В, а 3В - Vдиода - Vмилиамперметра.
Снимок_инд_схема.JPG
Снимок_инд_схема.JPG (95.8 КБ) 437 просмотров
проверяю вот так, при выключенном питании.
часы заранее настроены и работают. собсно после возобновления подачи основного питания, часы продолжают работать.
Снимок_инд_схема_1.JPG
Снимок_инд_схема_1.JPG (101.7 КБ) 437 просмотров
может я чего не понял? вот и прошу научить как все отключить чтобы при пропадании питания остались только часы с часовым кварцем и потребление ниже 10мкА, не 700!
подозреваю, что в еррата п.8 приведен пример для POWERDOWN не для данного варианта?

ссылка = 404!!
Аватара пользователя
ejsan
Сообщения: 13
Зарегистрирован: 15 авг 2022, 21:17
Предприятие: vbrspb.ru

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

Сообщение ejsan »

Вот пришло и моё время испробовать данные контроллеры. И как обычно, вначале возникают вопросы по аппаратной части.
По поводу конденсаторов на выводах 13, 15, 17: в даташите написано просто "поставить по 22 мкФ", и без подробностей. Которые хотелось бы услышать от разработчиков - какие требования к допуску по ёмкости у этих кондёров? И, скажем, к их ESR? (например, если я захочу поставить по 10 мкФ, но качественные танталы, то так можно?) Какие-нибудь подробности рекомендуемой разводки данных цепей? Похоже тут не всё так просто, и у встроенных LDO есть нюансы с устойчивостью, которым разработчикам чипа лучше было бы уделить больше внимания, во избежание проблем. Со своей стороны могу теперь сказать, что параллельно этим конденсаторам явно нужно дополнительно ставить мелкую керамику на 0,1 мкФ. И ставить её как можно ближе к указанным выводам. И вот почему:
моя проба | Показать
Попробовал сколхозить свою плату в данным контроллером. :roll: Предпочитаю делать так, потому что при этом сразу вылезают различные нюансы работы чипа.
Изображение Изображение
И они сразу вылезли: при любой попытке заставить его работать на кварце с PLL на 50 МГц чип начинал спонтанно сходить с ума - отваливался от JTAG, прошивка выполнялась какими-то рывками. Постепенно стало понятно, что чип случайным образом валится в перезагрузку по питанию. И тут вспомнил рекомендацию из даташита к контроллеру коллег из Зеленограда. Где на аналогичные ноги было сказано параллельно повесить керамику. Я это сделал, и всё стало нормально, сбои ушли.
Аватара пользователя
ejsan
Сообщения: 13
Зарегистрирован: 15 авг 2022, 21:17
Предприятие: vbrspb.ru

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

Сообщение ejsan »

Ещё аппаратный вопрос о подключении кварцевого резонатора: на всех схемах, что нашёл в интернетах, вижу, что между выводами XI_OSC XO_OSC стоит резистор 1 МОм. Что странно, последний раз я такое видел на КР1816ВЕ48, но не в современных контроллерах. Пробовал включать кварц с ним, пробовал без него - разницы как будто бы нет. Посему опять же вопрос разработчикам: на самом деле нужно ставить этот резистор, или нет? И что с подключением часового кварца? Наверняка есть какие-нибудь нюансы с конденсаторами на его выводах, да и с параметрами самого кварца? В даташите эти вещи не раскрыты.
Ответить

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