PCI总线和CPLD的任意信号发生器设计

发布者:NanoScribe最新更新时间:2016-05-25 来源: eefocus关键字:PCI总线  CPLD  任意信号发生器 手机看文章 扫描二维码
随时随地手机看文章
随着通信、雷达技术的高速发展,稳定度高、信号种类多样、多种调制方式的高质量信号源的需求也越来越广。在电子设备的测量、电磁环境的模拟等应用中,需要能够方便快速地产生各种类型、参数的信号。所以,研究开发了这种基于计算机PCI总线和CPLD控制的任意信号发生器,在PC端对信号的各种参数进行设置,实时产生所需要的各种信号。实现了多种类型、参数信号之间方便快速的切换。

  1 基本原理和系统主要框图

  基于PCI总线和CPLD的任意信号发生器如图1所示,PC端的控制程序对信号的频率、相位等各种参数以及调制方式进行设置,通过PCI总线将所设置的各种参数信息传到CPLD中,CPLD根据预先编好的Verilog HDL程序,将PCI总线传来的参数信息转换成DDS的控制信息,控制DDS芯片的工作状态和写入DDS中相应的寄存器,完成DDS的配置,生成所需要的信号。  

 

  2 系统主要硬件设计

  2.1 PCI总线接口部分设计

  PCI总线作为计算机与外部设备的一个重要连接总线,数据传输稳定、灵活、传输速度快,还具有即插即用和良好的扩展性等优点,被广泛应用在各种与计算机互联的设备中。

  考虑到PCI总线的协议比较复杂,所以本设计采用了PLX公司生产的PCI接口专用芯片PCI9052用于PCI总线的控制。图2是PCI9052芯片的主要接口电路图。主要包括9052与PCI插槽间的连接信号线、与E2PROM之间的连接线和与局部总线之间的连接线。与PCI插槽的信号包括地址数据复用信号AD[31:O].总线命令信号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:O],LA[23:2],I/O读写信号线IOWR#,IORD#,地址锁存BALE。  

 

  9052的工作方式及配置信息主要由E2PROM加载,这里采用了Motorola公司的93LC46B,E2PROM的数据可以提前用烧写器烧好,也可以在线烧写。配置信息包括:设备号DID、制造商号VID、子设备号SDID、子制造商号SVID、中断号、设备类型号、局部空间基地址、局部空间描述符、工作模式、LOCAL端数据线的宽度、片选以及局部响应控制CNTRL等信号。根据需要配置好这些信息,写入E2PROM中。本设计中E2PROM的配置信息如表1所示。  

 

  2.2 CPLD控制部分设计

  CPLD在系统中的主要作用是用来将PCI控制器传输过来的数据,经过一定的算法处理,得到DDS外围管脚的状态及向DDS中写入控制寄存器数值,使DDS根据配置信息产生所需要的信号。

  本设计中使用的CPLD是Altera公司的7000S系列,工作电压为5 V,具有192个宏单元,采用通用JTAG方式下载。CPLD与DDS之间的接口电路主要包括8位数据线D[7:O]。6位地址线ADD[5:0],串并选择信号PMODE,复位信号RESET,外部更新信号UDCLK、读写信号WR、RD和控制信号0RAMP、FDATA。如图3所示。  

 

  考虑到DDS信号输出的实时性和减少CPLD的宏单元的占用,本设计中使用9052的IOWR#信号去触发DDS的写入信号WR。DDS控制寄存器的写入方式有串行和并行两种,由PMODE管脚控制,当PMODE信号为高时,为并行写入模式,当PMODE信号为低时,为串行工作模式。由于设计中PCI9052写入CPLD的数据为8位并行输入,所以在这里选用了并行的方式向DDS的控制寄存器中写入数据。写入的时序如图4所示。  

 

  CPLD的程序在Altera公司提供的QuartusⅡ开发系统下通过Verilog HDL语言来实现。在QuartusⅡ环境中,可以方便地对波形进行仿真,便于查看和修改程序中可能存在的问题。QuartusⅡ仿真环境如图5所示。  

 

  2.3 DDS输出部分设计

  DDS部分电路设计除了与CPLD之间的连接电路外,还有DDS的外围电路设计。本系统中DDS的外围电路主要包括电压转换、差分时钟信号输入和低通滤波器三个部分,如图6所示。设计中的DDS采用的是AD公司的通用DDS芯片AD9852,芯片的工作电压为3.3 V,最高系统时钟为300 MHz。 

 

  在整个系统中,PCI9052和CPLD的工作电压为5 V,所以需要将工作电压由5 V转换为DDS正常工作的3.3 V,设计中采用了专用的电压转换模块,完成电压转换工作,为DDS及其外围电路提供3.3 V工作电压。

  差分时钟输入模块是为了DDS输出信号能够得到较好频谱纯净度,本设计采用了20 MHz的有源晶振,通过MCl00LVEL16D芯片产生20 MHz的差分时钟信号,作为DDS的外部输入时钟。

  为了滤去不需要的频率成分和抑制输出信号的杂散,在信号的输出部分,采用了一个π型结构的LC低通滤波器,滤波器的结构图如图7所示。  

 

  3 系统主要软件设计

  系统的软件部分包括面向硬件的WDM驱动程序和面向用户的应用程序两部分,其结构如图8所示。WDM驱动负责硬件的电源管理、各种空间访问和初始化等硬件控制操作。用户通过应用程序与驱动程序通信、与PC机进行数据交换,传递所需参数和控制信息,再通过信号生成部分根据设置的参数产生所需要的各种信号。  

 

  本设计的软件部分开发环境为:Windows XP,WinXPDDK,MS.Net Framework SDK,DriverStudio 3.3,Win—driver5.02,VC++6.O。根据9852的工作特性,用户软件中设置了信号种类选择、信号的频率、分频系数等参数的设置,还可以根据以后更进一步的需要,产生其他需要的各种实际信号,编译完成的软件如图9所示。实际产生的信号如图10所示。  

 

  4 结语

  本文详细介绍了基于PCI总线和CPLD的任意信号发生器的开发过程,并对其中的关键技术,如PCI总线控制、CPLD逻辑控制、DDS信号输出部分、控制软件的编写等主要部分做出分析和研究。提出了基于用户软件控制信号产生的任意信号发生器的设计思路并加以实现。通过频谱仪观察实际的输出信号,信号的频谱比较纯净,信号的样式多样,参数设置直观方便。同时提供了一个通用的软件平台,可以根据以后的实际需要进行相关功能的扩展,以得到更多的信号样式和一些非常规信号。

