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

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

Модераторы: pip, _sva_

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

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

Сообщение Лашкевич » 17 май 2017, 11:41

Предлагаю в данной теме собирать пожелания по доработке ТО для К1921ВК01Т, а также разработчикам НИИЭТ выкладывать сюда новые версии ТО (зная по опыту, что обновление ТО на сайте происходит с задержкой).

Первая партия замечаний:
1. Замечание про таблицу 2.1 . Как я понимаю, это единственная возможность посмотреть номера альтернативных функций и правильно
проинициализировать регистр GPIOPCTLx. Однако из этой таблицы это более чем неочевидно, какой номер нужно задавать, так как первой функцией там идет GPIO, и догадаться с нуля ли там нумерация, с единицы или с какого вообще места - невозможно. Нужно в таблице
колонку "номер альт. функции", или как-то её перекомпоновать. А также при упоминании в ТО GPIOPCTLx надо ссылку на эту таблицу и объяснение как ей пользоваться с примером.

2. Описание регистра OUTENSET. В ТО сказано, что запись нуля производит "Перевод вывода в третье состояние", однако по факту запись нуля не производит действия, как и должно быть и как и написано про регистр OUTENCLR.

3. Внести в главу описания АЦП (21 Блок АЦП) описание электрической части - какой потенциал на входе оцифровывается нулем, какой максимальным значением, какое максимальное напряжение на входе допустимо чтобы ничего не сгорело, какая точность, температурный дрейф и т.п. Либо это же отдельной таблицей в главе "2.2 Электрические параметры".

4. Описание функционала управления портами через MASKLOWBYTE и MASKHIGHBYTE описано крайне непонятно. Во-первых, нужно описать причину, по которой не рекомендуется пользоваться регистром DATA для изменения выходов, переработать сам текст описания на более понятный, а после привести пару-тройку примеров использования от простого к сложному (установка одного бита в через нижнюю маску, через верхнюю, установка сразу двух бит).

5. В документ ТО внести на титульной странице автоматический или ручной номер версии или дату генерации документа, чтобы можно было отслеживать какое ТО "более" последнее.
С уважением,
Лашкевич Максим.
Инженер-программист ООО "НПФ Вектор", Москва.
http://motorcontrol.ru/

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

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

Сообщение bkolbov » 17 май 2017, 15:33

Добрый день!
1. Замечание про таблицу 2.1 ...
На самом деле, гадать не нужно - в ТО это прямым текстом говорится (стр.8):
"Функциональное назначение выводов указано в таблицах 2.1 и 2.2. В таблице 2.1 в
графе «Обозначение вывода» первым указывается название основной функции вывода
микроконтроллера. Далее, в порядке следования, первая, вторая и третья альтернативные
функции."

Но то, что это описание несколько "отодвинуто" от таблицы, а сама таблица без пояснения становится менее понятной, пожалуй соглашусь.
2. Описание регистра OUTENSET ...
Описание действительно неверно, информацию зафиксировали.
3. Внести в главу описания АЦП (21 Блок АЦП) описание электрической части ...
Работы по этому поводу уже ведутся.
4. Описание функционала управления портами через MASKLOWBYTE и MASKHIGHBYTE описано крайне непонятно.
Причины для отказа от использования регистра DATA нет, непонятно откуда такие рекомендации? То что само описание механизма маскирования нуждается в некоторой правке и добавлении пары коротких листингов с кодом - соглашусь.
5. В документ ТО внести на титульной странице автоматический или ручной номер версии или дату генерации документа, чтобы можно было отслеживать какое ТО "более" последнее.
Такая информация в ТО есть на последней странице - Лист регистрации изменений. Дата каждой коррекции там фиксируется.

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

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

Сообщение Лашкевич » 17 май 2017, 15:41

Причины для отказа от использования регистра DATA нет, непонятно откуда такие рекомендации?
имеется ввиду проблема с задержкой считывания результата DATA на один такт, в результате чего строки вида

NT_GPIOC->DATA |= (1 << 2);
NT_GPIOC->DATA |= (1 << 3);

написанные друг за другом не работают, так как операция компилируется как чтение-модификация-запись. Компилятор при полной оптимизации теоретически может перекомпоновать в любой функции ход выполнения программы неочевидным образом и разместить обращение к GPIO рядом, даже если они изначально были разнесены визуально по коду программы. Это накладывает ограничение на работу с DATA. Чтобы точно не было проблем, операции записи портов всегда приходится делать через маски.
С уважением,
Лашкевич Максим.
Инженер-программист ООО "НПФ Вектор", Москва.
http://motorcontrol.ru/

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

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

