<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 多線(xiàn)程技術(shù)在數據實(shí)時(shí)采集分析中的應用

多線(xiàn)程技術(shù)在數據實(shí)時(shí)采集分析中的應用

作者:電子科技大學(xué)自動(dòng)化工程學(xué)院 何佳委 李力 王厚軍 時(shí)間:2008-07-23 來(lái)源:中電網(wǎng) 收藏

  為了保證測試效率和數據處理的正確性,pWriteCounter既用于控制內存映射文件寫(xiě)入數據指針的移動(dòng),也用于判斷已接收的數據字節數,作為數據處理時(shí)讀內存映射文件指針的參考和是否開(kāi)始對數據進(jìn)行分析的條件。數據處理時(shí),并不是內存映射文件中寫(xiě)入數據后就馬上開(kāi)始分析,而是根據pWriteCounter確定已接收的數據字節數,直到接收回來(lái)大于一個(gè)標準幀長(cháng)度的數據后才開(kāi)始對此幀數據的誤碼率分析,這樣既避免了多次分析一幀數據,又保證了數據分析的正確性,而且減少了數據分析線(xiàn)程獨占CPU的時(shí)間。從最終實(shí)際運行結果來(lái)看,此方法有效解決了數據實(shí)時(shí)采集過(guò)程中掉數據的問(wèn)題。

本文引用地址:http://dyxdggzs.com/article/86129.htm

  數據經(jīng)分解寫(xiě)入對應通道內存映射文件后,還需要實(shí)時(shí)地將每個(gè)通道接收回來(lái)的測試數據和標準數據進(jìn)行對比分析,并以誤碼率形式進(jìn)行顯示,測試人員根據實(shí)時(shí)變化的誤碼率即可監測設備是否工作正常。數據分析處理流程如圖5所示。在實(shí)際使用中,設備可能出現的故障現象較多,采集接收回來(lái)的數據量相當大且數據出錯情況各不相同,不能誤判或漏掉任何一種情況,通過(guò)反復測試得出以下對固定格式數據處理的方法:

 

 ?、購拿總€(gè)通道的內存映射文件中逐個(gè)字節掃描幀頭0xAA,一旦檢測到幀頭0xAA,進(jìn)入第②步。

 ?、谑紫扰袛啻藥瑪祿膸参恢檬欠駷?x10,以及幀尾的前一個(gè)數據和對應的標準數據(標準數據幀尾的前一個(gè)數)是否相同,若同時(shí)滿(mǎn)足這兩個(gè)條件,說(shuō)明此幀數據為標準幀(此幀數據長(cháng)度和發(fā)送的標準幀幀長(cháng)度相等),若不滿(mǎn)足進(jìn)行第④步操作。

 ?、叟袛啻藥瑸闃藴蕩?,從此幀數據和標準數據的第二位開(kāi)始到幀尾一一進(jìn)行對比判斷(跳過(guò)第0個(gè)幀頭數據和第1個(gè)計數器數據),不相等則記錄出錯,每發(fā)現一處錯誤字節,錯誤字節數加1。進(jìn)入第⑥步。

 ?、軓膸^到幀長(cháng)度數據范圍內查找是否出現0xAA,出現0xAA,首先用第②步操作判斷此0xAA是否為下一幀數據的幀頭,若是下一幀數據幀頭,記錄幀頭前一個(gè)字節為此幀幀尾位置,說(shuō)明此幀數據有掉數據現象,否則為錯誤數據,調用非標準幀處理。

 ?、輳拇藥瑪祿蜆藴蕯祿牡诙婚_(kāi)始到確定的該幀長(cháng)度范圍內數據進(jìn)行一一對比判斷 (跳過(guò)第0個(gè)幀頭數據和第1個(gè)計數器數據),不相等則記錄出錯,并判斷為錯誤一個(gè)字節。

 ?、迿z查該幀中計數器數據與前后幀的計數器數據是否連續,如果連續則沒(méi)有幀出錯,否則有掉幀現象出現,需要根據前后計數器數據確定掉幀的長(cháng)度,并轉化為對應錯誤字節數。

  同時(shí)接上兩個(gè)被測設備驗證整個(gè)系統的性能,即使每個(gè)通道均選擇工作在最高波特率614.4 kbps和最高循環(huán)發(fā)送幀周期5ms下,仍能保證數據采集實(shí)時(shí)高速、數據質(zhì)量穩定且誤碼率低。

結束語(yǔ)

  實(shí)時(shí)測試與結果顯示如圖6所示。該技術(shù)已經(jīng)成功應用于某設備的檢測與維修系統,取得了良好的效果。經(jīng)大量測試驗證,此種多線(xiàn)程、內存映射文件和兩級緩沖的方法在高速實(shí)時(shí)數據采集和分析中效果很好。根據生產(chǎn)者和消費者的思想建立的讀寫(xiě)信號量有效地實(shí)現了采集和分析線(xiàn)程間的同步,內存映射文件的大小在開(kāi)始測試前申請為100M,當需要更長(cháng)時(shí)間測試時(shí)還可以動(dòng)態(tài)申請開(kāi)辟新的內存空間,既保證了系統的實(shí)時(shí)性要求,又有效節約了系統內存資源。

 

 


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>