3771|0

6

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

SAIL-IMX6Q AD7606模块调试记录 [复制链接]

1  本文总结了调试AD7606模块的过程,遇到的问题及解决方法。主要问题出现在了硬件焊接上,包括焊接芯片,贴片元器件,焊接连接线出现虚焊,焊连等情况,最终导致了在调试时出现返回值不正确的问题。

2 驱动移植

  1.  AD7606驱动拷贝到

/sail-imx6q-linux-4.1.15/drivers/staging/iio/adc/目录下,包括ad7606.h、ad7606_core.c、ad7606_par.c、ad7606_ring.c、ad7606_spi.c

spi.c、imx-spi.c拷贝到/sail-imx6q-linux-4.1.15/drivers/spi/目录下。

2) 通过&ecspi2完善ecspi2节点信息

/arch/arm/boot/dts/sail-imx6q.dts中通过使用&ecspi2访问ecspi2这个节点,该节点用来描述开发板上的spi信息

/arch/arm/boot/dts目录下使用gedit打开sail-imx6q.dts如下图:

完善后的节点信息如下图

3) 编写AD7606引脚信息

iomux信息具体参考imx6q原理图,下是根据原理图中的引脚连接方式编写的iomux信息,

配置内核,在~/sail-imx6q-linux-4.1.15目录下执行make  menuconfig,进行如下修改,

Device Drivers    --->

    

  • SPI support   --->

            -*- Utilities for Bitbanging SPI masters

            <*> GPIO-based bitbanding SPI Master

            <*> Freescale i.MX SPI controllers

            <*> User mode SPI device driver support

    Device Drivers  --->  

        

  • Staging drivers  --->  

            IIO staging drivers  --->   

                Analog to digital converters  --->

                    <*> Analog Devices AD7606 ADC driver   

                    <*>   spi interface support

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

            ---Industrial I/O support                                       

            -*-   Enable buffer support within IIO                       

            

  •     IIO callback buffer used for push in-kernel interfaces   

    -*-     Industrial I/O buffering based on kfifo                

            -*-   Enable triggered sampling support    

    修改完毕后,选择<Save>保存。退出。重新编译内核,执行

    make -j8 zImage ZIMAGE_LOADADDR=0x10008000

    编译时间较长,需等待几分钟。编译结果如下图

    将重新编译的zImage及sail-imx6q.dtb拷贝到指定位置,重新烧录linux系统。

    3 调试

    下图是实物图的正面,图中绿色板子为IMX6Q主板,蓝色板子是AD7606模块。由于是测试,直接AD模块的5V电源引出至模拟输入(图中杜邦线连线)

    下图是实物图的反面,因为在测试过程中发现直接用杜邦线连接会导致接触不实,故直接将连接相应管脚的线焊上。后又发现线很容易断,用胶将焊接部分粘起来。

    将主板上的SW4拨码开关拨至01,SW3拨码开关拨至0111,选择eMMC启动模式。

    PC机打开超级终端,打开SAIL-IMX6Q主板电源,正常启动如下图

    输入root,进入root用户。

    输入 cd /sys/bus/iio/device/查看设备节点,如下图所示。若不存在节点则证明驱动移植失败,需重新移植,若节点存在,则可进入节点测试AD模块是否能正常使用。

    进入节点,执行cat in_voltage0_raw 查看转换结果

    本次在模拟输入端接入5V输入,转换结果为32767,经过公式计算:

    32767*10/(216-1)=4.9999≈5V

    调试过程出现的问题

    1. 返回值为空,

    原因及解决办法:经过测量,AD模块的CS和CLK脚连接,模块损坏,重新焊一块AD模块;

    1. 返回值有时正常,有时为0

            原因及解决办法:使用杜邦线连接,有的线很松,可能是线的问题,将AD模块与板卡的连接线直接焊到相应管脚上。焊完后经测试能正常使用。

    4 总结

    这次调试AD7606,软件的移植工作是照着文档做的,所以并没有出现太大的问题,主要是焊接遇到的问题,包括焊接芯片和贴片元器件。因为之前几乎没有焊接过贴片元器件,导致这次焊的良莠不齐,虚焊,芯片管脚锡连在一起经常发生。其次就是开始测试时返回值不正确,感觉无从下手,不知道是软件问题还是硬件问题,对照了半天软件配置,没有发现错误,浪费了很多时间,也没有发现问题所在,然后着手测试硬件,但由于不知道哪里出问题,只能蒙着测,所幸找到问题,重新焊了一块能正常使用了。




    此内容由EEWORLD论坛网友电鱼电子工程师原创,如需转载或用于商业用途需征得作者同意并注明出处
     

  • 点赞 关注
     
     

    回复
    举报
    您需要登录后才可以回帖 登录 | 注册

    随便看看
    查找数据手册?

    EEWorld Datasheet 技术支持

    相关文章 更多>>
    关闭
    站长推荐上一条 1/6 下一条

     
    EEWorld订阅号

     
    EEWorld服务号

     
    汽车开发圈

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表