国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種USB接口的非制冷紅外機(jī)芯設(shè)計(jì)

2022-07-25 03:02:46白龍溫
關(guān)鍵詞:固件線程時(shí)鐘

白龍溫,賈 銘

(1.天津機(jī)電職業(yè)技術(shù)學(xué)院 電氣學(xué)院,天津 300401;2.河北工業(yè)大學(xué) 電信學(xué)院,天津 300401)

非制冷紅外焦平面探測器憑借價(jià)格低、體積小、操作方便等優(yōu)勢在民用紅外成像領(lǐng)域應(yīng)用越來越廣泛[1]。特別是以紅外成像為基礎(chǔ)的非接觸紅外測溫方法,相對于傳統(tǒng)的電子體溫計(jì)或者紅外體溫槍,具有速度快,精準(zhǔn)度高,結(jié)合在PC機(jī)的人工智能算法可實(shí)現(xiàn)人群快速測溫,在新冠疫情防控中得到了廣泛關(guān)注[2]。本文結(jié)合USB總線傳輸速度快、應(yīng)用廣、支持熱插拔等優(yōu)點(diǎn),設(shè)計(jì)了一種基于USB接口的非制冷紅外成像機(jī)芯,使用ULIS公司Pico384非制冷紅外焦平面探測器,以FPGA和USB3.0接口芯片作為核心,給出了總體設(shè)計(jì)圖。并針對紅外探測器要求低噪聲的特點(diǎn),設(shè)計(jì)了關(guān)鍵硬件和USB接口相關(guān)軟件的設(shè)計(jì)。

1 總體設(shè)計(jì)

整機(jī)系統(tǒng)包括探測器控制模塊、信息處理模塊和電源接口模塊三部分,分別位于3塊獨(dú)立的電路板上,板間通過高速連接器進(jìn)行信號傳輸。整體框圖如圖1所示。

紅外焦平面探測器Pico384的像素分辨率為384*288,像素尺寸17 μm,采用IIC接口通信,總功耗<65 mW[3]。FPGA為Altera公司CycloneV系列 5CEFA4F17I7,內(nèi)嵌DDR硬件控制器,USB芯片為Cypress公司EZ-USB FX3系列CYUSB3014,內(nèi)部集成AMR9處理器和高度靈活的可編程數(shù)據(jù)接口GPIF II,支持USB3.0并向下兼容USB2.0,其傳輸速度達(dá)5 Gbps。

紅外探測器供電后,接收到主時(shí)鐘和FPGA發(fā)出的IIC配置信號開始啟動(dòng),并輸出原始模擬視頻信號以及像素時(shí)鐘(PSYNC)、行同步(HSYNC)和幀(VSYNC)同步等數(shù)字信號。同步數(shù)字信號直接進(jìn)入FPGA,而原始模擬視頻信號則經(jīng)低噪聲信號調(diào)理電路濾波放大轉(zhuǎn)成差分信號,經(jīng)高精度高速低噪聲ADC完成數(shù)據(jù)轉(zhuǎn)換成數(shù)字量后進(jìn)入FPGA內(nèi)部處理緩存,F(xiàn)PGA根據(jù)同步信號對該緩存數(shù)據(jù)調(diào)整接收并存儲為一幀圖像數(shù)據(jù).隨后圖像數(shù)據(jù)經(jīng)過非均勻性矯正、壞元替代等處理算法后,向USB芯片的GPIF II口傳輸數(shù)據(jù),USB芯片打包數(shù)據(jù)并向PC端傳輸,PC端解碼后獲取圖像數(shù)據(jù)。

2 關(guān)鍵硬件設(shè)計(jì)

紅外成像過程中過多的噪聲將直接影響紅外圖像質(zhì)量,大大減少紅外圖像測量的精度。ADC采樣電路之前的模擬部分更容易引入噪聲,為此設(shè)計(jì)合理的低噪聲探測器供電電路、信號調(diào)理和ADC電路將顯得尤為重要。

2.1 探測器低噪聲供電設(shè)計(jì)