关键字:PCI总线  CPLD  任意信号发生器 引用地址:PCI总线和CPLD的任意信号发生器设计

上一篇:PROFIBUS-DP现场总线控制系统性能研究及诊断软件开发
下一篇:现场总线控制系统在火电厂的成功尝试

推荐阅读最新更新时间:2024-05-03 00:24

专用键盘接口芯片的一种CPLD实现方案
在单片机应用系统中,存在多种形式的外部数据输入接口界面,例如RS-232C串行通信、键盘输入等 。其中利用键盘接口输入数据,是实现现象实时调试、数据调整和控制最常用的方法。单片机的外围键盘扩展电路有多种实现方式,例如直接利用I/O接口线或外接8255A接口芯片,配合适当的接口管理程序,就可以实现外围键盘扩展功能。但是,在这些方法中,键盘扩展电路需要占用单片机的资源对按键进行监控和处理,这对要求高实时性处理的单片机系统是不实现的。为了解决这一问题,可以使用专用键盘接口芯片(例如Intel8279) 来组建键盘子系统。而且,这类专用键盘接口芯片在使用灵活性方面尚有欠缺,尤其当用户需要实现某些特定功能时,其缺点更为明显。针对上述问题,本文
[嵌入式]
可编程逻辑器件在高准确度A/D转换器中的应用
    1 引 言 可编程逻辑器件(PLD)是当今国际上流行的新一代数字系统逻辑器件。它主要是一种“与-或”两级式结构器件,除了具有高速度、高集成度性能之外,其最大的特点就是用户可定义其逻辑功能。因此PLD能够适应各种需求,大大简化系统设计,缩小系统规模,提高系统可靠性,受到广大工程技术人员的青睐。 可编程逻辑器件种类繁多,性能各异,主要有以下几种基本类型:可编程只读存储器(PROM),现场可编程逻辑阵列(FPGA),编程阵列逻辑(PAL),通用阵列逻辑(GAL)。通用阵列逻辑GAL(Generic ArrayLogic)是新一代的可编程逻辑器件,是采用先进的E2CMOS工艺制造的大规模集成电路,是新产品设计的理想器件。用
