主题中讨论的其他器件:TIC12400、 TXB0106、 TIC12400-Q1
我正在使用 TIC12400 EVM 套件、技术文档中提到 要使用的 App Center 和 TIC12400 GUI App 软件。 但我没有获得这个软件。 该怎么办?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我正在使用 TIC12400 EVM 套件、技术文档中提到 要使用的 App Center 和 TIC12400 GUI App 软件。 但我没有获得这个软件。 该怎么办?
您使用的是什么操作系统? 是 Windows 吗? 如果是、默认情况下、它应该安装在程序文件目录中的"Texas Instruments"(德州仪器(TI))子文件夹内。
C:\Program Files (x86)\Texas Instruments\TIC12400
从 Windows"程序"菜单中、您应该会看到一个德州仪器(TI)文件夹、并且"TIC12400 EVM"GUI 运行图标将位于该文件夹(如果已安装)中。 您还应该能够在通常卸载程序的 Windows"程序和功能"实用程序中看到它。
您能看到是否可以找到已安装的任何指示吗? 或者尝试再次安装并记下安装目录?
此致、
Jonathan
您好、Amudha:
TIC12400评估模块用户指南(链接)详细介绍了如何配置器件设置(包括阈值电压)。 用户指南的第5.4节显示了通道配置页面、您可以在其中设置每个通道的比较器阈值电平。 请注意、提供"Simple View"和"Detailed View"选项卡、使您可以根据 GUI 首选项进行此配置。 还有一个和"高级设置"部分,你可能也想使用。
第5.6节讨论了 GUI 的实时状态跟踪器功能、该功能将在其中轮询状态寄存器并显示所有已启用输入通道的状态。
您也可以仅使用"Register Map"(寄存器映射)页面直接配置和读取所有器件寄存器、如5.9节所述。
此致、
Jonathan
尊敬的 Amudha:
如何将 TIC12400与 RH850连接?
您可以通过接头 J3将 RH850等外部 MCU 连接到 TIC12400 EVM。 您需要禁用 TXB0106电平转换器、以将 SPI 信号与板载 MSP430 MCU 和 TIC12400隔离。 这可以通过移除接头 J6上的分流器并将 J6的引脚2连接到 GND、或将接头 J3的引脚10连接到 GND 来实现。 这会将 TXB0106的输出使能(OE)引脚设置为低值、并将输出置于高阻抗状态、从而防止 MSP430干扰连接到 J3的外部 MCU 提供的信号。




需要设置的寄存器从读取开关状态
TIC1240
[/报价]如何从 TIC12400读取数据?
。 《TIC12400评估模块用户指南》 (链接)详细概述了所有 EVM 硬件和 GUI 设置、并提供了有关如何使用 GUI 配置和读取 TIC12400数据的分步说明。
。 配置 TIC12400-Q1多开关检测接口(MSDI)的步骤 应用报告(链接) 提供了配置 TIC12400并读取状态结果所需的详细概述和步骤。
配置器件并将 TRIGGER 位设置为"1"后、您可以读取 INT_STAT_COMP 寄存器(0x05)以查看任何使用比较器的已启用输入的状态。 或者、您可以读取 IN_STAT_ADC0 (0x06)和 IN_STAT_ADC1 (0x07)寄存器、以查看任何使用 ADC 的已启用输入的状态。 使用 ADC 的任何已启用输入的原始 ADC 代码均 可从寄存器 ANA_STAT0 - ANA_STAT12寄存器0x0A 至0x16中读取。
此致、
Jonathan
Amudha,
您想读取什么"数据"? 可以读取所有器件寄存器以返回其当前值。
在我的上一篇文章中、我提供了您返回输入通道状态所需读取的寄存器。
[报价 USERID="47451" URL"~/support/interface-group/interface/f/interface-forum/1351290/tic12400evm-kit-tic12400evm-kit/5170119 #5170119"]配置器件并将触发位设置为"1"后、您可以读取 INT_STAT_COMP 寄存器(0x05)、以查看使用比较器的任何已启用输入的状态。 或者、您可以读取 IN_STAT_ADC0 (0x06)和 IN_STAT_ADC1 (0x07)寄存器、以查看任何使用 ADC 的已启用输入的状态。 使用 ADC 的任何已启用输入的原始 ADC 代码均 可从寄存器 ANA_STAT0 - ANA_STAT12寄存器0x0A 至0x16中读取。[/QUOT]Jonathan
尊敬的 Amudha:
我在您创建的另一个 E2E 帖子中提供了一个示例。 (链接) 如果您还有其他问题、我们可以关闭其中一个线程、以便只有一个关于此主题的开放线程吗?
数据表中的图8-22和图8-23给出了 SPI 协议位序列。 请注意、最高有效位(或芯片选择变为低电平后传输的第一位)是读取/写入操作代码位。 它后跟6位地址。 请注意、最低有效地址位不是第一个字节的最低有效位。 由于奇偶校验位是序列中的最后一位、因此数据字段的24位会移动一位。 因此、您的寄存器地址需要在事务的第一个字节中向左移动一位、并且您需要写入0x02000000以执行器件 ID 寄存器(地址0x01)的读取。

