• 正文
    • 硬件原理
    • IOMUX配置
    • 添加設(shè)備節(jié)點(diǎn)
    • 添加AHT20驅(qū)動(dòng)
    • 編譯測(cè)試
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

飛凌嵌入式ElfBoard ELF 1板卡-開(kāi)發(fā)板適配之I2C-溫濕度傳感器

02/10 09:15
825
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

I2C總線是由Philips公司開(kāi)發(fā)的一種簡(jiǎn)單、雙向二線制同步串行總線,它只需要兩根線SDA(串行數(shù)據(jù)線)和SCL(串行時(shí)鐘線)即可在連接于總線上的器件之間傳送信息。I2C總線上可以掛載很多設(shè)備,比如ELF?1開(kāi)發(fā)板,I2C1總線上掛載有電容屏的觸摸芯片,溫度傳感器,rx8010時(shí)鐘芯片,I2C2上掛載有光線傳感器,NAU88C22音頻解碼芯片。下面我們以溫濕度傳感器為例,介紹如何添加I2C設(shè)備。

硬件原理

IOMUX配置

溫濕度傳感器掛載在I2C1總線上,I2C1數(shù)據(jù)IIC1_SDA和時(shí)鐘IIC1_SCL,分別對(duì)應(yīng)的PAD NAME為,UART4_TX_DATA、UART4_RX_DATA。

在arch/arm/boot/dts/imx6ul-pinfunc.h中找到它們的宏定義,分別如下:

MX6UL_PAD_UART4_TX_DATA__I2C1_SCL

MX6UL_PAD_UART4_RX_DATA__I2C1_SDA

然后打開(kāi)設(shè)備樹(shù)文件arch/arm/boot/dts/imx6ull-elf1-emmc.dts,我們看到原來(lái)的設(shè)備樹(shù)文件已經(jīng)添加了pinctrl_i2c1子節(jié)點(diǎn),而且選擇的引腳與UART4_TX_DATA、UART4_RX_DATA一致,所以此處無(wú)需修改,

效果如下:

添加設(shè)備節(jié)點(diǎn)

查看arch/arm/boot/dts/imx6ull-elf1-emmc.dts文件,其實(shí)已經(jīng)有了I2C1節(jié)點(diǎn),可以看到其下有兩個(gè)子節(jié)點(diǎn),這兩個(gè)子節(jié)點(diǎn)是掛載在I2C總線上的具體設(shè)備,我們沒(méi)有用到,這里可以注釋掉:

添加如下內(nèi)容:

????????aht20@38{

compatible = "elf,aht20";

reg = <0x38>;

status = "okay";

};

添加后效果如下:

添加AHT20驅(qū)動(dòng)

一、將ELF 1開(kāi)發(fā)板資料包