打印
[技术讨论]

DAC正弦波发送后ADC采样有盲区电压

[复制链接]
597|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kktron|  楼主 | 2023-2-20 18:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
HC32L170FAUA处理器
12位的DAC,参考内部2.5V电压输出红色曲线
12位的ADC,参考内部2.5V电压采集DAC的值,发现1430~1550的DAC区有盲区,都是1527返回值

绿色ADC采样有很明显的断层在1527
打印的内容红色是DAC输出值,绿色是ADC输入值

#define PI 3.14159265358979f
void dac_BufProduce(uint16_t* buf)
{
    uint8_t i;
    double fval;
    fval=PI/64.0f;
    for(i=0; i<128; i++)
    {
        buf =(uint16_t)(((sin(fval*i))*2047)+2048);
    }
}

这个是什么原因呢?

QQ图片20230220175236.png (63.47 KB )

QQ图片20230220175236.png

QQ图片20230220175247.png (74.64 KB )

QQ图片20230220175247.png

QQ图片20230220175240.png (200.33 KB )

QQ图片20230220175240.png

使用特权

评论回复

相关帖子

沙发
kktron|  楼主 | 2023-2-20 18:05 | 只看该作者
[18:04:18.073] 1083,1007
[18:04:18.073] 1172,1084
[18:04:18.078] 1264,1199
[18:04:18.078] 1358,1271
[18:04:18.078] 1453,1527----------------------------------------这盲区里一个范围内值 输入都是1527 adc返回
[18:04:18.082] 1550,1527----------------------------------------这盲区里一个范围内值 输入都是1527 adc返回
[18:04:18.082] 1648,1557
[18:04:18.082] 1747,1647
[18:04:18.087] 1847,1749
[18:04:18.087] 1947,1800
[18:04:18.087] 2048,1942
[18:04:18.092] 2148,1992
[18:04:18.092] 2248,2159
[18:04:18.092] 2348,2261
[18:04:18.092] 2447,2312
[18:04:18.097] 2545,2434

使用特权

评论回复
板凳
zchong| | 2023-2-20 21:50 | 只看该作者
本帖最后由 zchong 于 2023-2-20 21:53 编辑

图片哪里来的?不如直接示波器捕获波形更直观。先确定是输出问题还是输入问题,之后再针对性的看一下软件和硬件设计上是否存在问题。

使用特权

评论回复
评论
kktron 2023-2-21 09:27 回复TA
图采集的点 128个DAC输出数值,128个ADC采集值 串口输出到伏特加软件自动描绘的 串口监控软件看数据 也能排除描绘图bug 
地板
xch| | 2023-2-20 22:40 | 只看该作者
DAC 是毫无缺点的党员

使用特权

评论回复
5
kktron|  楼主 | 2023-2-21 09:23 | 只看该作者
zchong 发表于 2023-2-20 21:50
图片哪里来的?不如直接示波器捕获波形更直观。先确定是输出问题还是输入问题,之后再针对性的看一下软件和 ...

示波器 看不出这个盲区点,示波器是看外部的
MCU adc出现盲区

IMG_20230221_092016.jpg (490.36 KB )

IMG_20230221_092016.jpg

使用特权

评论回复
6
kktron|  楼主 | 2023-2-21 09:24 | 只看该作者
DAC----1K-----|--------->ADC
                  1000P
                    |
                  GND

使用特权

评论回复
7
kktron|  楼主 | 2023-2-21 09:25 | 只看该作者
DAC开启了跟随器功能,否则DAC驱动太差
ADC开启了BUF.
两者都是内部参考电压2.5V

使用特权

评论回复
8
Unarty| | 2023-2-21 14:38 | 只看该作者
顶一下,我也想看看大佬分析结果。

使用特权

评论回复
9
cjseng| | 2023-2-21 18:05 | 只看该作者
我建议用两块板子,一块板子的DAC接到第二块板子的ADC来试一下

使用特权

评论回复
10
zchong| | 2023-2-21 20:16 | 只看该作者
kktron 发表于 2023-2-21 09:23
示波器 看不出这个盲区点,示波器是看外部的
MCU adc出现盲区

是不是可以理解为AD端出了问题?另外这个兰(青)色波形顶端似乎还有点失真。

使用特权

评论回复
11
kktron|  楼主 | 2023-2-22 11:42 | 只看该作者
zchong 发表于 2023-2-21 20:16
是不是可以理解为AD端出了问题?另外这个兰(青)色波形顶端似乎还有点失真。 ...

是的,你很仔细哦
顶端也有盲区
理解是AD问题,
AD为什么有些范围的正弦波电压值明明不同,却采集值是一样的ADC值

使用特权

评论回复
12
dandantcb| | 2023-2-22 17:30 | 只看该作者
楼主,建议你单独写一个简单的程序。让DAC输出固定一个电压值(你关心的那个盲区的电压),然后让ADC去读。
因为你现在程序是跑的连续输出输出和连续读取。结果是否正确,跟你程序也有关。所以单独弄一个新程序,输出固定值去读,先排除掉程序的问题。

使用特权

评论回复
13
kktron|  楼主 | 2023-2-24 09:55 | 只看该作者
dandantcb 发表于 2023-2-22 17:30
楼主,建议你单独写一个简单的程序。让DAC输出固定一个电压值(你关心的那个盲区的电压),然后让ADC去读。 ...

试过的,DAC输出没问题的,用仪表去采集都正常
就是自己DAC发,自己ADC采集有盲区。

反之,DAC由仪表产生,ADC采集 也是有盲区

使用特权

评论回复
14
GavinZ| | 2023-2-26 11:44 | 只看该作者
可以用信号源发出三角波去评估ADC的DNL性能,这个看起来是ADC有bug

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

44

帖子

0

粉丝