我认为 CPOL 和 CPOH 应该是0。 请验证您的波形是否与我在逻辑分析仪上捕获的以下波形相匹配。

此致、
Jonathan
Jonathan、您好!
我 使用 GUI 应用程序写入数据序列和读取数据序列
我无法获得正确的读取顺序时序图、
I CONNECTED J1- OPEN、1和2连接在 J11中 、1和2连接在 J12中、1和2连接在 J7中、2和3连接在 J6中
读取器件 ID 芯片选择引脚时的行为与时钟类似。 下面的链接显示了时序图,请帮助我找出问题
谢谢
Amudha
尊敬的 Amudha:
您插入的图像的分辨率太低、我看不到任何细节。 但根据您对芯片选择信号充当时钟的描述、我会怀疑 SPI 信号上会出现串扰、从而导致 TXB0106电平转换器出现问题。
这些电平转换器 IC 是双向器件、具有自动方向检测功能、使其易受噪声的影响、如果器件通道在"输出"侧出现一些噪声、会导致器件通道切换方向、从而使其认为需要切换方向才能不会阻止任何双向数据。
通过将逻辑分析仪探头放置在数据连接的中间、我们现在可以为信号中的反射提供源、并使自动方向功能出现问题。 信号端有0欧姆电阻器、可以替换为更大的值(即330欧姆等)、这有助于抑制任何信号反射并改善通信。 我不知道需要什么值、或者这是否会始终防止该问题发生、但我很确定问题在于电平转换器切换方向和中断 SPI 通信。
关于使用 GUI 时如何旁路或稳定 TXB0106并可靠地捕获 EVM 上 MSP430和 TIC12400-Q1之间的 SPI 通信、我目前还没有任何其他建议。 为了捕获我之前共享的器件 ID 读取波形、我为 SPI 使用外部 MCU、而没有启用 TXB0106。
如果您感兴趣的任何特定寄存器读取/写入波形、我可以帮您捕获它们。 如果您仍不清楚该协议、我还可以尝试通过其他示例简化该过程。
此致、
Jonathan
尊敬的 Amudha:
您在 MOSI 信号0x02、0x00、0x00、0x00上发送的数据对于器件寄存器0x01的读取是正确的。 但是、MISO 信号0xE1、0x00、0x41上接收的数据完全不正确。 我添加了这张逻辑分析仪图、上面的文章中读出的器件 ID、但您可以看到波形应该是什么样的。 您的回复数据应该是 0x00、0x00、0x40。 请注意、返回的第一个字节是状态字节、因此该字节未知、但最后3个字节包含正在返回的寄存器值。

