張 濤, 陳宇航,師曉云,朱 寒,蘇曉敏
(1.西安科技大學 理學院,陜西 西安 710054;2.西安科技大學 電氣與控制工程學院,陜西 西安 710054)
聲表面波(SAW)傳感技術作為新興前沿技術,已成為傳感領域的研究熱點。SAW對表面擾動很敏感,在各種物理及化學傳感器中有著廣泛的應用場景,特別是可提供無線無源的傳感方式,在高溫高壓及無人值守等環境極具應用潛力[1-3]。且無線傳感技術綜合了無線通信、傳感器及嵌入式等技術,已成為新興行業的重要研究領域。
直接數字頻率合成技術(DDS)是第三代頻率合成技術[4],但傳統的DDS由于其相位截斷和幅值量化誤差等原因,存在雜散分量多及時延高等問題[5]。通過設計基于反饋網絡的流水線結構,可降低寄存器間傳播時延。結合CORDIC算法的精度可調,運算速度快,便于硬件實現等優點,可實現相位-幅度轉換,以滿足設計對存儲容量及計算精度的需求[6]。本文基于現場可編程門陣列(FPGA)的DDS設計可為SAW傳感器提供穩定性強、精度高的掃頻激勵源信號。
目前,傳感器技術已成功應用于生物、醫療、雷達等領域,并逐步向微型化、無線無源化、智能化方向發展。無線無源SAW傳感器因其抗干擾能力強,測試距離遠,成本低等優勢,在無線測試系統中嶄露頭角。為了順應信息時代的發展潮流,眾多領域對SAW傳感系統的功耗、穩定性和可靠性等方面有更高的要求。
無線無源SAW傳感系統一般由激勵信號發射模塊、回波信號接收模塊和無線傳感模塊組成,如圖1所示。圖中,PLL為功率放大電路,LNA為低噪聲放大電路。信號發射鏈路主要先對由FPGA產生的DDS信號進行一系列調理,最終以無線傳輸方式激勵SAW傳感器,因此需要一個穩定性強且精度高的掃頻激勵源信號。該設計提出的融合FPGA與DDS方法,為SAW傳感器提供了穩定、可靠的激勵信號。
頻率合成技術是通信行業實現高性能指標的關鍵技術之一。DDS在頻率分辨率、轉換速度等方面遠超過間接頻率合成法,且具有工作頻率范圍寬,頻率分辨力高,頻率轉換時間短,波形輸出能力強及數字調制性能好等優點[7]。因此,選用 DDS方式可實現高精度、高穩定的頻率輸出,通過將輸入的頻率控制字K進行相位累加求和,并經相位-幅度轉換可得到不同的電壓幅值。圖 2為DDS原理框圖,圖中,fclk為系統時鐘頻率,N為相位累加器的字長,m為波形存儲器和數模轉換器的字長。由圖可知,相位累加器、波形存儲器及D/A轉換器在系統時鐘控制下分別以K為步長進行相位累加、波形存儲器尋址及數模轉換,最后經由低通濾波器轉換為平滑的波形。
FPGA屬于ASIC的一種半定制電路,由于其穩定性高,開發周期短,具有并行處理的優點,現已成為軟件無線電設計的重要工具。基于FPGA實現的DDS系統有控制靈活及多種調制方式組合等優點[8],可為SAW傳感系統提供頻率穩定的正弦激勵信號。
在DDS模塊設計中,采用FPGA+D/A轉換器方式實現DDS模塊,通過FPGA的可編程能力,能夠快速更新設計、縮短系統的迭代時間。在實際設計DDS過程中,當輸出頻率(fout)為輸入頻率(fin)的1/2時,雜散頻率難以濾除,因此通常要求輸出頻率不大于輸入頻率的40%[9]。由于ROM查找表實現的DDS功耗較大,故采用CORDIC算法實現相位-幅度轉換,降低了由ROM尋址時相位累加器位數截斷引起的誤差[10]。傳統的DDS設計存在大量的雜散分量,時延大和功耗高等問題,通過設計頻率控制字自增模塊、循環相位累加器模塊及CORDIC算法模塊,對傳統的DDS設計進行優化,能有效地解決傳統DDS設計的缺陷。
DDS的fout與K、fclk及N的關系為
(1)
本文要求fout在9.843 75~10.161 3 MHz內連續變化,通過改變K可達到設計要求。因此設置初始頻率、頻率步進、變頻次數及終止頻率,可獲得對應的輸出掃頻信號。
傳統的DDS結構由于頻率控制字的位數多而影響數據的計算速度。采用基于反饋網絡的流水線結構,能將復雜運算拆分成各個模塊運算,并將每級的結果反饋至前一級,形成流水線累加結構,故運用4級流水線技術。由于相位累加器位數為32,因此,每級流水線需對8位數據進行累加求和,且將進位寄存器的輸出數據反饋至次級流水線的輸入數據。通過該設計方式能使周期內所有運算器同時工作,降低寄存器間的傳播延時,從而提高運算速度。循環相位累加器結構如圖3所示,其中,fword為頻率控制字,sum為累加求和運算。
本設計采用4級流水線技術對全部數據的進行累加求和及儲存。若頻率控制字的數據未刷新時,則寄存器中數據不變,從而可減少寄存器的使用量,提高了SAW傳感系統的運算速度。
相位累加后需進行相位-幅度轉換,得到的相位信息轉換為對應的幅度信息。此次設計選用實時計數法,即采用CORDIC算法實現相位-幅度轉換,實時計算得到相位角信息對應的三角函數值。該算法無需查找表、乘法、反三角及開方等復雜運算,僅通過坐標旋轉就可計算三角函數。
CORDIC的工作模式有圓周模式和矢量模式,通常采用圓周模式實現DDS模塊。其工作原理為:設在直角坐標系中有一向量A(x1,y1),逆時針旋轉θ度后得到向量B(x2,y2),如圖4所示。
由圖4可推導出公式并用矩陣向量形式表示,化簡推導最終可得偽方程:
(2)
由旋轉角度遵循法則可知tanθi=±2-i,即θi=±arctan 2-i,通過小角度旋轉迭代可得到任意角度。則式(2)可表示為:
(3)
由式(3)可知,CORDIC算法只需通過一系列的移位運算和加法運算即可完成矢量旋轉,在FPGA中易實現。因此,經過n次迭代后的輸出結果xn和yn為三角函數值。
CORDIC算法采用坐標旋轉的方式來替代傳統的查找表方式,能夠實現相-幅轉換,滿足設計對存儲容量、計算精度的需求。對于不同的迭代次數,旋轉后可獲得對應的最大角度[11],如表1所示,其中,N為迭代次數,θt為旋轉后可獲得對應的最大角度。

表1 不同迭代次數對應的最大角度
由表1可以看出,角度覆蓋范圍為-99.88°~+99.88°,不能包含整個周期-π~π,所以需通過三角函數的周期性及對稱性來對輸入角度進行處理,使輸出角度范圍能夠包含實際所需旋轉角度。將輸入角度限制在[0,π/4]范圍內,通過三角函數的對稱性可以表示一個完整周期。
由于FPGA的DDS信號為數字信號,需經D/A轉換為模擬信號后供后續信號處理。采用FPGA實現D/A模塊的驅動數模控制模塊,以控制TLV5618芯片實現數模轉換。首先需將硬件及軟件均初始化設置,其次將DDS信號的輸出值通過SPI協議傳輸至TLV5618芯片,并利用片選信號控制發送數據,最后查看指令確定數/模轉換是否繼續執行。

本文設計采用“自頂向下”的設計思想,將復雜的硬件電路系統劃分為簡單的低層次模塊,不僅有利于系統設計的查漏補缺,且能提高設計效率。Quartus II完成模塊化設計后,需編寫testbench文件對設計模塊進行功能仿真,并通過在測試文件中添加時鐘信號、復位信號及輸入信號等,觀察輸出端波形是否符合設計需求。
根據設計需求設置K的范圍為845 571 686~872 849 024。整個區間設置50個掃頻頻點,即在掃頻區間內每次變頻,K需增加545 547。通過編寫測試文件,分別對掃頻區間的上下限、步進速率及變頻次數等參量進行設置,得到頻率控制字自增模塊輸出結果,如圖6所示。根據上述參量進行設置,其結果滿足設計需求。
圖7為相-幅轉換模塊的仿真結果。設置時鐘信號CLK的周期為20 ns,占空比為50%,復位信號RST_N為高電平有效,輸入相位精度為32 bit,初始值設為π/6。經過CORDIC算法計算后輸出的正弦波和余弦波幅值分別為32 768和56 758(16位十進制),將其除以216,即可得其小數形式。通過計算可得輸出的正弦和余弦值的幅值與標準正弦值幅值相對誤差僅為6.1×10-5和9.9×10-5。經仿真驗證,CORDIC算法模塊設計正確,并可為SAW傳感系統提供質量較高的正弦激勵信號。
通過對頻率控制字的不斷調控,為SAW傳感系統激勵信號接收模塊提供較大的掃頻區間及穩定的激勵信號。基于CORDIC算法實現相-幅轉換可降低硬件資源消耗,僅需計算第一象限內角度的正弦值,而第二象限內角度需進行求補運算并影射到第一象限,以此類推可得到完整的正弦波形。圖8為DDS模塊設計仿真結果。圖9為DDS模塊的RTL視圖。綜合頻率控制字自增子模塊、循環相位累加器子模塊及CORDIC算法實現DDS。
FPGA實現D/A芯片的驅動模塊,主要是將DDS產生的信號實現并-串變換后生成dac_data_in信號,同時生成相應的Clk、dac_en信號,用來控制TLV5618芯片實現數模轉換。圖10為TLV5618芯片仿真圖。dac_data_in[15:0]為16位數據,由12位數據線和4位控制線來控制芯片雙鏈路運行及速度切換等。芯片的工作頻率為12.5 MHz,測試文件中輸入dac_data_in為16'hcf0a,與輸出結果DAC_DIN的數值一一對應,表明數據轉換的正確性,從而驗證了該模塊設計正確。
采用FPGA+D/A轉換器的方式實現了DDS模塊,運用CORDIC算法實現了相-幅轉換,解決了傳統DDS雜散分量大、時延大和功耗高等問題。仿真結果驗證了該設計方案準確有效。本設計充分利用FPGA的可重構及CORDIC算法高計算精度及高分辨率的優勢,實現激勵信號的掃頻功能,能為聲表面波無線無源器件提供精度為99.97%的激勵信號,具有一定的應用價值。