• 
    

    
    

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

      基于FPGA的高速峰值檢測模塊設(shè)計

      2016-03-10 00:16:36大連東軟信息學院電子工程系高錦陽楊云棋
      電子世界 2016年24期
      關(guān)鍵詞:行列儲存排序

      大連東軟信息學院電子工程系 高錦陽 謝 浩 楊云棋

      基于FPGA的高速峰值檢測模塊設(shè)計

      大連東軟信息學院電子工程系 高錦陽 謝 浩 楊云棋

      本文是根據(jù)2016年集創(chuàng)北方企業(yè)杯賽題要求所設(shè)計的高速峰值檢測模塊,可以在 640個16位寬的有符號數(shù)里,快速找到最高的5個峰值的位置,并將5個峰值點的行坐標及列坐標作為模塊的輸出。

      高速 FPGA ;定位; 比較 ;排序

      1 引言

      高速峰值檢測技術(shù)(PDK, Peak Detector)一直都是數(shù)字采集卡與數(shù)字存儲示波器中的關(guān)鍵技術(shù)之一。在日常生產(chǎn)實踐中,對最大峰值的檢測與定位也一直是眾多領(lǐng)域的需求之一。峰值檢測用來實現(xiàn)對尖峰干擾脈沖信號的捕捉或高占空比信號的檢測,以及類似發(fā)生在采樣周期內(nèi)極大的沖擊信號的檢測。

      峰值檢測的分模擬與數(shù)字兩種實現(xiàn)方法,模擬峰值檢測電路就是一個特殊的硬件電路,用電容電壓的方法來存儲信號的峰值,采集速度很慢。相比來說圍繞ADC構(gòu)成的數(shù)字式峰值檢測器就可以按照一個更高采樣速度對信號進行采樣,通過檢測模塊測量出極大、極小值存入RAM等待排序與篩選,就此可以實現(xiàn)高頻信號的檢測。

      2 賽題分析

      2.1 設(shè)計要求:在640個16位寬的有符號數(shù)里,快速找到最高的5個峰值的位置,并將5個峰值點的行坐標及列坐標作為模塊的輸出。640個數(shù)據(jù)是按照32行20列的方式存儲于單口RAM里。峰值是指該數(shù)據(jù)的絕對值大于自己周圍的8個數(shù)據(jù)的絕對值。

      2.2 設(shè)計指標:時鐘頻率:不能低于30Mhz;時長:需要的時間越短越好。

      2.3 實現(xiàn)方式:硬件選用Xilinx公司的V5系列FPGA,軟件使用ISE(www.xilinx.com)

      3 高速峰值檢測模塊的硬件電路設(shè)計

      現(xiàn)場可編程邏輯器件(Field Programmable Gate Array, 簡稱FPGA)是目前被廣泛采用的用于高速及復雜數(shù)字電路設(shè)計的大規(guī)??删幊踢壿嬈骷?是一種純硬件電路,門級延時僅僅是納秒單位,可工作在高達200MHz頻率。而其內(nèi)部邏輯設(shè)計可采用類似高級語言的硬件描述語言,給硬件設(shè)計提供了極大的靈活性。

      圖3.1 模塊圖

      3.1 模塊說明

      3.1.1 添加行列信息模塊:Ram本身為線性儲存結(jié)構(gòu),并且本身不含有行列信息,本模塊用來取ram中的數(shù),并且為每個提取出來的數(shù)據(jù)添加行列信息。

      3.1.2 緩存模塊:從前一個模塊輸出的串行數(shù)據(jù)本身依舊是線性的,本模塊將線性的數(shù)據(jù)儲存為矩陣的形式,該模塊本身也充當緩存的作用,提高數(shù)據(jù)讀取效率,每一個數(shù)據(jù)都會比較多次,這樣可以避免數(shù)據(jù)重復讀取。

      3.1.3 比較模塊:從前一個模塊輸出的并行數(shù)據(jù)參與比較,判斷當前數(shù)據(jù)的絕對值是否大于周圍8個數(shù)據(jù)的絕對值,如果為真,則輸出數(shù)據(jù),否則輸出為0。

      3.1.4 排序模塊:從前一個模塊輸出的數(shù)據(jù)進行排序,只保留最大的5個數(shù)據(jù)。

      3.1.5 儲存模塊:儲存640個數(shù)據(jù)的線性儲存器。

      3.1.6 7段數(shù)碼管顯示模塊:顯示系統(tǒng)找到最大的五個數(shù)據(jù)以及對應數(shù)據(jù)的行列信息。

      3.1.7 二進制數(shù)轉(zhuǎn)BCD碼模塊:用于7段數(shù)碼管的顯示譯碼。

      3.1.8 頂層模塊:例化其他子模塊,并且增加按鍵消抖功能(本項目有開始鍵)。

      3.2 運行原理分析

      3.2.1 Ram中的數(shù)據(jù)本身不含有行列信息,利用計數(shù)器讀取儲存器中的數(shù)據(jù),同時同步運行行列計數(shù)器,在讀取數(shù)據(jù)時,需將數(shù)據(jù)本身和計數(shù)器的值(行列值)合并存入緩存模塊,這樣就得到了含有行列信息的數(shù)據(jù)。

      3.2.2 緩存模塊由4個寄存器組組成,每個寄存器組儲存21個數(shù)據(jù),最后一列0用于數(shù)據(jù)隔離(因為比較模塊利用3x3九宮格形式,周圍的數(shù)據(jù)地址是以正中間的數(shù)據(jù)的地址為基準的偏移地址,例如掃描模塊當中間掃描到19、39、59這樣的行末尾時,右邊的數(shù)據(jù)本應該為空,但是偏移地址會跳到當前行的下一行,這樣就會出錯),數(shù)據(jù)從第一行依次存入緩存模塊,當前兩行存滿時,比較模塊開始從第一列0地址逐行掃描比較。四行都儲存滿時,重新從第一行存入,覆蓋原來的數(shù)據(jù)。

      圖3.2 緩存模塊

      3.2.3 比較模塊為3x3九宮格形式,周圍的數(shù)據(jù)地址是以正中間的地址為基準的偏移地址,同時從緩存模塊取數(shù),利用中間的值和周圍8個數(shù)據(jù)的值進行比較,當緩存模塊兩行數(shù)據(jù)儲存滿時,比較模塊開始運行,流程演示如下:

      圖3.3 比較模塊

      3.2.4 由比較模塊挑選出中間值大于周圍8個值得數(shù)據(jù),這些數(shù)據(jù)隨即進入排序模塊進行排序,使用的原理為流程圖如下:

      圖3.3 流程圖

      該模塊將5個排序的數(shù)合并為一個高位的數(shù),從左往右依次從大到小排列,一個數(shù)據(jù)進入首先判斷位置“5”是否為空,是的話將數(shù)據(jù)存入位置“5”,否則判斷是否大于位置“5”,是的話除位置“5”以外的部分整體右移后再將數(shù)據(jù)存入位置“5”否則以此類推判斷位置“4”直至最后。

      3.2.5 找到最大的5個數(shù)據(jù)時,數(shù)據(jù)通過二進制轉(zhuǎn)BCD碼模塊轉(zhuǎn)換為BCD碼,采用左移加3的算法實現(xiàn)轉(zhuǎn)換,步驟:(1)左移要轉(zhuǎn)換的二進制數(shù)1位。(2)左移之后,BCD碼分別在個十百千萬位。(3)如果移位后所在的BCD碼大于等于5,則對該值加3。(4)繼續(xù)左移直到全部位移完成。轉(zhuǎn)碼之后再通過數(shù)碼管顯示模塊顯示出來,先顯示行列信息,然后顯示數(shù)據(jù)本身

      3.2.6 按鍵消抖當按鍵按下后,會出現(xiàn)電平抖動,當?shù)碗娖骄S持10ms確認按鍵被觸發(fā),使用計數(shù)器實現(xiàn)

      原理圖:

      圖3.4 原理圖

      4 高速峰值檢測模塊的設(shè)計仿真

      設(shè)計仿真圖如下:

      圖4.1 仿真圖一

      放大后的圖如下:輸出的數(shù)據(jù)本身還含有行列信息,此結(jié)果專門用于測試,將數(shù)據(jù)位、行列信息單獨抽取出來顯示。

      圖4.2 仿真圖二

      5 高速峰值檢測模塊的內(nèi)部資源報告以及時序報告

      5.1 內(nèi)部資源5.2 時序報告

      圖5.1 內(nèi)部資源

      圖5.2 時序模塊

      6 結(jié)束語

      首先考慮如何實現(xiàn)系統(tǒng)功能,然后進行模塊劃分以及模塊內(nèi)部算法實現(xiàn),接著進行模塊內(nèi)部設(shè)計并且考慮每個模塊需要哪些IO以及前后模塊IO的時序銜接,完畢后每個模塊單獨仿真調(diào)試,之后進行整體仿真調(diào)試,最后下載到開發(fā)板進行測試對比是否和仿真結(jié)果相同。

      本項目下載到開發(fā)板采用默認50MH時鐘,運行正常,所以不需要使用在線邏輯分析儀再進行測試。該項目本身在功能實現(xiàn)上并沒有用到特別難的算法,難點在與如何在耗費一定資源盡可能的提升系統(tǒng)速度,我們仔細研究每個模塊的時序,盡可能不浪費每一個時鐘周期,提升系統(tǒng)運算效率。

      [1]閻石.數(shù)字電子技術(shù)基礎(chǔ). 高等教育出版社,2014.

      [2]夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計教程[M].北京航空航天大學出版社,2008.

      [3]易先軍,葉春生.基于FPGA的高速數(shù)字峰值保持器設(shè)計[M].華中科技大學 塑性成形模擬與模具技術(shù)國家重點實驗室.湖北 武漢.

      高錦陽(1993-),男,內(nèi)蒙古呼和浩特人,大學本科,現(xiàn)就讀于大連東軟信息學院電子工程系集成電路設(shè)計與集成系統(tǒng)專業(yè)。

      謝浩(1994-),男,山西陽泉人,大學本科,現(xiàn)就讀于大連東軟信息學院電子工程系集成電路設(shè)計與集成系統(tǒng)專業(yè)。

      楊云棋 (1996-) ,男,遼寧法庫人, 大學本科,現(xiàn)就讀于大連東軟信息學院電子工程系集成電路設(shè)計與集成系統(tǒng)專業(yè)。

      猜你喜歡
      行列儲存排序
      食物的儲存之道
      排序不等式
      用“行列排除法”解四宮數(shù)獨(2)
      用“行列排除法”解四宮數(shù)獨(1)
      恐怖排序
      節(jié)日排序
      單層小波分解下圖像行列壓縮感知選擇算法
      刻舟求劍
      兒童繪本(2018年5期)2018-04-12 16:45:32
      安防云儲存時代已來
      火電廠碳捕集與儲存中吸收法的應用和改進
      安岳县| 许昌县| 璧山县| 同江市| 郁南县| 清徐县| 四子王旗| 高尔夫| 嘉义县| 襄樊市| 红原县| 即墨市| 甘肃省| 阳东县| 盈江县| 乳山市| 应用必备| 渭源县| 涡阳县| 青冈县| 和田市| 鄂托克旗| 扶余县| 手游| 阿合奇县| 廊坊市| 台东县| 福安市| 两当县| 青龙| 石台县| 米脂县| 郯城县| 墨竹工卡县| 互助| 谢通门县| 浏阳市| 长乐市| 和林格尔县| 丹东市| 怀柔区|