该器件使用奇数模式奇偶校验、这意味着 SPI 事务中1的总数应为奇数。 因此、如果 SPI 消息中1的总数(不包括奇偶校验位)为奇数、则奇偶校验位应设置为"0"以保持1的奇数。
不过、如果 SPI 消息中的1个数(不包括奇偶校验位)是偶数、则奇偶校验位应设置为"1"以使1的总数和奇数。
因此、有时奇偶校验位将为1、有时也将为0。
尝试从外部 MCU 进行通信时、是否确保通过 J6接头禁用 TXB0106电平转换器? 如果在使用外部 MCU 时未禁用此电平转换器、则会导致通信问题。
此致、
Jonathan
Jonathan、您好!
正如您所说,我们已经检查了您的上述建议和,现在我们能够读取设备 ID ,命令0x02, 0x00, 0x00。
我们从 IC、0x00、0x00、0x00、0x40得到。
因此在第二个设置中,我们只尝试读取位于添加0x02的 INTP Status Reg ,在此我们发送0x04、0x00、0x00,0x00。
在这之后, INTP 变得清晰和可见的板上与 LED 的帮助,但在阅读时,我们得到奇偶校验位是一个. 根据奇偶校验位逻辑,它应该是奇数,所以在我们的命令,我们只发送一个数据,所以它是奇数,所以这里基本上奇偶校验不应该失败 ,但我们也得到奇偶校验错误。 因此,请建议该寄存器的数据或提供更多的清晰度的奇偶校验位.
此致
Amudha D.
尊敬的 Amhuda:
我很高兴您现在可以读取寄存器。 我觉得您对数据的描述是正确的、并且基于您看到奇偶校验错误的原因、我不确定。 您是否可以尝试多次读取 INT_STAT 寄存器(0x02)以查看其是否被第一次读取清除、或者是否保持设置状态?
INT_STAT 寄存器中是否设置了任何其他位?
您是否还可以尝试读取其他寄存器、并记下奇偶校验位是仅为某些寄存器还是所有寄存器设置、以及我们是否可以在设置或未设置时确定某种模式或它们之间的关系、以帮助确定其原因?
您是否能够写回寄存器以验证其是否正常工作?
只要您禁用了 TXB0106电平转换器、那么您也应该能够使用逻辑分析仪。 您是否可以尝试捕获处理器和 TIC12400-Q1之间的 SPI 通信?
我还要附上一个我创建的简单 Excel 电子表格工具、用于帮助将 R/W、地址、数据和奇偶校验字段之间的 MOSI 数据编码和解码为 SPI 所需的格式。 对于验证要发送到 TIC12400的数据的格式以及奇偶校验位应是1还是0、您可能会有所帮助。
.e2e.ti.com/.../TIC12400_2D00_Q1-Register-Value-SPI-Sequence-Calculation-Worksheet-Rev-A.xlsx
此致、
Jonathan
Jonathan、您好!
我遇到的关于奇偶校验位的问题已解决。
现在、我将尝试根据 IN_EN 寄存器 (IN0-IN9)中的输入使能位读取10个开关。
我配置了以下寄存器
地址=1A = IN_EN - B60007FE (WR=1、奇偶校验=0、DATABITS=0003FF)
地址=1C = CS_SEL - B8000001 (WR=1、奇偶校验=1、DATABITS=000000)
地址=1d = WC_CFGO - BA000000 (WR=1、奇偶校验=0、DATABITS=000000)
地址= 32 = MODE - E4000001 (WR=1、奇偶校验=1、DATABITS=000000)
地址= 1A = CONFIG - B4000001 (WR=1、奇偶校验=1、DATABITS=000000)
地址= 21 = THRES_COMP - C2000055 (WR=1、奇偶校验=1、DATABITS=00002A)
地址= 22 = INT_EN_COMP1 - C4AAAAAA (WR=1、奇偶校验=0、DATABITS=5555)
地址= 1A = CONFIG - B4001000 (WR=1、奇偶校验=0、DATABITS=000800)
读取寄存器的操作如下所述
地址= 02 = INT_STAT
地址= 05 = IN_STAT_COMP
更改 SW0 - SW9开关状态后、结果无变化(INT_STAT = 00000001、IN_STAT_COMP = 00000001 寄存器)
此致、
Amudha。
尊敬的 Amudha:
[报价 userid="603003" url="~/support/interface-group/interface/f/interface-forum/1351290/tic12400evm-kit-tic12400evm-kit/5209788 #520978"]address=1A = IN_EN - B60007FE (WR=1、奇偶校验=0、DATABITS=0003FF)[/QUOT]IN_EN 寄存器地址为1b。
[报价 userid="603003" url="~/support/interface-group/interface/f/interface-forum/1351290/tic12400evm-kit-tic12400evm-kit/5209788 #520978"]address=1d = WC_CFGO - BA000000 (WR=1、奇偶校验=0、DATABITS=000000)您已将所有开关的湿性电流电平设置为0mA。 除非您为所有开关提供了外部电压源、以便有一个电流流动路径、否则与 EVM 配合使用时该方法可能不正确。 该器件的一般操作是从 INx 引脚流出一些电流、这些电流将通过外部开关电阻流至 GND。 这会产生可由比较器或 ADC 根据欧姆定律(V=I*R)检测到的压降。 当该开关断开时、将会出现高电阻、INx 引脚的电压将大于检测阈值。 但当开关闭合时、会出现一个低电阻、INx 引脚的电压低于检测阈值。 将湿性电流电平设置为0mA 时、如果没有连接到开关上的外部电源电压、将无法检测开关上断开或闭合时的差异。 我建议将湿性电流电平设置为非零电平、例如2mA。
[报价 userid="603003" URL"~/support/interface-group/interface/f/interface-forum/1351290/tic12400evm-kit-tic12400evm-kit/5209788 #520978"]address= 22 = INT_EN_COMP1 - C4AAAAAA (WR=1、奇偶校验=0、DATABITS=555555)我想让您希望在 INT 引脚上生成中断、然后您还需要设置 INT_EN_CFG_0寄存器(0x24:2 = 1)中的 SSC_EN 位。
此致、
Jonathan
尊敬的 Amudha:
我想您忽略了我上一篇文章中的最后一条建议。
[报价 userid="47451" url="~/support/interface-group/interface/f/interface-forum/1351290/tic12400evm-kit-tic12400evm-kit/5210536 #5210536"]如果您想在 INT 引脚上生成中断、则还需要设置 INT_EN_CFG_0寄存器(0x24:2 = 1)中的 SSC_EN 位(0x24:2 = 1)。[/QUOT]当我将寄存器配置加载到 EVM 中并在寄存器0x24中设置 SSC_EN 位时、我会在我更改开关时看到 INT_STAT 寄存器中的 SSC 位发生变化。 希望这也适用于您。
此致、
Jonathan
尊敬的 Amudha:
ADC 使用内部基准并指定了 INx 通道的满量程范围为0V 至6V。 ADC 还可用于监控 VS 电源电压、如果启用、则有两个标度可从寄存器配置中选择。 第一个 VS 范围为0V 至9V、第二个范围为0V 至30V。

