跳过主要内容

AN-CM-281 8通道模拟最大/最小电压监视器

目录

术语和定义

集成电路集成电路
I / O输入/输出
LSB最低有效位
MSB最重要的一点
PGA可编程增益放大器
ADC模拟-数字转换器
ACMP模拟比较组件
INT中断信号,是在转换完成后由ADC发出的数字信号
DCMP数字比较模块
SPI串行外围接口
时钟时钟,通常是用于同步逻辑元件或存储数据的信号
DFFd型触发器,一种单位时钟存储元件
和门一种数字逻辑门,当所有输入均为真时,输出为真(1或高)
或门当至少一个输入为真时,给出真(1或高)输出的一种数字逻辑门
XOR门一种数字逻辑门,当真输入数为奇数时,输出为真(1或高)
NXOR门一种数字逻辑门,用作异或门的逻辑求反

工具书类

有关文件及软件,请浏览://www.wsdof.com/configurable-mixed-signal。

下载免费的GreenPAK Designer软件Ref.[1],打开。gp文件Ref.[2],查看建议的电路设计。使用GreenPAK开发工具Ref.[3]在几分钟内将设计冻结到您自己的定制IC中。雷竞技电竞平台Dialog Semiconductor提供了一个完整的应用注释参考[4]的库,具有设计示例参考[1],以及对Dialog IC的功能和模块的解释。

  1. GreenPAK设计软件,软件下载和用户指南,Dialog半导体雷竞技电竞平台
  2. AN-CM-281 8通道模拟最大最小电压GP,绿派克设计文件,Dialog半导体雷竞技电竞平台
  3. GreenPAK开发工具,对话半导体GreenPAK开发工具网页雷竞技电竞平台
  4. GreenPAK应用笔记,GreenPAK应用说明网页,对话框雷竞技电竞平台
  5. SLG46620G,产品页面数据表,雷竞技电竞平台
  6. GreenPAK食谱,对话框数据表,半导体雷竞技电竞平台
  7. 一个- 1066电压斜率方向测定电路
  8. AN-1097带GreenPAK的7段LED控制
  9. AN-CM-242二进制校验生成器和校验器

介绍

控制系统和相关设备处理多个电源,如偏置线或电池,必须跟踪给定集合中的最高(或最低)线。

例如,负载开关在“多电池”动力系统要求系统监控电池阵列之间的最小或最大电压(最大值或最小值作为特定的函数转换算法)和动态路由负载实时最合适的源。或者,系统可能需要暂时断开最低电压电池以进行适当的充电。

另一个例子是现代太阳能发电系统,每个太阳能电池板都配备了倾斜旋转机构和太阳能跟踪电路(后者提供太阳位置信息,以确定电池板的方向)。有了最大电压信息,每个太阳能电池板的位置可以微调的基础上,弦的电池板实际上提供最高的输出电压,从而实现卓越的功率优化水平。

有几种不同品牌的商用IC(主要是微控制器),原则上可以实现最大电压跟随器。但是,它们需要编程,并且比混合信号解决方案的成本效益更低。补充Dialog GreenPAKTM设计可以积极影响设计的可承受性、尺寸和模块化。该设计充分利用了将模拟和数字电路集成到单个芯片中的优点。

在本应用说明中,实现了在八个不同的源之间实现最大(或最终最小)电压查找器所需的模拟前端和数字逻辑。

使用SLG46620G实现8通道模拟最大/最小电压监控。

方框图

下图为实现的系统整体图:

图1:8通道最大电压检测框图

一串多达8个可变电压源是多路复用的,并与GreenPAK的ADC模块连接到定制的内部设计,能够选择相对于其他电压最高的源。内部逻辑输出这些信息以供显示或进一步处理。

该设计基于GreenPAK SLG46620G产品,因为它嵌入了应用程序所需的所有模拟和数字构建块。在本实现中,阵列通过直接由GreenPAK IC驱动的ADG508模拟多路复用器进行扫描。

