基于VxWorks的微機(jī)保護(hù)裝置網(wǎng)絡(luò)通信設(shè)計(jì)
摘要:針對(duì)微機(jī)保護(hù)系統(tǒng)對(duì)采樣數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性需要,給出了一種基于VxWorks嵌入式實(shí)時(shí)操作系統(tǒng)的微機(jī)保護(hù)系統(tǒng)網(wǎng)絡(luò)通信實(shí)現(xiàn)方案。該方案利用VxWorks的靈活通信機(jī)制,并通過建立基于雙緩沖消息隊(duì)列的客戶端/服務(wù)器通信模型來(lái)提高系統(tǒng)的實(shí)時(shí)性和可靠性。
關(guān)鍵詞:VxWorks;微機(jī)保護(hù);網(wǎng)絡(luò)通信;客戶端/服務(wù)器
0 引言
隨著科學(xué)技術(shù)的不斷發(fā)展,人們對(duì)網(wǎng)絡(luò)進(jìn)程間通信的性能要求也越來(lái)越高,傳統(tǒng)的網(wǎng)絡(luò)通信方式已經(jīng)不能滿足需要。目前,越來(lái)越多的嵌入式設(shè)備都可以通過各種形式接入到網(wǎng)絡(luò),以實(shí)現(xiàn)與網(wǎng)絡(luò)上其他各類型的主機(jī)互聯(lián)。這在很大程度上得益于TCP/IP協(xié)議在嵌入式領(lǐng)域中的應(yīng)用。本文選用VxWorks實(shí)時(shí)操作系統(tǒng),并利用VxWorks對(duì)TCP/IP協(xié)議、多任務(wù)以及BSD Socket的良好支持,給出了一種可方便地實(shí)現(xiàn)網(wǎng)絡(luò)通信的方法。
1 VxWorks網(wǎng)絡(luò)協(xié)議
VxWorks通常使用以太網(wǎng)作為最底層傳輸媒介。而在傳輸媒介的上一層,VxWorks則用TCP/IP協(xié)議來(lái)用于VxWorks進(jìn)程與其它主機(jī)環(huán)境進(jìn)程之間的傳輸數(shù)據(jù)。用戶程序需要的就是在TCP/IP層之上進(jìn)行通信。因此,利用VxWorks對(duì)多任務(wù)和Socket的良好支持,可以方便的實(shí)現(xiàn)網(wǎng)絡(luò)通信。
TCP/IP是VxWorks提供的網(wǎng)絡(luò)間進(jìn)程通信的主要機(jī)制,它主要包括三個(gè)協(xié)議:Internet協(xié)議、IP協(xié)議和傳輸層協(xié)議。其中Internet協(xié)議是處于TCP和UDP之上的一組協(xié)議專門開發(fā)的應(yīng)用程序,包括telnet、文件傳輸協(xié)議(FTP)等。IP層也稱網(wǎng)絡(luò)層,它包括Internet協(xié)議(IP)、網(wǎng)際控制報(bào)文協(xié)議(ICMP)和地址識(shí)別協(xié)議(ARP);其中IP協(xié)議是TCP/IP協(xié)議族的基礎(chǔ),該協(xié)議被設(shè)計(jì)成互聯(lián)分組交換通信網(wǎng),現(xiàn)已形成了一個(gè)網(wǎng)際通信環(huán)境,它負(fù)責(zé)在源主機(jī)和目的地主機(jī)之間傳輸來(lái)自其較高層軟件的(稱為數(shù)據(jù)報(bào)文的)數(shù)據(jù)塊,它在源和目的地之間可提供非連接型傳遞服務(wù);而傳輸層協(xié)議包括傳輸控制協(xié)議,主要有面向連接的TCP和無(wú)連接數(shù)據(jù)報(bào)UDP兩種協(xié)議。
VxWorks網(wǎng)絡(luò)協(xié)議是一個(gè)基于開放系統(tǒng)的互連(OSI)模型,而且系統(tǒng)為了向高層協(xié)議層提供一個(gè)統(tǒng)一的、規(guī)范的、方便協(xié)議移植的網(wǎng)絡(luò)接口,在高層IP層之下添加了一個(gè)MUX層,由MUX層負(fù)責(zé)與網(wǎng)絡(luò)底層驅(qū)動(dòng)的交互。這樣做可以使用戶在設(shè)計(jì)協(xié)議中不必關(guān)心網(wǎng)絡(luò)底層的數(shù)據(jù)傳遞,而在設(shè)計(jì)網(wǎng)絡(luò)驅(qū)動(dòng)程序時(shí)也不必關(guān)心協(xié)議棧的結(jié)構(gòu),因而大大方便了對(duì)其進(jìn)行的開發(fā)。VxWorks網(wǎng)絡(luò)協(xié)議的結(jié)構(gòu)如圖1所示。
評(píng)論