Новый 32-разрядный микроконтроллер в BGA400 корпусе

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

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

prostoRoman
Сообщения: 57
Зарегистрирован: 11 июл 2014, 15:06

Re: Новый 32-разрядный микроконтроллер в BGA400 корпусе

Сообщение prostoRoman »

bkolbov писал(а): 27 май 2019, 09:33 3. Отладочная плата существует, продаваться должна после сдачи ОКР (июль). Однако, лучше обратиться в отдел маркетинга, там лучше расскажут как, что и когда.
Обращался. Чего-либо вразумительного добиться от них тяжело. Как я понял: в настоящее время только начата разработка отладочной платы, её состав :roll: и сроки поставки даже примерно не известны (но точно не ранее сдачи ОКР - конца года) и вообще ничего маркетингу не известно, кроме цены (немалой) :shock: . А так же ОП будет в исполнении ОТК и с ПЗ. :shock:
Поэтому есть желание и возможность разработать собственную макетно-отладочную плату и монтировать на неё инженерные образцы МК.
Для ускорения процесса и избежания ошибок прошу опубликовать (или выслать в ЛС) символ МК для САПР. Заранее благодарю.
bkolbov
Сообщения: 248
Зарегистрирован: 14 дек 2015, 11:37
Предприятие: АО НИИЭТ
Откуда: Воронеж

Re: Новый 32-разрядный микроконтроллер в BGA400 корпусе

Сообщение bkolbov »

prostoRoman писал(а): 20 июн 2019, 18:36 Обращался. Чего-либо вразумительного добиться от них тяжело. Как я понял: в настоящее время только начата разработка отладочной платы, её состав :roll: и сроки поставки даже примерно не известны (но точно не ранее сдачи ОКР - конца года) и вообще ничего маркетингу не известно, кроме цены (немалой) :shock: . А так же ОП будет в исполнении ОТК и с ПЗ. :shock:
Поэтому есть желание и возможность разработать собственную макетно-отладочную плату и монтировать на неё инженерные образцы МК.
Для ускорения процесса и избежания ошибок прошу опубликовать (или выслать в ЛС) символ МК для САПР. Заранее благодарю.
Прикрепляю файлы для Альтиума.
Вложения
1921vk028_altium.zip
(61.63 КБ) 222 скачивания
prostoRoman
Сообщения: 57
Зарегистрирован: 11 июл 2014, 15:06

Re: Новый 32-разрядный микроконтроллер в BGA400 корпусе

Сообщение prostoRoman »

bkolbov писал(а): 21 июн 2019, 12:11Прикрепляю файлы для Альтиума.
Благодарю!
selax
Сообщения: 5
Зарегистрирован: 01 авг 2020, 20:14
Предприятие: -

Re: Новый 32-разрядный микроконтроллер в BGA400 корпусе

Сообщение selax »

Здравствуйте! Я правильно понимаю, что у 1921ВК028 USB нет и не будет?
dav
Сообщения: 208
Зарегистрирован: 14 дек 2015, 09:21
Предприятие: АО НИИЭТ
Откуда: АО НИИЭТ, Воронеж

Re: Новый 32-разрядный микроконтроллер в BGA400 корпусе

Сообщение dav »

selax писал(а): 01 авг 2020, 20:19 Здравствуйте! Я правильно понимаю, что у 1921ВК028 USB нет и не будет?
Доброго времени суток!
Да, в мк 1921ВК028 отсутствует интерфейс USB и набор периферии изменяться не будет.
редактор
Сообщения: 27
Зарегистрирован: 08 ноя 2016, 09:10

Re: Новый 32-разрядный микроконтроллер в BGA400 корпусе

Сообщение редактор »

Здравствуйте.
Хотелось бы в РП на 1921ВК028 (у меня версия от 20.12.2019) внести следующие исправления.
1. При описании модулей ШИМ сделать упоминание про регистр SIU->PWMSYNC. Описание этого регистра есть только в приложении А, а его влияние на работу ШИМ модуля огромное. Без записи в этот регистр модуль ШИМ не запускается. И найти эту "волшебную" запись можно только в примерах кода, что с точки зрения документации выглядит как "шаманство и магия".
Подобный недочет присутствовал в описании на 1921ВК035.
2.При описании регистра DBCTL модуля ШИМ ссылки сделаны на рис.14.2, хотя реально должен быть указан рисунок 20.12
PS. Огромная благодарность разработчикам SDK за русские комментарии.
Есть неудобства работы с SDK в среде KEIL. Во многих файлах встречается объявление переменных после assert_param().
например

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

