К1921ВК01Т (арм Cortex-M4F)

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

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

serg_vega
Сообщения: 41
Зарегистрирован: 20 июл 2020, 15:50
Предприятие: АО "ВНИИ "Вега"

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение serg_vega » 17 май 2021, 17:02

Disona писал(а):
17 май 2021, 15:25
serg_vega писал(а):
17 май 2021, 15:05
Вопрос Вектору: а какие прерывания разрешает макрос #define EINT __enable_irq()? Разве у данного контроллера есть полный запрет/разрешения прерываний?
Здравствуйте

Данный макрос, как можно видеть, вызывается CMSIS-функцию "__enable_iqr()", которая внутри выполняет ассемблерную команду "cpsid i".

Данная команда выставляет первый (и единственный значимый) бит в регистре "PRIMASK" ядра кортекс-M4. Согласно описание ядра это действие запрещает вызов всех прерываний с конфигурируемым приоритетом. Другими словами - запрещаются все периферийные прерывания; могут быть вызваны только прерывания с приоритетом ниже 0 - например прерывание таймера SysTick, прерывание из-за ошибки процессора "HardFault" / "BusFault" и так далее.

Подробнее про эти прерывания можно почитать в разделе "Exception model" документа кортекс-M4F User Guide (https://developer.арм.com/documentation/dui0553/latest/ , только "арм" в ссылке поменяйте на латинское написание, а то тут на форуме почему-то автоматом меняется на кириллицу).
Спасибо. Только наверное запрещает __disable_irq(); а "__enable_iqr()" все же должна разрешать. Причем по небольшому опыту с 1921ВК01Т и достаточно большому с STM и арм-ядер, встроенных в Zynq от Xilinx получается, что по умолчанию прерывания с приоритетом больше "0" разрешены.

Аватара пользователя
Disona
Сообщения: 61
Зарегистрирован: 06 дек 2016, 11:18
Предприятие: НПФ Вектор
Откуда: Москва
Contact:

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение Disona » 17 май 2021, 17:25

serg_vega писал(а):
17 май 2021, 17:02
Спасибо. Только наверное запрещает __disable_irq(); а "__enable_iqr()" все же должна разрешать.
Да, действительно, я перепутал.
serg_vega писал(а):
17 май 2021, 17:02
Причем по небольшому опыту с 1921ВК01Т и достаточно большому с STM и арм-ядер, встроенных в Zynq от Xilinx получается, что по умолчанию прерывания с приоритетом больше "0" разрешены.
Возможно, так и есть.
С уважением, Дмитрий Шпак
ООО "НПФ Вектор"

prostoRoman
Сообщения: 57
Зарегистрирован: 11 июл 2014, 15:06

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение prostoRoman » 17 май 2021, 17:54

serg_vega писал(а):
14 май 2021, 09:38
prostoRoman писал(а):
13 май 2021, 22:12
serg_vega писал(а):
13 май 2021, 16:01
...из описания которой вообще невозможно понять какой у нее mode, там только картинки и они не совпадают тривиально ни с одним режимом STM32.
Тем более. Пробуйте перебором, там вариантов всего 4 стандартных.
Какая у Вас такая м/с с непонятным интерфейсом?
5101НА015. Ну, вообще да, надо пробовать. Да вот беда, ее тоже в живую нет. Зато потом, типа все соберут и дадут одни выходные на отладку. Типа, а что вы делали полгода?
Да, ситуация типичная.
Попинайте техподдрержку на форуме какой у неё SPI MODE, вроде отвечают быстро.

serg_vega
Сообщения: 41
Зарегистрирован: 20 июл 2020, 15:50
Предприятие: АО "ВНИИ "Вега"

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение serg_vega » 18 май 2021, 12:17

Понять не могу: SPI в данном контроллере настолько кривой, что разработчики не удосужились сделать пример с прерываниями? И "Вектор" тоже? Я хочу передавать, допустим пакеты по 8 слов. И принимать, соответственно тоже, по 8 слов. Делаем polling... Все работает все корректно... Включаем режим прерывания. Выставляем прерывания по ROR, и на осциллографе я вижу 8 переданных слов.... В прерывание мы не заходим... Ну да,буфер ведь заполнен, но не переполнен. Да и ладно. Ведь есть прерывания по заполнению буфера приемника наполовину... И тоже не работает, есть пропуски слов! Прерывания по опустошению буфера передатчика не существуют! И как с этим работать? По таймеру, закладываясь на время передачи пакета?

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

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение Лашкевич » 18 май 2021, 12:20

Мы (Вектор) с прерываниями по SPi не работали, нам хватало и так. Извините.
С уважением,
Лашкевич Максим.
Инженер-программист ООО "НПФ Вектор", Москва.
http://motorcontrol.ru/

serg_vega
Сообщения: 41
Зарегистрирован: 20 июл 2020, 15:50
Предприятие: АО "ВНИИ "Вега"

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение serg_vega » 18 май 2021, 12:43

Лашкевич писал(а):
18 май 2021, 12:20
Мы (Вектор) с прерываниями по SPi не работали, нам хватало и так. Извините.
Ну а НИИЭТ после увольнения bkolbov, вообще забил и на поддержку, и на примеры и на контроллер :D

serg_vega
Сообщения: 41
Зарегистрирован: 20 июл 2020, 15:50
Предприятие: АО "ВНИИ "Вега"

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение serg_vega » 20 май 2021, 09:39

Ну что же... Поскольку разработчик данного контроллера ушел в глухое молчание, даже телефонные звонки не стимулируют активность поддержки, предлагаю считать, что режим прерываний в контроллере SPI по факту отсутствует. По крайней до представления НИИЭТ рабочих примеров. Точнее он все же есть, но кривизна его запредельна!

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

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение dav » 20 май 2021, 10:06

serg_vega писал(а):
20 май 2021, 09:39
Ну что же... Поскольку разработчик данного контроллера ушел в глухое молчание, даже телефонные звонки не стимулируют активность поддержки, предлагаю считать, что режим прерываний в контроллере SPI по факту отсутствует. По крайней до представления НИИЭТ рабочих примеров. Точнее он все же есть, но кривизна его запредельна!
Доброго времени суток!
SPI с прерываниями планируете использовать только для управления ЦАП 5101НА015? или для других задач?

serg_vega
Сообщения: 41
Зарегистрирован: 20 июл 2020, 15:50
Предприятие: АО "ВНИИ "Вега"

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение serg_vega » 20 май 2021, 13:59

dav писал(а):
20 май 2021, 10:06
serg_vega писал(а):
20 май 2021, 09:39
Ну что же... Поскольку разработчик данного контроллера ушел в глухое молчание, даже телефонные звонки не стимулируют активность поддержки, предлагаю считать, что режим прерываний в контроллере SPI по факту отсутствует. По крайней до представления НИИЭТ рабочих примеров. Точнее он все же есть, но кривизна его запредельна!
Доброго времени суток!
SPI с прерываниями планируете использовать только для управления ЦАП 5101НА015? или для других задач?
Нет. У нас широкое его применение кроме 5101НА015 точно 5306нт015, TQC9305 и PE43713. Это в том проекте, где платы уже разведены. И, возможно LM97593, а там вообще все очень жестко. Там будем думать. 100 МГЦ тактовой против 168 МГц у ST415RG, возможно просто не прокатят.

krestnick
Сообщения: 4
Зарегистрирован: 21 май 2021, 11:20
Предприятие: ППП ДА

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение krestnick » 21 май 2021, 11:56

Встал вопрос применения данного МК в новой разработке. В заменяемом МК используются 9 аппаратных таймеров. Возможно ли использовать таймеры ШИМ, квадратурных декодеров или каналов захвата в качестве дополнительных таймеров общего пользования? По документации на МК пока есть понимание, что такая возможность есть. Нет ли каких-либо ограничений?

Ответить

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

Пользователи онлайн

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