8个职位/0个新职位
最后一篇文章
csq公司
离线
最后一次见到:1年5个月前
已加入:2018-08-05 08:56
索塔adc采样速率没有数据表说的那么高

对于(int i=0;i<100;i++){
adc\u init(GP\u adc\u SE,GP\u adc\u SIGN,0);
adc\启用\通道(3);
adc_sample4[i]=adc_get_sample();
adc_disable();

adc\u init(GP\u adc\u SE,GP\u adc\u SIGN,0);
adc\启用\通道(0);
adc_sample1[i]=adc_get_sample();
adc_disable();

adc\u init(GP\u adc\u SE,GP\u adc\u SIGN,0);
adc\启用\通道(2);
adc_sample3[i]=adc_get_sample();
adc_disable();

adc\u init(GP\u adc\u SE,GP\u adc\u SIGN,0);
adc\启用\通道(1);
adc_sample2[i]=adc_get_sample();
adc_disable();
}
我用模数转换器采样,然而在经过100个循环后,总共400次,时间已经经过了微软级
特征
•10位动态ADC,转换时间为65 ns

设备:
FvD\U对话框
离线
最后一次见到:1个月2天前
工作人员
已加入:2013-12-05 14:41
尊敬的csq:,

尊敬的csq:,

对不起,我用英语回答。

我们正在研究你的代码,并将尝试优化它。

谨致问候

FvD\U对话框

csq公司
离线
最后一次见到:1年5个月前
已加入:2018-08-05 08:56
那么我怎样才能使用ADC呢

那么如何在高速率下使用ADC呢?

胞苷
离线
最后一次见到:6个月4周前
工作人员
已加入:2017-12-14 02:48
你好,

你好,

这种计算方式不严谨。

你的代码里,采样时间应该只占了很少的一部分,代码损耗(为了循环、函数调用)、模数转换器初始化等占用的时间,比采样时间高多了。

请问你项目需要实现什么功能?需要多快的采样速度?

csq公司
离线
最后一次见到:1年5个月前
已加入:2018-08-05 08:56
利用模数转换器采集对高频调制信号的接收,大概1兆赫

利用模数转换器采集对高频调制信号的接收,大概1兆赫我主要在库里面没找到别的连续模数转换器采样的相关库函数,或者最快能采多少

胞苷
离线
最后一次见到:6个月4周前
工作人员
已加入:2017-12-14 02:48
你好,csq

你好,csq

理论可达 3.3 m样本/s

模数转换器初始化(20美元)并运行之后,转化时间是接近 1美国处理转化的数据需要 4我们故理论最大采样速度是 16/5=3.3M样本/s

实际上在把转化完成的数据存储到 猛撞的过程中,还会有一些其它代码运行时间的损耗,故很难达到该理论值。

你是想 模数转换器采样速率能达到 1兆赫还是说想对 1兆赫的波形进行采样?

csq公司
离线
最后一次见到:1年5个月前
已加入:2018-08-05 08:56
对1兆赫的波形进行采样

对1兆赫的波形进行采样,底层的函数
adc\u获取\u样本{

int cnt=ADC\u超时;
SetBits16(GP\ U ADC\ U CTRL\ U REG,GP\ U ADC\ U START,1);
while(cnt--&&(GetWord16(GP\u ADC\u CTRL\u REG)&GP\u ADC\u START)!=0x0000);
设置字16(GP_ADC_CLEAR_INT_REG,0x0000);//清除中断
返回GetWord16(GP\u ADC\u RESULT\u REG);
}
这个貌似没有连续读取模式

胞苷
离线
最后一次见到:6个月4周前
工作人员
已加入:2017-12-14 02:48
你好,

你好,

3.3兆赫是理论能达到的采样速率,实际上,由于 猛撞的限制,芯片主频的限制(16MHz)还有额外的、处理代码的开销,可能并不适用“对1兆赫的波形进行采样”这种应用场景