《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 高速數字振動信號無線接收螺旋緩沖算法
高速數字振動信號無線接收螺旋緩沖算法
2018年電子技術應用第4期
趙立杰1,魏昊晨1,2,田志穎1,2
1.沈陽化工大學 信息工程學院,遼寧 沈陽110142;2.西北工業大學 航海學院,陜西 西安710072
摘要: nRF24L01+無線設備將數據以32 B作為一個數據包進行傳輸,但在上位機接收之后經常發生數據包粘連和不連續,致使在下一次接收之后出現數據不完整。以磨機采集信號和無線傳輸系統為例,系統需要振動產生的數據信號連續不斷地被傳送進來,且要保證數據包的間隔一致。為保證接收數據的完整性和實時性,提出一種螺旋緩沖區域模型,該模型構造出一個環狀隊列,可以臨時性地存儲一定量的數據,這些數據在環形隊列中時,就可以隨時對數據進行操控。經過球磨機筒體振動信號采集和傳輸裝置驗證,數據僅在不同步時刻發生丟失,大大降低了接收數據的錯誤率,為大數據量的接收提供了一種穩定機制。
中圖分類號: TP274
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.173250
中文引用格式: 趙立杰,魏昊晨,田志穎. 高速數字振動信號無線接收螺旋緩沖算法[J].電子技術應用,2018,44(4):65-68.
英文引用格式: Zhao Lijie,Wei Haochen,Tian Zhiying. Helical buffering algorithm for wireless receiving of high speed digital vibration signal[J]. Application of Electronic Technique,2018,44(4):65-68.
Helical buffering algorithm for wireless receiving of high speed digital vibration signal
Zhao Lijie1,Wei Haochen1,2,Tian Zhiying1,2
1.Institute of Information Engineering,Shenyang University of Chemical Technology,Shenyang 110142,China; 2. Institute of Navigation,Northwestern Polytechnical University,Xi′an 710072,China
Abstract: The way about nRF24L01+ wireless module to transmit the data takes 32 B data as a data package, and each time it will transmit one data package. Overlapping and discontinuity always occur after receiving the data by the host computer, which will lead to the next data package damaged or missed. Taking the system of ball mill signal acquisition and wireless transmission as an example, the vibration signal should be received continuously, and make sure that the packets are spaced identically. In order to ensure the data′s integrity and instantaneity, a helical buffer zone model is proposed. The model constructs a ring queue, which can temporarily store a certain amount of data, so you can manipulate the data at any time when these data are in the circular queue. After verification, the data are only missed in asynchronous time, which is known by the buffer algorithm simulation in the model of software design. This algorithm greatly reduces the error rate of data receiving,and offers a stabilisation mechanism for a large amount of data receiving.
Key words : large data reception processing;buffer design;algorithm model design;information processing

0 引言

    球磨機通過旋轉帶動筒體內部的研磨介質粉碎物料。研磨介質和物料在筒體旋轉過程中會不斷地撞擊筒壁內側,相應地在筒體表面產生振動響應。文獻[1]中表明球磨機筒體表面振動信號與筒體內部物料粉碎程度存在一定數學關系,因此就球磨機筒體表面的振動信號分析來間接推斷和預測出球磨機內部的負荷狀態,所以在設計球磨機負荷前端振動信號采集裝置中,要保證采集筒體表面的振動信號數據是準確、實時和連續的。

    根據文獻[2],磨機負荷前端振動信號采集裝置在工作時會通過nRF24L01+無線設備源源不斷地向接收端發送數據,數據傳輸速度可達到nRF24L01+的最高速度2 Mbit/s。在如此高速的情況下,則需要確保接收端準確接收數據。nRF24L01+最大可設定在一次傳輸任務中傳遞一個包含32 B的數據的數據包,在傳遞下一個數據包時中間需要間隔至少10 ns的冷啟動時間,這些數據包內的數據常常在經過協議轉換器件時發生數據丟失和粘連。在程序的接收中斷函數中如果直接以32 B為判定依據判定出接滿一個數據包,則會出現第一個數據包的后幾位和第二個數據包的前幾位組成一個32 B的數據包的情況,使數據位發生錯亂,致使信息丟失。

    數據緩沖和數據速度均衡在很多領域都有重要的應用,例如Linux文件系統內核代碼中含有inode緩沖區、dentry緩沖區、塊緩沖機制,這些對于數據IO性能有重要的作用;在速度均衡方面,Socket系統需要處理遠程主機發送過來的大量數據,每一個Socket都會配套一個緩沖區,該緩沖區用于解決應用程序寫入數據時的阻塞現象。文獻[3]、文獻[4]提出的緩沖區建立方法是單環結構可選擇阻塞和非阻塞的緩沖模型,易于負荷均衡,在解決球磨機振動信號連續大劑量數據時有顯著的速度均衡作用,可消滅相鄰數據包間的延時間隔,但無法解決數據包內數據黏連問題。文獻[5]提出的方法具備一般性,可應用于連續性數據的讀取,但在本文的硬件條件限制下,存在數據傳輸格式錯位問題,無法套用該模型。

    綜上,此軟件算法在整體的實時數據傳遞系統上要求數據是連續不斷持續供應的,且不能出現數據位錯亂。因此本文提出一個在軟件上建立的模型來解決nRF24L01+無線設備硬件規則與本設計要求的矛盾,以及協議轉換裝置出現的數據位錯亂和數據不連續問題。

1 模型結構

    為了清晰表達螺旋緩沖模型的機構設定和功能,使用圖1所示螺旋緩沖模型的思維導圖來解釋模型的結構和功能。模型設定有兩大機制,即時間機制和空間機制。

qrs5-t1.gif

    時間機制有兩個功能,糾正由于硬件設備自帶的緩沖功能造成的數據包內的字節錯亂問題。問題經常出現在許多協議轉換芯片上,例如由沁恒公司生產的CH340串口轉USB協議的芯片中,常常由于芯片內部的緩沖區導致數據包錯亂。不幸的是,本文使用的無線設備同樣具備該問題,這個現象將在下一節中詳細演示。時間機制另一個工作就是給定數據傳輸的固定節律,保證數據包的完整性,使數據包不會再次錯亂。

    空間機制為文獻[3]~[5]中環形緩沖區的功能,有一定的空間存儲數據、負載均衡作用。圖2所示為負載均衡器簡要功能示意圖,D1、D2、D3、D4數據包之間的間隔差異明顯,負載均衡器會消除這種差異,同時結合控速機制這些數據會均勻輸出。另外,在空間機制中還存在隱性的功能,將設定管道為“透明的”,有指針可以隨時提取管道內的數據,這將有助于一些做命令識別的通信數據。

qrs5-t2.gif

2 時間機制

2.1 功能概述

    時間機制是數據包接收的時間測量工具,數據包與數據包之間接收的間隔為10 μs,以此來判定分時使能數據接收功能。在設定相應的計時時間后,超過計時數時則使能接收功能,接收一組數據包完畢后清除超時標記位,數據指針歸0,數據推入到緩沖區后被清除,等到下一次超時計時使能開啟再接收下一個數據包。在超時標志位被清除之后,此時無法接收任何數據。該機制能有效地解決由于包和包之間時間間隔問題導致的數據位錯亂問題。要實現超時機制,務必要求處理器具備以下功能:

    (1)具備定時器并且定時器具有中斷功能;

    (2)具備可讀電平狀態的IO口或外部中斷。

2.2 原理介紹

    時間機制本質上是對有時間間隔的數據包進行同步讀取,保證數據是一個包一個包接收的,而不是一個包的后半部分和下一個包的前半部分組成32 B的數據包,圖3所示為數據包被拆開的一種可能性,錯位后組成的數據包包含了1 μs的時間延時分量,不但影響速度,還會因為數據斷載導致包丟失。

qrs5-t3.gif

    時間機制限定了以上在時間上自由讀取,與無線發送數據包函數配合,設定布爾標志位,判定可讀和不可讀兩種狀態。圖4所示為超時機制和發送函數配合的同步原理,超時機制進行計時,如果超時則將布爾變量設定為“真”,并停止計時,此時,整個發送系統進入到可讀狀態,32 B數據發送完畢之后,發送函數會將布爾標志位置為“假”,此時,整個發送系統進入到不可讀狀態,計時系統開始計時等待下一個周期的數據包,重復上述操作。

qrs5-t4.gif

    引入時間機制,若發生數據錯位,如圖5所示,在第二個包發送完畢后由發送函數拉低標志位開始計時,恢復同步時序。

qrs5-t5.gif

3 空間機制

3.1 功能概述

    任何系統中都有自己的一套數據管理方法,數據管理影響著整個系統的性能。在第1節中介紹了時間機制,解決了數據包黏連和錯位的問題,但在接收過程中數據包和數據包之間存在1 μs的延遲,在對球磨機負荷振動信號的采集過程中,不允許以32 B為分割,要求數據是無間斷連續的。在螺旋緩沖中的數據還可以不斷對緩沖區域內的數據進行判定,所以就可以應用于一般通信模型的響應命令模式。

3.2 螺旋緩沖區模型

    螺旋緩沖區的構想源于數據結構中先進先出的線性隊列。通常在C語言中定義一個線形隊列使用一維數組的方式,數組索引即是隊列中的序號。螺旋緩沖區也為一個先進先出的隊列,但在定義方式上采取二維數組的方式,例如data[x][y],索引代表在y層螺旋上的第x個元素,如圖6所示。螺旋緩沖區具有以下特性:

    (1)可以有N層;

    (2)每一層環形數據滿了之后可以進位到下一層,也可以在自己的一層形成首位相接的回環;

    (3)定義4個指針,分別為寫指針、讀指針、層指針和位置指針,可以實現任意位置的數據讀寫;

    (4)出口釋放速度可定義,實現非勻速數據進入,數據勻速輸出。

qrs5-t6.gif

3.3 速度討論

    在磨機振動信號采集過程中,nRF24L01+會以32 B為一個數據包向螺旋緩沖區內推入,每個字節數據的時序圖如圖7所示。

qrs5-t7.gif

    在該設備中,每當CLK信號的上升沿到來,無線設備寫1 bit數據,寫滿8 bit的數據產生一個字節。上升沿來臨需要40 ns的時間,傳遞一個字節則需要640 ns的時間,字節和字節之間還需要10 μs的延遲。為了使輸出速度平均,需要在螺旋緩沖區的出口處設立控速機制,實現勻速輸出。

3.4 作為環形緩沖

    圖8所示為環形緩沖區模型圖,環形緩沖區域為螺旋緩沖區其中的某一層次的俯視圖。

qrs5-t8.gif

    “N”處為環形緩沖區中最后一個元素,這個元素可以和“1”處封閉起來作為環形緩沖區,也可以斷開后與上一層環和下一層環連接上。在球磨機振動信號采集中,需要大型的緩沖區域,則需要每一層的圓環首尾相接。當磨機振動信號裝置處于命令模式時,需要對圓環進行銜接,形成閉合的圓環,啟用讀寫指針,完成對命令的實時響應。

    文獻[2]中給出單個高性能環形緩沖區模型,在模型中有一個不可忽視的弊端,即沒有應急命令區域。在整個系統設計過程中,應急操作尤為重要,而單個圓環需要對圓環內部數據進行處理完畢后,才能響應應急命令。而在本文中給出的螺旋緩沖,可以啟用兩層圓環,其中一個作為應急命令處理,一旦有數據優先對其進行處理。

4 算法實現

    基于文獻[1],利用已采集好的離散磨機振動信號作為數據樣本,對該系統中的數據模型實行可控速數據IO壓棧處理。利用TMS320VC5509A型號的DSP驅動nRF24L01+無線設備作為發送機,利用TMS320C6748型號的DSP驅動nRF24L01+無線設備作為接收機,接收的數據存儲在計算機上,進行一次性接收。

    由于數據十分龐大,故本文截取了8 000點的離散數據,為了讓數據分散度更清晰,在繪制圖像時對該數據進行倍乘處理,圖9所示為采樣的時域離散圖,從圖中可以看到,每一數據點以“*”和外圍“○”表示,“*”表示接收的數據,“○”表示發送的數據。本文將數據呈現在一張圖上,可以看清楚明顯的差異。

