ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
24 апреля
926867 Топик полностью
Dingo (11.06.2019 21:07 - 21:39, просмотров: 225) ответил Ксения на Если делать на STM32, то, несмотря на множество таймеров (их 14 штук), использовать для энкодерных целей можно только 3 из них - те, у которых каналы 1 и 2 выведены наружу. А вообще цоколёвка STM32 меня откровенно удручает - зачем было сажать так
Я имел ввиду те таймера, которые могут аппаратно обслуживать энкодеры. https://www.silabs.com/documents/public/reference-manuals/EFM32G-RM.pdf
http://easyelectronics.ru/multipleksirovanie.html
Впечатление такое, что проектировали малоножку с 1-2 портами, а остальных добавили задним числом.
Полагаю, что это коррелирует с действительностью.
Реально мои энкодеры медленные - это рукоятки, крутимые руками, да и то изредка.
но всё равно на каждый надо 2 ноги, какие они медленные бы не были. Ну или питающие включать по очереди, а "выходные" анализировать(всё равно программно или FPGA/CPLD). Посмотрите по ссылке - любопытное, но неоднозначное решениеимхо). Можно поиздеваться как на картинке, но надо смотреть, насколько быстро получится опрашивать.
Скажем, если бы была одна единственная линия прерывания, сообщающая о том, что в каком-то из входных портов (даже без указания в каком именно) изменился какой-то бит (тоже без указания, какой именно), то это мгновенно решило бы проблему, сколько бы много энкодеров ни было, т.к. здесь узкое место не опрос портов, а своевременная реакция на изменения.
снова FPGA/CPLD. STM32 так не умеет. Возможно - NXP, Microchip, TI, ... Если меня память не подводит, вроде что-то похожее PCINT было у EFM32 или Kinetic, но вероятнее, что ошибаюсь. Вот, вроде оно по второй ссылке, стр.405 28.3.3 Interrupt Generation.
Снова не могу удержаться от того, чтобы похвалить периферию X-меги
многим на этом сайте известна ваша симпатия к ним. :) В ряде решений Atmel я разделяю вашу точку зрения.
А сползание обсуждения с архитектурных особенностей на мои задачи происходит исключительно по вине любопытных, которые сперва невинно интересуются "для чего тебе это нужно?", чтобы затем резко сменить тему разговора на другую - "ты - дура, разве эту задачу так надо решать?". :)
Если это шпилька в мой адрес - прошу меня извинить,у меня не было желания вас обидеть. Потому как не знал основной цели:
я выясняю возможности новой для меня архитектуры, а вовсе не прошу посторонних решать за меня мои задачи. Ибо знание возможностей вполне достаточно для того, чтобы самостоятельно решить, где проходит граница между разумными требованиями и реальными возможностями.
image