<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 數字溫度傳感器DS1621在Linux下的IIC接口驅動(dòng)設計

數字溫度傳感器DS1621在Linux下的IIC接口驅動(dòng)設計

作者: 時(shí)間:2011-03-22 來(lái)源:網(wǎng)絡(luò ) 收藏

總線(xiàn)作為一種申行傳輸總線(xiàn),其使用連線(xiàn)少,結構簡(jiǎn)單,是一種應用廣泛的高性能總線(xiàn)方式。而作為一個(gè)源代碼公開(kāi)、易于裁剪的操作系統,非常適合于嵌入式系統的應用。操作系統下的嵌入式設備,通過(guò)總線(xiàn),實(shí)現ARM與外圍模塊間的協(xié)同工作,有著(zhù)廣泛的應用。

1 總線(xiàn)協(xié)議以及選用芯片功能
1.1 IIC總線(xiàn)的特點(diǎn)以及工作協(xié)議
IIC串行總線(xiàn)由兩根信號線(xiàn)組成:一根雙向傳輸的數據線(xiàn)SDA;另一根是時(shí)鐘線(xiàn)SCL。IIC總線(xiàn)通過(guò)簡(jiǎn)單的結構即能實(shí)現半雙工的同步數據傳輸。
IIC總線(xiàn)采用一主多從的運行機制,在同一時(shí)間只能有一臺設備作為主設備,總線(xiàn)的運行由主設備控制,主設備控制數據的傳送起始信號、發(fā)出時(shí)鐘信號、從機地址信號、數據信號,由接收數據方在傳送結束時(shí)發(fā)出應答信號,每個(gè)IIC總線(xiàn)上的設備都有一個(gè)唯一的地址,和主設備進(jìn)行通信。
IIC總線(xiàn)時(shí)序如圖1所示,在IIC總線(xiàn)使用過(guò)程中,傳輸開(kāi)始和停止的條件如下:當SCL持續為“1”而SDA從“1”變?yōu)椤?”時(shí)表示將要開(kāi)始發(fā)送數據;而當SCL持續為“1”而SDA從“0”變?yōu)椤?”表示停止發(fā)送數據。其中SDA線(xiàn)上的數據在時(shí)鐘線(xiàn)SCL為“1”期間必須是穩定的,只有當SCL線(xiàn)上的時(shí)鐘信號為低時(shí)數據線(xiàn)上的狀態(tài)才能改變。

本文引用地址:http://dyxdggzs.com/article/162269.htm


SDA線(xiàn)上的每個(gè)字節必須為8位,每次傳輸的字節數不限制,每發(fā)送1個(gè)字節都有1個(gè)ACK應答位。
1.2 選用ARM9芯片功能介紹
MCU采用某公司的S3C2440芯片,S3C2440A是某公司的一款基于A(yíng)RM920T內核的16/32位RISC嵌入式微處理器,主要面向手持設備以及高性?xún)r(jià)比、低功耗的應用,且集成了1個(gè)IIC總線(xiàn)控制器,能夠方便的與帶有IIC外設的通信。
1.3 的芯片功能介紹
是DALLAS公司生產(chǎn)的一種功能強大的和恒溫控制器。與IIC總線(xiàn)兼容,一片控制器控制可控制多達8片的,工作電壓為2.7~5.5 V,適用于低功耗應用系統。
DS1621可作為恒溫控制器單獨使用,也可通過(guò)2線(xiàn)在A(yíng)RM的控制下完成的測量及計算??梢酝ㄟ^(guò)寄存器設置調整。DS1621無(wú)需外圍元件即可測量溫度,結果以9位量(兩字節)給出,測量范圍為-55~+155℃,精度為0.5℃:典型轉換時(shí)間為1 s。

2 電路結構
采用了S3C2440作為電路中的主設備,控制IIC總線(xiàn)上從器件,由主設備控制IIC總線(xiàn)上的時(shí)鐘信號以及各種數據信號。采用2片DS16 21作為IIC總線(xiàn)上的從設備,由于DS1621具備IIC總線(xiàn)接口,可直接與S3C2440的SDA和SCL腳相接,通過(guò)對DS1621的A2、A1、A0腳(5、6、7腳)組合輸入不同的片選信號,可以確定其在IIC總線(xiàn)下工作的從機地址。因為IIC從設備一般都是MOS工藝,所以總線(xiàn)都有上拉電阻。工作時(shí),通過(guò)IIC總線(xiàn)將DS1621設置為溫度功能和逐次獲取數據的工作方式,電路的原理圖如圖2所示。



3 程序設計
下的程序將所有設備看作文件,驅動(dòng)程序則為應用程序和硬件設備之間提供了操作訪(fǎng)問(wèn)的接口,使應用程序可以像操作普通文件一樣對硬件設備操作訪(fǎng)問(wèn)。Linux內核把驅動(dòng)程序劃分為3種類(lèi)型:字符設備、塊設備和網(wǎng)絡(luò )設備。其中,字符設備和塊設備可以像文件一樣被訪(fǎng)問(wèn)。DS1621的IIC驅動(dòng)屬于字符設備。
開(kāi)始工作時(shí),DS1621的工作方式是由片上的設置/狀態(tài)寄存器來(lái)決定的:1)當通過(guò)IIC總線(xiàn)向DS1621寫(xiě)入讀寫(xiě)設置命令ACh之后ARM發(fā)出的一字節將設置DS1621的工作方式,然后發(fā)出溫度轉換命令EEh,讀溫度命令AAh;2)DONE比特位表示工作在測溫功能時(shí),溫度數據已轉換完畢,保存在非易失性寄存器中;3)THF、TLF是DS1621作為恒溫器時(shí)的狀態(tài)標識位,當超過(guò)TH預置值或低于TL預置值時(shí)被置為1;4)1SHOT為一次模式位,該位為1時(shí)每次收到溫度轉換命令就執行一次溫度轉換,為0時(shí)將執行連續溫度轉換。DS1621寄存器配置如圖3所示。


在調試過(guò)程中發(fā)現,若使用連續轉換模式時(shí),在極少數情況下出現數據明顯不正確,故采用了逐次讀取數據模式,即逐次配置DS1621的溫度轉換,逐次獲取數據,并每次判斷DS1621工作狀態(tài)、數據范圍和精度,從而獲得了更加穩定、精確的實(shí)驗結果。
驅動(dòng)程序的功能包括:初始化以及釋放硬件設備;S3C2440通過(guò)IIC總線(xiàn)對DS1621的控制寄存器進(jìn)行配置;S3C2440讀取DS1621寄存器內的溫度數據,通過(guò)接口函數,將數據從內核空間發(fā)送到用戶(hù)空間。驅動(dòng)程序設計流程圖如圖4所示。


3.1 設備驅動(dòng)的主要函數
對于字符設備,Linux內核對這些操作進(jìn)行了統一的抽象,把它們定義在結構體file-operation中。通常,字符設備提供給應用程序的是一個(gè)流控制接口,主要包括open、release、read、ioctl等。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

linux相關(guān)文章:linux教程


傳感器相關(guān)文章:傳感器工作原理


風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理
上拉電阻相關(guān)文章:上拉電阻原理
溫濕度控制器相關(guān)文章:溫濕度控制器原理

上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>