當(dāng)前位置: 首頁(yè) > 傳感測(cè)量產(chǎn)品 > 工業(yè)傳感器 > 溫度傳感器
發(fā)布日期:2022-10-09 點(diǎn)擊率:33
基于FS_S5PC100的LM75溫度傳感器驅(qū)動(dòng)程序添加與測(cè)試
時(shí)間:2017-01-05作者:華清遠(yuǎn)見
【實(shí)驗(yàn)內(nèi)容】
在平臺(tái)代碼中添加I2C設(shè)備LM75;
在內(nèi)核配置菜單中配置溫度傳感器LM75驅(qū)動(dòng)程序。編寫應(yīng)用程序讀取當(dāng)前溫度;
溫度傳感器芯片位于COM3下方,緊靠藍(lán)色的可調(diào)電阻旋鈕。
【實(shí)驗(yàn)?zāi)康摹?br/>
熟悉內(nèi)核中I2C驅(qū)動(dòng)的工作原理,了解sysfs接口的使用方法
【實(shí)驗(yàn)平臺(tái)】
主機(jī):Ubuntu 10.10
目標(biāo)板:FS_S5PC100
目標(biāo)內(nèi)核版本:2.6.29
交叉編譯器版本:arm-unknown-linux-gnueabi-gcc-4.2.2
【實(shí)驗(yàn)步驟】
在主機(jī)ubuntu環(huán)境下:
1、 在內(nèi)核S5PC100平臺(tái)代碼中添加一個(gè)I2C設(shè)備用來(lái)描述LM75:
打開平臺(tái)代碼源文件:
$ vim (kernel_dir)/arch/arm/mach-s5pc100/mach-smdkc100.c
在結(jié)構(gòu)體:
static struct platform_device *smdkc100_devices[] __initdata={
…
};
的定義后面添加如下代碼:
static struct i2c_board_info i2c_devs0[] __initdata={
{ I2C_BOARD_INFO("lm75", 0x90 >> 1 ), },
};
在函數(shù)smdkc100_machine_init中的
s3c_i2c0_set_platdata(NULL);
s3c_i2c1_set_platdata(NULL);
之后添加如下代碼:
i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0));
2、在內(nèi)核源碼根目錄下執(zhí)行:
$ make menuconfig
進(jìn)入配置菜單后選擇lm75溫度傳感器的驅(qū)動(dòng)程序:
Location:
-> Device Drivers
-> Hardware Monitoring support (HWMON [=y])
3、重新編譯內(nèi)核
$ make zImage
4、重新燒寫或者下載內(nèi)核到開發(fā)板
5、將文件夾s5pc100_lm75復(fù)制到linux環(huán)境中,如:/home/linux/test
$ cp s5pc100_lm75 /home/linux/test –a
$ cd /home/linux/test/s5pc100_lm75
6、$ arm-linux-gcc read_temp.c -o read_temp //編譯應(yīng)用程序
7、$ sudo cp read_temp /source/rootfs
在開發(fā)板的串口終端控制臺(tái)下:
8、運(yùn)行應(yīng)用程序
#
用手捂住傳感器芯片,可以看到溫度值會(huì)持續(xù)上升:
lm75 0-0048: Starting lm75 update
Current temperature is: 27.
Current temperature is: 27.
lm75 0-0048: Starting lm75 update
Current temperature is: 28.
Current temperature is: 28.
lm75 0-0048: Starting lm75 update
Current temperature is: 29.
Current temperature is: 29.
9、閱讀驅(qū)動(dòng)源碼:driver/hwmon/lm75.c,理解i2c驅(qū)動(dòng)的注冊(cè)方法,lm75的工作原理以及sysfs接口的編程方法
附:
1、溫度傳感器接口原理圖
2、測(cè)試程序代碼:
#include
常見問(wèn)題
信盈達(dá)培訓(xùn)好不好 怎么樣
達(dá)內(nèi)培訓(xùn)怎么樣 求助
嵌入式和java工資多少?哪個(gè)前景較好?
3g嵌入式開發(fā)培訓(xùn)總結(jié)3g工程師就業(yè)前景
html5培訓(xùn)就業(yè)前景如何?
android驅(qū)動(dòng)培訓(xùn)需要了解哪些知識(shí)
發(fā)表評(píng)論
評(píng)論列表(網(wǎng)友評(píng)論僅供網(wǎng)友表達(dá)個(gè)人看法,并不表明本站同意其觀點(diǎn)或證實(shí)其描述)
展開全文
基于FS_S5PC100的LM75溫度傳感器驅(qū)動(dòng)程序添加與測(cè)試
作者:鄭老師,華清遠(yuǎn)見嵌入式學(xué)院講師。
【實(shí)驗(yàn)內(nèi)容】
在平臺(tái)代碼中添加I2C設(shè)備LM75;
在內(nèi)核配置菜單中配置溫度傳感器LM75驅(qū)動(dòng)程序。編寫應(yīng)用程序讀取當(dāng)前溫度;
溫度傳感器芯片位于COM3下方,緊靠藍(lán)色的可調(diào)電阻旋鈕。
【實(shí)驗(yàn)?zāi)康摹?br/>熟悉內(nèi)核中I2C驅(qū)動(dòng)的工作原理,了解sysfs接口的使用方法
【實(shí)驗(yàn)平臺(tái)】
主機(jī):Ubuntu 10.10
目標(biāo)板:FS_S5PC100
目標(biāo)內(nèi)核版本:2.6.29
交叉編譯器版本:arm-unknown-linux-gnueabi-gcc-4.2.2
【實(shí)驗(yàn)步驟】
在主機(jī)ubuntu環(huán)境下:
1、 在內(nèi)核S5PC100平臺(tái)代碼中添加一個(gè)I2C設(shè)備用來(lái)描述LM75:
打開平臺(tái)代碼源文件:
$ vim (kernel_dir)/arch/arm/mach-s5pc100/mach-smdkc100.c
在結(jié)構(gòu)體:
static struct platform_device *smdkc100_devices[] __initdata={
…
};
的定義后面添加如下代碼:
static struct i2c_board_info i2c_devs0[] __initdata={
{ I2C_BOARD_INFO("lm75", 0x90 >> 1 ), },
};
在函數(shù)smdkc100_machine_init中的
s3c_i2c0_set_platdata(NULL);
s3c_i2c1_set_platdata(NULL);
之后添加如下代碼:
i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0));
2、在內(nèi)核源碼根目錄下執(zhí)行:
$ make menuconfig
進(jìn)入配置菜單后選擇lm75溫度傳感器的驅(qū)動(dòng)程序:
Location:
-> Device Drivers
-> Hardware Monitoring support (HWMON [=y])
3、重新編譯內(nèi)核
$ make zImage
4、重新燒寫或者下載內(nèi)核到開發(fā)板
5、將文件夾s5pc100_lm75復(fù)制到linux環(huán)境中,如:/home/linux/test
$ cp s5pc100_lm75 /home/linux/test –a
$ cd /home/linux/test/s5pc100_lm75
6、$ arm-linux-gcc read_temp.c -o read_temp //編譯應(yīng)用程序
7、$ sudo cp read_temp /source/rootfs
在開發(fā)板的串口終端控制臺(tái)下:
8、運(yùn)行應(yīng)用程序
#
用手捂住傳感器芯片,可以看到溫度值會(huì)持續(xù)上升:
lm75 0-0048: Starting lm75 update
Current temperature is: 27.
Current temperature is: 27.
lm75 0-0048: Starting lm75 update
Current temperature is: 28.
Current temperature is: 28.
lm75 0-0048: Starting lm75 update
Current temperature is: 29.
Current temperature is: 29.
9、閱讀驅(qū)動(dòng)源碼:driver/hwmon/lm75.c,理解i2c驅(qū)動(dòng)的注冊(cè)方法,lm75的工作原理以及sysfs接口的編程方法
附:
1、溫度傳感器接口原理圖
2、測(cè)試程序代碼:
#include
16年1.5T
故障現(xiàn)象:
車主開車過(guò)來(lái)檢測(cè)故障碼,發(fā)動(dòng)機(jī)系統(tǒng)報(bào)進(jìn)氣溫度傳感器電壓過(guò)高,故障碼可以清掉,但是跑一會(huì)就出來(lái)了。
故障分析:
經(jīng)過(guò)測(cè)量空氣流量計(jì)插頭電源有真負(fù)極信號(hào),說(shuō)明空氣流量計(jì)有問(wèn)題,但是換了還不行,怕這個(gè)空氣流量計(jì)還有問(wèn)題,之前遇到過(guò)新的是壞的!于是又換了一個(gè)空氣流量計(jì),(我還以為他和空氣流量計(jì)一體)還不行,就考慮到了有可能和進(jìn)氣壓力傳感器一體,找了進(jìn)氣壓力傳感器半天 ,媽的在中冷右管口上方,拆掉下中網(wǎng),拔插頭測(cè)量電源,正常 ,于是發(fā)了個(gè)進(jìn)氣壓力傳感器來(lái)?yè)Q,解決問(wèn)題
解決方案:
更換進(jìn)氣壓力傳感器
免責(zé)聲明
你好,進(jìn)氣溫度傳感器,肯定在發(fā)動(dòng)機(jī)的進(jìn)氣歧管上,一般是兩根線,有的和空氣流量計(jì)裝在一體,主要是給發(fā)動(dòng)機(jī)電腦提供進(jìn)氣空氣溫度信號(hào),使模塊更精確的控制噴油!
進(jìn)氣軟管上
1、氧傳感器:當(dāng)氧傳感器故障時(shí),ECU無(wú)法獲取這些信息,就不知道噴射的汽油量是否正確,而不合適的油氣空燃比會(huì)導(dǎo)致發(fā)動(dòng)機(jī)功率降低,增加排放污染;
2、輪速傳感器:它主要是收集汽車的轉(zhuǎn)速來(lái)判斷汽車有沒(méi)有打滑的征兆,所以,就有一一個(gè)專門收集汽車輪速的傳感器來(lái)完成這項(xiàng)工作,一般安裝在每個(gè)車輪的輪轂上,而一旦傳感器損壞,ABS會(huì)失效;
3、水溫傳感器:當(dāng)水溫傳感器故障后,往往冷車啟動(dòng)時(shí)顯示的還是熱車時(shí)的溫度信號(hào),ECU得不到正確的信號(hào),只能供給發(fā)動(dòng)機(jī)較稀薄的混合氣,所以發(fā)動(dòng)機(jī)冷車不易啟動(dòng),且還會(huì)伴隨怠速運(yùn)轉(zhuǎn)不穩(wěn)定,加速動(dòng)力不足的問(wèn)題;
4、電子油門踏板位置傳感器:當(dāng)傳感器失效后,ECU無(wú)法測(cè)得油門位置信號(hào),無(wú)法獲得油門門踏板的正確位置,所以會(huì)出現(xiàn)發(fā)動(dòng)機(jī)加速無(wú)力的現(xiàn)象,甚至出現(xiàn)發(fā)動(dòng)機(jī)不能加速的情況;
5、進(jìn)氣壓力傳感器:進(jìn)氣壓力傳感器顧名思義就是隨著發(fā)動(dòng)機(jī)不同的轉(zhuǎn)速負(fù)荷,感應(yīng)一系列的電阻和壓力變化,轉(zhuǎn)換成電壓信號(hào),供ECU修正噴油量和點(diǎn)火正時(shí)角度。一般安裝在節(jié)氣門邊上,假如故障了會(huì)引起點(diǎn)火困難、怠速不穩(wěn)、加速無(wú)力等問(wèn)題。
你好,進(jìn)氣支管的傳感器一般都在,進(jìn)氣管上面,你可以仔細(xì)的看一下一個(gè)黑色的。
下一篇: PLC、DCS、FCS三大控
上一篇: 電氣控制線路圖控制原