嵌入式系統(tǒng)在曙光4000A大規(guī)模機群監(jiān)控系統(tǒng)中的應(yīng)用
對于采集卡主芯片的選擇,由于需要支持TCP/IP網(wǎng)絡(luò),需要支持IIC接口,同時還可以支持內(nèi)存控制以及Flash控制器,因此選擇了三星公司的ARM芯片S3C4510B,該芯片采用ARM7TDI內(nèi)核,32位RISC架構(gòu)。對于嵌入式操作系統(tǒng)的選擇,uClinux具有免費、開源、可裁減性好、對TCP/IP網(wǎng)絡(luò)協(xié)議支持的較好并且穩(wěn)定性高等優(yōu)點,因此選擇uClinux作為嵌入式操作系統(tǒng)。同時由于IIC總線技術(shù)有連接簡單、數(shù)據(jù)傳輸速率高、高可靠性等優(yōu)點,所以采集卡的主芯片和采集單片機使用IIC總線相連。
2.2 采集卡(多路器)的功能
采集卡的主要作用,一方面是從與每組節(jié)點機相連的采集單片機中通過IIC總線讀取節(jié)點機的信息,另一方面監(jiān)聽自身的事先約定的端口,當(dāng)有連接請求并收到發(fā)送數(shù)據(jù)的命令后送出從采集卡中讀取的數(shù)據(jù)。硬件上已經(jīng)有了IIC和網(wǎng)絡(luò)接口,軟件方面,可以從網(wǎng)上資源中獲取S3C4510B芯片的IIC控制器和網(wǎng)絡(luò)驅(qū)動程序,然后集成到uClinux嵌入式操作系統(tǒng)中。此外還需要一段采集程序?qū)崿F(xiàn)系統(tǒng)的主要功能。
采集程序根據(jù)系統(tǒng)需要的功能,分為兩個部分,一部分定時從IIC總線讀取數(shù)據(jù),另一部分監(jiān)聽某個約定端口、收取命令并發(fā)送數(shù)據(jù)。這兩個部分分別由兩個線程來執(zhí)行。兩個線程共享同一塊數(shù)據(jù)緩沖區(qū)。線程一通過IIC總線讀取采集卡中的數(shù)據(jù),寫入緩沖區(qū)中,線程二一方面讀取緩沖區(qū)中的數(shù)據(jù)發(fā)送,另一方面在發(fā)送完畢后,把已經(jīng)發(fā)送了的緩沖區(qū)填寫為無效數(shù)據(jù)。由于數(shù)據(jù)緩沖區(qū)屬于臨界區(qū)域,這兩個線程在使用緩沖區(qū)的時候要嚴(yán)格互斥。
程序的主體結(jié)構(gòu)如下:
read_iic(){ //線程一運行的函數(shù)
打開iic設(shè)備;
while(1) {
讀取iic設(shè)備的數(shù)據(jù);
寫入全局緩沖區(qū)中;
休眠一定的時間;
?。?p> ?。?p> send_data() { //線程二運行的函數(shù)
綁定本地端口;
監(jiān)聽本地端口;
while(1) {
收到命令;
發(fā)送全局緩沖區(qū)中的數(shù)據(jù);
填寫無效數(shù)據(jù);
}
?。?p> main() {
初始化全局緩沖區(qū);
創(chuàng)建線程一;
創(chuàng)建線程二;
?。?p> 2.3 運行情況以及發(fā)展方向
在實際運行1周后,曙光4000A大規(guī)模集群監(jiān)控系統(tǒng)運行狀況良好,其中采集卡功能良好,在規(guī)定的延遲內(nèi)數(shù)據(jù)傳輸流暢,沒有出現(xiàn)數(shù)據(jù)漏傳、丟失等現(xiàn)象,說明監(jiān)控系統(tǒng)中的嵌入式系統(tǒng)運行很穩(wěn)定,發(fā)揮了預(yù)期的作用。
在將來的監(jiān)控系統(tǒng)升級工作中,可以考慮在這個采集卡中加入嵌入式數(shù)據(jù)庫技術(shù),把收到的數(shù)據(jù)存儲起來,并且和uClinux提供的Web服務(wù)結(jié)合,在Web服務(wù)中顯示監(jiān)控系統(tǒng)的數(shù)據(jù),這樣就可以在任何一臺機器上以瀏覽網(wǎng)頁的形式監(jiān)控整個集群,從而節(jié)省了監(jiān)控節(jié)點的開銷,提高了采集卡的利用率。
三:結(jié)束語
嵌入式系統(tǒng)體積小、靈活性高,已經(jīng)被應(yīng)用到各行各業(yè),例如汽車、家電、航空、精密儀器等等。本文介紹的嵌入式系統(tǒng)在曙光4000A大規(guī)模機群監(jiān)控系統(tǒng)中的應(yīng)用,結(jié)合了ARM技術(shù)、IIC總線技術(shù),采用了uClinux嵌入式操作系統(tǒng),體積小、可擴展性好、成本低,數(shù)據(jù)流向清晰明確,現(xiàn)在已經(jīng)作為配套產(chǎn)品提供給用戶。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論