输出信息是一个3位数字,对应于最大电压下的电压源编号。获得该信息的一种直接方法是通过7段显示数字。它可以很容易地通过将SLG46620G的数字输出接口到7段显示驱动程序,如参考资料[8]中描述的GreenPAK解决方案或通用的74LS47 IC来实现。

所提出的电路寻找最大电压。为了将设计转换为最小电压检测器,必须在模拟多路复用器和GreenPAK模拟输入之间添加一个简单的预处理电路,从1v参考电压中减去多路复用器输出。

操作原理

设计的目的是选择电压最大的源,因此对整个阵列进行扫描,同时存储last-max值,并与输入的下一个值进行比较(该值属于扫描的下一个电压源)。

在下面我们将把沿着所有输入的一个完整的多路复用序列称为“扫描”或“循环”。

两个值之间的比较不是通过ACMP组件完成的(但是,SLG46620G中提供),而是通过DCMP模块完成的,一旦值分别数字化。这是参考文献[7]中首次提出的一种先进而精细的技术。

图2显示了SLG46620G是如何进行这种设计的:

图2:GreenPAK IC的内部设计

模拟输入信号通过PGA组件以设定增益1传输至ADC输入。各种增益设置也可以找到与前端调节电子设备的最佳匹配,用于将输入电压映射到GreenPAK ADC模块的0-1 V范围。

ADC在单端模式下工作,并将模拟信号转换为8位数字代码,然后将其传输到DCMP模块。数字代码也被送入SPI块,配置为ADC/FSM缓冲区,数字代码可以存储,不会改变,直到下一个脉冲来到SPI CLK输入。请注意,一个专用逻辑块驱动SPI CLK输入。我们将在后面研究这一部分,因为这是负责正确操作的“核心”逻辑。只有当一个新的数字码属于实际的最大输入电压时,它才被存储到SPI模块中。

DCMP组件用于将当前ADC数据与存储在SPI块中的最后一个获胜者(即最后找到的最大值)进行比较。当新ADC数据大于前一个数据时,它将在OUT+输出处生成脉冲。我们使用OUT+信号用新获胜者更新SPI块。

一个全局时钟信号驱动ADC转换和一般时间。一旦转换执行,ADC的INT输出信号脉冲,与ADC并行数据输出协调时间。我们还使用INT输出来增加一个由Matrix1中的DFFs实现的3位二进制计数器,这有三个有用的原因:

  1. 计数器输出线寻址外部模拟多路复用器,从而服务于ADC的下一个输入电压;
  2. 计数被冻结到3位寄存器(在Matrix1中实现)中,以在扫描期间存储临时赢家;
  3. 一旦扫描完成,计数被解码以更新第二个3位寄存器(在Matrix0中实现)。

逻辑实现

ADC模块依次提供所有输入电压的转换数据,一个接一个,无限期。一旦多路复用器被寻址为0b111(十进制7),计数器滚到0b000(十进制0)从而开始输入电压的新扫描。

在扫描期间,当并行数据输出有效时,产生ADC INT输出信号。当该信号脉冲时,模拟多路复用器必须切换到下一个输入,为PGA提供相应的电压。因此,ADC INT输出是图2的3位二进制计数器的直接时钟信号,其3位并行output字直接寻址外部模拟多路复用器(图1中的“V选择”)。

现在让我们来看一个例子,其中输入电压应该有以下关系:

a) V0 < V1 < V2 b) V2 > V3, V4 c) V5 > V2

图3为max决策机制的主要信号:

图3:ADC、SPI和DCMP时序图示例

由于数据最终与INT脉冲同步时钟进入SPI缓冲区寄存器,存在一个比较窗口,其中SPI缓冲区内容与下一个ADC转换结果进行比较。这个特殊的定时导致在DCMP输出处产生OUT+脉冲。我们可以利用这些脉冲将新值加载到SPI缓冲区寄存器中。

