Документация MIK32 АМУР

ejsanyo

Active member
Кстати, что нам скажет Микрон: Errata на чип будет? Или разработчики с самой первой версии всё сделали идеально?
 

ejsanyo

Active member
Это прекрасно и очень важно, что кто-то (по видимому, вы) таки постепенно приводит даташит к достойному уровню. Но при этом хотелось бы видеть и историю изменений: что было не так, на что было исправлено.
 

ejsanyo

Active member
Я, разумеется, никому не указываю, что и как делать. Но по своему опыту, да и по чужому тоже, вижу, что когда хотя бы очень кратко ведёшь записи по истории версий, потом самому проще становится работать. Например, "v2.1.5 : заменил кривые картинки 65...67 на нормальные". А то ведь пара месяцев - пол года пройдёт, и всё уже забудется, в каком месте более-менее подчищено, а где ещё непаханое поле. И всё придётся вычитывать сначала.
 

Caleb

New member
Мне в документации не удобно, что они регистры изобразили в виде таблицы. Привычнее всё же, когда регистр изображен ввиде ряда маленьких квадратиков с аббревиатурами (типа SFIOR) , а потом уже снизу таблица с расшифровкой всех этих абревиатур. Даже на наши процессор и сопроцессор К1810ВМ86 и К1810ВМ87 документация была выполнена в подобном стиле.
 
Последнее редактирование:

Caleb

New member
Ну и главное, что руководство не полное. Если сравнивать, например, с ATmega16, то где примеры кода на ассемблере для ШИМов, таймеров, интерфейсов и всего-всего. Почему надо читать про ядро контроллера в английской литературе? По их информации не поймешь, какие сокращенные комманды поддерживает ядро Амура (формат "C"). Пусть информацию о ядре тоже включат в руководство. Типовая схема питания просто обязана быть в руководстве, а её там нет. Внешнего вида контроллера тоже нету + чертеж корпуса и растояния между ножками в маштабе 2:1 или 4:1. А также, чтобы на этом чертеже были прописаны все функции каждой ножки, а не просто таблица в конце. Ну и как упоминал выше - регистры сначала вырисовывать в виде квадратиков с аббревиатурами внутри них, а поясняющие таблицы вывести ниже. Ну и где-нибудь в начале руководства привести полную программную модель контроллера, т.е все регистры (квадратики) друг над другом и внутри своего блока, типа как в отладчике avr studio. А то в руководстве только аппаратная схема приведена. У Atmel и microchip руководства к 500-м страницам приближаются.
 

ejsanyo

Active member
Ну и главное, что руководство не полное. Если сравнивать, например, с ATmega16, то где примеры кода на ассемблере для ШИМов, таймеров, интерфейсов и всего-всего.
Чувствую, не сидели вы на STM32, а тем более на его кетайских подражателях. К сожалению, сырая недоделанная документация - это реальность нового времени. На ESP, скажем, вообще логика такая: "зачем вам всю подноготную знать? Вот вам бинарные библиотеки, пользуйтесь их функциями". :mad:
 

Caleb

New member
Да, тоже устал от этого подхода. Меня, например, интересует схема дешифратора комманд и схема второго дешифратора комманд, который в АЛУ стоит. Хочу протащить этот контроллер в proteus. Но такое они, походу, никогда не дадут.
 

ejsanyo

Active member
Меня, например, интересует схема дешифратора комманд и схема второго дешифратора комманд, который в АЛУ стоит.
Влезу со своим дилетантским мнением: а если взять какую-нибудь опенсурсную реализацию RISC-V, может, она и не сильно будет отличаться от Синтакоровской?
 

Caleb

New member
И, конечно же - все абреввиатуры, кроме специальных типа rx, tx, scl, sda, надо перевести на русский. Чтобы было не timer16, а счётчик16, не reset, а сброс, не step, а шаг или шагнуть, не osc32k, а колеб32кгц и проч. Хотя можно попытаться и scl перевести. С англоязычными мы всеравно не торгуем. Другие пусть русский учат или же переводить прямо на их языки. Китайцы не стесняются везде иероглифы пихать и американцы свой инглиш.
 

ejsanyo

