麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種基于FPGA的串入串出數(shù)據(jù)冒泡排序方法與流程

文檔序號(hào):41753649發(fā)布日期:2025-04-29 18:22閱讀:3來源:國知局
一種基于FPGA的串入串出數(shù)據(jù)冒泡排序方法與流程

本發(fā)明屬于航空電氣,涉及一種基于fpga的串入串出數(shù)據(jù)冒泡排序方法。


背景技術(shù):

1、隨著機(jī)載設(shè)備集成化、智能化的程度逐漸提高,fpga在機(jī)載設(shè)備中的應(yīng)用也日漸廣泛,當(dāng)使用fpga進(jìn)行外部模擬量數(shù)據(jù)采集時(shí),如何保證采集數(shù)據(jù)的準(zhǔn)確“不抖動(dòng)”就顯得尤為關(guān)鍵,應(yīng)用本發(fā)明中的串入串出數(shù)據(jù)冒泡排序算法,能夠很好的解決產(chǎn)品在實(shí)際應(yīng)用過程中采集到的外部模擬量偶發(fā)抖動(dòng)導(dǎo)致控制信號(hào)誤輸出的問題。


技術(shù)實(shí)現(xiàn)思路

1、(一)發(fā)明目的

2、本發(fā)明的目的是:提供一種基于fpga的串入串出數(shù)據(jù)冒泡排序方法,使用fpga進(jìn)行數(shù)據(jù)冒泡排序比較,能夠使系統(tǒng)在沒有cpu參與的情況下準(zhǔn)確的完成數(shù)據(jù)采集濾波,確保采集的穩(wěn)定性,節(jié)約成本的同時(shí),提升系統(tǒng)運(yùn)行速率,并且保證系統(tǒng)穩(wěn)定性不受影響。

3、(二)技術(shù)方案

4、為了解決上述技術(shù)問題,本發(fā)明提供一種基于fpga的串入串出數(shù)據(jù)冒泡排序方法,fpga采用狀態(tài)機(jī)的方式進(jìn)行運(yùn)算,并設(shè)置狀態(tài)跳轉(zhuǎn)指針,在每一步運(yùn)行的末尾,對(duì)狀態(tài)跳轉(zhuǎn)指針進(jìn)行置位,指向下一步想要跳轉(zhuǎn)到的狀態(tài);排序方法包括以下步驟:

5、第一步:初始化

6、對(duì)需要使用的兩個(gè)寄存器賦初值,比較位寄存器賦值為2,剩余數(shù)據(jù)量寄存器賦初值為總的數(shù)據(jù)個(gè)數(shù),初始化完成后,將狀態(tài)跳轉(zhuǎn)指針指向“取值”;

7、第二步:取值

8、將需要比較的數(shù)據(jù)賦值到比較寄存器數(shù)組中,該步驟存在的意義在于防止在比較過程中產(chǎn)生新的數(shù)據(jù)輸入影響比較結(jié)果,賦值完成后,將狀態(tài)跳轉(zhuǎn)指針指向“后兩位比較”;

9、第三步:后兩位比較

10、對(duì)比較寄存器數(shù)組的最后一位和倒數(shù)第二位數(shù)據(jù)進(jìn)行比較,并將較小的數(shù)據(jù)交換到最后一位,并將剩余數(shù)據(jù)量寄存器的數(shù)值減1,比較完成后,將狀態(tài)跳轉(zhuǎn)指針指向“循環(huán)比較”;

11、第四步:循環(huán)比較

12、進(jìn)入本步驟后,首先對(duì)“剩余數(shù)據(jù)量寄存器”和“比較位寄存器”進(jìn)行比較,并根據(jù)比較結(jié)果進(jìn)行分支處理;

13、第五步:數(shù)據(jù)輸出

14、將完成比較的比較寄存器數(shù)組中的數(shù)據(jù)依次賦值到輸出數(shù)組中,該步驟存在的意義在于防止在比較過程中輸出未完成比較的錯(cuò)誤結(jié)果,賦值完成后,將狀態(tài)跳轉(zhuǎn)指針指向“初始化”,等下一個(gè)時(shí)鐘沿到來后即可開始新一輪數(shù)據(jù)比較。

15、第四步中,若“比較位寄存器”不大于“剩余數(shù)據(jù)量寄存器”,則繼續(xù)進(jìn)行數(shù)據(jù)比較,比較的數(shù)位是在比較寄存器數(shù)組中“剩余數(shù)據(jù)量寄存器”對(duì)應(yīng)的數(shù)據(jù)位及其前一位,并將較小的數(shù)據(jù)交換到“剩余數(shù)據(jù)量寄存器”對(duì)應(yīng)的數(shù)據(jù)位,并將“剩余數(shù)據(jù)量寄存器”的數(shù)值減1,比較完成后,將狀態(tài)跳轉(zhuǎn)指針指向“循環(huán)比較”。

