新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式系統在曙光4000A大規模機群監控系統中的應用

        嵌入式系統在曙光4000A大規模機群監控系統中的應用

        作者: 時間:2009-04-02 來源:網絡 收藏

          對于采集卡主芯片的選擇,由于需要支持TCP/IP網絡,需要支持IIC接口,同時還可以支持內存控制以及Flash控制器,因此選擇了三星公司的ARM芯片S3C4510B,該芯片采用ARM7TDI內核,32位RISC架構。對于操作的選擇,uClinux具有免費、開源、可裁減性好、對TCP/IP網絡協議支持的較好并且穩定性高等優點,因此選擇uClinux作為操作。同時由于IIC總線技術有連接簡單、數據傳輸速率高、高可靠性等優點,所以采集卡的主芯片和采集單片機使用IIC總線相連。

          2.2 采集卡(多路器)的功能

          采集卡的主要作用,一方面是從與每組節點機相連的采集單片機中通過IIC總線讀取節點機的信息,另一方面監聽自身的事先約定的端口,當有連接請求并收到發送數據的命令后送出從采集卡中讀取的數據。硬件上已經有了IIC和網絡接口,軟件方面,可以從網上資源中獲取S3C4510B芯片的IIC控制器和網絡驅動程序,然后集成到uClinux操作中。此外還需要一段采集程序實現系統的主要功能。

          采集程序根據系統需要的功能,分為兩個部分,一部分定時從IIC總線讀取數據,另一部分監聽某個約定端口、收取命令并發送數據。這兩個部分分別由兩個線程來執行。兩個線程共享同一塊數據緩沖區。線程一通過IIC總線讀取采集卡中的數據,寫入緩沖區中,線程二一方面讀取緩沖區中的數據發送,另一方面在發送完畢后,把已經發送了的緩沖區填寫為無效數據。由于數據緩沖區屬于臨界區域,這兩個線程在使用緩沖區的時候要嚴格互斥。

          程序的主體結構如下:

          read_iic(){ //線程一運行的函數

          打開iic設備;

          while(1) {

          讀取iic設備的數據;

          寫入全局緩沖區中;

          休眠一定的時間;

         ?。?p> ?。?p>  send_data() { //線程二運行的函數

          綁定本地端口;

          監聽本地端口;

          while(1) {

          收到命令;

          發送全局緩沖區中的數據;

          填寫無效數據;

          }

         ?。?p>  main() {

          初始化全局緩沖區;

          創建線程一;

          創建線程二;

         ?。?p>  2.3 運行情況以及發展方向

          在實際運行1周后,集群運行狀況良好,其中采集卡功能良好,在規定的延遲內數據傳輸流暢,沒有出現數據漏傳、丟失等現象,說明中的運行很穩定,發揮了預期的作用。

          在將來的升級工作中,可以考慮在這個采集卡中加入嵌入式數據庫技術,把收到的數據存儲起來,并且和uClinux提供的Web服務結合,在Web服務中顯示監控系統的數據,這樣就可以在任何一臺機器上以瀏覽網頁的形式監控整個集群,從而節省了監控節點的開銷,提高了采集卡的利用率。

        三:結束語

          體積小、靈活性高,已經被到各行各業,例如汽車、家電、航空、精密儀器等等。本文介紹的監控系統中的,結合了ARM技術、IIC總線技術,采用了uClinux嵌入式操作系統,體積小、可擴展性好、成本低,數據流向清晰明確,現在已經作為配套產品提供給用戶。

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

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 忻城县| 岳池县| 东莞市| 鹿邑县| 娄底市| 乌拉特中旗| 柘荣县| 盐池县| 龙泉市| 特克斯县| 高陵县| 平顺县| 镇江市| 沂南县| 德保县| 新化县| 泰州市| 绥滨县| 遵化市| 蛟河市| 鲜城| 迭部县| 乐昌市| 烟台市| 张家口市| 洛南县| 长乐市| 崇信县| 聊城市| 洛浦县| 绥化市| 久治县| 华安县| 建水县| 杭锦后旗| 柘城县| 西平县| 鄢陵县| 盐边县| 晋江市| 龙井市|