发现网上S5PV210的资料还是蛮多的,百度也学习、研究了S5PV210的PWM。今天搞定了这个PWM,于是今天给大家汇报一下我的学习进程吧。
下面的附件就是PWM的驱动和应用程序。点击下载即可。
解压后,里面有两个文件夹,分别是 PWM_driver和 PWM_BUZZER。
PWM_driver 即是S5PV210 的 PWM 驱动程序,执行 make 即可生成 pwm.ko 的驱动文件, 将 pwm.ko 文件拷到开发板里,在开发板里执行 # insmod pwm.ko 即可将驱动挂在到开发板中。
执行 lsmod 可以查看当前挂载的系统信息。(有一点需注意,make之前请修改Makefile 文件。。将 KDIR := /home/viki/sin210/kernel_smdkv210/ 修改成你自己的sin210kernel所在的文件目录)
PWM_BUZZER 是一个应用程序。make 之后生成可执行文件 执行即可。执行这个文件时,后面带一个参数,就是你设置的PWM频率,如 # ./pwm_buzzer 100 即是输出100Hz
简单来介绍一下蜂鸣器:
蜂鸣器可分为无源和有源两种:
有源蜂鸣器:一种一体化结构的电子讯响器,采用直流电压供电,内置振荡电路,直接加电源就可以正常发声,通常频率固定。广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件
无源蜂鸣器:没有内部驱动电路,需要通过外部的正弦或方波信号驱动,直接加电源只能发出很轻微的振动声,无源蜂鸣器工作的理想信号方波。有些公司和工厂称为讯响器,国标中称为声响器。
SIN210开发板上带的蜂鸣器就是比较常用的有源蜂鸣器,即只要上电就可发出频率固定的声音,一般开发板用的好多都是有源蜂鸣器。
如图6-1所示:
图6-1
sinlinx 公司的SIN210开发板,是通过PWM0来控制三极管来控制蜂鸣器的工作与否的,实际上PWM输出值并不等于蜂鸣器的频率。但是也有一定的关系,可以近似的认为相等。
最后,非常感谢 sinlinx 公司提供的 sin210开发板。