ADC数据采集
AM335x本身带有ADC。采用的是12位SAR ADC的采样速率为200kSPS。ADC采样的模拟信号时开始 转换为高,并继续采样1个时钟周期后的下降沿。它捕获的结尾处的信号采样周期和启动转换。它使用12个时钟周期,以数字化的采样输入,然后一端转换信号被使能为高,表明数字数据ADCOUT<11:0>是准备被锁存。在以前的数据被锁存后,一个新的转换周期开始。 此时ADC输出为正的二进制加权数据。
TSC_ADC_SS(Touchscreen_ADC_subsystem)是一个8通道通用ADC,可选支持交错式触摸屏转换。这个TSC_ADC_SS可以使用在配置在下列的应用程序选项:
?8个通用ADC通道
?4线TS,4个通用ADC通道 ?5线TS,3个通用ADC通道 ?8线TS
ADC驱动的局限性:
没有硬件触发支持,只能使用软件触发;
在连续捕获模式下每个捕获只能支持1528个采样;
在连续捕获模式下最大采样率:8K/s;
不支持多通道同步捕获,当前支持每一时刻一个单通道连续捕获;
驱动不支持超出量程的测量。
驱动配置:
你可以使能ADC驱动,如下的内核配置:
将驱动编译进内核。
要测试ADC,连接一个直流电压,供给到每个在AIN0通过AIN7脚,并改变电压介于0和1.8V和通过sysfs变化的采样值。 注意确保不跨越1.8V的供电电压。
当载入模块的时候创建IIO设备:
Scan_elements文件夹包括许多元素的接口,它们被捕获到缓存里面。
读取模拟转换后的值,使用sysfs入口。
要进行交叉验证读取的数字值,
读值AIN4通道的输入电压为0.290V
Vin =0.289*(2^12-1)/1.8
Vin= 659
从sysfs读出的数据:
可以看出,理论值和实际测得值是一致的。
好东西,我也在学习这款板子,向小编学习