Pico384焦平面需要數(shù)字電壓VDD 1.5 V、模擬電壓VCC 3.6 V、模擬偏置電壓VSK固定3.6 V(最大電流1 mA)輸入,以及可調(diào)的模擬偏置電壓GSK(調(diào)整范圍:1.7~3.6 V)和GFID(調(diào)整范圍:1~2.9 V)[3]。傳統(tǒng)方法為DC/DC或LDO直接供電,這種方法易引入開關(guān)噪聲或輸出噪聲無法達(dá)到很低的水平,本文采用高輸出電流的運(yùn)算放大器供電,運(yùn)算放大器具有較高電源抑制比和較低的輸出噪聲。GSK和模擬電壓VCC 3.6V設(shè)計(jì)電路如圖2所示。

2.2 低噪聲信號調(diào)理和ADC電路設(shè)計(jì)

Pico384輸出的模擬視頻信號易受干擾以及幅值不在ADC的輸入范圍以內(nèi),需要通過信號調(diào)理進(jìn)行濾波、調(diào)幅、轉(zhuǎn)換等。根據(jù)系統(tǒng)性能以及成本等綜合考慮,ADC選擇AD6645-80,其具有14位采樣精度,2.4 V參考源輸出,80 MSPS(Million Samples per Second,每秒采樣百萬次)的采樣速率,信噪比75 dB。整個(gè)電路分為如圖3所示兩個(gè)部分[5]。

模擬視頻信號的頻率為13.5 MHz,幅值為0.5~2.9 V (電壓峰峰值為2.4 Vpp),而ADC芯片AD6645-80的差分輸入范圍為2.2 Vpp,故信號調(diào)理模塊完成單端信號轉(zhuǎn)換成差分信號的功能,并縮小放大倍數(shù)為0.916倍。配置增益電阻值如圖2中RF和RG所示,其中R1為單端匹配電阻用以減少信號反射引起的失真,R2為補(bǔ)償環(huán)路增益電阻[3]。差分信號經(jīng)直流耦合輸入ADC差分輸入管腳,其中RF和CF構(gòu)成低通濾波器.

下邊考慮信號調(diào)理模塊中運(yùn)放ADA4937的輸入噪聲和ADC輸入時(shí)鐘的時(shí)鐘抖動(dòng)對ADC信噪比的影響.

式中:FSR為ADC芯片AD6645滿量程輸入[4]。SNR為ADC芯片AD6645的信噪比。

運(yùn)放ADA4937和ADC芯片AD6645本身噪聲疊加后為146 μV,可得最終信噪比為74.5 dB,則信號調(diào)理電路選用運(yùn)放ADA4937,對ADC的噪聲影響是很小的。

ADC的信噪比還受輸入ADC的時(shí)鐘抖動(dòng)(Jitter)的影響,分析過程如下所示。

SNR=-20log10(2×pi×fin×JitterTotal)

(1)

(2)

式中:SNR為ADC芯片AD6645的信噪比;fin為被采樣信號的輸入頻率;JitterTotal為對ADC芯片AD6645信噪比產(chǎn)生影響的時(shí)鐘總體抖動(dòng);JitterApeture為ADC芯片AD6645的孔徑抖動(dòng);JitterExt_clock為外部時(shí)鐘發(fā)生器提供的時(shí)鐘抖動(dòng)。

據(jù)上文數(shù)據(jù)知:fin=13.5 MHz,SNR=74.5 dB,孔徑抖動(dòng)取JitterApeture=0.1 ps,根據(jù)上述公式計(jì)算的外部輸入時(shí)鐘Jitterext_clock<2.09 ps,則外部時(shí)鐘發(fā)生器提供的采樣時(shí)鐘要滿足此要求[8]。

3 USB接口相關(guān)的軟件設(shè)計(jì)

USB接口相關(guān)的軟件根據(jù)功能分工分為三個(gè)部分:FPGA固件設(shè)計(jì)、CYUSB3014的固件設(shè)計(jì)以及上位機(jī)驅(qū)動(dòng)軟件設(shè)計(jì)。FPGA 固件在Altera公司的Quartus II 13.1開發(fā)環(huán)境中編譯和調(diào)試,采用Verilog語言編寫,實(shí)現(xiàn)了圖像數(shù)據(jù)幀頭打包傳輸和USB接口控制。CYUSB3014的固件是USB設(shè)備開發(fā)中的最重要的部分,就是對CYUSB3014內(nèi)部的ARM芯片編程進(jìn)行各種寄存器的配置過程,在Eclipse開發(fā)環(huán)境中進(jìn)行編譯和調(diào)試,采用C語言編寫,實(shí)現(xiàn)了GPIF II和DMA通道的開發(fā)設(shè)計(jì).上位機(jī)驅(qū)動(dòng)軟件在開發(fā)環(huán)境為QT,采用C++編寫,實(shí)現(xiàn)USB傳輸圖像數(shù)據(jù)的接收解碼和顯示。

3.1 FPGA固件設(shè)計(jì)

如圖4所示為CYUSB3014的GPIF II接口和FPGA的硬件連接,CYUSB3014配置成Slave FIFO模式,與普通FIFO功能一樣,有讀寫控制、線程地址以及“讀空”“寫滿”標(biāo)志位等信號,F(xiàn)PGA檢查和控制這些信號與GPIF II接口進(jìn)行數(shù)據(jù)交互。

FPGA內(nèi)USB接口控制狀態(tài)機(jī)的設(shè)計(jì)如圖5所示,狀態(tài)數(shù)為6個(gè),分為讀取上位機(jī)指令和寫數(shù)據(jù)兩部分,包括讀取線程0(線程地址為ADDR=′00′)的指令到對應(yīng)的控制器寄存器組,以及FPGA內(nèi)部FIFO中的數(shù)據(jù)寫入線程1(線程地址為ADDR=′01′)當(dāng)中,工作流程如下:

1)狀態(tài)機(jī)復(fù)位后進(jìn)入IDLE狀態(tài),清零各個(gè)使能位。

2)判斷線程0有上位機(jī)指令(Read_Empty=′0′)后,進(jìn)入READ_0準(zhǔn)備讀取控制指令,并在READ_1中讀取指令存儲到控制器中,回到IDLE狀態(tài)。當(dāng)線程0沒有指令并且FPGA內(nèi)部 FIFO緩沖的數(shù)據(jù)大于n時(shí),進(jìn)入WRITE_0準(zhǔn)備向線程1寫入數(shù)據(jù).此時(shí)若線程1沒有寫滿(Write_Full=′0′),進(jìn)入WRITE_1并讀取FPGA內(nèi)部FIFO 的n個(gè)數(shù)據(jù),寫入GPIF II接口,否則進(jìn)入WRITE_2,清零使能位并返回IDLE狀態(tài)[7]。

為保證圖像數(shù)據(jù)準(zhǔn)確識別,F(xiàn)PGA在每幀圖像數(shù)據(jù)的幀頭和行頭添加標(biāo)識符,以表示每幀和每行的起始點(diǎn),然后和圖像數(shù)據(jù)打包成新圖像數(shù)據(jù)傳到PC,以便PC根據(jù)標(biāo)識符正確解析圖像數(shù)據(jù)顯示[9]。

3.2 CYUSB3014固件設(shè)計(jì)

CYUSB3014的固件程序主要包括系統(tǒng)初始化、應(yīng)用程序初始化等,通過配置GPIF II接口和DMA通道開發(fā),實(shí)現(xiàn)了FPGA和PC的高速數(shù)據(jù)傳輸和PC端控制指令下發(fā)。GPIF II接口配置為SLAVE FIFO模式與FPGA實(shí)現(xiàn)無縫銜接,為實(shí)現(xiàn)管理USB和GPIF II口之間的數(shù)據(jù)傳輸?shù)腄MA通道的功能,引入了P Socket(生產(chǎn)插座)和C Socket(消耗插座)可方便配置DMA傳輸。

