Отображение ШИМ-микросхемы на BeagleBone Black (v4.14) - PullRequest
0 голосов
/ 06 мая 2018

Очень мало информации о том, как настроить Beaglebone для ШИМ на более новых версиях ядра. Я следовал инструкциям PWM на BeagleBone Black (v4.14) для взаимодействия с чипами PWM, но теперь мне нужно выяснить контакт, к которому подключен каждый чип.

На основании изображения заголовков расширения Cape в документации BeagleBone Black , я знаю:

  • EHRPWM0A = P9_22
  • EHRPWM0B = P9_21
  • EHRPWM1A = P9_14
  • EHRPWM1B = P9_16
  • EHRPWM2A = P8_19
  • EHRPWM2B = P8_13
  • ECAP0 = P9_42

Когда я запускаю ls -lh /sys/class/pwm, чтобы увидеть доступные интерфейсы ШИМ, я вижу:

lrwxrwxrwx 1 root pwm 0 May  6 14:31 pwmchip0 -> ../../devices/platform/ocp/48300000.epwmss/48300100.ecap/pwm/pwmchip0
lrwxrwxrwx 1 root pwm 0 May  6 14:31 pwmchip1 -> ../../devices/platform/ocp/48300000.epwmss/48300200.pwm/pwm/pwmchip1
lrwxrwxrwx 1 root pwm 0 May  6 14:31 pwmchip3 -> ../../devices/platform/ocp/48302000.epwmss/48302200.pwm/pwm/pwmchip3
lrwxrwxrwx 1 root pwm 0 May  6 14:31 pwmchip5 -> ../../devices/platform/ocp/48304000.epwmss/48304100.ecap/pwm/pwmchip5
lrwxrwxrwx 1 root pwm 0 May  6 14:31 pwmchip6 -> ../../devices/platform/ocp/48304000.epwmss/48304200.pwm/pwm/pwmchip6

Когда я сравниваю это с примером BeagleBone PWM , я вижу, что доступные чипы и адреса отличаются. В примере упоминается, что ШИМ могут измениться, поэтому мне нужно выяснить новое отображение.

Как определить соответствие ШИМ-микросхем выводам? Я использую TI AM335x BeagleBone Black Wireless с работающим ядром версии 4.14.37-ti-r46.

1 Ответ

0 голосов
/ 06 мая 2018

На стр. 184 Технического справочного руководства по процессорам Sitara TI AM335x и AMIC110 показана карта памяти для ШИМ-чипов:

Подсистема ШИМ 0: 0x48300000

  • eCAP0: 0x48300100
  • ePWM0: 0x48300200

Подсистема ШИМ 1: 0x48302000

  • eCAP1: 0x48302100
  • ePWM1: 0x48302200

Подсистема ШИМ 2: 0x48304000

  • eCAP2: 0x48304100
  • ePWM2: 0x48304180

Адрес каждого интерфейса ШИМ (размещен в вопросе) содержит аппаратный адрес. Соответствие этим адресам дает нам:

  • EHRPWM0 (ePWM0) - pwmchip1
  • EHRPWM1 (ePWM1) - pwmchip3
  • EHRPWM2 (ePWM2) - pwmchip6
  • ECAP0 (eCAP0) - pwmchip0

Каждый чип EHRPWM имеет два выходных канала ШИМ, таким образом, варианты A и B. Они экспортируются, повторяя 0 или 1 до export. Эти каналы должны использовать одну и ту же частоту, но могут иметь разный рабочий цикл.

Следовательно, при данной конфигурации интерфейса EHRPWM0A и EHRPWM0B расположены по адресу:

root@beaglebone:~# cd /sys/class/pwm/pwmchip1
root@beaglebone:/sys/class/pwm/pwmchip1# ls
device  export  npwm  power  subsystem  uevent  unexport

Для экспорта EHRPWM0A (P9_22):

root@beaglebone:/sys/class/pwm/pwmchip0# echo 0 > export
root@beaglebone:/sys/class/pwm/pwmchip0# ls
device  export  npwm  power  pwm-1:0  subsystem  uevent  unexport

Для экспорта EHRPWM0B (P9_21):

root@beaglebone:/sys/class/pwm/pwmchip0# echo 1 > export
root@beaglebone:/sys/class/pwm/pwmchip0# ls
device  export  npwm  power  pwm-1:1  subsystem  uevent  unexport

Примечание: список доступных интерфейсов и адресов ШИМ может отличаться от списка, приведенного в вопросе, но этот метод все равно будет работать для определения окончательной карты выводов.

...