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 ШИМ Руководство водителя

Другие вопросы по тегам