《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 基于FPGA的數據采集分析系統設計

基于FPGA的數據采集分析系統設計

2009-06-10
作者:肖祖勝,程 明

??? 摘? 要: FPGA是一種高密度邏輯器件。與通用的MCU相比, FPGA具有并行數據處理特性。利用該特性,能夠實現對高速A/D采樣控制;同樣, 使用FPGA對采樣數據進行頻譜分析,能夠達到比DSP芯片更高的數據處理速度。?

????關鍵詞: 采樣;MCU;FPGA

?

??? 在計算機控制系統中,常常需要采集各種模擬量信號,并對它們進行模數轉換,將外部輸入的模擬信號轉換成數字信號,以便計算機進行加工處理。在很多情況下,計算機應用系統中常用普通MCU(如51系列單片機或控制型DSP)完成系統任務。由于MCU一般均采用指令處理結構,要想達到高的處理速度相當困難,一般速率不會超過MHz級。而FPGA具有高速并行處理的特性,采用FPGA控制數據采集可以達到很高的采樣速率。?

??? 數字信號處理的方式一般有兩種:一種是使用單片機或DSP等MCU,通過軟件編程實現;另外一種是利用專用邏輯電路或可編程邏輯器件實現。用軟件編程來實現,雖然有很大的靈活性,但受DSP或單片機性能及程序指令順序執行的限制,難以實現高速、大規模運算;而專用集成電路芯片或FPGA卻可以實現很高的運算速度,非常適合高速信號處理系統的應用。?

??? 鑒于此,可以采用FPGA來完成一個模擬信號的采集分析系統。現在用FPGA做信號處理使用的大多是比較高端的片子,價格都比較貴,像ALTERA的Stratix系列、XILINIX的Virtex系列等。考慮到成本,在本設計中嘗試使用ALTERA的低端FPGA來完成設計。?

??? 盡管ALTERA提供了很多關于數字信號處理的IPCORE,但使用是需要收費的,而且費用較高。通過自己編程實現信號處理可以節省大量的成本,本設計就是采用這一方法。?

1 器件選擇?

??? 采用的FPGA是ALTERA的EP1C6T144C8,EP1C6T144C8有144個引腳,最多可使用98個I/O口,支持JTAG調試,AS、PS下載,內有5 980個LES,總的RAM位數是92 160 bit,內嵌有兩個鎖相環,四個全局時鐘,內核電壓為1.5 V,輸出I/O口驅動電壓為3.3 V,支持LVDS、TTL、CMOS等電平傳輸。采用的配置芯片為EPCS1。這是一款低端的FPGA芯片,具有較高的性價比。?

??? A/D采樣芯片是TLC5510,這是一款高速A/D采樣芯片,它是一種采用CMOS工藝制造的8位高阻抗并行A/D芯片,能提供的最大采樣率為20 MS/s。由于TLC5510采用了半閃速結構及CMOS工藝,因而大大減少了器件中比較器的數量,而且在高速轉換的同時能夠保持較低的功耗。?

2 FPGA內部電路?

??? FPGA內部電路分為兩大模塊。?

??? (1)采樣控制:TLC5510的采樣控制引腳只有兩個,一個是時鐘端CLOCK,一個是輸出使能端(低電有效)。根據TLC5510采樣控制的時序電路,芯片CLOCLK的下降沿采樣,經過2.5個周期的延遲后,得到采樣結果,這時如果使能端有效,則數據送到輸出端,所以控制起來比較簡單。但是要注意的是采樣時鐘和FFT時鐘之間的匹配。?

??? 根據TLC5510的采樣時序特點,在設計采樣控制模塊時可以只控制采樣時鐘,而輸出始終使能,就能夠完成采樣控制。?

??? 控制FPGA內部RAM的寫入時鐘,當完成一次采樣后,將TLC5510數據端的數據取走,這樣就完成了采樣到寫入的過程。?

??? 分頻模塊將時鐘分到和系統時序相適合的時鐘。采樣控制電路將采樣結果由八位變為十六位,存入RAM中。?

??? (2)FFT模塊:設計中的FFT模塊實現的是256點的定點FFT運算,采用基-2頻率抽選法,圖1為8位算法的流程示意圖,256點算法與其類似。?

?

?