因此、6V 的 INx 引脚电压将返回1023的 ADC 代码。 向 INx 引脚施加5V 电压时、ADC 将返回大约853的代码。
5V /(6/1023)= 852.5
此致、
Jonathan
Jonathan、您好!
1.我必须使用 ADC 通道读取电阻。 在 IN10和 IN11引脚中连接可变电阻时、ADC 最大值达到6250欧姆 、而 IN12 - IN23引脚中 的 ADC 最大值达到10M 欧姆、为什么在达到最大 ADC 值时有很大的差异? 要实现1023、最大电阻值是多少?
2、我的假设、该 IC 中的阈值用于生成中断。 让我知道如何有效地使用这些阈值?
尊敬的 Amudha:
您能告诉我您使用的配置以及电阻在电路中的连接方式吗? 如果更容易的话、或许用一个简单的原理图呢?
您使用的是拉电流模式还是灌电流模式? 湿性电流电平是多少? VS 电源引脚电压是多少?
该器件根据欧姆定律(V=I*R)工作、根据 INx 引脚上的测量结果、ADC 范围介于0V 和6V 之间。 因此,我需要知道所有的因素,以理解你的意见。
此致、
Jonathan
Jonathan、您好!
组合
启用 IN10-IN23引脚
设置电流源
和1mA 等湿性电流
将 IN10-IN23引脚设置为 ADC
阈值比较器(2V)
ADC 阈值 CONFIG0 - THRES1 - 150、THRES0 - 000 (十六进制数据位0X025800)
ADC 阈值 CONFIG1 - THRES3 - 450、THRES2 - 300 (数据位采用十六进制0x04C92C)
ADC 阈值 CONFIG2 - THRES5 - 750、THRES4 - 600 (数据位采用十六进制0X0BBA58)
ADC 阈值 CONFIG3 - THRES7 - 850、THRES6 - 800 (十六进制0X0D8B20中的数据位)
ADC 阈值 CONFIG4 - THRES9 - 950、THRES8 - 900 (数据位采用十六进制0X0EDB84)
ADC 阈值 map0 -(十六进制0x0000中的数据位)
ADC 阈值映射1-(十六进制0X011000中的数据位)
ADC 阈值映射2-(十六进制0X0000D1中的数据位)
INT 启用比较器1 (0x22)-(数据位为十六进制 0XAAAAAA)
INT 启用比较器2 (0x23)-(以十六进制表示的数据位 0XAAAAAA)
全局中断生成寄存器(0x24)-(数据位为十六进制 0X000040)
ADC 中断使能 GEN reg0 (0x25)-(十六进制数据位为 0x222222)
ADC 中断使能 Gen reg1 (0x26)-(十六进制中的数据位 0XAAAAAA)
ADC 中断使能 GEN reg2 (0x27)-(十六进制数据位 0XAAAAAA)
ADC 中断使能 GEN reg3 (0x28)-(十六进制数据位 0X00AAAA)
CONFIG TRIGGER (0x1A)-(数据位为十六进制 0X000800)
VBAT -12V
VS - 11.8V
比较