Active member
И, конечно же - все абреввиатуры, кроме специальных типа rx, tx, scl, sda, надо перевести на русский. Чтобы было не timer16, а счётчик16, не reset, а сброс, не step, а шаг или шагнуть, не osc32k, а колеб32кгц и проч. Хотя можно попытаться и scl перевести. С англоязычными мы всеравно не торгуем. Другие пусть русский учат или же переводить прямо на их языки. Китайцы не стесняются везде иероглифы пихать и американцы свой инглиш.
А компилятор у вас поддерживает названия структур в виде "счётчик16"? Считаю, что лучше без фанатизма, он с технической точки зрения никому жизнь не упрощает.
 

Caleb

New member
Простите. Просто рос на Корвете, а там все по русски было, даже встроенный бэйсик и операционка. Кстати нашу кодовую страницу тоже надо было не так создавать. Похожие буквы использовать из английского алфавита. Например о и о, H(аш) и Н(эн), E и Е, B(бэ) и В(вэ), X (икс) и Х(хэ). А наши отличающиеся буквы написать ниже. При таком подходе конечно гемор для программистов, они привыкли циклом проходить по алфавиту. Но если программировать не на ассемблере, то можно создать специальные библиотеки для работы со строчками. Зато такая кодовая страница дала бы возможность не переключать клавиатуру на другой язык. Одинаковые символы и английские сверху, наши отлияающиеся снизу. Все бы уместилось. Может пожертвовали бы только верхними цифрами. Оставили только на numlock которые. Кстати интересно, что в английской кодовой странице ansi тоже есть буква ё .
 

mscs

Member
В таблице 31 на стр. 95 указаны неправильные смещения регистров RXDR и TXDR.
Корректные значения смещений: 0x24 - RXDR; 0x28 - TXDR.
 

Shagen

New member
Доброго времени суток. Огромное спасибо и за документацию, и за её исправления.

Немного дополню:
1) страница 33, рисунок 15. USART_CR2 register продублирован и ни к чему не подключён.
2) страница 273, рисунок 89 - домены питания. Легенда сверху. Для Vcc и AVсс прописаны верхние границы напряжения в 5 вольт.
 
Чувствую, не сидели вы на STM32, а тем более на его кетайских подражателях. К сожалению, сырая недоделанная документация - это реальность нового времени. На ESP, скажем, вообще логика такая: "зачем вам всю подноготную знать? Вот вам бинарные библиотеки, пользуйтесь их функциями". :mad:
Да, у STM32 в Reference Manual нет примеров кода, зато имеются диаграммы работы таймеров и прочего оборудования в разных режимах, а кроме RM есть куча Application Notes, где и примеры кода имеются в достатке. Так что документация по STM32 вполне себе пример для подражания.
 
Лично мне в документации не очень нравится то, что например в конфигурации модуля измерения температуры биты разрешения прерываний обозваны "масками", хотя по сути они разрешают, а не запрещают (маскируют) прерывания.
Далее (всё про тот же датчик температуры), если посмотреть в исходники HAL:
Код:
HAL_ERROR, если делитель частоты слишком мал или слишком велик для получения частоты термосенсора 0 - 100 кГц.
А в документации:
Код:
Тактовая частота 32 кГц-100 кГц.
И не очень понятно, тактовая частота чего определяется делителем TSENS_CFG.DIV - "Частота сенсора" - что бы это значило?
 

ejsanyo

Active member
HAL_ERROR, если делитель частоты слишком мал или слишком велик для получения частоты термосенсора 0 - 100 кГц.
Ну попутал немного автор либзы в комментах, бывает. 👼
А так можно аккуратно предположить, что для температурного датчика стоит какой-нибудь УВХ, отсюда и некие "тактовые частоты" для него. Начинающиеся не с нуля...
 
Хорошо, автор попутал :) Но попутал не только в комментариях, но и в коде тоже, там проверки частоты, чтобы была в диапазоне [0...100000]. Было бы хорошо, если приведут доку и либу к общему знаменателю.
 
Ну и в документации не нашёл количество тактов "частоты термосенсора" на одно преобразование. Замеры показывают, что это 4095 тактов.
 

ejsanyo

Active member
Можно было бы подумать, что мы здесь имеем 12-битный АЦП, но в TSENS_VALUE только 10 бит. То ли младшие биты не используются для снижения шумов, то ли там ещё стоит дополнительный предделитель на 4... :unsure:
 
Сверху