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