查看: 6812|回复: 7

【ADC】FM33LC02X ADC 使用问题

[复制链接]

3

主题

10

帖子

53

积分

中级工程师

Rank: 2

积分
53
发表于 2020-7-31 10:13:59 | 显示全部楼层 |阅读模式

请问这里的 ADC_VREF  和  ADC_VREF1 的值是怎么来的  flash里面存的吗   什么时候存的
微信截图_20200731100956.png
微信截图_20200731101015.png
回复

使用道具 举报

1

主题

45

帖子

2223

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2223
发表于 2020-7-31 10:54:51 | 显示全部楼层
ADC_VREF是REF122的采样值,存到芯片的NVR区,这个值是在芯片封装之前,CP的时候存的
ADC_VREF应该是当时测试的时候写的,没有删掉,这个不用关心的
回复

使用道具 举报

3

主题

10

帖子

53

积分

中级工程师

Rank: 2

积分
53
 楼主| 发表于 2020-7-31 17:24:49 | 显示全部楼层
我是一只鱼21 发表于 2020-7-31 10:54
ADC_VREF是REF122的采样值,存到芯片的NVR区,这个值是在芯片封装之前,CP的时候存的
ADC_VREF应该是当时测 ...

那我这里计算实际电压的时候 不需要这个值吗

GetV =  (GetVSample *3000*)/(Get122VSample*4095);

这样就行了?
回复

使用道具 举报

1

主题

45

帖子

2223

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2223
发表于 2020-7-31 20:15:37 | 显示全部楼层
geroge 发表于 2020-7-31 17:24
那我这里计算实际电压的时候 不需要这个值吗

GetV =  (GetVSample *3000*)/(Get122VSample*4095);

需要的

电压转换公式的由来是这样的:
首先内部ref122的电压值不随外部的电压变化的
CP条件下3V供电,REF122的电压值为3000/4095 * ADC_VREF
自己方案的条件下,REF122的电压值为VDDA/4095*Get122VSamlpe
可以得到ADC的基准电压VDDA=ADC_VREF/Get122VSamlpe  *3000

得到的通道电压 = VDDA/4095 * GetVSample = (ADC_VREF* GetVSample *3000) / (Get122VSamlpe*4095)
回复

使用道具 举报

3

主题

10

帖子

53

积分

中级工程师

Rank: 2

积分
53
 楼主| 发表于 2020-8-1 16:48:24 | 显示全部楼层
我是一只鱼21 发表于 2020-7-31 20:15
需要的

电压转换公式的由来是这样的:

多谢 我还是有点不明白 不是说ADC_VREF不需要吗  这里取ADC基准电压VDDA的时候又用到了   3V供电情况下 也用到了  那此时的这个值哪里来  

另外还有个疑问,运行测试程序ADC DMA的例程 发现GetVoltageSample函数返回是32类型的  这里取值为啥是64的  这里取值后打印值为0  而最终结果是正常的  ;将64的返回值换成32 取值打印正常4095 ,但最终的结果却不正常了  这里是何原因 按理说AD的值16位就够了把  32 和 64 互换应该没有影响的呀
微信截图_20200801164356.png
回复

使用道具 举报

1

主题

45

帖子

2223

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2223
发表于 2020-8-3 08:31:03 | 显示全部楼层
geroge 发表于 2020-8-1 16:48
多谢 我还是有点不明白 不是说ADC_VREF不需要吗  这里取ADC基准电压VDDA的时候又用到了   3V供电情况下  ...

之前打的有笔误
ADC_VREF是NVR里存的,需要的
ADC_VREF1这个是不需要的

GetVSample定义64bit原因是因为 (ADC_VREF* GetVSample *3000) / (Get122VSamlpe*4095)、
这个公式的分子32bit的话可能会溢出,所以定义64bit
回复

使用道具 举报

3

主题

10

帖子

53

积分

中级工程师

Rank: 2

积分
53
 楼主| 发表于 2020-8-3 09:36:59 | 显示全部楼层
我是一只鱼21 发表于 2020-8-3 08:31
之前打的有笔误
ADC_VREF是NVR里存的,需要的
ADC_VREF1这个是不需要的

好的  明白了 多谢  那这个NVR的值是不是不能改的? 我看手册里写的是这个地址是芯片的保留扇区 不对用户开放  另外我看手册里写的是现在存的是30+-1℃的条件的ADC_VREF值   如果是37或者27°C的条件呢  那是不是不准了
回复

使用道具 举报

1

主题

45

帖子

2223

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2223
发表于 2020-8-3 10:32:56 | 显示全部楼层
geroge 发表于 2020-8-3 09:36
好的  明白了 多谢  那这个NVR的值是不是不能改的? 我看手册里写的是这个地址是芯片的保留扇区 不对用户 ...

NVR是芯片出产前就设定好的,用户改不了的;测试条件是CP测试保证的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表