新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > PCI總線和CPLD的任意信號發(fā)生器設計

PCI總線和CPLD的任意信號發(fā)生器設計

作者: 時間:2016-12-13 來源:網(wǎng)絡 收藏
隨著通信、雷達技術的高速發(fā)展,穩(wěn)定度高、信號種類多樣、多種調(diào)制方式的高質(zhì)量信號源的需求也越來越廣。在電子設備的測量、電磁環(huán)境的模擬等應用中,需要能夠方便快速地產(chǎn)生各種類型、參數(shù)的信號。所以,研究開發(fā)了這種基于計算機PCI總線CPLD控制的任意信號發(fā)生器,在PC端對信號的各種參數(shù)進行設置,實時產(chǎn)生所需要的各種信號。實現(xiàn)了多種類型、參數(shù)信號之間方便快速的切換。

  1 基本原理和系統(tǒng)主要框圖

本文引用地址:http://butianyuan.cn/article/201612/329430.htm

  基于PCI總線和CPLD的任意信號發(fā)生器如圖1所示,PC端的控制程序?qū)π盘柕念l率、相位等各種參數(shù)以及調(diào)制方式進行設置,通過PCI總線將所設置的各種參數(shù)信息傳到CPLD中,CPLD根據(jù)預先編好的Verilog HDL程序,將PCI總線傳來的參數(shù)信息轉(zhuǎn)換成DDS的控制信息,控制DDS芯片的工作狀態(tài)和寫入DDS中相應的寄存器,完成DDS的配置,生成所需要的信號?! ?/p>

  2 系統(tǒng)主要硬件設計

  2.1 PCI總線接口部分設計

  PCI總線作為計算機與外部設備的一個重要連接總線,數(shù)據(jù)傳輸穩(wěn)定、靈活、傳輸速度快,還具有即插即用和良好的擴展性等優(yōu)點,被廣泛應用在各種與計算機互聯(lián)的設備中。

  考慮到PCI總線的協(xié)議比較復雜,所以本設計采用了PLX公司生產(chǎn)的PCI接口專用芯片PCI9052用于PCI總線的控制。圖2是PCI9052芯片的主要接口電路圖。主要包括9052與PCI插槽間的連接信號線、與E2PROM之間的連接線和與局部總線之間的連接線。與PCI插槽的信號包括地址數(shù)據(jù)復用信號AD[31:O].總線命令信號C/BE[3:0]#和PCI協(xié)議控制信號PAR,F(xiàn)RAME#,IRDY#,TRDY#,STOP#,IDSEL,DEVSEL#,PERR#,SERR#。與串行E2PROM的連線有4根信號線:EESK,EEDO,EEDI和EECS。本設計中需要傳輸?shù)臄?shù)據(jù)量比較少,同時考慮到對早期的ISA設備的兼容性,所以采用了9052中的ISA模式。在ISA模式下,9052與ISA總線的連接有數(shù)據(jù)線LAD[7:0],地址線ISAA[1:O],LA[23:2],I/O讀寫信號線IOWR#,IORD#,地址鎖存BALE?! ?/p>

  9052的工作方式及配置信息主要由E2PROM加載,這里采用了Motorola公司的93LC46B,E2PROM的數(shù)據(jù)可以提前用燒寫器燒好,也可以在線燒寫。配置信息包括:設備號DID、制造商號VID、子設備號SDID、子制造商號SVID、中斷號、設備類型號、局部空間基地址、局部空間描述符、工作模式、LOCAL端數(shù)據(jù)線的寬度、片選以及局部響應控制CNTRL等信號。根據(jù)需要配置好這些信息,寫入E2PROM中。本設計中E2PROM的配置信息如表1所示。  

  2.2 CPLD控制部分設計

  CPLD在系統(tǒng)中的主要作用是用來將PCI控制器傳輸過來的數(shù)據(jù),經(jīng)過一定的算法處理,得到DDS外圍管腳的狀態(tài)及向DDS中寫入控制寄存器數(shù)值,使DDS根據(jù)配置信息產(chǎn)生所需要的信號。

  本設計中使用的CPLD是Altera公司的7000S系列,工作電壓為5 V,具有192個宏單元,采用通用JTAG方式下載。CPLD與DDS之間的接口電路主要包括8位數(shù)據(jù)線D[7:O]。6位地址線ADD[5:0],串并選擇信號PMODE,復位信號RESET,外部更新信號UDCLK、讀寫信號WR、RD和控制信號0RAMP、FDATA。如圖3所示?! ?/p>

  考慮到DDS信號輸出的實時性和減少CPLD的宏單元的占用,本設計中使用9052的IOWR#信號去觸發(fā)DDS的寫入信號WR。DDS控制寄存器的寫入方式有串行和并行兩種,由PMODE管腳控制,當PMODE信號為高時,為并行寫入模式,當PMODE信號為低時,為串行工作模式。由于設計中PCI9052寫入CPLD的數(shù)據(jù)為8位并行輸入,所以在這里選用了并行的方式向DDS的控制寄存器中寫入數(shù)據(jù)。寫入的時序如圖4所示?! ?/p>

  CPLD的程序在Altera公司提供的QuartusⅡ開發(fā)系統(tǒng)下通過Verilog HDL語言來實現(xiàn)。在QuartusⅡ環(huán)境中,可以方便地對波形進行仿真,便于查看和修改程序中可能存在的問題。QuartusⅡ仿真環(huán)境如圖5所示?! ?/p>

  2.3 DDS輸出部分設計

  DDS部分電路設計除了與CPLD之間的連接電路外,還有DDS的外圍電路設計。本系統(tǒng)中DDS的外圍電路主要包括電壓轉(zhuǎn)換、差分時鐘信號輸入和低通濾波器三個部分,如圖6所示。設計中的DDS采用的是AD公司的通用DDS芯片AD9852,芯片的工作電壓為3.3 V,最高系統(tǒng)時鐘為300 MHz。 

  在整個系統(tǒng)中,PCI9052和CPLD的工作電壓為5 V,所以需要將工作電壓由5 V轉(zhuǎn)換為DDS正常工作的3.3 V,設計中采用了專用的電壓轉(zhuǎn)換模塊,完成電壓轉(zhuǎn)換工作,為DDS及其外圍電路提供3.3 V工作電壓。

  差分時鐘輸入模塊是為了DDS輸出信號能夠得到較好頻譜純凈度,本設計采用了20 MHz的有源晶振,通過MCl00LVEL16D芯片產(chǎn)生20 MHz的差分時鐘信號,作為DDS的外部輸入時鐘。

  為了濾去不需要的頻率成分和抑制輸出信號的雜散,在信號的輸出部分,采用了一個π型結構的LC低通濾波器,濾波器的結構圖如圖7所示。  

  3 系統(tǒng)主要軟件設計

  系統(tǒng)的軟件部分包括面向硬件的WDM驅(qū)動程序和面向用戶的應用程序兩部分,其結構如圖8所示。WDM驅(qū)動負責硬件的電源管理、各種空間訪問和初始化等硬件控制操作。用戶通過應用程序與驅(qū)動程序通信、與PC機進行數(shù)據(jù)交換,傳遞所需參數(shù)和控制信息,再通過信號生成部分根據(jù)設置的參數(shù)產(chǎn)生所需要的各種信號?! ?/p>

  本設計的軟件部分開發(fā)環(huán)境為:Windows XP,WinXPDDK,MS.Net Framework SDK,DriverStudio 3.3,Win—driver5.02,VC++6.O。根據(jù)9852的工作特性,用戶軟件中設置了信號種類選擇、信號的頻率、分頻系數(shù)等參數(shù)的設置,還可以根據(jù)以后更進一步的需要,產(chǎn)生其他需要的各種實際信號,編譯完成的軟件如圖9所示。實際產(chǎn)生的信號如圖10所示?! ?/p>

  4 結語

  本文詳細介紹了基于PCI總線和CPLD的任意信號發(fā)生器的開發(fā)過程,并對其中的關鍵技術,如PCI總線控制、CPLD邏輯控制、DDS信號輸出部分、控制軟件的編寫等主要部分做出分析和研究。提出了基于用戶軟件控制信號產(chǎn)生的任意信號發(fā)生器的設計思路并加以實現(xiàn)。通過頻譜儀觀察實際的輸出信號,信號的頻譜比較純凈,信號的樣式多樣,參數(shù)設置直觀方便。同時提供了一個通用的軟件平臺,可以根據(jù)以后的實際需要進行相關功能的擴展,以得到更多的信號樣式和一些非常規(guī)信號。



評論


技術專區(qū)

關閉