ADC的时钟频率就是每秒有多少个时钟脉冲的意思,它是ADC模块运行的基础。
它是由系统时钟经过很多环节分频后得到的,它取决于外部的时钟输入和各个环节的倍频或者分频系数。
采样时间是ADC记录输入电压模拟量的时间,该时间内要求要求输入电压足够稳定,不会因电压波动造成记录数值不准。
转换时间是指ADC把记录的模拟量转换成数字量的时间。
采样频率是指ADC模块每秒能完成多少次采样,采样频率取决于启动ADC的频率。启动ADC的方式有很多,比如软件直接启动,利用事件管理器的默写事件,或者是利用外部引脚来启动,启动ADC的频率才是ADC的采样频率,例如:每隔1ms启动一次ADC,那么ADC的采样频率就位1KHZ。周期为频率倒数,采样周期为1ms
对于特定的硬件环境以及转换位数来说,转换时间是确定的,也就是说在确定的主频、分频系数以及转换分辨率下,硬件的转换时间是固定的,这个时间的具体值可以通过查阅AD转换芯片的数据手册获得。
总的来说,对于快速变化的被测量需要采用较高的采样频率,对于缓变量可以采用较低的采样频率以节约单片机的处理资源。但是无论如何采样频率不应该突破转换时间的限制!
采样频率大于等于目标信号最大频率的2倍,才会不失真。即fs=2fm,假设目标信号是单一频率的信号,频率为f,则周期T=1/f,所以fs=2f=2/T,又因为fs=1/Ts,所以Ts=T/2
基准电压为模数转换器可以转换的最大电压。例如3.3V,3V
基准电压/AD最大转换值,转换进度就是AD最小步长值,例如:3.3/4096
可以考虑针对,每个系统,设置补偿值、校准值(存储EE或Flash)
(1)ADC取点数
直流电压取14个点,中值滤波法。
交流电压采样
(1) 确定采样目标频率;
(2) 确定采样频率>= 目标频率*2
(3) 选取合适ADC时钟频率,计算的转换时间,转换的时间不能大于采样周期,才能正确采样
(4) 选择触发ADC的方式,例如:定时器:一个信号(比如ADC采集)进行定时采样(也就是隔一段时间,比如说2ms),有三种方法 - HXJ_521的博客 - CSDN博客
(5)选取合适的算法。
(6)配置芯片ADC,编写触发、算法代码。
(1)校准,取点跟踪。
对于直流电压采样,可以根据基准电压与实际对电压的对应关系的公式得到AD值与实际电压值得关系(由硬件提供),或者去两点得到线性关系计算。
然后用实际测量的值与采样值进行对比,计算出采样的精度,来确定是否需要校准。
(1)定标校准电路?
(2)DMA的使用?