劉 穎,鐘 凱,章浩偉
(上海理工大學 健康科學與工程學院,上海 200093)
射頻脈沖發生器是磁共振成像(Magnetic Resonance Imaging,MRI)系統的重要組成部分,可用于產生和控制磁共振激勵所需的射頻脈沖。在脈沖序列發生器的控制下,射頻脈沖發生器產生特定頻率、相位、幅值的射頻(Radio Frequency,RF)信號,并控制射頻信號的輸出時間。射頻信號經過射頻功放和射頻開關以驅動發射線圈產生射頻場()。
隨著數字集成電路的發展,頻率合成技術越來越多地使用數字器件來實現。在射頻發生器中,頻率合成是其關鍵的步驟,目前頻率合成主要有3種實現方法,即:模擬器件合成、鎖相環技術以及直接數字頻率合成技術。近年來在頻譜儀的設計與實現中,更多地直接采用數字頻率合成技術來實現射頻脈沖的發生與控制。
現如今在MRI系統中使用DDS生成射頻脈沖的方法時,多會選用無內嵌處理系統的FPGA作為主控芯片。使用嵌入ARM核的SoC架構在數據處理上更加快速、靈活,對于復雜系統的設計節省了FPGA邏輯資源的消耗。此外,在應用中不需要額外的處理器與外設并行總線來外掛FPGA,這也使得整個嵌入式系統體積足夠小,結構更加靈活。
本文將DDS技術與片上處理系統應用于磁共振成像射頻信號發射,設計了一種MRI的數字射頻脈沖發生系統。設計中利用SoC中的ARM核與上位機通信獲取指令,并生成相應的配置數據。由FPGA控制雙通道DDS-AD9958實現射頻頻率合成功能,以及射頻脈沖的波形調制。這種實現方式降低了硬件的復雜程度和數字化開發難度,從而進一步提高了集成度與靈活性。此外,Zynq的AXI4協議使得數據通訊速度更快,信息傳遞結構更簡單。
傳統的MRI射頻發生器主要使用模擬器件合成。隨著數字集成電路的發展,數字射頻發射已成為當下的趨勢,主要就是在數字域通過數字調制的方式,避免模擬調制中模擬器件的非線性效應引起的信號質量問題。同時由于模擬器件往往會受到工作溫度、壽命、使用環境等因素的影響,數字化射頻方法成為了一個新的發展方向。隨著軟件定義無線電技術(Software Defined Radio,SDR)在數字化開發中展開,SDR在SoC中的集成日趨完善,這為數字化射頻開發與實現提供了基礎。并且由于FPGA具有硬件集成、可重構性和靈活性等優點,也有效推動了SoC FPGA在射頻硬件開發中的應用。該開發方法在FPGA中以數字頻率合成技術和片上系統代替傳統的頻率源和主控器件來產生射頻脈沖信號。
本文使用Zynq的處理系統(process system,PS)讀取上位機射頻脈沖控制命令,在可編程邏輯(programmable logic,PL)部分生成相應配置文件,并通過AXI對BRAM進行讀寫操作。配置完成后,在PL端采用SPI通訊方式實現對AD9958的配置,激發后通過計數控制RF開關的開啟與關閉,最終得到RF脈沖。系統框架結構如圖1所示。

圖1 Zynq SoC系統框架Fig.1 Block diagram of Zynq SoC
DDS主要包含一個相位發生器、正弦查找表和DAC,其中相位發生器由相位累加器以及一個提供相位偏移的加法器組成。DDS通過頻率控制字來改變相位增量(步長)。步長的差異導致周期內量化數據的取樣樣本數不同。因此在時鐘頻率一定時,通過改變相位,頻率將隨之變化;相位偏移、即相位控制字,用于設置增量的初始值,從而控制初始的相位。查找表一般使用ROM或RAM,并存儲了一個正弦信號的樣本,用頻率控制字和相位控制字來獲得取樣地址,就可映射到所需的輸出波形。
DDS在工作時,每個時鐘周期內,相位累加器會對初始相位,以頻率控制字進行一次累加。當累加器溢出時做取余運算,并以余數為初始值再次進行累加。正弦查找表在每個時鐘周期通過輸入的地址讀取對應的位置的幅值數據。最后經過DAC輸出模擬信號。DDS的輸出信號公式可以表示為:

其中,Φ表示當前周期的相位值;1表示上一周期;為累加器位數。通過DDS工作原理,可以推得輸出頻率f與相位的計算公式分別如下:

