喂对话团队,
我试图从连接在P0_0上的温度传感器采样值。所有功能都很好,但ADC的值从不保持恒定,并在传感器的实际值的+/- 5%之间跳动。即使当传感器变得稳定时,这种情况也会发生。我尝试使用万用表和高分辨率示波器监测传感器的OUT引脚上的电压。传感器的输出值变化不大,所以我想知道是不是我做错了什么。读取ADC端口的值以电池样例为例(采用单模转换和GP_ADC_ATTN3X以降低准确性)。
此外,出于文档目的,我想知道ADC使用哪个时钟。关于这件事,我找不到任何确切的信息。在数据表中,它说GP_ADC_CLK_SEL = 0表示使用内部高速时钟,而GP_ADC_CLK_SEL = 1表示使用数字时钟。这些钟表的确切值是多少?
谢谢提前
设备:
嗨mbakpaul,
请澄清一下,您使用的是DA14583的定制板,还是我们的开发板?可能在传感器和DA14583之间添加了噪声。没有任何关于ADC时钟生成的可用文档。正如你正确提到的,ADC使用内部高速~200MHz。你能提供一下你正在使用的传感器的信息吗?是16位输出吗?
谢谢,PM_Dialog
你好,对话框的团队,
感谢您的回复!我使用DA14583定制板,但我尝试将传感器的输出连接到pro板的ADC0上,我仍然得到了相同的结果。我使用TI的LMT84DCKT来监控温度变化。它的输出是模拟的,给出0到1.5V之间的电压。
关于ADC时钟的产生,用16MHz的Quarz真的有可能实现200MHz吗?我真的不懂。是否有可能配置ADC用于样本的时钟?
感谢和问候
保罗Mbak
嗨mbakpaul,
您可以共享您正在读取ADC值的代码片段和配置吗?正如我在之前的文章中提到的,ADC使用一个内部高速在~200MHz,所以这个时钟是内部产生的,而不是从16MHz时钟。请查看DA1450 datasheet的表177。一个选择(GP_ADC_CLK_SEL=0)将ADC的内部时钟设置为时钟,另一个选择(GP_ADC_CLK_SEL=1)将系统时钟设置为ADC的时钟。选择0选项(内部高速adc时钟),因为Dialog推荐,内部adc时钟大约是200MHz。
谢谢,PM_Dialog