陳旭
(北京航天創(chuàng)智科技有限公司 北京市 100089)
隨著電子技術(shù)的發(fā)展,在各種電子設(shè)備中,對(duì)功耗的要求越來(lái)越嚴(yán)格,已知電壓和電流的話即可計(jì)算出器件功耗。本文介紹一種簡(jiǎn)便的電流檢測(cè)方法,通過(guò)精密電阻將電流值轉(zhuǎn)換為電壓值,然后通過(guò)電流傳感放大電路,將電壓值放大,再將放大后的電壓值通過(guò)A/D 芯片轉(zhuǎn)換為數(shù)字信號(hào),A/D 芯片數(shù)字端的接口為常用的SPI 接口,CPLD 處理器可以通過(guò)SPI 總線方便的讀取出量化后的數(shù)值,進(jìn)而推算出相應(yīng)的電流值,然后通過(guò)串口反饋給上位機(jī)。
如圖1所示,電源轉(zhuǎn)換芯片輸出端和負(fù)載電源輸入端之間串聯(lián)一個(gè)10mΩ 的精密電阻,因?yàn)殡娏饕话爿^小,所以經(jīng)過(guò)一個(gè)信號(hào)放大芯片MAX4173,將信號(hào)放大20 倍,再經(jīng)過(guò)一個(gè)運(yùn)算放大器LM124J 實(shí)現(xiàn)隔離,最后接到ADC 芯片ADS8661 上。ADS8661 通過(guò)SPI 總線與CPLD 連接,CPLD 通過(guò)串口轉(zhuǎn)USB 芯片CP2103 與主機(jī)連接,在主機(jī)上通過(guò)上位機(jī)軟件方便的讀取電流值。
電流傳感放大電路如圖2所示,選用的芯片型號(hào)為MAX4173。MAX4173 是一種低成本、高精度的電流傳感放大器,采用小型SOT23-6 封裝,增益為20 倍。 MAX4173 采用+3V 至+28V 單電源供電,通常只消耗420uA 的電源電流。
為了實(shí)現(xiàn)電流傳感放大電路和后級(jí)A/D 電路的隔離,中間加了運(yùn)算放大器電路實(shí)現(xiàn)信號(hào)的隔離,運(yùn)算放大器選擇常用的TI 公司的LM124J,按照電壓跟隨器的解法進(jìn)行連接。
電壓跟隨器的輸入阻抗高,而輸出阻抗低。一般來(lái)說(shuō),輸入阻抗可以達(dá)到幾兆歐姆,而輸出阻抗低,通常只有幾歐姆,甚至更低。電壓隔離器輸出電壓近似輸入電壓幅度,并對(duì)前級(jí)電路呈高阻狀態(tài),對(duì)后級(jí)電路呈低阻狀態(tài),因而對(duì)前后級(jí)電路起到隔離作用。
模數(shù)轉(zhuǎn)換芯片選擇TI 公司的ADS8661,該芯片量化位數(shù)為12bit,采樣率1.25MSPS,輸入幅度范圍可選,器件采用5V電源供電,最大可達(dá)±12.288 V。
ADS8661 屬于基于逐次逼近模數(shù)轉(zhuǎn)換器轉(zhuǎn)換器。具有過(guò)壓保護(hù)功能,最高可耐受±20V,片內(nèi)基準(zhǔn)電壓為4.096V,溫度漂移極低。根據(jù)實(shí)際輸入信號(hào)的大小,設(shè)置內(nèi)部寄存器選擇合適的輸入范圍。器件采用SPI(Serial Peripheral Interface)接口,只需要四根信號(hào)線與處理器相連,大大減少了信號(hào)線的數(shù)量,降低電路板布線難度。

圖1:電流檢測(cè)電路組成

圖2:電流傳感放大電路
處理器選用ALTERA 公司的CPLD 芯片,型號(hào)為5M570ZT 100。CPLD(Complex Programmable Logic Device)即復(fù)雜可編程邏輯器件,是從PAL 和GAL 器件發(fā)展出來(lái)的器件,相對(duì)而言規(guī)模大,結(jié)構(gòu)復(fù)雜,屬于大規(guī)模集成電路范圍。是一種用戶(hù)根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。其基本設(shè)計(jì)方法是借助集成開(kāi)發(fā)軟件平臺(tái),用原理圖、硬件描述語(yǔ)言等方法,生成相應(yīng)的目標(biāo)文件,通過(guò)下載電纜將代碼傳送到目標(biāo)芯片中,實(shí)現(xiàn)設(shè)計(jì)的數(shù)字系統(tǒng)。CPLD 比FPGA 使用起來(lái)更方便。CPLD 的編程采用E2PROM 或FASTFLASH 技術(shù),無(wú)需外部存儲(chǔ)器芯片,使用簡(jiǎn)單。在編程方式上,CPLD 主要是基于E2PROM 或FLASH 存儲(chǔ)器編程,編程次數(shù)可達(dá)1 萬(wàn)次,優(yōu)點(diǎn)是系統(tǒng)斷電時(shí)編程信息也不丟失。
如圖3所示,本系統(tǒng)中CPLD 實(shí)現(xiàn)與A/D 之間的SPI 通信,讀取A/D 量化后的數(shù)值,并且將該數(shù)值經(jīng)過(guò)計(jì)算轉(zhuǎn)換為電流值后通過(guò)UART 接口發(fā)送給USB 轉(zhuǎn)串口芯片,進(jìn)而發(fā)送給主機(jī)。5M570ZT100 屬于ALTERA 公司的MAX V 系列,具有570 個(gè)邏輯單元,最大主頻152MHZ,可以滿(mǎn)足系統(tǒng)的設(shè)計(jì)需求。

