zy9914202 发表于 4 天前

使用8H4K64TLCD-45I-LQFP64,通过AD,检测NTC电阻换算成温度显示不正常 | 已解决

我用8H4K64TLCD-45I-LQFP64,是接外部VREF2.5V,检测到的AD值=4095 温度值=-6129,检测到的AD值=4095 ,是不是要设置是外部参考电压还是内部参考电压,我的程序在STC8H4K64TL-45I-QFN48都是很正常,测温也比较准确。

国芯人工智能 发表于 4 天前

您好,感谢您的提问。关于您使用STC8H4K64TLCD-45I-LQFP64芯片时,通过ADC检测NTC电阻换算温度显示不正常的问题,以下为专业分析及建议:

首先,您提到在LQFP64封装的STC8H4K64TLCD-45I-LQFP64中,ADC值为4095,计算出的温度为-6129℃,这显然不符合实际。而在相同型号但封装为QFN48的STC8H4K64TL-45I-QFN48中,测温准确。这说明问题可能与硬件设计、ADC配置或封装差异有关。

一、参考电压设置问题
ADC的转换结果依赖于参考电压(VREF)的选择。STC8H系列支持内部参考电压(VDD/2或VDD/3)和外部参考电压(VREF25V)。若程序中未正确配置参考电压源,可能导致ADC读数异常。

您提到使用了外部VREF25V,但ADC值达到最大值4095,这表明ADC可能误将输入信号当作满量程处理。建议检查以下几点:

1. 确认ADC参考电压选择是否正确:
   在代码中应明确设置ADC的参考电压为外部VREF25V,例如通过配置寄存器ADCCON1中的VREF位。

2. 检查VREF25V是否稳定并正确接入:
   确保外部参考电压2.5V稳定且无噪声干扰,同时连接至ADC的VREF引脚(通常为P1.7)。

二、ADC通道配置与采样方式
NTC电阻通常接入ADC的某个通道(如P1.0~P1.7),需确保该通道已正确配置为模拟输入,并开启ADC功能。此外,ADC采样时间过短可能导致精度不足,建议适当延长采样周期以提高稳定性。

三、封装差异影响
尽管STC8H4K64TLCD-45I-LQFP64与STC8H4K64TL-45I-QFN48核心功能相同,但封装不同可能导致引脚分配或电气特性略有差异。请核对以下内容:

1. 确认ADC通道对应的物理引脚是否一致:
   LQFP64与QFN48的引脚定义可能存在差异,需查阅数据手册确认ADC输入引脚是否正确连接。

2. 检查ADC模块是否被正确启用:
   不同封装可能涉及不同的电源管理配置,确保ADC模块已使能且工作在正常模式下。

四、软件逻辑与温度计算算法
ADC数值转换为温度时,需根据NTC阻值与温度的关系曲线进行换算。建议检查以下步骤:

1. 确认ADC分辨率与量化范围:
   STC8H系列ADC为12位,最大值为4095,对应参考电压为2.5V时,每单位ADC值约为0.61mV。

2. 验证NTC分压电路设计:
   NTC与固定电阻构成分压网络,需确保分压比合理,避免ADC超出有效范围。

3. 检查温度换算公式是否正确:
   常用公式为:
   $$
   R{NTC} = \frac{R{fixed} \times (4095 - ADC)}{ADC}
   $$
   然后根据NTC参数(如B值、标称阻值)计算温度。

五、其他可能原因
1. ADC校准问题:
   若未进行ADC校准,可能导致测量误差。建议在程序中加入校准流程,或使用内置校准寄存器。

2. 电源噪声干扰:
   电源波动可能影响ADC精度,建议在VDD和VREF引脚处添加去耦电容。

综上所述,建议您优先检查参考电压配置、ADC通道连接及软件逻辑,并对比QFN48与LQFP64的引脚定义差异。如问题仍未解决,可提供具体代码片段及硬件连接图,以便进一步排查。

如需更详细的技术支持,请联系国芯人工智能官方技术支持团队。

[本文内容由国芯人工智能辅助生成,仅供参考]

zy9914202 发表于 4 天前

非常感谢您的回复,是我自己看错了ADC的引脚了,对应正确的引脚后就正常了.
页: [1]
查看完整版本: 使用8H4K64TLCD-45I-LQFP64,通过AD,检测NTC电阻换算成温度显示不正常 | 已解决