基于ISA總線的高速同步數據采集系統設計
1.4 總線控制
單片機系統總線上掛有若干RAM或I/O口,尋址和數據傳輸均由CPU發出指令通過系統總線實現的。對于高速數據采集,為了提高尋址和數據傳輸速度,避免總線沖突或堵塞,必須建立局部總線。系統總線與局部總線應該既區別、又統一,既隔離、又結合,彼此通過合理的控制邏輯聯系起來。
總線仲裁的基本原則實際就是在不同的總線請求時,采用不同長度的讀寫周期,以使各個使用者對總線的占用時間互相交錯,而使用者并不感覺到仲裁的存在。在內存映射的傳輸方式中,A/D不斷地將轉換的數據寫入高速緩存RAM,CPU根據數據處理的需要從高速緩存RAM讀取數據至雙口RAM1,雙口RAM1還需要將所有單元刷新一遍。這三種操作都要占用卡上的數據、地址總線。但它們發生的時間是隨機的,因此對總線的占用必然會產生沖突,總線仲裁電路的功能就是對這三種操作進行協調。這里,通過五片74LS241二選一開關協調地址計數器與CPU1對高速緩存RAM讀地址的沖突,二片74LS241協調高速緩存RAM與AD9048和雙口RAM之間的數據傳輸的沖突。
1.5 PC總線接口技術
PC系統總線對4KB的雙口RAM尋址是一個難點。本數據采集卡采用PC總線,又稱8位ISA總線。它使用靈活,便于同8位單片機構成接口電路。有62條引線,分五類:地址線、數據線、控制線、輔助與電源線。本數據采集卡只用了其中一部分引線:8條數據線、10條地址線、IOR和IOW控制線、電源線。譯碼電路詳細框圖如圖2。
本數據采集卡使用308H、309H、30AH三個口地址實現在板緩存4KB的尋址。這里的譯碼電路使用了GAL20V8和兩片74HC574。當PC機要訪問某一地址時,首先寫入雙口RAM的低8位地址。此時GAL20V8的輸出信號選中74HC574(右),將PC-DB上的數據鎖存,形成雙口RAM的低8位地址Addrl;然后寫入雙口RAM的高8位地址。GAL20V8的輸出信號選中74HC574(左),將PC-DB上的數據鎖存,形成雙口RAM的高8位地址Addrh。最后通過選中雙口RAM的片選端cs,完成一次數據的讀/寫過程。
1.6 采樣頻率控制電路
采樣頻率挖掘電路是由晶振、可編程分頻器8254及一些控制電路組成。8254是可編程分頻器,工作頻率在8MHz~20MHz。通過不同的分頻數,可以輸出不同頻率,分頻數在值為2~65535。它的輸出由觸發控制電路控制。其輸出時鐘分別送往地址計數器、高速緩存RAM的寫信號控制電路及AD9048的轉換脈沖輸入端。
2 系統軟件設計
系統軟件的主要功能是為用戶提供一個良好的操作環境,及時響應用戶的命令。用戶操作界面采用Vi-sual basic語言編寫。通過采用一系列命令。用戶操作界面采用Visual basic語言編寫。通過采用一個系列命令按鍵,將電力系統采集到的實際信號的波形、故障發生的時刻等映射到計算機屏幕上,用戶可以對采集到的信息有一個直觀的認識。用軟件虛擬硬件操作界面,可以充分利用計算機的強大運算功能、靈活多變的軟件優勢和VGA強大的顯示功能。為便于系統的擴充和軟件復用,整個軟件分為幾個相對獨立的功能模塊,模塊內代碼封裝,相互之間設立統一的接口規范。
由于本系統中不僅有高層次、面向磁般文件的操作,也有許多直接控制硬件的操作,采用了TURBO C和匯編語言混合編程技術,各模塊根據操作對象采用適當的語言。這樣可以同時利用高級語言編程方便、結構性好、匯編語言快速、靈活、針對性強的特點。
系統軟件框圖如圖3所示。
硬件驅動程序用于完成對硬件的操作,全部采用匯編語言編寫。使用系統前,先運行本程序,程序修改PC機系統中斷,運行后常駐內存,和主程序的接口通過標準軟中斷形式。
高速圖形單元是對PC機VGA寄存器和顯示存儲器的直接操作,通過調用相關函數和VGA圖形庫,以較快速度將采樣信號顯示出來。
數據分析單元主要是對采樣信號進行后處理,可以完成小波變換、信號奇異性檢測、譜分析和相關分析等數據處理功能,并通過波形輸出單元同時將時域信號和分析結構用曲線顯示來出。
整個系統提供給用戶的是一個基于WINDOWS的快速圖形操作界面,系統主控程序協調整個系統的運行,控制硬件自動運行。在系統界面上包括用于波形顯示的高速視口和命令按鍵等,可以通過簡單操作直觀地觀察實時采集到的數據波形、幅值和故障發生的時刻。同時提供了對外的軟件接口,用戶可以按照規定的格式組織數據,利用本系統強大的數據分析功能處理數據。
本高速采集卡具有采樣速率高、運行方式靈活、同步時鐘精度高并符合ISA總線標準等特點。以DS80C320單片機為核心,采用GPS同步時間,配合適當的外圍設備及合理的總線控制技術實現高速數據采集。同時兼有數字存儲示波器功能和數據分析能力,可以廣泛用于電力測量、電力系統故障定位和繼電保護領域
評論