Страница 5 из 6

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

Добавлено: 13 дек 2017, 17:29
Василий
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 порогового переключателя
Из режима удержания он не выходит, не смотря на то, что однократный режим срабатывания выключен.

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

Добавлено: 09 янв 2018, 10:27
bkolbov
Благодарю, Василий, что поделились результатами эксперимента. Наши исследования подтвердили его. Дополню лишь, что сброс удержания вне зависимости от режима осуществится лишь при сбросе OST после наступления нового периода ШИМ (TBCTR = 0000h).
Сведения об этом внесем в errata.

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

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

При __NVIC_PRIO_BITS, равном 3 (что соответствует действительности - проверялось экспериментально), приоритеты прерываний не могут лежать в диапазоне 0...15. Они лежат в диапазоне 0...7.

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

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

Наш программист это понял так: если присовить INTPRD равным нулю, то прерываний не будет. А на самом деле это не так. Конечно, прочитав подробнее про все эти счетчики и триггеры догадаться можно как это работает, но, думаю, стоит это описать чуть более однозначно.

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

Добавлено: 03 июл 2018, 16:46
Лашкевич
Вопрос по регистру FWDTH - ограничения минимальной длины импульса. И в тексте, и в таблице регистров указано максимальное значение Fh, что, судя по всему, ошибка, и верное значение 0xFF. Кроме того, кажется, масштаб там тоже неверный, и у нас получилось что реальное ограничение минимального импульса в разы меньше, чем по документации.

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

Добавлено: 04 июл 2018, 09:04
bkolbov
Лашкевич писал(а):
03 июл 2018, 16:46
Вопрос по регистру FWDTH - ограничения минимальной длины импульса. И в тексте, и в таблице регистров указано максимальное значение Fh, что, судя по всему, ошибка, и верное значение 0xFF. Кроме того, кажется, масштаб там тоже неверный, и у нас получилось что реальное ограничение минимального импульса в разы меньше, чем по документации.
Да, верное 0xFF. В 10 раз меньше, если быть точным - при 100МГц 10нс * 256 = 2,56мкс.

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

Добавлено: 25 июл 2018, 14:51
_Desh_
Не смог найти в ТО явного указания о поддержке (или отсутствии таковой) режима High Speed для интерфейса USB 2.0 (High Speed). Предлагаю добавить в соответствующий раздел, а лучше в начало, где перечислены характеристики МК.

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

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

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

Благодарю.

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

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

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

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

1) 3 бита, 8 приоритетов
2) Данное поле является неизменяемой частью ядра, соответственно, довольно исчерпывающее описание данного поля приведено в Reference Manual на ядро

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

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

http://keep4u.ru/image/SY1T9

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

Благодарю.