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

        ?

        基于嵌入式系統(tǒng)的河道航標(biāo)遠(yuǎn)程監(jiān)控研究

        2008-01-29 00:26:34,,,
        船海工程 2008年1期
        關(guān)鍵詞:進(jìn)程程序系統(tǒng)

        ,, ,

        (1.中國船舶重工集團(tuán)公司第723研究所,江蘇 揚(yáng)州 225001;2.江蘇科技大學(xué) 電子信息學(xué)院,江蘇 鎮(zhèn)江 212003)

        航標(biāo)是航道的基礎(chǔ)助航設(shè)施,直接影響船舶的航行安全。但航標(biāo)的傳統(tǒng)管理模式落后,已經(jīng)無法適應(yīng)日益繁忙的航道運(yùn)輸所提出的高質(zhì)量安全航行的需求。這里結(jié)合內(nèi)河航道航標(biāo)管理現(xiàn)狀,設(shè)計(jì)出一種經(jīng)濟(jì)、可靠的航標(biāo)無線監(jiān)控系統(tǒng)。

        1 系統(tǒng)組成

        由于本系統(tǒng)是用于航標(biāo)的實(shí)時(shí)監(jiān)控,所以要求采集終端所在的位置定位信息以及各種電壓電流量等模擬信號通過GPRS[1]網(wǎng)絡(luò)經(jīng)由Internet傳送到遠(yuǎn)方的監(jiān)控中心,系統(tǒng)的組成見圖1。

        圖1 系統(tǒng)組成框

        圖中嵌入式處理器采用s3c44b0,片外擴(kuò)展4 Mb的FLASH存儲器,用于存儲啟動代碼bootloader、uClinux操作系統(tǒng)內(nèi)核和文件系統(tǒng)、編譯通過的應(yīng)用程序等需要斷電后保存的數(shù)據(jù)[3]。而16 Mb的sdram存儲器也就是針對PC機(jī)上所說的內(nèi)存,操作系統(tǒng)運(yùn)行于其上。終端有兩個(gè)串口,串口1(對應(yīng)uClinux的設(shè)備“ttyS0”)接收GPS(global positioning system)全球定位系統(tǒng)模塊接收到的定位數(shù)據(jù),串口2(對應(yīng)uClinux的設(shè)備“ttyS1”)接siemens公司生產(chǎn)的GPRS modem MC35。系統(tǒng)把采集到的位置信息以及A/D控制器采集到的模擬量經(jīng)過處理,通過串口2的GPRS MODEM發(fā)送至接于互聯(lián)網(wǎng)的監(jiān)控中心。發(fā)送過程采用TCP/IP協(xié)議,而在數(shù)據(jù)鏈路層,相對于以太網(wǎng)的HDLC協(xié)議,GPRS采用PPP(pointer to pointer protocol)協(xié)議。

        2 GPRS技術(shù)優(yōu)勢

        GPRS采用分組交換的形式,可提供最大170 kb/s 的數(shù)據(jù)傳輸速率。

        1) 永遠(yuǎn)在線。不同的網(wǎng)絡(luò)用戶共享同一組GPRS通信信道,但只有某一用戶需要發(fā)送和接收數(shù)據(jù)時(shí)才會占用信道資源,沒有數(shù)據(jù)傳輸時(shí)還與網(wǎng)絡(luò)保持虛連接。這種信道復(fù)用的特點(diǎn),特別適用于突發(fā)的、頻繁的、小量的數(shù)據(jù)傳輸。

        2) 計(jì)費(fèi)方式靈活。采用按流量計(jì)費(fèi),收費(fèi)相對較便宜。

        3) 動態(tài)分配IP地址。通過GPRS撥號ISP后,系統(tǒng)每次分配給終端的都是動態(tài)IP地址因此移動終端每次都必須先向internet主機(jī)發(fā)起主動連接。

        3 uClinux操作系統(tǒng)及PPP協(xié)議要點(diǎn)

        uClinux系統(tǒng)是由標(biāo)準(zhǔn)的linux系統(tǒng)簡化而來,專門應(yīng)用于沒有MMU(內(nèi)存管理單元)的CPU上,對內(nèi)存的訪問是直接的,對內(nèi)存空間沒有保護(hù),不像標(biāo)準(zhǔn)linux那樣采用虛擬內(nèi)存的方法。大多數(shù)uClinux采用romfs作為文件系統(tǒng),它是一種只讀的文件系統(tǒng),相對于標(biāo)準(zhǔn)linux占用的內(nèi)存更少。另外uClinux精簡了linux的函數(shù)庫,采用uClibc作為標(biāo)準(zhǔn)的函數(shù)庫,所有這些措施都使uClinux更加適用于如arm7這類內(nèi)存較小的CPU上[2]。

        在GPRS無線數(shù)據(jù)傳輸終端中要實(shí)現(xiàn)無線數(shù)據(jù)傳輸,要用到兩個(gè)協(xié)議TCP/IP(或UDP/IP)和PPP協(xié)議,其中TCP/IP是事實(shí)上的互聯(lián)網(wǎng)標(biāo)準(zhǔn)協(xié)議,LINUX系統(tǒng)在網(wǎng)絡(luò)應(yīng)用方面是其一大特色,已經(jīng)包含了對TCP/IP的支持,只需在編譯內(nèi)核中選中即可。GPRS MODEM要實(shí)現(xiàn)連接互聯(lián)網(wǎng),必須先登錄到中國移動的網(wǎng)關(guān)支持節(jié)點(diǎn)GGSN,GGSN把獲得的動態(tài)IP地址分配給終端。MODEM與網(wǎng)關(guān)GGSN的通訊必須采用PPP協(xié)議。PPP協(xié)議位于ISO/OSI七層協(xié)議的數(shù)據(jù)鏈路層,是網(wǎng)絡(luò)層和物理層的接口。它是一種在串行鏈路上傳輸數(shù)據(jù)報(bào)的協(xié)議。一般的撥號上網(wǎng)都采用這個(gè)協(xié)議,通過串口實(shí)現(xiàn),由3部分組成[4]:

        1) 一種在串行線路上封裝數(shù)據(jù)報(bào)的方法。

        2) 一個(gè)用于建立、配置和測試數(shù)據(jù)鏈路連接的鏈路控制協(xié)議LCP(link control protocol)。

        3) 一套用來建立和配置不同網(wǎng)絡(luò)層協(xié)議的網(wǎng)絡(luò)控制協(xié)議NCP(network control protocol)。

        GPRS MODEM在撥號后首先要與GPRS網(wǎng)關(guān)進(jìn)行通信鏈路的協(xié)商,即協(xié)商點(diǎn)到點(diǎn)的各種鏈路參數(shù)配置。協(xié)商過程遵守LCP,采用 PAP/CHAT認(rèn)證。IPCP協(xié)議用于設(shè)置網(wǎng)絡(luò)協(xié)議環(huán)境,并分配IP地址。一旦協(xié)商完成,鏈路已經(jīng)創(chuàng)建,IP地址也將分配,然后兩者就按照協(xié)商的標(biāo)準(zhǔn)進(jìn)行IP報(bào)文的傳輸。

        PPP撥號在uClinux操作系統(tǒng)中分兩部分處理,一部分在內(nèi)核中完成,主要完成PPP消息的封包、拆包,所以在編譯操作系統(tǒng)內(nèi)核時(shí)需選中對PPP協(xié)議的支持。另一部分稱之為PPP守護(hù)進(jìn)程pppd, PPP守護(hù)進(jìn)程提供基本的LCP協(xié)議,完成PPP鏈路的建立、斷開、帳戶認(rèn)證和IP地址的設(shè)定等工作,如果內(nèi)核源代碼中沒有包含PPP源碼包,需要從網(wǎng)上下載ppp-2.4.1(或ppp-2.3.8)源碼包,然后交叉編譯,生成能在目標(biāo)系統(tǒng)運(yùn)行的pppd和chat程序。本項(xiàng)目系統(tǒng)內(nèi)核中包含ppp包,所以編譯時(shí)只要選中即可。pppd 和chat兩者調(diào)用的關(guān)系是:

        1) 由pppd程序調(diào)用chat會話程序。

        2) chat會話程序負(fù)責(zé)撥號,啟動服務(wù)器端的pppd程序,然后chat會話程序結(jié)束。

        3) 由pppd程序繼續(xù)chat會話程序的工作,驗(yàn)證身份,與服務(wù)器端的pppd程序進(jìn)行握手,建立PPP連接。

        4 撥號上網(wǎng)的實(shí)現(xiàn)過程

        本項(xiàng)目撥號上網(wǎng)實(shí)現(xiàn)過程中需要用到兩個(gè)撥號腳本文件:ppp-on和ppp-on-dialer。在這2個(gè)腳本中,分別調(diào)用pppd和chat程序,但由于uClinux默認(rèn)的shell是使用一種叫sash的簡單shell,功能不夠強(qiáng),無法執(zhí)行腳本文件,所以在編譯內(nèi)核過程中,需先將默認(rèn)的sash替換成msh——種在uClinux下可以運(yùn)行的、功能更強(qiáng)的shell。下面是本項(xiàng)目撥號過程中所用到的腳本:

        1) ppp-on

        #!/bin/sh

        TELEPHONE=*99***1# # 中國移動的撥號號碼

        ACCOUNT= # 撥號帳號,GPRS撥號為空

        PASSWORD= # 密碼為空

        LOCAL_IP=0.0.0.0

        REMOTE_IP=0.0.0.0

        NETMASK=255.255.255.0

        export TELEPHONE ACCOUNT PASSWORD

        DIALER_SCRIPT=/etc/ppp/ppp-on-dialer

        exec /usr/bin/pppd debug lock nocrtscts modem /dev/ttyS1 115200

        asyncmap 20A0000 escape FF kdebug 0 $LOCAL_IP:$REMOTE_IP

        noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIPT

        其中比較重要的參數(shù)是nocrtscts,表示串口沒有硬件握手,因?yàn)樵O(shè)計(jì)的開發(fā)板串口/dev/ttyS1不帶硬件握手功能。串口和GPRS MODEM的通訊波特率是115 200 b/s。

        2) ppp-on-dialer

        #!/bin/sh

        exec /usr/bin/chat-v

        TIMEOUT 200

        ECHO ON

        ABORT ‘ BUSY ’

        ABORT ‘ NO ANSWER ’

        ABORT ‘ NO CARRIER ’

        ABORT ‘ RINGING RINGING ’

        SAY “Press CTRL+C to close the connection at any stage ”

        SAY “ defining PDP context ”

        ‘’ AT

        ‘OK’ AT+CGDCONT=1,“IP”,“CMNET”,“”,0,0’

        ‘OK’ ‘AT+CGACT=1,1’

        TIMEOUT 30

        ‘OK’ ‘ATD *99***1#’

        CONNECT ‘’

        其中值得注意的是撥號初始化指令各個(gè)MODEM可能不同,本終端采用SIEMENS公司的MC35,所以文件中的AT指令都按照它的來寫。腳本文件的格式要嚴(yán)格遵循腳本的標(biāo)準(zhǔn)例如不能用空格鍵,須用tab鍵等,否則可能會造成撥號失敗。另外還要配置中國移動DNS服務(wù)器。撥號成功后會由GGSN服務(wù)器動態(tài)分配一個(gè)IP地址,至此GPRS 終5端就連接到互聯(lián)網(wǎng)上。

        有多種方式實(shí)現(xiàn)撥號上網(wǎng),可在命令行下執(zhí)行撥號命令,但嵌入式系統(tǒng)一般都要在無人干預(yù)下運(yùn)行撥號程序,為此,可在uClinux啟動腳本/etc/rc文件里加上撥號的命令,這樣,系統(tǒng)一啟動就將自動運(yùn)行撥號上網(wǎng)程序,實(shí)現(xiàn)上網(wǎng)。本項(xiàng)目采用的方式是在程序里調(diào)用system()函數(shù),執(zhí)行撥號上網(wǎng)腳本。

        5 終端應(yīng)用程序

        在終端應(yīng)用程序設(shè)計(jì)中,考慮到程序需要并發(fā)執(zhí)行,采用多線程來處理。不采用多進(jìn)程是基于以下兩個(gè)原因:

        1) uClinux操作系統(tǒng)是用vfork調(diào)用來代替?zhèn)鹘y(tǒng)unix系統(tǒng)的fork調(diào)用[3],父進(jìn)程創(chuàng)建子進(jìn)程后阻塞,子進(jìn)程一般情況下調(diào)用exec()函數(shù)以加載可執(zhí)行程序并運(yùn)行,這時(shí)父進(jìn)程恢復(fù)運(yùn)行。本項(xiàng)目中主程序要求父子進(jìn)程之間能通訊,但是vfork()調(diào)用中子進(jìn)程執(zhí)行的是可執(zhí)行程序,所以無法實(shí)現(xiàn)父子進(jìn)程通訊,故本工程不適合用多進(jìn)程。

        2) 父子進(jìn)程由于是使用獨(dú)立的代碼段、數(shù)據(jù)段和堆棧等,進(jìn)程間直接通訊幾乎不可能,只能借助于進(jìn)程間通訊來完成互相之間的數(shù)據(jù)共享,無疑增加了程序的復(fù)雜性。主程序流程圖如圖2所示。

        圖2 應(yīng)用程序流程圖

        6 結(jié)束語

        航標(biāo)遙測遙控系統(tǒng)可保證科學(xué)地、有計(jì)劃地對航標(biāo)進(jìn)行日常管理、維護(hù)以及遇損時(shí)及時(shí)修復(fù),大大降低維修人員勞動強(qiáng)度及費(fèi)用開支,為航標(biāo)的管理從粗放型向技術(shù)型、集約型的轉(zhuǎn)變提供了必要的技術(shù)支持。目前該系統(tǒng)已在漢江航道局航標(biāo)管理系統(tǒng)中應(yīng)用,通過一段時(shí)間的應(yīng)用,對系統(tǒng)整體的實(shí)時(shí)性、準(zhǔn)確性、安全性、可靠性、穩(wěn)定性進(jìn)行了驗(yàn)證,基本實(shí)現(xiàn)了預(yù)期的目標(biāo)。

        [1] 鐘章隊(duì),蔣文怡,李紅君,等.GPRS通用分組無線業(yè)務(wù)[M].北京:人民郵電出版社,2001.

        [2] 李 巖,容盤符.基于S3C44B0X嵌入式uClinux系統(tǒng)原理及應(yīng)用[M].北京:清華大學(xué)出版社,2005.

        [3] 朱瑋瑋,楊建明.uClinux——一種嵌入式Linux系統(tǒng)[J].艦船電子工程,2003(4):47-50.

        猜你喜歡
        進(jìn)程程序系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        債券市場對外開放的進(jìn)程與展望
        中國外匯(2019年20期)2019-11-25 09:54:58
        試論我國未決羈押程序的立法完善
        “程序猿”的生活什么樣
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        英國與歐盟正式啟動“離婚”程序程序
        創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
        社會進(jìn)程中的新聞學(xué)探尋
        99麻豆久久久国产精品免费| 国产男女做爰猛烈视频网站| 一区二区三区成人av| 99久久国产精品网站| 18禁黄久久久aaa片| 精品视频999| 天堂av中文在线官网| 亚洲精品1区2区在线观看| 国产精品51麻豆cm传媒| 亚洲色婷婷免费视频高清在线观看| 视频一区二区三区中文字幕狠狠| 日本免费在线一区二区三区| 任我爽精品视频在线播放| 亚洲AV电影天堂男人的天堂| 国产激情视频免费观看| 国产麻豆久久av入口| 国产莉萝无码av在线播放| 久久这里只有精品9| 国产一区亚洲一区二区| 一区二区三区四区国产99| 人妻av乱片av出轨| 国产精品玖玖玖在线资源| 在线女同免费观看网站| 国产精品久免费的黄网站| 国产亚洲av片在线观看18女人| 亚洲欧美日韩精品香蕉| 国产自拍91精品视频| 国产成人精品午夜二三区波多野 | 亚洲国产精品成人一区| 欧美群妇大交群| 超碰97人人做人人爱少妇| 国产韩国精品一区二区三区| 青青草手机在线观看视频在线观看| 国产精品久久久久9999小说| 91老司机精品视频| 国产精品黄色av网站| 欧美xxxx做受欧美88| 欧洲-级毛片内射| 亚洲中文字幕乱码一二三区| 中文字幕一区二区精品视频| 国产一区二区精品久久|