术语和定义
参考文献
https://www.dialog-seminile.com/configurable-mixed-signal.。
下载我们的免费格林帕克™软件设计师(1]以打开。gp文件[2]并查看所提出的电路设计。使用格林帕克开发工具[3.可以在几分钟内将设计冻结到您自己定制的集成电路中。yabo国际娱乐Dialog Semiconductor提供完整的申请资料库[4.]具有设计示例以及对话框IC中的功能和块的说明。
- GreenPAK设计软件,软件下载和用户指南,对话框半导体yabo国际娱乐
- AN-CM-237 SLG46880/1 F(1)块那格林帕克设计文件,Dialog半导yabo国际娱乐体
- GreenPAK开发工具那格林帕克开发工具网页,对话半导体yabo国际娱乐
- GreenPak应用笔记那格林帕克应用笔记网页,对话框半导体yabo国际娱乐
- 50K6A1 SERIES 1 Thermistor Datasheet [Online].数据表可用:https://www.mouser.com/datasheet/2/418/ng_ds_series_i_mertristor_50k6a1_a-779622.pdf.。[访问2018年11 01]
介绍
The F(1) Computation Macrocell, also referred to as the F(1) block, is a specialized block within the SLG46880/1’s Asynchronous State Machine (ASM) which allows the designer to trigger sequences of commands upon entering a new state of the ASM.
每当ASM进入一个新的国家,F(1)块可以执行一系列12命令加载和存储一位数据堆栈16位深,以及执行逻辑操作位在堆栈的顶部,如,或者,XOR和发票。
一旦F(1)完成其序列,控制将放弃回ASM。虽然F(1)块处于活动状态,但没有ASM活动(即ASM无法更改状态)。
F(1)块有两个数字输入:ASM_nRESET和f1_Interrupt。在这些输入的任何一个主动高信号将立即停止对F(1)块的任何命令执行,并将立即放弃控制回给ASM。
用户可以定义多达4个不同的F(1)配置,每个配置可以每个都保存一组多达12个命令。每个ASM状态只能执行一个配置。用户还可以决定不使用特定状态的F(1)块。
F(1)块还具有来自各种引脚的4个模拟输入,可以将MUXED进入F(1)块专用模拟比较器的正输入。
F(1)堆栈可以作为运行在F(1)块中的命令的持久数据源或数据目的地。LOADx命令将把数据向下推入堆栈。OUTx命令将从堆栈中取出数据,并将内容发送到连接矩阵的三个输出之一。这个内存的内容在状态转换期间不会改变,只有F(1)计算宏单元本身内部运行的命令才会改变。
新建F(1)配置
要创建一个新的F(1)配置,可以通过单击Components List中的F(1)复选框在工作区中显示它。然后双击F(1)块,打开它的属性面板。
通过单击“属性”面板右上角的“绿色”+“按钮创建新的F(1)配置。您可以将配置重命名为无论您想要的内容,但对于此应用程序,请注意将留下默认配置名称。
对于每个F(1)配置,您可以选择是否需要一个中断来重置堆栈的内存。您还可以为每个F(1)块的3个输出选择初始状态。OUTx初始状态的选项有:keep、0、1和none。
f(1)命令
表格1包括f(1)块中可用的所有命令。
命令 |
描述 |
---|---|
load1. |
推一点。由Load1配置定义的源。 |
load2. |
推一点。由Load2配置定义的源。 |
load3. |
推一点。由Load3配置定义的源。 |
load4. |
推一点。由Load3配置定义的源。 |
和 |
两位流行。执行逻辑与,然后推输出。 |
或 |
两位流行。执行逻辑或,然后推输出。 |
XOR. |
两位流行。执行逻辑异或,然后推输出。 |
发票 |
流行一个比特。执行逻辑INV,然后Push输出。 |
PUSH0. |
将0压入堆栈顶部。 |
流行音乐 |
从栈顶取出一个位。 |
延迟 |
延迟根据F(1)延迟配置。然后继续。 |
循环w / dly |
如果最高位为0,则执行delay,然后跳转到指定的命令。否则,继续。 |
OUT0 |
将顶部值输出到OUT0 |
着干活 |
将顶部值输出到OUT1 |
OUT2. |
将顶部值输出到OUT2 |
结尾 |
结束f(1)。返回到ASM。 |
F(1)命令的例子
要创建LOAD命令,请从命令序列部分的下拉菜单中选择LOADx。您可以选择是从LOADx IN矩阵连接器还是从ACMP比较加载位。如果选择从ACMP加载,则可以同时选择IN+源和IN-引用。
当加载命令执行时,它将将值从连接矩阵或ACMP推入堆栈中。
要添加延迟命令,请单击“加载”旁边的“+”按钮,然后从下拉下拉菜单中选择延迟。现在,您可以选择延迟时钟源和数据以配置延迟长度。
带延迟命令的循环基本上用作goto命令。它允许设计人员在延迟后跳转到序列外命令。首先,选择要在“延迟循环到位置”下拉列表中跳转的命令。然后配置延迟,就像上面的延迟命令所示一样。
使用Outx命令将堆栈顶部的值输出到矩阵连接。最后,使用end命令将控件返回到ASM。
传感器的应用
Datasheet的示例#1提供了使用F(1)块的示例来检测传感器在ASM中的变化时传感器的电压(图5.).OUT1连接pin# 20 (SENSOR_ON), OUT2连接pin# 18 (OVER_TEMP)。命令3上的延迟定义为2µs。LOAD 1的ACMP IN+连接到pin# 1 (SENSOR_IN),其阈值为992 mV。负载2连接到PIN #2 (PG)。看到图6.和图7.的示意图视图格林帕克设计师。看到图8.和图9.查看ASM设置。
对于这个F(1)序列的更具体的使用,它可以用来标记状态机过渡到新状态时的过温状态和设备格林帕克感觉已经有一个好的状态。对于此应用,SENSOR_ON输出连接到NTC热敏电阻的一个节点。另一种电阻连接到热敏电阻的另一个节点并接地,以使传感器输入的分压器(图10.).
当热敏电阻感应室温时,SENSOR_IN处的电压约为65 mV。这远低于ACMP的992 mV阈值,并且OVER_TEMP输出仍然很低(图11.).当热敏电阻感应到更高的温度时,它的电阻将降低,并增加在SENSOR_IN上看到的电压。一旦热敏电阻感应到温度超过110°C, SENSOR_IN的电压将大约为1v。这越过了ACMP中设置的992 mV阈值,如果PG输入也很高,则在状态0时,OVER_TEMP输出将升高(图12.).
在室温(25°C)时,热敏电阻测量约50kΩ,并根据类似额定的NTC热敏电阻[5]的数据表,120°C为1.5kΩ。为了测试设计,使用电位器来匹配热敏电阻的阻力位于这些给定温度的情况。
通道1 - PIN#3(CHECK_TEMP)
通道2 - PIN #19 (STATE_OUT)
通道3 - PIN#1(SENSOR_ON)
通道4 - PIN #18 (OVER_TEMP)
其他F(1)应用程序亚博国际官网平台网址
上升沿reglitch将从引脚#11加载值。5μs后,它将再次从引脚#11加载值,并在另外5μs后第二次重复。如果PIN#11为这三个连续的LOAD1命令保持高电平,则它将输出到F(1)块的OUT1。如果PIN#11对这三个连续的Load1命令没有高启用,则它将循环回第一个命令(Load1)并重新启动该过程。
结论
在这个应用笔记中,我们讨论了如何在SLG46880/1中使用F(1)计算宏单元。F(1)块允许设计者分配多达12个命令来操作16位深的位堆栈。由于F(1)块有多达4个配置,它可以在不同的ASM状态下用于不同的目的。由于它的多用途功能,F(1)块提高了灵活性格林帕克平台。