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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM9和Linux的電磁流量計(jì)設(shè)計(jì)

          基于ARM9和Linux的電磁流量計(jì)設(shè)計(jì)

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

            通信接口模塊:包括以太網(wǎng)接口、U SB 接口以及RS 232 接口,完成數(shù)據(jù)通訊和流量傳輸功能。

            調(diào)試接口模塊:由JT AG 調(diào)試接口和DBCOM 調(diào)試串口組成。

            軟件子系統(tǒng)由引導(dǎo)加載程序( Boot Loader) 、嵌入式 操作系統(tǒng)和應(yīng)用軟件組成。嵌入式 的啟動(dòng)需要引導(dǎo)加載程序來輔助完成,、內(nèi)核主要由進(jìn)程管理、內(nèi)存管理、文件系統(tǒng)管理、設(shè)備控制及網(wǎng)絡(luò)協(xié)議等幾個(gè)部分,為應(yīng)用軟件提供了運(yùn)行環(huán) 境。圖中的硬件設(shè)備控制提供了硬件平臺(tái)中相關(guān)的設(shè)備驅(qū)動(dòng)程序,實(shí)現(xiàn)了操作系統(tǒng)與硬件之間的信息交互和控制,而系統(tǒng)函數(shù)調(diào)用為L(zhǎng)inux 內(nèi)核和應(yīng)用軟件之間的信息交互提供了接口。

            2 硬件系統(tǒng)設(shè)計(jì)

            基于低頻三值矩形波勵(lì)磁的的硬件結(jié)構(gòu)圖如圖2 所示。其中,CPU 核心模塊是系統(tǒng)軟件的運(yùn)行基礎(chǔ),F(xiàn)LASH 存儲(chǔ)器用于存儲(chǔ)可執(zhí)行程序的二進(jìn)制映像文件,供系統(tǒng)啟動(dòng)時(shí)加載到SDRAM 內(nèi)存空間運(yùn)行; 由于硬件系統(tǒng)的復(fù)雜性,調(diào)試模塊加強(qiáng)了硬件系統(tǒng)的調(diào)試功能; 流量傳感器由一對(duì)勵(lì)磁線圈和一對(duì)對(duì)稱分布的檢測(cè)電極構(gòu)成。

          基于ARM9和Linux的電磁流量計(jì)設(shè)計(jì)
          圖2 系統(tǒng)硬件結(jié)構(gòu)圖

            ARM9 處理器通過與其相連的D/ A 芯片產(chǎn)生低頻三值矩形波,勵(lì)磁線圈接受該低頻三值矩形波經(jīng)功率放大后的勵(lì)磁信號(hào)而產(chǎn)生感應(yīng)磁場(chǎng),在電極上產(chǎn)生因流體切割磁力線而產(chǎn)生的感應(yīng)電動(dòng)勢(shì)( 即測(cè)量信號(hào)) ,并將之送入信號(hào)輸入模塊進(jìn)行處理,信號(hào)輸入模塊對(duì)流量傳感器輸入的信號(hào)進(jìn)行放大、濾波及A/ D 采樣后輸入ARM9 處理器。系統(tǒng)由TFT 液晶顯示屏提供人性化的菜單顯示操作界面,結(jié)合鍵盤進(jìn)行人機(jī)交互; 同時(shí)具有以太網(wǎng)、USB 和RS 232 通信接口可輸出瞬時(shí)流量、累積流量和系統(tǒng)參數(shù)。

            3 軟件系統(tǒng)設(shè)計(jì)

            一個(gè)嵌入式Linux 系統(tǒng)從軟件的角度來看,通??梢苑譃樗膫€(gè)層次,如圖3 所示。

            系統(tǒng)軟件總體結(jié)構(gòu)

          基于ARM9和Linux的電磁流量計(jì)設(shè)計(jì)
          圖3 系統(tǒng)軟件總體結(jié)構(gòu)

            引導(dǎo)加載程序:包括固化在固件中的Boo t 代碼( 可選) ,和Boo t Loader 兩大部分。

            Linux 內(nèi)核:特定于嵌入式硬件平臺(tái)的定制內(nèi)核以及內(nèi)核的啟動(dòng)參數(shù)。

            文件系統(tǒng):包括根文件系統(tǒng)和建立于FLASH 內(nèi)存設(shè)備之上文件系統(tǒng),通常采用ramdisk 作為根文件系統(tǒng)。

            用戶應(yīng)用程序:特定于用戶的應(yīng)用程序。有時(shí)在用戶應(yīng)用程序和內(nèi)核層之間可能還會(huì)包括一個(gè)嵌入式圖形用戶界面。

            其中,引導(dǎo)加載程序是嵌入式系統(tǒng)軟件開發(fā)的第一個(gè)環(huán)節(jié),它是操作系統(tǒng)和硬件的樞紐,為操作系統(tǒng)內(nèi)核的啟動(dòng)提供了必要的條件和參數(shù); 引導(dǎo)加載程序的工作是初始化內(nèi)存以及必要的硬件設(shè)備,調(diào)用內(nèi)核加載器。從FLASH 中加載操作系統(tǒng)映像到SDRAM 中,并把控制權(quán)交給Linux ; 由Linux 對(duì)硬件系統(tǒng)做進(jìn)一步的初始化并控制應(yīng)用程序。

            基于系統(tǒng)軟件結(jié)構(gòu),在系統(tǒng)的啟動(dòng)過程中有3 個(gè)主要軟件組件參與其中:引導(dǎo)加載程序、Linux 內(nèi)核和Init進(jìn)程。其啟動(dòng)過程如下:

           ?。?1) 系統(tǒng)在上電或Reset 之后,A T91RM9200 開始執(zhí)行存放在NOR FLASH( 系統(tǒng)將0x10000000 映射到0x 00000000,即ARM 的復(fù)位向量) 中的引導(dǎo)加載程序。

           ?。?2) 引導(dǎo)加載程序初始化CPU 和內(nèi)存控制器,對(duì)系統(tǒng)外設(shè)做最小程度的初始化,如初始化LED 和串口等,檢測(cè)內(nèi)存并匯報(bào)啟動(dòng)中的診斷信息,然后將Linux內(nèi)核映像解壓到SDRAM 中的某個(gè)位置并跳轉(zhuǎn)到這個(gè)地址,把控制權(quán)交給Linux 內(nèi)核。

           ?。?3) Linux 的內(nèi)核接管執(zhí)行權(quán)后完成一系列的系統(tǒng)初始化和設(shè)置,包括設(shè)置中斷向量,啟動(dòng)內(nèi)存管理,初始化各個(gè)硬件設(shè)備,初始化網(wǎng)絡(luò)協(xié)議等,最后建立根文件系統(tǒng)并生成系統(tǒng)進(jìn)程之父Init 進(jìn)程。

           ?。?4) Init 進(jìn)程負(fù)責(zé)啟動(dòng)所有必要的服務(wù)和用戶應(yīng)用程序,并進(jìn)入嵌入式系統(tǒng)的工作狀態(tài)。

            在嵌入式Linux 系統(tǒng)中,必須有固態(tài)存儲(chǔ)設(shè)備來存儲(chǔ)可執(zhí)行的代碼,本系統(tǒng)中采用了FLASH 存儲(chǔ)器。

          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); })();