摘 要:設計并實現了基于PCI總線和CPLD技術,通過用戶軟件控制多種類型、參數信號生成的信號發生器,詳細介紹了設計中主要軟、硬件的設計實現方法。本系統可以方便地實現各種常見的電磁信號的生成,并可以在本系統的基礎上,通過軟件的完善,實現復雜的非常規信號的生成,提高了信號發生裝置的適應性和靈活性,具有良好的應用前景。
關鍵詞:PCI總線;CPLD;DDS;WDM驅動
中圖分類號:TN911 文獻標識碼:B
文章編號:1004-373X(2008)11-105-03
Design of Arbitrary Signal Generator Based on PCI Bus and CPLD
JIAO Junjun1,2,HU Yihua1,2
(1.Staff Room 506,Electronic Engineering Institute of PLA,Hefei,230037,China;
2.Key Laboratory of Electronic Restricting Technique in Anhui Province,Hefei,230037,China)
Abstract:An arbitrary signal generator based on PCI bus and CPLD is designed.The generating of multi-type signal is controlled by customer software.This paper presents the design method about the significant part of hardware circuit and the main software.Using this system,many kinds of common electromagnetic signal can be created.Meanwhile,based on the system,generating more complexable signals can be achieved through the well established software.Using this method will enhance the signal generator′s flexibility and adaptability which has wide application in the future.
Keywords:PCI bus;CPLD;DDS;WDM driver
隨著通信、雷達技術的高速發展,穩定度高、信號種類多樣、多種調制方式的高質量信號源的需求也越來越廣。在電子設備的測量、電磁環境的模擬等應用中,需要能夠方便快速地產生各種類型、參數的信號。所以,研究開發了這種基于計算機PCI總線和CPLD控制的任意信號發生器,在PC端對信號的各種參數進行設置,實時產生所需要的各種信號。實現了多種類型、參數信號之間方便快速的切換。
1 基本原理和系統主要框圖
基于PCI總線和CPLD的任意信號發生器如圖1所示, PC端的控制程序對信號的頻率、相位等各種參數以及調制方式進行設置,通過PCI總線將所設置的各種參數信息傳到CPLD中,CPLD根據預先編好的Verilog HDL程序,將PCI總線傳來的參數信息轉換成DDS的控制信息,控制DDS芯片的工作狀態和寫入DDS中相應的寄存器,完成DDS的配置,生成所需要的信號。
2 系統主要硬件設計
2.1 PCI總線接口部分設計
PCI總線作為計算機與外部設備的一個重要連接總線,數據傳輸穩定、靈活、傳輸速度快,還具有即插即用和良好的擴展性等優點,被廣泛應用在各種與計算機互聯的設備中。
圖1 系統主要流程圖
考慮到PCI總線的協議比較復雜,所以本設計采用了PLX公司生產的PCI接口專用芯片PCI9052用于PCI總線的控制。圖2是PCI9052芯片的主要接口電路圖。主要包括9052與PCI插槽間的連接信號線、與E2PROM之間的連接線和與局部總線之間的連接線。與PCI插槽的信號包括地址數據復用信號AD[31:0],總線命令信號C/BE[3:0]#和 PCI協議控制信號PAR,FRAME#,IRDY#,TRDY#,STOP#,IDSEL,DEVSEL#,PERR#,SERR#。與串行E2PROM的連線有4根信號線:EESK,EEDO,EEDI和EECS。本設計中需要傳輸的數據量比較少,同時考慮到對早期的ISA設備的兼容性,所以采用了9052中的ISA模式。在ISA模式下,9052與ISA總線的連接有數據線LAD[7:0],地址線ISAA[1:0],LA[23:2], I/O讀寫信號線IOWR#,IORD#,地址鎖存BALE。
圖2 PCI9052接口電路
9052的工作方式及配置信息主要由E2PROM加載,這里采用了Motorola公司的93LC46B,E2PROM的數據可以提前用燒寫器燒好,也可以在線燒寫。配置信息包括:設備號DID、制造商號VID、子設備號SDID、子制造商號SVID、中斷號、設備類型號、局部空間基地址、局部空間描述符、工作模式、LOCAL 端數據線的寬度、片選以及局部響應控制CNTRL 等信號。根據需要配置好這些信息,寫入E2PROM中。本設計中E2PROM的配置信息如表1所示。
表1 E2PROM配置信息
2.2 CPLD控制部分設計
CPLD在系統中的主要作用是用來將PCI控制器傳輸過來的數據,經過一定的算法處理,得到DDS外圍管腳的狀態及向DDS中寫入控制寄存器數值,使DDS根據配置信息產生所需要的信號。
本設計中使用的CPLD是Altera公司的7000S系列,工作電壓為5 V,具有192個宏單元,采用通用JTAG方式下載。CPLD與DDS之間的接口電路主要包括8位數據線D[7:0],6位地址線ADD[5:0],串并選擇信號PMODE,復位信號RESET,外部更新信號UDCLK、讀寫信號WR、RD和控制信號ORAMP、FDATA。如圖3所示。
圖3 CPLD與DDS之間的接口電路
考慮到DDS信號輸出的實時性和減少CPLD的宏單元的占用,本設計中使用9052的IOWR#信號去觸發DDS的寫入信號WR。DDS控制寄存器的寫入方式有串行和并行兩種,由PMODE管腳控制,當PMODE信號為高時,為并行寫入模式,當PMODE信號為低時,為串行工作模式。由于設計中PCI9052寫入CPLD的數據為8位并行輸入,所以在這里選用了并行的方式向DDS的控制寄存器中寫入數據。寫入的時序如圖4所示。
圖4 CPLD寫入DDS的時序圖
CPLD的程序在Altera公司提供的QuartusⅡ開發系統下通過Verilog HDL語言來實現。在QuartusⅡ環境中,可以方便地對波形進行仿真,便于查看和修改程序中可能存在的問題。QuartusⅡ仿真環境如圖5所示。
圖5 利用QuartusⅡ進行時序仿真圖
2.3 DDS輸出部分設計
DDS部分電路設計除了與CPLD之間的連接電路外,還有DDS的外圍電路設計。本系統中DDS的外圍電路主要包括電壓轉換、差分時鐘信號輸入和低通濾波器三個部分,如圖6所示。設計中的DDS采用的是AD公司的通用DDS芯片AD9852,芯片的工作電壓為3.3 V,最高系統時鐘為300 MHz。
圖6 DDS輸出部分框圖
在整個系統中,PCI9052和CPLD的工作電壓為5 V,所以需要將工作電壓由5 V轉換為DDS正常工作的3.3 V,設計中采用了專用的電壓轉換模塊,完成電壓轉換工作,為DDS及其外圍電路提供3.3 V工作電壓。
差分時鐘輸入模塊是為了DDS輸出信號能夠得到較好頻譜純凈度,本設計采用了20 MHz的有源晶振,通過MC100LVEL16D芯片產生20 MHz的差分時鐘信號,作為DDS的外部輸入時鐘。
為了濾去不需要的頻率成分和抑制輸出信號的雜散,在信號的輸出部分,采用了一個π型結構的LC低通濾波器,濾波器的結構圖如圖7所示。
圖7 120 MHz低通濾波器結構圖
3 系統主要軟件設計
系統的軟件部分包括面向硬件的WDM驅動程序和面向用戶的應用程序兩部分,其結構如圖8所示。WDM驅動負責硬件的電源管理、各種空間訪問和初始化等硬件控制操作。用戶通過應用程序與驅動程序通信、與PC機進行數據交換,傳遞所需參數和控制信息,再通過信號生成部分根據設置的參數產生所需要的各種信號。
圖8 軟件部分結構圖
本設計的軟件部分開發環境為:Windows XP,WinXP DDK,MS.Net Framework SDK,DriverStudio 3.3,Windriver5.02,VC++6.0。根據9852的工作特性,用戶軟件中設置了信號種類選擇、信號的頻率、分頻系數等參數的設置,還可以根據以后更進一步的需要,產生其他需要的
各種實際信號,編譯完成的軟件如圖9所示。實際產生的信號如圖10所示。
圖9 用戶軟件界面
圖10 實際信號頻譜圖
4 結 語
本文詳細介紹了基于PCI總線和CPLD的任意信號發生器的開發過程,并對其中的關鍵技術,如PCI總線控制、CPLD邏輯控制、DDS信號輸出部分、控制軟件的編寫等主要部分做出分析和研究。提出了基于用戶軟件控制信號產生的任意信號發生器的設計思路并加以實現。通過頻譜儀觀察實際的輸出信號,信號的頻譜比較純凈,信號的樣式多樣,參數設置直觀方便。同時提供了一個通用的軟件平臺,可以根據以后的實際需要進行相關功能的擴展,以得到更多的信號樣式和一些非常規信號。
參 考 文 獻
[1]Analog Devices Inc..CMOS 300 MSPS Complete DDS\\[Z\\].2005.
[2]PCI 9052 data book Revision1.0\\[Z\\].1997.
[3]陳潮紅,王正英.基于DDS 技術的智能信號源[J].現代電子技術,2006,29(24):148-149,151.
[4]求是科技.CPLD/FPGA 應用開發技術與工程實踐[M].北京:人民郵電出版社,2005.
[5]武安河.Windows 2000/XP WDM設備驅動程序開發[M].北京:電子工業出版社,2003.
[6]Chris Cant.Windows WDM 設備驅動程序開發指南[M].孫義,馬莉波,國雪飛,等譯.北京:機械工業出版社,2000.
[7]Walter Oney.Programming the Microsoft Windows Driver Model[Z].微軟公司,2000.
作者簡介 焦均均 男,1982年出生,合肥電子工程學院研究生。主要從事光電信息技術方面研究。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。