其中,為頻率控制字;為相位控制字;f為時鐘頻率;為相位位數。
DDS為了實現調幅功能,在DAC輸入之前,額外加入比例乘法器并用幅值控制字進行控制。幅值可由如下公式進行計算:

其中,表示幅值控制字;表示的位數;是DDS的最大輸出電壓。通過以上控制字的調節就能使得DDS輸出指定的射頻脈沖。
在MRI系統中,根據射頻脈沖的選擇特性,可以將射頻脈沖分為非選擇性射頻脈沖(Hard Pulse,硬脈沖)和層面選擇性射頻脈沖(Soft Pulse,軟脈沖)。對此擬做研究分述如下。
(1)硬脈沖。硬脈沖持續時間短且脈沖幅度穩定,脈沖包絡呈矩形,主要特點是激發范圍大,但層面選擇并不精確。這里給出了硬脈沖的函數表達式及對應的傅里葉變換為:

根據上式可知,脈寬為的硬脈沖頻帶為4π。控制脈寬,能夠調節激發質子核的頻率范圍。由于激發過程中射頻脈沖持續時間一般較短,因此硬脈沖的頻帶范圍較大,通常用于成像層厚較大的場合。
(2)軟脈沖。軟脈沖持續時間短,主要有sinc型脈沖、SLR型脈沖、高斯型脈沖。其特點為激發范圍小,傅里葉變換后有更精確的層面輪廓。在商用MRI中,由于sinc型脈沖較易實現,因此在使用中較為常見。以sinc型脈沖為例,sinc脈沖廣泛用于選擇性激發脈沖、飽和脈沖以及重聚脈沖。脈沖形狀由主瓣和旁瓣組成。其中,主瓣的幅度最大、且寬度為旁瓣的2倍,旁瓣幅度隨著兩側的延伸而逐漸減小,同時旁瓣呈正負交錯狀。在實際應用中若要減少持續時間,可以減少右側旁瓣,即形成非對稱sinc型脈沖。sinc型脈沖的函數表達式以及其傅里葉變換為:

從sinc型脈沖的傅里葉變換可知,其頻譜包絡呈帶寬為2π的方波,在實際應用中sinc型脈沖的帶寬較為狹窄,通常用于成像層面較窄的場合。
Vivado是Xilinx公司針對其旗下的FPGA設計的開發軟件,有著高度集成的設計環境和電子系統及設計。Vivado基于ASIC綜合技術,支持工具命令語言(TCL)、SDC約束、SV語言等。設計人員可以在設計與實現之間進行交叉測試,極大程度上加快了開發速度。
本設計使用SoC架構下的Zynq 7010進行設計與開發,主芯片型號為XC7Z010-1CLG400C,片內集成了2個ARM Cortex-A9處理器。本設計使用片內處理器與上位機通訊獲取射頻脈沖發射指令,并在PS內通過公式(1)~(5)計算DDS的控制字參數和波形文件。通過AXI協議,將配置文件發送至可編程邏輯部分。最后,利用在Vivado中自定義的IP以SPI的 模 式 配 置DDS。在Vivado的block design中搭建的對應的可視化結構如圖2所示。

圖2 模塊化設計框圖Fig.2 Diagram of block design
Xilinx SDK是Xilinx公司為了開發Zynq系列全可編程片上系統所推出的嵌入式軟件開發工具。SDK作為首個具有異構多處理器設計、實現與調試分析的程序,集成了大量的板級支持包用于支持各種開發板,同時還包含了大量的庫函數,這就顯著降低了開發難度。
在軟件設計流程中,程序開始后進行初始化設置,通過串口獲取上位機指令,并在PS端內計算頻率、相位控制字、波形文件以及脈沖時間計數值。將生成的脈沖波形文件通過AXI協議發送至PL端雙端口RAM中,再利用PL端定義的DDS控制模塊通過SPI協議將配置數據發送至DDS,通過DDS控制模塊計數來控制射頻開關。流程框圖如圖3所示。

