《電子技術應用》
您所在的位置:首頁 > 其他 > 业界动态 > 基于ISA总线的高速同步数据采集系统设计

基于ISA总线的高速同步数据采集系统设计

2009-02-27
作者:李 涛 张承学 胡志坚

  摘? 要: 一種基于ISA總線的高速同步數(shù)據(jù)采集擴展卡,討論了經(jīng)合理的邏輯控制以協(xié)調(diào)高速A/D轉換與快速存儲操作的總線接口技術,以及用極少的PC機I/O口地址資源實現(xiàn)數(shù)據(jù)的快速交換的方法。應用表明,其高速的數(shù)據(jù)采集、靈活的雙向數(shù)據(jù)交換能力及數(shù)據(jù)的同步性,可廣泛用于信號測量的各種領域。?

  關鍵詞: 高速數(shù)據(jù)采集? ISA總線? 接口?

?

  隨著大規(guī)模集成電路的飛速發(fā)展,PC機性能不斷提高。在PC機擴展槽中嵌入以高性能微處理器為核心的智能型功能卡,可以組成綜合性能極佳的分布式控制系統(tǒng)。這種結構方式可充分利用微處理器的控制功能、PC機的快速數(shù)據(jù)處理能力,以及多任務工作方式等特點。對于這種分布式控制系統(tǒng),主機要頻繁接收來自擴展卡從機所采集的數(shù)據(jù)、工作狀態(tài)等信息;向從機發(fā)送控制命令或處理數(shù)據(jù)等。這種主、從機之間的通訊,根據(jù)應用條件的不同有多種方式。但在數(shù)據(jù)傳輸速度較高、數(shù)據(jù)量較大且需經(jīng)常交換信息的場合,采用雙口共享RAM緩沖區(qū)方式是最合適的。?

  為了用單片機實現(xiàn)對微秒級甚至納秒級高速瞬變信號進行采樣,研究了一種基于ISA總線、GPS同步時鐘、用硬件電路實現(xiàn)高速數(shù)據(jù)采集、高速尋址以及存儲的技術,保證了高速瞬態(tài)信號的實時采集。對于變化速度極快、過程極短的高速瞬態(tài)信號的采集,需要高速A/D轉換單元、大量數(shù)據(jù)存儲單元、高速尋址和快速存儲等。?

  由于所采集的信號是高頻信號,用常規(guī)方法受到單片機本身運行速度的限制,不僅造成成本提高,而且對高頻、遠距離多路信號的信號處理增加困難,有時無法區(qū)別所采集信號的真?zhèn)?。通過對8051單片機的外圍進行有效的擴展,采取在數(shù)據(jù)采集時由硬件實現(xiàn)采集和存儲,采集完畢后由8051系列單片機進行數(shù)據(jù)處理和通信,比較好地解決了二者的矛盾。?

  筆者研制的高速數(shù)據(jù)采集板采樣頻率為20MSPS;A/D轉換字長為8位,并且采樣速率可變;存儲容量為512K字節(jié),符合ISA總線標準。可廣泛用于電力測量、繼電保護和故障定位等。?

1 硬件系統(tǒng)基本工作原理?

  硬件電路框圖如圖1所示,它是由CPU1及CPU2基本系統(tǒng)、視頻閃爍ADC轉換器、高速緩存RAM、雙口RAM、地址計數(shù)器、采樣頻率控制、時序控制及譯碼電路等部分組成。?

?

?

  根據(jù)需要CPU采用DS80C320單片機。在時鐘頻率為33MHz條件下,單周期指令執(zhí)行時間是110納秒,充分發(fā)揮高速A/D轉換芯片的性能。DS80C320內(nèi)部有三個16位定時器/計數(shù)器、二個全雙工串行口、十三個中斷源(六個外部中斷源)、二個數(shù)據(jù)指針DPTR0和DPTR1。在33MHz晶振時,ALE的輸出信號頻率是8.25MHz。?

  CPU1主要用于數(shù)據(jù)采集、與PC機通訊;CPU2用于接收GPS時間報文,GPS時間報文可在任何時刻由CPU1從與之相接的雙口RAM2中讀取。高速雙端口RAM IDT7130(2K×8位)、IDT7134(4K×8位),內(nèi)部具有判決電路以防止因?qū)δ骋粏卧瑫r操作而產(chǎn)生沖突。雙口RAM1 IDT7134主要用于CPU1存放采集的數(shù)據(jù)、同步時間信息及工作狀態(tài)等,供PC機定時取用,同時也接收來自PC機的命令。雙口RAM2 IDT7130其容量為2K字節(jié),主要用于CPU1與CPU2交換GPS的同步時鐘信息。?

  對高速數(shù)據(jù)采集技術而言,最為重要的是系統(tǒng)的分辨率、精度與通過速率。特別是系統(tǒng)通過速率,是區(qū)別高速數(shù)據(jù)采集與一般數(shù)據(jù)采集最為關鍵的一項技術指標。在硬件的具體實現(xiàn)過程中,則需要考慮兩個方面:(1)A/D轉換器的轉換時間;(2)轉換后的數(shù)據(jù)存儲時間[2]。?

