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

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

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

Аватара пользователя
Лашкевич
Сообщения: 372
Зарегистрирован: 13 май 2015, 13:10
Предприятие: ООО "НПФ Вектор"
Откуда: Москва
Контактная информация:

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

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

1. В описании регистра AQCSFRC и при поиске этого регистра по тексту описания не получается найти, когда именно (в какой момент времени) применятся настройки, которые он конфигурирует. У тексаса есть специальное поле RLDCSF регистра AQSFRC, которое настраивает поведение регистра AQCSFRC (параметры теневой загрузки). В данном ТО написано, что RLDCSF трогать нельзя, но как при этом работает AQCSFRC я не нашел.

2. В описании регистра AQSFRC про поле ACTSFB написано, что это действие с сигналом на выходе, но не указано, когда это действие выполняется. Нужно указать что-то типа, "действие при получении сигнала формирования выхода полем OTSFB" или как-то так, иначе трудно догадаться, как регистр AQSFRC работает и как им пользоваться. Или более подробно расписать в тексте ТО. Аналогично нужно дополнить про поля OTSFA и ACTSFA. Также написать, как у этого регистра с "теневыми" значениями - имеются ли они, и в какой момент применяются его настройки.

3. Поле CAPSYNCSEL регистра PWM_CTRL. Про него написано, что он выбирает источник синхронизации, но не написано, что для блоков захвата. Из описания поля можно подумать, что он влияет на синхронизацию модулей ШИМ. Можно, конечно, из рисунка 14.3 понять что куда, но лучше дополнить описание регистра более четко.

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

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

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

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

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

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

Не могу найти в описании регистра AIRCR (определение групп и подгрупп Энвик) и его взаимосвязи с регистрами приоритетов прерываний Энвик->ICPR. Есть ли ограничения на распределение групп и подгрупп прерываний в данном изделии? Сколько допустимо групп, подгрупп? Думаю, нужно дополнить ТО и описание регистров этими данными.
С уважением,
Лашкевич Максим.
Инженер-программист ООО "НПФ Вектор", Москва.
http://motorcontrol.ru/
bkolbov
Сообщения: 248
Зарегистрирован: 14 дек 2015, 11:37
Предприятие: АО НИИЭТ
Откуда: Воронеж

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

Сообщение bkolbov »

Лашкевич писал(а): 27 июн 2017, 17:49 В описании регистра AQCSFRC и при поиске этого регистра по тексту описания не получается найти, когда именно (в какой момент времени) применятся настройки, которые он конфигурирует. У тексаса есть специальное поле RLDCSF регистра AQSFRC, которое настраивает поведение регистра AQCSFRC (параметры теневой загрузки). В данном ТО написано, что RLDCSF трогать нельзя, но как при этом работает AQCSFRC я не нашел.
Да, его трогать не стоит. По умолчанию там 00b, что значит условие CTR=0 (как и в тексасе). Да, пояснить это стоит.
Не могу найти в описании регистра AIRCR (определение групп и подгрупп Энвик) и его взаимосвязи с регистрами приоритетов прерываний Энвик->ICPR. Есть ли ограничения на распределение групп и подгрупп прерываний в данном изделии? Сколько допустимо групп, подгрупп? Думаю, нужно дополнить ТО и описание регистров этими данными.
Наверное вы имели ввиду регистр Энвик->IPR. Битов приоритета 3, соответственно, всего 8 приоритетов.
Аватара пользователя
Лашкевич
Сообщения: 372
Зарегистрирован: 13 май 2015, 13:10
Предприятие: ООО "НПФ Вектор"
Откуда: Москва
Контактная информация:

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

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

Ну, в общем, да, все что с Энвик нужно описать - в ТО сейчас сказано что приоритетов 15, и есть еще группы и подгруппы приоритетов, что, как я понимаю, ложная информация.
С уважением,
Лашкевич Максим.
Инженер-программист ООО "НПФ Вектор", Москва.
http://motorcontrol.ru/
Александр
Сообщения: 43
Зарегистрирован: 03 июл 2017, 09:28
Предприятие: ЛЭМЗ

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