[嵌入式]
基于AD7892SQ和CPLD的数据采集系统
0 引 言 本系统以AD7892SQ和CPLD(复杂可编程逻辑器件)为核心设计了一个多路信号采集电路,包括模拟多路复用、集成放大、A/D转换,CPLD控制等。采用硬件描述语言Verilog HDL编程,通过采用CPLD使数据采集的实时性得到提高。 1 硬件设计 针对多路信号的采集,本系统采用4/8通道ADG508A模拟多路复用器对检测的信号进行选择,CMOS高速放大器LF156对选中的信号进行放大,AD7892SQ实现信号的A/D转换,CPLD完成控制功能。电路如图1所示。 AD7892SQ是美国AD公司生产的LC2MOS型单电源12位A/D转换器,可并行或串行输出。 AD7892SQ A/D转换器具有如下特点:单
[嵌入式]
基于SOPC的PCI总线高速数据传输系统设计
        随着战场电磁环境复杂程度越来越高,侦察与通信系统的融合成为一种必然的发展趋势。数据量大、算法复杂是数字化侦察接收系统的主要特征。使用DSP和FPGA进行高速信号谱分析、滤波等预处理,借助通用计算机平台实现信号的分选、显示等后处理是一种理想的系统设计方案。因此,如何构建与PC机间的高速数据通道,便成了侦察接收系统设计中的关键问题之一。PCI (Peripheral CompONent Interconnect)总线,即外围部件互连总线,是目前应用最广泛的一种高速同步总线,在32位总线宽度33Mz时钟下,其理论最大传输速率可达132Mbyte/s (64位总线宽度66MHz时可达到528Mbyte/s),因此成为上述侦察
[嵌入式]
基于CPLD控制的通用视频采集模块
   1. 引言   对于用于视频图像处理的DSP来说,由于前端的A/D 采集速度较低,一般为了减少DSP 的开销,在视频采集A/D 和DSP之间接入先进先出存储器(FIFO) 作为缓冲。   基于先进先出存储器(FIFO) 的多样性,一般在视频采集与微处理器模块之间很少提供无缝接口。传统的方法是用简单的逻辑电路实现很少一部分接口控制,大多数是通过软件来实现,虽然软件设计灵活性比较大,但是对软件设计者提出很高的要求; 一般来说使用的都是线存的FIFO,这种FIFO 的存储量比较少,会花费CPU 很大的开销。   本文实现了一种在采集A/D 模块、专用视频FIFO 以及DSP 微处理使用CPLD 作为纯硬件控制的方案。使用这种
[工业控制]
AVR单片机与CPLD的通信设计
项目中需要使用CPLD完成一部分算法设计,参数由AVR给出,因此需要完成AVR和CPLD的通信。因此写了一个测试程序。CPLD挂在AVR的数据和地址总线上,AVR使用ATmega128,在CPLD中设置几个寄存器,通过AVR读写寄存器来实现两者之间的通信。 Mega128的外部存储空间从0X1100开始,因此只需要配置相应的寄存器后读取或者写入相应的地址就可以,程序比较简单,注释中都有说明,仅供参考。 功能:测试AVR与CPLD的通信,将数据写入CPLD中配置的寄存器,然后读出,通过串口输出做比较。 /#include“avr/io.h” #include“avr/interrupt.h” #include“util/
[单片机]
AVR单片机与<font color='red'>CPLD</font>的通信设计
基于CPLD的级联型多电平变频器脉冲发生器的设计
1 引言  近年来,多电平变换器成为电力电子研究的热点之一,它主要面向中压大功率的应用场合。目前,有三种基本的多电平变换器拓扑结构 :①二极管箝位型;②飞跨电容型;③级联型。  几种拓扑结构各有其优缺点,但相对而言,级联型多电平变频器具有更独特的优点,它的结构如图1所示。它无需箝位二极管和电容,易于封装,不存在电容电压平衡问题,可采用砜丶际酰员苊獗恐睾哪艿淖枞菸盏缏贰1疚闹饕樯芑谠夭ㄒ葡嗟髦品椒ǖ募读腿辔宓缙奖淦灯鞯腜WM脉冲发生器的实现方法。  图1 三相五电平变频器结构图  2 载波移相SPWM技术  所谓移相式PWM技术就是将调制波和载波的频率固定不变,调制波的相位也保持恒定,而只调整载波的相位,从
[电源管理]
基于<font color='red'>CPLD</font>的级联型多电平变频器脉冲发生器的设计
I2C总线通信接口的CPLD实现
    摘要: 介绍采用ALTERA公司的可编程器件,实现I2C总线的通信接口的基本原理;给出部分VHDL语言描述。该通信接口号专用的接口芯片相比,具有使用灵活,系统配置方便的特点。     关键词: I2C总线 CPLD VHDL I2C总线是PHILIPS公司开发的一种简单、双向二线制同步串行总线。它只需要两根线(串行时钟线和串行数据线)即可在连接于总线上的器件之间传送信息。该总线是具备多主机系统所需要的包括裁决和高低速设备同步等功能的高性能串行总线,应用极为广泛。 目前,虽然市场上有专用I2C总线接口芯片,但是地址可选范围小,性能指标固定,功能单一,而且使用不方便。针对I2C总线的电气特性及其通信协
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved