文獻標識碼: A
文章編號: 0258-7998(2013)06-0007-03
錐形束CT(Cone Beam Computed Tomography,CBCT)出現于20世紀90年代后期[1-2]。因其具有輻射劑量小、分辨率高和軸向視野大等優點,廣泛應用于口腔診斷等醫學領域[3]。其中專用于口腔醫學的又稱為口腔CT(或牙科CT),其主要由機架、C形臂、X射線高壓發生器、X射線源和平板探測器等部件構成。系統運行時,C形臂旋轉一周,同時X射線源出束,平板探測器采集圖像,經過重建獲得三維圖像。口腔CT 具有成本低、占地面積小、劑量較低、圖像分辨率較高以及使用靈活等優點, 在口腔醫學領域具有重要的應用前景。國內已經有少數幾家單位在研究該類型設備,但尚沒有真正的產品推向市場。同步控制是口腔CT采集系統中的一項關鍵技術,相關技術研究的文獻介紹也較少。本文旨在實現機械結構、X射線源以及平板探測的同步工作,確保獲取高質量的投影圖像。利用Quartus II和Nios II的開發軟件設計片上系統,大大減少外圍電路設計的復雜度,減短開發周期,同時也使得系統開發更加靈活[4]。
1 平板探測器時序信號特征
本研究所使用的平板探測器是美國Varian公司的PS1313。該型平板探測器讀取數據有兩種控制模式:一種是內觸發模式,另外一種是外觸發模式。為了使探測器更好地與X射線源以及機械運動同步并實現劑量的控制,本研究采用外觸發模式[5]。根據采集圖像的大小,采集窗寬有所變化, 但均在100 ms內。
為了減少人體輻射劑量,口腔CT的X射線一般采用脈沖式出束。所以,不同的采集寬度影響著采集同步時序的控制。理想情況下,平板探測器采集時間、X射線出束時間以及機械結構起止時間一致,就完成一次投影采集。但由于探測元的遲滯性,在采集完后需要充分放電,才能進行下一次采集。因此中間需要停止一段時間,一般是2~3個采集周期。同時,C型臂的旋轉可能導致殘影的出現,所以也需要停止一段時間后再進行曝光和圖像采集。另外,從X射線的開啟到X射線出束穩定有一個上升時間,所以X射線的開啟時間應該比探測器早。而C型臂的旋轉速度與圖像重建需要采集的投影數有關,C型臂旋轉的速度T按式(1)計算:
3 控制系統軟件設計
3.1 系統軟件頂層模塊設計
頂層模塊包含Nios II內核、鎖相環、高壓發生器和平板探測器脈沖控制模塊以及步進電機控制模塊。Nios II內核和鎖相環在Quartus II平臺上根據設計需求手動生成;鎖相環有3路時鐘信號,分別作為Nios II、高壓發生器、探測器脈沖控制模塊以及步進電機控制模塊的時鐘信號;高壓發生器和探測器脈沖控制模塊以及步進電機控制模塊則用Verilog HDL語言編寫[6],然后封裝成模塊。
3.2 高壓發生器和探測脈沖控制軟件設計
該脈沖控制軟件由3個模塊組成:(1)通信模塊,用于與Nios II內核通信;(2)X射線源高壓發生器控制脈沖生成模塊;(3)探測器脈沖生成模塊。代碼設計應用了狀態機的設計思想,通信模塊接收到Nios II內核信號后,將這些信號分成3個狀態:狀態1,高壓發生器和探測器均為關閉狀態;狀態2,高發生器打開,探測器關閉;狀態3,高壓發生器關閉,探測器開啟。該部分代碼流程圖如圖3所示。
3.3 步進電機控制模塊軟件設計
步進電機的控制是通過改變脈沖頻率來實現的。步進電機控制脈沖是FPGA通過系統時鐘分頻得到的,所以為了達到調速的目的,本設計通過Nios II控制步進電機模塊改變分頻系數來達到改變步進電機速度的目的[7]。步進電機控制的關鍵是實現平滑的調速,步進電機調速的方法有很多,這里采用S型曲線進行調速[8]。用Quartus II生成一個Rom用于存儲調速的頻率值,Rom和電機控制共用一個時鐘信號。該部分模塊化的結果如圖4所示。
3.4 Nios II內核軟件設計
Nios II內核[9]的作用與初級版本中Atmege128的功能相似。根據圖2,Nios II內核代碼包含了以下模塊:串口通信、按鍵處理、電源控制、LCD、高壓發生器和探測脈沖控制和步進電機控制模塊。開機后系統讓高壓發生器、探測器、步進電機等處于初始狀態。按下復位按鍵后,可以通過電腦上位機軟件設定高壓發生器參數kV和mA值。按下掃描按鍵開始掃描,若發現有參數未設置,或者設備初始狀態出現故障,則系統停止運行,同時在LCD和電腦上提示錯誤;若一切正常,則進入掃描狀態,此時系統會通過串口定時檢查高壓發生器的狀態。當出現異常時系統停止運行,并提示錯誤;若正常則系統運行直至掃描結束。其控制流程圖如圖5所示。
3.5 串口通信
該控制系統中兩個串口均采用應答包方式實現握手機制,命令的字段均采用ASCII編碼方式,各數據段發送順序為由高字節到低字節,數據包最大長度為16 B。上位機控制軟件采用Visaul Studio 2008開發[10],控制系統電路板軟件開發采用Nios II 11.0 Software Build for Eclipse和Quartus II[11]。
串口UART0的參數設置為:115 200 b/s,Even Parity,8 bit Data位,1 bit Stop位。該串口的命令格式如表1所示。
STX為數據包起始數據,固定十六進制值為0x02;CMD為命令字符;SP為間隔字符0x20;ARG為設定參數的范圍;分號字符為命令數據包中的固定字符;CS為校驗字符,是2的補碼;CR和LF為結束字符,十六進制數分別為0x0D和0x0A。
串口UART1的參數設置為:115 200 b/s,Odd,8 bit Data位,1 bit Stop位。該串口的命令格式如表2所示。
STX為數據包的起始段,固定為0x3C;TYPE為命令標志字段;CONT為命令類型字段;PARAM為命令參數;LF為數據包結束標志字段,固定為0x3A。
4 實驗結果
設計完成后,對系統進行了聯機調試,并將系統上位機軟件與口腔CT圖像處理軟件整合,調試結果表明系統運行良好。
在預設同步頻率值為10 Hz的情況下,用示波器分別采集光柵尺反饋信號、平板探測器觸發信號以及X射線脈沖信號。通過示波器中CURDOR鍵進行光標測量,這3個脈沖信號頻率均為10 Hz。平板探測器信號和光柵尺信號延遲為40 μs,X射線脈沖信號為20 ms。時序結果與理論分析一致。
該平板探測器自帶一個上位機軟件,利用這個上位機軟件可以設定圖像采集速率,采集完圖像后也可以獲得實際的圖像采集速率。下面表3中對圖像采集速率設定值與實際的圖像采集反饋值以及同步控制系統設定的圖像采集頻率值進行了比較。從結果看,相對誤差均不大于0.2%。根據采集窗寬的變化范圍,本設計選擇了10 Hz的同步控制速率,根據采集投影數目的多少,掃描一周所需要時間為20 s~36 s,實際出射線時間為4 s~7.2 s;而同樣投照面積下德國kavo 3D口腔CT所用時間為26.9 s,出射線時間12.6 s。
本文描述了利用嵌入Nios II處理器的FPGA實現口腔CT控制的設計方案,實現了同步脈沖的輸出控制,同時完成了PC機上位機控制軟件的設計、高壓發生器的狀態監測以及顯示和存儲等附帶功能。系統初級版本是采用Atmega128和Altera公司的EMP570實現的,而該方案不僅使得外部電路復雜,而且穩定性相對低。本設計采用EP4CE15F256為核心,嵌入32位內核處理器Nios II,相當于把MCU和CPLD集成在一起,在穩定性和實時性上都優于初級版的設計,并且電路設計更加簡單,軟件設計更加靈活,縮短了開發周期。
參考文獻
[1] SCARF W C,FARMAN A G,SUKOVIC P.Clinical applications of Cone-Beam computed tomography in dental practice[J].Can Dent Assoc,2006,72(1):75-80.
[2] JIANG H.Computed tomography:principles,design,artifacta,and recent advances[M].2nd ed.Bellingham,Wash,SPIE Press,2009.
[3] 唐小山,房莉,曾飛煌,等.CBCT技術在多生牙診斷中的意義[J].CT理論與應用研究,2012,21(2):529-554.
[4] 催鶯然,胡寶霞.基于Nios軟核處理器的嵌入式系統設計[J].電子測試,2008,11(5):55-99.
[5] 羅守華,催燕南,薄騰飛,等.低輻射CBCT系統成像時序的控制與實現[J].科技導報,2012,30(6):23-26.
[6] 周潤景,圖雅,張麗敏.基于Quartus II的FPGA/CPLD數字系統設計實例[M].北京:電子工業出版社,2007.
[7] 歐海平,周硯江,張華也,等.基于SOPC的步進電機加減速PWM控制IP核設計[J].機電工程,2011,28(6):708-711.
[8] 楊超,張冬泉.基于S曲線的步進電機加減速的控制[J]. 機電工程,2011,28(7):813-817.
[9] 李蘭英.Nios II嵌入式軟核SOPC設計原理及應用[M]. 北京:北京航空航天大學出版社,2006.
[10] 龔建偉,熊光明.Visual C++ /Tubo C串口通信編程實踐[M].北京:電子工業出版社,2008.
[11] 李銳.基于嵌入式Nios II軟核的串口直接讀寫寄存器方式編程[J].現代電子技術,2010,14(37):37-39.