跳过主要内容

AN-1152递增和递减一次放炮

目录

参考文献

有关文件及软件,请浏览:

//www.xmece.com/亚博电竞菠菜products/greenpak

下载我们的免费GreenPAK Designer软件[1]以打开.gp文件[2],并使用GreenPAK开发工具[3]在几分钟内将设计冻结到您自己的定制IC中。

yabo国际娱乐Dialog Semiconductor提供了一个完整的应用说明库[4],其中包括设计示例以及Dialog IC内功能和模块的说明。

  1. GreenPAK设计软件,软件下载,用户指南,对话框yabo国际娱乐
  2. AN-1152递增和递减单镜头,绿派克设计文件,Dialog半导体yabo国际娱乐
  3. GreenPAK开发工具,GreenPAK开发工具网页,对话框yabo国际娱乐
  4. GreenPAK应用笔记,绿派克应用笔记网页,对话半导体yabo国际娱乐
  5. SLG46536数据表,对话框半导体yabo国际娱乐

作者:大卫Riedell

介绍

在本应用说明中,我们将描述如何在每次触发时产生一次脉冲,该脉冲的长度增加或减少一定量。这对于剂量分布的医学应用或LED驱动电路来说可能是一种有用的技术。

该设计允许用户确定他们想要的是递增脉冲还是非递增脉冲,即与前一个脉冲长度相同的脉冲。

实施

我们实现这个设计的方法是使用一个单脉冲脉冲和一个相同长度的独立计数器。计数器(CNT4/DLY4)不是连续运行,而是按特定时间计时,以从一次脉冲(CNT3/DLY3)产生正确的偏移量。当计数器输出HIGH时,Pin8上的输出脉冲设置为HIGH,当一次脉冲结束时复位为LOW。取决于我们是想增加还是减少输出的单脉冲脉冲长度,我们是在计数器中增加时钟还是跳过时钟。这个过程将在第3节中进一步解释。

图1。时序图

图1是一个时序图,展示了设计如何在递增和递减中工作。当接收到一个递增触发器时,2秒一次脉冲开始,当计数器输出HIGH时脉冲结束。为了增加脉冲长度,我们通过为计数器生成额外的时钟边,将计数器的输出右移。为了减小脉冲长度,我们通过跳过时钟边缘将计数器的输出向左移动。如果我们想要一个与前一个脉冲长度相同的脉冲,我们根本不移动计数器的输出。

GreenPAK设计

在图2中,CNT3/DLY3是2sec单脉冲发生器,CNT4/DLY4是计数器。触发器、触发器--和触发器++引脚分别连接到各自的D触发器,D触发器用作锁存器,以指示接收到哪种类型的触发器。DFF的输出被或组合在一起,并用作CNT3/DLY3的输入。这意味着,如果任何引脚变高,将触发2sec单次触发。3个DFF均在2sec单发的下降沿复位。

图2。GreenPAK设计

我们决定,我们希望我们的增量是50毫秒长。我们使用CNT2/DLY2每50ms产生一个脉冲,并使用该20Hz信号对CNT3/DLY3和CNT4/DLY4进行时钟(通过几个LUT)。我们使用基于同步的上升沿选择重置CNT2/DLY2,这是3位LUT3的输出。这样我们就知道,当其中一个引脚变高时,计数器将始终复位。

如果Pin3变高,这意味着我们需要一个与上一个脉冲宽度相同的脉冲,而不需要任何递增或递减。我们使用DFF9锁存来自Pin3的输入。或门3位LUT3用于触发2sec单次触发,该触发为DFF4计时。此时,Pin8(输出)为高电平。与门2位LUT0用于将50ms脉冲选通至时钟CNT4/DLY4,该时钟具有反向输出。当CNT4/DLY4达到40时,其输出将在一个时钟周期内降至低位,这将重置DFF4并导致Pin8再次降至低位。

如果Pin4变高,意味着我们需要一个比前一个脉冲短50毫秒的递减脉冲。在本例中,我们使用DFF3锁存来自Pin4的输入。然后使用10ms上升沿延迟(CNT0/DLY0)和上升沿检测器来指示自Pin4变高后10ms的时间。从上升沿探测器出来的脉冲被用来对CNT4/DLY4进行一次额外的异步时钟,这意味着计数器将提前50毫秒完全完成,从而使输出脉冲缩短50毫秒。

最后,如果Pin5变高,这意味着我们需要一个比之前的脉冲长50ms的脉冲。DFF5锁存来自Pin5的输入,并使用额外的10ms上升边缘延迟来检测自pin变高后10ms的时间。然而,在这种情况下,使用10ms延迟将时钟门通到CNT4/DFF4,而不是添加额外的脉冲。

这些递增和递减的脉冲叠加在一起。例如,如果以1秒长的脉冲开始并增加两次,则产生的输出单次脉冲将分别为1.05秒和1.10秒。下面的表1说明了这一点。

表1。脉冲长度

第一次触发

第二个触发器

第三个触发器

触发++

1.00

1.05

1.10

触发--

1.00

0.95

0.90

触发

1.00

1.00

1.00

我们不是从一个2秒宽的输出脉冲开始,而是决定用一个1秒的输出脉冲预加载系统。

图3。递增与递减技术

这是通过CNT6/DLY6、2位LUT2和4位LUT2在芯片上电后立即对CNT4/DLY4进行多次快速时钟实现的。2位LUT2用于使用CNT6/DLY6对25kHz振荡器输出进行门控,配置为上升边缘延迟。当POR(上电复位)信号走高,2位LUT2允许几个25kHz脉冲通过本身和4位LUT2,直到CNT6/DLY6走高。这有效地将CNT4/DLY4的输出左移1秒,因此第一个触发脉冲将为1秒长。此过程的波形如图4所示,其中:

  • 通道1(黄色):POR
  • 通道2(蓝色):CNT6/DLY6的输出
  • 通道3(粉红色):2位LUT2的输出
图4。将计数器预加载1秒

结论

在本应用程序说明中,我们使用Dialog的SLG46536V GreenPAK设备创建了一个单发,该单发可根据触发的输入引脚按设定的时间量递增或递减。这种设计在无聊的场景中可能很有用。SLG46536V还具有I2C功能,这意味着用户可以通过几个I2C命令动态更改功能。

此设计保留了几个未使用的块,包括几个查找表、GPIO、ACMPs、DFF和少数其他块,这意味着设计师可以轻松地在该项目中添加更多功能,以节省董事会的空间。