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.

[参考译文] RF430FRL152H:SD14 ADC 问题

Guru**** 2560390 points
Other Parts Discussed in Thread: RF430FRL152H

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/750070/rf430frl152h-sd14-adc-problems

器件型号:RF430FRL152H

大家好、


我使用的是 RF430frl152h 芯片的 SD14数字转换器。 我在100kHz 左右的频率下工作时遇到了问题。 我的目标是读取外部正弦信号、并在频率相同的方波信号中重新创建该信号。 为此、我想查看信号的斜率、并根据读取的值确定曲线是上升还是下降。 不过、这在1kHz 左右工作、但效果并不是很好。

数据表显示"高达2kHz 的采样频率"。 因此、器件可能无法在高于1kHz 的频率下工作?!

问题是采样率还是转换率端口输出可能 具有时钟的频率范围?  如果您有任何想法、请告诉我。

下面是我的代码。

#include 
#include 
#include 

void settingADC (void);
void slopeDetection (void);


int pingDATA = 0;
int newDATA = 0;
bool flag = 0;

void main (void)
{
WDTCTL = WDTPW + WDTHOLD;//停止 WDT

//复位以避免 JTAG 配置
P1SEL1 &=~(BIT4 | BIT4 | BIT6 | BIT4);
P1SEL0 &=~(BIT4 | BIT5 | BIT6 | BIT7);

//将 SMCLK 的频率更改为4MHz
CCSCTL0 = CCSKEY;
CCSCTL5 &=~(DIVS2 | DIVS1 | DIVS0);

P1DIR |= BIT5; //设置 GPIO 输出
P1SEL0 &=~BIT4;
P1SEL1 &=~BIT4;

settingADC();
while (1)
{
slopeDetection();
}

}
void slopeDetection (void)
{
pewdATA = newdATA; //存储以前的值
newDATA = SD14MEM0;//从 ADC 获取值

if (newDATA > p支 IDATA)
{
P1OUT |= BIT5; //SET 引脚高电平
Flag = 1;
}
否则 if (newDATA < peldATA)
{
P1OUT &=~BIT4;//将引脚设置为低电平
标志= 0;
}
其他
{
if (标志)
P1OUT |= BIT5;
其他
P1OUT &=~BIT4;
//无
}
}

void settingADC (void)
{
SD14CTL0 = SD14SSEL0 +UCB0IE;
SD14CTL0 &=~(SD14SSEL1 + SD14DIV0 + SD14DIV1);

SD14CTL1 &=~(SD14INCH0 + SD14INCH1 + SD14INCH2);// inch =0000->A0、ADCCLK

//SD14MEM0 = SD14INCH__A0; //通道 A0

SD14CTL1 &=~(SD14RATE0 + SD14RATE1 + SD14RATE2);

SD14CTL0 |= SD14EN + SD14SC;//开始转换

_BIS_SR (GIE);//启用中断

}
/***************** //*
MSP430的中断矢量 */
********* /

#pragma vector = SD14_vector
_中断 void ADC_interrupt (void)
{
SD14CTL0 |= SD14EN + SD14SC;//重新开始转换
}

此致。

朱利亚诺

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

    SD14模块旨在从慢速传感器捕获数据。

    SD14 ADC 使用的最大时钟频率为2kHz。 当滤波器被设定为最小值时、这将导致最快的转换时间、为16ms、准确度为7位。 (请参阅技术参考指南表10-2)

    请检查代码中的时钟设置、以确保不超过 SD14模块的2kHz 最大频率。

    此致
    Helfried