如何利用外设触发信号发生器简化应用

描述

如今的嵌入式应用非常复杂,需要通过单个单片机处理多个功能。这些应用需要增强安全性、支持实时响应的最佳执行时间以及无缝同步各个功能。从具有集成功率因数校正的电机控制到光强度处理,复杂应用需要在各个模块之间轻松切换。处理器驱动的定时和排序解决方案受固有延时的影响,这种延时无法始终准确预测。这种方法还占用了宝贵的CPU带宽,导致其功能未得到充分利用,而通过卸载这些功能可优化应用程序性能。Microchip的16位dsPIC33数字信号控制器(DSC)中的外设触发信号发生器(PTG)是独立于内核的外设(CIP),可以协调复杂应用中功能的精确定时和排序,同时减轻CPU的负担。我们详细介绍了几个示例,以展示PTG如何帮助简化时序关键应用(例如,采用功率因数校正的电机控制、光强度控制或生成还可用作独立于内核的时钟源的恒定频率信号)的外设排序。由于PTG与内核无关,因此可以在CPU休眠时完成此项工作以实现节能或专注于其他关键任务。

顾名思义,PTG是一个用户可编程序列发生器,可生成具有复杂输入信号序列的触发信号,以协调其他片上外设的操作。使用PTG的应用会通过其他外设(例如模数转换器(ADC)、输出比较(OC)、脉宽调制器(PWM)、定时器和中断控制器)共同执行此操作,以实现复杂的触发和响应序列。PTG不仅降低了应用程序对内核的依赖性,还能单独处理模块交互,从而有助于降低软件复杂性及保持模块化。

PTG外设支持向PTG队列寄存器传送8位命令(称为step命令)。每个8位step命令由一个4位命令代码和一个4位选项字段组成。这些命令定义了一系列事件,用于输出触发信号到外设。step命令还可用于生成对内核的中断请求。

功率因数和电机控制

在集成功率因数校正(PFC)和电机控制应用中,单个DSC使用磁场定向控制(FOC)方案以及PFC转换器控制永磁同步电机。该应用需要三个PWM通道来控制电机功能,另外还需要一个PWM来控制PFC操作。输出比较(OC)外设可用于增加应用可用的PWM通道数量,甚至会超出器件上可用的高速PWM通道数量。

可同时使用PWM外设与OC外设来产生电机控制和PFC操作所需的信号。但是,在PFC等应用中,执行时序非常重要,因此必须在最佳执行时间内完成各种任务。其中包括同步电机控制和PFC PWM、触发ADC进行转换以及切换用于电机控制的ADC通道和PFC反馈信号。

使用PTG外设可以有效地实现这些要求,PTG外设可以同步高速PWM和OC外设,并通过监视高速PWM外设边沿来产生ADC外设触发信号。它还可监视“ADC转换完成”中断并产生适当的中断,执行FOC和数字PFC控制代码。它减少了CPU干预,使外设处理独立于内核进行。这可降低应用的总体功耗,同时释放CPU以执行更多关键功能。选择电机控制和PFC PWM的开关频率时应确保其为整数倍。

dsPIC® DSC中的ADC能够进行四通道同步采样。FOC和PFC算法都有自己的模拟通道需要同时采样,因为这些信号的相位关系是实现有效控制的关键。

选择电机控制和PFC的反馈信号时应确保可通过改变ADC通道选择对电机控制和PFC信号进行采样。在基于PWM边沿触发ADC之前,可将电机控制和PFC信号连接到采样保持(S&H)电路。通道应配置为:在四通道采样和转换序列结束时,可从FOC或PFC各自对应的ADC缓冲寄存器中获得其转换结果。

在设置通道选择位以将PFC反馈信号连接到ADC的采样保持电路后,对于每个PFC PWM周期,都必须生成触发信号。同样,对于每个电机控制PWM周期,必须在设置通道选择位以将电机控制反馈信号连接到ADC的S&H电路之后生成ADC触发信号。因此,将PTG外设配置为通过监视电机控制和PFC PWM脉冲的边沿来生成ADC触发信号。此外,还会生成两个PTG中断来执行FOC和PFC的代码,如图1所示。

