TI--335x调试ADC

一,底层调试

        博主使用的板子是天嵌的335x_coreC。

        内核版本:3.2

        板子上有引出来的ADC口,不过内核驱动并没有添加相关普通ADC的内容。

        

        所以现在就来添加并调试普通ADC相关内容:

        一般TI公司的内核源码有自带ADC驱动,只要在内核配置单中选中并在板级信息上配置好就可以使用了。

        1.选中内核配置单选项:

         Device Drivers  --->

                    [*] Staging drivers  --->

                                    <*>   Industrial I/O support  --->

                                               [*]   Enable buffer support within IIO

                                                        <*>     Industrial I/O lock free software ring                                                                   

                                                        <  >     Industrial I/O buffering based on kfifo                                                                 

                                                       - *-   Enable triggered sampling support                                                                         

                                             Analog to digital converters  ---> 

                                                       <*>     TI's ADC driver

           

           2.配置板级信息:

            vi arch/arm/mach-omap2/board-am335xevm.c

            /* adc电阻触摸 TSc touch controller */
         static struct tsc_data am335x_touchscreen_data = {
                    .wires          = 4,
                    .x_plate_resistance = 200,
                    .steps_to_configure = 5,

        };

        /*普通ADC*/

        static struct adc_data am335x_adc_data = {

                .adc_channels = 4,
        };
        static struct mfd_tscadc_board tscadc = {
                .tsc_init = &am335x_touchscreen_data,               /*touch adc*/
                .adc_init = &am335x_adc_data,                            /*普通adc*/

        };

        #ifdef CONFIG_MFD_TI_TSCADC
        static void mfd_tscadc_init(int evm_id, int profile)
        {
            int err;

            err = am33xx_register_mfd_tscadc(&tscadc);
            if (err)
                pr_err("failed to register touchscreen device\n");
        }
        #endif /* CONFIG_MFD_TI_TSCADC */

        static struct evm_dev_cfg embedsky_evm_dev_cfg[] = {

        ......

        #ifdef CONFIG_MFD_TI_TSCADC
        {mfd_tscadc_init,               DEV_ON_BASEBOARD, PROFILE_ALL},

        #endif /* CONFIG_MFD_TI_TSCADC */

        ......

        }

二. 命令行测试

        现在可以在/sys/下面看的注册的iio设备:

       

        由原理图可以看到变阻器接了AIN4,故一边旋转变阻器一边输入命令行,可以看的AIN4  adc采样值的变化:

        

猜你喜欢

转载自blog.csdn.net/a617996505/article/details/79817382