Миландр https://forum.milandr.ru/ |
|
Микроконтроллер для электродвигателей https://forum.milandr.ru/viewtopic.php?f=14&t=1753 |
Страница 14 из 14 |
Автор: | StartMilandr [ 2020-окт-31 23:09 ] |
Заголовок сообщения: | Re: Микроконтроллер для электродвигателей |
1) при любом обращении через битовые поля значение размазывается по байтам, то есть пишется какой-либо бит, а он повторяется 4 раза,
Если это про то, что тут написано https://github.com/StartMilandr/MDR_Pack_v6/wikiто я не нашел способа объяснить компилятору, чтобы он STRB инструкции не использовал при записи в регистр (при выставлении битового поля) С HSE наверное отсюда же ноги растут, посмотрите что в итоге оказывается в регистрах. Либо это Errata 2004 - https://startmilandr.ru/doku.php/doc:mk:mkee:ask1 На отладочной поэтому приходилось после подачи питания дополнительно Reset подавать, если память не изменяет. |
Автор: | R Max [ 2020-ноя-01 02:23 ] | ||||
Заголовок сообщения: | Re: Микроконтроллер для электродвигателей | ||||
1) при любом обращении через битовые поля значение размазывается по байтам, то есть пишется какой-либо бит, а он повторяется 4 раза,
Если это про то, что тут написано https://github.com/StartMilandr/MDR_Pack_v6/wikiто я не нашел способа объяснить компилятору, чтобы он STRB инструкции не использовал при записи в регистр (при выставлении битового поля) С HSE наверное отсюда же ноги растут, посмотрите что в итоге оказывается в регистрах. Либо это Errata 2004 - https://startmilandr.ru/doku.php/doc:mk:mkee:ask1 На отладочной поэтому приходилось после подачи питания дополнительно Reset подавать, если память не изменяет. GRAND MERCI!!! ![]() Всё заработало, по 1) да в листинге LDRB/STRB - галочка enum is int помогает (раньше на это внимание не обращал, потому что всегда писал в битовые поля false/true (а они int походу) либо как в bitband); по 2) фокус с кнопкой S5 (Reset) на отладочной плате работает ![]() P.S. Во вложении рабочий проект...поправил ещё логику работы с портами)...
|
Автор: | R Max [ 2021-фев-23 18:40 ] |
Заголовок сообщения: | Re: Микроконтроллер для электродвигателей |
Появились следующие вопросы: 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 ? |
Автор: | EvILOne [ 2021-фев-24 10:57 ] |
Заголовок сообщения: | Re: Микроконтроллер для электродвигателей |
2.1. Как синхронизировать работу контроллеров ШИМ 2, 6, 7, 8, чтобы начала их периодов счёта были одинаковыми при одинаковых периодах счёта (вообще нужен режим работы как на обычном таймере TMR - 4 пары (стойки) ключевых транзисторов: (СH1 + CH1n), (СH2 + CH2n), (СH3 + CH3n), (СH4 + CH4n) ?
На старт миландре указан способ: сначала конфигурируются таймеры, потом одной записью в RST запускается тактирование модулей.
|
Автор: | R Max [ 2021-фев-24 20:15 ] |
Заголовок сообщения: | Re: Микроконтроллер для электродвигателей |
2.1. Как синхронизировать работу контроллеров ШИМ 2, 6, 7, 8, чтобы начала их периодов счёта были одинаковыми при одинаковых периодах счёта (вообще нужен режим работы как на обычном таймере TMR - 4 пары (стойки) ключевых транзисторов: (СH1 + CH1n), (СH2 + CH2n), (СH3 + CH3n), (СH4 + CH4n) ?
На старт миландре указан способ: сначала конфигурируются таймеры, потом одной записью в RST запускается тактирование модулей.
Не до конца понятна логика работы синхронизации модулей ШИМ - что необходимо записать в регистры ШИМ, чтобы собрать цепочку модулей ШИМ в определённой последовательности....и что значит фраза "для синхронизации таймера с другими таймерами системы" ....какой системы...системы модулей ШИМ, или сюда же можно включить обычные таймеры TMR ?? ...и я так понимаю в первом синхронном запуске модулей ШИМ должен как-то поучаствовать бит однократного программного импульса синхронизации-запуска SWSYNC ?? |
Страница 14 из 14 | Часовой пояс: UTC+03:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |