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.

[参考译文] MSP430F6779A:ADC 采样率问题

Guru**** 2394305 points
Other Parts Discussed in Thread: MSP-EM-DESIGN-CENTER

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/760665/msp430f6779a-adc-sampling-rate-issue

器件型号:MSP430F6779A
主题中讨论的其他器件:MSP-EM-DESIGN-CENTER

大家好、

在这里、我有一个有关我的问题的发布代码。

我想实现4.096采样频率、但无法实现。

采样频率= FM/OSR  

在我的代码中、我有一个配置 FM 为 ACLK 时钟- 32768Hz

和 OSR 值、我将进行更改以实现4.096采样率。

高级 否 FM
时钟(Hz)
OSR 实际/观察示波器采样率(Hz) Fs = FM/OSR
计算采样率
1 32768 50 641. 655.36.
2. 32768 40 806.4 819.2
3. 32768 30 1063 1092.266667
4. 32768 20. 1190.6 1638.4.
5. 32768 10. 1190.6 3276.8

以上是我对示波器和计算的观察结果。

当采样频率增加到1190.6Hz 以上时、它会保持恒定。

那么,如何根据公式/计算来实现?

有人能帮我解决这个问题吗?

  

#include 

int BSR_bit=30;

void SD24_B_config (void);

int main (void)
{
WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器

SD24_B_CONFIG ();

SD24BCTL1 |= SD24GRP0SC; //将位设置为开始转换

__bis_SR_register (GIE); //为

(;)
{
}输入中断


//Σ-Δ ADC *******
void SD24_B_config (void)
{
SD24BCTL0 = SD24REFS | SD24SSEL_2; //选择内部 REF //选择 SMCLK 作为 SD24_B 时钟源

SD24BOSR0 = BSR_BIT; 对于5K 采样器;OSR = 520
SD24BOSR1 = BSR_BIT; 对于5K 采样器;OSR = 520
SD24BOSR2 = BSR_BIT; 对于5K 采样器;OSR = 520
SD24BOSR3 = BSR_BIT; 对于5K 采样器;OSR = 520
SD24BOSR4 = BSR_BIT; 对于5K 采样器;OSR = 520
SD24BOSR5 = BSR_BIT; 对于5K 采样器;OSR = 520
SD24BOSR6 = BSR_BIT; 对于5K 采样器;OSR = 520

SD24BCCTL0 = SD24ALGN | SD24SCS_4; //左对齐,组0
SD24BCCTL1 = SD24ALGN | SD24SCS_4; //左对齐,组0
SD24BCCTL2 = SD24ALGN | SD24SCS_4; //左对齐,组0
SD24BCCTL3 = SD24ALGN | SD24SCS_4; //左对齐,组0
SD24BCCTL4 = SD24ALGN | SD24SCS_4; //左对齐,组0
SD24BCCTL5 = SD24ALGN | SD24SCS_4; //左对齐,组0
SD24BCCTL6 = SD24ALGN | SD24SCS_4; //左对齐,组0

SD24BIE=SD24IE5; //启用通道5中断
}

// 24位 ADC 中断子例程
#pragma vector=SD24B_vector
__interrupt void SD24BISR (void)
{
P1DIR |=BIT4;
P1OUT ^= BIT4;//用于调试
if (SD24BIV == SD24BIV_SD24IFG5)
{
Ch0Results = SD24BMEMH0
Ch4结果= SD24BMEMH4

Ch1结果= SD24BMEMH1
Ch5结果= SD24BMEMH5

Ch2结果= SD24BMEMH2
Ch6结果= SD24BMEMH6

Ch3结果= SD24BMEMH3

}
}

此致、

开尔文

 

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

    这个板与这个线程中的板是一样的吗? 您认为这些是相关的吗? e2e.ti.com/.../760497

    您是如何测量/观察 FS 的? 此外、您的目标采样频率是否仅为4Hz?

    我不知道为什么这是关闭的、但我认为它可能与使用如此低的 FM 有关。 我检查了用户指南是否允许低至0.03MHz、因此这正好位于绝对最小值的边缘。 通常情况下、FM 运行速度更快。 如果采样速率目标是4Hz、我建议使用计时器来增加 FM、以触发采样。

    此外、我们还有一个新的电能测量设计中心 MSP-EM-DESIGN-CENTER、专门用于电子计量设计。 我建议尝试一下。

    谢谢、
    JD