1.1 高速A/D轉換?

  A/D轉換采用閃爍ADC器件AD9048,其最大轉換速率為35MSPS,分辨率為8位。利用高速雙極工藝制造,采樣速度快,頻帶寬,無代碼遺失,輸入電容小(僅為16pF),功耗低(為500mW)。AD9048內(nèi)部時鐘鎖定比較器可使編碼邏輯電路和輸出緩沖寄存器工作在 35MSPS的高速,并避免了多數(shù)系統(tǒng)對取樣保持電路(S/H)和跟蹤保持電路 (T/H)的需要。數(shù)字輸入、輸出及控制電平與 TTL兼容。AD589和AD741、2N3906等構成穩(wěn)壓可調(diào)電路,提供給9048的RB、RT接地。AD9618作為輸入緩沖放大器[3]。由于AD9048的數(shù)據(jù)輸出沒有三態(tài)門控制,故在輸出加上74LS241作為三態(tài)門控制。AD9048是否工作取決于輸入轉換脈沖信號,在脈沖信號上升沿取樣。轉換脈沖來自采樣頻率控制電路中的8254分頻器的輸出。?

1.2? 高速尋址?

  對于高速數(shù)據(jù)采集系統(tǒng),A/D轉換應不受CPU控制。每當ADC轉換一次后,由控制電路發(fā)出相應的信號,將ADC轉換結果寫入高速緩存RAM某單元中,再使地址計數(shù)器加1,直到地址計數(shù)器記滿后產(chǎn)生采樣結束信號,封鎖RAM寫信號, 利用二進制地址發(fā)生器的最高位通過中斷方式通知主機采樣已完成。?

  地址計數(shù)器可根據(jù)地址位數(shù)由若干同步記數(shù)器級聯(lián)而成,五片74LS163可構成19位地址形成電路。計數(shù)器每收到一個脈沖即產(chǎn)生一個地址。地址的初值可通過時序控制電路清零。若采用循環(huán)地址,則在計數(shù)滿后,用進位信號迫使計數(shù)器的同步預置電平發(fā)生變化,使計數(shù)器恢復初值,進入新一輪計數(shù)。?

1.3? 快速存儲?

  單片機與上位PC機間串口通訊的數(shù)據(jù)傳輸速率往往不能滿足實時要求;DMA通道的最大數(shù)據(jù)傳輸率也不超過5MB/s[1],這顯然無法滿足本系統(tǒng)中高達20MB/s的采樣速度。為了解決高速數(shù)據(jù)采集與低速數(shù)據(jù)傳輸?shù)拿?在單片機系統(tǒng)中,數(shù)據(jù)存儲器選用雙端口RAM IDT7134(圖1中RAM1)。在上位PC主機與單片機之間建立了一個4K字節(jié)大小的緩沖區(qū),單片機只須將經(jīng)過預處理的采樣值通過一個端口存入緩沖區(qū),上位 PC主機通過另一端口從緩沖區(qū)取數(shù)據(jù)。這樣就解決了高速采樣與低速數(shù)據(jù)傳輸?shù)拿?,可滿足實時采集和控制的要求。?

1.4 總線控制?

  單片機系統(tǒng)總線上掛有若干RAM或I/O口,尋址和數(shù)據(jù)傳輸均由CPU發(fā)出指令通過系統(tǒng)總線實現(xiàn)的。對于高速數(shù)據(jù)采集,為了提高尋址和數(shù)據(jù)傳輸速度,避免總線沖突或堵塞,必須建立局部總線。系統(tǒng)總線與局部總線應該既區(qū)別、又統(tǒng)一,既隔離、又結合,彼此通過合理的控制邏輯聯(lián)系起來。?

  總線仲裁的基本原則實際就是在不同的總線請求時,采用不同長度的讀寫周期,以使各個使用者對總線的占用時間互相交錯,而使用者并不感覺到仲裁的存在。在內(nèi)存映射的傳輸方式中,A/D不斷地將轉換的數(shù)據(jù)寫入高速緩存RAM,CPU根據(jù)數(shù)據(jù)處理的需要從高速緩存 RAM讀取數(shù)據(jù)至雙口RAM1,雙口RAM1還需要將所有單元刷新一遍。這三種操作都要占用卡上的數(shù)據(jù)、地址總線。但它們發(fā)生的時間是隨機的,因此對總線的占用必然會產(chǎn)生沖突,總線仲裁電路的功能就是對這三種操作進行協(xié)調(diào)。這里,通過五片74LS241二選一開關協(xié)調(diào)地址計數(shù)器與CPU1對高速緩存RAM讀地址的沖突,二片74LS241協(xié)調(diào)高速緩存RAM與AD9048和雙口RAM之間的數(shù)據(jù)傳輸?shù)臎_突。?

