于超 ,秦華,劉楠,丁朋,黃丹飛
(1. 長春理工大學 光電工程學院,長春 130022;2. 長春理工大學 中山研究院,中山 528400;3. 中國科學院蘇州納米技術(shù)與納米仿生研究所,蘇州 215213)
太赫茲波通常是頻率位于0.1~10 THz 之間的電磁波,它在電磁波譜中介于微波和紅外波段之間,處于宏觀電子學向微觀光子學過渡的特殊位置。 相比微波等低頻信號而言,太赫茲波能承載很大的信息量,空間分辨率更高。 其次,相比紅外等高頻信號而言,太赫茲波能量更低,其輻射不會因電離而破壞被檢質(zhì),適用于針對人體或其他生物樣品的檢查,具有穿透性強、能量低、光譜信息豐富、相干性好、瞬態(tài)性和寬帶大等優(yōu)異的特性[1]。所以太赫茲成像系統(tǒng)對速度和響應靈敏度有極大的要求。而且太赫茲成像技術(shù)有更為廣泛的實際應用,在人體安檢、醫(yī)學成像、無損檢測、軍事偵查等眾多領(lǐng)域發(fā)揮著重要作用[2]。
2016 年,Han 等人[3]設計了一款基于InGaAs肖特基勢壘二極管檢測器的緊湊型太赫茲反射掃描儀,該檢測器在250 GHz 下最大響應率達到300 V/W,最小噪聲等效功率(Noise Equivalent Power,NEP)達到38 pW/Hz1/2。 2017 年Wen 等人[4]團隊提出了一種128×128 像素的非電焦平面陣列探測器,響應時間為140 ms,3.11 THz 下的NEP 為2.9 nW/Hz1/2,由此選用基于AlGaN/GaN 的HEMT 太赫茲探測器陣列[5],平均響應度可達217.6 kV/W,平均NEP 小于100 pW/Hz1/2,其與專用CMOS 讀出電路ROIC 倒裝互連集成的32×32 太赫茲焦平面成像傳感器,具有高靈敏度、高速和室溫工作的優(yōu)勢,所以控制系統(tǒng)平臺的速度、實時性應具有很大優(yōu)勢,F(xiàn)PGA 為最佳選擇,其次為ARM 和DSP。
林定君等人[6]通過FPGA 將被動太赫茲成像系統(tǒng)采集的數(shù)據(jù)傳輸?shù)缴衔粰C,并且張谷祥等人[7]通過FPGA 設計了雙目采集系統(tǒng),其中特定且繁雜的以太網(wǎng)控制、DDR 控制耗費了大量時間和FPGA 資源。王笑寒等人[8]利用FPGA+DSP 研究的監(jiān)控系統(tǒng)不僅耗費了時間資源,并且此種架構(gòu)電路復雜,功耗高,不易小型化。
而ARM 處理器整合的硬件資源可縮短復雜邏輯實現(xiàn)周期、節(jié)省FPGA 資源,所以滿足系統(tǒng)可定制、高速度需求的最佳實現(xiàn)方式為集成FPGA+ARM 的zynq。zynq 全稱是Zynq-7000 All Programmable SoC,其是賽靈思公司推出的新一代全可編程片上系統(tǒng)(APSOC);它由雙核ARM Cortex-A9 處理器和FPGA 邏輯部件組成,并將兩者優(yōu)勢完美結(jié)合,可高效利用資源、使體積顯著縮小、可靠性和系統(tǒng)整體性能明顯提高,為未來加入烏班圖系統(tǒng)的電子學相機研制打下基礎。
本文針對基于AlGaN/GaN 的32×32 太赫茲焦平面成像傳感器,設計了一種基于Zynq-7020 平臺的太赫茲成像最小控制系統(tǒng),該系統(tǒng)主要包含F(xiàn)PGA 硬件邏輯定制的軟核以及ARM 操控硬核和外設的程序邏輯。太赫茲成像系統(tǒng)結(jié)果表明,通過USB2.0 系統(tǒng)能將光斑清晰和快速地顯示在上位機,幀頻能達到50 Hz 左右,而且ARM可嵌入系統(tǒng)和應用程序的優(yōu)勢為未來高集成度、小型化的太赫茲相機提供了基礎[9-10]。
圖1 為本文提出的基于FPGA+ARM 異構(gòu)的太赫茲成像最小控制系統(tǒng)架構(gòu)圖,它包括可編程邏輯FPGA 端的命令接收和解析、時序控制、ADC 控制、數(shù)據(jù)緩沖和AXI 接口控制模塊以及處理系統(tǒng)ARM 端的中斷、DDR 控制器和USB 控制器等資源調(diào)度和管理。PS 端通過USB 接收上位機命令并將其傳給PL,當中斷來臨時,將DDR 存入的數(shù)據(jù)經(jīng)USB 上傳到上位機,而PL 端則通過命令接收和解析模塊更新時序控制參數(shù),ROIC經(jīng)時序控制輸出的數(shù)據(jù)通過ADC 轉(zhuǎn)換后進行乒乓緩沖,最后數(shù)據(jù)通過AXI 接口進入PS 端。PL端按照PS 端的命令對ROIC 進行相應的控制并采集數(shù)據(jù)傳回PS,實現(xiàn)太赫茲成像的控制。PL端和PS 端之間能夠進行高速的數(shù)據(jù)通信,實現(xiàn)命令下發(fā)和數(shù)據(jù)上傳之間的同步,從而使整個系統(tǒng)協(xié)調(diào)工作[11]。
圖1 太赫茲成像最小控制系統(tǒng)架構(gòu)圖
這個系統(tǒng)充分結(jié)合了FPGA 與ARM 在成像控制領(lǐng)域的優(yōu)勢。 焦平面成像傳感器的控制,包含有靈活的外部器件的控制和通信高速接口設計,以及上下位機高速通信交互、數(shù)據(jù)緩存和事務調(diào)度。器件控制根據(jù)命令和手冊靈活配置時序,高速接口依協(xié)議產(chǎn)生固定的時序,因而需要靈活性高、并行度更強的控制器,所以在本系統(tǒng)選用FPGA 來實現(xiàn)。 而上下位機數(shù)據(jù)通信的控制時序比較復雜,并且數(shù)據(jù)緩存控制邏輯耗費時間和資源,所以由事務分配能力突出的ARM 處理器來完成,只需在已有的硬件基礎上調(diào)用相關(guān)函數(shù)即可。 由此,通過在FPGA+ARM異構(gòu)器件合理分配事務,可充分發(fā)揮各自的優(yōu)勢,使太赫茲成像控制系統(tǒng)速度更高、靈活性更好、效率更高。
ROIC 時序控制模式有全像元掃描、行掃描、列掃描和單像元掃描四種,需要通過時序模式、行列固定地址和ROIC 工作時序要求,生成行場同步和行列地址信號輸入到ROIC 的行列地址控制寄存器組,具體包括幀同步信號FRAME、行同步信號ROW_SYN、行列地址信號ROW_SEL 和COL_SEL;行掃描、列掃描和單像元掃描可以根據(jù)全像元掃描和輸入的固定行列地址實現(xiàn),全像元掃描時序如圖2 所示。在FRAME 高電平期間,F(xiàn)PGA 輸出有效的行列地址信號,行列地址均為0 到31;自FRAME 的上升沿開始,輸入第一行地址信號,行同步信號ROW_SYN 為低電平,電路處于信號建立階段,ROIC 模擬通路打開并將第一行像元變?yōu)橛行гW钚∠到y(tǒng)因ROIC 器件特性將建立時間設為300 μs,之后ROW_SYN為高電平,電路處于讀出階段,此時開始輸入列地址信號,并通過列控制電路逐次選擇輸出每行的模擬電壓。 輸入最后一個列地址后將ROW_SYN 置低,經(jīng)過20 μs 消隱后,開始下一行的建立時間和行列地址輸入;當?shù)?2 行消隱完成后,F(xiàn)RAME 置低。 太赫茲成像最小控制系統(tǒng)每列讀出時間設為10 μs,ROW_SYN 周期則為640 μs 且不大于FRAME 低電平時間,所以本系統(tǒng)FRAME 低電平時間設為670 μs。
圖2 CMOS ROIC 全像元掃描控制時序
圖2 中S1和S2為行建立階段,時間為300 μs。FPGA 依據(jù)圖2 輸出固定時序發(fā)送到ROIC,ADC將ROIC 輸出的模擬信號轉(zhuǎn)換為數(shù)字信號并發(fā)回FPGA,最后FPGA 通過ARM 把數(shù)據(jù)傳輸?shù)缴衔粰C進行顯示。通過連接示波器和芯片引腳可觀察FPGA 實際輸出的ROIC 控制時序,結(jié)果如圖3所示,頻率達到47.3 Hz,滿足系統(tǒng)要求。其中D2代表FRAME,D1代表ROW_SYN,D5~D9代表ROW_SEL[4]到ROW_SEL[0],D10~D14代 表COL_SEL[4]到COL_SEL[0],從圖中可以看出實際和理論時序圖相符。
圖3 ROIC 實際控制時序
系統(tǒng)選用ADS8422 為模數(shù)轉(zhuǎn)換器件,該芯片是一款具有內(nèi)部采樣和保持功能的16 位電容器型多位SAR、最高采樣速率達4 MHz 的A/D 轉(zhuǎn)換器;同時它具有-4~4 V 偽雙極、全差分輸入范圍并且內(nèi)置4.096 V 基準電壓VREF 和基準緩沖器,采樣精度高達16 bit。它不僅可以將差分輸入信號轉(zhuǎn)換成16 bit 并行數(shù)據(jù),還可以通過COMMOUT引腳設置模擬輸入共模電壓從而實現(xiàn)單端輸入,本系統(tǒng)模數(shù)轉(zhuǎn)換采用單端輸入和內(nèi)部基準電壓,輸入范圍為0 到2VREF,滿足太赫茲成像控制系統(tǒng)高速、高精度和低功耗的要求。圖4 為設計的ADS8422 引腳連接圖,左側(cè)為模擬引腳,右側(cè)為數(shù)字引腳。 COMMOUT 引腳輸出2.048 V用于設置模擬差分輸入的共模電壓,將單端輸入信號轉(zhuǎn)為差分信號,可有效抑制干擾和共模噪聲,降低了偶次諧波,而且高信噪比會獲得更有效的圖像信息[12]。 FPGA 通過DB0 到DB15、BUSY 和CVST_N 信號與ADC 建立連接,完成對ADC 的控制,使其在每個列地址讀出時間內(nèi)對ROIC 輸出信號采樣8 次,之后對數(shù)據(jù)求和取平均以提高采集精度。
圖4 ADS8422 引腳連接
FPGA 與ADC 之間的信號交互時序設計如圖5 所示。FPGA 通過CVST_N、BUSY 和DATA 信號,與ADC 建立數(shù)據(jù)交互,完成數(shù)據(jù)的采集。CVST_N低有效,和CVERT 都是模數(shù)轉(zhuǎn)換信號,孔徑延遲t3為CVST_N 下降沿到實際開始模數(shù)轉(zhuǎn)換的時間;BUSY 是模數(shù)轉(zhuǎn)換和數(shù)據(jù)有效標志信號。CVST_N 初始為高電平,拉低后BUSY 和CVERT變?yōu)楦唠娖?,表明ADC 從采樣模式切換到轉(zhuǎn)換模式,模數(shù)轉(zhuǎn)換過程中,兩個輸入都與任何內(nèi)部功能斷開。CVERT 高電平持續(xù)t5后拉低,表明模數(shù)轉(zhuǎn)換完成,而CVST_N 低電平持續(xù)t1后變?yōu)楦唠娖?,再?jīng)過t2后完成下一次采樣,t4為轉(zhuǎn)換周期。CVST_N 低電平持續(xù)t7后,數(shù)據(jù)在ADC 內(nèi)部已經(jīng)轉(zhuǎn)換完成,再經(jīng)過t8后BUSY 為低電平,表明此時為有效數(shù)據(jù),BUSY 在轉(zhuǎn)換過程中保持高位。如果在轉(zhuǎn)換結(jié)束時檢測到CVST_N 高,設備立即進入采樣模式,模擬輸入連接到CDAC。其中ACQUISITE 為數(shù)據(jù)采樣信號,與CVERT 完全相反,高電平采樣時間為t6。
圖5 ADS8422 模數(shù)轉(zhuǎn)換控制時序
將FPGA 產(chǎn)生的ADC 控制時序通過引腳連入示波器,可觀察到實際的控制時序,如圖6 所示。D0代表列地址時鐘ADD_CLK,頻率為100 kHz;D1代表行同步信號ROW_SYN,D3代表CVST_N信號,D4代表數(shù)據(jù)ADC_RDY 數(shù)據(jù)有效信號。D3和D4說明每個像素點連續(xù)采集8 次,之后加權(quán)平均,輸出最終像素值。 從圖中可以看出實際和理論時序圖相符。
圖6 ADS8422 實際行列控制時序
USB 接口作為主機和外設間高速穩(wěn)定的雙向通道,在圖像數(shù)據(jù)采集、控制科學中廣泛應用。本文將USB2.0 的slave FIFO 工作方式和ZYNQ7020的ARM 端USB 控制器有機結(jié)合,設計實現(xiàn)了USB和上位機的雙向通信。圖7 為USB 雙向通信系統(tǒng)框圖。
圖7 USB 通信系統(tǒng)框圖
USB 控制器使用ULPI 協(xié)議通過MIO 的12 個引腳連接外部ULPI PHY,該IP 核一側(cè)通過UTMI接口或PHY 與PC 機端進行通信,另一側(cè)則通過AHB 總線與ARM 相連。每個控制器都是連接到PS 的AHB 總線主機,并且通過控制器的APB 從接口訪問控制和狀態(tài)寄存器。其中DMA 引擎負責在Rx/Tx FIFO 和系統(tǒng)存儲之間移動USB 事務數(shù)據(jù),數(shù)據(jù)結(jié)構(gòu)由設備隊列頭和設備描述符組成。 傳輸完成后,DMA 會將描述符寫回系統(tǒng)內(nèi)存,這些FIFO 通道可以同時保持異步運行。協(xié)議引擎負責解析USB 令牌包,生成響應包并執(zhí)行錯誤檢查功能,將數(shù)據(jù)移動到DMA 控制器。它還會向DMA 引擎報告所有傳輸狀態(tài)。ZYNQ7020芯片不帶USB 接口的處理,不能直接處理USB 總線上的DP、DM 的差模信號,所以使用高速USB 2.0 收發(fā)器USB3320 PHY 芯片,可以把DP、DM 上的差模信號轉(zhuǎn)成共模信號。
軟件設計部分:通過固件程序驅(qū)動USB 控制器來完成USB 雙向通信。首先需要查找USB 控制器配置信息,然后通過配置信息初始化控制器,接著設置中斷系統(tǒng)和端點信息,最后通過發(fā)送和接收函數(shù)將數(shù)據(jù)路由到上位機或FPGA 端。為了簡化開發(fā)周期,只需在SDK 提供的固件框架上進行修改即可。系統(tǒng)上電并加載固件程序,主機通過控制管道進行枚舉,可獲得設備基本描述信息,例如PID、VID 等等。之后主機對設備分配地址,獲取設備描述符、配置描述符和端點描述符等等,所以只需對ID 及描述符等配置信息做一些修改即可。
圖8 展示的是設備端點信息的配置。 本設計采用端點0 的雙向控制傳輸以及端點1 的發(fā)送、接收批量傳輸,端點0 采用2 個64 Byte 緩沖器,端點1 采用16 個512 Byte 緩沖器。通過固件的ID 生成對應的驅(qū)動程序并裝入內(nèi)存,最終可實現(xiàn)USB 雙向通信。
圖8 USB 設備端點信息
配備Zynq7020 開發(fā)板、340 GHz 頻段AlGaN/GaN HEMT 太赫茲探測器陣列及配套底板、光源和ADC 板、上位機軟件和PC 機并搭建整個太赫茲成像最小控制系統(tǒng),然后將以上硬件系統(tǒng)部分封裝成IP 核并添加到模塊化設計中,接著添加PS,完成軟硬件設計,最后將文件燒寫到芯片內(nèi),整個系統(tǒng)耗費資源如表1 所示。
表1 太赫茲成像控制最小系統(tǒng)消耗資源表
從表1 可看出BRAM 存儲器資源利用率較大,系統(tǒng)內(nèi)部存在冗余,后期可對設計進行優(yōu)化。
圖9 和圖10 是無太赫茲光源的不同掃描方式的圖像波形顯示結(jié)果,其中圖9(a)和圖10 橫軸為列號,縱軸為行號,圓形的橫軸為像素位置,縱軸為像素值。通過圖9(b)中波形可將疵點在圖9(a)中標出,疵點分別位于第19 行第15列和第31 行第2 列,其像素值與平均像素值相差大于50%。 圖10 為第30 行和第14 列掃描結(jié)果,用紅框標注出兩個疵點。
圖9 無太赫茲光源下的全掃描顯示結(jié)果
圖10 無太赫茲光源下的行列掃描圖像顯示結(jié)果
探測器被太赫茲光源照射,焦平面陣列(Focal-Plane Array,F(xiàn)PA)成像結(jié)果如圖11 所示,其左下位置出現(xiàn)明顯光斑,太赫茲光頻率為94 GHz,低于FPA 探測器頻率。ROIC 控制時序幀頻為47.3 Hz,每幀2 048 字節(jié)有效數(shù)據(jù),數(shù)據(jù)實時傳輸并儲存于DDR,之后通過PS 實時讀取數(shù)據(jù)并將其發(fā)送上位機。上位機每收到A字節(jié)有效數(shù)據(jù),需要時間為T秒,其中A實際測得為20 275 200,T為209.354,故實際幀頻F計算可得:
圖11 94 GHz 太赫茲光源照射下的圖像顯示結(jié)果
式(1)與預期相符并滿足系統(tǒng)需求,所以最小控制系統(tǒng)能夠?qū)崿F(xiàn)多種掃描方式的太赫茲實時成像。 系統(tǒng)結(jié)合ARM 和FPGA 優(yōu)勢,性能更強、集成度更高,為后期小型化的太赫茲相機設計做了準備。
本文提出了一種ARM+FPGA 軟硬件邏輯協(xié)同設計的太赫茲成像最小控制系統(tǒng),系統(tǒng)將DDR 和USB 總線驅(qū)動通過PS 端固有的硬核完成,節(jié)省了FPGA 端的觸發(fā)器和LUT 等資源。系統(tǒng)通過AXI 協(xié)議框架和C 語言縮短了開發(fā)周期,高效利用資源,合理分配功耗,而且FPGA+ARM異構(gòu)大大提高了系統(tǒng)性能和集成度,確保了Zynq 控制系統(tǒng)方案的可行性,為后期高集成度小型化太赫茲相機的設計奠定了基礎。受限于ROIC 行建立時間,本系統(tǒng)數(shù)據(jù)傳輸速率僅為0.775 Mbit/s,所以后期可針對多個FPA 陣列進行驅(qū)動成像,并且還需對探測器陣列進行非均勻性動態(tài)校準和圖像處理,以此來提升電壓響應度、降低噪聲等效功率,獲取更高質(zhì)量的圖像。