魯業(yè)安,湯代斌,李 爭(zhēng)
(1.安徽機(jī)電職業(yè)技術(shù)學(xué)院,安徽蕪湖 241000;2.河北科技大學(xué)電氣工程學(xué)院,河北石家莊 050018)
X-射線測(cè)厚儀系統(tǒng)在測(cè)量不同厚度范圍或不同材質(zhì)的板材時(shí),需要改變X-射線的強(qiáng)度,因而由X-射線探測(cè)器轉(zhuǎn)換成電壓信號(hào)變化范圍很寬,對(duì)該電壓信號(hào)的調(diào)理一般采用增益可控的放大器,采用多路模擬開關(guān)和運(yùn)算放大器組成的程控增益放大器可以實(shí)現(xiàn)放大增益的控制,但其增益控制電阻反饋網(wǎng)絡(luò)的電阻難以選取到匹配值,且電阻工作時(shí)存在的溫漂也會(huì)給放大增益帶來一定的影響[1]。而采用數(shù)字信號(hào)控制的增益放大器可以避免以上問題,且增益設(shè)置簡(jiǎn)單、修改靈活[2]。
MAX532是一種雙路12位串行數(shù)據(jù)并帶有輸出放大器的數(shù)字-模擬轉(zhuǎn)換器(DAC),應(yīng)用Mega48單片機(jī)的同步串行口(SPI)可實(shí)現(xiàn)對(duì)數(shù)模轉(zhuǎn)換器MAX532的放大增益控制,從而滿足X-射線測(cè)厚儀系統(tǒng)對(duì)不同厚度范圍或不同材質(zhì)板材測(cè)量的要求[2-3]。
X-射線測(cè)厚儀系統(tǒng)在線測(cè)量時(shí),首先根據(jù)板材的厚度或材質(zhì)選擇適合的測(cè)量量程,并由此確定所需的X-射線的強(qiáng)度和對(duì)X-射線探測(cè)器轉(zhuǎn)換出的電壓信號(hào)的放大增益,系統(tǒng)的總體結(jié)構(gòu)框圖如圖1所示。對(duì)檢測(cè)信號(hào)放大增益控制的數(shù)字信號(hào)由測(cè)厚儀系統(tǒng)中的工業(yè)控制PC 通過RS485 總線送到Mega48單片機(jī),在單片機(jī)內(nèi)部將RS485信號(hào)轉(zhuǎn)換成SPI信號(hào),并通過SPI總線送給具有SPI接口的程控放大器,以此來實(shí)現(xiàn)對(duì)放大器信號(hào)增益的控制。
圖1 X-射線測(cè)厚儀系統(tǒng)結(jié)構(gòu)示意圖Fig.1 Structure of X-ray thickness gauge's system
MAX532 是一個(gè)具有SPI串行數(shù)據(jù)輸入接口、內(nèi)置輸出放大器的雙12位數(shù)模轉(zhuǎn)換器,其接口能與標(biāo)準(zhǔn)的SPI,QSPI和MICROWIRE 接口標(biāo)準(zhǔn)兼容,采用±12~±15V 之間的電源供電,所有輸入端口與TTL和CMOS兼容。
MAX532內(nèi)部有一個(gè)24 位的移位寄存器,高12位為B通道的DAC 數(shù)據(jù),低12位為A 通道的DAC數(shù)據(jù),數(shù)據(jù)采用SPI接口0方式傳輸,即當(dāng)片選信號(hào)CS有效時(shí),數(shù)據(jù)在串行同步時(shí)鐘信號(hào)SCLK的第1個(gè)跳變沿時(shí)被采樣;在第2個(gè)跳變沿時(shí)被移入移位寄存器,先移入的是高位數(shù)據(jù),且B 通道的DAC數(shù)據(jù)在A 通道的DAC 數(shù)據(jù)之前移入,移位寄存器中原有的數(shù)據(jù)依次從DOUT 引腳輸出;當(dāng)片選信號(hào)CS無效時(shí),數(shù)據(jù)不能通過DIN 引腳讀入,同時(shí)DOUT 為高阻抗?fàn)顟B(tài)。
圖2為采用MAX532實(shí)現(xiàn)的程控增益放大器原理圖[2]。在這種連接方式下,數(shù)模轉(zhuǎn)換器的功能相當(dāng)于一個(gè)程控的電阻反饋網(wǎng)絡(luò)。放大器的增益由移位寄存器中的DAC數(shù)據(jù)確定,當(dāng)DAC 數(shù)據(jù)減小時(shí)相當(dāng)于電阻反饋網(wǎng)絡(luò)的阻值增大,因而放大器的增益也增大。輸出電壓Vout與輸入電壓Vin之間滿足如下關(guān)系:
式中:RFBA為反饋電阻,RFBA=R/2;REQA為數(shù)模轉(zhuǎn)換器的等效電阻,其阻值與移位寄存器中CODE的數(shù)值關(guān)系為
由式(1)和式(2)可知,放大器的增益G=-4 096/CODE,改變移位寄存器中的CODE 就可以改變放大器的增益。而移位寄存器中的CODE是MAX532通過SPI接口接收的,該數(shù)據(jù)由工業(yè)PC中選擇的測(cè)量量程決定并經(jīng)Mega48單片機(jī)進(jìn)行通訊模式轉(zhuǎn)換后送給MAX532的。
圖2 程控放大器原理圖Fig.2 Diagram of programmable-gain amplifier
系統(tǒng)選用的Mega48單片機(jī)是ATMEL公司的高性能、低功耗的8 位AVR 單片機(jī),與一般8位機(jī)相比,AVR 單片機(jī)的顯著特點(diǎn)為高性能、高速度和低功耗[4-5]。它取消機(jī)器周期,以時(shí)鐘周期為指令周期,實(shí)行流水作業(yè),并首先采用寄存器文件和精簡(jiǎn)指令集的8位單片機(jī)。它具有高質(zhì)量的FLASH 程序存儲(chǔ)器和EEPROM 數(shù)據(jù)存儲(chǔ)器、功能多樣化的定時(shí)器/計(jì)數(shù)器、可靠的監(jiān)視定時(shí)器、多渠道的復(fù)位電路以及多種選擇的休眠方式等方面優(yōu)勢(shì),使其功能、可靠性、速度、節(jié)電和價(jià)位等綜合性指標(biāo)在8位機(jī)中名列前茅,是8位嵌入式系統(tǒng)應(yīng)用的首選機(jī)種。此外該單片機(jī)還具有可編程的串行USART 接口和可工作于主機(jī)/從機(jī)模式的SPI串行接口,能夠比較方便地實(shí)現(xiàn)RS232(RS485)到SPI 通訊模式的轉(zhuǎn)換。
Mega48單片機(jī)通用同步和異步串行接收器和發(fā)送器(USART),是一個(gè)高度靈活的串行通訊用芯片。主要特點(diǎn)為全雙工操作(獨(dú)立的串行接收和發(fā)送寄存器);高精度的波特率發(fā)生器;支持5,6,7,8或9 個(gè)數(shù)據(jù)位和1個(gè)或2個(gè)停止位;硬件支持的奇偶校驗(yàn)操作和噪聲濾波,包括錯(cuò)誤的起始位檢測(cè),以及數(shù)字低通濾波器。
Mega48單片機(jī)串行外設(shè)接口SPI允許單片機(jī)與外設(shè)或其他AVR 器件進(jìn)行高速的同步數(shù)據(jù)傳輸[6]。具有全雙工,3線同步數(shù)據(jù)傳輸;主機(jī)或從機(jī)操作;LSB 首先發(fā)送或MSB 首先發(fā)送和7 種可編程的比特率等特點(diǎn)。
采用數(shù)-模轉(zhuǎn)換器MAX532實(shí)現(xiàn)的程控放大器的原理圖如圖3所示。X-射線測(cè)厚儀系統(tǒng)在線測(cè)量時(shí),通過工業(yè)PC 中的量程轉(zhuǎn)換程序選擇適當(dāng)?shù)牧砍?,并根?jù)量程確定放大增益的數(shù)值,該數(shù)值信號(hào)為數(shù)字信號(hào),通過RS485通訊接口傳送給Mega48單片機(jī),在Mega48單片機(jī)中將RS485信號(hào)轉(zhuǎn)換為滿足MAX532要求的SPI信號(hào)[7-8]。為了增強(qiáng)系統(tǒng)的抗干擾性能和工作的可靠性,在MAX532與單片機(jī)之間插入光耦合器進(jìn)行電氣隔離[9-10]。X-射線探測(cè)器轉(zhuǎn)換出的電壓信號(hào)Vin經(jīng)由R1,R2和C1組成濾波器濾波后,送到MAX532的1腳(A 通道),根據(jù)MAX532中移位寄存器里設(shè)定的放大增益,將信號(hào)放大后由3腳輸出,再經(jīng)后級(jí)放大器反相后送給模-數(shù)轉(zhuǎn)換模塊進(jìn)行采樣。
圖3 程控放大器系統(tǒng)原理圖Fig.3 Circuit schematics of programmed amplifier system
系統(tǒng)中Mega48單片機(jī)主要實(shí)現(xiàn)RS485到SPI通訊模式轉(zhuǎn)換的功能。從工業(yè)PC 送到單片機(jī)的信號(hào)為異步串行通訊信號(hào),每次傳輸1 個(gè)字節(jié),即8位,而MAX532所需的為同步串行信號(hào),需要3個(gè)字節(jié)共24位,且高12位為B通道的增益控制代碼,系統(tǒng)使用的A 通道,增益控制代碼為低12位,這就需要將工業(yè)PC發(fā)來的3個(gè)字節(jié)代碼按照MAX532的要求進(jìn)行相應(yīng)的轉(zhuǎn)換。
SPI通訊時(shí),單片機(jī)配置為主機(jī),MAX532為從機(jī)。增益控制代碼由Mega48單片機(jī)的MOSI引腳輸出,經(jīng)光耦合器轉(zhuǎn)換后由MAX532 的DIN 引腳移入,原MAX532移位寄存器中的代碼則由DOUT引腳輸出,經(jīng)光耦合器轉(zhuǎn)換后送到單片機(jī)的MISO引腳。單片機(jī)的SCLK 信號(hào)控制代碼傳送的頻率,CS信號(hào)用于啟動(dòng)SPI的數(shù)據(jù)傳輸。
系統(tǒng)工作時(shí),單片機(jī)首先對(duì)工業(yè)PC 發(fā)來的控制代碼信息進(jìn)行保存并統(tǒng)計(jì)字節(jié)數(shù),一旦接收滿3個(gè)字節(jié),便啟動(dòng)一次SPI傳輸,直到3個(gè)字節(jié)傳輸結(jié)束,然后將收到的原MAX532移位寄存器中的代碼信息再分3個(gè)字節(jié)發(fā)回到工業(yè)PC。系統(tǒng)軟件設(shè)計(jì)流程圖如圖4所示。
X-射線測(cè)厚儀實(shí)際在線測(cè)量時(shí),X-射線探測(cè)器轉(zhuǎn)換出的電壓信號(hào)范圍為0~5mV,而模-數(shù)轉(zhuǎn)換模塊的電壓采樣輸入電壓一般為0~2.5V,為匹配信號(hào)和提高測(cè)厚儀的測(cè)量精度,需要采用高增益的放大器將對(duì)幾毫伏的電壓放大到1~2V 左右。以X-射線探測(cè)器輸出最高電壓5 mV 和模-數(shù)轉(zhuǎn)換模塊最佳采樣電壓2.0 V 計(jì)算,需要采用放大增益為400的放大器。根據(jù)MAX532內(nèi)部移位寄存器的通道分配情況,采用A 通道時(shí),12位CODE為190H,B通道的12位CODE 設(shè)置為000H,則移位寄存器中的增益控制CODE應(yīng)設(shè)置為000190H。
圖4 系統(tǒng)軟件設(shè)計(jì)流程圖Fig.4 Main program flow chart
實(shí)驗(yàn)中,工業(yè)PC將A 通道增益控制CODE 通過RS485總線傳送給Mega48單片機(jī),單片機(jī)先將該增益控制CODE擴(kuò)展為24位,即000190H,然后通過SPI總線輸送給MAX532 來實(shí)現(xiàn)增益控制。Mega48單片機(jī)輸出增益控制CODE 的SPI波形如圖5所示。
圖5 增益控制CODE的SPI波形圖Fig.5 Waveforms of SPI for gain control code
提出的基于MAX532 數(shù)模轉(zhuǎn)換器和Mega48單片機(jī)的程控放大器設(shè)計(jì)方案已經(jīng)成功的應(yīng)用于X-射線測(cè)厚儀系統(tǒng)中,實(shí)際測(cè)量效果證明該方案切實(shí)可行,并解決了以往采用多路模擬開關(guān)和運(yùn)算放大器實(shí)現(xiàn)程控放大器時(shí)增益反饋網(wǎng)絡(luò)電阻選擇困難和反饋網(wǎng)絡(luò)電阻的溫度漂移對(duì)測(cè)量精度的影響。
/References:
[1] 張 平,蔣 陽.高能X-射線數(shù)據(jù)采集系統(tǒng)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(7):2 505-2 508.ZHANG PING,JIANG Yang.Study on high energy X-ray detection and data acquisition system[J].Computer Engineering and Design,2011,32(7):2 505-2 508.
[2] Maxim Integrated Products,Inc.Dual,Serial Input,Voltage-Output,12-Bit MDAC MAX532[EB/OL].http://www.mouser.com/ds/2/256/.
[3] 王秀玲,趙雁南,劉植楨.微型計(jì)算機(jī)A/D D/A 轉(zhuǎn)換接口技術(shù)及數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[M].北京:清華大學(xué)出版社,1984.WANG Xiuling,ZHAO Yannan,LIU Zhizhen.Microcomputer A/D D/A Convertion Interface Technology and Data Acquisition System Design[M].Beijing:Tsinghua University Press,1984.
[4] 胡壽偉.一種單片機(jī)控制的程控放大器[J].測(cè)試技術(shù)學(xué)報(bào),1996,16(2):402-406.HU Shouwei.A programme control amplifier controlled by single chip microcomputer[J].Journal of Test and Measurement Technology,1996,16(2):402-406.
[5] 楊武剛.單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航[M].北京:人民郵電出版社,2004.YANG Wugang.SCM Typical Module Design Examples Navigation[M].Beijing:People's Posts and Telecommunications Press,2004.
[6] 趙海婷,賀占莊.面向EEPROM 應(yīng)用的SPI主控制器設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012,21(4):64-67.ZHAO Haiting,HE Zhanzhuang.Design and implementation of SPI Controller for EEPROM Application[J].Computer Systems &Applications,2012,21(4):64-67.
[7] 張?jiān)瓶?AVR 單片機(jī)在預(yù)多頻激勵(lì)信號(hào)源中的應(yīng)用[J].無損檢測(cè),2012,34(6):53-56.ZHANG Yunke.The application of AVR MCU in the premulti frequency excitation signal source[J].Nondestructive Testing,2012,34(6):53-56.
[8] 曾菊容.基于AT89C51和MAX262的程控濾波器設(shè)計(jì)[J].制造業(yè)自動(dòng)化,2012,34(7):154-156.ZENG Jurong.Design of programmable filter based on AT89C51 and MAX262[J].Manufacturing Automation,2012,34(7):154-156.
[9] 張光華,任 軍,胡振雷,等.基于PIC16F873A 單片機(jī)的溫控閥門的低功耗設(shè)計(jì)[J].河北工業(yè)科技,2012,28(2):82-84.ZHANG Guanghua,REN Jun,HU Zhenlei,et al.Low power design of temperature control valve based on PIC16F873A microchip[J].Hebei Journal of Industrial Science and Technology,2012,28(2):82-84.
[10] 丁銀銀,白采玉,張持健.基于單片機(jī)的多功能密碼輸入器的設(shè)計(jì)[J].河北工業(yè)科技,2012,29(3):167-169.DING Yinyin,BAI Caiyu,ZHANG Chijian.Design of multifunctional password input set based on STC89C52microchip[J].Hebei Journal of Industrial Science and Technology,2012,29(3):167-169.