16、第四步中,若“比較位寄存器”大于“剩余數(shù)據(jù)量寄存器”并且“比較位寄存器”小于總的數(shù)據(jù)個(gè)數(shù),則“比較位寄存器”賦值加1,“剩余數(shù)據(jù)量寄存器”賦初值為總的數(shù)據(jù)個(gè)數(shù),賦值完成后,將狀態(tài)跳轉(zhuǎn)指針指向“循環(huán)比較”。

17、第四步中,若“比較位寄存器”大于“剩余數(shù)據(jù)量寄存器”并且“比較位寄存器”不小于總的數(shù)據(jù)個(gè)數(shù),表明此時(shí)循環(huán)比較已經(jīng)完成,將狀態(tài)跳轉(zhuǎn)指針指向“數(shù)據(jù)輸出”。

18、其中,fpga邏輯最小的運(yùn)行周期為晶振的時(shí)鐘沿,當(dāng)每一個(gè)時(shí)鐘沿到來時(shí),進(jìn)行狀態(tài)跳轉(zhuǎn)指針地址讀取,然后根據(jù)狀態(tài)跳轉(zhuǎn)指針地址跳轉(zhuǎn)到對(duì)應(yīng)的步驟進(jìn)行數(shù)據(jù)處理。

19、其中,總的比較次數(shù)為n(n-1),即需要n(n-1)時(shí)鐘周期完成數(shù)據(jù)比較,n為數(shù)據(jù)個(gè)數(shù)。

20、其中,冒泡排序不受輸入數(shù)據(jù)位寬的影響,適用于8位、16位或者是32位寬度的模擬量。

21、其中,外部數(shù)據(jù)刷新時(shí)間小于冒泡取數(shù)的時(shí)間間隔t。

22、其中,使用2v1000為核心fpga,使用ad轉(zhuǎn)換芯片ad7656作為模擬量輸入源。

23、(三)有益效果

24、上述技術(shù)方案所提供的基于fpga的串入串出數(shù)據(jù)冒泡排序方法,在fpga內(nèi)部完成模擬量冒泡排序?yàn)V波,對(duì)于一些較小的系統(tǒng)而言,能夠省去cpu的使用,節(jié)約成本的同時(shí),減少之前數(shù)據(jù)在cpu和fpga之間的傳輸時(shí)間,提升速率,同時(shí)不影響系統(tǒng)穩(wěn)定性。



技術(shù)特征:

1.一種基于fpga的串入串出數(shù)據(jù)冒泡排序方法,其特征在于,fpga采用狀態(tài)機(jī)的方式進(jìn)行運(yùn)算,并設(shè)置狀態(tài)跳轉(zhuǎn)指針,在每一步運(yùn)行的末尾,對(duì)狀態(tài)跳轉(zhuǎn)指針進(jìn)行置位,指向下一步想要跳轉(zhuǎn)到的狀態(tài);排序方法包括以下步驟:

2.如權(quán)利要求1所述的基于fpga的串入串出數(shù)據(jù)冒泡排序方法,其特征在于,第四步中,若“比較位寄存器”不大于“剩余數(shù)據(jù)量寄存器”,則繼續(xù)進(jìn)行數(shù)據(jù)比較,比較的數(shù)位是在比較寄存器數(shù)組中“剩余數(shù)據(jù)量寄存器”對(duì)應(yīng)的數(shù)據(jù)位及其前一位,并將較小的數(shù)據(jù)交換到“剩余數(shù)據(jù)量寄存器”對(duì)應(yīng)的數(shù)據(jù)位,并將“剩余數(shù)據(jù)量寄存器”的數(shù)值減1,比較完成后,將狀態(tài)跳轉(zhuǎn)指針指向“循環(huán)比較”。

3.如權(quán)利要求2所述的基于fpga的串入串出數(shù)據(jù)冒泡排序方法,其特征在于,第四步中,若“比較位寄存器”大于“剩余數(shù)據(jù)量寄存器”并且“比較位寄存器”小于總的數(shù)據(jù)個(gè)數(shù),則“比較位寄存器”賦值加1,“剩余數(shù)據(jù)量寄存器”賦初值為總的數(shù)據(jù)個(gè)數(shù),賦值完成后,將狀態(tài)跳轉(zhuǎn)指針指向“循環(huán)比較”。