Сообщение Александр »

1)Регистр ECCTL1. Поле STOP_WRAP. Вопрос Что произойдет при циклическом захвате с таймером и кольцевым буфером, когда сработает счетчик событий. Написано "останов" в описании поля, но это для однократного захвата, а циклический не расписан...Будет ли останов таймера при циклической обработке?
2)VTOR. Записывая адрес смещения в этот регистр, нужно ли его сдвигать на 7 бит?(первые 7 бит возможно зарезервированы). Или можно брать адрес и писать в этот регистр напрямую без сдвигов?
3)Энвик->IP[(uint32_t)(IRQn)] = ((priority << (8 - __Энвик_PRIO_BITS)) & 0xff); Так мы задаем Приоритет... Вопрос чему равен регистр __Энвик_PRIO_BITS(обычно это число равно 4)...
Александр
Сообщения: 43
Зарегистрирован: 03 июл 2017, 09:28
Предприятие: ЛЭМЗ

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

Сообщение Александр »

4)Контроллер прерываний Энвик
Контроллер обеспечивает:
- программное задание уровня приоритета независимо для каждого прерывания в
диапазоне от 0 до 15 (прерывание с уровнем 0 имеет наивысший приоритет);
- генерирование сигнала прерывания по фронту и по уровню сигнала;
- динамическое изменение приоритета прерываний;
- разделение по группам с одинаковым приоритетом и по подгруппам внутри одной
группы;
- передача управления из одного обработчика в другой без восстановления
контекста.

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

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

Сообщение bkolbov »

Александр писал(а): 03 июл 2017, 09:48 1)Регистр ECCTL1. Поле STOP_WRAP. Вопрос Что произойдет при циклическом захвате с таймером и кольцевым буфером, когда сработает счетчик событий. Написано "останов" в описании поля, но это для однократного захвата, а циклический не расписан...Будет ли останов таймера при циклической обработке?
2)VTOR. Записывая адрес смещения в этот регистр, нужно ли его сдвигать на 7 бит?(первые 7 бит возможно зарезервированы). Или можно брать адрес и писать в этот регистр напрямую без сдвигов?
3)Энвик->IP[(uint32_t)(IRQn)] = ((priority << (8 - __Энвик_PRIO_BITS)) & 0xff); Так мы задаем Приоритет... Вопрос чему равен регистр __Энвик_PRIO_BITS(обычно это число равно 4)...
4)Контроллер прерываний Энвик
Контроллер обеспечивает:
- программное задание уровня приоритета независимо для каждого прерывания в
диапазоне от 0 до 15 (прерывание с уровнем 0 имеет наивысший приоритет);
- генерирование сигнала прерывания по фронту и по уровню сигнала;
- динамическое изменение приоритета прерываний;
- разделение по группам с одинаковым приоритетом и по подгруппам внутри одной
группы;
- передача управления из одного обработчика в другой без восстановления
контекста.
Это описание прерываний... Вопрос что значит фраза "передача управления из одного обработчика в другой без восстановления
контекста"
1) Поле STOP_WRAP не влияет на работу счетчика TSCTR, только на возможность осуществления захвата. Счет таймера управляется состоянием бита TSCTRSTOP в ECCTL1.
2) Необходимо писать адрес на прямую, т.е. просто глобальный адрес, обязательно выравненный (биты 6-0 равны нулю).
3) Равен 3.
4) Контекст - состояние регистров общего назначения ядра. При переходе между прерываниями, контекст основной программы не восстанавливается, за счет этого переход происходит за 6 тактов, а не за 12. Описание с сайта арм (найдите поиском там Tail chaining).
Александр
Сообщения: 43
Зарегистрирован: 03 июл 2017, 09:28
Предприятие: ЛЭМЗ

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

Сообщение Александр »

А что Вы подразумеваете под регистрами общего назначения?
Ответить

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