TI Sitara入门资料分享12-AM35XX的ADC驱动开发

shower.xu   2012-11-7 11:07 楼主



一个模拟 - 数字转换器,简称为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采用的是12SAR ADC的采样速率为200 kSPS ADC采样的模拟信号时开始转换为高,并继续采样1个时钟周期后的下降沿。它捕获的结尾处的信号采样周期和启动转换。它使用12个时钟周期以数字化的采样输入,然后一端转换信号被使能为高,表明数字数据ADCOUT<11:0>是准备被锁存。在以前的数据被锁存后,一个新的转换周期开始。 此时ADC输出为正的二进制加权数据

驱动配置:?
你可以使能ADC驱动?如下的内核配置:
1.jpg
当作为一个内核模块编译:?
2.jpg
make modules命令,把Touchscreen 驱动作为模块编译,编译完之后模块位于此目录
"drivers/staging/iio/adc/ti_adc.ko".

向内核加载内核模块:?
使用insmod命令 insmod ti_adc.ko

平台数据
ADC平台数据默认没有在在PSP包里面添加?在arch/arm/mach-omap2/board-am335xevm.c
添加如下?
static struct adc_data am335x_adc_data = {
.adc_channels = 4,
};
static struct mfd_tscadc_board tscadc = {
.tsc_init = &am335x_touchscreen_data,
.adc_init = &am335x_adc_data,
};

参数“adc_channels”的数值,决于你要使用几通道的ADC
。如果ADC单独被使用时?你需要禁用触摸屏。
。如果ADC和触摸屏一起使用时?增加平台的数据?如上图所示。

你可以在这里找到ADC的源代码:?

执行
要测试ADC连接一个直流电压供给到每个在AIN0通过AIN7脚,并改变电压介于01.8V和通过sysfs变化的采样值。

注意
确保不跨越1.8V的供电电压
读取模拟转换后的值?使用sysfs入口。
3.jpg
公式
要进行交叉验证读取的数字值?
4.jpg
读值AIN4通道的输入电压支持1.01
5.jpg
sysfs读出的数据?
6.jpg
AM335xADC驱动.doc (102.5 KB)
(下载次数: 25, 2012-11-7 11:07 上传)

AM335xADCDriver_x27sGuideADC驱动中文手册.pdf (415.21 KB)
(下载次数: 95, 2012-11-7 11:07 上传)



回复评论 (1)

下载收费附件
点赞  2012-11-8 20:46
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复