-
- RTFM. Есть единичные прерывания, есть Pin change то есть прерывания по смене состояния входа порта. Вход также можно сделать источником события для Event System. De_User(1053 знак., 20.05.2019 00:23 - 08:59, ссылка)
- Посмотрите плиззз 13.19 пункт приложенного файла. Что именно это означает я так не и не понял. imhoteb(20.05.2019 09:31)
- Два вектора прерываний: INT0 и INT1. Если прописываешь маску в INT0MASK, то вызывается INT0. Если прописываешь маску в INT1MASK, то вызывается INT1. - Ale3000(20.05.2019 10:09)
- Собственно и вопрос, если у порта А вектор 84, то что получается судя по мануалу INT0 адрес 84 а INT1 адрес 86? - imhoteb(20.05.2019 12:44)
- Пишу на ИАРе. Даже не задумываюсь, где какие номера векторов. Ale3000(1888 знак., 21.05.2019 04:02)
- И это правильно, потому что у ATMEL сил написать подробное и качественное описание явно не хватило. - De_User(21.05.2019 04:18 - 04:30)
- Адреса векторов и регистров надо не в мануале искать, а смотреть в хедер, где определены их имена. Глупо такой цифирью загромождать даташиты и мануалы. - Ксения(21.05.2019 15:59)
- Как не хватило? Разве не всё что нужно в мануале описано? Клевещите... - Apтём(21.05.2019 15:51)
- Про квадратурный энкодер предельно скупо написано. О предельных частотах сигнала и о минимальном времени между фазами информации нет. - De_User(22.05.2019 06:32)
- Мне в свое время вполне хватило атемеловской документации чтобы запустить на Хмеге обработку двух энкодеров с аппаратным вычислением положения и скорости каждого. AlexG(93 знак., 22.05.2019 13:36)
- Спасибо! Какая максимальная частота планировалась? - De_User(22.05.2019 20:49)
- Кое-что удалось найти. Максимальная частота входных сигналов планировалась 40 кГц - AlexG(27.05.2019 18:47)
- Спасибо! В итоге AtXmega не подходит по скорости обработки, не успеет обсчитывать ПИД регулятор при частоте опроса 100 кГц. + Датчик на 20+ разрядов, а каскадировать энкодер занятие неблагодарное. Нацелился на STM32F4 - De_User(27.05.2019 20:09)
- В Хмегах аппаратное каскадирование таймеров, но будет ли это работать с энкодером - большой вопрос. Обсчитывать ПИД с частотой 100 кГц Хмега конечно не сможет, если только не писать все на ассемблере. AlexG(133 знак., 28.05.2019 12:46)
- Я заводила под старшие разряды переменную в памяти (разряды 0-15 в регистре CNT, разряды 16-31 в ячейке памяти). Когда обслуживание энкодера вызывало прерывание по overflow, делала инкремент или декремент этой ячейке. Т.е. никакого умножения и Ксения(104 знак., 28.05.2019 23:48)
- А как понять, делать инкремент INC или декремент DEC ? Прерывание же одно и то же? У меня около каждого значения колебания в "+" и в "-" имеют место быть. Побочный эффект увеличения разрешения датчика. - De_User(29.05.2019 00:04)
- Прерывание по overflow там совмещено с underflow. Когда оно возникнет, тогда и решите, INC это или DEC, по знаку CNT. Если он мал (меньше половины шкалы) то это был overflow. Т.е. оно у меня так: Ксения(217 знак., 29.05.2019 00:34 - 00:37)
- Спасибо! - De_User(29.05.2019 01:27)
- Прерывание по overflow там совмещено с underflow. Когда оно возникнет, тогда и решите, INC это или DEC, по знаку CNT. Если он мал (меньше половины шкалы) то это был overflow. Т.е. оно у меня так: Ксения(217 знак., 29.05.2019 00:34 - 00:37)
- А как понять, делать инкремент INC или декремент DEC ? Прерывание же одно и то же? У меня около каждого значения колебания в "+" и в "-" имеют место быть. Побочный эффект увеличения разрешения датчика. - De_User(29.05.2019 00:04)
- Я заводила под старшие разряды переменную в памяти (разряды 0-15 в регистре CNT, разряды 16-31 в ячейке памяти). Когда обслуживание энкодера вызывало прерывание по overflow, делала инкремент или декремент этой ячейке. Т.е. никакого умножения и Ксения(104 знак., 28.05.2019 23:48)
- В Хмегах аппаратное каскадирование таймеров, но будет ли это работать с энкодером - большой вопрос. Обсчитывать ПИД с частотой 100 кГц Хмега конечно не сможет, если только не писать все на ассемблере. AlexG(133 знак., 28.05.2019 12:46)
- Спасибо! В итоге AtXmega не подходит по скорости обработки, не успеет обсчитывать ПИД регулятор при частоте опроса 100 кГц. + Датчик на 20+ разрядов, а каскадировать энкодер занятие неблагодарное. Нацелился на STM32F4 - De_User(27.05.2019 20:09)
- Не могу пока посмотреть оставшиеся материалы по проекту. Если удасться найти такие подробности отпишусь позже. - AlexG(23.05.2019 06:50)
- Кое-что удалось найти. Максимальная частота входных сигналов планировалась 40 кГц - AlexG(27.05.2019 18:47)
- Спасибо! Какая максимальная частота планировалась? - De_User(22.05.2019 20:49)
- Работа с квадратурным энкодером описана в аппликэйшене: "VR1600: Using the XMEGA Quadrature Decoder" не шибко хорошо, но достаточно для использования. Скорость счета очевидно определяется скоростью срабатывания системы событий, которая Ксения(375 знак., 22.05.2019 13:23, ссылка)
- Мне в свое время вполне хватило атемеловской документации чтобы запустить на Хмеге обработку двух энкодеров с аппаратным вычислением положения и скорости каждого. AlexG(93 знак., 22.05.2019 13:36)
- Про квадратурный энкодер предельно скупо написано. О предельных частотах сигнала и о минимальном времени между фазами информации нет. - De_User(22.05.2019 06:32)
- И это правильно, потому что у ATMEL сил написать подробное и качественное описание явно не хватило. - De_User(21.05.2019 04:18 - 04:30)
- В мануале 0x084 (@16), в AS 66 и 67 (@64), в Яrе 0x0108 0x010C (@08) De_User(176 знак., 20.05.2019 21:00 - 21:30, ссылка)
- Пишу на ИАРе. Даже не задумываюсь, где какие номера векторов. Ale3000(1888 знак., 21.05.2019 04:02)
- Собственно и вопрос, если у порта А вектор 84, то что получается судя по мануалу INT0 адрес 84 а INT1 адрес 86? - imhoteb(20.05.2019 12:44)
- Два вектора прерываний: INT0 и INT1. Если прописываешь маску в INT0MASK, то вызывается INT0. Если прописываешь маску в INT1MASK, то вызывается INT1. - Ale3000(20.05.2019 10:09)
- Посмотрите плиззз 13.19 пункт приложенного файла. Что именно это означает я так не и не понял. imhoteb(20.05.2019 09:31)
- Утрясите терминологию - порты не могут принимать прерываний. Прерывание - это такой внеочередной вызов подпрограммы, а не выдача каких-либо внешних сигналов через порты. Вызвать прерывания могут внешние сигналы портов, таймеры и кое-что еще. Ксения(289 знак., 20.05.2019 02:17)
- RTFM. Есть единичные прерывания, есть Pin change то есть прерывания по смене состояния входа порта. Вход также можно сделать источником события для Event System. De_User(1053 знак., 20.05.2019 00:23 - 08:59, ссылка)