Difference between revisions of "PWM"
m (→Links) |
(Add SoX) |
||
Line 43: | Line 43: | ||
== Audio Mode == | == Audio Mode == | ||
− | Audio playback mode is | + | Audio playback mode is working since v0.5 of PWM driver (thanks to SebastienR). |
+ | You can play 8, 16 & 32 KHz 8bit linear RAW sound. It's recommended to play 8kHz one, as they use less CPU ressources. | ||
+ | To convert a sound to the right format we recommend to use SoX (on Linux). | ||
+ | For exemple: | ||
+ | [host]$ sox /usr/share/sounds/KDE_Chimes_1.ogg -r 8000 -b -u -c 1 Chimes.raw | ||
+ | -r -> sampling rate | ||
+ | -b -> byte/8bit signal | ||
+ | -u -> linear /not compressed | ||
+ | -c 1 -> Mono / 1 channel | ||
== Links == | == Links == | ||
* [http://sox.sourceforge.net/Docs/FAQ SoX, sound format converter] | * [http://sox.sourceforge.net/Docs/FAQ SoX, sound format converter] | ||
* http://en.wikipedia.org/wiki/Pulse-width_modulation | * http://en.wikipedia.org/wiki/Pulse-width_modulation |
Revision as of 11:34, 9 April 2007
On this page, you will find usefull informations to configure and use the Pulse Width Modulation (PWM) capabilities of your APF9328 board.
Your is capable of driving 2 PWM signals:
- one is linked to the LCD controller and allow to control LCD backlight, see LCD page for more informations
- the other can be used to generate PWM signals in several mode:
* audio playback * real PWM
Configuration
First be sure to have the PWM Linux driver activated:
$ make linux-menuconfig
$ make
Installation
Either copy generated module target/linux/modules/pwm/pwm.ko to your system with TFTP or NFS or reflash the generated rootfs
Usage
Load the module:
# insmod /lib/modules/2.6.18.1/extra/pwm/pwm.ko
or (if you have reflashed your rootfs):
# modprobe pwm
PWM Mode
Remark:
- The pwm has a resolution of 1uS
Now you have access to /sys/class/pwm/ functionnalities:
- to activate PWM:
# echo 1 > /sys/class/pwm/pwm0/active
- to de-activate PWM:
# echo 0 > /sys/class/pwm/pwm0/active
- to change frequency (for example 500 Hz):
# echo 500 > /sys/class/pwm/pwm0/frequency
- to change period (for example 100us):
# echo 100 > /sys/class/pwm/pwm0/period
- to change duty cycle (for example 50.0%)
# echo 500 > /sys/class/pwm/pwm0/duty
Audio Mode
Audio playback mode is working since v0.5 of PWM driver (thanks to SebastienR). You can play 8, 16 & 32 KHz 8bit linear RAW sound. It's recommended to play 8kHz one, as they use less CPU ressources. To convert a sound to the right format we recommend to use SoX (on Linux). For exemple:
[host]$ sox /usr/share/sounds/KDE_Chimes_1.ogg -r 8000 -b -u -c 1 Chimes.raw -r -> sampling rate -b -> byte/8bit signal -u -> linear /not compressed -c 1 -> Mono / 1 channel