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

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

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

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

硬件原理

IOMUX配置

溫濕度傳感器掛載在I2C1總線上,I2C1數(shù)據(jù)IIC1_SDA和時鐘IIC1_SCL,分別對應(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

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

效果如下:

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

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

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

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

compatible = "elf,aht20";

reg = <0x38>;

status = "okay";

};

添加后效果如下:

添加AHT20驅(qū)動

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