从上图的SPI缓冲区数据行可以明显看出,SPI寄存器总是一次一次地包含8个输入中的最大值,并且只有在DCMP模块检测到较大值时才会更新(参考图中的DCMP OUT+输出线,丢失的脉冲会导致V2在与V5比较之前保持锁存在寄存器中)。

解决死锁

如果实现的逻辑与上面描述的一样,很明显我们会遇到死锁的情况:系统只能检测比存储在SPI缓冲区寄存器中对应的电压高的电压。这也适用于这种情况下,该电压将下降,然后另一个输入,直到现在更低,成为最高:它将永远不会被检测到。

这种情况在图4中得到了更好的解释,为了清晰起见,图4中只有3个输入电压:

图4:死锁情况的示例

迭代2时,V3下降,V1为实际的最大电压。但是DCMP模块不提供脉冲,因为存储到SPI缓冲寄存器(对应0.6 V)的数据比V1 (0.4 V)的数据大。

然后,系统将表现为一个“绝对”max finder,并且不会正确地更新输出。

克服此问题的一个好方法是,当系统完成所有通道的完整轮询周期时,强制将数据重新加载到SPI缓冲寄存器中。

事实上,如果在输入电压仍然是最高的,没有什么变化和安全控制的推移(指上面的图4中,这是循环迭代的情况下0和1)。另一方面,如果输入的电压在机会降低值小于另一个输入,然后重新加载该值,使DCMP模块有可能在与新的最大值进行比较时产生OUT+脉冲(这是循环迭代2和3的情况)。

为了克服这个问题,需要一个逻辑电路。当循环到达实际的最大输入时,它必须生成一个时钟信号给SPI组件,从而迫使重新加载其更新的数据字到SPI缓冲区寄存器。这将在下面的7.2和7.6节中讨论。

设备配置

SLG46620G有两个Matrix块,如图2所示。下图显示了各自的设备配置。

Matrix0电路

图5:SLG46620G的矩阵电路

电路的上部是由3个dff (DFF0, DFF1和DFF2)实现的“循环寄存器”。在输入多路复用器的每个循环后刷新,将“winner”的二进制数发送到一个7段显示驱动器,即在最后一次扫描中具有最高电压的输入。DFFs的时钟和数据都来自Matrix1中实现的逻辑,分别通过端口P12、P13、P14和P15。

下部为引脚8输入的模拟前端,增益为x1的PGA。ADC INT输出通过P0端口进入SPI的时钟逻辑和Matrix1,在那里它将作为实现的计数器的时钟信号。

ADC和SPI并行数据输出分别标记为NET11和NET15,连接到Matrix1中的DCMP组件。

SPI时序逻辑

正如前面在“逻辑实现”一节指出的那样,每次实际存储值和新的ADC转换数据之间的比较在DCMP out +输出产生一个脉冲时,SPI缓冲区寄存器都会更新。

信号的完整性是确保,如果这个信号是与与ADC INT输出。这避免了任何尖峰和虚假触发。

我们还强调了要跳过死锁情况,必须在循环到达实际赢家数据时更新SPI Buffer。

三个信号然后在游戏中为适当的SPI时钟:

  1. ADC INT输出(LUT0-IN1)
  2. DCMP输出+输出(通过端口P10的LUT0-IN0)
  3. 计数等于锁存信号(通过端口P11的LUT0-IN2)

前两个是and -ed和OR-ed,后者在LUT0中,其实现配置如图6所示:

图6:LUT0作为SPI CLK逻辑

Matrix0组件属性

下图显示了属于Matrix0的其余组件属性窗口:

图7:PGA属性
图8:ADC属性
图9:SPI属性
图10:OSC属性

Matrix1电路

图11:SLG46620G的Matrix1电路

3-bit二进制计数器

电路的上部包含逻辑元件,主要是一个由ADC INT输出时钟的3位二进制计数器,如前所述。这个计数器是用一个相当“标准”的原理图实现的:

图12:在GreenPAK IC中实现3位二进制计数器的电路

