向 前
(銅陵學(xué)院 電氣工程學(xué)院,安徽 銅陵 244000)
微弱電流信號(hào)檢測(cè)廣泛應(yīng)用在于會(huì)生活的各個(gè)方面。以光電傳感器為例,輸出電流數(shù)量級(jí)在nA甚至pA。微弱信號(hào)極易受到環(huán)境干擾影響,為實(shí)現(xiàn)pA級(jí)別微弱電流信號(hào)的檢測(cè),以STM32F103為核心,應(yīng)用低偏置高靈敏度的運(yùn)算放大器AD,輔以H2數(shù)據(jù)庫、LabVIEW,設(shè)計(jì)了電流檢測(cè)系統(tǒng)[1-3]。帶數(shù)字隔離的通信電路提高了硬件可靠性,基于labsql的數(shù)據(jù)庫存儲(chǔ)和java云端上傳提高了軟件可靠性。上述技術(shù)均具備較好的跨平臺(tái)特性,進(jìn)一步完善了微弱電流檢測(cè)的設(shè)計(jì)方法。
檢測(cè)系統(tǒng)設(shè)計(jì)包括電流檢測(cè)硬件與功能軟件兩部分,如圖1所示。硬件包括電流轉(zhuǎn)換模塊、數(shù)據(jù)處理和通信模塊。電流轉(zhuǎn)換模塊包括運(yùn)算放大器(ADA4530、ADA4522)組成的IV轉(zhuǎn)換和電壓緩沖電路,IV轉(zhuǎn)換+緩沖電路把微弱的電流信號(hào)轉(zhuǎn)換成適合AD輸入采樣的電壓信號(hào)。數(shù)據(jù)處理和通信模塊包括核心微處理器(STM32F103)、數(shù)字隔離器(ADUM5211、ADUM1281)、ADC(AD7172)、RS232驅(qū)動(dòng)器/接收器 (ADM3232E)、USB(MCP2200)和無線WIFI(預(yù)留,用于未來的拓展應(yīng)用)等。用戶可根據(jù)應(yīng)用場(chǎng)所和應(yīng)用需求選擇不同的通信方式。軟件包括上位機(jī)與下位機(jī)兩部分,如圖2所示。下位機(jī)運(yùn)行在電流檢測(cè)硬件上,移植RTOS系統(tǒng),執(zhí)行采樣和傳輸功能。上位機(jī)運(yùn)行在客戶端(普通PC,運(yùn)行WINXP 32位系統(tǒng)),包括存儲(chǔ)、上傳和顯示3種功能,客戶端運(yùn)行H2數(shù)據(jù)庫,存儲(chǔ)功能通過labsql插件完成??紤]到檢測(cè)硬件提供了多種通信接口,基于LabVIEW+VISA實(shí)現(xiàn)了串口+USB的上位機(jī)顯示界面。H2數(shù)據(jù)庫采用java編寫了云端上傳程序?qū)崿F(xiàn)上傳功能。應(yīng)用暫時(shí)沒有用到無線網(wǎng)絡(luò),本文暫不討論。
圖1 系統(tǒng)硬件結(jié)構(gòu)圖 圖2 系統(tǒng)軟件結(jié)構(gòu)圖
電流轉(zhuǎn)換模塊包括IV轉(zhuǎn)換電路和電壓跟隨電路。為了實(shí)現(xiàn)pA級(jí)別的電流檢測(cè),需要選用超低輸入偏置電流的運(yùn)算放大器,本文選擇ADA4530,這是一款fA級(jí)別輸入偏置電流的運(yùn)算放大器,失調(diào)電壓和失調(diào)漂移很低,適合作為pA級(jí)微弱電流的跨阻放大器(TIA)。同時(shí)集成了保護(hù)環(huán)緩沖器,實(shí)現(xiàn)了隔離輸入引腳避免受到PCB漏電流影響的效果,也減少了設(shè)計(jì)時(shí)電路元件的使用。以光電二極管為例,如圖3所示,產(chǎn)生的輸出電流IPD與光照水平成正比,IV轉(zhuǎn)換電路將信號(hào)電流IPD根據(jù)公式VOUT=IPD×RF轉(zhuǎn)換成輸出電壓。CSHUNT是分流電容,RSHUNT是分流電阻,RF是反饋電阻,RF與CSHUNT的作用會(huì)在反饋環(huán)路中產(chǎn)生一個(gè)低頻極點(diǎn),考慮到環(huán)路穩(wěn)定,TIA電路還需要外部補(bǔ)償,添加一個(gè)反饋電容CF在反饋系數(shù)中產(chǎn)生一個(gè)零點(diǎn),使得電路在達(dá)到交越頻率前還原該低頻極點(diǎn)引起的相移。
增大反饋電阻RF可以實(shí)現(xiàn)信噪比(SNR)最大化和直流誤差最小化的TIA電路設(shè)計(jì)目標(biāo)。隨著RF的增大,信號(hào)增益增大,噪聲以平方根式增大,輸出信號(hào)相對(duì)于輸出電壓誤差更大。但RF也不能一味地增大,需要考慮如下因素:① 運(yùn)放的輸出擺幅,IPD_MAX×RF應(yīng)當(dāng)小于擺幅限制;② 光電二極管的熱噪聲,當(dāng)RF?RSHUNT,總的噪聲以光電二極管為主,SNR不隨著RF的提高而提高;③RSHUNT的低頻噪聲增益,當(dāng)RF>RSHUNT,信號(hào)誤差比不再提高。反饋電容CF會(huì)影響信號(hào)帶寬,CF的選擇要考慮如下因素:①CF的最小值限制在50 fF~100 fF;② 為了在環(huán)路交越前還原足夠的相移實(shí)現(xiàn)穩(wěn)定運(yùn)行,CF取值需要足夠大。如果RF采用大于1 GΩ的大阻值電阻,可以通過寄生反饋電容實(shí)現(xiàn)自我補(bǔ)償。本文采用正負(fù)5 V電源供電,RF取值10 GΩ,CF取值300 fF。
圖3 IV轉(zhuǎn)換電路 圖4 AD采樣電路
2.2.1 ADC
AD7172模擬輸入上集成了單位增益緩沖器,提供了高輸入阻抗,典型輸入電流5 nA,采樣輸入可以直接連接,簡(jiǎn)化了模擬前端的電路要求。集成緩沖器的典型功耗僅0.87 mA,均完全斬波,能夠使失調(diào)誤差漂移和1/f噪聲最小。具有3個(gè)獨(dú)立電源:AVDD1、AVDD2和IOVDD,第1個(gè)是多路復(fù)用器和集成的模擬與基準(zhǔn)輸入緩沖器供電,第2個(gè)是ADC內(nèi)核供電,基準(zhǔn)都是AVSS,AVDD1-AVSS=3.3-5 V,AVDD2-AVSS=2-5.5 V,第3個(gè)是ADC的數(shù)字邏輯供電,以DGND為基準(zhǔn),IOVDD-DGND=2-5.5 V。AD7172通過SPI接口與STM32F103連接,輸入峰值是5 V,電路如圖4所示。ADC配置包含3個(gè)部分:① 通道配置:AD7172有4個(gè)獨(dú)立通道,通過通道寄存器COMMS選擇輸入通道,對(duì)片內(nèi)寄存器的所有訪問必須以對(duì)COMMS的寫操作開始,決定接下來要訪問的寄存器,比如選擇AIN0,則設(shè)置為0×10;② 設(shè)置配置:有4種配置設(shè)置0到設(shè)置3,每種設(shè)置均包括4個(gè)寄存器,以設(shè)置0為例包括設(shè)置配置寄存器0(SETUPCON0)、濾波器配置寄存器0(FILTCON0)、增益寄存器0(GAIN0)和失調(diào)寄存器0(OFFSET0),其中前兩個(gè)寄存器是必須要設(shè)置的,增益和失調(diào)寄存器的設(shè)置則是可選的,SETUPCON(0-3)選擇單極性或雙極性模式,單極性下ADC支持正差分電壓,輸出標(biāo)準(zhǔn)二進(jìn)制,雙極性下支持負(fù)差分電壓,輸出偏移二進(jìn)制;③ ADC模式和接口模式:前者用于設(shè)置ADC的轉(zhuǎn)換模式,還包括內(nèi)部基準(zhǔn)電壓源使能和時(shí)鐘源選擇,后者用于配置數(shù)字接口的工作模式,可以控制數(shù)據(jù)字長(zhǎng)度、CRC使能等,配置流程如圖5所示,提供了2個(gè)單端輸入接口,選擇AIN4為公共引腳,AIN2/AIN4傳入CH1,AIN3/AIN4傳入CH2,共享設(shè)置1,對(duì)SETUPCON1、FILTCON1、ADCMODE1和IFMODE1編程,并根據(jù)需要配置GAIN1和OFFSET1。AD7172的輸入引腳均連接到交叉點(diǎn)多路復(fù)用器,多個(gè)通道時(shí),各個(gè)導(dǎo)通能按編號(hào)最小到編號(hào)最大自動(dòng)處理。因?yàn)檩斎胪ǖ烙玫搅薈H1和CH2,設(shè)置這些寄存器中每一個(gè)的MSB,CH_EN1至CH_EN2位通過交叉點(diǎn)多路復(fù)用器,使AD7172轉(zhuǎn)換時(shí),序列器能以升序從CH1轉(zhuǎn)到CH2,再回到CH1,重復(fù)整個(gè)序列。
圖5 配置流程
2.2.2 數(shù)字隔離
引入隔離是為了盡可能降低接地環(huán)路噪聲的影響,傳統(tǒng)的隔離多采用光耦合器,它的問題在于功耗高,因?yàn)楣怦詈掀魇褂肔ED光把數(shù)據(jù)傳輸?shù)礁綦x柵的另一端,要消耗電能。對(duì)于低功耗應(yīng)用不是一個(gè)合適的選擇,且速率一般低于1 Mbps,在對(duì)速率有要求的場(chǎng)合可以選擇高速光耦合器,但會(huì)極大地增加設(shè)計(jì)成本。數(shù)字隔離器的基本原理是通過電容或變壓器將數(shù)據(jù)以容性或磁性方式耦合到隔離柵的另一端[4-5]。以變壓器結(jié)構(gòu)為例,流過變壓器線圈的電流脈沖會(huì)形成一個(gè)微小局部磁場(chǎng),根據(jù)電磁感應(yīng)原理在另一個(gè)線圈產(chǎn)生感應(yīng)電流,實(shí)現(xiàn)信號(hào)隔離。變壓器線圈的電流脈沖時(shí)間很短,因此平均電流很低。變壓器采用差分的結(jié)構(gòu)方式,共模瞬變抗擾度能夠達(dá)到100 kV/μs,優(yōu)于光耦合器的15 kV/μs,加厚變壓器線圈間的絕緣層可以獲得更大的隔離值。串口通信采用ADuM5211,USB通信采用ADuM1281,在通信模塊與MCU間采用數(shù)字隔離,提高系統(tǒng)的可靠性。
2.2.3 串口和USB通信
ADuM5211集成了isoPower隔離DC/DC轉(zhuǎn)換器,采用了iCouple技術(shù),能夠提供3.15 V和5.25 V之間調(diào)節(jié)的穩(wěn)壓隔離電源,無需使用單獨(dú)的隔離DC/DC轉(zhuǎn)換器,降低了功耗和設(shè)計(jì)成本。如圖6所示。VDDP是isoPower供電電源,VDD1是器件第1側(cè)隔邏輯電路的電源,獨(dú)立于VDDP,需要單獨(dú)提供。VDD2是器件第2側(cè)邏輯電路的電源,VISO是副邊的輸出電壓,具體數(shù)值可根據(jù)公式VISO=1.25×(R1+R2)/R1設(shè)定。VSEL用于輸出電壓VISO選擇,在VISO和GNDISO間提供了熱匹配電阻網(wǎng)絡(luò),對(duì)需要的輸出電壓進(jìn)行分壓。把VISO供給VDD2實(shí)現(xiàn)了電源隔離。ADuM5211的干擾主要來自噪聲和紋波,前者需要低電感高頻電容,后者需要數(shù)值較大的體電容,以VDD1為例,并聯(lián)0.1μF +10 μF的電容對(duì),前者可采用NPO或X5R陶瓷電容,后者推薦使用陶瓷電容。也可以采用0.1 μF+10 μF+10 nF的組合,可以進(jìn)一步降低EMI。在繪制PCB時(shí)0.1 μF ESR電容到電源的走線長(zhǎng)度不要超過2 mm??紤]到USB通信速率,采用ADuM1281+MCP2200搭建帶隔離的USB通信電路,如圖7所示。ADuM1281是獨(dú)立雙通道數(shù)字隔離器,提供了2種配置選擇,3種不同數(shù)據(jù)速率,最高可到100 Mbps。輸入和輸出供電引腳VDD1和VDD2上并聯(lián)旁路電容,數(shù)值在0.01 μF和0.1 μF之間,繪制PCB時(shí)電容兩端到輸入電源引腳的走線總長(zhǎng)應(yīng)該小于20 mm。
(1)下載源碼:在freertos官網(wǎng)下載安裝程序,選擇保存目錄等待下載完成[6]。
(2)建立STM32工程并添加源碼:新建freertos目錄,把源碼Source文件夾下的所有文件復(fù)制到freertos中;在Keil工程中添加freertos目錄和頭文件(freertosinclude和freertosportable vdsarm_cm3),把port.c、heap_4.c(內(nèi)存管理方案)和freertos文件夾下的7個(gè).c文件添加到freertos目錄中;復(fù)制源碼的freertosconfig.h(在源碼freertosdemocortex_stm32f103_keil中,沒有這個(gè)文件會(huì)導(dǎo)致編譯錯(cuò)誤)到Keil工程freertosinclude文件夾中,同時(shí)把該文件的INCLUDE_xTaskGetSchedulerState和INCLUDE_xTaskGetCurrentTaskHandle兩個(gè)宏定義改成1,添加#define xPortPendSVHandler PendSV_Handler和#define vPortSVCHandler SVC_Handler。
圖6 帶隔離的串口通信電路 圖7 帶隔離的USB通信電路
(3)在main.c主程序添加#include AD7172_2_regs.h、#define AD7172_2_INIT:新建開始任務(wù)、采樣任務(wù)和傳輸任務(wù),定義任務(wù)優(yōu)先級(jí)、堆棧大小、任務(wù)句柄和任務(wù)函數(shù);實(shí)現(xiàn)3個(gè)任務(wù)函數(shù),其中開始任務(wù)函數(shù)調(diào)用xTaskCreate創(chuàng)建采樣和傳輸任務(wù),之后在main函數(shù)初始化AD7172,調(diào)用xTaskCreate創(chuàng)建開始任務(wù),開啟任務(wù)調(diào)度。ADI提供了與AD7172有關(guān)的驅(qū)動(dòng),包括Generic Platform Driver和ADI Driver兩部分,前者包括通信相關(guān)的函數(shù),本文采用SPI通信,如spi_init、spi_write_and_read等,后者包括AD的寄存器設(shè)置、讀寫等函數(shù),如AD7172_Init、AD7172_ReadData等,官網(wǎng)下載后導(dǎo)入工程,要根據(jù)硬件連接和軟件功能對(duì)驅(qū)動(dòng)做些許修改。
3.2.1 H2數(shù)據(jù)庫
考慮到應(yīng)用的數(shù)據(jù)存儲(chǔ)需求較為簡(jiǎn)單,沒有大數(shù)據(jù)集合、高并發(fā)高流量等操作,且PC機(jī)硬件配置一般,采用java編寫的輕量級(jí)H2數(shù)據(jù)庫。H2具備優(yōu)秀的跨平臺(tái)特性,本身是一個(gè)java的類庫,只有一個(gè)jar文件,應(yīng)用簡(jiǎn)單,可以直接嵌入項(xiàng)目。H2支持遠(yuǎn)程(服務(wù)器)、嵌入式和內(nèi)存3種連接模式:嵌入式模式下可實(shí)現(xiàn)JDBC的本地連接,此時(shí)應(yīng)用程序通過JDBC從同一個(gè)JVM中打開數(shù)據(jù)庫,該模式的連接速度最快。遠(yuǎn)程模式下可以使用TCP/IP實(shí)現(xiàn)數(shù)據(jù)庫連接,速度比嵌入式模式要慢,但是對(duì)數(shù)據(jù)庫的并發(fā)連接數(shù)量沒有限制。H2數(shù)據(jù)庫因?yàn)橹С謨?nèi)存模式又被成為內(nèi)存數(shù)據(jù)庫,該模式下的數(shù)據(jù)庫和表都保存在內(nèi)存中,一旦機(jī)器重啟所有數(shù)據(jù)都會(huì)丟失,本文采用服務(wù)器模式。
H2安裝配置流程如下:① 數(shù)據(jù)庫安裝:在h2database官網(wǎng)下載壓縮包,解壓后即完成安裝。目錄結(jié)構(gòu)包括bin、docs、service、src、build.bat和build.sh。其中h2的jar包和驅(qū)動(dòng)在bin下的h2-XXXX.jar中。h2.bat/sh分別是Windows和Linux下的啟動(dòng)腳本。service文件夾里是通過wrapper包裝的服務(wù),src里是h2的源代碼。② 數(shù)據(jù)庫啟動(dòng):windows下可直接運(yùn)行h2.bat或h2w.bat,其中后者是在后臺(tái)運(yùn)行的。如果是Linux環(huán)境,要先修改h2.bat的內(nèi)容,添加允許遠(yuǎn)程機(jī)通過TCP(-tcpAllowOthers)、瀏覽器(-webAllowOthers)的訪問,默認(rèn)端口是8082,根據(jù)需要進(jìn)行修改。之后chmod h2.bat文件的權(quán)限并運(yùn)行./h2.sh。③ 數(shù)據(jù)庫配置:執(zhí)行h2.bat/sh后會(huì)自動(dòng)進(jìn)入H2的webconsole,也可以通過URL:localhost:端口號(hào)登錄。webconsole提供了對(duì)H2數(shù)據(jù)庫的各種操作,驅(qū)動(dòng)類和JDBC URL是默認(rèn)的,如果要?jiǎng)?chuàng)建一個(gè)新的數(shù)據(jù)庫,直接修改jdbc:h2:[要?jiǎng)?chuàng)建數(shù)據(jù)庫文件的路徑]。④ 數(shù)據(jù)庫操作,測(cè)試連接成功后,連接登錄到某數(shù)據(jù)庫的webConsole,執(zhí)行SQL語句進(jìn)行各種數(shù)據(jù)庫操作。
3.2.2 上位機(jī)界面
應(yīng)用LabVIEW開發(fā)串口和USB上位機(jī)界面, LabVIEW串口通信需要安裝VISA驅(qū)動(dòng),NI官網(wǎng)提供下載。串口通信包括3個(gè)部分:① 設(shè)置串口參數(shù),應(yīng)用VISA配置串口.vi。② 讀串口數(shù)據(jù),應(yīng)用VISA讀取.vi,Read=T并且沒有出錯(cuò)的條件下讀取串口數(shù)據(jù)。VISA 讀取最關(guān)鍵的參數(shù)是要讀取的字節(jié)總數(shù),如果緩沖區(qū)的數(shù)據(jù)沒有達(dá)到要讀取的個(gè)數(shù),程序會(huì)停在這里直到發(fā)生超時(shí)錯(cuò)誤??梢栽诰幊虝r(shí)事先約定好,也可以采用串口屬性節(jié)點(diǎn)bytes at port解決,它表示緩沖區(qū)有多少字節(jié)就讀取多少字節(jié),避免等待超時(shí)問題。③ 關(guān)閉串口,應(yīng)用VISA關(guān)閉.vi,考慮到可能會(huì)出現(xiàn)的措施,在VISA關(guān)閉.vi后連接Simple Error Handler.vi用于顯示錯(cuò)誤信息。
3.2.3 數(shù)據(jù)存儲(chǔ)
LabVIEW不具備讀寫數(shù)據(jù)庫功能,需要額外的輔助工具,常用的有NI官方的sqltoolkit(要付費(fèi)),調(diào)用.dll庫文件(如sqlite3提供的sqlite3.dll,工作量較大),SQL語句調(diào)用ActiveX功能與ADO控件(涉及到的技術(shù)較多)和第三方插件(直接調(diào)用vi)等方式,本文采用第三方插件labsql實(shí)現(xiàn)串口數(shù)據(jù)的存儲(chǔ)功能。labsql支持windows下基于ODBC的數(shù)據(jù)庫操作,安裝簡(jiǎn)單,把解壓后的文件夾放到LabVIEW安裝目錄下的user.lib目錄下即可。操作流程如下:ADO Create Conn.vi創(chuàng)建connection對(duì)象,ADO Open Conn.vi實(shí)現(xiàn)與數(shù)據(jù)庫的連接,ADO SQL Execute.vi執(zhí)行insert語句,把從端口讀取的數(shù)據(jù)插入到數(shù)據(jù)庫中,ADO Connection Close.vi關(guān)閉連接。這里最關(guān)鍵的是ADO Open Conn.vi的參數(shù)DSN,在配置ODBC數(shù)據(jù)源時(shí)指定。H2沒有提供ODBC的驅(qū)動(dòng),查閱官方資料H2支持PostgreSQL的ODBC驅(qū)動(dòng),推薦安裝psqlodbc-08_02*或更新的版本。ODBC驅(qū)動(dòng)安裝完成后,執(zhí)行java-cp h2*.jar org.h2.tools.Server啟動(dòng)H2服務(wù)器功能。之后打開數(shù)據(jù)源配置,添加PostgreSQL Unicode驅(qū)動(dòng),進(jìn)入配置界面配置參數(shù)(DSN、服務(wù)器、端口號(hào)、用戶名、密碼、數(shù)據(jù)庫等),測(cè)試通過后把DSN參數(shù)傳遞給ADO Open Conn.vi就可以打開數(shù)據(jù)庫了。如果是64位系統(tǒng),運(yùn)行c:/windows/syswow64/odbcad32.exe打開數(shù)據(jù)源配置,之后的操作都是一樣的。
3.2.4 自動(dòng)云端存儲(chǔ)
考慮到學(xué)校服務(wù)器的硬件性能較差且使用時(shí)間較久,基于java編寫數(shù)據(jù)自動(dòng)騰訊云端存儲(chǔ)程序connectcloud.java,提高存儲(chǔ)的可靠性。為了避免上傳失敗,事先要把存儲(chǔ)桶的權(quán)限設(shè)置為讀公有、寫私有。IDE開發(fā)環(huán)境需要JDK1.7及以上版本,可以在maven的pom.xml添加依賴,也可以直接下載官方源碼,再通過maven導(dǎo)入。
(1)導(dǎo)入COS Java SDK包(com.qcloud.cos.*),為了調(diào)用COS的 API 接口,要實(shí)例化COSClient,實(shí)例具備線程安全和可重復(fù)性的特點(diǎn)。定義connectcloud類,包括騰訊云的用戶、密碼、存儲(chǔ)桶名稱和所在區(qū)域等變量。構(gòu)造方法初始化騰訊云客戶端:首先初始化用戶身份信息,其次設(shè)置bucket的區(qū)域,最后生成一個(gè)COSClient對(duì)象。
(2)本地文件上傳到COS很適合小文件上傳(20 M以下),最大不超過5 G。實(shí)現(xiàn)核心上傳函數(shù)upload,包含要上傳的文件(file)和COS上對(duì)象鍵(key)兩個(gè)參數(shù)。根據(jù)官方提供的javaSdk API參考文檔,采用try catch結(jié)構(gòu),捕捉CosServiceException serverException和CosClientException clientException異常,關(guān)鍵代碼如下:
public PutObjectResult upload(String file, String key)
{try{
File localfile = new File(file);
PutObjectRequest putObjectRequest = new PutObjectRequest(存儲(chǔ)桶名稱, key, localfile);
PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest);
連鎖藥店承接基層醫(yī)療衛(wèi)生機(jī)構(gòu)藥房職能可行性的調(diào)查分析 ……………………………………………… 周梅梅等(19):2699
return putObjectResult;
}catch(CosServiceException serverException)
{ 異常處理 }
catch(CosClientException clientException)
{ 異常處理 }}
(3)實(shí)現(xiàn)確認(rèn)文件上傳成功的查詢函數(shù)queryfilelist(),如果是自己的存儲(chǔ)桶,可以直接登錄查看,但考慮到普遍性,采用查詢函數(shù)的方法更方便,關(guān)鍵代碼如下:
public List
{
List
try {
buckets = cosClient.listBuckets();
System.out.println(buckets);
} catch (CosServiceException serverException) {
serverException.printStackTrace();
} catch (CosClientException clientException) {
clientException.printStackTrace();
}
return buckets;
}
采用S1226光電二極管 + 串口通信進(jìn)行系統(tǒng)測(cè)試,頻率響應(yīng)范圍從紫外光到可見光,分流電阻RSHUNT為5 G,分流電容CSHUNT是35 pF,輸入共模電壓0 V,能支持的最大光電流約500 pA??紤]到環(huán)境溫度情況,最大值不超過60 ℃,如表1所示,總誤差RTI不超過150 fA,是滿量程的3,滿足檢測(cè)需求,檢測(cè)上位機(jī)界面如圖8所示。
表1 直流誤差預(yù)算
圖8 上位機(jī)界面
本文設(shè)計(jì)了pA級(jí)電流檢測(cè)系統(tǒng),詳細(xì)介紹了IV轉(zhuǎn)換電路關(guān)鍵參數(shù)選擇、AD采樣電路的配置流程、數(shù)字隔離電路的基本原理和應(yīng)用注意事項(xiàng)?;贚abVIEW+ VISA+labsql+H2實(shí)現(xiàn)了不同的上位機(jī)程序和數(shù)據(jù)存儲(chǔ)功能,應(yīng)用java提供了數(shù)據(jù)庫文件的云端上傳。測(cè)試表明系統(tǒng)可以檢測(cè)到pA級(jí)微弱電流信號(hào),具有良好的穩(wěn)定性和可靠性,滿足應(yīng)用需求。