基于AT90S8515單片機的瞬變信號捕獲與存儲器
當代科學研究的許多領域中,常會遇到如何捕捉單次瞬變信號的問題。對于單脈沖信號捕獲、周期信號頻譜分析等高速數(shù)據(jù)采集系統(tǒng),通常都采用DMA技術實現(xiàn)。不論是由PC機內(nèi)的DMA控制器芯片實現(xiàn),還是由單片機結合DMA技術實現(xiàn),其系統(tǒng)結構都比較復雜;若采用通用DSP芯片開發(fā)該類儀器儀表,造價過高。故此,研制電路簡單、實用廉價的高速數(shù)據(jù)采集系統(tǒng)是很必要的。本瞬變信號捕獲與存儲器正是基于以上因素而設計的,它是由AT90S8515單片機直接控制TLC5510高速A/D實現(xiàn)高速數(shù)據(jù)采集,采樣速率高達8MHz,具有如下功能:
·可捕獲各種單次脈沖,最小脈寬可達1微秒。
·可將捕獲信號通過X軸、Y軸輸出,在CRT上顯示出來。
·能實現(xiàn)超低頻(1Hz以內(nèi))信號的穩(wěn)定顯示。
·捕獲信號的觸發(fā)電平、寬度均可預置。
該系統(tǒng)已應用于RLC電路暫態(tài)分析測量系統(tǒng)。
1 AT90S8515簡介
ATMEL公司新推出的90系列單片機,內(nèi)含高速閃存FLASH,是基于增強精簡指令RISC結構的單片機,簡稱AVR單片機。該系列單片機在吸收PIC及8051單片機優(yōu)點的基礎上,作了重大改進,性能十分優(yōu)異。AT90S8515是AVR中比較典型的一種,它用32個快速存取RISC寄存器代替累加器,避免了傳統(tǒng)的累加器與存儲器間的數(shù)據(jù)傳送;可在一個時鐘周期內(nèi)執(zhí)行一條指令來訪問兩個獨立的寄存器,代碼效率比常規(guī)CISC微控制器快十倍;片內(nèi)具有8K字節(jié)的Flash ROM存儲器,是8位單片機中第一種真正的RISC單片機。
AT90S8515引腳與MCS-51系列單片機的引腳兼容。有PA、PB、PC、PD四個8位并行口,其中PA、PC口具有I/O及AD總線功能,PB、PD口具有I/O及特殊功能復用特點;復位端采用低電平復位,具有良好的抗干擾性能。AT90S8515運用Harvard結構概念,即對程序和數(shù)據(jù)帶有不同的存儲器和總線,通過單一級的流水線可對程序存儲器進行訪問。當執(zhí)行某一指令時,下一指令被預先從程序存儲器中取回,這使得指令可以在每一個時鐘周期內(nèi)被執(zhí)行,如圖1所示。
AT90S8515有模擬比較器,它對正極PB2引腳(AIN0)和負極PB3引腳(AIN1)的輸入值進行比較。當PB2端的電壓高于PB3端的電壓時,模擬比較器輸出(ACO)為1。比較器的輸出可觸發(fā)定時器/計數(shù)器T1的輸入捕獲功能;此外,比較器的輸出可觸發(fā)一個獨立于模擬比較器的中斷,用戶可以選擇比較器輸出上升、下降沿觸發(fā)中斷。其方框圖如圖2所示,由ACSR寄存器實現(xiàn)對該比較器的設定。
2 系統(tǒng)構成
系統(tǒng)構成如圖3所示。采用AT90S8515單片機,輸入信號經(jīng)A/D轉換后通過PA口送入單片機內(nèi)的SRAM中,同時輸入信號經(jīng)PB3端引入到單片機的模擬比較器的負端,而該模擬比較器的正端(PB2)連到觸發(fā)電平電位器。SRAM中存放的采集數(shù)據(jù)從PC口送出經(jīng)74LS273鎖存后由D/A輸出至Y軸。PC口亦送出X軸掃描信號,該信號通過另一片74LS273鎖存后經(jīng)D/A輸出至X軸,如圖4所示。每片鎖存器的鎖存是通過對PD6端的置位、復位而產(chǎn)生高低電平切換時的上升、下降沿觸發(fā)實現(xiàn)的。通過PD0、PD1端與MAX232連接,由MAX232擴展出RS232串行通信口,該口可把每次采集的數(shù)據(jù)送入PC機。通過PB、PC口亦設計了采集時長調(diào)整等控制界面。
3 硬件組成
·單片機芯片
采用ATMEL公司的AT90S8515,片內(nèi)有8K字節(jié)FLASH ROM和512字節(jié)SRAM。設計使用工作時鐘頻率為16MHz,可以有60納秒以下的指令周期。
· A/D轉換器
采用TI公司的TLC5510芯片,轉換精度8位并行輸出,采集速率為20MSPS。采用模擬比較器觸發(fā)中斷,觸發(fā)定時器T1,確定采集時長。
· 靜態(tài)RAM
靜態(tài)RAM采用片內(nèi)512字節(jié)SRAM。
· 串行口電路
采用MAXIM公司的MAX232擴展出串行通信口。
·D/A轉換器
采用NS公司的電流輸出型DAC0832芯片,其電流穩(wěn)定時間為1微秒。它把74LS273的鎖存數(shù)據(jù)經(jīng)數(shù)模轉換后在X軸、Y軸輸出。
4 工作原理
4.1 脈沖信號的捕獲
單片機系統(tǒng)開機運行后,根據(jù)捕獲信號的幅度大小,調(diào)整好捕獲觸發(fā)電平的值,再調(diào)整好捕獲時長。當信號的幅度高于觸發(fā)電平時,通過AT90S8515的模擬比較器產(chǎn)生中斷請求,觸發(fā)啟動A/D轉換器,并通過PA口將轉換結果存入片內(nèi)SRAM內(nèi)。A/D轉換的采樣時間長短是由定時器T1的初始值設定,T1的時長可通過控制界面設定在20μs~1s之間,這樣就保證了瞬變信號能完整捕獲。
4.2 采樣數(shù)據(jù)的存放
每次A/D轉換后的數(shù)據(jù)存放在片內(nèi)512字節(jié)RAM中。利用512字節(jié)中的400字節(jié)作為存放A/D轉換的數(shù)據(jù)區(qū)。定時器T1確定的采樣時長是由操作界面設定的,當在1s采樣時,采集400個點數(shù)據(jù);1ms時采集200個點;20μs時采集數(shù)據(jù)的點數(shù)為100個點。根據(jù)采樣定理與實際情況,若以采樣5個點就可分辯出一個信號的特征計算,當采集時長設定在20μs、采集100個點時,可分辨、捕獲瞬變信號的細微脈寬在1μs以下。實際運行結果也驗證了這樣的分辨率。
4.3 X軸、Y軸輸出
為了實現(xiàn)捕獲信號的觀察與測量,將X軸、Y軸輸出送至普通示波器的示波管后瞬變信號就能穩(wěn)定地顯示出來,這時也能穩(wěn)定觀測超低頻(小于1Hz)信號。X軸信號由R16、R17自動累加產(chǎn)生,其值的變化范圍為0~400。捕獲時長是1s、1ms、20μs,采集的數(shù)據(jù)長度分別為400、200、100個字節(jié)時,寄存器R16、R17的累加步長應為1、2、4。這樣就實現(xiàn)了X軸掃描信號與Y軸捕獲信號顯示的線性性。X軸、Y軸信號的讀出由T0定時器通過中斷觸發(fā),其讀出速度由T0定時器的時長確定,本系統(tǒng)選取1kHz的讀出速度,且T1的中斷優(yōu)先級高于T0。這樣就保證了信號捕獲時段不受XY輸出的干擾。捕獲信號也可通過PD0、PD1端擴展的串口傳送至PC機內(nèi)進行進一步分析。
5 軟件設計
AT90S8515單片機有32個通用寄存器,在程序設計時很靈活地使用了R0~R31寄存器,實現(xiàn)了程序設計結構簡單、目標代碼少(小于2K字節(jié))的目的。主程序流程圖見圖5。利用本設計研制的瞬變信號捕獲與存儲器達到了預先的指標。可用普通示波器的示波管觀察所捕獲信號的特征;同時也可方便地觀察超低頻(1Hz左右)信號,實現(xiàn)慢掃描示波器的功能。該系統(tǒng)具有很高的性價比。
評論