圖3 軟件設計框圖Fig.3 Diagram of the software design
本設計頻率合成使用雙通道DDS-AD9958,該合成器由2個DDS內核組成,每個內核包含有32 bit頻率控制字、14 bit相位控制字以及10 bit輸出比例乘法器,因此具有獨立調節頻率、相位、幅值的能力。AD9958最高工作頻率為500 MSPS,最高輸出頻率可達200 MHz,滿足高場(3T)及以下的MRI射頻頻率要求。設計使用25 MHz的外部晶振通過集成的PLL倍頻至500 MHz,并通過I/O端口進行通訊,I/O端口用的是SPI接口模式,其中SCLK為串口數據時鐘線,在本設計中頻率設定為125 MHz,CS為片選,SDIO_0為串 口 數據 線,UPDATA將傳輸至緩存的數據更新至寄存器中,RST用于芯片的復位。接口連接示意如圖4所示。

圖4 SPI連接圖Fig.4 Diagram of SPI connection
本設計通過Vivado設計自定義IP對AD9958進行寫操作,具體結構分為指令周期和數據周期兩個階段。其中,指令周期選擇指定寄存器地址,數據周期將指定數據發送至寄存器。本設計SPI通訊使用單比特2線模式,其寫數據的時序邏輯如圖5所示。

圖5 AD9958時序邏輯圖Fig.5 AD9958 sequential logic diagram
設計使用截止頻率為200 MHz的巴特沃斯低通濾波器,階數為9階,電路示意如圖6所示。巴特沃斯濾波器具有通帶內最大限度平坦的頻率響應曲線,通帶平滑、沒有波紋。在阻帶內,巴特沃斯濾波器衰減速度隨階數增加而加快,9階巴特沃斯濾波器衰減率可達54 dB。

圖6 巴特沃斯濾波器示意圖Fig.6 The schematic diagram of Order 9 Butterworth filter
射頻開關使用的是ADI公司的非反射式開關芯片HMC849,通道關閉狀態下可產生高達60 dB的隔離,同時具有低于0.8 dB插入損耗。控制端口為5 V或3.3 V TTL電平控制輸入。PL端的控制IP中,在脈沖生成后進行計數以控制脈寬,計數滿則控制IO電平連接至HMC849的V端口。 開關功能原理如圖7所示。

圖7 HMC849功能結構Fig.7 Functional diagram of HMC849
本系統使用Xilinx公司的zybo板作為開發平臺,使用JTAG進行程序下載。為驗證本設計的射頻脈沖發生效果,設計生成1.5 T場強下的射頻脈沖,對應射頻頻率為63.87 MHz,并使雙通道DDS輸出頻率為63.87 MHz的射頻信號以及對應的軟脈沖。
通過MSO4104示波器對射頻輸出結果進行檢測,通道一輸出頻率為63.87 MHz的射頻信號檢測波形如圖8(a)所示,檢測到頻率63.86 MHz,峰峰值400 mV,輸出阻抗50 Ω;通道二輸出的63.87 MHz的軟脈沖類型為3sinc型,輸出的波形結果如圖8(b)所示。使用頻譜儀AT6030D對63.87 MHz射頻信號檢測,偏離中心頻率1 MHz的雜散約為-67.23 dB;偏離中心頻率10 kHz的相位噪聲約為-64.57 dB/Hz。結果證明本設計的射頻脈沖輸出較為理想,且經多次測量后輸出穩定波形。

圖8 檢測后的射頻輸出結果Fig.8 The detected RF output result
實驗通過Zynq 7010進行整個系統的搭建與實現,優點是低成本,自帶處理器,相較于目前使用較多的FPGA在工藝上能達到更低的靜態功耗。研究中,通過門控時鐘技術來減少寄存器反轉造成的功耗,即對相應模塊加入了使能信號,能有效降低平均20%的功耗。該系統使用Vivado進行設計與開發,通過該軟件可以得到系統資源利用率。資源使用情況見表1。表1中,RF為項目工程名。

表1 資源分析結果表Tab.1 Resource analysis results table
由表1可知,證明單板資源足以支持該系統的工作。然而高場系統往往具有多個射頻通道,需要的資源也更多。由于Zynq 7010是Zynq-7000系列中的最小型的版本之一,現有資源較少。對于16通道及以上的設計,預計需要使用多個芯片或者應用具有更多資源的型號的芯片來支持系統的實現。
本文基于Zynq SoC提出了一種可用于高場的射頻脈沖發生方法,以SoC作為主控系統,并以DDS為頻率源。利用C、Verilog語言在Vivado及SDK開發軟件中進行設計開發,并以可視化界面進行結構設計。相較于現有的射頻發射方法,該設計采用數字器件降低了硬件的復雜程度,利用SoC的優勢提升了系統的靈活性,并且高集成的開發軟件也在相當程度上減小了開發難度,加快了開發周期。