<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于嵌入式Linux的機(jī)房遠(yuǎn)程監(jiān)測(cè)系統(tǒng)研究

          基于嵌入式Linux的機(jī)房遠(yuǎn)程監(jiān)測(cè)系統(tǒng)研究

          作者: 時(shí)間:2012-08-06 來源:網(wǎng)絡(luò) 收藏

          2. 2. 4 監(jiān)控端配置

          網(wǎng)絡(luò)上的監(jiān)控端為通用的PC 機(jī)和IE 瀏覽器,B /S 模式架構(gòu)為人機(jī)交互提供了友好的交互平臺(tái),用戶通過Internet 進(jìn)行監(jiān)控。

          2. 3 軟件平臺(tái)

          采用源碼開放、安全性及可靠性好、具有廣泛硬件和網(wǎng)絡(luò)支持及完整開發(fā)工具的 系統(tǒng)作為系統(tǒng)平臺(tái)。

          系統(tǒng)的開發(fā)通常采用宿主機(jī)- 目標(biāo)機(jī)的交叉編譯調(diào)試方式。系統(tǒng)構(gòu)建主要包括: 交叉編譯器的選擇和安裝; NFS 網(wǎng)絡(luò)文件系統(tǒng)的配置; 內(nèi)核、Bootloader 和文件系統(tǒng)的編譯和移植等。內(nèi)核采用 -2. 6. 30. 4 版本; 系統(tǒng)引導(dǎo)加載程序采用U - boot - 1. 1. 6; 文件系統(tǒng)采用可靠性和可移植性好的YAFFS 文件系統(tǒng)。

          3 驅(qū)動(dòng)程序設(shè)計(jì)開發(fā)

          在搭建好 系統(tǒng)平臺(tái)基礎(chǔ)上,進(jìn)行遠(yuǎn)程系統(tǒng)數(shù)據(jù)采集相關(guān)開工作。主要包括溫度數(shù)據(jù)采集和圖像采集驅(qū)動(dòng)程序的設(shè)計(jì)和采集程序的設(shè)計(jì)與實(shí)現(xiàn)。設(shè)備驅(qū)動(dòng)程序是操作系統(tǒng)內(nèi)核與機(jī)器硬件之間的接口,它為應(yīng)用程序屏蔽了硬件的細(xì)節(jié)。

          3. 1 DS18B20 驅(qū)動(dòng)程序設(shè)計(jì)

          DS18B20 通過溫度對(duì)振蕩器的頻率影響來測(cè)量溫度,而傳感器對(duì)溫度的采集則由ARM 控制DS18B20完成。由于DS18B20 采用單總線數(shù)據(jù)傳輸方式,所以ARM 芯片對(duì)DS18B20 的每步操作都要保證特定的讀寫時(shí)序,按照單總線的操作協(xié)議來進(jìn)行。

          首先初始化總線,跳過Rom( 總線上只有一個(gè)DS18B20) ,啟動(dòng)DS18B20 進(jìn)行溫度轉(zhuǎn)換,復(fù)位,繼續(xù)跳過Rom,發(fā)讀溫度指令,讀取溫度數(shù)據(jù),最后進(jìn)行溫度的進(jìn)一步處理及轉(zhuǎn)換。溫度采集驅(qū)動(dòng)中用到的主要函數(shù):

          ( 1) 初始化函數(shù)unsigned char DS18B20 Init ( void) ,此函數(shù)復(fù)位DS18B20 數(shù)據(jù)線,檢測(cè)溫度傳感器DS18B20 的存在,主CPU 發(fā)送500 微秒的低電平信號(hào)后釋放,檢測(cè)到總線上脈沖的上升沿后,DS18B20 等待50 微秒,發(fā)出200 微秒低脈沖,CPU 收到此信號(hào)表示復(fù)位成功。

          ( 2) void DS18B20 WriteOneByte( unsigned char data) 或數(shù)據(jù)到溫度芯片DS18B20,即發(fā)送一個(gè)字節(jié)。

          ( 3) unsigned char DS18B20 ReadOneByte( void) ,從溫度芯片DS18B20 讀配置或數(shù)據(jù),即讀一個(gè)字節(jié)。

          ( 4) unsigned int DS18B20 ReadTemperature( void) 讀溫度函數(shù)。如果電路中只有一個(gè)DS18B20,則不需要多個(gè)器件的ID 識(shí)別,直接進(jìn)行溫度轉(zhuǎn)換,DS18B20 溫度轉(zhuǎn)換需要時(shí)問,所以此處需要延時(shí)一定時(shí)間。

          其基本處理流程如圖2 所示。

          驅(qū)動(dòng)程序與硬件設(shè)備的接口由file_operation 結(jié)構(gòu)定義,其結(jié)構(gòu)如下:

          static struct file_operations s3c2440_18b20_fops = {

          . owner = THIS_MODULE,

          . open = s3c2440_18b20_open,

          . read = s3c2440_18b20_read,

          . write = s3c2440_18b20_write,

          . release = s3c2440_18b20_release,

          } ;

          struct file_operations 這個(gè)結(jié)構(gòu)的每一個(gè)成員都對(duì)應(yīng)一個(gè)_系統(tǒng)調(diào)用,用戶進(jìn)程利用系統(tǒng)調(diào)用對(duì)設(shè)備文件進(jìn)行操作,系統(tǒng)調(diào)用通過設(shè)備文件的主設(shè)備號(hào)找到相應(yīng)的設(shè)備驅(qū)動(dòng)程序,讀取這個(gè)數(shù)據(jù)結(jié)構(gòu)里面相應(yīng)的函數(shù)指針,把控制權(quán)交給該函數(shù)。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();