Сообщение bkolbov » 17 май 2017, 17:11

имеется ввиду проблема с задержкой считывания результата DATA на один такт, в результате чего строки вида

NT_GPIOC->DATA |= (1 << 2);
NT_GPIOC->DATA |= (1 << 3);
Не совсем понятно зачем устанавливать 2ой и 3ий пины через DATA, почему не через DATAOUT?

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

NT_GPIOC->DATAOUT |= (1 << 2);
NT_GPIOC->DATAOUT |= (1 << 3);
Эта проблема с DATA была подтверждена в железе?

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

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

Сообщение Лашкевич » 17 май 2017, 18:30

Проблема с DATA точно воспроизводится. С использованием DATAOUT она исправляется. Только что проверил на железе и то и то (пример из VectorIDE по миганию светодиодами). Нужно это указать в документации - и про опасность работы на запись с DATA, и про необходимость пользоваться вместо этого DATAOUT или масками.
Ранее DATAOUT не использовали, так как думали что она также подвержена данной проблеме.
С уважением,
Лашкевич Максим.
Инженер-программист ООО "НПФ Вектор", Москва.
http://motorcontrol.ru/

petrovitch
Сообщения: 18
Зарегистрирован: 15 фев 2017, 19:07

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

Сообщение petrovitch » 17 май 2017, 19:08

В описании имеется частое несовпадение (точнее отсутствие ) обозначений регистров/бит/сигналов и приводимых
иллюстраций. Картинки также вставлены видимо со сканера и с трудом воспринимаются.

Считаю образцом документации Renesas и Cypres.

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

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

Сообщение Лашкевич » 17 май 2017, 19:17

Картинки также вставлены видимо со сканера и с трудом воспринимаются.
У вас точно последняя версия ТО (которая сейчас доступна для загрузки по http://niiet.ru/wp-content/uploads/TO_K1921VK01T.pdf )? Картинки были плохие, но примерно месяц назад пересохранили, перезалили и теперь они отлично читаются. Проблема была в способе конвертации документа в pdf из ворда.
С уважением,
Лашкевич Максим.
Инженер-программист ООО "НПФ Вектор", Москва.
http://motorcontrol.ru/

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

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

Сообщение bkolbov » 18 май 2017, 09:09

petrovitch писал(а):
17 май 2017, 19:08
В описании имеется частое несовпадение (точнее отсутствие ) обозначений регистров/бит/сигналов и приводимых
иллюстраций. Картинки также вставлены видимо со сканера и с трудом воспринимаются.

Считаю образцом документации Renesas и Cypres.
Расскажите пожалуйста поподробнее о конкретных местах, где такие несоответствия наблюдаются, если можно. Как выше отметили - в последних версиях качество картинок было исправлено.

petrovitch
Сообщения: 18
Зарегистрирован: 15 фев 2017, 19:07

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

Сообщение petrovitch » 18 май 2017, 14:07

Лашкевич писал(а):
17 май 2017, 19:17
У вас точно последняя версия ТО (которая сейчас доступна для загрузки по http://niiet.ru/wp-content/uploads/TO_K1921VK01T.pdf )?
Загрузил. Действительно разница заметна!
Имеет смысл в названии файла ставить метку номера редакции и оповещать о её выходе на форумах.

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

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

Сообщение bkolbov » 18 май 2017, 15:20

Лашкевич писал(а):
17 май 2017, 18:30
Проблема с DATA точно воспроизводится. С использованием DATAOUT она исправляется. Только что проверил на железе и то и то (пример из VectorIDE по миганию светодиодами). Нужно это указать в документации - и про опасность работы на запись с DATA, и про необходимость пользоваться вместо этого DATAOUT или масками.
Ранее DATAOUT не использовали, так как думали что она также подвержена данной проблеме.
Да, если читать DATA на следующий такт после записи (что и происходит при |= ), то мы прочитаем еще не обновленное значение, т.к. данные со входа еще не успели пересинхронизироваться обратно.

Перечитал документацию - там вроде все однозначно. Стр. 75 ТО:
"Полученные данные сохраняются в регистре DATA порта. Данные для передачи
записываются в регистр DATAOUT порта."


В таблице A.2.1. - тоже вполне все прозрачно:
"DATA - Регистр входных данных порта
DATAOUT - Выходной регистр данных порта"

При этом по записи в DATA:
"Значение выхода порта. Чтение записанного значения возможно после задержки в два такта системной частоты из-за пересинхронизации входного значения"

Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость