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

        ?

        基于Arduino的便攜式IRIG-B(DC)信號(hào)監(jiān)視系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        2016-11-17 08:56:13劉明波趙乾宏李生平
        關(guān)鍵詞:碼元波形傳輸

        劉明波,陳 琳,趙乾宏,李生平

        (中國衛(wèi)星海上測(cè)控部,江蘇 江陰 214431)

        ?

        基于Arduino的便攜式IRIG-B(DC)信號(hào)監(jiān)視系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        劉明波,陳 琳,趙乾宏,李生平

        (中國衛(wèi)星海上測(cè)控部,江蘇 江陰 214431)

        為了提高對(duì)時(shí)間統(tǒng)一系統(tǒng)IRIG-B碼信號(hào)的監(jiān)測(cè)效率,需要一套自動(dòng)監(jiān)測(cè)系統(tǒng);本文結(jié)合某型號(hào)時(shí)間統(tǒng)一系統(tǒng),針對(duì)該時(shí)統(tǒng)設(shè)備輸出的通用IRIG-B(DC)格式時(shí)間碼,介紹了一種基于Arduino的便攜式IRIG-B(DC)信號(hào)監(jiān)視系統(tǒng)的設(shè)計(jì)過程,給出了以開放源代碼硬件項(xiàng)目平臺(tái)Arduino為核心構(gòu)建的“輸入控制+邏輯處理+數(shù)據(jù)處理+數(shù)據(jù)交互+數(shù)據(jù)存儲(chǔ)+網(wǎng)絡(luò)傳輸+實(shí)時(shí)顯示”的系統(tǒng)硬件設(shè)計(jì)結(jié)構(gòu);利用Arduino內(nèi)高度集成的AVR二次編譯封裝庫,將復(fù)雜的邏輯控制和數(shù)據(jù)處理等底層的指令封裝成簡(jiǎn)單實(shí)用的函數(shù)調(diào)用,完成了整個(gè)系統(tǒng)的任務(wù)調(diào)度和管理,實(shí)現(xiàn)了對(duì)時(shí)間統(tǒng)一系統(tǒng)IRIG-B(DC)信號(hào)的波形采集、數(shù)據(jù)分析、時(shí)間解調(diào)、狀態(tài)監(jiān)視、實(shí)時(shí)顯示以及數(shù)據(jù)存儲(chǔ)等功能;測(cè)試結(jié)果表明,系統(tǒng)設(shè)計(jì)簡(jiǎn)潔,工作穩(wěn)定可靠,設(shè)計(jì)指標(biāo)滿足功能需求。

        Arduino;IRIG-B(DC);SD;實(shí)時(shí)顯示;網(wǎng)絡(luò)

        0 引言

        靶場(chǎng)時(shí)間統(tǒng)一系統(tǒng)是整個(gè)靶場(chǎng)協(xié)同工作的時(shí)間標(biāo)準(zhǔn),各種測(cè)量設(shè)備都要接收時(shí)統(tǒng)信號(hào),使自己的測(cè)量數(shù)據(jù)能夠與其他設(shè)備“同步”起來,因此,時(shí)統(tǒng)信號(hào)的傳輸質(zhì)量和傳輸狀態(tài)是完成測(cè)量任務(wù)的關(guān)鍵[1]。目前,時(shí)統(tǒng)設(shè)備輸出信號(hào)的狀態(tài)監(jiān)視主要是采用人員目視檢查的方式,存在人員疏漏導(dǎo)致故障現(xiàn)象“轉(zhuǎn)瞬即逝”而不能及早發(fā)現(xiàn)并處理的隱患,在設(shè)備的日常維護(hù)、指標(biāo)測(cè)試以及應(yīng)急處置過程中,人員都是依靠目視檢查示波器觀察波形或查看用戶終端解調(diào)時(shí)間的方式進(jìn)行,無法對(duì)信號(hào)傳輸?shù)恼_性和連續(xù)性進(jìn)行實(shí)時(shí)檢查,特別是在故障應(yīng)急處置過程中,采用觀察波形和目視檢查的方式不能快速高效的定位故障。

        隨著現(xiàn)代電子技術(shù)的飛速發(fā)展,從PC時(shí)代過渡到了以個(gè)人數(shù)字助理、手持個(gè)人電腦和信息家電為代表的3C(計(jì)算機(jī)、通信、消費(fèi)電子)一體的后PC時(shí)代。后PC時(shí)代里,便攜式系統(tǒng)扮演了越來越重要的角色,被廣泛應(yīng)用于設(shè)備監(jiān)視、信息電器、移動(dòng)計(jì)算機(jī)設(shè)備、網(wǎng)絡(luò)設(shè)備、工控仿真等領(lǐng)域。單片機(jī)技術(shù)以其低功耗、低電壓、低價(jià)格以及多功能、高性能等突出優(yōu)點(diǎn),為便攜式系統(tǒng)設(shè)計(jì)提供了強(qiáng)大的硬件支持。但是,單片機(jī)設(shè)計(jì)中各種復(fù)雜的寄存器操作也讓很多的便攜式系統(tǒng)設(shè)計(jì)者們望而生畏——要完成某項(xiàng)功能需要耗費(fèi)大量的時(shí)間去熟悉單片機(jī)的底層。Arduino的出現(xiàn)徹底改變了這一局面,它將單片機(jī)中各種寄存器封裝起來,并提供了易用的接口、極其簡(jiǎn)潔的界面、C語言編程方式、強(qiáng)大的第三方函數(shù)庫支持[2],逐漸成為便攜式系統(tǒng)設(shè)計(jì)的中堅(jiān)力量。

        1 系統(tǒng)概述

        系統(tǒng)采用Arduino完成輸入信號(hào)的采集,包括模擬波形的采集和數(shù)字脈沖的采集,由內(nèi)置于Arduino硬件平臺(tái)上的脈寬測(cè)量模塊完成IRIG-B信號(hào)解調(diào)、AD轉(zhuǎn)換模塊完成模擬波形的模數(shù)轉(zhuǎn)換、液晶顯示驅(qū)動(dòng)模塊完成波形和解調(diào)時(shí)間的實(shí)時(shí)顯示、網(wǎng)絡(luò)傳輸模塊完成遠(yuǎn)程信息傳輸、SD控制模塊完成異常數(shù)據(jù)實(shí)時(shí)記錄、I2C傳輸模塊完成多個(gè)Arduino板卡間的數(shù)據(jù)同步。由于系統(tǒng)設(shè)計(jì)中AD轉(zhuǎn)換、信號(hào)解調(diào)和實(shí)時(shí)顯示等功能模塊對(duì)實(shí)時(shí)性要求較高,因此,系統(tǒng)設(shè)計(jì)中采用3個(gè)Arduino板卡,分別完成IRIG-B信號(hào)波形采集和實(shí)時(shí)顯示、IRIG-B時(shí)間解調(diào)和實(shí)時(shí)顯示、遠(yuǎn)程網(wǎng)絡(luò)傳輸和SD卡數(shù)據(jù)存儲(chǔ)等功能。整個(gè)系統(tǒng)相當(dāng)于一個(gè)IRIG-B信號(hào)監(jiān)視服務(wù)器,系統(tǒng)整體設(shè)計(jì)如圖1所示。

        圖1 系統(tǒng)設(shè)計(jì)模型

        靶場(chǎng)時(shí)間統(tǒng)一系統(tǒng)一般采用IRIG-B碼進(jìn)行時(shí)間信息的傳輸,考慮到信號(hào)傳輸距離和傳輸質(zhì)量,常采用RS422電平標(biāo)準(zhǔn),而Arduino只能接收TTL電平標(biāo)準(zhǔn)。因此,將IRIG-B碼信號(hào)接入Arduino之前要進(jìn)行電平轉(zhuǎn)換,將RS422電平轉(zhuǎn)換為TTL電平。圖1中,Arduino_1完成IRIG-B信號(hào)波形采集和實(shí)時(shí)顯示,Arduino_3完成IRIG-B信號(hào)解調(diào)、實(shí)時(shí)顯示和異常報(bào)警,同時(shí),Arduino_1和Arduino_3將數(shù)據(jù)處理獲取的信號(hào)周期、幅值、解調(diào)時(shí)間等信息通過I2C協(xié)議送給Arduino_2,由Arduino_2匯總后進(jìn)行分析,當(dāng)出現(xiàn)異常時(shí)將異常信息及時(shí)記錄在外置SD卡上,提供后續(xù)故障排查的依據(jù),同時(shí)通過網(wǎng)絡(luò)傳輸模塊送給遠(yuǎn)程監(jiān)控微機(jī),監(jiān)控微機(jī)根據(jù)獲取到的數(shù)據(jù)信息判斷時(shí)統(tǒng)信號(hào)狀態(tài)。

        整個(gè)系統(tǒng)由硬件和軟件兩部分組成。其中,系統(tǒng)硬件部分由電平轉(zhuǎn)換模塊、數(shù)據(jù)采集與處理模塊、實(shí)時(shí)顯示模塊、網(wǎng)絡(luò)傳輸和數(shù)據(jù)記錄模塊組成。電平轉(zhuǎn)換模塊完成輸入信號(hào)的電平轉(zhuǎn)換,使時(shí)統(tǒng)IRIG-B信號(hào)的電平標(biāo)準(zhǔn)能夠適應(yīng)Arduino輸入電平標(biāo)準(zhǔn);數(shù)據(jù)采集處理模塊由三塊Arduino板卡協(xié)調(diào)實(shí)現(xiàn),主要完成IRIG-B信號(hào)波形的模數(shù)轉(zhuǎn)換、波形參數(shù)提取、時(shí)間解調(diào)以及數(shù)據(jù)分析等功能;實(shí)時(shí)顯示模塊由兩塊Arduino板卡控制LCD12864和LCD1602兩個(gè)液晶屏實(shí)現(xiàn),主要完成信號(hào)波形、波形參數(shù)、解調(diào)時(shí)間和信號(hào)狀態(tài)等參數(shù)的實(shí)時(shí)顯示;網(wǎng)絡(luò)傳輸和數(shù)據(jù)記錄模塊由一塊Arduino板卡控制網(wǎng)絡(luò)傳輸模塊實(shí)現(xiàn),完成相關(guān)參數(shù)和報(bào)警信息的實(shí)時(shí)傳輸和實(shí)時(shí)記錄功能。以上模塊的主要功能均由Arduino平臺(tái)輔以必要的外圍器件完成,通過軟件編程完成,大大簡(jiǎn)化了設(shè)計(jì)工作。

        本設(shè)計(jì)的關(guān)鍵是如何在基于AVR指令集的Arduino平臺(tái)上利用高度集成的底層驅(qū)動(dòng)函數(shù)庫完成各類邏輯控制和數(shù)據(jù)處理工作,實(shí)現(xiàn)對(duì)靶場(chǎng)時(shí)統(tǒng)信號(hào)的實(shí)時(shí)狀態(tài)監(jiān)視和異常報(bào)警功能。

        2 系統(tǒng)硬件設(shè)計(jì)

        硬件設(shè)計(jì)工作主要包括兩個(gè)方面的內(nèi)容:硬件平臺(tái)的搭建和硬件功能的實(shí)現(xiàn)。

        2.1 硬件平臺(tái)的搭建

        根據(jù)系統(tǒng)功能需求,系統(tǒng)主要實(shí)現(xiàn)IRIG-B信號(hào)監(jiān)視服務(wù)器的功能,進(jìn)行信號(hào)采集分析、實(shí)時(shí)顯示、實(shí)時(shí)記錄和實(shí)時(shí)網(wǎng)絡(luò)傳輸?shù)裙ぷ鳌F浠窘Y(jié)構(gòu)如圖2所示。

        圖2 系統(tǒng)硬件基本結(jié)構(gòu)圖

        圖2中,由于IRIG-B信號(hào)為RS422電平,需要兩根線纜進(jìn)行傳輸,因此,SMA接口內(nèi)芯和表皮分別傳輸RS422+和RS422-兩個(gè)信號(hào),由電平轉(zhuǎn)換芯片完成轉(zhuǎn)換后,分別送給兩個(gè)Arduino模塊;LCD12864和LCD1602完成信號(hào)波形、解調(diào)時(shí)間以及特征參數(shù)、告警信息的實(shí)時(shí)顯示;以太網(wǎng)接口和以太網(wǎng)控制器建立網(wǎng)絡(luò)客戶監(jiān)視微機(jī)與Arduino Pro mini間的數(shù)據(jù)傳輸鏈路。

        為了滿足不同應(yīng)用領(lǐng)域的要求,Arduino設(shè)計(jì)了多款不同型號(hào)的電路板,如UNO、Leonardo、Pro Mini、Duemilanove、Nano、BT、Fio等[3]。根據(jù)設(shè)計(jì)需求,本系統(tǒng)設(shè)計(jì)中信號(hào)采集和時(shí)間解調(diào)模塊選擇了Arduino Pro Mini。與其他型號(hào)電路板相比,Arduino Pro Mini具有較高的性價(jià)比,該型號(hào)電路板采用16 MHz晶振,AD采樣頻率最高可達(dá)1MHz,具有14個(gè)數(shù)字I/O口、6個(gè)模擬I/O口,具有2路外部中斷,提供串行、SPI及I2C等多類低速通信協(xié)議[4]。同時(shí),Arduino Pro Mini體積很小,約為3.3 cm×1.7 cm,只有郵票大小,特別適合用于便攜式系統(tǒng)的設(shè)計(jì)。

        系統(tǒng)采用以太網(wǎng)的接入方式,因此必須實(shí)現(xiàn)IEEE802.3標(biāo)準(zhǔn)。其實(shí)現(xiàn)通常采用兩種方案來執(zhí)行該標(biāo)準(zhǔn):可編程邏輯器件實(shí)現(xiàn)和專用接口模塊實(shí)現(xiàn)。由于IEEE802.3標(biāo)準(zhǔn)的實(shí)現(xiàn)非常復(fù)雜,本系統(tǒng)設(shè)計(jì)中采用專用接口模塊實(shí)現(xiàn),設(shè)計(jì)者可以不用理會(huì)網(wǎng)絡(luò)端接口部分,只需編程實(shí)現(xiàn)本地端的邏輯控制即可,用戶可以將精力集中到應(yīng)用設(shè)計(jì),而不是調(diào)試復(fù)雜煩瑣的IEEE802.3標(biāo)準(zhǔn)協(xié)議,明顯縮短開發(fā)周期,提高設(shè)計(jì)可靠性。目前常用的Arduino網(wǎng)絡(luò)數(shù)據(jù)傳輸解決方案主要有兩種:ENC28J60和W5100。考慮到設(shè)計(jì)的復(fù)雜度和系統(tǒng)工作的可靠性,系統(tǒng)設(shè)計(jì)中采用Arduino官方推薦的“Android UNO+ Arduino專用網(wǎng)絡(luò)擴(kuò)展模塊W5100”實(shí)現(xiàn),設(shè)計(jì)簡(jiǎn)單,工作穩(wěn)定。同時(shí),該模塊提供了SD卡數(shù)據(jù)存取功能,系統(tǒng)設(shè)計(jì)中要求的異常數(shù)據(jù)存儲(chǔ)功能也是基于此模塊實(shí)現(xiàn)的。

        IRIG-B信號(hào)實(shí)時(shí)波形和解調(diào)時(shí)間的顯示采用成熟的LCD技術(shù)實(shí)現(xiàn)。LCD是一種功耗很低的顯示設(shè)備,以其優(yōu)越的性能和寬泛的工作條件,被廣泛應(yīng)用于數(shù)據(jù)顯示領(lǐng)域[5]??紤]到便攜式設(shè)計(jì)對(duì)系統(tǒng)體積的要求,分別采用LCD12864和LCD1602兩種不同尺寸的點(diǎn)陣液晶顯示模塊,既能夠較清晰全面的完成所需信息的顯示,又能夠盡量的減少自身體積。LCD12864中前100列顯示IRIG-B信號(hào)實(shí)時(shí)波形,后28列顯示波形的頻率、幅值以及按鈕調(diào)節(jié)參數(shù)等信息;LCD1602的第一行顯示IRIG-B信號(hào)實(shí)時(shí)解調(diào)時(shí)間,第二行顯示解調(diào)時(shí)間走時(shí)錯(cuò)誤次數(shù)。根據(jù)兩個(gè)液晶顯示模塊顯示的信息,使用人員可以大致的了解當(dāng)前以及前一段時(shí)間內(nèi)靶場(chǎng)時(shí)統(tǒng)設(shè)備IRIG-B輸出信號(hào)質(zhì)量,當(dāng)發(fā)現(xiàn)異常情況時(shí),可以查閱SD卡中存儲(chǔ)數(shù)據(jù)查詢?cè)敿?xì)信息。

        2.2 硬件功能實(shí)現(xiàn)

        在硬件平臺(tái)搭建完成的基礎(chǔ)上,硬件功能的實(shí)現(xiàn)主要通過編寫Arduino內(nèi)部的配置程序來完成。主要包括IRIG-B波形信號(hào)采集與特征參數(shù)提取、IRIG-B信號(hào)實(shí)時(shí)解調(diào)與走時(shí)狀態(tài)分析、網(wǎng)絡(luò)數(shù)據(jù)傳輸以及Arduino板間通信的實(shí)現(xiàn)。

        2.2.1 IRIG-B波形信號(hào)采集與特征參數(shù)提取

        信號(hào)采集模塊的實(shí)現(xiàn)主要有兩種方式:(1)專用ADC芯片+Arduino;(2)利用Arduino內(nèi)部的ADC模塊進(jìn)行轉(zhuǎn)換。第一種方式設(shè)計(jì)靈活,但是實(shí)現(xiàn)電路較復(fù)雜,能夠?qū)崿F(xiàn)較高采樣率和采樣位數(shù)的數(shù)模轉(zhuǎn)換;第二種方式結(jié)構(gòu)簡(jiǎn)單,容易實(shí)現(xiàn),但是采樣率和采樣位數(shù)都較小,適用于對(duì)采樣要求較低的場(chǎng)合。IRIG-B信號(hào)可以近似看做為頻率為100 Hz的脈沖信號(hào),而Arduino內(nèi)部的AD轉(zhuǎn)換模塊的最高采樣速率為1 MHz,采樣位數(shù)為10位,完全能夠滿足要求。因此,本系統(tǒng)設(shè)計(jì)利用Arduino內(nèi)部集成的AD轉(zhuǎn)換模塊完成IRIG-B波形信號(hào)的采集,使用時(shí)只需要將信號(hào)接入Arduino的模擬輸入端即可。

        通過理論分析我們知道,由于顯示模塊為L(zhǎng)CD12864,橫軸最多顯示數(shù)據(jù)點(diǎn)數(shù)為128個(gè),因此,在進(jìn)行信號(hào)采集時(shí),每個(gè)采樣周期只需采集128個(gè)點(diǎn),并根據(jù)其冒泡算法獲取128個(gè)數(shù)據(jù)點(diǎn)中的最大值和最小值,從而計(jì)算出Vpp值;根據(jù)兩次過零點(diǎn)間的時(shí)間間隔計(jì)算周期值。在實(shí)際程序設(shè)計(jì)過程中,考慮到信號(hào)的同步觸發(fā)功能,一個(gè)周期內(nèi)采集192個(gè)點(diǎn),從192個(gè)點(diǎn)中找出共同的起始點(diǎn)后,只顯示其中的128個(gè)點(diǎn)即可。

        2.2.2 IRIG-B信號(hào)實(shí)時(shí)解調(diào)與走時(shí)狀態(tài)分析

        如前所述,IRIG-B碼是每秒一幀的時(shí)間串碼,每個(gè)碼元寬度為10 ms,一個(gè)時(shí)幀周期包括100個(gè)碼元,為脈寬編碼。碼元的“準(zhǔn)時(shí)”參考點(diǎn)是其脈沖前沿,時(shí)幀的參考標(biāo)志由一個(gè)位置識(shí)別標(biāo)志和相鄰的參考碼元組成,其寬度為8 ms;每10個(gè)碼元有一個(gè)位置識(shí)別標(biāo)志:P1,P2,P3…P9,P0,它們均為8 ms時(shí)寬;PR為幀參考點(diǎn);二進(jìn)制“1”和“0”的脈沖時(shí)寬分別為5 ms和2 ms[6]。IRIG-B碼幀結(jié)構(gòu)如圖3所示。

        圖3 IRIG—B(DC)時(shí)間碼格式

        一個(gè)時(shí)間格式幀從幀參考標(biāo)志開始,因此連續(xù)兩個(gè)8 ms寬脈沖表明秒的開始,幀開始之后的38個(gè)碼元(不包含位置識(shí)別標(biāo)志)為有效數(shù)據(jù),天、時(shí)、分、秒信息位于其中的30個(gè)碼元,其中,天的百位位于36至37碼元,天的十位位于32至35碼元,天的個(gè)位位于27至30碼元,時(shí)的十位位于23至24碼元,時(shí)的個(gè)位位于18至21碼元,分的十位位于14至16碼元,分的個(gè)位位于9至12碼元,秒的十位位于6至8碼元,秒的個(gè)位位于1至4碼元。因此,在進(jìn)行時(shí)間解調(diào)的過程中,首先檢測(cè)2個(gè)8 ms脈沖,然后根據(jù)時(shí)間信息中天、時(shí)、分、秒所在的碼元序號(hào),依次解調(diào)出相應(yīng)的信息,并按照一定的格式將百位、十位、個(gè)位信息進(jìn)行整合計(jì)算,得到完整的時(shí)間信息。

        由于B碼信號(hào)是以脈沖的時(shí)間寬度來代表二進(jìn)制‘0’、‘1’和標(biāo)志位的,所以無論采取何種技術(shù)體制,其關(guān)鍵點(diǎn)都在于碼元時(shí)寬的正確識(shí)別。Arduino提供了專門用于讀取指定引腳脈沖寬度的函數(shù),可以精確(精確到1 us)獲取到脈沖高/低電平的持續(xù)時(shí)間,并根據(jù)時(shí)間信息的碼元分布規(guī)律依次解調(diào)出天、時(shí)、分、秒信息,解調(diào)流程如圖4所示。

        圖4 IRIG-B信號(hào)時(shí)間解調(diào)流程

        圖4中,脈寬檢測(cè)是采用Arduino內(nèi)置的脈寬計(jì)數(shù)函數(shù)PulseIn()進(jìn)行的,計(jì)數(shù)值為輸入脈沖的高電平持續(xù)時(shí)間,單位為微秒(us),當(dāng)計(jì)數(shù)值大于7 000小于9 000時(shí),判定為8 ms碼元,當(dāng)計(jì)數(shù)值大于1 000小于3 000時(shí),判定為2 ms碼元,當(dāng)計(jì)數(shù)值大于4 000小于6 000時(shí),判定為5 ms脈寬。之所以將脈寬判定門限設(shè)定為“標(biāo)準(zhǔn)值±1 000”,主要是為了防止輸入IRIG-B信號(hào)由于受到干擾等原因?qū)е麓a元偶發(fā)變形而無法正確解調(diào)現(xiàn)象的發(fā)生,該門限可以根據(jù)使用條件進(jìn)行相應(yīng)的調(diào)整。當(dāng)檢測(cè)到連續(xù)兩個(gè)碼元為8 ms脈寬時(shí),系統(tǒng)置位幀起始標(biāo)志,后續(xù)根據(jù)碼元序號(hào)值依次判定對(duì)應(yīng)時(shí)間位的脈寬為5 ms或2 ms,并置位或復(fù)位對(duì)應(yīng)的時(shí)間位,判定過程中將直接忽略8 ms脈寬的位置識(shí)別標(biāo)志。當(dāng)識(shí)別出足夠的時(shí)間信息后(碼元序號(hào)>39),系統(tǒng)將鎖存該時(shí)間信息,送給實(shí)時(shí)顯示模塊和網(wǎng)絡(luò)傳輸模塊,并復(fù)位相應(yīng)的標(biāo)志位,進(jìn)行下一幀數(shù)據(jù)的識(shí)別判定工作。

        同時(shí),在完成一幀數(shù)據(jù)的解調(diào)后,系統(tǒng)將當(dāng)前幀的解調(diào)時(shí)間與上一幀解調(diào)時(shí)間進(jìn)行比對(duì),若不連續(xù)則置位報(bào)警標(biāo)志位,送實(shí)時(shí)顯示模塊和網(wǎng)絡(luò)傳輸模塊,并在本地進(jìn)行聲光報(bào)警。

        2.2.3 網(wǎng)絡(luò)數(shù)據(jù)傳輸

        網(wǎng)絡(luò)數(shù)據(jù)傳輸功能的實(shí)現(xiàn)是由Arduino UNO模塊與以太網(wǎng)擴(kuò)展板W5100協(xié)調(diào)完成的。Arduino Ethernet W5100 以太網(wǎng)擴(kuò)展板上的W5100 是一款多功能的單片網(wǎng)絡(luò)接口芯片,內(nèi)部集成有 10/100 Mbps 以太網(wǎng)控制器,包含TCP/UDP的網(wǎng)絡(luò)(IP)協(xié)議棧,可以實(shí)現(xiàn)沒有操作系統(tǒng)的網(wǎng)絡(luò)連接,它和Arduino UNO采用SPI的方式通信[7]。

        Arduino UNO利用捆綁在其內(nèi)部的Ethernet庫完成與以太網(wǎng)擴(kuò)展板W5100的配置和協(xié)議傳輸工作。系統(tǒng)加電啟動(dòng)時(shí),Arduino 向W5100發(fā)送IP地址、子網(wǎng)掩碼、默認(rèn)網(wǎng)關(guān)等網(wǎng)絡(luò)參數(shù),控制W5100芯片完成寄存器的初始化,隨后W5100啟動(dòng)Server服務(wù),進(jìn)入數(shù)據(jù)收發(fā)等待狀態(tài)。當(dāng)接收到監(jiān)視微機(jī)發(fā)送的客戶端連接請(qǐng)求時(shí),及時(shí)進(jìn)行連接確認(rèn)。當(dāng)Arduino檢測(cè)到以太網(wǎng)擴(kuò)展板的Server服務(wù)有客戶端連接時(shí),通過SPI總線逐位將待發(fā)送數(shù)據(jù)傳輸?shù)綌U(kuò)展板W5100的數(shù)據(jù)發(fā)送緩存中,由W5100根據(jù)IEEE802.3標(biāo)準(zhǔn),將緩存的數(shù)據(jù)和數(shù)據(jù)幀信息進(jìn)行MAC組幀,并發(fā)送出去。圖5為Arduino調(diào)度下的網(wǎng)絡(luò)傳輸任務(wù)處理流程。

        圖5 網(wǎng)絡(luò)傳輸任務(wù)處理流程

        另外,W5100以太網(wǎng)擴(kuò)展板上集成有microSD卡槽,Arduino UNO可以利用內(nèi)置的SD庫進(jìn)行SD卡文件的讀取和存儲(chǔ)操作。有一點(diǎn)需要說明的是,由于W5100芯片和SD卡都要通過SPI總線與Arduino UNO通信,而Arduino UNO板上的SPI引腳固定為11、12、13號(hào)引腳,10號(hào)引腳用于選通W5100芯片,4號(hào)引腳用于選通SD卡,因此同一時(shí)刻只能激活一個(gè),在實(shí)際使用過程中交替選通10號(hào)和4號(hào)引腳,可以同時(shí)完成網(wǎng)絡(luò)傳輸和SD卡數(shù)據(jù)存儲(chǔ)功能。

        2.2.4 Arduino板間通信

        系統(tǒng)設(shè)計(jì)中,波形采集板Arduino Pro Mini要將信號(hào)波形特征參數(shù)傳送給遠(yuǎn)程監(jiān)視微機(jī),時(shí)間解調(diào)板要將解調(diào)時(shí)間信息和報(bào)警信息傳送給遠(yuǎn)程監(jiān)視微機(jī),因此,需要實(shí)現(xiàn)Arduino Pro Mini模塊和Arduino UNO模塊間的數(shù)據(jù)通信。

        目前,串口協(xié)議、SPI、I2C以及自定義協(xié)議均可應(yīng)用于板間低速數(shù)據(jù)傳輸。綜合分析Arduino模塊和各協(xié)議標(biāo)準(zhǔn)特點(diǎn),選擇I2C作為Arduino板間通信標(biāo)準(zhǔn)。I2C在低速數(shù)據(jù)通信中具有明顯的優(yōu)點(diǎn):只需要兩路信號(hào)接口,可以連接多個(gè)設(shè)備,并且數(shù)據(jù)發(fā)送接收的過程可以經(jīng)過確認(rèn),確保數(shù)據(jù)傳輸?shù)目煽總鬏敚貏e適用于不需要發(fā)送大量數(shù)據(jù)的場(chǎng)合。本系統(tǒng)中,波形采集板向網(wǎng)絡(luò)控制板發(fā)送的特征參數(shù)主要包括峰峰值和周期值供16 bit數(shù)據(jù),時(shí)間解調(diào)板向網(wǎng)絡(luò)控制板發(fā)送的時(shí)間信息和報(bào)警信息共32bit,發(fā)送頻率均為1 Hz,數(shù)據(jù)量很小,因此,使用I2C標(biāo)準(zhǔn)完全能夠滿足要求。

        根據(jù)標(biāo)準(zhǔn)規(guī)定,I2C采用兩線制,由數(shù)據(jù)線SDA和時(shí)鐘線SCL構(gòu)成,為同步傳輸總線結(jié)構(gòu),數(shù)據(jù)傳輸采用主從方式。為了控制方便,本系統(tǒng)設(shè)計(jì)中網(wǎng)絡(luò)控制板Arduino UNO作為主控制器,波形采集板Arduino Pro Mini和時(shí)間解調(diào)板Arduino Pro Mini作為被控制器,其電路連接關(guān)系如圖6所示。

        圖6 Arduino板間通信電路連接關(guān)系

        Arduino利用內(nèi)置Wire庫進(jìn)行I2C數(shù)據(jù)傳輸。圖7中,Arduino UNO作為主機(jī),連接兩個(gè)Arduino Pro Mini作為從機(jī),并設(shè)置從機(jī)通信地址分別為0xAE和0xAF,為了防止數(shù)據(jù)傳輸發(fā)生沖突,數(shù)據(jù)傳輸過程兩個(gè)從機(jī)模塊采用“一主一被”的方式進(jìn)行,即時(shí)間解調(diào)模塊每隔1秒主動(dòng)向主機(jī)發(fā)送一次時(shí)間信息和報(bào)警信息,而波形采集模塊則采用被動(dòng)上報(bào)的方式,由主機(jī)每隔1秒發(fā)送一次數(shù)據(jù)查詢命令后才進(jìn)行數(shù)據(jù)上報(bào)。

        3 系統(tǒng)軟件設(shè)計(jì)

        應(yīng)用軟件是系統(tǒng)的數(shù)據(jù)處理與顯示終端,運(yùn)行于遠(yuǎn)程監(jiān)視微機(jī)上,主要完成與服務(wù)器的網(wǎng)絡(luò)連接和數(shù)據(jù)傳輸功能,方便用戶對(duì)靶場(chǎng)時(shí)統(tǒng)設(shè)備IRIG-B信號(hào)質(zhì)量和主要參數(shù)進(jìn)行實(shí)時(shí)監(jiān)視,并提供異常告警功能。

        軟件設(shè)計(jì)為工作于Microsoft Windows2000/XP操作系統(tǒng)的獨(dú)立應(yīng)用程序,具有靈活的操作方式和友好的人機(jī)界面。采用NI公司的虛擬儀器編程語言LabWindows/CVI,該軟件不僅具有友好、豐富的界面編輯方式,而且附加了各種軟件開發(fā)包,如數(shù)據(jù)庫軟件包、Internet軟件包、數(shù)據(jù)分析軟件包等,利用LabWindows/CVI開發(fā)監(jiān)測(cè)軟件可以獲得意想不到的方便,大大節(jié)省開發(fā)時(shí)間,增強(qiáng)了軟件的性能[8]。

        本系統(tǒng)客戶端軟件設(shè)計(jì)使用LabWindows/CVI的TCP/IP開發(fā)包,在Arduino Server服務(wù)器啟動(dòng)之后,通過IP地址和監(jiān)聽端口號(hào)與其進(jìn)行網(wǎng)絡(luò)連接,完成設(shè)備的遠(yuǎn)程監(jiān)控功能。該系統(tǒng)主要完成對(duì)某型號(hào)時(shí)間統(tǒng)一系統(tǒng)輸出IRIG-B(DC)信號(hào)主要參數(shù)的實(shí)時(shí)監(jiān)視和異常報(bào)警,并提供數(shù)據(jù)記錄功能。

        4 系統(tǒng)測(cè)試與應(yīng)用

        系統(tǒng)主要完成靶場(chǎng)某型號(hào)時(shí)間統(tǒng)一系統(tǒng)輸出IRIG-B信號(hào)狀態(tài)的本地和遠(yuǎn)程實(shí)時(shí)監(jiān)視功能,為了檢驗(yàn)系統(tǒng)設(shè)計(jì)的可靠性,對(duì)其所實(shí)現(xiàn)的功能進(jìn)行相應(yīng)的測(cè)試。系統(tǒng)測(cè)試時(shí)的連接關(guān)系如圖7所示。

        圖7 系統(tǒng)測(cè)試連接關(guān)系圖

        圖7中,系統(tǒng)采用SMA接口與靶場(chǎng)某型號(hào)時(shí)統(tǒng)設(shè)備相連,將輸出的IRIG-B(DC)信號(hào)送給終端設(shè)備時(shí),經(jīng)過分線盒分出一路送給監(jiān)視系統(tǒng);遠(yuǎn)程監(jiān)測(cè)微機(jī)通過交換路由設(shè)備連接至監(jiān)視系統(tǒng),系統(tǒng)運(yùn)行過程中,LCD12864和LCD1602能夠正確顯示信號(hào)波形、波形參數(shù)以及解調(diào)時(shí)間和走時(shí)狀態(tài)等信息,遠(yuǎn)程監(jiān)測(cè)微機(jī)能夠每隔1秒更新監(jiān)視參數(shù)。出現(xiàn)異常時(shí),SD卡會(huì)及時(shí)存儲(chǔ)異常現(xiàn)象,監(jiān)視系統(tǒng)本地和遠(yuǎn)程監(jiān)測(cè)微機(jī)均通過聲光方式報(bào)警,提醒崗位人員及時(shí)處置。

        超過6個(gè)月的測(cè)試表明,系統(tǒng)工作穩(wěn)定,各項(xiàng)監(jiān)測(cè)顯示任務(wù)正常,滿足設(shè)計(jì)指標(biāo)以及各項(xiàng)功能要求。需要指出的是,由于時(shí)間解調(diào)模塊是在幀起始位之后的第39個(gè)碼元將解調(diào)出的時(shí)間送給顯示模塊和網(wǎng)絡(luò)傳輸模塊的,因此解調(diào)出的時(shí)間比時(shí)統(tǒng)設(shè)備送出的實(shí)際時(shí)間滯后約39×10 ms=390 ms,可以采取檢測(cè)到起始位時(shí)送加一秒解調(diào)時(shí)間的方式解決。由于本模塊主要用來監(jiān)視時(shí)統(tǒng)走時(shí)的連續(xù)性的,對(duì)該滯后時(shí)間可以接受。

        5 結(jié)束語

        本文介紹的便攜式IRIG-B(DC)信號(hào)監(jiān)視系統(tǒng)采用Arduino為核心進(jìn)行設(shè)計(jì),利用其內(nèi)嵌的多種成熟庫文件完成外圍器件的控制和內(nèi)部數(shù)據(jù)處理,增加了系統(tǒng)設(shè)計(jì)的靈活性,同時(shí)也大大降低了系統(tǒng)開發(fā)的復(fù)雜度,實(shí)現(xiàn)了對(duì)靶場(chǎng)某型號(hào)時(shí)統(tǒng)設(shè)備輸出的IRIG-B信號(hào)的全方位監(jiān)視功能,在出現(xiàn)異常情況時(shí)及時(shí)通過多種方式實(shí)施報(bào)警,提高了設(shè)備監(jiān)視效率。在實(shí)際應(yīng)用中,本設(shè)計(jì)方案可以根據(jù)不同的監(jiān)視信號(hào)類型,改變數(shù)據(jù)處理函數(shù)即可實(shí)現(xiàn)不同類型信號(hào)的監(jiān)視功能。本方案所實(shí)現(xiàn)的監(jiān)視系統(tǒng)具有成本低、可視化、與平臺(tái)無關(guān)等特點(diǎn),可以廣泛應(yīng)用在工業(yè)控制領(lǐng)域,有一定的工程實(shí)用價(jià)值。

        [1] 張向榮.IRIG-B格式時(shí)間碼解碼接口卡電路設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2006(9):30-32.

        [2] 黃文愷,伍馮潔,陳 虹. Arduino 開發(fā)實(shí)戰(zhàn)指南[M].北京:機(jī)械工業(yè)出版社,2014.

        [3] Michael Margolis. Arduino Cookbook [M]. 2015,3.

        [4] Martin Evans, Joshua Noble, Jordan Hochenbaum. Arduino In Action[M].2014.

        [5] 趙建領(lǐng),弓 雷.51系列單片機(jī)開發(fā)(第二版)[J].電子產(chǎn)品世界,2012.

        [6] 劉明波,侯孝民. 基于CPLD的IRIG-B碼解碼器設(shè)計(jì)與實(shí)現(xiàn)[J].國外電子測(cè)量技術(shù),2008,27(5):43-45.

        [7] 運(yùn)用物聯(lián)網(wǎng)實(shí)現(xiàn)的遠(yuǎn)程遙控開關(guān)[EB/OL]. 2014. http://www.crystalradio.cn.

        [8] 宋宇峰.LabWindows/CVI逐步深入與開發(fā)實(shí)例[M].北京:機(jī)械工業(yè)出版社,2003.

        Design and Implement of Portable IRIG-B(DC) Signal Monitoring System Based on Arduino

        Liu Mingbo, Chen Lin, Zhao Qianhong, Li Shengping

        (China Satellite Maritime Tracking and Commanding Department, Jiangyin 214431,China)

        In order to improve the monitoring efficiency of IRIG-B code signal, a set of automatic monitoring system is needed. Aimed at the general IRIG-B (DC) format time code output from a certain model timing system, this article introduces the design process of the portable IRIG-B(DC) signal monitoring system, and puts forward the system design frame centered with Arduino of “input control+ logical control+ data processing+ data interactive+ data storage+ net transferring+ real-time displaying”. The system using the technology of highly integrated AVR second compiling packaging library embedded in Arduino, which makes low-level instructors including complicated logical control and data processing be packaged in simple function callings. It accomplishes the function of IRIG-B(DC) signal’s real-time acquisition、analysis and time decoding、status monitoring and data storage. Tests show that system works stably and is designed simple, satisfies the requirement.

        Arduino; IRIG-B(DC); SD, real-time display; net

        2015-12-14;

        2016-05-19。

        劉明波(1984-),男,河南蘭考人,碩士,工程師,主要從事高速數(shù)字信號(hào)處理與應(yīng)用方向的研究。

        1671-4598(2016)09-0113-04

        10.16526/j.cnki.11-4762/tp.2016.09.031

        TP271;TP216

        A

        猜你喜歡
        碼元波形傳輸
        混合型隨機(jī)微分方程的傳輸不等式
        對(duì)《壓力容器波形膨脹節(jié)》2018版新標(biāo)準(zhǔn)的理解及分析
        牽引8K超高清傳輸時(shí)代 FIBBR Pure38K
        LFM-BPSK復(fù)合調(diào)制參數(shù)快速估計(jì)及碼元恢復(fù)
        基于LFM波形的靈巧干擾效能分析
        電子制作(2018年18期)2018-11-14 01:48:00
        支持長(zhǎng)距離4K HDR傳輸 AudioQuest Pearl、 Forest、 Cinnamon HDMI線
        基于極大似然準(zhǔn)則的短猝發(fā)信號(hào)盲解調(diào)
        基于ARM的任意波形電源設(shè)計(jì)
        大連臺(tái)使用CTS-1記錄波形特點(diǎn)
        日韩偷拍视频一区二区三区 | 国产一级黄色录像大片| 日本爽快片100色毛片| 中文字幕一区二区三区精彩视频 | 日韩人妻无码精品二专区| 国产亚洲一本二本三道| 亚洲av无码无限在线观看 | 中文字幕Aⅴ人妻一区二区苍井空| 亚洲综合精品一区二区三区| 国产91清纯白嫩初高中在线观看| 国产精品午夜爆乳美女视频| 免费看奶头视频的网站| 九九久久精品国产| 色窝窝手在线视频| 91精品国产综合久久精品密臀| 日本一二三区视频在线| 亚洲国产美女精品久久久久| 区无码字幕中文色| 亚洲精品中文字幕导航| 久久久久免费看成人影片| 精品三级久久久久久久电影| 男女发生关系视频网站| 亚洲第一幕一区二区三区在线观看| 中文字幕人妻无码一夲道| 96精品在线| av大片网站在线观看| 国产日产欧产精品精品蜜芽| 亚洲日韩精品欧美一区二区| 日韩毛片久久91| 色和尚色视频在线看网站| 国产伦精品免编号公布| 国产久视频国内精品999| 久久亚洲精精品中文字幕早川悠里| 激情综合五月| 精品无码一区二区三区亚洲桃色| 久久久久人妻精品一区5555| 人妖啪啪综合av一区| 精品无码国产自产拍在线观看蜜| 精品十八禁免费观看| 一区二区三区在线观看视频| 久久婷婷色香五月综合缴缴情|