4.如權(quán)利要求3所述的基于fpga的串入串出數(shù)據(jù)冒泡排序方法,其特征在于,第四步中,若“比較位寄存器”大于“剩余數(shù)據(jù)量寄存器”并且“比較位寄存器”不小于總的數(shù)據(jù)個(gè)數(shù),表明此時(shí)循環(huán)比較已經(jīng)完成,將狀態(tài)跳轉(zhuǎn)指針指向“數(shù)據(jù)輸出”。

5.如權(quán)利要求4所述的基于fpga的串入串出數(shù)據(jù)冒泡排序方法,其特征在于,fpga邏輯最小的運(yùn)行周期為晶振的時(shí)鐘沿,當(dāng)每一個(gè)時(shí)鐘沿到來時(shí),進(jìn)行狀態(tài)跳轉(zhuǎn)指針地址讀取,然后根據(jù)狀態(tài)跳轉(zhuǎn)指針地址跳轉(zhuǎn)到對(duì)應(yīng)的步驟進(jìn)行數(shù)據(jù)處理。

6.如權(quán)利要求5所述的基于fpga的串入串出數(shù)據(jù)冒泡排序方法,其特征在于,總的比較次數(shù)為n(n-1),即需要n(n-1)時(shí)鐘周期完成數(shù)據(jù)比較,n為數(shù)據(jù)個(gè)數(shù)。

7.如權(quán)利要求6所述的基于fpga的串入串出數(shù)據(jù)冒泡排序方法,其特征在于,冒泡排序不受輸入數(shù)據(jù)位寬的影響,適用于8位、16位或者是32位寬度的模擬量。

8.如權(quán)利要求7所述的基于fpga的串入串出數(shù)據(jù)冒泡排序方法,其特征在于,外部數(shù)據(jù)刷新時(shí)間小于冒泡取數(shù)的時(shí)間間隔t。

9.如權(quán)利要求1-8中任一項(xiàng)所述的基于fpga的串入串出數(shù)據(jù)冒泡排序方法,其特征在于,使用2v1000為核心fpga,使用ad轉(zhuǎn)換芯片ad7656作為模擬量輸入源。

10.一種基于權(quán)利要求1-8中任一項(xiàng)所述的基于fpga的串入串出數(shù)據(jù)冒泡排序方法在航空電氣技術(shù)中的應(yīng)用。


技術(shù)總結(jié)
本發(fā)明屬于航空電氣技術(shù)領(lǐng)域,公開了一種基于FPGA的串入串出數(shù)據(jù)冒泡排序方法,F(xiàn)PGA采用狀態(tài)機(jī)的方式進(jìn)行運(yùn)算,并設(shè)置狀態(tài)跳轉(zhuǎn)指針,在每一步運(yùn)行的末尾,對(duì)狀態(tài)跳轉(zhuǎn)指針進(jìn)行置位,指向下一步想要跳轉(zhuǎn)到的狀態(tài);排序方法包括以下步驟:第一步:初始化;第二步:取值;第三步:后兩位比較;第四步:循環(huán)比較;第五步:數(shù)據(jù)輸出。本發(fā)明在FPGA內(nèi)部完成模擬量冒泡排序?yàn)V波,對(duì)于一些較小的系統(tǒng)而言,能夠省去CPU的使用,節(jié)約成本的同時(shí),減少之前數(shù)據(jù)在CPU和FPGA之間的傳輸時(shí)間,提升速率,同時(shí)不影響系統(tǒng)穩(wěn)定性。

技術(shù)研發(fā)人員:姬棟,劉強(qiáng),王清泉,耿新宇
受保護(hù)的技術(shù)使用者:天津津航計(jì)算技術(shù)研究所
技術(shù)研發(fā)日:
技術(shù)公布日:2025/4/28
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
主站蜘蛛池模板: 离岛区| 凤阳县| 靖州| 米泉市| 新河县| 庆城县| 云霄县| 嵩明县| 义乌市| 新干县| 麻江县| 垣曲县| 沂南县| 思南县| 玉田县| 岳西县| 万宁市| 克拉玛依市| 绥芬河市| 武冈市| 马龙县| 周至县| 花莲县| 河北省| 多伦县| 青冈县| 霍林郭勒市| 韩城市| 册亨县| 冷水江市| 泸州市| 高青县| 武平县| 武强县| 太原市| 嘉义市| 民勤县| 西畴县| 榕江县| 诏安县| 新巴尔虎右旗|