Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем
Текущее время: 2021-фев-25 13:18

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 200 сообщений ]  На страницу « 110 11 12 13 14
Автор Сообщение
СообщениеДобавлено: 2020-окт-31 23:09 
Не в сети

Зарегистрирован: 2018-мар-18 15:49
Сообщения: 211
Организация: StartMilandr.ru
R Max писал(а): *
1) при любом обращении через битовые поля значение размазывается по байтам, то есть пишется какой-либо бит, а он повторяется 4 раза,
Если это про то, что тут написано https://github.com/StartMilandr/MDR_Pack_v6/wiki
то я не нашел способа объяснить компилятору, чтобы он STRB инструкции не использовал при записи в регистр (при выставлении битового поля)

С HSE наверное отсюда же ноги растут, посмотрите что в итоге оказывается в регистрах. Либо это Errata 2004 - https://startmilandr.ru/doku.php/doc:mk:mkee:ask1
На отладочной поэтому приходилось после подачи питания дополнительно Reset подавать, если память не изменяет.


Вернуться к началу
СообщениеДобавлено: 2020-ноя-01 02:23 
Не в сети
Аватара пользователя

Зарегистрирован: 2011-авг-21 18:55
Сообщения: 284
StartMilandr писал(а): *
R Max писал(а): *
1) при любом обращении через битовые поля значение размазывается по байтам, то есть пишется какой-либо бит, а он повторяется 4 раза,
Если это про то, что тут написано https://github.com/StartMilandr/MDR_Pack_v6/wiki
то я не нашел способа объяснить компилятору, чтобы он STRB инструкции не использовал при записи в регистр (при выставлении битового поля)

С HSE наверное отсюда же ноги растут, посмотрите что в итоге оказывается в регистрах. Либо это Errata 2004 - https://startmilandr.ru/doku.php/doc:mk:mkee:ask1
На отладочной поэтому приходилось после подачи питания дополнительно Reset подавать, если память не изменяет.
StartMilandr

GRAND MERCI!!! :D

Всё заработало, по 1) да в листинге LDRB/STRB - галочка enum is int помогает (раньше на это внимание не обращал, потому что всегда писал в битовые поля false/true (а они int походу) либо как в bitband);
по 2) фокус с кнопкой S5 (Reset) на отладочной плате работает :mrgreen: - действительно это errata 4.

P.S. Во вложении рабочий проект...поправил ещё логику работы с портами)...


Вложения:
esila.rar [852.68 КБ]
65 скачиваний

_________________
Hack the Planet!
Вернуться к началу
СообщениеДобавлено: 2021-фев-23 18:40 
Не в сети
Аватара пользователя

Зарегистрирован: 2011-авг-21 18:55
Сообщения: 284
Появились следующие вопросы:

1. Чему равны максимальная частота тактирования АЦП и максимальная частота сэмплирования АЦП ?

2.1. Как синхронизировать работу контроллеров ШИМ 2, 6, 7, 8, чтобы начала их периодов счёта были одинаковыми при одинаковых периодах счёта (вообще нужен режим работы как на обычном таймере TMR - 4 пары (стойки) ключевых транзисторов: (СH1 + CH1n), (СH2 + CH2n), (СH3 + CH3n), (СH4 + CH4n) ?
2.2 По умолчанию контроллеры ШИМ уже синхронизированы по тактовой частоте микроконтроллера (PCLK) ?
2.3 Можно ли как-то синхронизировать модуль ШИМ с обычным таймером TMR, например чтобы получить режим работы 3 пары (стойки) ключевых транзисторов: (СH1 + CH1n), (СH2 + CH2n), (СH3 + CH3n) + (PWM1_A +PWM1_B) с тем же самым периодом счёта.

3. Как синхронизировать работу (например запуск преобразований между первыми в парах АЦП - ADC00, ADC01, ADC02) всех контроллеров АЦП 1, 2, 3 ?

_________________
Hack the Planet!


Вернуться к началу
СообщениеДобавлено: 2021-фев-24 10:57 
Не в сети

Зарегистрирован: 2014-дек-22 11:21
Сообщения: 28
R Max писал(а): *
2.1. Как синхронизировать работу контроллеров ШИМ 2, 6, 7, 8, чтобы начала их периодов счёта были одинаковыми при одинаковых периодах счёта (вообще нужен режим работы как на обычном таймере TMR - 4 пары (стойки) ключевых транзисторов: (СH1 + CH1n), (СH2 + CH2n), (СH3 + CH3n), (СH4 + CH4n) ?
На старт миландре указан способ: сначала конфигурируются таймеры, потом одной записью в RST запускается тактирование модулей.


Вернуться к началу
СообщениеДобавлено: 2021-фев-24 20:15 
Не в сети
Аватара пользователя

Зарегистрирован: 2011-авг-21 18:55
Сообщения: 284
EvILOne писал(а): *
R Max писал(а): *
2.1. Как синхронизировать работу контроллеров ШИМ 2, 6, 7, 8, чтобы начала их периодов счёта были одинаковыми при одинаковых периодах счёта (вообще нужен режим работы как на обычном таймере TMR - 4 пары (стойки) ключевых транзисторов: (СH1 + CH1n), (СH2 + CH2n), (СH3 + CH3n), (СH4 + CH4n) ?
На старт миландре указан способ: сначала конфигурируются таймеры, потом одной записью в RST запускается тактирование модулей.
Если про эту информацию https://startmilandr.ru/doku.php/doc:doclist:timers, то это не то, но всё равно Спасибо, тоже было интересно почитать !)

Не до конца понятна логика работы синхронизации модулей ШИМ - что необходимо записать в регистры ШИМ, чтобы собрать цепочку модулей ШИМ в определённой последовательности....и что значит фраза "для синхронизации таймера с другими таймерами системы" ....какой системы...системы модулей ШИМ, или сюда же можно включить обычные таймеры TMR ?? ...и я так понимаю в первом синхронном запуске модулей ШИМ должен как-то поучаствовать бит однократного программного импульса синхронизации-запуска SWSYNC ??
Открыть
Вложение:
[ attachment ]
Безымянный.jpg [ 224.13 КБ | 34 просмотра ]
Вложение:
[ attachment ]
3.jpg [ 218.04 КБ | 34 просмотра ]
Закрыть

_________________
Hack the Planet!


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 200 сообщений ]  На страницу « 110 11 12 13 14

Часовой пояс: UTC+03:00


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти: 

Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB