• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA 的PPM 調制解調系統(tǒng)設計

      2021-03-11 03:48:50施洪生
      電子技術應用 2021年2期
      關鍵詞:計數(shù)器時隙校驗

      侯 歡,施洪生

      (北京交通大學 電氣工程學院,北京100044)

      0 引言

      在數(shù)字電路設計中,現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)技術得到越來越廣泛的應用,特別是在通信領域。 對于FPGA 處理器之間的通信,一般采用傳統(tǒng)的有線連接,例如UART、CAN 等方式。 可當FPGA 處理器之間存在相對運動(即一個FPGA 處理器在旋轉側,而另一個在固定側)時,傳統(tǒng)有線通信方法會帶來不便,而無線通信恰好適用于此情況。 將基于FPGA 的PPM 調制解調無線數(shù)據(jù)通信技術應用在風機齒輪箱應力測試中,可以規(guī)避傳統(tǒng)有線式齒輪箱測量的種種風險[1],并且可以簡化復雜的滑環(huán)工裝設計,更加準確地對齒輪箱應力進行測試,同時也可以將此技術應用于其他旋轉器件的信號測試場合,例如,在數(shù)控機床技術中對其卡盤在不同轉速下的夾緊力性能進行實時監(jiān)測;在航空航天技術中對其航空發(fā)動機旋翼的應力、扭矩等進行測試。

      隨著無線通信技術的不斷發(fā)展,無線通信的方式也不斷出現(xiàn),其中各種方式的誤碼率、抗干擾能力和傳輸速率也不同,為了提高數(shù)據(jù)傳輸?shù)乃俾屎涂垢蓴_能力,本設計采用光電耦合的無線數(shù)據(jù)傳輸方式,其具有良好的抗干擾能力,它利用光波作為載波對信號進行傳輸,可以達到很高的傳輸速率,在光無線通信領域中,保證一定的速率下,要求傳輸功率盡可能小。脈沖位置調制(PPM)是一種正交調制方式,相比于傳統(tǒng)的開關鍵控(OOK)調制,它具有更高的光功率利用率和頻帶利用率,并能進一步提高傳輸信道的抗干擾能力[2]。 且基于FPGA 的脈沖位置調制(PPM)可以在高轉速、數(shù)據(jù)量大的旋轉件中快速、可靠地傳輸測量到的數(shù)據(jù),因而本設計采用基于FPGA 的脈沖位置調制(PPM)方式。

      1 系統(tǒng)整體結構

      本設計由旋轉側數(shù)據(jù)的采集和發(fā)送以及固定側數(shù)據(jù)的接收和處理兩部分組成,其中發(fā)送側包括PPM 調制電路的實現(xiàn),接收側包括PPM 解調電路的實現(xiàn)。 發(fā)送側是將A/D 轉化后的數(shù)據(jù)通過CRC 生成器加入CRC 校驗碼,再通過PPM 調制模塊轉化為PPM 脈沖信號,最后通過發(fā)送電路的紅外發(fā)射二極管以光的形式發(fā)送出去。接收側是將接收電路中的紅外接收頭接收到的數(shù)據(jù)通過PPM 解調模塊將數(shù)據(jù)解碼出來,再將數(shù)據(jù)進行CRC校驗,最后將數(shù)據(jù)傳給上位機進行顯示和處理。 系統(tǒng)整體設計流程如圖1 所示,圖2 為發(fā)送數(shù)據(jù)流程圖,圖3為接收數(shù)據(jù)流程圖。

      圖1 系統(tǒng)整體結構

      圖2 發(fā)送數(shù)據(jù)流程圖

      圖3 接收數(shù)據(jù)流程圖

      2 PPM 調制系統(tǒng)設計及仿真

      PPM 調制的編碼方式是將輸入的n 位二進制數(shù)據(jù)映射在脈沖位置調制一幀的L(L=2n)個時隙中,即在L個時隙中對應的第l 個時隙發(fā)送一個光脈沖信號[2],l 代表的是時隙的位置數(shù)。

      2.1 PPM 調制系統(tǒng)設計

      PPM 調制是將輸入數(shù)據(jù)轉化為不同時隙位置的脈沖,此過程可以用一個計數(shù)器來進行計數(shù),從而在不同時隙輸出脈沖的過程[2]。 以時鐘脈沖作為一個標準的時間間隔,將計時過程轉換成一個計數(shù)的過程。 計數(shù)模塊在時鐘的上升沿開始計數(shù),當計數(shù)數(shù)據(jù)與二進制調制數(shù)據(jù)相等時就在相應的時隙輸出高電平,其余時隙輸出低電平,由此得到一個不同周期內不同位置上出現(xiàn)脈沖的波形。

      在程序設計中PPM 調制思路如下,將系統(tǒng)時鐘分別進行四分頻和八分頻,其中四分頻時鐘是計數(shù)器的時鐘信號,八分頻時鐘是串并轉換的時鐘信號。 串行數(shù)據(jù)經過串并轉換模塊轉化為并行數(shù)據(jù),根據(jù)系統(tǒng)所需要的是4PPM,將系統(tǒng)時鐘信號經過四分頻器轉化為周期為4的計數(shù)器,把串并轉換輸出的數(shù)據(jù)和計數(shù)器數(shù)據(jù)輸入到比較器模塊中進行比較,如果兩者相同則輸出高電平,反之輸出低電平。最后經過一個脈沖成形模塊輸出窄脈沖,這樣可以減小鄰近信道對其的干擾。 圖4 是PPM 調制Verilog 流程圖。

      圖4 PPM 調制Verilog 流程圖

      本設計是對4PPM 調制系統(tǒng)的設計,因此需要將A/D轉化出來的數(shù)據(jù)進行串并轉換,使這些數(shù)據(jù)轉換為兩位一組的數(shù)據(jù),此部分是實現(xiàn)PPM 調制的關鍵。 串并轉換可以通過移位寄存器來實現(xiàn),本設計的思路是:先將第一位進入系統(tǒng)的數(shù)據(jù)緩存到寄存器中,等到第二個數(shù)據(jù)進來后,在下一個時鐘的上升沿到來時將這兩位數(shù)據(jù)同時輸出。 其主要代碼如下:

      2.2 PPM 調制仿真

      PPM 調制的頂層設計就是將調制部分的所有模塊都拼接在一塊,最終來實現(xiàn)調制的功能。 由于本設計是將A/D 轉換后的數(shù)據(jù)作為PPM 調制模塊的輸入數(shù)據(jù),因此編寫Verilog 代碼來產生一個隨機的m 序列來代替A/D 轉換后的數(shù)據(jù),最后在頂層設計中將m 序列發(fā)生器和PPM 調制模塊連接到一起形成完整的PPM 調制系統(tǒng)。 4PPM 調 制RTL 級 圖 如 圖5 所 示。 4PPM 調 制 仿 真 圖如圖6 所示。

      在圖6 的4PPM 調制仿真中,截取其中一段如圖所示,PPM 調制系統(tǒng)輸入的數(shù)據(jù)為InDat(0x55、0x79、0xd8、0xd8、0x55、0x79),其中0x79(0111_1001)經串并轉換后變?yōu)?1、11、10、01 四組數(shù)據(jù),4 位計數(shù)器依次計數(shù)00、01、10、11,當串并轉換后的數(shù)據(jù)與計數(shù)器的數(shù)值相等時,輸出數(shù)據(jù)q 就為高電平,得到輸出的q 之后,再將其高電平的寬度縮小為原來的四分之一,這樣可以減小鄰近信道對其的干擾。 由此得到了最終的4PPM 調制波形dataout。在圖7 中,輸入0x79 時間段中,經過了8 個八分頻時鐘,輸入數(shù)據(jù)依次為01、11、10、01,在與計數(shù)器值count 相比較后,分別在4 個時隙的第二個位置、第四個位置、第三個位置、第二個位置輸出了一個脈沖,這剛好與PPM 調制原理一致,從而證明了系統(tǒng)設計的正確性。

      3 PPM 解調系統(tǒng)設計及仿真

      3.1 PPM 解調系統(tǒng)設計

      PPM 解調可以由PPM 調制的逆向思路來實現(xiàn),在FPGA 解調過程中首先要提取幀同步信號,本設計中采用在數(shù)據(jù)的頭和尾分別插入特殊的幀頭和幀尾,以此來判斷數(shù)據(jù)的起始位和終止位。 進入FPGA 的是有一定規(guī)律的脈沖信號,檢測到幀頭后,再確定脈沖在一幀數(shù)據(jù)中所占據(jù)的時隙位置。

      4PPM 的編碼格式為:00 對應1000;01 對應0100;10 對應0010;11 對應0001,一幀PPM 數(shù)據(jù)由幀頭SOF(0111)、n 個字節(jié)的數(shù)據(jù)以及幀尾EOF(1101)組成,一般每幀數(shù)據(jù)有1 到16 個字節(jié),而且兩幀數(shù)據(jù)之間的時間間隔是任意的。

      表1 PPM 數(shù)據(jù)幀格式

      本設計中,首先每16 個時鐘周期采集1 位PPM 信號(din),所以需要一個16 位的計數(shù)器count0;解碼2 bit需要采到4 位din 信號, 因此需要一個3 位的計數(shù)器count1;完成一個完整的8 位信號,需要解碼2 bit 數(shù)據(jù)4次,所以還需要一個3 位的計數(shù)器count2。 其次,用移位寄存器將輸入的8 位數(shù)據(jù)進行暫存以便對其進行讀取,與此同時, 輸出的8 bit 數(shù)據(jù)是2 bit 數(shù)據(jù)輸出累加到8 bit,所以也需要移位寄存器對輸出數(shù)據(jù)進行暫存。設計一個4 位寄存器reg1 對輸入的數(shù)據(jù)進行移位操作,一個8 位寄存器reg2 對輸出的數(shù)據(jù)進行暫存,等待8 bit 移滿,就進行數(shù)據(jù)的輸出;最后需要設計一個狀態(tài)機來判斷是否進行解碼,S0 表示沒有收到幀頭,處于未工作狀態(tài);S1表示收到幀頭,開始進行解碼。 圖7 是PPM 解調Verilog流程圖。

      圖7 PPM 解調Verilog 流程圖

      圖5 4PPM 調制RTL 級圖

      圖6 4PPM 調制仿真

      在PPM 解調過程中,將最后解調出的數(shù)據(jù)以8 位數(shù)據(jù)的形式進行數(shù)據(jù)的輸出,所以需要一個8 位寄存器對數(shù)據(jù)進行緩存,等8 位數(shù)據(jù)移滿后將數(shù)據(jù)輸出。 其主要代碼如下所示:

      3.2 PPM 解調仿真

      在進行PPM 解調系統(tǒng)的仿真之前,首先需要編寫測試文件,然后將各個模塊加入到工程中[3]。 測試文件通過讀取"F:/PPM1.txt"的文件中的數(shù)據(jù)作為PPM 脈沖數(shù)據(jù)輸入到解調系統(tǒng)中,其中PPM 脈沖輸入數(shù)據(jù)如圖8所示,4PPM 解調仿真圖如圖9 所示。

      圖8 PPM 脈沖輸入數(shù)據(jù)

      由圖9 可以看出,解調出來的數(shù)據(jù)為0x55、0x79、0xd8、0xd8、0x55、0x79,與輸入的數(shù)據(jù)一致,而且輸出的數(shù)據(jù)都是在輸出數(shù)據(jù)有效標志位高電平之后輸出下一個字節(jié)的數(shù)據(jù)。 由此驗證了代碼功能的正確性。

      4 CRC 生成器及CRC 校驗

      在紅外數(shù)據(jù)傳輸過程中,由于存在較多的干擾源,因此數(shù)據(jù)傳輸?shù)倪^程中容易發(fā)生錯誤。 采用CRC 校驗進行差錯控制,可以比較正確可靠地實現(xiàn)紅外數(shù)據(jù)傳輸[4]。首先將A/D 轉換后的數(shù)據(jù)生成CRC 碼,將CRC 碼加入到A/D 轉換后的數(shù)據(jù)后面一起進入到調制模塊,將調制出來的PPM 數(shù)據(jù)經過發(fā)射電路發(fā)送出去,之后將紅外接收頭接收到的數(shù)據(jù)進行CRC 碼校驗。 這樣可以保證紅外傳輸部分的數(shù)據(jù)更加可靠。 本設計將CRC 校驗碼的Verilog 實現(xiàn)方法展現(xiàn)出來。

      由于CRC-CCITT 的生成多項式G(X)為x16+x12+x5+1,輸入數(shù)據(jù)用多項式表示為C(X),將C(X)左移R 位,用C(x)×2R除以生成多項式G(x)得到的余數(shù)就是校驗碼[7]。根據(jù)CRC 校驗碼的生成原理,采用模二除法在程序設計中得到CRC 碼。 其結構圖如圖10 所示。 在接收側的CRC 校驗是一邊接收數(shù)據(jù)一邊進行校驗,當把數(shù)據(jù)都接收完畢后, 最終得出的CRC 校驗碼與固定的CRC 值進行比較,如果兩者相同則接收到了正確的數(shù)據(jù),反之則接收到的數(shù)據(jù)有誤。

      在測試文件中輸入數(shù)據(jù)為10101010 和11110000,最終得到的CRC 碼生成器仿真結果如圖11 所示,為0001010010100000 和1110111100011111, 與 用 理 論 計 算結果一致,因此確定了此電路設計的可行性。

      5 結論

      本文通過研究PPM 調制解調的原理,設計了基于FPGA 的PPM 調制解調系統(tǒng),詳細論述了調制解調系統(tǒng)的程序設計原理以及CRC 校驗碼的實現(xiàn)。 用Verilog HDL 硬件描述語言編寫了PPM 調制代碼、PPM 解調代碼和CRC 校驗代碼,并在Modelsim 中進行了聯(lián)合仿真,從仿真結果可以看出PPM 調制解調系統(tǒng)設計的正確性。 加入了CRC 校驗,提高了后續(xù)實際應用中數(shù)據(jù)傳輸?shù)目煽啃浴?/p>

      圖9 4PPM 解調仿真圖

      圖10 CRC 電路結構圖

      圖11 CRC 碼生成器仿真圖

      實際應用中與仿真必定會有偏差,在后續(xù)實用化中還需要對其進行完善與改進。

      猜你喜歡
      計數(shù)器時隙校驗
      采用虛擬計數(shù)器的電子式膜式燃氣表
      煤氣與熱力(2022年2期)2022-03-09 06:29:30
      復用段單節(jié)點失效造成業(yè)務時隙錯連處理
      爐溫均勻性校驗在鑄鍛企業(yè)的應用
      一種高速通信系統(tǒng)動態(tài)時隙分配設計
      時隙寬度約束下網(wǎng)絡零售配送時隙定價研究
      計數(shù)器競爭冒險及其處理的仿真分析
      大型電動機高阻抗差動保護穩(wěn)定校驗研究
      電測與儀表(2015年1期)2015-04-09 12:03:02
      基于加窗插值FFT的PMU校驗方法
      鍋爐安全閥在線校驗不確定度評定
      基于TDMA的無沖突動態(tài)時隙分配算法
      郑州市| 祁门县| 钦州市| 方正县| 台山市| 微博| 花垣县| 福海县| 林芝县| 普定县| 唐山市| 临西县| 锡林郭勒盟| 塔河县| 乌拉特后旗| 馆陶县| 海口市| 隆德县| 泸州市| 罗山县| 古丈县| 吴川市| 香港| 五原县| 牡丹江市| 赤城县| 双牌县| 仁化县| 肥城市| 铜陵市| 长岭县| 汶川县| 昂仁县| 将乐县| 台东市| 平度市| 海原县| 瑞金市| 长宁县| 木里| 阿拉善盟|