树莓派连接物理世界:PWM、通信接口与模数转换器应用
1. PWM信号的创建
在树莓派上使用PWM(脉冲宽度调制)很容易,但创建PWM信号有多种方法,常见的有以下三种:
- 软件PWM :PWM信号的频率和占空比时序由代码生成,可在任何GPIO引脚使用。不过,由于树莓派CPU繁忙时会影响时序,所以这种方法精度最低。
- 硬件定时PWM :利用DMA和PWM/PCM硬件外设进行PWM定时,精度高,且可在任何GPIO引脚使用。
- 硬件PWM :完全通过硬件提供,是创建PWM信号最精确的方法。树莓派有两个专用的硬件PWM通道,PWM0通过GPIO引脚18和12,PWM1通过GPIO引脚13和19 。
要使用硬件PWM,仅将设备连接到GPIO 12、13、18或19是不够的。这些GPIO是将PWM列为其可选功能的BCM GPIO。使用硬件PWM需满足两个基本要求:一是使用的GPIO库要支持硬件PWM;二是要正确使用该库及其硬件PWM功能,具体可参考库的API文档。共享同一硬件PWM通道的引脚会应用相同的占空比和频率,所以虽有四个硬件PWM引脚,但只有两个独特的PWM信号。
选择哪种PWM技术取决于要构建的项目以及PWM信号所需的精度。有时可直接控制项目使用的GPIO库(即PWM技术),但使用第三方高级Python库时,只能使用库开发者采用的PWM技术。一般来说,能控制GPIO库选择时,应尽量避免使用软件PWM。若使用PiGPIO开发,推荐使用硬件定时PWM,因为它可在任何GPIO引脚上使用。
常见GPIO库对PWM的支持情况
超级会员免费看
订阅专栏 解锁全文
27

被折叠的 条评论
为什么被折叠?