qrs5-t9.gif

    為了更清晰地表現數據樣本,本文將坐標范圍縮小至0~200,如圖10所示,研究開始的錯誤狀態。可以觀察到在一開始獨立的“○”和“*”分開了。

qrs5-t10.gif

    從圖10中可以看到,在一開始出現了不吻合狀態,這也是一開始本文提到的問題,當同步機制生效后,數據開始連續吻合了。在約126點和195點的位置,也發生了數據錯誤現象,原因暫時不明,后續將進行研究。

5 結論

    針對球磨機數字振動信號的字節流搭建了時間機制和螺旋緩沖區域機制,確保了數據包中數據組合的正確性和數據包間的數據連續性,為后續實時振動信號分析做好了鋪墊。

    本文提出的螺旋緩沖算法亦可以移植到其他協議傳輸上,例如TCP、USB、SCI、I2C等,只需要更換底層通信代碼,上層對于數據的處理只需進行少許的更改。

參考文獻

[1] 譚仁鵬.球磨機振動信號采集與無線傳輸裝置的設計與開發[D].沈陽:東北大學,2009.

[2] 趙立杰,陳斌,魏昊晨,等.一種非接觸式的球磨機旋轉筒體振動信號采集系統:中國,CN 105136276 A[P].2017-11-10.

[3] 姚章俊,陳蜀宇,盧堯.一種高性能環形緩沖區的研究與實現[J].計算機工程,2012,38(8):228-231.

[4] 楊澤林,李先發.基于雙指針環形緩沖區的數據采集系統設計[J].儀表技術與傳感器,2016(11):67-69.

[5] 黃毅峰.支持阻塞與非阻塞模型且線程安全的環形緩沖的設計與實現——環形緩沖、攻克高級緩沖技術的關鍵[J].電腦編程技巧與維護,2003(11):51-54.



作者信息:

趙立杰1,魏昊晨1,2,田志穎1,2