信号发生器

图1:使用PTG中断执行代码

如本例所示,PTG通过有效地对ADC和PWM的使用进行排序来简化实现,从而在一个dsPIC33器件中实现电机控制和PFC。

照明控制

在光强度控制应用中,使用OC的PWM发生器可用于控制光的亮度。

在此应用中,使用了两个OC外设,其占空比由来自两个独立ADC通道的输入控制。根据每个ADC值,更新占空比。PTG外设支持更简单的同步ADC和OC外设的方法。此外,PTG有助于避免外设死锁,从而提高应用的安全性。

为了执行同步,电路首先会监视ADC并产生适当的中断以改变OC占空比。然后,它会在不干扰CPU的情况下改变ADC通道,因为PTG可以独立完成此操作。作为额外的安全功能,在发生意外故障时,PTG外设具有专用的看门狗定时器,用于监视和执行必要的纠正措施。

该应用的框图如图2所示。

信号发生器

图2:使用PTG的输出比较占空比控制

PTG外设内的看门狗定时器将防止PTG在执行等待硬件触发高电平-低电平状态的命令时无限期地等待外部事件的情况。在此应用中,PTG将等待ADC转换完成触发信号。使能后,看门狗定时器会在命令执行开始时开始计数。命令完成执行时将禁止看门狗定时器。如果预期事件在看门狗定时器超时周期到期之前未到达,则PTG外设将中止正在进行的失败命令并停止定序器。然后,它会向CPU发出看门狗定时器错误中断。

这可作为安全功能,用于从ADC或PTG外设停止工作的情况中恢复。这些外设可以在看门狗定时器错误中断内重新初始化和重启。

PTG通过切换ADC通道和监控外设使应用独立于内核,而无需CPU外设的干预。这样一来,CPU便可以用于应用程序中的其他任务。

仅PTG将负责外设内的所有交互,这有助于降低软件复杂性并保持模块化。PTG外设的看门狗定时器有助于从任何灾难性故障中恢复,从而提供更可靠的应用。

恒定频率波形

PTG外设可用于产生恒定频率信号,而此信号还可用作时钟源。PTG触发用作屏蔽输入选择的比较器。PTG的触发脉冲宽度可以改变,PTG有自己的定时器。外设触发信号也可用作运算放大器和比较器的屏蔽输入选择,如图3所示。

信号发生器

图3:用户可编程的屏蔽功能

使用此功能,可以通过比较器外设实现PTG输出。比较器配置为:反相输入接地,同相输入连接至内部参考电压。

触发脉冲将直接呈现为比较器输出。只要PTG连续产生触发信号,比较器就会产生恒定频率波形。波形的脉冲宽度将是PTG时钟的一个周期。

开关时间可由PTG定时器和脉冲宽度位控制。输出脉冲宽度将决定输出波形的关断时间,定时器将决定输出波形的导通时间,即触发比较器外设之间的延时。

根据比较器输出极性,开关时间将由定时器或脉冲宽度位控制。输出频率也可以由充当时钟分频器的寄存器控制。

通过改变比较器输出极性,可以使用四个比较器外设产生互补波形。可以使用脉冲宽度位修改脉冲宽度,以便降低输出频率。因此,可以使用PTG和比较器外设产生恒定波形。

在该应用中使用PTG的优点之一是输出可以充当恒定时钟源并且完全独立于内核运行。使用更多比较器外设时,可以生成偶互补波形。PTG还可以在空闲和休眠等节能模式下工作。

总结

凭借Microchip的dsPIC33数字信号控制器中的PTG外设,用户能够设计复杂的应用序列,并为时序关键型或功耗关键型应用提供更高的灵活性。PTG可在几乎没有CPU中断的情况下支持各种外设彼此交互,并有助于增强现有外设的功能,从而扩展任何给定外设可以实现的功能。

使用PTG外设可提供更快的响应速度并减少软件负担。外设还提供内置功能(如专用的看门狗定时器)来提高功能安全性。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分