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