К1921ВК01Т - вопросы по ТО и его доработка

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

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

Василий
Сообщения: 11
Зарегистрирован: 15 ноя 2017, 15:30
Предприятие: ООО "НПФ Вектор"

Re: К1921ВК01Т - вопросы по ТО и его доработка

Сообщение Василий »

bkolbov писал(а): 16 ноя 2017, 15:40 Для сброса удержания необходимо чтобы произошел отрицательный результат сравнения компаратора, и затем триггер был сброшен через DCRTC. И тогда по ближайшему событию TBCTR = 0000h удержание будет отключено, и продолжится генерация ШИМ, согласно настройкам модуля.
Путем экспериментов обнаружил, что для сброса удержания необходимо также сбросить флаг OST в регистре HDCLR.
Пороговый выключатель настраивается на многократный режим срабатывания так:

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

NT_PWM0->HDSEL_bit.DCMP0 = 1;	//выбор цифрового компаратора блока АЦП, с выхода которого берется сигнал для формирования события удержания
NT_PWM0->HDSEL_bit.CBC = 1;	//многократный режим срабатывания
NT_PWM0->HDCTL_bit.HDA = 1;	//по событию от компаратора (ток меньше задания) верхний ключ - в состояние "1"
NT_PWM0->HDCTL_bit.HDB = NT_PWM0->HDCTL_bit.HDA;
При этом без выполнения строчки:

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

NT_PWM0->HDCLR = (1<<2); //Сброс флага OST порогового переключателя
Из режима удержания он не выходит, не смотря на то, что однократный режим срабатывания выключен.
bkolbov
Сообщения: 248
Зарегистрирован: 14 дек 2015, 11:37
Предприятие: АО НИИЭТ
Откуда: Воронеж

Re: К1921ВК01Т - вопросы по ТО и его доработка

Сообщение bkolbov »

Благодарю, Василий, что поделились результатами эксперимента. Наши исследования подтвердили его. Дополню лишь, что сброс удержания вне зависимости от режима осуществится лишь при сбросе OST после наступления нового периода ШИМ (TBCTR = 0000h).
Сведения об этом внесем в errata.
Bond
Сообщения: 3
Зарегистрирован: 18 фев 2018, 21:27
Предприятие: ООО "ГАМЕМ"

Re: К1921ВК01Т - вопросы по ТО и его доработка

Сообщение Bond »

По вопросу Александра от 03 июл 2017:
3)Энвик->IP[(uint32_t)(IRQn)] = ((priority << (8 - __Энвик_PRIO_BITS)) & 0xff); Так мы задаем Приоритет... Вопрос чему равен регистр __Энвик_PRIO_BITS(обычно это число равно 4)...
и ответу на этот вопрос от 17 июл 2017:
3) Равен 3.
А так же ответа:
4)Контроллер прерываний Энвик
Контроллер обеспечивает:
- программное задание уровня приоритета независимо для каждого прерывания в
диапазоне от 0 до 15 (прерывание с уровнем 0 имеет наивысший приоритет);

При __Энвик_PRIO_BITS, равном 3 (что соответствует действительности - проверялось экспериментально), приоритеты прерываний не могут лежать в диапазоне 0...15. Они лежат в диапазоне 0...7.
Аватара пользователя
Лашкевич
Сообщения: 372
Зарегистрирован: 13 май 2015, 13:10
Предприятие: ООО "НПФ Вектор"
Откуда: Москва
Контактная информация:

Re: К1921ВК01Т - вопросы по ТО и его доработка

Сообщение Лашкевич »

Не очень понятно написано про поле INTPRD регистра ETPS. В таблице А. 12. 21 сказано, что значение 00 используется для прерывания по каждому событию, а 01 по первому событию, что уже несколько путает: что такое каждое, а что такое первое. Кроме того, на стр. 112 есть такая фраза "Каждая запись в INTPRD сбрасывает счетчик INTCNT. Запись единицы в бит INT
регистра ETFRC увеличит значение счетчика на единицу. Если значение INTPRD = 00b,
то счетчик отключен, а входные события игнорируются."

Наш программист это понял так: если присовить INTPRD равным нулю, то прерываний не будет. А на самом деле это не так. Конечно, прочитав подробнее про все эти счетчики и триггеры догадаться можно как это работает, но, думаю, стоит это описать чуть более однозначно.
С уважением,
Лашкевич Максим.
Инженер-программист ООО "НПФ Вектор", Москва.
http://motorcontrol.ru/
Аватара пользователя
Лашкевич
Сообщения: 372
Зарегистрирован: 13 май 2015, 13:10
Предприятие: ООО "НПФ Вектор"
Откуда: Москва
Контактная информация:

Re: К1921ВК01Т - вопросы по ТО и его доработка

Сообщение Лашкевич »

