久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

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設備的數據;

  寫入全局緩沖區中;

  休眠一定的時間;

  }

  }

  send_data() { //線程二運行的函數

  綁定本地端口;

  監聽本地端口;

  while(1) {

  收到命令;

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

  填寫無效數據;

  }

  }

  main() {

  初始化全局緩沖區;

  創建線程一;

  創建線程二;

  }

  2.3 運行情況以及發展方向

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

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

三:結束語

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

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

上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