(1.沈陽化工大學 信息工程學院,遼寧 沈陽110142;2.西北工業大學 航海學院,陜西 西安710072)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产一区二区三区av电影| 亚洲欧美日韩视频一区| 另类亚洲自拍| 久久精彩免费视频| 亚洲国产cao| 欧美精品国产一区| 亚洲一区精品在线| 亚洲欧美日韩国产中文在线| 狠狠色丁香婷婷综合久久片| 欧美—级在线免费片| 久久人人爽人人| 日韩一级黄色片| 亚洲一区二区三| 今天的高清视频免费播放成人 | 99re6这里只有精品视频在线观看 99re6这里只有精品 | 一级日韩一区在线观看| 国产精品乱码一区二三区小蝌蚪 | 亚洲综合国产| 在线播放日韩| 欧美日本一区二区高清播放视频| 亚洲一区一卡| 亚洲综合日韩中文字幕v在线| 欧美在线网址| 亚洲日韩欧美一区二区在线| 国产精品另类一区| 国产精品拍天天在线| 国产精品天天摸av网| 久久久久**毛片大全| 9久草视频在线视频精品| 中文日韩电影网站| …久久精品99久久香蕉国产| 欧美深夜影院| 免费成人av在线| 先锋影音网一区二区| 日韩网站免费观看| 中文日韩电影网站| 亚洲韩国青草视频| 亚洲色图综合久久| 亚洲欧美激情视频| 久久大逼视频| 日韩亚洲欧美高清| 亚洲欧美成人一区二区在线电影| 欧美在线观看一区二区| 99精品国产99久久久久久福利| 99这里有精品| 午夜精品久久久久| 久热成人在线视频| 欧美日本网站| 国产精品视频免费在线观看| 狠狠色噜噜狠狠色综合久| 亚洲国产一区视频| 一区二区视频免费完整版观看| 亚洲欧洲一区二区三区久久| 加勒比av一区二区| 99re热精品| 亚洲精品国产精品久久清纯直播| 一个人看的www久久| 欧美在线黄色| 亚洲欧美日本国产专区一区| 欧美在线影院| 在线亚洲一区观看| 久久精品国产99国产精品| 午夜精品亚洲一区二区三区嫩草| 久久精品亚洲精品国产欧美kt∨| 欧美国产日本高清在线| 美日韩精品免费| 欧美性开放视频| 欧美日韩另类丝袜其他| 欧美成人国产| 久久婷婷丁香| 欧美日韩在线视频一区| 欧美天天在线| 激情综合中文娱乐网| 亚洲午夜久久久久久久久电影院 | 一本大道久久a久久精二百| 久久精品国产清高在天天线| 欧美日韩国产一区精品一区| 国产在线欧美| 黄色亚洲在线| 一区二区三区欧美日韩| 99精品国产99久久久久久福利| 欧美亚洲免费电影| 久久se精品一区精品二区| 亚洲日本欧美日韩高观看| 亚洲国产三级在线| 午夜精品久久久| 欧美日韩1080p| 一区二区在线观看av| 午夜精品视频在线观看| 亚洲在线观看| 日韩视频一区二区三区在线播放免费观看 | 亚洲人www| 91久久久国产精品| 欧美一级午夜免费电影| 久久av免费一区| 欧美日韩国产精品一区二区亚洲| 国产综合视频| 亚洲一区在线直播| 亚洲一区二区欧美日韩| 欧美激情1区2区| 尤物视频一区二区| 久久激情五月婷婷| 久久九九精品| 国产欧美日韩在线观看| 国产一区二区三区在线观看免费 | 欧美人与禽猛交乱配视频| 伊人精品视频| 久久成人精品视频| 欧美在线你懂的| 国产精品日韩一区| 亚洲一区国产| 亚洲欧美网站| 国产精品www994| 一区二区av在线| 亚洲一区日本| 国产精品国产a| 国产私拍一区| 亚洲国产一二三| 亚洲黄色大片| 欧美jizz19性欧美| 国产精品成人aaaaa网站 | 一本一本久久a久久精品综合妖精| 一区二区av| 香蕉乱码成人久久天堂爱免费| 欧美日韩国产一区精品一区| 亚洲精品系列| 亚洲视频中文| 国产精品蜜臀在线观看| 亚洲免费视频观看| 久久福利视频导航| 狠狠久久婷婷| 亚洲黄色精品| 欧美国产精品va在线观看| 亚洲人成人一区二区在线观看| 日韩亚洲欧美在线观看| 欧美日韩高清在线| 一区二区久久| 午夜久久久久| 国产一区二区三区不卡在线观看 | 亚洲动漫精品| 日韩系列在线| 欧美色区777第一页| 亚洲一区二区三区激情| 欧美一区二区在线免费观看| 国产午夜精品一区理论片飘花| 久久精品国产亚洲一区二区| 美女久久一区| 亚洲美女少妇无套啪啪呻吟| 性欧美xxxx大乳国产app| 久久精品99国产精品| 永久域名在线精品| 在线视频一区二区| 国产精品免费久久久久久| 欧美在线视频导航| 欧美激情91| 亚洲自拍电影| 久久综合99re88久久爱| 日韩视频免费| 欧美一区二区三区在线| 亚洲成人中文| 亚洲与欧洲av电影| 精品电影一区| 中文亚洲欧美| 国产日韩精品一区二区三区在线 | 国产精品日韩精品| 亚洲成人在线视频播放 | 亚洲视频综合| 国产亚洲精品久久久| 亚洲精品影视在线观看| 久久国产精品网站| 一区二区三区在线免费播放| 99国产精品一区| 国产毛片精品国产一区二区三区| 亚洲精品午夜精品| 销魂美女一区二区三区视频在线| 好吊色欧美一区二区三区视频| 日韩亚洲成人av在线| 国产日韩高清一区二区三区在线| 91久久在线播放| 国产精品久久国产精品99gif| 久久成人免费视频| 欧美日韩综合久久| 久久精品一区四区| 国产精品av久久久久久麻豆网| 久久狠狠亚洲综合| 国产精品久久久久久户外露出| 亚洲福利视频网站| 久久五月婷婷丁香社区| 日韩天堂av| 久久亚洲美女| 亚洲一级在线观看| 欧美理论电影网| 欧美在线视频一区二区| 欧美午夜女人视频在线| 亚洲精品国产精品乱码不99按摩| 国产精品一区二区久激情瑜伽| 日韩一级大片在线| 一区二区在线看| 久久国产精品久久国产精品| 日韩一级在线|