Buzzer: различия между версиями

Нет описания правки
Строка 7: Строка 7:


==О ШИМ и пересчёт параметров==<!--T:2-->
==О ШИМ и пересчёт параметров==<!--T:2-->
ШИМ - это прямоугольные импульсы, интерфейс ядра позволяет регулировать частоту импульсов и коэффициент заполнения.
[[Файл:Duty_cycle.gif|440px|thumb|right|Duty cycle управляет яркостью светодиодов/громкостью buzzer'a]]
Коэффециент заполнения влияет на громкость звука.
ШИМ (PWM) - это распространённый способ управления мощностью, подаваемой к нагрузке. Подробнне о том, что такое ШИМ можно узнать из сторонних ресурсов.
 
<!--T:2-->
В контексте управления Buzzer'ом, нас интересуют 2 параметра PWM:
*Коэффициент заполнения (duty cycle) - влияет на громкость звука. Обычно, считается в процентном соотношении от периода сигнала.
*Частота PWM (frequency) - влияет на высоту звука (чем выше частота, тем выше и звук). Единица, обратная периоду сигнала.
 
<!--T:2-->
Ядро Linux предоставляет интерфейс sysfs для pwm, который принимает частоту pwm и duty cycle в '''наносекундах (1E-9c)'''! Поэтому, для низкоуровневого управления Buzzer'ом нужно производить пересчёт желаемой частоты из KHz в период в наносекундах по формуле:
<b>
T(ns) = 1 000 000 / f(kHz)
</b>


==Низкоуровневая работа==<!--T:3-->
==Низкоуровневая работа==<!--T:3-->
wb_editors
556

правок