本设计通过DFF9、DFF10、DFF11触发器和INV1、LUT4、LUT8实现该计数器。DFF9的输出是LSB,而DFF11是MSB:

图13:3位二进制计数器的GreenPAK实现

LUT4被配置为XOR,而LUT8执行图12中的AND-XOR逻辑。

计数器输出到三个数字输出引脚,以寻址外部模拟多路复用器。

图14:LUT8逻辑

当扫描完成时,LUT10解码计数器的代码,并通过DLY8和端口P12向Matrix0提供脉冲。这是简单地通过和和计数器的输出来完成的,从而解码数字7 dec (0b111二进制,循环结束)。

3-bit比较逻辑

图15显示了用于检测环路何时在当前“赢家”地址迭代的电路。在这种情况下,如前所述,数字脉冲应该强制重新加载当前的ADC结果,以解决可能的死锁情况。

图15:反寄存器比较逻辑电路

“赢家”地址存储在Matrix1的临时寄存器中(见下面),而当前地址由二进制计数器输出。

当两个输入相等时,XNOR门提供一个真正的(逻辑1或'高')输出。当两个二进制代码都是相同的时候,将这个信号与所有位(LUT9)连接起来会给我们一个脉冲。关于异或门作为奇偶校验器的详细信息可以在参考[9]中找到。

' counter -equal - latch '信号通过端口P11传递到Matrix0。

数字比较逻辑与临时寄存器

图11下方(图16突出显示)为本设计的决策部分——DCMP模块:

图16:数字比较模块和临时寄存器

DFF6、7和8组成一个3位寄存器,在循环运行时存储临时输入数“winner”。触发器的输入是3位二进制计数器输出,如图11中的全局Matrix1电路所示,为了清晰起见,这里略过。

该寄存器的输出不能直接驱动7段显示器,因为此处存储的值在扫描过程中发生变化,只有在扫描结束时才被视为“有效”。

由于这个原因,临时寄存器输出通过矩阵间端口P13、P14和P15连接到Matrix0的环路寄存器。

很重要的一点是,在图16中,当ADC-SPI寄存器比较结果发现一个新的最大值时,临时寄存器被DCMP OUT+输出时钟时钟。

同样的OUT+信号通过P10端口传递到Matrix0, SPI CLK Logic。

Matrix1组件属性

下图显示了属于Matrix1的组件属性窗口:

图17:DFF属性,适用于所有使用的DFF
图18:DCMP模块属性
图19:OSC模块属性

结果

为了测试实现,我们构建了一个评估板原型,其中8个模拟输入电压是通过使用TrimPots的一系列电阻分压器获得的(如图20所示):

图20:Max V Finder设计的评估板原型

所使用的多路复用器是ADG508,这是一个可以单电源(12v)工作的部件。

7段显示驱动程序是74LS47。它解码一个并行输入字和直接驱动共阳极7段显示。

评估板有一个2x10的直角连接器,直接插入GreenPAK高级开发平台的扩展连接器:

图21:连接到GreenPAK高级开发平台的评估委员会

与GreenPAK Advanced Development Platform的结合使得测量信号以进行快速检查变得非常简单。例如,图22显示了由HP 54620A逻辑分析仪捕获的一组信号(分别为时钟、ADC INT输出和DCMP OUT+输出)。波形由OUT+信号的上升沿触发(在标记为“a>B”的范围内),因此,当在模拟输入中检测到新的最大电压时,这是波形捕获。事实上,它是通过旋转评估板的一个微调器来增加相应的电压得到的:

图22:检测最大电压时的典型逻辑波形

图23展示了评估板的示意图:

图23:评估板示意图

结论

在本应用笔记中,我们实现了一个八通道最大(或最小)电压查找器,用于多通道控制系统的通用附加。提出的方法利用了GreenPAK组件的高级特性,并展示了如何将模拟和数字功能集成到单个芯片中。可以用Dialog GreenPAKs替换一些商业IC,从而降低应用程序的规模和成本。