??? FFT模塊主要包括四個單元:蝶形變換單元,地址發生單元,RAM塊選擇單元(其中包括旋轉因子表),時鐘控制單元。圖2為整體電路結構。?

?

?

??? ①蝶形變換單元:在蝶形變換電路中,最為核心的就是乘法器和加法器,可以通過對QUARTUS的宏單元的調用,實現乘法運算,也可以自己編寫乘法器,利用Verilog的for語句實現16×16無符號乘法器的部分原碼如下:?

??? always@(data1,data2)?

??? ? begin?

??? ? data_out=32′d0;//初始賦0?

????for(a=5′d0;a<=5′d15;a=a+5′d1)?

??????? if(data2[a]==1)?

??????? data_out=data_out+(data1<

??? ? end?

??? 蝶形變換的輸出寫入RAM作為下一級變換的輸入。?

??? 圖3為蝶形變換單元電路。?

?

?

圖3? 蝶形變換單元電路圖

?

??? ②地址發生單元:這個單元的編寫具有一定的靈活性,在編程過程中采用的編寫方法不同,綜合出來的電路使用寄存器數量也不一樣。地址發生單元總共有八級地址。第二級地址發生單元的部分原碼如下(圖4為第二級地址發生單元仿真結果):?

?

?

??? always@(posedge clk)?

??? begin?

? ? ??if(a3==1′d1)?

??????? begin?

??????? ? a3=1′d0;//參數a3控制RAM數據和旋轉因子表數據時序配合?

??????? ? case(a2)//地址分為兩大塊塊,分別為前后128個數,參數a2控制這兩塊的啟動?

??????? ? 1′d0:begin?

??????????? if(a1==8′d63)?

??????????? begin a1=8′d128;a2=a2+1′d1;addr1=a1;addr2=7′d0;end?

??????????? else?

??????????? ? begin a1=a1+8′d1;addr1=a1;addr2=addr2+7′d2;end?

??????????? end?

??????? ? 1′d1:begin?

??????????? if(a1==8′d191)?

??????????? ? begin a1=8′d0;a2=1′d0;addr1=8′d0;addr2=7′d0;end?

??????????? ? else?

??????????? ? begin a1=a1+8′d1;addr1=a1;addr2=addr2+7′d2;end?

??????? ??? end?

??????? ??endcase?

??? ? ? ??end?

??? else?

??? ? begin a3=a3+1′d1;addr1=addr1+8′d64;end?

??? end?

??? ③RAM塊選擇單元:FPGA上含有4KB RAM塊,可以使用三組RAM塊實現流水線(這里命名為RAM1,RAM2,RAM3)。時序開始時控制單元將采樣結果寫入RAM1,FFT單元運算RAM2中數據,輸出控制單元將上一次的FFT運算結果輸出。當整個電路完成一次采集分析后,啟動RAM選擇模塊,三組RAM的控制單元進行輪換,采樣電路將采樣結果寫入RAM3,FFT運算電路則使用RAM1,對采樣數據進行運算,而數據輸出電路控制RAM2將FFT的結果輸出。如此往復循環,實現流水線作業。下面是其中RAM選擇單元的部分代碼:?

??? always@(posedge f or posedge star)//f上升沿表示一次FFT完成?

??? ? begin//開始啟動信號和FFT完成信號共同控制選擇轉換參數?

??????? if(star)?

??????? a2=2′d1;?

??? ? else?

??????? if(a2==2′d2)?

??????? a2=2′d0;?

??? ? else?

??????? a2=a2+2′d1;?

??? ? end?

??? //下為控制轉換參數控制選擇?

assign data_out1=(a2==2′d0)?data1:((a2==2′d1)?17′d0:((a2==2′d2)?data3:17′d0));?

assign data_out2=(a2==2′d0)?17′d0:((a2==2′d1)?data3:((a2==2′d2)?data1:17′d0));?

assign data_out3=(a2==2′'d0)?data3:((a2==2′d1)?data1:((a2==2′d2)?17′d0:17′d0));?

assign q_out1=(a2==2′d0)?q1:((a2==2′d1)?q3:((a2==2′d2)?q2:17′d0));?

assign q_out2=(a2==2′d0)?q2:((a2==2′d1)?q1:((a2==2′d2)?q3:17′d0));?

??? ④時鐘控制單元:這個單元主要是一些時鐘分頻電路,控制整個電路的時序,不同模塊單元之間啟動的時序不一樣,時鐘頻率也不相同。在編寫時鐘控制單元時,最主要是實現各模塊時序配合,以防止出現競爭冒險。?

??? 除了上述幾個主要的模塊單元外,還需要生成一個旋轉因子表。旋轉因子表可以有多種生成方法,考慮到芯片資源,本設計選擇使用MATLAB生成旋轉因子表,通過調用兆函數,將生成的旋轉因子表固化到FPGA的ROM中。?

??? 當整個FFT模塊數據處理完之后,就可以逆序輸出。?

??? 設計完成后,可以在RAM塊中初始化數據得到仿真結果,對設計進行初步檢驗,圖4(b)是在RAM中初始化一個數據表后的FFT模塊仿真結果(q1實部,q2虛部)。?

??? 圖5為MATLAB仿真,與QUARTUS仿真結果相比較,可以看到結果吻合地相當好。?

?

?

3 速度分析?

??? 系統采用單乘法器結構,使用鎖相環倍頻時鐘作為總時鐘輸出,當總時鐘為200 MHz時,完成一次FFT處理的時間為21.4 μs,4 278個時鐘信號,在流水線作業下,可以完成A/D采樣速率高達12 MHz的數據處理。?

??? 本設計使用芯片邏輯資源的的77%,近4 600個邏輯單元,還使用了約39 000 bit的RAM。實驗證明,用低端的FPGA產品實現高速采樣控制和FFT處理是可行的。在實現過程中只要采用較好的設計思路,控制好寄存器的數目,便可以在芯片允許的資源范圍內達到所需要的信號處理目的,實現設計要求。?

參考文獻?

[1] 吳繼華.Altera FPGA/CPLD設計(高級篇).北京:人民郵電出版社,2005.?

[2] 程佩青.數字信號處理教程[M].北京:清華大學出版社,2001.?

[3] 夏宇聞.Verilog數字系統設計教程.北京:北京航空航天大學出版社,2003.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久久亚洲国产美女国产盗摄| 欧美另类女人| 日韩亚洲一区二区| 亚洲国产精品va在线看黑人动漫 | 欧美二区在线看| 麻豆精品在线视频| 免费不卡中文字幕视频| 美女免费视频一区| 美日韩精品免费观看视频| 久久综合色一综合色88| 老司机精品视频网站| 久久中文在线| 欧美成人中文字幕| 欧美日本在线看| 欧美四级在线观看| 国产精品福利网| 国产精品一区二区三区久久久| 国产精品午夜av在线| 国产日韩欧美亚洲| 国产亚洲精品久久久久动| 国产真实乱偷精品视频免| 黄色国产精品一区二区三区| 精品1区2区3区4区| 亚洲国产精品一区二区尤物区| 亚洲国产精品www| 日韩午夜高潮| 亚洲一区二区3| 欧美一乱一性一交一视频| 亚洲大黄网站| 日韩一级二级三级| 亚洲欧美日韩中文视频| 久久国产加勒比精品无码| 久久久久九九九九| 欧美成人免费大片| 欧美性生交xxxxx久久久| 国产精品美女999| 国产一区二区三区直播精品电影 | 亚洲裸体俱乐部裸体舞表演av| 一本一本大道香蕉久在线精品| 亚洲一区国产精品| 久久99在线观看| 亚洲理伦电影| 亚洲欧美成人一区二区在线电影| 欧美在线观看视频一区二区| 久久先锋影音av| 欧美日韩成人一区二区| 国产乱码精品一区二区三区五月婷| 黑人中文字幕一区二区三区| 亚洲欧洲在线看| 亚洲综合色激情五月| 亚洲福利在线观看| 亚洲桃花岛网站| 久久久久久国产精品mv| 欧美日本国产精品| 国产精品制服诱惑| 亚洲国产天堂网精品网站| 亚洲私人影院在线观看| 久久福利影视| 亚洲小说区图片区| 美日韩精品免费观看视频| 国产精品国产三级国产aⅴ浪潮| 国内精品久久久久国产盗摄免费观看完整版| 亚洲国产一区二区三区a毛片| 亚洲天堂av高清| 91久久久久久| 欧美在线视频a| 欧美日韩视频免费播放| 国内精品久久久久久久影视麻豆| 亚洲免费观看高清完整版在线观看熊| 午夜一级在线看亚洲| 一本一道久久综合狠狠老精东影业 | 亚洲一区二区三区四区五区黄| 久久久青草青青国产亚洲免观| 欧美日韩视频在线一区二区观看视频 | 欧美三级在线视频| 在线 亚洲欧美在线综合一区| 亚洲午夜羞羞片| 亚洲最新色图| 蜜桃av综合| 国产欧美亚洲一区| 一区二区三区国产在线观看| 亚洲欧洲日本专区| 久久精品国产第一区二区三区| 欧美午夜精品久久久久久久| 亚洲国产91| 久久精品国产亚洲一区二区| 午夜久久久久久| 欧美日韩综合久久| 亚洲国产精品第一区二区| 久久都是精品| 久久9热精品视频| 国产精品九九| 一本久道综合久久精品| 亚洲伦理中文字幕| 欧美 日韩 国产 一区| 国产亚洲欧美一区二区三区| 亚洲午夜av| 亚洲午夜91| 欧美日韩在线影院| 亚洲美女一区| 一区二区免费在线观看| 欧美激情bt| 亚洲精品123区| 亚洲欧洲一区二区三区在线观看| 久久久久一区二区三区四区| 国产农村妇女毛片精品久久莱园子| 亚洲作爱视频| 亚洲一级网站| 欧美日韩在线不卡| 99热这里只有精品8| 正在播放亚洲| 欧美色图首页| 日韩亚洲视频| 亚洲视频观看| 国产精品盗摄久久久| 亚洲图片欧洲图片av| 亚洲线精品一区二区三区八戒| 欧美日韩三区四区| 在线视频亚洲| 亚洲欧美综合| 国产精品中文字幕欧美| 亚洲欧美国产精品专区久久| 午夜精品一区二区三区在线视| 国产精品久久国产精品99gif| 亚洲视频1区| 亚洲欧美一区在线| 国产麻豆精品theporn| 欧美一区二区视频在线| 久久久亚洲午夜电影| 怡红院精品视频在线观看极品| 亚洲激情视频网| 欧美巨乳在线观看| 一本色道久久综合狠狠躁篇的优点 | 国产毛片一区二区| 久久se精品一区精品二区| 久久综合激情| 亚洲国产欧洲综合997久久| 一本色道久久| 国产精品色午夜在线观看| 香港成人在线视频| 美女网站久久| 日韩系列欧美系列| 午夜久久久久| 在线观看日韩精品| 一区二区三区精品久久久| 国产精品成人av性教育| 香蕉久久夜色精品| 免费在线国产精品| 一本色道久久综合亚洲精品按摩| 亚洲欧美三级伦理| 国内免费精品永久在线视频| 亚洲精品美女在线观看播放| 欧美午夜精品| 久久成人免费网| 欧美理论在线播放| 午夜激情一区| 欧美国产三级| 亚洲综合二区| 欧美成人免费全部观看天天性色| 99xxxx成人网| 久久久综合网| 日韩亚洲欧美中文三级| 欧美在线视频在线播放完整版免费观看 | 国产精品日韩一区二区| 久久成人人人人精品欧| 欧美日本免费一区二区三区| 亚洲免费在线电影| 欧美1区视频| 亚洲一区在线播放| 免费日韩精品中文字幕视频在线| av成人免费| 久久最新视频| 一本色道久久综合亚洲精品小说| 久久久久久国产精品mv| 日韩视频一区二区| 久久久噜噜噜久久中文字幕色伊伊| 亚洲精品女av网站| 欧美一区二区视频观看视频| 亚洲国产欧美一区| 欧美与欧洲交xxxx免费观看| 亚洲欧洲日韩女同| 久久精品国产亚洲一区二区三区| 亚洲日韩欧美视频| 久久电影一区| 夜夜嗨av一区二区三区网页| 久久在线免费观看视频| 中文一区在线| 欧美二区在线播放| 午夜精品久久久久久久久| 欧美精品激情| 亚洲第一二三四五区| 国产精品区一区二区三| 日韩亚洲不卡在线| 黄色精品一二区| 欧美一区二区三区婷婷月色 | 亚洲尤物视频在线| 欧美日韩精品一区二区三区| 久久精品国产精品亚洲| 国产精品美女主播| 一区二区三区精品|