圖3:CPLD 電路連接示意圖
采用USB/RS232 橋接器件CP2103 進(jìn)行設(shè)計(jì),計(jì)算機(jī)通過(guò)USB 接口虛擬一個(gè)RS232 接口,與傳統(tǒng)設(shè)備器件連接,設(shè)備對(duì)計(jì)算機(jī)接口的形式為USB 接口。
CP2103 是一款高度集成的USB-UART 橋接器,提供一個(gè)使用最小化元件和PCB 空間來(lái)實(shí)現(xiàn)RS232 轉(zhuǎn)換USB 的簡(jiǎn)便解決方案。CP2103 包含了一個(gè)USB 功能控制器、USB 收發(fā)器、振蕩器和帶有全部調(diào)制解調(diào)器控制信號(hào)的異步串行數(shù)據(jù)總線。
本系統(tǒng)中軟件共包括兩部分,即運(yùn)行在電路板上的CPLD 軟件和運(yùn)行在主機(jī)上的上位機(jī)軟件。
CPLD 軟件包括三個(gè)模塊,即SPI 通信模塊、串口通信模塊以及電流值計(jì)算模塊。使用常用的Verlog HDL 語(yǔ)言進(jìn)行CPLD 軟件的開(kāi)發(fā),開(kāi)發(fā)工具是Quartus II。SPI 通信模塊和串口通信模塊分別用于實(shí)現(xiàn)CPLD 與ADC 和主機(jī)之間的通信。電路值計(jì)算模塊將計(jì)算得到的電流值通過(guò)串口通信模塊發(fā)送給上位機(jī)。
本系統(tǒng)SPI接口設(shè)計(jì)中,CPLD為SPI主設(shè)備,A/D為SPI從設(shè)備,模式設(shè)置CPOL=0,CPHA=0。CPLD 采用輪詢(xún)的方式讀取A/D 量化后的數(shù)值,CPLD 內(nèi)置計(jì)時(shí)器,每間隔一定的時(shí)間,CPLD 拉低A/D 的片選信號(hào)CS,然后SCLK 上升沿去讀取SDO 上輸出的數(shù)據(jù),RVS 是從設(shè)備狀態(tài)顯示信號(hào)。
CPLD 和USB/RS232 之間采用異步串行通信,本系統(tǒng)中波特率設(shè)置為9600bps,每一幀包括起始位、數(shù)據(jù)位、校驗(yàn)位和停止位。CPLD 將計(jì)算后的電流值通過(guò)異步串行接口發(fā)送給USB/RS232 芯片。
電流值計(jì)算模塊將采樣后的電壓值轉(zhuǎn)換為電流值。假設(shè)電流值為I(單位為A),由歐姆定律可知,則電壓值為10*I mV,經(jīng)過(guò)放大電路后變?yōu)?0*20*I 即200*I mV,ADC 的量程選擇為0 到5.12V,則ADC 的分辨率為1.25mV,量化后的數(shù)字量為十進(jìn)制N,則200*I=1.25*N,I 為6.25*NmA。N 的取值范圍是1 到4096,則I 的相應(yīng)取值范圍是6.25mA-25.6A,可以滿(mǎn)足絕大多數(shù)常用電子設(shè)備的電路檢測(cè)需求。
上位機(jī)軟件主要包括串口通信模塊和顯示界面模塊,采用效率較高的C++語(yǔ)言進(jìn)行開(kāi)發(fā),串口通信模塊接收到CPLD 反饋的電流值后,顯示界面模塊將電流值顯示在界面上,用戶(hù)可以實(shí)時(shí)觀測(cè)到電流值。
電流檢測(cè)系統(tǒng)設(shè)計(jì)完成后,為了驗(yàn)證系統(tǒng)的使用效果對(duì)系統(tǒng)進(jìn)行實(shí)際測(cè)試,選取了6 種常用的電流值,實(shí)際電流測(cè)試情況如表1所示。其中相對(duì)誤差=(檢測(cè)電流值-實(shí)測(cè)電流值)*100%/實(shí)測(cè)電流值。
從表1 可知,在500mA 以?xún)?nèi)誤差較大,500mA 以上誤差較小,但基本都在1%以?xún)?nèi),達(dá)到了精確測(cè)量電流的要求。

表1:實(shí)際測(cè)試記錄表
本文提出了一種基于CPLD 的簡(jiǎn)單的電流檢測(cè)系統(tǒng),輸入電流經(jīng)過(guò)精密電阻轉(zhuǎn)換為電壓值,再經(jīng)過(guò)電流傳感放大電路和隔離電路,輸入給模數(shù)轉(zhuǎn)換電路,CPLD 通過(guò)SPI 接口輪詢(xún)模數(shù)轉(zhuǎn)換芯片的量化值,然后經(jīng)過(guò)邏輯運(yùn)算計(jì)算出電流值,通過(guò)異步串行接口傳輸給USB/RS232 芯片,進(jìn)而上傳給主機(jī)并在上位機(jī)軟件上實(shí)時(shí)顯示。經(jīng)過(guò)實(shí)際測(cè)試發(fā)現(xiàn)電流測(cè)試精度可達(dá)1%以?xún)?nèi),能夠滿(mǎn)足大部分電子設(shè)備的需求,并且系統(tǒng)簡(jiǎn)單合理,穩(wěn)定可靠,可以廣泛應(yīng)用在各類(lèi)工業(yè)電子設(shè)備中。