基于FPGA的自適應(yīng)譜線增強(qiáng)系統(tǒng)設(shè)計(jì)
ALE系統(tǒng)總體包括:模/數(shù)轉(zhuǎn)換、FPGA核心處理、片外RAM、電源等。前端采用TLC5510完成模擬信號(hào)的采集,并以數(shù)字信號(hào)的形式傳遞給FPGA。FPGA部分是整個(gè)系統(tǒng)的核心,其實(shí)現(xiàn)模/數(shù)轉(zhuǎn)換器時(shí)序控制、內(nèi)部數(shù)據(jù)緩存FIFO、片內(nèi)時(shí)鐘合成、譜線增強(qiáng)算法以及片外RAM控制。經(jīng)過(guò)譜線增強(qiáng)后的數(shù)據(jù)存入片外RAM芯片CY7C1021V。電源提供整個(gè)系統(tǒng)需要的3.3 v和5 V以及TLC5510的參考電壓。系統(tǒng)結(jié)構(gòu)如圖4所示。本文引用地址:http://m.butianyuan.cn/article/191647.htm
TLC5510是TI公司的高速模/數(shù)轉(zhuǎn)換器,可以用于視頻處理、高速數(shù)據(jù)轉(zhuǎn)換等領(lǐng)域,它的轉(zhuǎn)換速率達(dá)到20 Mb/s,采用高速AD芯片是為了與FPGA的高速處理能力相匹配。EP2C8F256C6是Altera公司的生產(chǎn)的CycloneⅡ系列的FPGA,片內(nèi)具有162 Kb的片內(nèi)存儲(chǔ)器和36個(gè)18×18 b片內(nèi)乘法器,可以用于實(shí)現(xiàn)復(fù)雜數(shù)字信號(hào)算法。片內(nèi)存儲(chǔ)器基于流行的M4K存儲(chǔ)器塊,可以支持廣泛的配置方式,包括RAM,ROM、先入先出(FIFO)緩沖器以及單端口和雙端口模式等。片內(nèi)乘法器是低成本數(shù)字信號(hào)處理(DSP)應(yīng)用的理想方案。這些乘法器可用于實(shí)現(xiàn)通用DSP功能,如有限沖擊響應(yīng)(FIR)濾波器、快速傅里葉變換、相關(guān)器、編/解碼器以及數(shù)控振蕩器(NCO)。EP2C8F256C6提供高級(jí)外部存儲(chǔ)器接口支持,允許開(kāi)發(fā)人員集成外部單倍數(shù)據(jù)速率(SDR)、雙倍數(shù)據(jù)速率(DDR)、DDR2 SDRAM器件以及第2代4倍數(shù)據(jù)速率(QDRⅡ)SRAM器件。片內(nèi)具有時(shí)鐘管理模塊,利用PLL實(shí)現(xiàn)片內(nèi)時(shí)鐘合成,使數(shù)據(jù)處理速率遠(yuǎn)高于信號(hào)采集速率,以滿足實(shí)時(shí)性要求。在FPGA內(nèi)部首先實(shí)現(xiàn)TLC5510的采樣控制,采樣信號(hào)先要存人片內(nèi)FIFO,當(dāng)每次ALE算法迭代完成后,取出FIFO中的數(shù)據(jù),更新處理數(shù)據(jù)。需要處理的數(shù)據(jù)經(jīng)過(guò)信號(hào)延遲處理和LMS自適應(yīng)濾波算法后得到譜線增強(qiáng)的信號(hào)。片內(nèi)時(shí)鐘合成模塊為系統(tǒng)提供時(shí)鐘信號(hào),利用片內(nèi)PLL對(duì)晶振時(shí)鐘倍頻和分頻。為片內(nèi)提供600 MHz時(shí)鐘和片外TLC5510以及RAM提供10 MHz時(shí)鐘。為了保證數(shù)據(jù)精度,經(jīng)過(guò)ALE處理后的數(shù)據(jù)以16位二進(jìn)制數(shù)字信號(hào)輸出。片外存儲(chǔ)器選用64K×16 b靜態(tài)RAM芯片CY7C1021V,它的讀/寫(xiě)控制時(shí)序也由FPGA實(shí)現(xiàn)。
3.1 TLC5510的控制
TLC5510是8位高速模數(shù)轉(zhuǎn)換器,以流水線的工作方式進(jìn)行采樣,在每一個(gè)時(shí)鐘周期啟動(dòng)1次采樣、完成1次采樣,采樣在時(shí)鐘下降沿進(jìn)行,經(jīng)過(guò)2.5個(gè)時(shí)鐘周期后輸出轉(zhuǎn)換結(jié)果。設(shè)計(jì)中根據(jù)采樣時(shí)序,用狀態(tài)機(jī)來(lái)描述采樣控制過(guò)程,實(shí)現(xiàn)了采樣的控制。實(shí)現(xiàn)狀態(tài)交替的VHDL代碼如下:
3.2 采樣信號(hào)延遲
為了實(shí)現(xiàn)延時(shí),F(xiàn)PGA片內(nèi)開(kāi)辟了3個(gè)緩沖區(qū),分別是輸入、時(shí)延、權(quán)值緩沖區(qū)。采樣后的數(shù)據(jù)首先存入片內(nèi)數(shù)據(jù)緩存FIFO,進(jìn)入待命狀態(tài)。時(shí)延緩沖區(qū)實(shí)現(xiàn)△長(zhǎng)度的時(shí)延,權(quán)值緩沖區(qū)儲(chǔ)存權(quán)值。其中,時(shí)延緩沖區(qū)和輸入緩沖區(qū)地址是連續(xù)的。時(shí)延緩沖區(qū)的長(zhǎng)度由延遲△決定,輸入緩沖區(qū)和權(quán)值緩沖區(qū)的長(zhǎng)度由權(quán)值的維數(shù)決定。緩沖區(qū)的實(shí)現(xiàn)是在VHDL語(yǔ)言編寫(xiě)的程序中定義存儲(chǔ)數(shù)據(jù)的向量,這些數(shù)據(jù)向量的數(shù)據(jù)類型定義如下:
其中:ARRAY_N1BIF定義的是濾波器參數(shù)向量的數(shù)據(jù)類型;ARRAY_N1BITX定義的延遲后信號(hào)向量的數(shù)據(jù)類型;ARRAY_N1BIT定義的是輸入信號(hào)向量的數(shù)據(jù)類型;ARRAY_N2BIT定義的是譜線增強(qiáng)后信號(hào)向量的數(shù)據(jù)類型;W1是采樣數(shù)據(jù)的寬度,這里為8;Delay是延時(shí)長(zhǎng)度;L是濾波器階數(shù)。
fpga相關(guān)文章:fpga是什么
評(píng)論