本文檔介紹 iTOP-4412 開發板的 adc 驅動的升級和測試例程。
自帶的驅動只能支持一路 adc,本文介紹如何修改可以支持 4 路 adc 的控制。
1 硬件簡介
如下圖所示,這是 4412 的 datasheet 截圖,可以看到 4412 一共有 4 路 ADC 接口。
如下圖所示,這是開發板自帶的 ADC 電路,ADC 接的是滑動變阻器,網絡標號是
XadcAIN0,因為有滑動變阻器,所以這一路測試的時候,動了滑動變阻器,就會影響 adc 的
輸出值。
如下圖所示,是底板和核心板連接器,可以看到 XadcAIN[0:3],這四路都引到底板。
如下圖所示,可以看到 ADC1 和 ADC2 引到 J38 端子。
綜上,4412 開發板一共四路 ADC,通道 0 接到滑動變阻器,通道 1 和 2 通過 J38 引
出,通道 4 引到底板,但是底板并沒有引出。
2 驅動升級
壓縮包中的“itop4412_adc.c”文件是升級之后的 adc 驅動文件,拷貝到內核源碼下的
“drivers/char/”目錄下,將原來舊的驅動覆蓋(老驅動注意備份),如下圖所示,然后重新
編譯內核鏡像,將新的內核鏡像燒寫到開發板中。
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、1、2、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”。
如果將其拉低,接地,再次測試,如下圖所示,讀取的值為 0。
|