本文檔介紹 iTOP-4412 開發(fā)板的 adc 驅(qū)動的升級和測試?yán)獭?br />
自帶的驅(qū)動只能支持一路 adc,本文介紹如何修改可以支持 4 路 adc 的控制。
1 硬件簡介
如下圖所示,這是 4412 的 datasheet 截圖,可以看到 4412 一共有 4 路 ADC 接口。
如下圖所示,這是開發(fā)板自帶的 ADC 電路,ADC 接的是滑動變阻器,網(wǎng)絡(luò)標(biāo)號是
XadcAIN0,因為有滑動變阻器,所以這一路測試的時候,動了滑動變阻器,就會影響 adc 的
輸出值。
如下圖所示,是底板和核心板連接器,可以看到 XadcAIN[0:3],這四路都引到底板。
如下圖所示,可以看到 ADC1 和 ADC2 引到 J38 端子。
綜上,4412 開發(fā)板一共四路 ADC,通道 0 接到滑動變阻器,通道 1 和 2 通過 J38 引
出,通道 4 引到底板,但是底板并沒有引出。
2 驅(qū)動升級
壓縮包中的“itop4412_adc.c”文件是升級之后的 adc 驅(qū)動文件,拷貝到內(nèi)核源碼下的
“drivers/char/”目錄下,將原來舊的驅(qū)動覆蓋(老驅(qū)動注意備份),如下圖所示,然后重新
編譯內(nèi)核鏡像,將新的內(nèi)核鏡像燒寫到開發(fā)板中。
3 測試?yán)毯蜏y試方法
測試?yán)淌菈嚎s包中的“topeet_4412_adc.c”文件,拷貝到開發(fā)板,使用命令“arm-
none-linux-gnueabi-gcc -o topeet_4412_adc topeet_4412_adc.c -static”編譯,如下圖
所示。
將生成的測試?yán)?topeet_4412_adc,通過 U 盤、TF 卡或者 NFS 等方式弄到開發(fā)板。
如下圖所示,在開發(fā)板控制臺中,使用命令“/dev/adc”,可以看到 adc 的設(shè)備節(jié)點(diǎn)。
測試程序“topeet_4412_adc”需要兩個參數(shù),第一個參數(shù)是設(shè)備節(jié)點(diǎn)“/dev/adc”,
第二個參數(shù)是通道數(shù) 0、1、2、3。
如下圖所示,使用命令“./topeet_4412_adc /dev/adc 0”可以測試滑動變阻器的 adc
值,作者測試的值為 5897。
旋轉(zhuǎn)滑動變阻器的旋鈕,再次測試,如下圖所示,變?yōu)榱?6202。
如果要測量通道 1 和 2,可以將其拉高為 1.8V(注意:不要超過 1.8V)或者 0V(接
地),如下圖所示,將通道 1 拉高到 1.8V,使用命令“./topeet_4412_adc /dev/adc 1”。
如果將其拉低,接地,再次測試,如下圖所示,讀取的值為 0。
|