1.5 ?PC總線接口技術?

  PC系統(tǒng)總線對4KB的雙口RAM尋址是一個難點。本數(shù)據(jù)采集卡采用PC總線,又稱8位ISA總線。它使用靈活,便于同8位單片機構成接口電路。有62條引線,分五類:地址線、數(shù)據(jù)線、控制線、輔助與電源線。本數(shù)據(jù)采集卡只用了其中一部分引線:8條數(shù)據(jù)線、10條地址線、控制線、電源線。譯碼電路詳細框圖如圖2。?

?

?

  本數(shù)據(jù)采集卡使用308H、309H、30AH三個口地址實現(xiàn)在板緩存4KB的尋址。這里的譯碼電路使用了GAL20V8和兩片74HC574。當PC機要訪問某一地址時,首先寫入雙口RAM的低8位地址。此時GAL20V8的輸出信號選中74HC574(右),將PC-DB上的數(shù)據(jù)鎖存,形成雙口RAM的低8位地址Addrl;然后寫入雙口RAM的高8位地址。GAL20V8的輸出信號選中74HC574(左),將PC-DB上的數(shù)據(jù)鎖存,形成雙口RAM的高8位地址Addrh。最后通過選中雙口RAM的片選端cs,完成一次數(shù)據(jù)的讀/寫過程。?

1.6 采樣頻率控制電路?

  采樣頻率控制電路是由晶振、可編程分頻器 8254及一些控制電路組成。8254是可編程分頻器,工作頻率在8MHz~20MHz。通過不同的分頻數(shù),可以輸出不同頻率,分頻數(shù)的值為2~65535。它的輸出由觸發(fā)控制電路控制。其輸出時鐘分別送往地址計數(shù)器、高速緩存RAM的寫信號控制電路及AD9048的轉換脈沖輸入端。?

2 系統(tǒng)軟件設計?

  系統(tǒng)軟件的主要功能是為用戶提供一個良好的操作環(huán)境,及時響應用戶的命令。用戶操作界面采用Visual basic語言編寫。通過采用一系列命令按鍵,將電力系統(tǒng)采集到的實際信號的波形、故障發(fā)生的時刻等映射到計算機屏幕上,用戶可以對采集到的信息有一個直觀的認識。用軟件虛擬硬件操作界面,可以充分利用計算機的強大運算功能、靈活多變的軟件優(yōu)勢和VGA強大的顯示功能。為了便于系統(tǒng)的擴充和軟件復用,整個軟件分為幾個相對獨立的功能模塊,模塊內(nèi)代碼封裝,相互之間設立統(tǒng)一的接口規(guī)范。?

  由于本系統(tǒng)中不僅有高層次、面向磁盤文件的操作,也有許多直接控制硬件的操作,采用了TURBO C和匯編語言混合編程技術,各模塊根據(jù)操作對象采用適當?shù)恼Z言。這樣可以同時利用高級語言編程方便、結構性好、匯編語言快速、靈活、針對性強的特點。?

  系統(tǒng)軟件框圖如圖3所示。?

?

?

  硬件驅(qū)動程序用于完成對硬件的操作,全部采用匯編語言編寫。使用系統(tǒng)前,先運行本程序,程序修改PC機系統(tǒng)中斷,運行后常駐內(nèi)存,和主程序的接口通過標準軟中斷形式。?

  高速圖形單元是對PC機VGA寄存器和顯示存儲器的直接操作,通過調(diào)用相關函數(shù)和VGA圖形庫,以較快速度將采樣信號顯示出來。?

  數(shù)據(jù)分析單元主要是對采樣信號進行后處理,可以完成小波變換、信號奇異性檢測、譜分析和相關分析等數(shù)據(jù)處理功能,并通過波形輸出單元同時將時域信號和分析結果用曲線顯示出來。?

  整個系統(tǒng)提供給用戶的是一個基于WINDOWS的快速圖形操作界面,系統(tǒng)主控程序協(xié)調(diào)整個系統(tǒng)的運行,控制硬件自動運行。在系統(tǒng)界面上包括用于波形顯示的高速視口和命令按鍵等,可以通過簡單操作直觀地觀察實時采集到的數(shù)據(jù)波形、幅值和故障發(fā)生的時刻。同時提供了對外的軟件接口,用戶可以按照規(guī)定的格式組織數(shù)據(jù),利用本系統(tǒng)強大的數(shù)據(jù)分析功能處理數(shù)據(jù)。?

  本高速采集卡具有采樣速率高、運行方式靈活、同步時鐘精度高并符合ISA總線標準等特點。以DS80C320單片機為核心,采用GPS同步時間,配合適當?shù)耐鈬O備及合理的總線控制技術實現(xiàn)高速數(shù)據(jù)采集。同時兼有數(shù)字存儲示波器功能和數(shù)據(jù)分析能力,可以廣泛用于電力測量、電力系統(tǒng)故障定位和繼電保護領域。?

參考文獻?

1 劉樂善.微型計算機接口技術原理及應用 [M]. 武漢:華中理工大學,1996?

2 沈蘭蓀. 高速數(shù)據(jù)采集系統(tǒng)的原理與應用[M]. 北京:人民郵電出版社?

3 陳淑杰. 單片8位視頻A/D轉換器AD9048[J].國外電子元器件,1996;(11)
本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權者。如涉及作品內(nèi)容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。