0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

溫度傳感器I2C的總線應用及設計

Q4MP_gh_c472c21 ? 來源:互聯(lián)網 ? 作者:佚名 ? 2018-04-07 07:11 ? 次閱讀

問題與解答:

linux自帶的驅動怎么用的?

看lm75.c的代碼,發(fā)現(xiàn)此溫度傳感器用的是I2C的總線。代碼中看到i2c驅動的接口定義如下,和以前做過的字符型驅動的接口不一樣。

在linux Device Driver這本書中搜,在此書中無介紹。

www.linuxjournal.com/article/7136,www.linuxjournal.com/article/7252講得還不錯。尤其是后者對路。I2C在讀主板上的傳感器的應用上應用比較多,但它是在比較新的版本的LINUX內核版本中才加進來的,難怪LDD這本書中沒有講了。

再看上面數(shù)據(jù)結構中的回調函數(shù),具體干什么就比較清楚了。根據(jù)函數(shù)內容得知,驅動在加載的時候會自動檢測I2C總線上的設備,因此會自動發(fā)現(xiàn)溫度傳感器。lm75_update_device()是對溫度傳感器進行輪詢讀數(shù)時用的函數(shù)。

根據(jù)文章指引,看設備的/sys/bus/i2c/。下面已經有了lm75傳感器的數(shù)據(jù),直接讀是有數(shù)據(jù)的,而且數(shù)據(jù)會變化,如下:

root:~# cat /sys/bus/i2c/devices/0-0048/temp1_input-31500

*讀數(shù)為負。什么樣的讀數(shù)才是正常的?在驅動代碼里增加了調試信息,打印出傳感器上讀的寄存器的值,和文件系統(tǒng)上讀出的不一樣。

看 linux-2.6.20.21/Documentation/hwmon/lm75,了解到lm75是一個工業(yè)標準。所以linux里的lm75驅動是支持多種溫度傳感器的。

看了一下板子上的芯片,是lm75A.在網上下載了一個datasheet,上面顯示一共9-bit來控制讀數(shù)。頭位為正負,后面8-bit為值。

在驅動代碼里添加調試信息,只打印寄存器值的后8-bit,放到溫度實驗箱里測試的結果看起來滿合理的。

然后把內核的lm75.h的代碼修正(只讀后面8個比特并根據(jù)大小判斷正負),測試通過。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 溫度傳感器
    +關注

    關注

    48

    文章

    2892

    瀏覽量

    155803
  • 總線
    +關注

    關注

    10

    文章

    2859

    瀏覽量

    87915
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1477

    瀏覽量

    123071

原文標題:實例講解!嵌入式Linux下的I2C溫度傳感器的應用

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    I2C總線的基本結構

    :很多器件都會使用I2C接口,這里我們只列舉幾種可以使用的器件:IO擴展、溫度傳感器、光傳感器、存儲
    發(fā)表于 06-02 10:16 ?3208次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的基本結構

    i2c總線的組成,及其作用 i2c總線的優(yōu)點是什么

    如果您正在使用OLED顯示,氣壓傳感器或陀螺儀/加速度計模塊的項目,您可能會發(fā)現(xiàn)正在使用I2C總線。
    的頭像 發(fā)表于 08-07 16:18 ?1426次閱讀

    數(shù)字溫度傳感器系統(tǒng)接口:SPI、I2C 、SMBus如何選

    共存于同一系統(tǒng)總線上(系統(tǒng)冗余常會要求這一點),或者面向低功耗應用,這時I2C 或 SMBus將是首選接口。圖1:數(shù)字溫度傳感器簡化框圖下面幾部分將介紹每種串行
    發(fā)表于 09-23 16:55

    怎樣配置基于msp430G2553的數(shù)字溫度傳感器?

    `我手上有款用于手機app測溫儀,因為傳感器沒有,怎么來選用傳感器?1.8v-3.6v非接觸型數(shù)字溫度傳感器i2c
    發(fā)表于 06-14 14:09

    求一款基于I2C串行總線接口的數(shù)字智能溫度傳感器

    基于I2C串行總線接口的數(shù)字智能溫度傳感器
    發(fā)表于 03-18 06:51

    i2c總線ppt(I2C總線器件應用)

    I2C總線器件應用第一節(jié) I2C總線器件應用概述I2C總線工作原理
    發(fā)表于 08-13 17:34 ?0次下載

    i2c總線的特點

    i2c總線的特點:2 I2C 總線使設計人員和廠商都得益.. 3 2.1 設計人員的得益.. 4 2.2 廠商的得益. 5
    發(fā)表于 08-05 09:05 ?26次下載

    什么是i2c總線

    什么是i2c總線  下載請點擊: i2c總線協(xié)議中文版 
    發(fā)表于 11-05 09:26 ?2903次閱讀

    基于I2C總線的DS1629型智能溫度傳感器

    DS1629是美國DALLAS公司新推出的一種帶實時日歷時鐘和I2C總線接口的智能溫度傳感器,可廣泛用于溫度
    發(fā)表于 11-30 15:57 ?970次閱讀
    基于<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的DS1629型智能<b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>

    使用MPU6050傳感器讀取I2C總線數(shù)據(jù)的程序免費下載

    本文檔的主要內容詳細介紹的是使用MPU6050傳感器讀取I2C總線數(shù)據(jù)的程序免費下載。
    發(fā)表于 08-09 17:40 ?15次下載
    使用MPU6050<b class='flag-5'>傳感器</b>讀取<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>數(shù)據(jù)的程序免費下載

    i2c總線用來做什么_i2c總線數(shù)據(jù)傳輸過程

    I2C總線控制為微控制或微處理提供控制I2C總線
    發(fā)表于 11-24 14:16 ?7193次閱讀

    ADT7420:±0.25°C精度、16位數(shù)字I2C溫度傳感器

    ADT7420:±0.25°C精度、16位數(shù)字I2C溫度傳感器
    發(fā)表于 03-19 00:20 ?1次下載
    ADT7420:±0.25°<b class='flag-5'>C</b>精度、16位數(shù)字<b class='flag-5'>I2C</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>

    你不能不知的I2C總線

    信息。某些書籍或者文檔中也寫作IIC,讀作“IC”。I2C是嵌入式中最常見的,也是最重要的總線通信協(xié)議之一。很多傳感器、外圍芯片都使用
    發(fā)表于 12-05 12:36 ?14次下載
    你不能不知的<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>

    I2C串行總線協(xié)議是什么?I2C總線有哪些優(yōu)點?

    1982年發(fā)明并推廣,用于連接智能傳感器和存儲器件,以及控制和監(jiān)控外設。該協(xié)議是一種主從式通信協(xié)議,允許多個從設備連接到同一總線上,并在總線上進行數(shù)據(jù)交換。
    的頭像 發(fā)表于 09-12 11:18 ?1511次閱讀

    使用MSP430 MCU簡化溫度、濕度和光學I2C傳感器

    電子發(fā)燒友網站提供《使用MSP430 MCU簡化溫度、濕度和光學I2C傳感器.pdf》資料免費下載
    發(fā)表于 09-14 11:03 ?0次下載
    使用MSP430 MCU簡化<b class='flag-5'>溫度</b>、濕度和光學<b class='flag-5'>I2C</b><b class='flag-5'>傳感器</b>