時間:2022-10-24 13:13:29
開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇數據采集論文,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。
CC2530射頻模塊通過外引24個引腳,包括普通IO引腳P00-P24和電源、復位引腳,實現與電路的連接。電路包括復位電路、開關電路、傳感器接口電路、按鍵指示電路、通信調試電路、電源供電電路。主要電路功能介紹如下:按鍵指示電路:節點包括Led和蜂鳴器指示電路,用于本節點的指示功能;支持按鍵功能,進行節點工作模式的轉換。開關電路:由三極管電路組成,用于實現傳感器供電的通斷。通信調試電路:由串口電路和JTAG調試接口組成;串口負責與PC上位機軟件的連接,方便修改節點的參數;JTAG接口方便上位機集成環境IAR等調試用。電源供電電路:基本供電由外部USB接口電源5V通過AMS1117轉3.3V以及直接電池3.3V供電組成;傳感器可由內部3.3V供電,而大于3.3V則由外部電源直接提供。傳感器接口電路:包括危化品物流車輛常見的幾種信號(0-5V、4-20mA、開關量、數字量)采集電路,可同時接四種類型的傳感器。其中數字量主要是DS18B20、DHT11溫濕度傳感器的輸出信號;0-5V主要是氣體泄露檢測、光敏、真空度傳感器的輸出信號;4-20mA主要是壓力、液位傳感器的輸出信號;開關量主要是紅外、門開關、傾斜傳感器的輸出信號;信號接入后進行了信號隔離和二極管鉗位保護電路。
2節點軟件
2.1節點軟件架構軟件設計部分主要是基于TI公司的Z-stack協議棧進行應用程序的開發。Z-stack協議棧是一款穩定性強的Zigbee開發協議棧,是對Zigbee標準的具體實現。協議棧APL(應用層)包含了主要的API函數接口,方便進行應用開發,從而實現對CC2530芯片硬件資源的控制功能。具體軟件框架設計如圖4所示。應用層軟件主要包括節點間數據的接收/發送、節點內應用層與底層的交互。應用層的數據經過應用層數據幀格式進行封裝傳給底層繼續封裝并發送出去;接收數據則由底層先進行解釋,再由應用層進行解釋,然后進行數據的計算、更新參數等步驟。應用層還可通過API控制接口對底層進行控制與信號、參數獲取。
2.2數據幀格式Zigbee采集節點和主節點模塊的數據傳輸格式采用字符串形式進行數據的發送/接收。由于是采用字符進行數據傳輸,所以可以利用上位機現有的字符串處理函數,很容易校驗數據正確性,并從數據幀中提取有效信息,避免因幀長度判斷引起的錯誤。另外,基于Zigbee傳輸速率較低、傳感器數據量小、刷新速度慢的需求等特點盡量減小和限制了協議中各數據域的占位寬度,保證傳輸效率。具體數據格式如表1所示。幀頭:本協議節點間的應用層交互主要有命令幀和數據幀。幀頭是辨別命令幀和數據幀而設立的。幀頭包括:Set、Get、Ack、Data4種。Set指的是主節點對采集節點進行參數設定,為命令幀,是主節點需要對子節點進行參數配置的時候發送的,子節點收到此類型幀后,發回Ack幀,說明參數設置成功與否;Get指的是其他節點需要獲取本節點信息,為命令幀,本節點收到此類型幀后,發送數據幀;Ack指的是節點間通信應答狀態幀,SUCC為成功、FAIL為失敗;Data指的是數據幀,攜帶節點參數、傳感器采集數據。如表2所示。目的地址:目的地址指的是Zigbee網絡中的設備唯一標識的網絡ID。為十六進制0X0000-0XFFFF之間值。其中有幾個地址值有特殊的含義,0XFFFF表示廣播地址;0XFFFE表示所有接收功能打開的設備;0XFFFC表示所有路由設備;其余地址為單一設備的網絡地址。網絡地址的獲得過程是:主節點設備啟動成功后,自設定為Zigbee網絡的主網絡ID0X0000,子節點設備在申請加入成功后獲得一個網絡身份標志ID。幀類型:在幀頭為Set、Get、Data時,此幀位置都有意義,分別代表設置、獲取、攜帶相應類型的節點信息。這些類型包括,傳感器數據(Sensor)、節點網絡地址(NAdr)、節點網絡類型(NType)、采集周期(Cycle)、產品信息(Info)、發送方式(SWay)、功率模式(PMode)、信道選擇(Channel)、AD參考電壓(ADMode)、默認發送地址(DSAdr)。信道數據:DataChannel796F800\r\n(第11(0x0B)無線信號通道)載荷:載荷是整個通信幀中最重要的部分,包括了通信的主要內容。載荷的具體內容需要根據幀類型來確定。描述如下:(1)幀類型為傳感器數據:此時載荷部分包括傳感器類型、傳感器ID、傳感器值。傳感器類型包括危化品物流車輛常見信號:1.溫度、2.門開關、3.真空度、4.液位、5.壓力、6.電壓、7.濕度、8.氣體、9.紅外10.光敏、11.傾斜。傳感器ID從0開始分配,表示同種類傳感器的使用編號。(2)幀類型為非傳感器數據:此時載荷部分攜帶網絡地址、采集周期、發送地址等值。結尾符:本協議結尾符為字符“\r\n”,加上字符串結束符‘\0’,固定為3個字節。結尾符是一幀數據的界定符,上位機軟件可以根據此結尾符很快能判定幀的長度,避免一些數據長度判讀錯誤的發生。
2.3軟件處理流程Z-stack協議棧基于輪詢機制,事件是最小處理單元,每個事件都有相應的處理函數,當事件管理數據結構相應的位置位時,協議棧通過輪詢機制就能發現并跳入相對應處理函數進行處理步驟,處理完再返回輪詢大循環。這里主要設置了3個事件,分別是串口事件、無線事件和采集事件。串口事件主要處理與上位機的通信;包括根據上位機命令修改本節點參數、接收發送數據等;無線事件主要處理數據的無線發送和接收;采集事件主要處理傳感器的數據讀入、封裝、發送或者接收、解析、轉發等。處理流程圖如圖5所示。
2.4上位機配置軟件Zigbee設備邏輯類型包括3種,分別是主節點、路由節點、終端節點。對于不同設備類型的具體處理流程,本設計編寫了統一的參數配置服務函數,可通過上位機軟件方便進行配置。比如,終端節點配置成具有傳感器數據的采集功能,可選擇無線和串口兩種發送方式,而對于路由器或者協調器,基于功耗考慮,則配置成不具有傳感器數據采集功能。通過設計節點上位機配置軟件ZigConfig來實現參數的配置,簡單的界面操作就能通過串口以上述數據格式下載到節點,并燒寫到CC2530的flash中永久保存起來,節點下一次啟動將以新的參數啟動。上位機配置軟件介紹如下:(1)配置軟件由QtCreator開發。QtCreator是Qt被Nokia收購后推出的一款新的輕量級跨平臺集成開發環境(IDE)。支持的系統包括Linux(32位及64位)、MacOSX以及Windows。開發人員能利用該應用程序框架更快速及輕易地完成開發任務。(2)該配置軟件完成節點的設備類型、接口采集邏輯、入網參數等的配置。可直接通過串口線與待配置節點連接,也可以通過一個中間節點對待配置節點進行無線配置,中間節點通過串口線與上位機連接。操作界面如圖6所示。(3)如圖7,圖8所示,通過上位機配置軟件S1(實物圖如圖6所示)可方便地對待配置節點S2進行參數配置。對于待配置設備,如果是終端設備,配置前需先按下配置按鍵,指示燈亮后,裝置即進入配置模式;而如果是路由設備或協調器設備則無需此步驟。(4)有線配置如圖6所示:上位機通過串口線連接待配置設備,然后配置軟件上收到待配置節點S2發送過來的設備信息,并顯示在界面上,然后點擊配置按鈕,即發送配置幀到節點S2,點擊讀取配置按鈕,則將節點S2各項參數顯示在界面上,如果節點S2是數據透傳模塊,則可以直接接收數據或填寫目標地址發送數據。配置完后再按一下按鍵,指示燈不亮,表示配置完成。可以配置設備類型為Zigbee終端設備、路由設備、協調器設備和點對點透傳設備;可以配置入網參數,比如PANID值、信道、網絡模型、網絡層次等;可以配置傳感器發送周期,使各傳感器通道數據可以同一周期發送,也可以不相同周期發送等。(5)無線配置如圖8所示,采用一個節點作為數據中轉與上位機有線連接,通過這個節點無線發送指令到待配置節點進行配置,配置過程中的操作步驟與有線時類似。
3節點測試
3.1信號強度RSSI(ReceivedSignalStrengthIndication)是接收端的信號強度指示,可用來判定鏈接質量。實際應用中,普遍采用簡化后的Shadowing模型,即如下公式計算RSSI值。其中Pr(d)為接收端接收信號強度,Pr(d0)為參考處接收端接收信號強度,d為接收端與發送端實際距離,d0為接收端與發送端參考距離,n為路徑損耗指數,通常取2~4。取d0=1m,實測得Pr(d0)的值代入,并取n=3代入公式(1)得新的計算公式。實際測試中取兩個節點,分別設為協調器節點和終端節點。將協調器節點固定,令終端節點遠離,終端節點加入協調器節點網絡后,每隔1s發送一次數據到協調器節點。協調器接收到數據包后,從TI協議棧Z-Stack的數據結構afIncom-ingMSGPacket_t中提取RSSI值記錄下來。100M范圍每隔5M記錄一次RSSI值,每次記錄100個值,然后取100個中的隨機值和平均值分別作為本次終值繪制曲線。
3.1.1空曠環境下測得Pr(d0)=-28dbm,按照公式(2)與實際數據,繪制對比曲線。從圖9和圖10對比曲線可以看出,隨著兩節點間距離增大,RSSI值會逐漸衰減,符合一般規律。0-20m范圍內,RSSI衰減較快,之后較為平緩。40m后信號質量普遍較理論值平緩,可能是受硬件條件影響,誤差增大。圖9由于每次記錄取的隨機值,存在較大誤差,圖10每次記錄取100個數據的平均值,曲線較為平緩。誤差因素包括硬件設計、周邊環境影響等。
3.1.2危化品物流車輛環境下采用深圳市中集集團液化氣罐(空罐)危化品物流車輛進行實地測試,測試車輛長度14m,寬度2.5m。將協調器節點放置在車駕駛座,終端節點自由放置于車廂體內部,加入網絡并發送數據到協調器節點。測得Pr(d0)=-44dbm,根據公式(2)和實際數據的結果曲線如下:由圖11和圖12可以看出,在車輛環境下,節點信號普遍較空曠環境下差,這主要是因為接收節點被放進車輛箱體內部,信號一定程度上受到廂體衰減。大于40m距離后信號變得不穩定,通信斷續和重連情況發生頻繁,此時RSSI值普遍>82dbm,80m后多次測試接收端均接收不到數據。
3.2數據傳輸將協調器節點放置在車駕駛座,終端節點自由放置于車輛廂體內部,加入網絡并發送數據到協調器節點。在協調器端統計接收數據包個數,并計算丟包情況和最大穩定通信距離(即數據通信情況良好,極少發生重連情況),結果如下。由表3可以看出,主節點在車駕駛室情況下,車正前方和側面信號要好于車后方信號,節點丟包率較低,通信距離>=25M,滿足一般危化品物流車輛要求。另外,通信的最大穩定傳輸RSSI值是極少斷網重連情況發生下的統計值,所以普遍低于信號強度曲線中的極限值。隨著距離增大,節點間的網絡傳輸也會變得不穩定,常常發生斷網重連,甚至無法重連狀況。實際數據包傳輸受節點間不同阻擋物、不同車型、車體電磁干擾、程序執行等因素影響。
3.3功耗通過萬用表、示波器和在程序中設計測試模塊的結合進行功耗測試,測試結果如下。從表4的測試結果可以看出,節點滿足低功耗要求,休眠情況下,節點功耗低至0.33uA。
4結語
關鍵詞:MCF5249uClinuxWeb數據采集
引言
現在嵌入式系統的應用越來越廣泛。隨著網絡技術發展和市場需求的變化,工業設備實現網絡化管理控制已經成為一種必然趨勢。M2M(MachinetoMachine)的網絡通信已成為國內外研究熱點,而Web技術為工業設備實現網絡化管理提供了一種解決方案。本文從硬件和軟件設計兩個方面討論了摩托羅拉MCF5249處理器在數據采集方面的應用,并實現了采集數據的遠程Web表征。
由于這一系統面向廣義的過程,所以只要可獲得過程參數,就能實現過程行業的遠程在線表征。特別是基于Web完成實時數據庫生成,真正實現遠程集群系統的數據資源無人工干預自動獲取。其應用將會不斷地延伸。
本文描述的摩托羅拉MCF5249是以ColdFire32位微處理器為基礎的高性能處理器,該處理器內部集成了一個片內12位ADC,可用于工業數據采集。且數據采集系統基于嵌入式操作系統uClinux。由于uClinux是為沒有MMU的微處理器設計的。且源泉代碼公開,為降低成本和獲取軟件的自有產權提供了方便。當然,uClinux不是一個強實時系統,為支持一般過程系統,可以通過一些補丁程序來提高其實時性,所以本文討論的數據采集系統主要應用于一些實時性要求不高的場合。
1數據采集系統的硬件設計
摩托羅拉MCF5249處理器內部集成了一個片內12位∑—ΔADC,它有四路輸入(ADIN0~ADIN3),任一時刻只允許一路輸入,由多路選擇器決定。ADC的數字部分在MCF5249的內部,而模擬電壓比較器由電路提供。A/D轉換的輸出引腳以脈寬調制的格式提供參考電壓,因此,該輸出需要一個的阻容電路,將其轉換成直流電壓,以備外部的電壓比較器電路使用。數據采集系統的硬件原理圖如圖1所示。
由于微處理器不可承受負電壓,所以必須將輸入電壓限制在0~+3V之間。Motorola公司不建議使用外部箝位二極管直接在模擬輸入端進行過壓保護,而在輸入端引入1~10kΩ的限流電阻和低通濾波器,在低通濾波器的輸入端連接二極管對輸入電壓進行箝位。
2數據采集系統的軟件設計
數據采集系統的軟件設計主要分為兩大模塊,即數據采集模塊與數據顯示模塊。
2.1數據采集模塊的設計
數據采集模塊是系統的核心模塊,為了提高數據采集的實時性,應采用中斷方式完成數據采集。其流程圖如圖2所示。
MCF5249微處理器為其內部ADC提供了一個控制寄存器ADCONFIG,其地址是MBAR2_ADDR+0x402,在初始化程序中需要指定MBAR2_ADDR地址。
通過ADCONFIG寄存器可以設置A/D轉換器工作方式、采樣頻率、是否采用中斷方式等。下面給出設置ADCONFIG寄存器實例。
#defineMBAR2_ADDR0x8000000
#defineAD_CONFIG0x402
#defineAD_VALUE0x406
…………
//設置ADC
*(volatileunsignedshortint*)(MBAR2_ADDR+AD_CONFIG)=0x442;
該設置確定ADIN0作為模擬信號輸入通道,采樣頻率設置為1/4系統總線時鐘頻率。當時鐘產生4095次翻轉時,系統產生一個軟件中斷(中斷號為63)。一次采樣結束,并將采樣結果存于ADVALUE寄存器(其地址為MBAR2_ADDR+0x406)。A/D轉換值可以用如下公式計算:
Vi=(X/(2n-1))×Vfullscate
其中,Vi為ADC的輸入電壓;Vfullscate為滿量程輸入電壓;
X為ADC輸出的數字量;
n為ADC的位數。
A/D轉換的結果在中斷處理程序中讀取。讀取一次轉換的程序代碼如下:
Volatileunsignedshortintm;
m=*(volatileunsignedshortint*)(MBAR2_ADDR+AD_VALUE);
通常,A/D轉換需要連續采樣。采樣結果應存放在一個多訪問循環隊列MACQ(MultipleAccessCircularQueue)中。
MACQ是一個定長有序的數據結構。源進程(生產者,ADC采樣程序)將數據存入MACQ,一旦初始化,MACQ總是滿的。當有新的數據被存入(PUT)MACQ,舊數據即被丟棄(如圖3)。應用進程(消費者)可以從MACQ中讀取任何數據。讀功能是非破壞性的,即讀操作不會改變MACQ。
在uClinux中,A/D轉換中斷程序的編寫方法是將A/D轉換器作為一個字符設備來處理。中斷程序是在linux/drivers/char目錄下編寫,其結構如下:*file:m5249_adirq.c
#include<linux/interrupt.h>
#include<asm/irq.h>
#defineADC_IRQ(128+63)//定義中斷號
#defineMBAR2_ADDR0x8000000
#defineAD_CONFIG0x402
#defineAD_VALUE0x406
/*定義中斷處理函數*/
voidadirq_interrupt(intirq,void*d,structpt_regs*regs){
在此讀取A/D轉換的值并存入隊列中。
}
/*設備初始化函數*/
intadirq_init(){
intresult;
unsignedshortadc_irq;
adc_irq=ADC_IRQ;
result=request_irq(adc_irq,&adirq_interrupt,SA_INTERRUPT,5249_adirqNULL);//注冊中斷
if(result==-1)
{printk(“Can''''tgetassigned%d”adc_irq);
returnresult;}
return0;
}
中斷服務程序的添加方法如下:
①編輯uClinux/drivers/char目錄下的mem.c,添加“adirq_init();”;
②編輯此目錄下的Makefile加入“obj-y+=m5249_adirq.o”;
③編譯(make)。
2.2數據顯示模塊的設計
為了實現采集到的數據以Web方式顯示,需要選擇一個Web服務器。本文采用的Web服務器是BOA。在CGI程序中編寫一個函數讀取MACQ隊列中的數據并顯示。
主要有以下顯示模塊。
(1)編寫一個CGI程序
*編寫一個讀取MACQ隊列中數值的函
readFromMacq()。
*編寫一個生成動態HTML頁面的函數show()。
Voidshow_t(){
……
printf("Content-type:text/html");
prinft{"
<html>
<head>
<metahttp-equiv=pragmacontent=no-cache><metahttpequiv=expirecontent=now>
<title></title>
</head>
<body>");
在此將MACQ中的數據讀出,假設值賦給變量n
prinft("<center")Thevalueis%x!</center>
</body>
</html>",n);
}
*編寫一個CGI的主程序main_cgi。
在主程序中需要讀取HTML頁面中的字符,并判斷應執行那一個CGI程序。
(2)用HTML語言編寫一個主頁
在主面中應包含:
<ahref=/cgi-bin/main_cgi.cgi?flag=10target=main>鍵接字符</a>.
其中,flag的值是main_cgi用于判斷應執行哪一個CGI程序的標志。
多路視頻數據實時采集的軟件實現
常永亮(飛行試驗研究院測試所陜西西安710089)
【摘要】介紹了視頻數據的采集、多路視頻數據間的切換、視頻數據的保存及基于C/S結構的實時視頻數據傳輸與顯示,在對四路飛行視頻數據進行實時采集的運行時,各項需求已達到要求。
【關鍵詞】視頻數據、Divx編碼、RTP/RTCP協議、TCP/UDP協議、媒體流、幀
1引言
隨著信息技術的不斷發展,人們將計算機技術引入視頻采集、視頻處理領域,用計算機處理視頻信息和用數字傳輸視頻數據在很多領域已有廣泛的應用,在我們的飛機試飛中也被大量的應用。
視頻圖像采集的方法較多,基本可分為2大類:數字信號采集和模擬信號采集。前者采用圖像采集芯片組完成圖像的采集、幀存儲器地址生成以及圖像數據的刷新;除了要對采集模式進行設定外,主處理器不參與采集過程,我們只要在相應的幀存儲器地址取出采集到的視頻數據即可得到相應的視頻數據,這種方法,無論在功能、性能、可靠性、速度等各方面都得到了顯著的提高,但成本高。后者采用通用視頻A/D轉換器實現圖像的采集,其特點是數據采集占用CPU的時間,對處理器的速度要求高,成本低、易于實現,能夠滿足某些圖像采集系統的需要。
此系統要求每秒采最大25幀(設為可調),客戶端實時顯示最大25幀(設為可調),保存為MPEG4格式,畫面要求為最大分辯率為1024X768。
多路視頻實時采集使用的是VisionRGB-PRO卡(英國Datapath公司),此卡可同時實時采集兩路視頻數據,基本達到了本系統的要求,再用一臺VGA矩陣切換器將前端數據源的四路視頻數據進行人為切換采集。
2硬件環境的構建(硬件框架)
圖一系統硬件框架圖
上圖為整個采集系統的硬件框架。
此采集系統主要實現對前端四路視頻數據的人為切換式實時采集,在服務器端可同時采集和儲存兩路視頻數據(在此只用一個視頻采集卡),也可以一次只采集一路視頻數據,再經網絡實時傳輸到客戶端顯示,服務器端也實時顯示所采集的視頻。
在進行視頻切換方面可在服務器端或客戶端自行切換,在服務器端可通過串行口操作VGA矩陣切換進行相應的視頻輸入輸出口的切換,在客戶端可通過網絡-服務器程序相應模塊-串行口-VGA矩陣切換進行相應的視頻輸入輸出口的切換。
3軟件實現概述
3.1服務器端的實現
圖二服務器端程序流程圖
上圖為服務器端實時采集視頻的程序流程圖。視頻數據量較大,這就要求視頻數據處理系統具有實時采集,大容量存儲和實時處理的特點。在服務器端的實現是整個系統的關鍵,在此也承擔了大量的工作,因此對軟件和硬件方面要求也很高就成為必然。
軟件要實現對視頻數據的實時采集(最多兩路)、控制視頻接口、把視頻數據實時編碼保存并發送到多個客戶端。以上就是要在服務器上實現的主要功能。
在采集方面最主要的是要有實時性,在此以事件驅動的方法從端口獲取數據,采集到視頻數據流在桌面顯示的同時再編碼保存,視頻采集的數據要經軟件的相應模塊將其設為位圖型式的視頻幀,以利于在服務器端的顯示和編碼保存,在此采用Divx編碼,Divx編碼后形成以幀為格式的MPEG4流。Divx解碼也是以幀的格式解壓,因此有利于向客戶端發送數據時以幀為單位發送視頻數據流。
此處用到Divx編碼就不得不把Divx編碼作簡要的介紹。
DivX由DivXNetworks公司開發的,即為我們通常所說的DVDrip格式,它采用了MPEG4的壓縮算法同時又綜合了MPEG-4與MP3各方面的技術,也就是使用DivX壓縮技術對DVD盤片的視頻圖像進行高質量壓縮,同時用MP3或AC3對音頻進行壓縮,然后再將視頻與音頻合成并加上相應的外掛字幕文件而形成的視頻格式。其畫質直逼DVD并且體積只有DVD的數分之一。這種編碼對機器的要求也不高,所以DivX視頻編碼技術可以說是一種對DVD造成威脅最大的新生視頻壓縮格式,實際上Divx=(視頻)MPEG4+(音頻)MP3。
媒體流分為四個流:視頻流、音頻流、文本流、MIDI流,用視頻卡采集的是兩路視頻流,保存時每路視頻流多加了一個文本流,文本流主要應客戶要求加入的服務器時間和一些人為輸入的文本信息,在記錄兩個媒體流時一般有兩種記錄方法,在此采用的是將視頻流和文本流記到一個文件中的方式,這樣有利于文件以后的保存和查閱。
在采集軟件實現方面主要應用了相應的SDK(Softwaredevelopmentkit)和API(應用編程接口),還可用VFW(VideoforWindows)。但后一種方法實現簡單單路視頻采集卡可以,對于多路視頻的采集用第一種方法更加靈活,但實現比第二種復雜的多。在服務器實現軟件方面主要有以下幾大塊:一是采集;二是保存;三是向客戶端發送;四是串口的通行;五圖像的形成;六是桌面顯示;七是對圖像亮度、顏色、位置等的調整;采集通道、采樣率、采集時間的選擇;等等。
在服務器端各方面協調工作是關鍵,程序啟動首先默認上次設定的視頻采集卡通道,如有視頻數據就顯示、保存,如果沒有視頻數據就等待,如果要調整視頻采集卡通道可用串口給VGA矩陣切換器發送相應的命令讓VGA矩陣切換器進行相應的輸入輸出通道切換。也可經客戶端經網絡到服務器串口到VGA矩陣切換器進行VGA矩陣切換器相應的輸入輸出通道切換(在后面介紹客戶端時再介紹)。每次切換后將自動保存原視頻文件,如切換后有視頻數據將自動重新生成一個新的視頻文件。
在服務器桌面顯示的畫面是沒經任何編碼處理的,但網絡傳輸和保存的視頻數據是經Divx編碼的,這樣有力的減輕了網絡間傳輸和服務器的負擔。
用局域網實時傳輸視頻數據已在一些領域大量的應用,局域網以有線局域網居多,因為有線局域網技術成熟、傳輸速度快,但是長時間傳輸大量視頻數據時也會引起傳輸速率不穩定,引起數據堵塞,會導致視頻傳輸的質量大幅度下降,容易引起畫面的重影、抖動、花屏、延遲等現象。
為了在局域網上有效的、高質量的實時傳輸媒體流,需要多種技術的支持,包括網絡傳輸層協議的選擇、編(解)碼技術,網絡傳輸層質量控制技術等等。
實時傳輸協議RTP是針對Internet上多媒體數據流的一個傳輸協議,實時傳輸控制協議RTCP負責管理傳輸質量在當前應用進程之間交換控制信息,RTP/RTCP協議只適合服務器端和客戶端相對動態的實時多媒體數據流傳輸。但是,對于圖像采集速度固定的實時視頻采集,有時會引起采集的數據來不及壓縮而直接丟棄而達不到實時的要求,所以沒有采用RTP/RTCP協議,而是從發送端出發,實時判斷網絡狀況,采用暫停發送的控制策略進行實時傳輸。
網絡傳輸層質量控制技術采用的是TCP/UDP協議,UDP是一種不可靠的、無連接的協議,UDP適用于一次只傳送少量數據、對可靠性要求不高的應用環境。它不提供檢錯和糾錯功能,一旦網絡出現堵塞時,大量的數據報文會丟失。對于Divx編解碼技術,是以幀為單位進行編解碼的,分為關鍵幀和非關鍵幀。在傳輸過程中,由于壓縮率比較高,只要一幀中錯一比特位,將影響其后的更多的比特位,直接造成圖像的模糊、花屏等現象。只有等到下一次關鍵幀的到來才有可能恢復圖像的清晰。為了保證傳輸的正確性,自己需要在應用層制定協議。如此一來,只能選擇使用TCP來進行網絡通信,TCP的目的是提供可靠的數據傳輸,并在相互進行通信的設備或服務之間保持一個虛擬連接。TCP在數據包接收無序、丟失或在交付期間被破壞時,負責數據恢復。它通過為其發送的每個數據包提供一個序號來完成此恢復。再輔助以暫停發送的控制策略,較好的解決局域網中實時視頻傳輸容易引起的重影、抖動、花屏的問題。
為了達到視頻傳輸的實時性,總的思想是最少的發送冗余信息,最大程度上發送最新的視頻。
在服務器端視頻采集采用從VisionRGB視頻采集卡捕獲視頻圖像,得到的是位圖型式的視頻幀,然后用Divx編碼進行壓縮,通過Winsock實現壓縮后的視頻數據在局域網中的實時傳輸,在客戶端接收完的數據交給Divx解碼器解壓,最后實現視頻顯示。如圖三所示:
圖三網絡間傳輸流程圖
如果局域網通信速率很高且狀態穩定,則進行實時視頻傳輸就可以達到非常好的效果。但是在網絡出現異常時會導致數據傳輸率不穩定或明顯下降,造成發送端數據積壓。此時就要采取一定的策略來控制發送端(服務器端),以達到實時性的要求,暫停發送策略很好的解決了這一現象。使用此策略有時會有丟幀的現象(100M局域網沒有發現丟幀現象),但就客戶端的要求是滿足的,在服務器端的采集、顯示、保存不受暫停發送策略的影響,也就是不會有丟幀的現象,雖然應用了暫停發送策略,但已經能夠滿足在客戶端實時監控需求了。
3.2客戶端的實現
在上面講服務器端的實現時已經大概講到客戶端的實現,因為只要把服務器端實現好客戶端實現難點就小的多。如圖四所示:
圖四客戶端程序流程圖
在客戶端也可以自行選擇要采集的通道,但對服務器端的采樣率等都不能通過客戶端進行設置,實現客戶端時主要是要實時監聽和服務器網絡連接狀態和判斷接受的視頻數據是否正常是否啟用暫停發送策略等。每秒接收的幀數可自行調節,但不能大于服務器端每秒采集的幀數。
在客戶端還要實時Divx解碼,如果不解碼就無法顯示,Divx解碼速度是完全可以達到實時顯示的要求。Divx解碼和顯示在不同的兩個線程中實現的,這樣做主要是為了顯示流暢。可以在兩個不同客戶端顯示兩個不同的視頻通道采集的數據。
4結論
本系統作為電視跟蹤系統的一部分,負責多路視頻數據的實時采集、存儲和視頻編解碼算法的實現、基于C/S結構的實時視頻數據傳輸顯示,在通過各種測試后在試運行期間已達到本系統的預期要求,本系統還支持事后的視頻回放。
本系統的開發難點和重點在服務器端,服務器端的開發直接影響到整個系統開發。
參考文獻
[1]《Windows核心編程》Microsoft公司〔美〕著
1.1系統的整體結構設計整個系統采用了模塊化的設計,各模塊布局合理,整體的結構緊湊。主要功能是數據的傳輸和程序下載,USB轉TTL模塊的作用是給單片機供電以及上位PC機和下位單片機之間的電平轉換,其原理圖如圖1所示。單片機與PC機是使用USB轉TTL模塊進行串口通信,它可以將USB虛擬成一個串口,解決筆記本電腦用戶無串口的煩惱。此模塊傳輸速度、傳輸準確性都滿足實驗需求,而且價格便宜,使用方便。
1.2系統各部分的功能介紹模擬信號采集部分的目的是為了采集所需要的原始的數據,即本系統中所需要的電壓和電流。下位機以AT89C52RC單片機為控制單元,16路A/D轉換芯片AD7705采集電壓和電流信號轉換為相應的數字信號,便于單片機后續的處理并以一定的協議將數據通過串口發送至PC機,最終通過運行在上位PC機的程序對接收到的數字信號進行處理和顯示。微控制器STC89C52RC以一定的的協議將數據通過串口發送至PC機。單片機的晶振電路和復位電路是單片機正常工作的先決條件。PC機通過串行USB轉串口接收單片機發送的數據,并進行實時處理和顯示。
2系統硬件部分設計
2.1MCU芯片的選擇STC89C52RC單片機是宏晶科技推出的新一代高速、低功耗和超強抗干擾的CMOS8位微控制器,采用經典的MCS-51內核,指令代碼完全兼容傳統8051單片機,12時鐘/機器周期和6時鐘/機器周期可以任意選擇。工作電壓:5.5~3.3V(5V單片機)/3.8~2.0V(3V單片機)工作頻率范圍:0~40MHz,相當于普通8051的0~80MHz,實際工作頻率可達48MHZ,用戶應用程序空間為8k字節。
2.2A/D轉換器選擇及采樣設計模數轉換器,是把經過與標準量(或參考量)比較處理后的模擬量轉換成以二進制數值表示的離散信號的轉換器,簡稱ADC或A/D轉換器。本系統模數轉換器采用的是芯片AD7705,AD7705是AD公司推出的16位Σ-ΔA/D轉換器,該轉換器采用SPI兼容的三線串行接口,能夠方便地與各種微控制器和DSP連接,也比并行接口方式大大節省了CPU的IO口,能直接將傳感器測量到的多路微小信號進行AD轉換。這種器件還具有高分辨率、寬動態范圍、自校準、優良的抗噪聲性能以及低電壓低功耗等特點,非常適合儀表測量、工業控制等領域的應用[7]。本系統是采集兩路信號(電壓和電流),AD7705芯片精度為16位(Δ=(5/65536)V≈0.076mV,其精度滿足實驗需求),高精度A/D轉換芯片AD7705有兩個雙端模擬信號輸入通道,分辨率為16位無丟失代碼,增益、信號極性以及更新速率等可由軟件設置[8-10]。片內可編程增益放大器的增益范圍為1~128,這使AD7705可與多種傳感器直接相連,無須外接放大器,并且內置可編程的自校準電路,通過對零點和滿度的校準,可有效去除零點漂移和增益誤差的影響。接口為SPI串行總線,因而與單片機的接線大大減少,簡化了硬件的設計。在測量電流時,我們對兩種實驗方案進行了比較,第一種是利用電流變送器進行電流的測量;第二種是利用采樣電阻進行電流的測量。采用了第二套方案,原因是其價格低、精度滿足實驗要求。
3系統軟件部分的設計
PC端主程序框架如圖2所示。
3.1數據采集PC端軟件設計PC端軟件是基于MFC對話框進行程序的編寫,其主要包括以下幾部分:1.窗口界面的繪制(包括開始界面繪制、控件繪制、坐標系繪制、網格繪制、LIST表格繪制等);2.串口通信控件的連接、初始化和設置;3.數據庫的嵌入(包括數據庫的連接、讀寫、修改等);4.采集數據時的動態響應(包括動態圖形繪制、動態數據表數據顯示等)。
3.2界面介紹首先是開始界面,如圖3所示。1.菜單欄區域:包括串口設置、開始采集、暫停、停止采集(同時關閉串口)四部分是本程序所有功能的體現;2.繪圖區域:包括兩個TABLE,一個是勵磁電流不變、勵磁電流變化兩個子窗口。每個窗口中包含一個二維坐標系進行圖形的繪制;3.數據表區域:包含一個LIST控件,對實時采集的數據進行顯示;4.系統控制區域:與菜單欄區域功能相同,都是對采集整個過程進行控制,同時能夠實時的對數據進行一個顯示、也能夠對偏差的數據進行手動刪除,避免實驗錯誤對繪制出的圖像造成的影響,而影響實驗效果。根據端口信息,選擇串口端號,點擊打開串口后,綠燈變為紅燈,打開串口按鈕變為灰色,表示串口已經連接,可以進行串口通信(即采集可以開始)。選擇兩種模式,“勵磁電流不變”、“勵磁電流變化”,并點擊進入相應的子窗口。然后就可以進行采集。傳輸電流電壓時,圖像會實時顯示,數據表也會同時顯示。圖5顯示了勵磁電流不變時,工作電流和霍爾電壓之間的關系曲線。
4結論
關鍵詞:USB2.0EZ—USBFX2同步數據采集
隨著計算機技術的迅速發展,對外部總線速度的要求越來越高。通用串行總線(UniversalSerialBus,即USB總線)憑借其即插即用、熱插拔以及較高的傳輸速率等優點,成為PC機與外設連接的普遍標準。在許多便攜式電腦上,已經找不到RS-232接口。迄今為止,常用的USB總線標準有1998年的USBl.1版本和2000年的USB2.0版本。其中1.1版本支持兩種傳輸速率:1.5Mbps和12Mbps,主要應用在低速傳輸要求的場合;而2.0版本面向高數據率傳輸的場合,支持480Mbps的傳輸速度,并向下完全兼容USBl.1協議。在實際應用中,通常會遇到一些突發信號,需要對其進行高速采集,對數據進行高速傳輸,所以USB2.0標準自然成為首選。以Cypress公司的EZ-USBFX2系列中的CY7C68013芯片作為核心控制器,設計開發了一套符合USB2.0標準的高速同步數據采集器。
1CY7C68013芯片
Cypress公司的EZ-USBFX2系列中的CY7C68013,是目前市面上比較少的符合USB2.0標準的USB控制器之一。與其它同類芯片相比,它提供了4KB的FIFO和一個功能十分強大的GPIF(GeneralProgrammableInterface)模塊。后者相當于一個可編程狀態機,正是由于它的存在,使得CY7C68013比其它同類芯片具有強大的互聯能力。圖1是CY7C68013芯片的結構示意圖,其主要特點如下:
·CY7C68013內部集成了一個增強型的51內核,其指令集與標準的8051兼容,并且在多方面有所改進。例如:最高工作頻率可達48MHz,一個指令周期為4個時鐘周期,兩個UART接口,三個定時計數器,一個I2C接口引擎等。
·CY7C68013提供了一個串行接口引擎(SIE),負責完成大部分USB2.0協議的處理工作,從而大大減輕了USB協議處理的工作量,并且提供了4KB的FIFO保證數據高速傳輸的需要。
·為了滿足與各種不同類型外設的互聯需要,芯片中集成了一個GPIF模塊,讓用戶可以按照外設的時序進行波形編輯,而不需要復雜的程序描述,就可以保證GPIF與內部.FIFO的協調工作,實現芯片與高速設備之間的邏輯連接和高速數據傳輸。這對于開發者來說是相當友好的。筆者就是利用這一特性,實現數據的高速同步采集及傳輸。
圖1
2同步高速數據采集芯片AD7862
2.1AD7862的結構
AD7862是AD公司推出的高速、低功耗、雙極性12位的A/D轉換芯片,其中包含了兩個獨立的快速ADC模塊(允許同時采樣和轉換兩路信號)、4路模擬輸入信號(VAl、VA2、VBl、VB2)、2.5V的內部電壓基準以及一個12位的高速并行接口。芯片正常運行時功耗只有60mW,當使用節電方式時,只有50μW,對于自帶電源的USB設備這種低功耗無疑是一種優點。該芯片的內部結構如圖2所示。每個ADC都有一個兩通道的多路選擇器,芯片通過地址信號A0分別選通VAl、VA2或VBl、VB2,當一個CONVST信號到來時,同時轉換地址A0選中的兩路信號。
2.2AD7862的控制時序
AD7862的控制時序如圖3所示。在USB2.0同步高速數據采集器中,利用GPIF實現圖3所示的時序控制。其中CONVST是轉換開始啟動信號,下降沿觸發兩路ADC開始裝換;BUSY信號在CONVST信號觸發后;變成并保持為高電子狀態,直到兩路ADC轉換完畢,才又回到低電平;地址A0用于對兩路模擬信號的選擇,CS信號和RD信號分別是芯片使能信號以及讀允許信號。兩者第一次同為低電平時,讀出第一組ADC轉換的數據;在第二次為高電平時,讀出第二組ADC轉換的數據。使用AD7862值得注意的一點是該芯片提供了電源管理功能,當芯片將第二組數據讀出后,CONVST信號繼續保持低電平,芯片進入休眠模式。這時芯片的功耗只有50μW。這一點對于現在的便攜式設備十分重要。
3同步高速數據采集器的硬件設計
傳統的高速數據采集卡一般都采用PCI總線設計,但是筆記本電腦以及大部分便攜式設備是沒有PCI插槽的。利用USB2.0技術,不僅保證了較高的數據傳輸率(傳輸率最大可以達到480Mbps),同時還具有便攜和無需外加電源等優點。圖4是系統的結構示意圖。它的工作原理是:在GPIF模塊的控制下,由AD7862對目標進行等間隔采樣,然后將采樣結果通過GPIF傳送到CY7C68013的內部FIFO中緩存;當采集一定量的數據后,CY7C68013自動將數據打包(不需要8051的介入),通過USB總線傳輸到PC機中進行數據處理。由于有GPIF的硬件支持,CY7C68013中的8051內核只是在很少的時間內,對控制進行了輔助處理,大部分工作由GPIF硬件完成。這樣8051還可以與其他外設進行互聯等工作。在高速數據采集器上附加了兩路RS-232接口,用于將GPS數據和高精度智能測深儀的數據中轉到主控計算機上,大大方便了新近推出的筆記本電腦與傳統外設之間的聯系。因為新近推出的筆記本電腦大多不具有RS-232接口,而那些野外觀測儀器大多只能通過RS-232接口進行數據交換。
對于CY7C68013來說,其配置和固件都是軟的,存儲在外部的E2PROM中,上電時從I2C總線自動裝載到片內RAM中,修改起來十分方便,便于固件升級。由于CY7C68013提供了豐富的I/O口,所以進行功能擴展也是很方便的,例如增加一個GPIB數據口等。
4軟件設計
USB設備的軟件設計包括三方面:固件設計、硬件驅動程序設計以及高級應用程序的設計。
4.1固件(firmware)設計
Cypress公司為CY7C68013提供了一個開發框架,可以在KEILC51環境下開發。由于開發框架的引入,從而大大縮短了用戶的研發周期。該框架由以下幾部分組成:
(1)FW.C中包含了程序框架的MAIN函數,管理整個51內核的運行,因為Cypress對這個部分的功能進行了精心劃分,一般是不用改動的。
圖3
(2)用戶必須將PERIPH.C實例化,它負責系統周邊器件的互聯。固件的設計主要針對這個文件,用戶必須根據自己系統的需要,實例化這個文件,以實現自己的功能。在這個文件中有幾個函數是比較關鍵的,在這里做一下特別說明:
·TD_Init函數,負責對USB端點進行初始化設置。本設計中將端點6設置為1024個字節,緩存深度為4級,模式設為自動輸入方式。
·TD_Poll函數,負責系統中循環任務的處理。它主要是對各個端點的狀態進行查詢,處理各種OUT或IN端點的交互。值得說明的一點是,這種處理只是輔質的,大部分工作由硬件自動完成。
·DR_VendorCmnd函數,主要負責用戶自定義命令的譯碼工作,用戶請求通過端點O傳輸給內核。由于CY7C68013上SIE硬件的支持,用戶只需查詢固定地址單元即可獲得當前的命令代碼。
·GPIFINIT.C,其中只有一個Gpiflnit函數;它是GPIF模塊的初始化函數,一般在TD_Init函數中調用。這個函數是由Cypress公司提供的一個GPIFDesigner開發工具根據用戶設計的波形生成的,用戶不需要自己設計波形查詢表,減輕了設計者的工作強度。
·DSCR.A51是描述表文件,負責USB設備的描述工作,CY7C68013在上電后自動利用其中的VID和PID取代默認的VID和PID。
·兩個包含文件EZUSB.LIB和USBJMPTB.OBJ,前者是EZUSB函數庫的二進制文件,后者是USB的中斷向量表。
固件調試,使用Cypress提供的EZ-USBcontrolpanel,具體的操作讀者可以參考其自帶幫助。
4.2驅動程序的設計
驅動程序負責對底層硬件的訪問。在本設計的驅動程序開發中,使用的開發工具是Jungo公司的WinDriverv6.03,它支持多種操作系統。利用WinDriver開發的優點是用戶不需要了解操作系統內部的具體工作機理,同時也不需要了解各個系統DDK(DevelopingorDebugginginKernel)的開發工具,用戶只需使用WinDriver提供的開發平臺,即可完成驅動程序的設計工作,剩下的底層細節由WinDriver內核統一處理,從而降低了對開發者編程能力的要求,同時也大大縮短了開發周期。下面就使用WinDriver開發驅動程序的步驟做一個簡要說明(以在Windows操作系統下的開發為例):
(1)啟動WinDriver的DriverWizard工具;
(2)利用DriverWizard檢測硬件是否正常;
(3)在DriverWizard中選擇所使用的開發環境,這里使用VB6.0開發環境,并生成驅動程序代碼;
(4)對生成的代碼進行修改,使其符合系統的需要;
(5)在WinDriver環境的用戶模式下,調試驅動程序;
(6)如果程序需要內核訪問,以提高驅動程序的效率,進入內核開發。
4.3高級應用程序的設計
關鍵詞:鐵路基礎設施;監測;振動傳感器;數據采集
中圖分類號:TN919 文獻標識碼:A
0.引言
進入21世紀以來,我國鐵路建設發展迅猛,取得了良好的經濟與社會效益。隨著鐵路運輸速度的迅速提升,再加上其相對方便舒適的環境和價格上的優勢,勢必能吸引越來越多的人選擇鐵路作為他們旅行的交通工具,然而,伴隨著鐵路運輸的飛速發展給人們帶來的交通上的快捷與方便,車體與鐵軌的振動故障對公共財產及人身安全構成了前所未有的威脅。
伴隨著我國鐵路立體跨越式的迅猛發展,輪軌間激擾力與激擾頻率隨著車輛行駛速度的不斷提高,逐漸增大,變寬,結果會造成電機等吊掛設備和車內設備的高頻高幅振動,引起車體設備振動能量的急速加劇。如果超過了鐵路各設備所允許的振動強度范圍,未來的工作性能指標及使用壽命將會受到過大的動態載荷和噪聲的嚴重影響,情況越發嚴重會導致零部件的早期失效。當前大量事實表明,在長期作用的情況下,鐵路振動故障可能會導致貨物破損,軌道破壞,列車脫軌等危險情況。為確保鐵路“安全、經濟、快捷、舒適”的特點和優勢,鐵路建設要不斷發展完善其各項功能,才能在越發激烈的市場競爭中取得優勢,因此,各國都加強了對鐵路振動的檢測及分析,也增加了對其的投入力度。
今年我國對鐵路振動檢測領域的人力物力投入有明顯增加,并且研究范圍擴展到眾多方面。以往鐵路振動檢測系統只配備在一些重要單位或者要害部門,而在2000年以后,各個鐵路站段及各個振動檢測站點基本都已經涉及發展應用到。鐵路振動檢測系統的重要性越來越被人們所認可,近些年又不斷完善各項相應的標準和規范。為了保證鐵路的運輸安全、高效舒適的科學發展及以人為本的發展要求,確保鐵路的優勢和特點,如何準確檢測高速鐵路的振動并判斷故障是擺在鐵路工作者面前不容緩的實際問題。
1.數據采集系統設計方案
如圖1所示,本論文用于鐵路基礎設施監測的振動傳感器數據采集系統主要由下位機系統和上位機節點兩個大的部分組成。系統設計方案的結構框圖下位機系統里包含了振動傳感器數據采集模塊、IIC實時數據傳輸模塊、微處理器模塊和電源模塊五個單元。
振動傳感器把接收到的振動信號數字化,通過IIC數字傳輸方式,將數據發送給微處理器STM32F103ZET6。微處理器作為控制單元,用于接收振動傳感器數據并進行數據處理分析計算,通過RS-232串口通信,運用MAX3232電平轉換芯片及CH340 RS-232串口轉USB芯片,實現了XYZ三軸振動數值發送到上位機進行控制顯示。因為目前個人電腦上已很少有串口,所以我們使用RS-232串口轉USB口芯片CH340G,數據可以從USB口進入PC上位機。由于每一個節點的檢測范圍有限,使用多個這樣的節點共同檢測則可以擴大系統的監測范圍,提高系統的整體工作性能。整個鐵路振動檢測系統是由多個下位機節點互相協作共同完成系統功能的。
2.系統硬件設計
2.1 系統硬件設計思想
本論文的鐵路振動檢測系統是由振動傳感器數據采集模塊,IIC實時數據傳輸模塊,微處理器模塊以及RS-232有線通信模塊和電源模塊組成。
振動傳感器數據采集模塊對鐵路振動的振動數據信號進行實時采集,將采集到的數據數字化,并通過IIC實時數據傳輸方式與單片機處理器通信,接著單片機處理器模塊將采集的數據進行數據處理分析,通過有線通信模塊上傳到上位機進行實時顯示及存儲,為鐵路振動故障的判斷提供合理依據。
微處理器中有數據處理分析算法的設計,完成對采集到的實時振動信號進行數據處理分析,判斷當前得到的振動數據是否在鐵路設備所能產生的振動范圍之內并對數據進行干擾點剔除,去直流及多項式趨勢項和平滑處理,計算出與自然坐標系夾角的角度,使整個鐵路振動檢測系統的性能與數據準確性得到大幅度提高,很大程度上降低了系統的錯誤上報率。
2.2 系統介紹
如圖2所示,系y硬件部分可以分為五個部分:振動傳感器數據采集模塊、IIC實時數據傳輸模塊、微處理器模塊、RS-232有線通信模塊和電源模塊。
數據采集模塊:由單片機處理器模塊發出相應的控制指令配置振動傳感器的控制寄存器,內部控制寄存器來決定信號的采集速度、通信方式、數據輸出格式與帶寬,振動傳感器根據內部控制寄存器的值按要求采集振動信號。
實時數據傳輸模塊:振動傳感器采集的實時數據通過IIC傳輸方式,將數據發送給處理器,為之后的數據處理分析奠定了基礎。
微處理器模塊:主要工作是通過系統軟件控制數據采集模塊完成振動數據信號的采集,并對數據進行處理分析,然后控制RS-232有線通信模塊將處理完成的數據上傳至PC上位機進行顯示及存儲。該模塊是振動傳感器數據采集模塊和RS-232有線通信模塊進行聯系的核心部分。
RS-232有線通信模塊:將微處理器模塊處理完畢的數據,通過RS-232串口通信的方式傳遞給上位機,上位機會自動顯示及存儲數據,供振動故障的判斷使用。
電源模塊:通過該模塊,將5V外部直流電源轉換成系統所使用的3.3V電源。
結論
本論文設計了一套鐵路振動檢測系統,該系統采用下位機整體檢測模塊PC上位機整體控制數據流向,并對上傳的檢測數據進行顯示保存。從與傳統檢測方法的比較來看,它能夠更加高效、深入、細致的對鐵路振動信號進行檢測、處理分析及顯示存儲,并為鐵路振動故障的判斷提供可靠依據。
參考文獻
[1]馮曉芳.中國高速鐵路的發展與展望[J].科技資訊,2009(1):129-130.
[2]段合朋.鐵道車輛振動特性及平穩性研究[D].成都:西南交通大學,2010.
[3]柴東明.鐵路實用微型振動測試儀研究[J].設備管理與維修,1994(11):18-21.
[4] Testing and Approval of Railway Vehicles from the Point of View of their Dynamic Behavior-Safety-Track Fatigue-Ride Quality(2ed edn). (Pairs:UIC)UIC Code 518, 2003, 2.
關鍵詞:STM32F103,數據采集,數據通信
仿真駕駛模擬器是機械、電子及計算機技術為一體的復雜系統,該系統由駕駛室與電動伺服裝置組成的仿真駕駛單元,計算機、投影機和環形幕組成顯示單元及駕駛數據采集模塊單元組成。仿真駕駛模擬器除可進行模擬駕駛訓練外,還具有汽車駕駛技能形成性評價、個性化培訓計劃、交通事故經典案例教學、駕駛案例性測評等的汽車駕駛應用培訓教學。論文格式。論文格式。其中數據采集單元實時采集仿真駕駛室內的各操縱機構狀態,并將采集到的數據經串口傳送到上位機,上位機通過汽車動力學模型及當前路況信息計算出當前速度、加速度、方向、位置等信息作為計算機實時生成圖象和控制電動伺服缸動作依據,同時依據采集到的數據完成對駕駛行為過程回放、行為分析、技能等綜合評估。
1數據采集系統總體設計
如圖1所示,數據采集系統主要由各檢測模塊及檢測電路、單片機、采集芯片、通信接口和上位機組成。其中采集芯片是系統的核心部件,采用ARM核心的STM32F103芯片,采集芯片控制系統的變速器、轉向盤、加速踏板及各種開關等的位置狀態,包括對數據進行采集、存取、時間參數設置與主機通信等。時鐘信號也是由采集芯片產生,定時對采集芯片機產生復位信號,使主單片機完成一次數據采集,然后又進入休眠狀態。其中轉向裝置采用光電編碼器和現場可編程邏輯正列(FPEG)組成數字式傳感器,通過RS232與STM32通信。
數據采集系統在工作時,對模擬數據首先要通過放大器對信號進行處理后傳送到STM32F103的ADC模塊轉化為數字信號,對開關量和數字傳感器信號通過I/O或通信接口傳送到STM32F103,最后采集來的信號按照一定的通信協議發送到上位機處理。
圖1 汽車模擬器數據采集系統總體設計
2 硬件設計
仿真駕駛室內的需要檢測各種模擬裝置的信號。這些狀態根據采用的傳感器可分為三類:數字量、模擬量和開關量。
2.1 模擬量的采集
加速踏板、離合器踏板和行車制動踏板(三踏板)的踏板行程分別反映供油量大小、離合器結合程度及制動力大小,所以傳感器應采集出的是連續變化的量,即是模擬量。模擬量的采集要去抗干擾能力強,在設計中選擇了線性位移傳感器與三踏板的機械連接組成。線性位移傳感器的阻值變化特性為直線型,能夠準確反映三踏板行程的大小。
STM32 核心為CORTEX-M3,內部集成了2個1Msps12bit的獨立ADC,2個ADC前端由兩個多路切換器組成16路的模擬輸入通道,并將每個模擬輸入通道的結果存入對應的16個A/D轉換數據寄存器(ADDR)中。并且內部高達 72MHZ的主頻,高達1.25DMIPS/MHZ的處理速度,ADC最高速采樣的時候需要1.5+12.5個ADC周期,高速的DMA傳輸功能,靈活強大的4個TIMER等。加速踏板、離合器踏板和行車制動踏板模擬信號經多路模擬開關和信號調理電路經相應的控制電路與ADC0、ADC1和ADC2三個模擬通道相連,完成對信號的采樣與轉換。
2.2 開關量采集
模擬的操作有大量的開關量信號。組合開關、點火開關等采用EQ153型實車開關來實現仿真駕駛的開關操作功能,在實車開關上都有微動開關,主芯片可通過光電隔離器與微動開關相連,提取開關量,并轉換為標準邏輯電平進行處理。變速器采集模塊采用兩個PCB電路板構成變速器模擬裝置,一個PCB電路板裝有4對發光二極管和光敏三極管,一對放光二極管和光敏三極管構成一路采集,固定于變速器外殼內與機械結合采集檔位桿操作動作,變速器采集模塊與主控板I/O采集接口連接,當有檔位使能動作時,主控單片機要實時采集到變速器的使能動作。手制動采集模塊選用行程開關模擬,采集手制動動作,行程開關安裝于手制動控制桿底側,手制動采集模塊接線端子與主控板I/O接口連接,主控板能實時采集到手制動操作使能。
2.3轉向盤關電編碼設計
轉向盤度采集模塊采集轉向盤的旋轉的角度、方向。考慮在實際駕駛中轉向盤要求有一定的間隙,在采集時,采集精度要低,所以選用了以光電編碼為原理的碼盤檢測機構與轉向盤的轉向立柱連接用于模擬轉向裝置,光電編碼為750個脈沖/圈,將轉向盤的角位移轉換為電脈沖輸出。光電編碼單獨采用現場可編程邏輯陣列(FPGA)數據處理,FPGA不僅具有高精度的同步傳輸能力,而且具有速度高、體積小、抗干擾能力強的優點。如圖2所示,由光電編碼器輸出的A相、B相和Z相脈沖信號經光電耦合器抑制傳輸過程中的高頻噪聲信號后送入FPGA處理器,在FPGA中按照倍頻和鑒別方向設置等進行計數處理,得到實時脈沖數,最后通過RS232與采集芯片通信,并傳輸到主控芯片STM32F103。
圖2 轉向盤光電編碼硬件設計
2.3 與主機的通信接口
由于數據采集單元與上位機的主控室距離較長,所以采用傳輸距離可達1000多米,傳輸速率10Mbs的RS485總線通信標準。通信接口芯片采用Sipex公司的SP3075E芯片,接口設計如圖3所示。論文格式。
圖3 通信接口連接圖
3軟件設計
模擬器數據采集系統在數據采集過程中,應完成多路模擬信號的采集和轉換,在上位機指令下將采集到的數據按一定的通信協議向上位機發送,并根據上位機下傳的各種輸出信號直行相應的操作并開始下一次數據采集,將采集的數據儲存在采集系統的存儲器中,等待上位機的上傳指令。按照采集任務,主程序可分為多路AD轉換模塊、RS485通信模塊和中斷服務程序模塊,軟件流程圖如圖4所示。
圖4 主程序流程圖
3.1 AD信號采集程序片段及注釋
ADC1->CR2.B.ADON = 1; //開啟ADC
ADC1->SMPR1.W= 0; //設置每個通道的采樣時間
ADC1->SQR1.W= 0; //設置序列轉換長度和通道
ADC1->CR1.B.SCAN= 1; //掃描模式開啟
ADC1->SQR1.B.L= 5; //轉換長度為6
ADC1->CR2.B.DMA= 1; //使用DMA
ADC1->CR2.B.EXTTRIG= 1; //使用外部觸發信號
ADC1->CR2.B.CAL= 1; //開始ADC校準
3.2通信接口程序片段及注釋
與上位機的通信模塊使用了兩個中斷,分別用于接收和發送中斷。通信模塊中還需設置破特率BRR。
USART1->BRR.W= UARTclk/Bud; //設置波特率
USART1->CR1.B.UE= 1; //使能UART1模塊
USART1->CR1.B.TE= 1; //使能UART1模塊發送功能
USART1->CR1.B.RE= 1; //使能UART1模塊接收功以
USART1->CR3.B.DMAT= 1; //發送使用DMA方式
USART1->CR1.B.TCIE= 0; //禁止UART1模塊發送完成中斷
USART1->CR1.B.RXNEIE= 1; //使能UART1模塊接收中斷
NVIC->ISER2.B.UART1= 1; //使能UART1的中斷
NVIC->ISER1.B.DMA1_CH4= 1; //使能DMA結束中斷
4 結束語
本文闡述了汽車仿真駕駛模擬器數據采集系統的設計,經實踐表明,STM32主控芯片具有強大的數據運算和處理能力,保證了汽車仿真模擬駕駛器數據采集系統能夠以高精度和高準確度工作,完成對模擬器數據的采集。
參考文獻:
[1]孫洪波等.TMS320C5000系列DSP系統設計與開發實例[M].北京:電子工業出版社,2004.
[2]周立功等.ARM嵌入式系統教程[M].北京:北京航空航天大學出版社,2005.
[3]張志勇.數據采集系統硬件設計與實現[J].應用能源技術,2009,10:36-38.
一、計劃的內容
計劃的核心包括目標、措施、步驟,這就是通常所說的計劃的三要素。
目標--做什么?本篇畢業論文所要完成的主要任務和重要的指標。措施--怎么做?要求確定執行計劃的具體辦法和途徑。
步驟--何時做?制定畢業論文寫作的整個進度和安排。這部分是論文寫作計劃的主體,其中包括獲取材料的途徑、方式及需要的時間,閱讀方式、整理研究方法和期限,擬定提綱撰寫初稿的進度。此外,還應考慮研究經費,進行物力、財力的預算。
二、寫作日程表
編列協作日程表的主要目的在于全面籌劃,避免前松后緊。院校專業的不同,水平,經驗方面也有差異,很難有一個統一的時限,也沒有什么統的格式。某學校的寫作8程表安排如下:
確定選題 2周
實踐、實習,搜集材料 4周
制定提綱,擬定論文框架 1周
完成初稿 1周
征求意見,修改論文 1周
定稿、謄清、裝訂 4天
做好參加答辯的準備 3天
總體上需要10周時間,若是從4月上旬開始,可在6月中下旬結束。
現以某校計算機應用專業的物業管理系統圖書管理系統畢業設計計劃示例如下:
題目一:物業管理系統
用于住宅小區的事務管理。設計該系統的目的是運用計算機,對小區內的水電費、物 業管理費收付款、住宅小區住戶等信息進行管理,以實現物業管理的規范化。提高物業管理工作效率。
系統功能分為數據采集、信息查閱、數據庫維護等模塊。
題目二:圖書管理系統
用于圖書借還日常數據的微機處理,設計該系統的目的是運用計算機,對圖書館的圖書借間、圖書歸類管理、還書進書處理、罰款登記處理等信息進行管理,以實現圖書館管理的規范化,提高工作效率。
系統功能分為數據采集、數據更新、信息查閱、數據庫生成與維護等模塊。時間安排:
1.系統需求分析確定系統的規模目標,(1周)
2.系統設計階段確定開發系統的語言環境及管理模塊結構,各人按所分工的模塊開始設計。(3周)
3.各學員按設計的模塊實現端程、調試。(4周)
4.進行總體合并,形成系統,由各小組負責人進行全面調試并檢測各模塊的兼容性。(1周)
【關鍵詞】三維建模;三維空間模型;人機交互;攝影測量;三維點云
1、引言
隨著數字采集技術的不斷發展以及“數字地球”、“數字城市”概念的不斷深化,人們已不再滿足于傳統二維手段描述的三維信息,目前三維模型已成為繼圖像、聲音和視頻之后的第四種多媒體數據類型[1],物體的表現形式也逐漸從二維表示向三維自動化建模的方向過渡。
目前實現三維建模的方法大致有以下幾種:一是直接利用三維建模軟件,如計算機輔助設計軟件(AutoCAD)、三維動畫渲染和制作軟件(3D Studio Max)等工具人機交互式三維建模;二是直接利用GIS的二維數據和高度信息建立三維模型,但這種方法只局限于規則對象的建模;三是基于數字攝影測量原理對物體快速建模。隨著數據采集技術的不斷發展和自動化,根據三維激光點云數據自動構建三維模型正成為研究的熱點。本文對現今常用的地物建模方法進行比較分析,總結出了各種建模方法的特點。
2、三維建模方法
本文以校園中建筑物為建模對象,分別通過以下3種常用的建模方法進行三維模型重建:基于AutoCAD的人機交互式建模、基于掃描點云的建模、基于近景攝影測量的建模。
2.1 基于AutoCAD的人機交互式建模
對于幾何形體相對規則的建筑,常規使用免棱鏡電子全站儀對建筑物構件的三維特征點進行散點式數據采集。本文采集數據同時采用“四位編碼法”對特征點編碼[2],并按建筑構件分類分層存儲。繪圖時根據特征點編碼結合測繪順序在CAD中編寫LISP程序對建筑物實現自動展點和自動連線生成線框圖。以同濟大學某學生宿舍為例,在CAD中連線后的線框圖見圖1(a),圖中3個藍點為門上3個特征點,這些點不同時位于門所確定的豎直面內。可見三維繪圖不是實測點位的簡單連線或修補,需以實測點位為基礎,綜合考慮建筑的施工、形變和測量誤差及建筑特性,采用擬合的方法對線框圖進行局部處理,最后構建三維實體,如圖1(b)所示。
(a)門窗的4個圖元不共面
(b)構建后的實體效果
圖1 繪制步驟及效果
此外,游天[3]等人利用對象三視圖為底圖在三維制作軟件中直接建模,并將三面圖對模型進行紋理映射提高模型的真實度。本文也以學校校門為例對此方法進行了驗證,實驗證明該方法構建的三維實體模型精度也能滿足一般要求。
2.2基于掃描點云的建模
對于不規則物體,全站儀則顯得無能為力了。三維激光掃描技術克服了傳統數據采集方式的不足,應運而生的模型自動化重建技術愈來愈受到重視。目前基于掃描點云的建模一般流程可概括為點云的獲取、表面重建、點云的處理與建模三個階段。以校園某建筑為例具體實驗步驟如下:
(1)點云數據獲取。本實驗采用Leica C10對某樓進行掃描測量,根據該樓的輪廓特征和實際掃描范圍等影響因子,本次測量共設16站。
(2)點云數據預處理
為了給建模階段提供較理想的點云數據,需對原始點云數據進行點云拼接、去噪、采樣等預處理。點云數據預處理既可通過算法[4] [5] [6] [7] [8] [9]實現,也可以通過掃描儀配套軟件如Cyclone、Faro Scene等完成。這一步操作十分重要,是決定后續數據質量好壞和執行效率的關鍵。
(3)點云數據建模
目前,對建筑物點云數據模型重建的研究多數從兩個方面展開:一方面提取建筑物的邊界特征,以特征為約束構建三維實體模型;另一方面是直接對點云數據網格化,建立拓撲關系,進行表面重建和優化。本實驗采用點云數據分割、曲面擬合以及交互組合的方法來實現建筑物對象的三維建模。建模步驟大致可分類以下三大步:
a)海量散亂點云數據分割
點云分割是為下階段精細建模做準備。本文根據空間點的鄰域關系估算點與點間的拓撲關系,將建筑模型分割為平整墻面、屋頂和附件幾大區域。
b)分割部分精細建模
自動識別提取點云數據特征,并以此特征為約束迭代擬合模型,在此基礎上構建三角網格。
c)模型拼接
根據模型間的特征及法矢拼接相鄰模型,對拼接后的兩模型公共區域部分的三角網進行裁剪、檢查以及模型修補和優化。
綜合以上步驟,基于點云數據建成的三維模型效果如圖2所示。
圖2 文遠樓三維模型
2.3基于近景攝影測量的建模
本實驗攝影采用的是非量測型相機,以同濟大學某建筑正門為例,根據近景攝影測量原理構建三維模型的流程步驟如下:
(1)影像采集。以多攝站正直環繞攝影方式用普通相機對大禮堂進行攝影,共布設8個攝站。圖3為正門前的觀測示意圖,其中S1、S2為兩個觀測站,J1~J4分別為正門前4根柱子上粘貼的4個人工標志。
圖3 現場觀測圖
(2)坐標解算。考慮到非量測數碼相機的內、外方位元素的初始近似值未知以及像點、攝影中心、相應地物點間的不共線,需使用加入像點坐標改正數(本實驗僅考慮物鏡輻射方向的光學畸變改正數)的直接線性變換解法,建立像點坐標與相應物點空間坐標之間的線性關系。
(1)
式中,)為像片上以任意點為原點的像點坐標,為點的物方空間坐標,L1~L11為11個變換參數。
(3)繪制實體
在相片上采集一定密度的特征點并解算該特征點的三維坐標,反向投影到三維空間后借助三維繪圖軟件展繪建筑上的特征點,增補遺漏點,并利用計算機視覺技術構建一個線框和幾何實體模型。圖4為繪制的建筑前門線框模型。
圖4 前門構建線框圖
3、三維建模方法對比分析
基于人機交互的建模、基于掃描點云和基于攝影測量的建模這三種建模方法都是基于測量的建模方式,都需要以外業采集的三維坐標數據為基礎進行建模。
基于人機交互的建模方法應用時間較長,技術路線較成熟,國內外研發的許多控制集成建模軟件都可以利用基本的幾何元素構建復雜的幾何場景。這種建模方法靈活,能逼真再現對象的幾何結構和表面紋理信息,適合用于對建模效果和細節要求較高的對象。但對于諸如小區、城市這樣的大規模場景,如果每個模型都進行精細建模,不僅工作量大、費時費力,而且龐大的數據量也要求計算機硬件具備配套的處理能力,這也成為日后模型調用、管理的一大瓶頸。
基于點云的三維建模方法適用于不規則對象的三維建模,三維激光掃描技術克服了傳統數據采集方式的不足,提高了數據采集的精度和效率,獲得的點云數據信息量大,包含三維空間信息、顏色屬性和反射強度信息,通過一定的算法對點云數據進行處理即可快速構建被測物體的三維模型。這種方法自動化程度高,構建的數字模型不僅精度較高還帶有豐富的細節信息。但三維激光掃描在掃描過程中容易產生漏洞,且龐大的點云和數據處理技術也制約了該技術的進一步發展和廣泛應用。
基于攝影測量的建模包括近景攝影和相片處理兩個過程,且兩階段可獨立進行。攝影時可根據測量精度要求選用量測攝影機或非量測攝影機;目前相片處理技術已相對成熟,許多現成的成熟軟件和算法可以直接使用。這種方法建模速度快、自動化程度高。但近景攝影測量也存在一定的局限性,例如獲取影像時需要布設控制網,這就加大了外業的工作強度;而且影像上灰度變化不明顯部位無法獲得同名點,這也就制約著三維建模的精度。
4、結論
通過以上的對比分析不難看出,三維模型重建過程中,建模方法和技術路線的選擇尤為重要。在實際建模過程中,不要局限于某一種建模方法和技術,應從項目的實際情況出發,分析數據采集方式和數據類型,選擇合適的建模方法。一般采集特征點及近景攝影測量技術結合建模軟件構建簡單建筑等規則對象模型,利用三維激光掃描點云對不規則物體進行精確建模。在實際應用中會遇到或規則或不規則的建筑物(群),需要采用不同的數據采集技術、三維建模方法和可視化工具,因此不同建模方法應相互融合、交織使用。
參考文獻:
[1]許敏,張永生.三維實體模型庫的設計與實現.微計算機信息.2008,vol.24(3-7): 207~209
[2]顧孝烈,鮑峰,程效軍.測量學.第四版.上海:同濟大學出版社,2011
[3]游天,夏青.三維實體模型的建模技術.測繪科學.2012,vol.37(6):172~174
[4]高志國.地面三維激光掃描數據處理及建模研究:[博士學位論文].長安:長安大學,2010
尹婷.三維激光掃描數據處理技術的研究:[博士學位論文].武漢:武漢理工大學,2010
[5]楊維國.基于OpenGL在激光掃描數據處理中的應用研究:[博士學位論文].上海:上海交通大學,2010
[6]尹婷.三維激光掃描數據處理技術的研究:[博士學位論文].武漢:武漢理工大學,2010
[7]盛業華,張卡,張凱等.地面三維激光掃描點云的多站數據無縫拼接.中國礦業大學學報.2010,vol.39(2):233~237
[8]官云蘭.地面三維激光掃描數據處理中的若干問題研究:[博士學位論文].上海:同濟大學,2008
[9]施貴剛.地面三維激光掃描數據處理技術及作業方法的研究:[博士學位論文].上海:同濟大學,2010
關鍵詞:數據采集,波形發生器,DMA,工業控制
0 引言
某發射機構作為導彈武器系統的重要發射控制部件,其性能的好壞直接影響武器系統的總體戰術指標。因此發射機構在研制過程中和投入生產后需進行嚴格的測試,進行常溫測試、高低溫測試和交付試驗等,檢測發射機構在常溫及高低溫狀態下的性能。論文寫作。通過測試,暴露出發射機構各分組件、部件、分部件及有關元器件的制造缺陷,可及早將這些問題予以排除,提高發射機構工作的可靠性,以完成產品的調試生產、質量控制、驗收交付等任務。
1 問題的提出
發射機構測試系統是根據生產任務要求研發的,原有測試軟件是用C語言在DOS下開發的,界面簡單,操作復雜。隨著計算機硬件的升級,WindowsXP已經成為主流的操作系統,研制在Windowsxp新的測試軟件是非常必要的。
2 策劃
2.1硬件設計
本測試系統主要由工藝發射機構產品、信號處理電路、數據采集板卡、工控機以及軟件平臺等組成。發射機構的一些數據被數據采集板卡測得;各項狀態則通過信號處理電路進行調理后,引入工控機;軟件系統根據測試要求輸出控制信號,經過處理電路后來實現對產品的控制。工控機內裝有研華公司的PCI-1710卡和PCI-1721用來控制產品狀態和讀取測試數據,系統結構如圖1所示:
圖1 發射機構測試系統硬件框架
2.2 系統的軟件設計
發射機構測試系統的軟件采用NI公司的LabWindows/CVI進行設計開發。該軟件是面向計算機測控領域虛擬儀器軟件開放平臺,是以ANSI C為核心的交互式虛擬儀器開發環境,將功能強大的C語言和測控技術有機結合,具有靈活編程方法和豐富的函數庫,為開發人員建立檢測系統、自動測試環境、數據采集系統、過程監控系統等提供了理想的軟件開發環境,是實現虛擬儀器及網絡化儀器的快速途徑。
為了提高測試模型組合的靈活性和通用性,采用模塊化設計的原則,將測試系統分為數個模塊。本測試系統軟件功能的結構框圖如圖2所示。
圖2 軟件系統結構框圖
系統狀態控制模塊可進行測試系統自檢狀態和測試狀態的轉換;
狀態監控模塊可監控發射機構的供電、開鎖,切除等狀態并顯示到面板的指示燈;
發射機構狀態控制模塊可通過測控電路控制發射機構各種測試狀態;
板卡控制模塊可對PCI-1710和PCI-1721板卡進行控制和測試數據的采樣;
功能測試模塊可對發射機構的各個測試項目進行測試并記錄測試結果;
數據記錄模塊可將測試數據導入到EXCEL電子表格并可打印輸出;
3 實施方案
3.1 硬件設計方案:在測試系統中,除了要處理模擬量輸入、輸出信號外,還要處理開關量和脈沖量信息,以便及時反映開關量狀態并執行監視、控制的功能。硬件中采用光電隔離技術,使用光電隔離不僅可以使計算機的控制輸出通道與被控負載之間在電氣上完全隔離而達到良好的抗電磁干擾技術指標,也使這些控制指令具備足夠的功率驅動能力,進而可靠實現驅動繼電器等部件的目的。
3.2 測控軟件設計方案:測試軟件主界面主要完成的功能是實現測控系統的功能選擇和系統的測試數據管理,測試系統主界面如圖3所示:
圖3 測試系統軟件主界面
從圖中可以看出,用戶界面是一個有機的界面系統。主要包括:
A. 測試信息區域,用于輸入和顯示本次測試的產品編號、操作者、檢驗員等信息。
B. 測試項目區域,配合快捷按鍵可測試中的各項參數,便于測試人員在測試過程中更加直觀地觀察測試過程。
C. 測試狀態指示區域,用來指示發射機構的各個測試狀態。
D. 測試過程消息區域,用來指示測試過程現在進行到那個步驟,并給出該測試步驟的狀態信息。
E. 測試電壓監視區域,主要在測試過程監測發射機構供電電壓。
F. 測試信號波形指示區,在測試過程中顯示測試信號的波形。
G.自動測試按鈕,按下該按鈕,可實現自動測試的功能。論文寫作。
3.3 軟件測試流程圖如圖4所示:
3.4 關鍵技術:
3.4.1信息信號和制導指令信號的模擬輸出技術:
在本測試系統中,需要模擬導彈產生的信息信號和制導指令信號。測試軟件采用DMA技術利用PCI-1721板卡產生各路波形信號。主要函數定義如下:
void SetMultiToOneBuffer(USHORTusEnabledChannel, int count);
voidSetRealBuffer(float far *lpBuf, long num, LPSWAVE lpWave);
voidUserThread();
voidadInterruptEvent();
voidadBufChangeEvent();
voidadOverrunEvent();
voidadTerminateEvent();
voidMyFreeBuffer();
int Inf_Out(intnum,long rate,float Magnitude0,float Magnitude1,float Magnitude2,floatMagnitude3);
通過上述函數將需要產生的波形先存入緩沖區,在啟動PCI-1721的DMA數據傳送的功能啟動線程,即可產生需要的各種信號波形。
3.4.2 測試系統要求實時監控產品的各項狀態。
由于使用Timer定時器時所發送的定時消息受到消息隊列和系統時鐘頻率等因素的影響,不能使得定時消息得到及時的響應和處理。同時,測試流程中需要進行一定的延時等待,因此,不能使用Timer定時器。在此,使用異步定時器控件來實現實時監控的問題。異步定時器通過加載驅動位于toolbox中的 asynctmr.fp來實現調用。與定時器控件相比,異步定時器控件由于使用獨立線程,與程序主線程無關,能夠提供可靠的定時精度,不會受到主載荷的影響。異步定時器的建立、刪除和設置,分別通過調用函數 NewAsyncTimer()、DiscardAsyncTimer()和SetAsyncTimerAttribute()來實現。定時響應函數的聲明為:IntCVICALLBACK MyTimerCallback (int reserved, int theTimerId, int event, void*callbackData,int eventData1,int eventData2);
在測試系統軟件啟動以后,建立一個定時器;然后設置定時器的定時時間和響應函數;在軟件退出時,刪除定時器;在定時響應函數中,調用板卡控制模塊提供的讀取數據函數,來實現實時狀態監測的功能。論文寫作。
2.效果和結論:
測試軟件現已經過調試和嚴格的測試,運行良好,測試結果可靠,操作界面友好,使用方便,測試結果準確,測試過程簡潔優化,大大提高自動化檢測水平。該測試系統現已經過檢驗驗收,達到交付的狀態,完全滿足了發射機構自動測試的需要。
參考文獻
[1]NationalInstrumentCorporation.LabWindos/CVIUserManual[M].2005.
[2]孫曉云,郭立煒,孫會琴.基于LabWindows/CVI的虛擬儀器設計與應用[M].北京:電子工業出版社,2005.
[3]張毅剛,喬立巖等.虛擬儀器軟件開發環境LabWindows/CVI6.0編程指南[M].北京:機械工業出版社,2002.
[4]周磊,滕克難,施建禮.基于LabWindows/CVI高精度定時[J].電子測量技術,2004,4:29-30.
[5]郭雅蔭,楊世鳳,王建新.LabWindows/CVI與PCI數據采集卡通訊技術研究[J].電子測量技術,2007,30(5):78-80.
在數據倉庫建設過程中,經常遇到無信息系統進行管理的制式EXCEL報表數據。這類數據入庫常采用以下兩種方法:一是開發新的信息系統重新錄入數據;二是借助第三方工具,如SQLLDR、POWERBUILDER、PL/SQL DEVELOPER等導入。方法1數據重復錄入,工作量大;方法2簡單,速度快,但無法解決下面三個問題:
一是名稱轉代碼問題。通常,報表只提供單位或物資名稱,而名稱不利于信息的查詢、維護,必須轉換為代碼;
二是名稱與代碼間的多對一映射問題。同一單位或物資在不同的報表中極有可能出現名稱不一致現象,如何將其映射到同一代碼也是直接導入無法解決的問題;
三是交叉報表數據無法直接入庫。我們在詳細分析各業務部門提供的EXCEL電子表格的基礎上,對其進行了準確的類別劃分,通過二級映射機制,設計了C/S結構的通用數據采集工具,很好地解決了此類數據的入庫問題。
2 電子表格文檔分類
EXCEL電子表格可分為三種主要樣式:
行列式:電子表格中的行和數據庫表中的記錄一一對應,列與數據庫表中的字段一一對應。
卡片式:每一頁(SHEET)對應庫中的一條記錄(RECORD),單元格對應數據庫表中某一行中的某一字段。
交叉式:電子表格中的一行應轉換為數據庫表中的多行。
3 設計思想
針對這三種主要表格樣式,以通用性、易用性為指導思想,通過“兩級映射”機制,即EXCEL文件到數據庫表的映射、行列到表字段的映射,映射表結構見表1、表2,設計了相應的數據采集工具。
3.1 數據采集總體流程
數據采集總體流程如下:
(1)維護文件映射表和字段映射表;
(2)數據采集是否結束,結束轉(7),否則轉(3);
(3)判斷表格形式,如為行列式,進入(5);如為卡片式進入(6);如為交叉表進入(7);
(4)行列式信息采集,轉(3);
(5)卡片式信息采集,轉(3);
(6)交叉表信息采集,轉(3);
(7)采集結束。
3.2 行列式信息采集
由于行列式報表與數據庫表在結構上的一致性,采集相對簡單,只需注意以下三點:
真實數據從第幾行開始;確定需要進行代碼轉換的列;確定列的代碼轉換類型。
3.3 卡片式信息采集
卡片式信息采集算法如下:
(1)確定文件中的卡片總數CNT,該數即為將入庫的記錄數;
(2)循環變量I初始化為1;
(3)I大于CNT,轉(8),否則轉(5);
(4)將第I張卡片信息讀入臨時數組;
(5)名稱轉代碼處理;
(6)數據入庫;
(7)I增1,轉(3);
(8)數據采集結束。
3.4 交叉表信息采集
為節省篇幅,僅給出算法基本思想:
掃描EXCEL文檔確定入庫數據的總行數和總列數;初始化行指針和列指針;列指針為外層循環,行指針為內層循環,開始遍歷數據,同時進行有效性檢查和代碼轉換,有效數據入庫,對無效數據記錄精確到行列的出錯信息,直至數據處理完畢。
[關鍵詞]門站計量,監控系統,總體設計
中圖分類號:TH814 文獻標識碼:A 文章編號:1009-914X(2015)45-0077-02
1 門站工藝流程介紹
天然氣門站具有過濾、儲氣、控制和計量等功能,主要負責為城市天然氣管網提供氣源,保障城市安全穩定供氣[1]。天然氣經由長輸管線高壓進入城市天然氣門站,經由過濾器過濾掉較大液滴和固相顆粒雜質之后,進入及其管網,并對天然氣計量之后進行加臭,隨后通過調壓系統將壓力下調至0.4MPa~1.6MPa的壓力之后,進入城市天然氣管網為千家萬戶供氣。根據門站的工藝流程分析可以確定門站主要需要監控的工藝設備有電動球閥、過濾器、流量計、調壓器以及管道進出口端壓力、溫度和氣體泄漏情況等參數,門站的工藝處理過程如圖1所示[2]。
2 系統總體設計方案
2.1 功能需求分析
結合天然氣門站工藝流程,可以得出天然氣門站計量監控系統主要需要實現對入站和出站壓力、溫度、流量以及相關設備運行狀態進行監控和計量。需要門站計量控制系統實現實時采集現場數據,并計量天然氣流量,實現流量補償功能;使用組態軟件模擬門站包括天然氣管道布局、電動球閥以及重要儀表位置的工藝流程;通過上位機監控系統可以監視門站現場電動球閥的運行狀態并能控制球閥開閉;對門站以及各集氣管道的進出口壓力、壓差和天然氣泄漏濃度進行實時監測,當各個測量值超過門限值時進行聲光報警;動態顯示門站現場采集的各電氣設備的生產數據,并提供實時數據曲線、歷史數據曲線瀏覽功能;提供數據管理功能,包括實時數據、報警記錄以及操作記錄的歸檔,并提供查詢統計接口;實現用戶權限等級的管理機制,確保高權限用戶的操作管理權以及低權限用戶的瀏覽權;提供現場數據的遠程瀏覽功能;利用OPC標準化接口驅動短消息報警模塊發送短信到維護人員手機;留有對調度中心的數據上報接口,與調度中心的通信將在二期工程中由調度中心實現。
2.2 總體結構設計
天然氣數據采集與監視控制系統主要由三個部分的組成:區域監控中心,無人值守站以及天然氣門站。本論文作為第一期工程主要針對天然氣門站進行軟硬件升級苑,通過門站計量控制系統的實現,完成對現場設備進行數據采集,流量計量以及球閥控制。
門站計量監控系統采用的是上下位機協作工作模式。下位機由PLC315-2DP中央處理器模塊、數字量輸入輸出模塊、模擬量輸入模塊以及電源模塊等硬件組成,負責實時采集現場數據、控制球閥、流量計量以及超限或故障報警;上位機采用WinCC組態軟件模擬天然氣門站的工藝流程,將下位機采集、處理的數據以及系統產生的報警信息和操作記錄展現給工作人員,并能通過手機模塊將報警信息及時發送到維修人員和工程師手機上,以便盡可能的縮短維護時間,同時需要將產生數據歸檔并提供控制球閥開閉的操作。門站計量控制系統的總體框架結構如圖2所示。
由于工控現場的傳感器和設備分布較為分散,在門站現場采用分布式I/O模塊ET200M將采集到的信號匯總,然后再講數據通過Profibus總線傳輸給PLC進行信號轉換和處理。當PLC更新了數據后,會根據采集的壓力、溫度等數據計算天然氣的瞬時流量和累積流量,然后通過工藝以太網將處理過的數據上傳給門站監控室內的上位機監控系統。上位機監控系統完成對數據的和統計,并將數據定時傳輸給監控中心。同時遠端客戶可以通過瀏覽器遠程訪問門站計量監控系統,瀏覽門站設備的運行和計量情況。通過圖2可以看出,天然氣門站計量監控系統不僅需要完成對天然氣流量的計量以及對現場采集數據的管理,還需要能夠與監控中心或遠端客戶進行數據交互。
3 軟硬件集成方案
3.1 軟硬件平臺選擇
天然氣門站計量監控系統分為上下位機兩部分,主要分布在監控室和門站現場兩個區域,其中監控室內包含了兩臺互為冗余的監控計算機以及PLC控制器;門站現場主要有電動球閥、各種工業測量儀表以及標準孔板等設備。
經過對現在工業領域市場上主流控制器的比較,本論文選用西門子公司生產的S7-300系列的PLC,其采用模塊化結構,具備高速的指令運行速度,可實現浮點運算能計算較為復雜的算術運算,可按用戶指定的刷新速度傳送數據,可自動處理數據傳送,可實現CPU智能化自診斷等優點,在工業自動化領域廣泛應用[3]。對應于西門子公司的PLC作為控制器,上位機選用與S7-300系列全Q合的西門子的WinCC組態軟件。該軟件是一款面向監控與數據采集的組態軟件,系統可靠性高。
為了提高監控系統的可靠性,上下位機均采用雙機熱備份冗余系統,同時為了配合PLC的冗余實現,將數據采集和輸出模塊交給分布式I/O模塊ET200M進行管理。PLC組成軟冗余系統作為控制系統的核心控制器,上位機監控系統采用雙工控機通過工業交換機進行冗余,實現數據實時熱備份,增強系統的可靠性和安全性,平臺框架可參照圖3。
3.2 軟硬件設備配置
根據對計量控制系統平臺選擇的分析,確定了系統軟硬件的框架平臺,下位機采用PLC組成計量控制系統,大大加強了系統的集成度,與上位機之間采用以太網通訊方式,增強了數據的傳輸速度,滿足了大數據量傳輸的需求,下面將對本計量監控系統軟硬件選型進行詳細介紹。
在門站計量控制系統中,監控室作為門站級的主控中心,監控室內工作人員通過上位機WinCC組態軟件對整個站場實現監控。工業控制計算機配置CP1613工業以太網卡,計算機采用Windows XP SP3操作系統,并安裝EXCEL 2007,WinCC V7.0 ASIA SPl和SIMATIC Manager STEP7(V5.5)。由于對孔板采用氣體分段計量較為復雜,基于穩定性、可靠性、實用性的考慮,系統下位機的PLC采用西門子公司的S7-300系列,作為本系統的數據處理核心,主要完成數據采集、流量累計、現場控制等重要功能。其主要的軟硬件配置如表1所示。
參考文獻
[1]吳筱峰.城市天然氣廠站中調壓計量系統的設計[J]煤氣與熱力.2010(07):21-24