国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

ELEOK

標題: SAIL-IMX6Q AD7606模塊調試記錄 [打印本頁]

作者: 電魚電子    時間: 2019-7-10 15:57
標題: 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模塊;
    (2) 返回值有時正常,有時為0,
            原因及解決辦法:使用杜邦線連接,有的線很松,可能是線的問題,將AD模塊與板卡的連接線直接焊到相應管腳上。焊完后經測試能正常使用。
    4 總結
    這次調試AD7606,軟件的移植工作是照著文檔做的,所以并沒有出現太大的問題,主要是焊接遇到的問題,包括焊接芯片和貼片元器件。因為之前幾乎沒有焊接過貼片元器件,導致這次焊的良莠不齊,虛焊,芯片管腳錫連在一起經常發生。其次就是開始測試時返回值不正確,感覺無從下手,不知道是軟件問題還是硬件問題,對照了半天軟件配置,沒有發現錯誤,浪費了很多時間,也沒有發現問題所在,然后著手測試硬件,但由于不知道哪里出問題,只能蒙著測,所幸找到問題,重新焊了一塊能正常使用了。







    歡迎光臨 ELEOK (http://m.afoofa.cn/) Powered by Discuz! X5.0