beaglebone: как установить часы PWM?, через программу, написанную на C
Я работал с Биглебоном в последнее время и у меня есть вопрос.
Я работал с микроконтроллерами TI раньше, устанавливая регистры так, как мне нужно.
Из того, что я понимаю, дистрибутив Angstrom (тот, который поставляется с платой) позволяет устанавливать регистры процессора, как вы хотите (через папки ядра и класса из / sys). Как соотнести файлы в Angstrom с регистрами микропроцессора TI?
Кроме того, как я могу установить часы / таймер для сигналов ШИМ? Я хочу сделать это через программу на C. Я нашел библиотеки и программы, написанные на python, но они не помогают мне понять, что на самом деле установлено.
Я ценю помощь, которую вы могли бы оказать.
Заранее спасибо.
Гас
2 ответа
Я недавно начал использовать биглебон и нуждался в чем-то подобном. После выяснения таблиц MUX в справочном руководстве по системе для beagle bone я выяснил, что требуется.
В /sys/kernel/debug/omap_mux/ есть все файлы для мультиплексирования функций для каждого вывода на плате. Вам нужно записать номер режима в правильный файл, чтобы установить режим для порта pwm, который вы хотите.
Запись 1 в mcasp0_aclkx активирует pwm ehrpwm.0:0 на выводе 9_31.
Запись 1 в mcasp0_fsx активирует pwm ehrpwm.0:1 на выводе 9_29.
запись 6 в gpmc_a2 активирует pwm ehrpwm.1:0 - порт 9-14.
запись 6 в gpmc_a3 активирует pwm ehrpwm.1:1 - порт 9-1.
запись 4 в gpmc_ad8 активирует pwm ehrpwm.2:0 - порт 8-19.
Запись 4 в gpmc_ad9 активирует pwm ehrpwm.2:1 - порт 8-13.
запись 0 в ecap0_in_pwm0_out активирует pwm ecap.0 - порт 9-42.
запись 4 в mcasp0_ahclkr активирует pwm ecap.2 - порт 9-28
Соответствующие файлы pwm находятся в /sys/class/pwm/
Затем вы можете следовать Руководству по использованию драйвера ШИМ AM335x, для которого нужно записать файлы для активации сигнала ШИМ.
Учитывая, что у вас есть поддержка ядра для ШИМ (3.2.6+), используйте интерфейс /sys. см.: AM335x ШИМ Руководство водителя