К1921ВК01Т - вопросы по ТО и его доработка
Модераторы: ea, dav, bkolbov, Alis, pip, _sva_
- Лашкевич
- Сообщения: 373
- Зарегистрирован: 13 май 2015, 13:10
- Предприятие: ООО "НПФ Вектор"
- Откуда: Москва
- Контактная информация:
К1921ВК01Т - вопросы по ТО и его доработка
Предлагаю в данной теме собирать пожелания по доработке ТО для К1921ВК01Т, а также разработчикам НИИЭТ выкладывать сюда новые версии ТО (зная по опыту, что обновление ТО на сайте происходит с задержкой).
Первая партия замечаний:
1. Замечание про таблицу 2.1 . Как я понимаю, это единственная возможность посмотреть номера альтернативных функций и правильно
проинициализировать регистр GPIOPCTLx. Однако из этой таблицы это более чем неочевидно, какой номер нужно задавать, так как первой функцией там идет GPIO, и догадаться с нуля ли там нумерация, с единицы или с какого вообще места - невозможно. Нужно в таблице
колонку "номер альт. функции", или как-то её перекомпоновать. А также при упоминании в ТО GPIOPCTLx надо ссылку на эту таблицу и объяснение как ей пользоваться с примером.
2. Описание регистра OUTENSET. В ТО сказано, что запись нуля производит "Перевод вывода в третье состояние", однако по факту запись нуля не производит действия, как и должно быть и как и написано про регистр OUTENCLR.
3. Внести в главу описания АЦП (21 Блок АЦП) описание электрической части - какой потенциал на входе оцифровывается нулем, какой максимальным значением, какое максимальное напряжение на входе допустимо чтобы ничего не сгорело, какая точность, температурный дрейф и т.п. Либо это же отдельной таблицей в главе "2.2 Электрические параметры".
4. Описание функционала управления портами через MASKLOWBYTE и MASKHIGHBYTE описано крайне непонятно. Во-первых, нужно описать причину, по которой не рекомендуется пользоваться регистром DATA для изменения выходов, переработать сам текст описания на более понятный, а после привести пару-тройку примеров использования от простого к сложному (установка одного бита в через нижнюю маску, через верхнюю, установка сразу двух бит).
5. В документ ТО внести на титульной странице автоматический или ручной номер версии или дату генерации документа, чтобы можно было отслеживать какое ТО "более" последнее.
Первая партия замечаний:
1. Замечание про таблицу 2.1 . Как я понимаю, это единственная возможность посмотреть номера альтернативных функций и правильно
проинициализировать регистр GPIOPCTLx. Однако из этой таблицы это более чем неочевидно, какой номер нужно задавать, так как первой функцией там идет GPIO, и догадаться с нуля ли там нумерация, с единицы или с какого вообще места - невозможно. Нужно в таблице
колонку "номер альт. функции", или как-то её перекомпоновать. А также при упоминании в ТО GPIOPCTLx надо ссылку на эту таблицу и объяснение как ей пользоваться с примером.
2. Описание регистра OUTENSET. В ТО сказано, что запись нуля производит "Перевод вывода в третье состояние", однако по факту запись нуля не производит действия, как и должно быть и как и написано про регистр OUTENCLR.
3. Внести в главу описания АЦП (21 Блок АЦП) описание электрической части - какой потенциал на входе оцифровывается нулем, какой максимальным значением, какое максимальное напряжение на входе допустимо чтобы ничего не сгорело, какая точность, температурный дрейф и т.п. Либо это же отдельной таблицей в главе "2.2 Электрические параметры".
4. Описание функционала управления портами через MASKLOWBYTE и MASKHIGHBYTE описано крайне непонятно. Во-первых, нужно описать причину, по которой не рекомендуется пользоваться регистром DATA для изменения выходов, переработать сам текст описания на более понятный, а после привести пару-тройку примеров использования от простого к сложному (установка одного бита в через нижнюю маску, через верхнюю, установка сразу двух бит).
5. В документ ТО внести на титульной странице автоматический или ручной номер версии или дату генерации документа, чтобы можно было отслеживать какое ТО "более" последнее.
Re: К1921ВК01Т - вопросы по ТО и его доработка
Добрый день!
"Функциональное назначение выводов указано в таблицах 2.1 и 2.2. В таблице 2.1 в
графе «Обозначение вывода» первым указывается название основной функции вывода
микроконтроллера. Далее, в порядке следования, первая, вторая и третья альтернативные
функции."
Но то, что это описание несколько "отодвинуто" от таблицы, а сама таблица без пояснения становится менее понятной, пожалуй соглашусь.
На самом деле, гадать не нужно - в ТО это прямым текстом говорится (стр.8):1. Замечание про таблицу 2.1 ...
"Функциональное назначение выводов указано в таблицах 2.1 и 2.2. В таблице 2.1 в
графе «Обозначение вывода» первым указывается название основной функции вывода
микроконтроллера. Далее, в порядке следования, первая, вторая и третья альтернативные
функции."
Но то, что это описание несколько "отодвинуто" от таблицы, а сама таблица без пояснения становится менее понятной, пожалуй соглашусь.
Описание действительно неверно, информацию зафиксировали.2. Описание регистра OUTENSET ...
Работы по этому поводу уже ведутся.3. Внести в главу описания АЦП (21 Блок АЦП) описание электрической части ...
Причины для отказа от использования регистра DATA нет, непонятно откуда такие рекомендации? То что само описание механизма маскирования нуждается в некоторой правке и добавлении пары коротких листингов с кодом - соглашусь.4. Описание функционала управления портами через MASKLOWBYTE и MASKHIGHBYTE описано крайне непонятно.
Такая информация в ТО есть на последней странице - Лист регистрации изменений. Дата каждой коррекции там фиксируется.5. В документ ТО внести на титульной странице автоматический или ручной номер версии или дату генерации документа, чтобы можно было отслеживать какое ТО "более" последнее.
- Лашкевич
- Сообщения: 373
- Зарегистрирован: 13 май 2015, 13:10
- Предприятие: ООО "НПФ Вектор"
- Откуда: Москва
- Контактная информация:
Re: К1921ВК01Т - вопросы по ТО и его доработка
имеется ввиду проблема с задержкой считывания результата DATA на один такт, в результате чего строки видаПричины для отказа от использования регистра DATA нет, непонятно откуда такие рекомендации?
NT_GPIOC->DATA |= (1 << 2);
NT_GPIOC->DATA |= (1 << 3);
написанные друг за другом не работают, так как операция компилируется как чтение-модификация-запись. Компилятор при полной оптимизации теоретически может перекомпоновать в любой функции ход выполнения программы неочевидным образом и разместить обращение к GPIO рядом, даже если они изначально были разнесены визуально по коду программы. Это накладывает ограничение на работу с DATA. Чтобы точно не было проблем, операции записи портов всегда приходится делать через маски.
Re: К1921ВК01Т - вопросы по ТО и его доработка
Не совсем понятно зачем устанавливать 2ой и 3ий пины через DATA, почему не через DATAOUT?имеется ввиду проблема с задержкой считывания результата DATA на один такт, в результате чего строки вида
NT_GPIOC->DATA |= (1 << 2);
NT_GPIOC->DATA |= (1 << 3);
Код: Выделить всё
NT_GPIOC->DATAOUT |= (1 << 2);
NT_GPIOC->DATAOUT |= (1 << 3);
- Лашкевич
- Сообщения: 373
- Зарегистрирован: 13 май 2015, 13:10
- Предприятие: ООО "НПФ Вектор"
- Откуда: Москва
- Контактная информация:
Re: К1921ВК01Т - вопросы по ТО и его доработка
Проблема с DATA точно воспроизводится. С использованием DATAOUT она исправляется. Только что проверил на железе и то и то (пример из VectorIDE по миганию светодиодами). Нужно это указать в документации - и про опасность работы на запись с DATA, и про необходимость пользоваться вместо этого DATAOUT или масками.
Ранее DATAOUT не использовали, так как думали что она также подвержена данной проблеме.
Ранее DATAOUT не использовали, так как думали что она также подвержена данной проблеме.
-
- Сообщения: 107
- Зарегистрирован: 15 фев 2017, 19:07
Re: К1921ВК01Т - вопросы по ТО и его доработка
В описании имеется частое несовпадение (точнее отсутствие ) обозначений регистров/бит/сигналов и приводимых
иллюстраций. Картинки также вставлены видимо со сканера и с трудом воспринимаются.
Считаю образцом документации Renesas и Cypres.
иллюстраций. Картинки также вставлены видимо со сканера и с трудом воспринимаются.
Считаю образцом документации Renesas и Cypres.
- Лашкевич
- Сообщения: 373
- Зарегистрирован: 13 май 2015, 13:10
- Предприятие: ООО "НПФ Вектор"
- Откуда: Москва
- Контактная информация:
Re: К1921ВК01Т - вопросы по ТО и его доработка
У вас точно последняя версия ТО (которая сейчас доступна для загрузки по http://niiet.ru/wp-content/uploads/TO_K1921VK01T.pdf )? Картинки были плохие, но примерно месяц назад пересохранили, перезалили и теперь они отлично читаются. Проблема была в способе конвертации документа в pdf из ворда.Картинки также вставлены видимо со сканера и с трудом воспринимаются.
Re: К1921ВК01Т - вопросы по ТО и его доработка
Расскажите пожалуйста поподробнее о конкретных местах, где такие несоответствия наблюдаются, если можно. Как выше отметили - в последних версиях качество картинок было исправлено.petrovitch писал(а): ↑17 май 2017, 19:08 В описании имеется частое несовпадение (точнее отсутствие ) обозначений регистров/бит/сигналов и приводимых
иллюстраций. Картинки также вставлены видимо со сканера и с трудом воспринимаются.
Считаю образцом документации Renesas и Cypres.
-
- Сообщения: 107
- Зарегистрирован: 15 фев 2017, 19:07
Re: К1921ВК01Т - вопросы по ТО и его доработка
Загрузил. Действительно разница заметна!Лашкевич писал(а): ↑17 май 2017, 19:17 У вас точно последняя версия ТО (которая сейчас доступна для загрузки по http://niiet.ru/wp-content/uploads/TO_K1921VK01T.pdf )?
Имеет смысл в названии файла ставить метку номера редакции и оповещать о её выходе на форумах.
Re: К1921ВК01Т - вопросы по ТО и его доработка
Да, если читать DATA на следующий такт после записи (что и происходит при |= ), то мы прочитаем еще не обновленное значение, т.к. данные со входа еще не успели пересинхронизироваться обратно.Лашкевич писал(а): ↑17 май 2017, 18:30 Проблема с DATA точно воспроизводится. С использованием DATAOUT она исправляется. Только что проверил на железе и то и то (пример из VectorIDE по миганию светодиодами). Нужно это указать в документации - и про опасность работы на запись с DATA, и про необходимость пользоваться вместо этого DATAOUT или масками.
Ранее DATAOUT не использовали, так как думали что она также подвержена данной проблеме.
Перечитал документацию - там вроде все однозначно. Стр. 75 ТО:
"Полученные данные сохраняются в регистре DATA порта. Данные для передачи
записываются в регистр DATAOUT порта."
В таблице A.2.1. - тоже вполне все прозрачно:
"DATA - Регистр входных данных порта
DATAOUT - Выходной регистр данных порта"
При этом по записи в DATA:
"Значение выхода порта. Чтение записанного значения возможно после задержки в два такта системной частоты из-за пересинхронизации входного значения"