1

Тема: Измерение параметров ШИМ сигнала

Здравствуйте, подскажите способ измерения параметров ШИМ сигнала, в Canny 3 Tiny есть зашитая функция определения длины импульса, в Canny 7 такой функции нет.
Каким образом его можно реализовать?
По сути на выходе функции нужно получить процент заполнения 0-100.

2

Re: Измерение параметров ШИМ сигнала

В настоящее время драйвер каналов ввода-вывода CANNY 7 не поддерживает работу в режиме измерения ширины импульса.
Реализовать же достаточно эффективный подсчет параметров ШИМ 1...100 % с шагом 1% программно, представляется возможным лишь для частот 1-2 Гц и ниже. Для более высоких частот, на данный момент рекомендуем использовать любой другой контроллер CANNY с поддержкой такой функции в драйвере каналов ввода-вывода.

3 (17-02-2022 14:17:48 отредактировано Wildnew)

Re: Измерение параметров ШИМ сигнала

То есть входы canny 7 не способны зафиксировать меняющийся сигнал с частотой допустим 250 Гц?
в переводе на ШИМ, например 250 Гц с заполнением 1% это сигнал длительностью 40 мкс

4

Re: Измерение параметров ШИМ сигнала

Входы CANNY 7, очевидно, способны обработать сигнал с такими параметрами, так как поверх этих входов работает например LIN, UART, IRRC. Однако, в системном ПО CANNY 7, в отличие от других контроллеров CANNY, поддержка функции измерения ширины импульса в данный момент отсутствует.

5

Re: Измерение параметров ШИМ сигнала

То что эта функция отсутствует в системном ПО я понял по документации и написал об этом в первом сообщении.
Вопрос был о том как реализовать это на уровне диаграммы, на что вы ответили что это не возможно.
Хотелось бы понять по какой причине?
Если ограничение железное и контроллер (имеется в виду именно связка HW + системное ПО) не способен будет зафиксировать такой короткий импульс, то понятно.
А если все-таки способен, то как в диаграмме замерить время между переходами из 0 в 1 и наоборот?

6 (17-02-2022 16:26:11 отредактировано Wildnew)

Re: Измерение параметров ШИМ сигнала

Отвечаю на свой вопрос сам.
собрав минимальную диаграмму и замерив результат осцилографом, выяснил, что
Canny 7 физически не успевает зарегистрировать импульс короче 205 мс.

UPD:
Ошибся, переконфигурил вход на максимальную чувствительность, результаты уже обнадеживающие, 520мкс на минимальной диаграмме успевает фиксировать.
если получится посчитать хотя бы эту длительность то уже можно частично реализовать задуманное.
Осталось понять как?

Я так понимаю, как раз замерить то и  не чем, регистр "Длительность программного цикла" отдает только миллисекунды, то-есть все таки упираемся в ограничения контроллера.

Вложений в сообщении

Иконка вложения изображение_2022-02-17_184855.png 13.3 кб, скачивался 41 раз, последний раз 2022-02-17 

7

Re: Измерение параметров ШИМ сигнала

Wildnew пишет:

Вопрос был о том как реализовать это на уровне диаграммы, на что вы ответили что это не возможно.
Хотелось бы понять по какой причине?

По причине недостаточной производительности пользовательского ПО - диаграммы.

Wildnew пишет:

Если ограничение железное и контроллер (имеется в виду именно связка HW + системное ПО) не способен будет зафиксировать такой короткий импульс, то понятно.

Повторюсь - аппаратная часть не является в данном случае ограничением, текущая версия системного ПО - является.

Wildnew пишет:

Я так понимаю, как раз замерить то и  не чем, регистр "Длительность программного цикла" отдает только миллисекунды, то-есть все таки упираемся в ограничения контроллера.

Возможно, мы с вами имеем ввиду одно и тоже, однако я считаю что это ограничения не контроллера, а текущей версии системного ПО. Во других контроллерах CANNY регистр "Длительность программного цикла" также содержит значения в миллисекундах, что не мешает получать значения ширины импульсов в микросекундах из других специальных регистров контроллера.

8 (17-02-2022 17:23:31 отредактировано Wildnew)

Re: Измерение параметров ШИМ сигнала

Константин, CANNY пишет:

Возможно, мы с вами имеем ввиду одно и тоже, однако я считаю что это ограничения не контроллера, а текущей версии системного ПО. Во других контроллерах CANNY регистр "Длительность программного цикла" также содержит значения в миллисекундах, что не мешает получать значения ширины импульсов в микросекундах из других специальных регистров контроллера.

Ну тут смотря с какой точки рассматривать..
Для меня контроллер это именно связка HW + системное ПО

И если уж вы акцентируете внимание на том что в этой связке слабое звено именно системное ПО, то почему не добавите такой функционал? Разве Canny 7 является более бюджетным устройством чем tiny, что его обделили этой функцией?

9

Re: Измерение параметров ШИМ сигнала

Wildnew пишет:

почему не добавите такой функционал?

Не рассматривали такую возможность. Поставим в план.

Разве Canny 7 является более бюджетным устройством чем tiny, что его обделили этой функцией?

CANNY 7 вышел несколько раньше остальных моделей контроллеров CANNY.

10

Re: Измерение параметров ШИМ сигнала

Константин, CANNY пишет:

Поставим в план.

на данный момент рекомендуем использовать любой другой контроллер CANNY с поддержкой такой функции в драйвере каналов ввода-вывода.

Очень бы хотелось. А это вообще на сколько реализуемо в ближайшем будущем?
Получается из миниатюрных контроллеров у вас сейчас нет вариантов по моими требованиям:
1 Lin,
1 UART,
1 Шим вход,
3 выхода,
2 входа.

11

Re: Измерение параметров ШИМ сигнала

А это вообще на сколько реализуемо в ближайшем будущем?

Поставлено в план. Другой информации на данный момент нет.

Получается из миниатюрных контроллеров у вас сейчас нет вариантов по моими требованиям:
1 Lin,
1 UART,
1 Шим вход,
3 выхода,
2 входа.

Попробуйте рассмотреть CANNY 7.2 Duo

То, что вы задали первоначальный вопрос в контексте CANNY 7, позволяет мне предположить, что он для вас достаточно миниатюрен.