我的假设是、该 IC 中的阈值用于产生中断。 让我知道如何有效地使用这些阈值?
谢谢
Amudha
尊敬的 Amudha:
的第6部分 配置 TIC12400-Q1多开关检测接口(MSDI)的步骤 应用报告(链接) 提供了配置 TIC12400输入以与使用 ADC 的电阻编码开关搭配使用时所需的详细概述和步骤。 我认为这将解决您的许多问题。
有关电阻值的 ADC 最大代码的上一个问题是、在使用电流源模式时、INx 引脚电压应始终等于欧姆定律的结果(V=I*R)。 如果您始终提供1mA 电流、那么您应该得到具有6K 电阻的最大 ADC 代码。 如果你看到了一个差异,那么其他的问题。
请注意、使用灌电流模式时、INx 引脚电压略有不同、因为从连接到开关高侧的 VS 或 Vbatt 电压中减去了欧姆定律下的压降。
请注意、比较器与 ADC 的阈值及中断配置设置是相互独立的。 因此、如果您在使用 ADC、则无需为该通道设置比较器设置。
请注意、数据表中的表8-1显示了一些共享的湿性电流和 ADC 和比较器阈值配置设置。 每个 INx 通道都不能独立配置。

一般而言、您需要确定一个 ADC 代码来分配给阈值、然后您需要选择应用于生成中断的阈值。 当这些寄存器被配置和启用时、当 ADC 值超过阈值时、将生成一个中断。 某些输入具有多个阈值。
此致、
Jonathan
尊敬的 Amudha:
在 INx 引脚和 GND 之间放置电阻的电流源配置中、电流源配置非常简单、就像欧姆定律(V = I * R)一样简单、其中 ADC 测量的 INx 引脚电压等于湿性电流乘以电阻。
ADC 的电压范围为0V 至6V、这意味着如果 INx 引脚上的电压超过6V、将返回最大 ADC 代码1023。 但是、如果 INx 引脚上的电压介于0V 和6V 之间、则将返回与电压相对应的介于0和1023之间的 ADC 代码。
首先、您需要了解单个 ADC 代码的分辨率或电压范围、即:6V / 1023 = 5.865mV。 这说明与您尝试检测的不同电阻电平相对应的电压电平必须高于5.865mV、或者两个电阻电平都将返回相同代码、无法检测到 ADC 的差异。 更改湿性电流电平将导致电阻产生不同的电压、因此较大的湿性电流电平会导致较大的电压差。 但检测范围只有6V、因此我们需要确保最大电阻处的电压小于6V。
如果您使用1mA 湿性电流电平、那么每个电阻会产生大约1mV 的电压差。 这将仅使用0V 至0.3V 的可用 ADC 检测范围、每个 ADC 代码将表示5-6欧姆。 这可能太小了。
不过、15mA 的最大湿性电流电平将为每个电阻欧姆提供大约15mV 的电压差、这大约等于3个 ADC 代码。 300欧姆的最大电阻将在 INx 引脚上产生4.5V 的电压、这小于6V、因此这可能是最佳使用设置、因为它可以提供最大的 ADC 代码分辨率、因为您还需要适应各种容差因素。
此致、
Jonathan
然而、15mA 的最大湿性电流水平对于每欧姆电阻、将产生大约15mV 的电压差、这大概等于3个 ADC 代码。 300欧姆的最大电阻将导致 INx 引脚上的电压低于6V、因此这可能是最佳设置、因为它可以提供最大的 ADC 代码分辨率、因为您还需要考虑各种容差因素。
Jonathan、您好!
是否可以使用 TIC12400检测引脚的输入状态(例如:HIGH (+VCC)、Low (GND))
此致
Amudha
尊敬的 Amudha:
如果您使用的是比较器、则器件将使您知道电压是否高于配置的阈值(2V、2.7V、3V 或4V)。
如果您使用 ADC、则该器件的采样范围为0V 至6V、如果它处于此范围内、则可以读取原始 ADC 代码并计算电压。 如果 ADC 代码是最大值1023、则只能确定电压大于或等于6V。 ADC 还具有可编程阈值、这些阈值可设置为特定的 ADC 代码值。 然后、当两次读取之间的电压变化值超过配置的阈值时、器件会生成中断。
此致、
Jonathan