void GPIO_AltFuncNumConfig(GPIO_TypeDef* GPIOx, uint32_t Pin, GPIO_AltFuncNum_TypeDef AltFuncNum)
{
    assert_param(IS_GPIO_PERIPH(GPIOx));
    assert_param(IS_GPIO_PIN(Pin));
    assert_param(IS_GPIO_ALT_FUNC_NUM(AltFuncNum));

    uint32_t temp0, temp1; // KEIL генерирует ошибку если файл с расширением *.c 

    temp0 = GPIOx->ALTFUNCNUM0;
    temp1 = GPIOx->ALTFUNCNUM1;
*** Using Compiler 'V5.05 update 2 (build 169)
compiling plib028_gpio.c...
..\niiet_sdk\src\plib028_gpio.c(65): error: #254: type name is not allowed
for (uint32_t i = 0; i < 16; i++) {
..\niiet_sdk\src\plib028_gpio.c(65): error: #65: expected a ";"
for (uint32_t i = 0; i < 16; i++) {
..\niiet_sdk\src\plib028_gpio.c(65): error: #20: identifier "i" is undefined
for (uint32_t i = 0; i < 16; i++) {
..\niiet_sdk\src\plib028_gpio.c(152): error: #268: declaration may not appear after executable statement in block
uint32_t temp0, temp1;
..\niiet_sdk\src\plib028_gpio.c(157): error: #254: type name is not allowed
for (uint32_t i = 0; i < 16; i++) {
..\niiet_sdk\src\plib028_gpio.c(157): error: #65: expected a ";"
for (uint32_t i = 0; i < 16; i++) {
..\niiet_sdk\src\plib028_gpio.c(157): error: #20: identifier "i" is undefined
for (uint32_t i = 0; i < 16; i++) {
..\niiet_sdk\src\plib028_gpio.c: 0 warnings, 7 errors
"..\niiet_sdk\src\plib028_gpio.c" - 7 Error(s), 0 Warning(s).
При переименовании в *.cpp ошибка исчезает (работа с пректом подразумевает использование С++). Очевидно, что KEIL более строг к соблюдению правил языка СИ (объявление локальных переменных должно быть в начале функции, до вызова любых операторов и функций)
bkolbov
Сообщения: 248
Зарегистрирован: 14 дек 2015, 11:37
Предприятие: АО НИИЭТ
Откуда: Воронеж

Re: Новый 32-разрядный микроконтроллер в BGA400 корпусе

Сообщение bkolbov »

Добрый день!

1. Упоминание этого регистра присутствует в тексте описания ШИМ (первый абзац в 14.1 для ВК035 и 20.1 для ВК028)
Таймер представляет собой двунаправленный счетчик TBCTR, тактируемый
сигналом TBCLK, который формируется на основе синхросигнала PCLK. Частота сигнала
TBCLK задается произведением коэффициентов двух делителей. Коэффициенты задаются
полями CLKDIV и HPCLKDIV регистра TBCTL. По умолчанию, работа делителей
остановлена - TBCLK не генерируется. Чтобы таймер начал счет по TBCLK, необходимо
записью единиц в поле PRESCRST регистра PWMSYNC блока SIU разрешить работу
делителей.
2.
Генератор задержки ШИМ программируется посредством регистров DBCTL,
DBRED и DBFED. Структурная схема генератора «мертвого» времени ШИМ
представлена на рисунке 20.12.
Вроде бы верно всё. А у вас версия РП от какого числа?

По поводу Keil - необходимо включить поддержку C99. Файлы переименовывать при этом нет необходимости.
https://www.keil.com/support/docs/3677.htm
редактор
Сообщения: 27
Зарегистрирован: 08 ноя 2016, 09:10

Re: Новый 32-разрядный микроконтроллер в BGA400 корпусе

Сообщение редактор »

версия РП от 20.12.2019
про регистр SIU нашел (моя невнимательность).
При описании регистра DBCTL модуля ШИМ ссылки сделаны на рис.14.2, хотя реально должен быть указан рисунок 20.12
имелось ввиду приложение А, стр.466.
за ссылку на -с99 спасибо, не пользовался.
редактор
Сообщения: 27
Зарегистрирован: 08 ноя 2016, 09:10

Re: Новый 32-разрядный микроконтроллер в BGA400 корпусе

Сообщение редактор »

Здравствуйте.
Возникло несколько вопросов по модулю MFLASH (аналогичные вопросы по BFLASH)
1.MFLASH располагается по адресу 1000_0000h – 101F_FFFFh (из РП табл.6.1 стр.50)
1.1 Если выбран режим загрузки из ОЗУ или BFLASH адрес чтения/записи MFLASH должен быть указан с учетом смещения 1000_0000 или внутри модуля MFLASH адресация с 0?
1.2.Если выбран режим загрузки из MFLASH, чтение данных (через шину не через регистр) с адреса 1000_0000 и с адреса 0h даст одинаковый результат?
2.как поведет себя модуль если значение регистра адреса не будет выравнено по границе 64 байта.
3.Если необходимо записать менее 16 слов, чем заполнить регистры DATA (0xFFFFFFFF или 0x0)
4.Правильно ли я планирую алгоритм записи?
Предположим были записаны данные через регистры DATA[0],DATA[1], при следующем включении необходимо сохранить ДОПОЛНИТЕЛЬНО 2 слова. Адрес должен быть выравнен, поэтому либо смещать адрес относительно предыдущей записи на 64, либо заполнить ВСЕ регистры DATA[x] (x=0..15) значением 0xFFFFFFFF (или 0), а в регистры DATA[2], DATA[3] - добавить нужные данные для записи.
bkolbov
Сообщения: 248
Зарегистрирован: 14 дек 2015, 11:37
Предприятие: АО НИИЭТ
Откуда: Воронеж

Re: Новый 32-разрядный микроконтроллер в BGA400 корпусе

Сообщение bkolbov »

Добрый день!
1.1 Если выбран режим загрузки из ОЗУ или BFLASH адрес чтения/записи MFLASH должен быть указан с учетом смещения 1000_0000 или внутри модуля MFLASH адресация с 0?
Если вы читаете из глобального адресного пространства, то 1000_0000. Если через регистры - то с 0.
Но фактически, вы можете в регистр вносить и глобальный адрес 1000_0000 - старшие биты там всё равно отбросятся.
1.2.Если выбран режим загрузки из MFLASH, чтение данных (через шину не через регистр) с адреса 1000_0000 и с адреса 0h даст одинаковый результат?
Верно, одинаковый.
2.как поведет себя модуль если значение регистра адреса не будет выравнено по границе 64 байта.
Он будет выровнен автоматически - значение нижних битов отбрасывается, обеспечивая выравнивание по 64 байта.
3.Если необходимо записать менее 16 слов, чем заполнить регистры DATA (0xFFFFFFFF или 0x0)
0xFFFFFFFF. В регистрах DATA[x] эти значения уже лежат по умолчанию. После каждой записи все регистры заполняются 0xFFFFFFFF вновь. Т.е. достаточно модифицировать только нужное слово. Однако, если было произведено чтение через эти регистры, то забить их значением 0xFFFFFFFF надо вручную, т.к. они будут хранить результаты последнего чтения.
4.Правильно ли я планирую алгоритм записи?
Предположим были записаны данные через регистры DATA[0],DATA[1], при следующем включении необходимо сохранить ДОПОЛНИТЕЛЬНО 2 слова. Адрес должен быть выравнен, поэтому либо смещать адрес относительно предыдущей записи на 64, либо заполнить ВСЕ регистры DATA[x] (x=0..15) значением 0xFFFFFFFF (или 0), а в регистры DATA[2], DATA[3] - добавить нужные данные для записи.
В этом случае достаточно просто модифицировать только DATA[2], DATA[3] (ответ на п.3) и сделать запись по выровненному адресу.
Ответить

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