在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的SoC和嵌入式系統(tǒng)的遠(yuǎn)程監(jiān)控系統(tǒng)

            基于FPGA的SoC和嵌入式系統(tǒng)的遠(yuǎn)程監(jiān)控系統(tǒng)

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

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

              為了實(shí)現(xiàn)利用Intemet進(jìn)行遠(yuǎn)程數(shù)據(jù)傳輸,本系統(tǒng)在NiosII上移植了MicroC/OS2實(shí)時(shí)操作系統(tǒng)和LWIP(輕量級IP協(xié)議棧)進(jìn)而在其上開發(fā)信息采集軟件。

              3.1 MicroC/OS2及LWIP的移植

              此部分工作主要是針對本系統(tǒng)的特定硬件進(jìn)行移植并編寫如溫濕度傳感器SHT75、總量計(jì)數(shù)IP核等所需的各種驅(qū)動(dòng),因此深入了解軟件的各層結(jié)構(gòu)和細(xì)節(jié)是移植成功的關(guān)鍵。

              HAL即硬件抽象層,是NiosII開發(fā)套件的一部分,由ALTERA公司提供,它封裝了系統(tǒng)中硬件操作的相關(guān)細(xì)節(jié),驅(qū)動(dòng)程序也作為它的一部分。HAL共抽象了六種器件模型,包括字符模式器件、定時(shí)器件、文件子系統(tǒng)、以太網(wǎng)器件、DMA器件和Flash器件,并為每一類器件提供一系列的統(tǒng)一的初始化函數(shù)和訪問函數(shù)接口,通過這種方式,HAL向上一層提供了一個(gè)類POSIX的API接口,即硬件抽象層應(yīng)用編程界面。

              針對NiosII的軟件開發(fā),其實(shí)是建立在HAL之上,而非直接面向NiosII硬件本身。本系統(tǒng)測量模塊所對應(yīng)的各個(gè)接口IP核均屬于字符模式器件,因此驅(qū)動(dòng)程序需按HAL中字符模式器件模型來進(jìn)行編寫。

              MicroC/OS2是一個(gè)適合于小型、微控制器的可剝奪實(shí)時(shí)操作系統(tǒng)。它支持56個(gè)用戶任務(wù),其內(nèi)核為占先式,支持信號(hào)量、郵箱、消息隊(duì)列等多種常用的進(jìn)程間通信機(jī)制,通過它為應(yīng)用程序提供所需的多任務(wù)環(huán)境。由于MicroC/OS2自身并沒帶有協(xié)議棧,因此需要移植一個(gè)TCP/IP協(xié)議棧LWIP,從而向上層提供了一個(gè)類似UNIX套接字的接口。LWIP支持以下一些網(wǎng)絡(luò)協(xié)議:IP、ARP、ICMF、UDP、TCP。該協(xié)議棧需要20KB的代碼存儲(chǔ)空間及4KB的數(shù)據(jù)存儲(chǔ)空問,同時(shí)在構(gòu)建系統(tǒng)時(shí)還需要添加一個(gè)專供其使用的定時(shí)器。

              圖4為分析得到的系統(tǒng)軟件的啟動(dòng)流程。在該流程圖中,alt_sys_init()用于初始化系統(tǒng)中的設(shè)備,在這個(gè)過程中會(huì)調(diào)用設(shè)備驅(qū)動(dòng)程序提供的初始化程序。Lwip_stack_init()用于初始化TCP/IP協(xié)議棧。而tcpip_init_done()是一個(gè)在協(xié)議棧初始化后被調(diào)用的函數(shù),通信服務(wù)器的任務(wù)也在其中創(chuàng)建。有一點(diǎn)需要注意的是。所有基于LWIP的任務(wù),都應(yīng)該使用sys_thread_new()函數(shù)來創(chuàng)建,而不是直接使用OSTaskCreate()。最后,所有的初始化都準(zhǔn)備好后,即調(diào)用OSStart()來啟動(dòng)RTOS進(jìn)行任務(wù)調(diào)度。

              3.2 信息采集程序的設(shè)計(jì)

              本模塊作為一個(gè)任務(wù),運(yùn)行于MicroC/OS2實(shí)時(shí)操作系統(tǒng)之上,完成對各個(gè)探測子系統(tǒng)基于策略或遠(yuǎn)程指令的測量控制,獲取的信息被保存到指定的內(nèi)存緩沖區(qū),并根據(jù)要求將結(jié)果返回到遠(yuǎn)程主機(jī)上。對于溫濕度測量,由于SHT75傳感器的濕度輸出呈一定的非線性,為了獲取準(zhǔn)確數(shù)據(jù),需要根據(jù)給定的公式對所獲得的數(shù)據(jù)進(jìn)行修正,而溫度輸出則不需進(jìn)行補(bǔ)償,將數(shù)字輸出轉(zhuǎn)換為實(shí)際溫度值即可,詳見SHT75數(shù)據(jù)手冊。對于總量計(jì)數(shù)的處理,本模塊只是簡單地將數(shù)據(jù)打包后交給通信服務(wù)器傳回遠(yuǎn)程主機(jī)。

              3.3 通信服務(wù)器

              本任務(wù)通過sys_thread_new()函數(shù)創(chuàng)建,作為一個(gè)服務(wù)器監(jiān)聽約定的端口,等待遠(yuǎn)程主機(jī)的連接,提取遠(yuǎn)程主機(jī)的命令,通過消息隊(duì)列將所獲得的命令發(fā)送到信息采集任務(wù);同時(shí)也根據(jù)要求將信息采集任務(wù)獲得的各種數(shù)據(jù)分類發(fā)回遠(yuǎn)程主機(jī)。

              LWP提供了標(biāo)準(zhǔn)的Berkeley套接字編程界面,這個(gè)界面提供了三種類型的套接字,在這里使用了流式套接字,這是一個(gè)面向連接的可靠的數(shù)據(jù)傳輸服務(wù),也就是說使用的是TCP協(xié)議。通常,服務(wù)器接收到并發(fā)服務(wù)請求,要激活一新進(jìn)程來處理這個(gè)客戶請求,但出于系統(tǒng)資源和簡化設(shè)計(jì)的考慮,在這里服務(wù)器同一時(shí)刻只能接受一個(gè)連接請求,而這種簡化事實(shí)上也是可以滿足設(shè)計(jì)需要的。

              本系統(tǒng)應(yīng)用基于的片上系統(tǒng)技術(shù)和系統(tǒng)技術(shù)實(shí)現(xiàn)了智能核儀器與互聯(lián)網(wǎng)的連接,同時(shí)也實(shí)現(xiàn)了硬件上的部分可重構(gòu),根據(jù)需要增加或刪除中的外設(shè)IP核即可實(shí)現(xiàn)系統(tǒng)在功能和性能上的改變。目前本系統(tǒng)已經(jīng)在放射性樣品儲(chǔ)藏室中應(yīng)用,其功能和性能均滿足實(shí)際環(huán)境的要求。由于本系統(tǒng)的網(wǎng)絡(luò)平臺(tái)被設(shè)計(jì)成一個(gè)相對獨(dú)立的子系統(tǒng),因此只需開發(fā)特定的探測子系統(tǒng)即可應(yīng)用于各種相應(yīng)的需要的領(lǐng)域。

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

            超級電容器相關(guān)文章:超級電容器原理



            上一頁 1 2 3 下一頁

            評論


            相關(guān)推薦

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

            關(guān)閉