彭豪
(西華大學(xué),四川 成都 610039)
近年來,人們對電信號(hào)的采集越來越重視,且對采樣系統(tǒng)的精度要求越來越高。因?yàn)椴蓸咏Y(jié)果精度的高低直接影響到了人們對模擬信號(hào)的分析,進(jìn)而影響到了人們所采取的措施。本文采用了以AT89C51為核心的采樣系統(tǒng),其采集速度快。并且還采用了AD526所構(gòu)成的程控放大模塊,提高了的對電流信號(hào)的采集精度。
圖1 系統(tǒng)結(jié)構(gòu)框圖
AT89C51是美國ATMEL公司生產(chǎn)的,具有功耗低、性能高、速度快、系統(tǒng)掉電后重要數(shù)據(jù)和重要信息不會(huì)丟失等特點(diǎn),并且它兼容了MCS--51系列的單片機(jī),其可重復(fù)可擦除的次數(shù)很高,可以達(dá)到1000次,這不僅有利于系統(tǒng)程序的調(diào)試,還可通過系統(tǒng)程序的調(diào)整,使系統(tǒng)具有更多的功能;該單片機(jī)具有32位可編程I/O線、128*8位的內(nèi)部RAM、片內(nèi)振蕩器和時(shí)鐘電路,最高頻率可達(dá)24Msps等功能,這些功能完全可達(dá)到系統(tǒng)設(shè)計(jì)要求。
AD526是一款性價(jià)比高,可通過程序控制的可編程增益放大器(SPGA),并且提供了多種增益放大倍數(shù),分別為1、2、4、8、16五種增益。其內(nèi)部擁有電阻網(wǎng)絡(luò)、TTL兼容型鎖存輸入以及放大器等多種功能。雙芯片級聯(lián)情況下其增益范圍為1至256的二進(jìn)制增益,且增益誤差小,溫度漂移低至0.5ppm/℃,線性度低,建立10V信號(hào)變化時(shí)間快,直流進(jìn)度好等優(yōu)點(diǎn)。
MAX118是MAX公司生產(chǎn)的一款速具有8個(gè)通道的8位模數(shù)轉(zhuǎn)換芯片,通道之間的轉(zhuǎn)換速度快,很容易與ups接口進(jìn)行連接,帶有1uA的關(guān)斷模式,+5V電源供電,采樣頻率為1Msps。在本設(shè)計(jì)系統(tǒng)中,該芯片與單片機(jī)AT89C51的連接也是十分方便的。
本系統(tǒng)是以AT89C51為核心的控制系統(tǒng),配以AD526構(gòu)成的程控放大電路以及MAX118構(gòu)成的模數(shù)轉(zhuǎn)換電路。系統(tǒng)的基本結(jié)構(gòu)圖如圖1所示。
首先,在單片機(jī)中設(shè)置程控放大電路的增益窗口,當(dāng)采樣信號(hào)的幅值高于某值時(shí),單片機(jī)命令程控放大器不需要對采樣信號(hào)進(jìn)行放大;當(dāng)采樣信號(hào)的幅值低于某值時(shí),單片機(jī)命令程控放大器對采樣信號(hào)進(jìn)行放大。開始時(shí),設(shè)置程控放大器的增益倍數(shù)為1,系統(tǒng)采集的信號(hào)經(jīng)程控放大電路直接輸入到AD轉(zhuǎn)換模塊,由AD轉(zhuǎn)換模塊將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),然后單片機(jī)對數(shù)字信號(hào)的大小進(jìn)行判斷,若信號(hào)太小,則單片機(jī)命令程控放大電路對模擬信號(hào)進(jìn)行放大,然后再把信號(hào)重新輸入到AD轉(zhuǎn)換電路進(jìn)行轉(zhuǎn)換。這樣做雖不能很好的降低采樣誤差,但還是較為提高了系統(tǒng)的采集精度。
該硬件電路圖如圖2所示,其中MAX118的IN0~I(xiàn)N7為模擬信號(hào)輸入端,A0A1A2控制模擬信號(hào)的輸入端口,如A0A1A2=000,則對應(yīng)IN0模擬輸入端;MAX118的D0~D7接單片機(jī)的P1端口,用于數(shù)據(jù)的傳輸;MAX118的RD接單片機(jī)的RD端口,當(dāng)單片機(jī)RD為輸出低電平時(shí),單片機(jī)從MAX118中讀取數(shù)據(jù);MAX的INT端口接單片機(jī)的INT0端口,兩者之間采取中斷式傳輸方式;MAX的WR端接單片機(jī)的WR端,當(dāng)WR為低時(shí),單片機(jī)向MAX118寫入數(shù)據(jù);MAX118的A0A1A2端連接在單片機(jī)的P0.0~P0.2端,用于單片機(jī)控制MAX118的模擬通道;VCC接5伏的源,GND接地。
圖2 部分硬件電路圖
本系統(tǒng)采用C語言對系統(tǒng)進(jìn)行編程,并用keil軟件作為編譯的環(huán)境。C語言兼顧了多種高級語言的特點(diǎn),編程方法十分靈活,編譯速度快,編譯效率高,且具有豐富的庫函數(shù),可移植性強(qiáng),很適合用于單片機(jī)的程序編輯。Keil軟件是美國keil software 公司開發(fā)的可用于51系列單片機(jī)兼容C語言的軟件開發(fā)系統(tǒng),編譯操作簡單,非常適合單片機(jī)程序的編譯與調(diào)試。本系統(tǒng)的程序的任務(wù)是控制單片機(jī)對AD進(jìn)行數(shù)據(jù)讀取,并把數(shù)據(jù)存儲(chǔ)起來。其流程圖如圖3所示。
圖3 程序流程圖
本系統(tǒng)采用以AT89C51為核心的控制電路,該電路操作性強(qiáng),電路簡單,實(shí)時(shí)性較強(qiáng),且精度較高,且成本低。實(shí)驗(yàn)結(jié)果證明了該設(shè)計(jì)系統(tǒng)的準(zhǔn)確性。
本系統(tǒng)對電流信號(hào)盡性采集,在該系統(tǒng)中采用了以AD526為核心的可編程程控放大模塊,該模塊提高了系統(tǒng)的采樣精度,為之后人們對電流信號(hào)的分析和處理提供了精度保證。
【1】電子線路 第4版 羅杰 謝自美 主編 電子工業(yè)出版社
【2】C語言程序設(shè)計(jì) 第3版 譚浩強(qiáng) 主編 清華大學(xué)出版社
【3】電子技術(shù)基礎(chǔ) 數(shù)字部分 第5版 華中科技大學(xué)電子技術(shù)課程組 編 主編 康光華 副主編 鄒壽彬 秦臻 高等教育出版社
【5】AT89C51-data sheet
【6】MAX118-data sheet