AM335x具有一个电阻触摸屏控制器,它同时可以做ADC来使用。关于它的详细信息请参考am335x的TRM第12章。

TSC和ADC通道有以下四种方式:

这个设备在设备树中被称为tsadc,配置的参考文档:https://www.kernel.org/doc/Documentation/devicetree/bindings/input/touchscreen/ti-tsc-adc.txt

以PD16.2.0为例,该设备在 https://git.phytec.de/linux-ti/tree/arch/arm/boot/dts/am33xx.dtsi?h=v4.4.19-phy2 这个文件中有定义,根据 linux内核设备树修改指南 / linux kernel device tree modify guide 这个是一个很底层/基本的配置,会被所有am335x设备引用。

接下来只要在高层次文件中增加一些信息,就可以配置该接口,如需要配置 ti,adc-channels以及使能。

测试方法:

读取ADC的采样值可以通过以下命令得到:

 cat /sys/devices/ocp.3/44e0d000.tscadc/TI-am335x-adc/iio:device0/in_voltage4_raw 
 cat /sys/devices/ocp.3/44e0d000.tscadc/TI-am335x-adc/iio:device0/in_voltage5_raw 
 cat /sys/devices/ocp.3/44e0d000.tscadc/TI-am335x-adc/iio:device0/in_voltage6_raw 
 cat /sys/devices/ocp.3/44e0d000.tscadc/TI-am335x-adc/iio:device0/in_voltage7_raw

转换值的计算公式

 D = Vin * (2^n - 1) / Vref 

Whereat: 
  D    = Digital value 
  Vin  = Input voltage 
  n    = No of bits (here: 12) 
  Vref = reference voltage 

更多关于AM335x ADC接口的使用文档请参考:http://processors.wiki.ti.com/index.php/AM335x_ADC_Driver's_Guide

  • No labels