亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于以太網(wǎng)技術(shù)的船舶氣象儀通信功能的設(shè)計(jì)與實(shí)現(xiàn)

        2019-04-19 11:26:00初偉先張赟漆隨平王東明
        山東科學(xué) 2019年2期
        關(guān)鍵詞:驅(qū)動(dòng)程序網(wǎng)卡內(nèi)核

        初偉先,張赟,漆隨平,王東明

        (齊魯工業(yè)大學(xué)(山東省科學(xué)院),山東省科學(xué)院海洋儀器儀表研究所,山東省海洋監(jiān)測(cè)儀器裝備技術(shù)重點(diǎn)實(shí)驗(yàn)室,國(guó)家海洋監(jiān)測(cè)設(shè)備工程技術(shù)研究中心,山東 青島 266001)

        船舶氣象儀是船載的重要設(shè)備之一,通過(guò)對(duì)各類(lèi)傳感器的采樣,能夠?qū)崟r(shí)測(cè)量相對(duì)風(fēng)速、相對(duì)風(fēng)向、溫度、濕度、氣壓、能見(jiàn)度等氣象參數(shù),并通過(guò)與其他船載設(shè)備通信,獲取航速、航向信息,用以解算真風(fēng)速、真風(fēng)向[1],同時(shí)又將各類(lèi)氣象參數(shù)信息發(fā)送給其他船載設(shè)備,為船舶的安全航行提供重要保障。近年來(lái),隨著信息技術(shù)的快速發(fā)展,以太網(wǎng)通信技術(shù)得到廣泛的應(yīng)用。以太網(wǎng)在實(shí)時(shí)操作、可靠傳輸、標(biāo)準(zhǔn)統(tǒng)一等方面的卓越性能及其便于安裝、維護(hù)簡(jiǎn)單、不受通信距離限制等優(yōu)點(diǎn),已經(jīng)受到國(guó)內(nèi)外很多監(jiān)控、通信領(lǐng)域研究人員的廣泛關(guān)注[2]。目前以太網(wǎng)通信技術(shù)在船載設(shè)備之間開(kāi)始推廣應(yīng)用,根據(jù)實(shí)際應(yīng)用的需求,本文提出了基于以太網(wǎng)技術(shù)的船舶氣象儀通信功能的設(shè)計(jì)方案和實(shí)現(xiàn)方法。

        1 系統(tǒng)總體結(jié)構(gòu)

        船舶氣象儀內(nèi)部的電路板采用模塊化設(shè)計(jì),為了實(shí)現(xiàn)船舶氣象儀與其他船載設(shè)備之間的以太網(wǎng)通信,本文專(zhuān)門(mén)設(shè)計(jì)了一款基于以太網(wǎng)技術(shù)的通信板。船舶氣象儀通信板的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)分為硬件和軟件兩部分。硬件結(jié)構(gòu)設(shè)計(jì)主要包括核心處理器和以太網(wǎng)控制器的選擇以及相關(guān)電路的搭建。軟件結(jié)構(gòu)設(shè)計(jì)主要包括操作系統(tǒng)的配置、底層驅(qū)動(dòng)程序的移植和應(yīng)用程序的開(kāi)發(fā)。底層驅(qū)動(dòng)程序?qū)崿F(xiàn)硬件電路的以太網(wǎng)通信功能,應(yīng)用程序在底層驅(qū)動(dòng)的基礎(chǔ)上實(shí)現(xiàn)航向、航速信息的接收以及氣象參數(shù)信息的發(fā)送。整個(gè)系統(tǒng)方案的框圖如圖1所示。

        圖1 系統(tǒng)總體框圖Fig.1 Block diagram of the system

        2 硬件電路設(shè)計(jì)

        在選擇電子元器件時(shí),一般需要遵循以下原則:(1)穩(wěn)定可靠;(2)實(shí)用性;(3)低功耗;(4)可維護(hù)性與可擴(kuò)展性。

        船舶氣象儀通信板需要實(shí)時(shí)采集風(fēng)速風(fēng)向傳感器、溫濕度傳感器、氣壓傳感器、能見(jiàn)度傳感器的數(shù)據(jù),這就要求選用一款外圍接口豐富的核心處理器,再結(jié)合以上電子元器件選擇時(shí)需要遵循的原則,我們最終選用S3C2440A芯片作為通信板的核心處理器。S3C2440A 是三星公司推出的16/32位精簡(jiǎn)指令集(RISC)微型處理器,采用ARM920T內(nèi)核,主頻為400 MHz,主要由內(nèi)核、高速緩存和內(nèi)存管理單元組成,具有外圍接口豐富、體積小、低功耗、高性能等特點(diǎn)[3]。不過(guò)S3C2440A自身沒(méi)有集成以太網(wǎng)接口,要想實(shí)現(xiàn)以太網(wǎng)通信,需要選擇一款以太網(wǎng)控制器與其連接。這里我們選擇了DM9000AE芯片作為以太網(wǎng)控制器。DM9000AE是一款高速以太網(wǎng)接口芯片,集成10/100 M物理層接口;內(nèi)部帶有16 kB SRAM用作接收發(fā)送的FIFO緩存;支持8/16 bit兩種主機(jī)工作模式;具有通過(guò)HP認(rèn)證的AUTO-Mdix(支持直接互連自動(dòng)翻轉(zhuǎn))功能;支持TCP/IP加速(IPV4 check sum offload)減輕CPU負(fù)擔(dān),提高整機(jī)效能;10 ns I/O讀寫(xiě)時(shí)間[4]。

        通信板的以太網(wǎng)接口電路連接圖如圖2所示。將S3C2440A的片選DM_CS和地址線BADDR分別與DM9000AE的CS引腳和CMD引腳相連接,將數(shù)據(jù)線BDATA[15:0]與DM9000AE的數(shù)據(jù)線SD[15:0]相連接,用來(lái)實(shí)現(xiàn)二者之間的數(shù)據(jù)傳輸;S3C2440A的DM_IOR引腳和DM_IOW引腳分別與DM9000AE的讀引腳IOR#和寫(xiě)引腳IOW#相連接;同時(shí),將S3C2440A的中斷引腳EINT7與DM9000AE的INT引腳相連接,以響應(yīng)DM9000AE的中斷。DM9000AE的接收信號(hào)線RX+、RX-和發(fā)送信號(hào)線TX+、TX-通過(guò)隔離變壓器E-2023與網(wǎng)口RJ-45相連,以實(shí)現(xiàn)與外部以太網(wǎng)的連接。E-2023的主要作用是將船舶氣象儀通信板與外部以太網(wǎng)相隔離,防止干擾和燒壞通信板的電子元器件,以實(shí)現(xiàn)以太網(wǎng)電路的帶電插拔[5]。

        圖2 以太網(wǎng)接口電路連接圖Fig.2 Connection diagram of the Ethernet interface circuit

        3 軟件設(shè)計(jì)

        3.1 操作系統(tǒng)的配置

        S3C2440A是一款以ARM920T為內(nèi)核的嵌入式處理器,需要使用嵌入式系統(tǒng)進(jìn)行配置。在嵌入式系統(tǒng)中,Linux系統(tǒng)是一款目前最為流行的開(kāi)源的操作系統(tǒng),提供豐富強(qiáng)大的網(wǎng)絡(luò)功能,完善的內(nèi)置網(wǎng)絡(luò)是Linux的一大特點(diǎn)[6]。而且Linux系統(tǒng)還免費(fèi)提供了大量支持以太網(wǎng)的軟件,以進(jìn)行文件傳輸和遠(yuǎn)程訪問(wèn)。本文以裝有虛擬Linux操作系統(tǒng)的PC機(jī)作為主機(jī),以船舶氣象儀通信板作為目標(biāo)板,在主機(jī)端進(jìn)行系統(tǒng)配置、網(wǎng)卡驅(qū)動(dòng)的移植、制作文件系統(tǒng)以及應(yīng)用程序的開(kāi)發(fā),然后下載到氣象儀通信板上進(jìn)行調(diào)試和運(yùn)行。

        系統(tǒng)配置的簡(jiǎn)要過(guò)程如下:

        (1)準(zhǔn)備工作目錄,解壓內(nèi)核源碼。執(zhí)行如下命令:

        #mkdir s3c2440/

        #cds3c2440/

        #tar-jxvf linux- 2.6.32.2.tar.bz

        (2)Linux2.6內(nèi)核會(huì)根據(jù)本地系統(tǒng)配置進(jìn)行初始設(shè)置,可以導(dǎo)入默認(rèn)S3C2410 的配置文件s3c2410_defconfig,然后在此基礎(chǔ)上交叉編譯內(nèi)核。執(zhí)行如下命令:

        #cp arch/arm/configs/ s3c2410_defconfig .configs

        #make menuconfig

        #make ARCH= arm CROSS COMPILE=arm-linux- zImage

        3.2 網(wǎng)卡驅(qū)動(dòng)的移植

        根據(jù)硬件電路中S3C2440A與DM9000AE的連接方式,關(guān)于DM9000AE網(wǎng)卡驅(qū)動(dòng)程序的移植,首先需要在mach-S3C2440.c中添加如下代碼[7-8]:

        #include

        #define MACH_S3C2440_DM9000_BASE (S3C2410_CS4 +0x300)

        static struct resource S3C2440_dm9000_resource [ ]= {

        [0]= { //設(shè)置地址端口

        . start =MACH_S3C2440_DM9000_BASE ,

        . end =MACH_S3C2440_DM9000_BASE + 3 ,

        . flags = IORESOURCE_MEM } ,

        [1]= { //設(shè)置數(shù)據(jù)端口

        . start =MACH_S3C2440_DM9000_BASE + 4 ,

        . end =MACH_S3C2440_DM9000_BASE + 7 ,

        . flags = IORESOURCE_MEM } ,

        [2]= { //設(shè)置中斷號(hào)

        . start = IRQ_EINT7,

        . end = IRQ_EINT7,

        .flags=IORESOURCE_IRQ|IORESOURCE_IRQ_HIGHEDGE,}//設(shè)置為高電平觸發(fā)

        };

        static struct dm9000_plat_data S3C2440_dm9000_pdata = {

        //設(shè)置數(shù)據(jù)線的位數(shù)是為16 bit,不使用EEPROM

        . flags =(DM9000_PLATF_16BITONLY | DM9000_PLATF_NO_EEPROM),

        .dev_addr = {0x08,0x90,0x90,0x90,0x90,0x90},//設(shè)置MAC 地 址

        };

        staticstruct platform_device S3C2440_device_eth = {

        . name = " dm9000 ",//設(shè)置設(shè)備名

        . id = - 1,

        .num_resources = ARRAY_SIZE ( S3C2440_dm9000_resource ) ,

        . resource =S3C2440_dm9000_resource ,//設(shè)置資源

        . dev = {. platform_data = &S3C2440_dm9000_pdata ,} ,//設(shè)置私有數(shù)據(jù)

        };

        最后需要在S3C2440的BSP文件mach -S3C2440.c中添加如下代碼:

        staticstruct platform_device*S3C2440_devices [ ]__initdata = {

        ……

        & S3C2440_device_eth,//添加網(wǎng)絡(luò)設(shè)備

        };

        3.3 應(yīng)用程序的開(kāi)發(fā)

        Linux系統(tǒng)通過(guò)套接字Socket來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)編程[9],網(wǎng)絡(luò)程序通過(guò)Socket 和其他幾個(gè)系統(tǒng)調(diào)用返回一個(gè)通信的文件描述符,可以通過(guò)讀寫(xiě)描述符實(shí)現(xiàn)網(wǎng)絡(luò)之間的數(shù)據(jù)交流。船舶氣象儀通信板應(yīng)用程序的流程圖[10]如圖3所示, 首先調(diào)用系統(tǒng)函數(shù)socket()完成套接字的創(chuàng)建,有了套接口后,需要把套接口的IP地址綁定到本地計(jì)算機(jī)的某個(gè)端口上,通過(guò)調(diào)用系統(tǒng)函數(shù)bind()來(lái)實(shí)現(xiàn)該功能。完成以上初始化后,開(kāi)始循環(huán)判斷,進(jìn)行接收和發(fā)送數(shù)據(jù)處理,當(dāng)接收到船載設(shè)備以太網(wǎng)的數(shù)據(jù)時(shí),進(jìn)行接收處理,提取航速、航向信息,然后編輯相對(duì)風(fēng)速、相對(duì)風(fēng)向、真風(fēng)速、真風(fēng)向、溫度、濕度、氣壓、能見(jiàn)度等氣象參數(shù),向船載設(shè)備以太網(wǎng)發(fā)送這些氣象參數(shù)。最后當(dāng)需要關(guān)閉網(wǎng)絡(luò)連接時(shí),通過(guò)調(diào)用系統(tǒng)函數(shù)close()來(lái)關(guān)閉連接的文件描述符。

        4 測(cè)試驗(yàn)證

        根據(jù)3.1節(jié)的方法,在PC機(jī)端進(jìn)行系統(tǒng)配置、網(wǎng)卡驅(qū)動(dòng)的移植、制作文件系統(tǒng)以及應(yīng)用程序的開(kāi)發(fā),然后下載到氣象儀通信板上進(jìn)行調(diào)試和運(yùn)行,連接圖如圖4所示。網(wǎng)卡驅(qū)動(dòng)是實(shí)現(xiàn)以太網(wǎng)通信的關(guān)鍵,這里采用掛載NFS文件系統(tǒng)的方法,來(lái)判斷網(wǎng)卡驅(qū)動(dòng)程序是否編寫(xiě)成功。測(cè)試驗(yàn)證平臺(tái)搭建完成后,如圖5所示,在PC機(jī)的超級(jí)終端窗口輸入以下命令:

        #mount -t nfs 192.168.1.180:/home/s3c2440 /mnt -o nolock 按回車(chē)鍵后,出現(xiàn)空白行,說(shuō)明掛載成功,進(jìn)而說(shuō)明網(wǎng)卡驅(qū)動(dòng)編寫(xiě)成功。之后,編寫(xiě)出應(yīng)用程序,完成了船舶氣象儀通信板功能、性能的測(cè)試驗(yàn)證。測(cè)試結(jié)果表明,該通信板實(shí)現(xiàn)了船舶氣象儀的以太網(wǎng)通信需求[11]。

        圖3 應(yīng)用程序流程圖Fig.3 Application flow chart

        圖4 氣象儀通信板與PC機(jī)連接圖Fig.4 Connection diagram of meteorological communication board and PC

        圖5 網(wǎng)卡驅(qū)動(dòng)測(cè)試驗(yàn)證圖Fig.5 Verification diagram of network card driver test

        5 結(jié)語(yǔ)

        本文提出了基于以太網(wǎng)技術(shù)的船舶氣象儀通信功能的設(shè)計(jì)方案,實(shí)現(xiàn)了船舶氣象儀和其他船載設(shè)備之間的以太網(wǎng)通信。測(cè)試結(jié)果表明,設(shè)計(jì)的通信板功能、性能完全滿(mǎn)足船舶氣象儀對(duì)以太網(wǎng)通信的要求。本文將S3C2440A與DM9000AE兩種芯片結(jié)合使用的方法,可以為其他需要解決以太網(wǎng)通信的相關(guān)設(shè)計(jì)提供參考。

        猜你喜歡
        驅(qū)動(dòng)程序網(wǎng)卡內(nèi)核
        在DDS 中間件上實(shí)現(xiàn)雙冗余網(wǎng)卡切換的方法
        萬(wàn)物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
        強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
        Server 2016網(wǎng)卡組合模式
        基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
        Linux內(nèi)核mmap保護(hù)機(jī)制研究
        挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專(zhuān)用Dragon網(wǎng)卡
        驅(qū)動(dòng)程序更新與推薦
        驅(qū)動(dòng)程序更新與推薦
        驅(qū)動(dòng)程序更新與推薦
        亚洲国产av玩弄放荡人妇| 人妻无码AⅤ不卡中文字幕| 亚洲AⅤ无码日韩AV中文AV伦| 国产成人免费a在线视频| 国产av夜夜欢一区二区三区| 亚洲精品国产一区二区| 狠狠精品久久久无码中文字幕 | 黑人巨大videos极度另类| 成人性做爰aaa片免费看| 久久日本三级韩国三级| 亚洲AV无码一区二区三区ba| 国产精品久久中文字幕第一页 | 精品国产乱来一区二区三区| 青青青国产免A在线观看| 一区二区三区日本大片| 国产成人精品aaaa视频一区| 中文字幕精品一区二区日本| 久久蜜桃一区二区三区| 日韩人妻有码中文字幕| 国产精品二区三区在线观看| 国产高清在线精品一区二区三区| 午夜福利视频一区二区二区| 久久麻传媒亚洲av国产| 国产嫩草av一区二区三区| 成人久久黑人中出内射青草| 色哟哟亚洲色精一区二区| 国产毛多水多高潮高清| 国产精品久久久久aaaa| 亚洲伊人成综合网| 亚洲 暴爽 av人人爽日日碰| 精品国产亚洲一区二区在线3d| 4444亚洲人成无码网在线观看 | 国产成人av一区二区三| 午夜理论片日本中文在线| 免费人成在线观看播放视频| 国产精品白浆一区二区免费看| 久久久国产精品无码免费专区| 久久天堂一区二区三区av| 国产精品蝌蚪九色av综合网| 国产激情艳情在线看视频| 东北女人毛多水多牲交视频 |