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.

[参考译文] MSP430F4.7177万:MSP430F471x6和MSP430F471x7上的SD16_A输入对

Guru**** 2611705 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/661525/msp430f47177-sd16_a-input-pairs-on-msp430f471x6-and-msp430f471x7

部件号:MSP430F4.7177万

尊敬的各位:

我已经阅读 了MSP430x4xx系列用户指南MSP430F471x6/MSP430F471x7数据表 一段时间,我想知道SD16_A模块的输入通道配置。 数据表显示0.0 输入A +和A 0.0 到6.0 A +和6.0 A (或分别在MSP430F471x6中的5.0 A / 5.0)。 当我查看用户指南中的信道配置(图30-1,第841或30-3页)时,1.0 + A /-最高为1.7。 好的,因此有五个外部可用的输入对,另外两个连接到内部温度传感器或VCC-VSS, 最后一个(AX.7)短路用于PGA偏移测量。

我不太明白...数据表提到外部SD16输入对AX.0,在我看来,这些外部输入应该对应于数据表通道描述中的输入对AX.0。 但其他通道输入(AX.1至AX.4)的来源是什么? 我找不到这方面的任何提示。 另一方面,我有一个具有MSP430F4.7177万的旧项目,它运行在输入0.0 A和3.0 上,其中通道3的输入设置为3.3 ,它会产生正确的结果,尽管我不知道电流3.3 的来源。 它们显然不能短路(AX.0至AX.4),因为这完全没有意义。 似乎更像是通道配置AX.3将输入3.0 A映射到相应的通道。 但如果是这种情况,为什么 有MSP430F471x6和MSP430F471x7,区别在于 MSP430F471x6缺少第七个外部输入(无论如何,它们将映射到VCC-VSS)? 当然,这是不可能的,因为外部输入(7)和通道输入(8)之间显然存在明显差异。

我很困惑...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    数据表中的AX.0对应于用户指南中的A1.x。 我同意这会让人困惑,我将把这件事传达给负责文档的团队。 对于SD_16,将不使用A 5.0 和6.0 对。 这些输入也可用于具有模拟输入的其他模块,这就是为什么有两个模块不用于SD_16的原因。 MSP430F471x7具有一个额外的输入,可用于不同的模块,而不是SD_16。

    此致,
    Nathan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Nathan,感谢您的回复。 不使用A 5.0 和6.0 时,为什么MSP430F471x6和MSP430F471x7之间存在差异?
    同时,我还了解了MSP430F4.7177万代码示例。 在msp430x471x7_SD16_02.c和msp430x471x7_SD16_01.c中,所有七个输入信道都可以同时转换。 根本没有输入配置,这告诉我通道输入AX.0始终映射到外部引脚对AX.0。 我可以想象,AX.1到AX.4不使用,但如果为每个通道选择了这些输入,则必须默认为AX.0,我在文档中没有看到。 否则,我的旧项目(在其中配置了A 3.3 并映射到3.0 A)将不起作用。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    MSP430F471x6和MSP430F471x7之间的区别与其他模拟模块有关。 SD_16不是唯一可以使用模拟输入的模拟模块,MSP430F471x7具有MSP430F471x6没有的模块,这些模块可以使用额外的输入。 这两种设备之间的差异是物理的(实际上有不同的引脚数),因此使用5.0 A A A和6.0 A并不重要。

    对于代码,使用的是默认配置。 再次强调,事情并没有真正被映射,因为它只是用户指南和数据表之间的符号不匹配。 至于您的旧项目,我没有该代码,因此我很难评论它的工作方式。

    此致,
    Nathan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Nathan,
    再次感谢您的回复。 我真的不想让您烦恼,但我很想了解发生了什么,因为我想在新设计中使用MSP430F4.7177万,使用所有七个SD16输入。 但我不想使用我不完全理解的关键部件。 根据器件数据表,对于MSP430F471x6/MSP430F471x7,它们都采用IPZ封装,唯一的区别是引脚16/17 (6.0 A / NC)。 此外,唯一的其他模拟功能块将是比较器,它具有专用输入,并且(据我所见)无法定向到任何AX.y端口。

    在传统项目中,在系统初始化期间,有一行:
    SD16INCTL3 = SD16INCH_3 | SD16GAIN_16;(引导至外部安装的热电偶)
    SD16在初始化后以连续模式运行。 我将行更改为
    SD16INCTL3 = SD16GAIN_16;(应直接连接到电流传感器)
    现在,为了进行测试,重新编程并重新启动系统。 我在操作过程中检查了配置寄存器,以确保代码的其他部分没有变化。 虽然SD16应该采样到与CH3不同的通道(根据我修改的配置),但我仍然可以看到CH3更新的温度值。 从这一点来看,我的器件中的SD16似乎总是来自AX.0 (因为没有可用的AX.Y引脚,并且没有解决任何内部温度/诊断功能),所以这也应该是5.0 A和6.0 的可能,这对我的新设计来说很好。

    此致,
    Torben

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Torben,

    我认为我之前的回答不是很清楚,所以让我试着在这里澄清一下。 关于MSP430F471x6/MSP430F471x7之间的区别,一个有6个模拟输入引脚,另一个有7个。 这是ADC可以采样的通道数。 一个支持的信道比另一个支持的信道多。

    关于通道匹配,每个通道映射到不同的差分对输入(数据表中的模拟输入对AX.0+和AX.0-)。 但是,正如我相信您已经指出的,您可以选择每个信道的来源对。 在第863 (29.22)页的用户指南中,您可以看到SD16CTLx寄存器说明。 字段SD16INCHx将为该SD16通道选择差分对输入。

    因此,以旧项目为例,第一行(SD16INCTL3 = SD16INCH_3| SD16GAIN_16)将为通道3选择AX.3。 这意味着通道3 (和相应的SD16MEM3寄存器)将来自3.0 A +/-对。 因此,可以将多个通道配置为从相同的差分输入对采样(尽管我想不出一个好的实例来实际执行此操作)。 正如您从代码示例中正确推断的那样,如果未显式配置这些通道,它们将默认为某些输入。 具体而言,通道x默认来自AX.0对。 因此,回到您的旧项目,您的第二行(SD16INCTL3 = SD16GAIN_16)将导致通道3在默认情况下从3.0 电流+/-对采样。 这两行在功能上是等同的。 从您的描述来看,您的电流传感器似乎连接到0.0 A +/-对。 在这种情况下,您需要使用以下配置行:SD16INCTL3 = SD16INCH_0| SD16GAIN_16;
    同一概念可用于从5.0 A +/-和6.0 A +/-对采样的任何通道。对于SDA +/-,请确保选择正确的6.0 16INCH_X。

    我希望这有助于澄清问题。 如果没有,请告诉我哪些部分仍然不清楚。

    此致,
    Nathan