固件初始化流程包括:器件初始化,包括器件Cache配置,IO管腳配置,初始化OS并開始OS定時(shí),函數(shù)CyFxApplicationDefine()會被FX3庫自動(dòng)調(diào)用來開始應(yīng)用程序。

應(yīng)用程序初始化主要包括兩部分:GPIF II和USB初始化,其中USB初始化包括Endpoint初始化、P Socekt和U Socekt、DMA配置、FLAG標(biāo)志位設(shè)置等。

固件中主要完成2個(gè)數(shù)據(jù)通道的配置工作:

1)圖像上傳的通道,USB配置成C Socket,對應(yīng)Endpoint3,GPIF II配置成P Socket,對應(yīng)線程01。

2)指令下發(fā)通道,USB配置成P Socket,對應(yīng)Endpoint1,GPIF II配置成S Socket,對應(yīng)線程00。

3.3 上位機(jī)驅(qū)動(dòng)軟件設(shè)計(jì)

Cypress公司的CyAPI提供了簡單又功能強(qiáng)大的調(diào)用接口,只需在QT上位機(jī)應(yīng)用程序中加入頭文件CyAPI.h和庫文件CyAPI.Lib即可調(diào)用相應(yīng)控制函數(shù),大大減少了開發(fā)周期。上位機(jī)的驅(qū)動(dòng)流程如圖6。

PC端在獲取圖像數(shù)據(jù)后,通過檢查幀頭和行頭的標(biāo)識符確定每幀和每行的開始,并將每行的圖像數(shù)據(jù)放到緩沖區(qū)相應(yīng)位置,當(dāng)獲取一整幅圖像轉(zhuǎn)成8 bit并調(diào)用QPixmap顯示.由于各行獨(dú)立,當(dāng)某行數(shù)據(jù)丟失后,該行將不能正確顯示,但不會影響整體顯示效果[11].在上位機(jī)添加偽彩色處理后整體的顯示效果如圖7所示。

4 結(jié)論

USB接口應(yīng)用廣泛,尤其是CYPRESS公司的FX3系列USB3.0控制器CYUSB3014,接口簡單,開發(fā)方便,極大地提高了系統(tǒng)可靠性.本文研制的非制冷紅外機(jī)芯實(shí)現(xiàn)了384*288分辨率、25幀的圖像傳輸,并通過實(shí)驗(yàn)驗(yàn)證了機(jī)芯的穩(wěn)定性和可靠性。由于本機(jī)芯采用模塊化設(shè)計(jì),修改探測器控制模塊可適應(yīng)不同探測器,具有很強(qiáng)的擴(kuò)展性,可作為一種通用USB接口的非制冷紅外機(jī)芯平臺。

猜你喜歡
固件線程時(shí)鐘
別樣的“時(shí)鐘”
古代的時(shí)鐘
淺談linux多線程協(xié)作
有趣的時(shí)鐘
基于固件的遠(yuǎn)程身份認(rèn)證
時(shí)鐘會開“花”
提取ROM固件中的APP
電腦愛好者(2015年7期)2015-04-09 08:54:02
一種通過USB接口的可靠固件升級技術(shù)
奧林巴斯XZ—2新固件升級
中國攝影(2014年1期)2014-02-24 01:50:23
Linux線程實(shí)現(xiàn)技術(shù)研究
台南市| 老河口市| 沧源| 宁城县| 昌吉市| 嘉善县| 松原市| 乌鲁木齐县| 阿勒泰市| 通河县| 五台县| 孝昌县| 江安县| 陇南市| 繁峙县| 五大连池市| 麻城市| 梁山县| 衡南县| 巧家县| 会东县| 勐海县| 江北区| 乡城县| 理塘县| 乌拉特后旗| 砀山县| 甘孜| 庄浪县| 拉萨市| 林州市| 屯留县| 龙门县| 衡水市| 盐池县| 昔阳县| 泸西县| 唐海县| 西宁市| 加查县| 宁南县|