Вопрос по регистру FWDTH - ограничения минимальной длины импульса. И в тексте, и в таблице регистров указано максимальное значение Fh, что, судя по всему, ошибка, и верное значение 0xFF. Кроме того, кажется, масштаб там тоже неверный, и у нас получилось что реальное ограничение минимального импульса в разы меньше, чем по документации.
С уважением,
Лашкевич Максим.
Инженер-программист ООО "НПФ Вектор", Москва.
http://motorcontrol.ru/
bkolbov
Сообщения: 248
Зарегистрирован: 14 дек 2015, 11:37
Предприятие: АО НИИЭТ
Откуда: Воронеж

Re: К1921ВК01Т - вопросы по ТО и его доработка

Сообщение bkolbov »

Лашкевич писал(а): 03 июл 2018, 16:46 Вопрос по регистру FWDTH - ограничения минимальной длины импульса. И в тексте, и в таблице регистров указано максимальное значение Fh, что, судя по всему, ошибка, и верное значение 0xFF. Кроме того, кажется, масштаб там тоже неверный, и у нас получилось что реальное ограничение минимального импульса в разы меньше, чем по документации.
Да, верное 0xFF. В 10 раз меньше, если быть точным - при 100МГц 10нс * 256 = 2,56мкс.
_Desh_
Сообщения: 2
Зарегистрирован: 25 июл 2018, 14:43
Предприятие: Филиал АО "РКЦ "Прогресс" - ОКБ "Спектр"

Re: К1921ВК01Т - вопросы по ТО и его доработка

Сообщение _Desh_ »

Не смог найти в ТО явного указания о поддержке (или отсутствии таковой) режима High Speed для интерфейса USB 2.0 (High Speed). Предлагаю добавить в соответствующий раздел, а лучше в начало, где перечислены характеристики МК.
Илья
Сообщения: 18
Зарегистрирован: 28 ноя 2018, 00:10
Предприятие: ЛЭМЗ

Re: К1921ВК01Т - вопросы по ТО и его доработка

Сообщение Илья »

И все же я хотел бы закончить тему о приоритетах прерываний. Не нашел в вышесказанном ответа на вопрос, который задавался несколько раз
вопрос1: сколько же уровней приоритета прерываний в контроллере, 8 или16?
В ТО (стр.73) написано 16 . Здесь я встретил опровержение, и что их 8. ??

вопрос 2 касается содержимого регистра AIRCR, а именно битового поля определяющего количество групп и подгрупп.
Данное битовое поле шириной в три бита [10:8] . Так? Хотелось бы увидеть табличку зависимости количества групп/подгрупп от содержимого этого битового поля, как это сделано в импортной документации на кортекс-M4, чтобы раз и на всегда исключить недопонимание.

Благодарю.
bkolbov
Сообщения: 248
Зарегистрирован: 14 дек 2015, 11:37
Предприятие: АО НИИЭТ
Откуда: Воронеж

Re: К1921ВК01Т - вопросы по ТО и его доработка

Сообщение bkolbov »

Илья писал(а): 28 ноя 2018, 00:31 И все же я хотел бы закончить тему о приоритетах прерываний. Не нашел в вышесказанном ответа на вопрос, который задавался несколько раз
вопрос1: сколько же уровней приоритета прерываний в контроллере, 8 или16?
В ТО (стр.73) написано 16 . Здесь я встретил опровержение, и что их 8. ??

вопрос 2 касается содержимого регистра AIRCR, а именно битового поля определяющего количество групп и подгрупп.
Данное битовое поле шириной в три бита [10:8] . Так? Хотелось бы увидеть табличку зависимости количества групп/подгрупп от содержимого этого битового поля, как это сделано в импортной документации на кортекс-M4, чтобы раз и на всегда исключить недопонимание.

Благодарю.
Добрый день!

1) 3 бита, 8 приоритетов
2) Данное поле является неизменяемой частью ядра, соответственно, довольно исчерпывающее описание данного поля приведено в Reference Manual на ядро
Илья
Сообщения: 18
Зарегистрирован: 28 ноя 2018, 00:10
Предприятие: ЛЭМЗ

Re: К1921ВК01Т - вопросы по ТО и его доработка

Сообщение Илья »

В описании на ядро (кортекс™-M4 Devices Generic User Guide) говорится о том, что данное поле AIRCR[10:8] (PRIGROUP) определяет не само количество приоритетов, а разделение приоритетов прерываний на группы и подгруппы в регистрах установки приоритетов прерываний IPR_n, и приводится табличка соответствия содержимого данного поля (PRIGROUP) и разбиения на группы/подгруппы. Общее количество приоритетов определяется исполнением, где-то 256, где-то 16...Соответственно в регистрах IPR_n работают либо все 8 бит, отведенные для установки приоритета, либо часть из них.

http://keep4u.ru/image/SY1T9

Вот я и хочу узнать, в контроллере К1921ВК01Т используется тот же принцип?

Благодарю.
Ответить

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