本文檔介紹 iTOP-4412 開發板的 adc 驅動的升級和測試例程。
自帶的驅動只能支持一路 adc,本文介紹如何修改能夠支持 4 路 adc 的控制。
1 硬件簡介
以下圖所示,這是 4412 的 datasheet 截圖,能夠看到 4412 一共有 4 路 ADC 接口。linux
以下圖所示,這是開發板自帶的 ADC 電路,ADC 接的是滑動變阻器,網絡標號是
XadcAIN0,由於有滑動變阻器,因此這一路測試的時候,動了滑動變阻器,就會影響 adc 的
輸出值。網絡
以下圖所示,是底板和核心板鏈接器,能夠看到 XadcAIN[0:3],這四路都引到底板。測試
以下圖所示,能夠看到 ADC1 和 ADC2 引到 J38 端子。3d
綜上,4412 開發板一共四路 ADC,通道 0 接到滑動變阻器,通道 1 和 2 經過 J38 引
出,通道 4 引到底板,可是底板並無引出。
2 驅動升級
壓縮包中的「itop4412_adc.c」文件是升級以後的 adc 驅動文件,拷貝到內核源碼下的
「drivers/char/」目錄下,將原來舊的驅動覆蓋(老驅動注意備份),以下圖所示,而後從新
編譯內核鏡像,將新的內核鏡像燒寫到開發板中。blog
3 測試例程和測試方法
測試例程是壓縮包中的「topeet_4412_adc.c」文件,拷貝到開發板,使用命令「arm-
none-linux-gnueabi-gcc -o topeet_4412_adc topeet_4412_adc.c -static」編譯,以下圖
所示。接口
將生成的測試例程 topeet_4412_adc,經過 U 盤、TF 卡或者 NFS 等方式弄到開發板。
以下圖所示,在開發板控制檯中,使用命令「/dev/adc」,能夠看到 adc 的設備節點。開發
測試程序「topeet_4412_adc」須要兩個參數,第一個參數是設備節點「/dev/adc」,
第二個參數是通道數 0、一、二、3。
以下圖所示,使用命令「./topeet_4412_adc /dev/adc 0」能夠測試滑動變阻器的 adc
值,做者測試的值爲 5897。文檔
旋轉滑動變阻器的旋鈕,再次測試,以下圖所示,變爲了 6202。源碼
若是要測量通道 1 和 2,能夠將其拉高爲 1.8V(注意:不要超過 1.8V)或者 0V(接
地),以下圖所示,將通道 1 拉高到 1.8V,使用命令「./topeet_4412_adc /dev/adc 1」。it
若是將其拉低,接地,再次測試,以下圖所示,讀取的值爲 0。