当前位置:首页 > 通信技术 > 通信技术
[导读]摘要 基于FPGA、PCI9054、SDRAM和DDS设计了用于某遥测信号模拟源的专用板卡。PCI9054实现与上位机的数据交互,FPGA实现PCI本地接口转换、数据接收发送控制及DDS芯片的配置。通过WDM驱动程序设计及MFC交互界面设计,最

摘要 基于FPGA、PCI9054、SDRAM和DDS设计了用于某遥测信号模拟源的专用板卡。PCI9054实现与上位机的数据交互,FPGA实现PCI本地接口转换、数据接收发送控制及DDS芯片的配置。通过WDM驱动程序设计及MFC交互界面设计,最终实现了10~200 Mbit·s-1的LVDS数据接收及10~50 Mbit·s-1任意速率的LVDS数据发送。
关键词 PCI9054;LVDS;DDS:FPGA

    某遥测信号模拟源是用于产生模拟信号处理器、遥测组件测试和交付测试的前端输入信号的专用设备。该信号源生成各种类型的信号,输入给待测产品,测试时比对遥测信号模拟源生成的信号和其经过待测产品以后的信号,以判断产品的功能是否正常。设计中的板卡为该遥测信号模拟源的组成部分,主要用于测试产品的LVDS总线协议的功能是否正常。由于待测信号的特殊应用,要求板卡能够接收200 Mbit·s-1内的高速串行数据并能发送10~50 Mbit·s-1的任意速率LVDs数据。因PCI总线速度高、兼容性好、可靠性高且成本低,使其在各种与主机通信的总线技术中优势明显。FPGA资源丰富、速度快、开发方便快捷,因此在高速数据通信中应用广泛。DDS频率合成技术通过频率控制字、相位控制字及参考时钟的控制来实现输出信号的调频调相,并且输出信号具有频率转换快、频率分辨率高和相位噪声低等优点。综合上述特点,设计运用PCI9054实现PCI总线接口,FPGA实现数据接收发送控制及接口实现,DDS芯片AD9851产生任意LVDS数据发送时钟,最后使用MFC实现板卡的交互界面并对板卡实现测试。

1 硬件设计
    数据接收系统是将目标信号进行采集、处理并存储,形成计算机可以处理的数据格式,即包含信号输入单元、信号处理单元和信号输出单元。数据发送系统是将目标数据传送给下位机,下位机进行数据格式处理,然后按照数据协议形式通过信号输出单元发送出去。除此之外整个系统还需要缓冲区、时钟以及电源等相关模块支持。图1所示为本板卡的硬件设计框图。


1.1 PCI接口设计
    PCI总线是由Intel等公司制定的具有严格规范的外部设备互联总线,是目前计算机中广泛采用的局部总线,它的信号线包括32根地址数据复用线、仲裁、接口控制线、总线命令字节允许复用线和系统复位等。PCI接口设计一般采用两种方法:(1)利用CPLD/FPGA实现,这种方法可以针对自己的需要定制功能,设计灵活性大。(2)用通用的接口芯片,如AMCC公司的S5933、PLX公司的PCI9054等。因PCI总线协议复杂,自行设计接口费时费力,而PCI接口芯片具有设计简单、功能强大、可靠性好等特点,从而大大减少开发工作量。综上所述,设计选用PCI90 54,C从模式工作,本地总线端输入时钟50 MHz,配置芯片为Mierochip Technology公司的93LC56串行EEPROM。
1.2 LVDS接口设计
    低压差分信号(Low Voltage Differential Signaling,LVDS)采用极低的电压摆幅高速差动传输数据,可以实现点对点或一点对多点的连接。文中采用Cyclone I系列EP1C6Q240FPGA,它支持高速LVDS接口,利用其I/O的LVDS驱动器把FPGA内部逻辑信号转换为低压差分信号对,经过传输线传送到对方差分接收电路。在Cyclone I系列FPGA中,使用LVDS接口只需在其配套的Quartus II软件的MegaWizard中调用Alt lvds并进行定制即可。


    LVDS接口电路的设计如图2所示,FPGA发送端通过LVDS发送差分信号,在差分线上分别串接一个120 Ω电阻,再在其间并接一个170 Ω电阻,削弱差分信号的幅值,防止信号产生震荡;FPGA接收端在差分线间并接一个100 Ω的终端电阻,电流主要通过终端电阻形成回路,从而在接收器的输入端形成差分接收的信号电压;PCB布线时防止LVDS高速信号串扰和互扰,避免其他信号耦合到LVDS传输线上,应尽量将LVDS信号和其他信号分别布在两个信号层上。
1.3 其他接口设计
    为满足PCI总线的DMA传输特性,需要在硬件上加入缓冲区。输入的LVDS速率越高,需要的缓冲区容量越大,以保证不丢失数据。因此设计选用Micron公司提供的MT48LC2M32 SDRAM作为缓冲区,它是一款64 MB全同步SDRAM。另外,输出的LVDS信号要求10~50 MHz频率范围内任意可调,因此选用AD公司采用CMOS技术生产的直接数字合成器AD9851,它的最高工作时钟为180 MHz,内部除了完整的高速DDS外,还集成了时钟6倍频器和一个高速比较器,并且它的接口控制简单,可以用8位并行口或串行口直接输入频率、相位等控制数据。设计中通过FPGA中PLL输出30 MHz时钟,倍频器将参考时钟倍频至180 MHz,控制接口采用并行口传输。
    除此之外,时钟模块采用有源晶振为系统提供50 MHz时钟,SDRAM时钟由FPGA内部PLL合成。电源模块采用外围电路简单的LDO(Low Dropout Regulator)提供3.3V及1.5V电源电压。
1.4 FPGA内部结构设计
    FPGA内部结构的逻辑设计是本板卡设计的核心部分,图3所示为本系统FPGA内部结构框图。


    LVDS信号接收器接收外部的LVDS数据帧,检出帧头,并将帧数据传送给双口RAM进行处理,一个数据帧包含32 bit的帧头和256×32 bit的帧数据。接收的双口RAM实现数据的乒乓存储,写数据的宽度为1 bit,读数据的宽度为32 bit,以此来实现数据的串并转换,同时实现数据时钟域的转换。LVDS接收数据控制模块用于产生双口RAM和SDRAM控制器的地址总线、数据总线和控制总线,实现各接收模块联合控制和数据转移,同时它还负责从SDRAM控制器读取数据送至FPGA内的FIFO缓冲区,用于PCI总线交互。
    LVDS信号发送部分由LVDS发送数据控制、双口RAM、FIFO缓冲、LVDS信号发送器和DDS控制器组成。LVDS发送数据控制用于产生各模块的地址、数据和控制总线,实现数据转移和交互。双口RAM实现并串转换和乒乓存储。LVDS信号发送器为数据帧添加包头,并连同帧数据以AD98 51产生的发送频率串行发送出去。
    另外,SDRAM控制器是FPGA内用于外部SDRAM控制的模块,PCI本地总线控制器是FPGA内用于控制PCI9054本地总线交互的模块,DDS控制器是FPGA内用于外部AD9851控制的模块。PLL是Ahera FPGA内提供的模拟延迟锁相环模块,可以实现系统时钟的倍频、分频及延迟等时钟控制操作。通过该模块可以实现系统内不同时钟域的时钟分配。

2 软件设计
    系统设备的驱动程序采用Windows下的WDM(Windows Driver Model)驱动程序。目前开发WDM驱动程序通常有3种工具,即Windows DDK、DriverStudio和WinDriver。由于DriverStudio包含完善的源代码生成工具以及相应的类库和驱动程序样本,提供了在VC++下进行驱动程序开发的支持,因此设计中使用DdverStudio来开发WDM驱动程序。
    设计的上层应用程序采用Microsoft Virtual Studio作为开发平台,通过MFC设计了人机交互界面,主要用于完成接收数据显示存储、发送数据载入、发送频率控制字以及PCI控制命令等功能。其程序面板如图4所示。



3 结果测试
    在Ahium Designer 2009平台上进行板卡硬件原理图和PCB图设计,FPGA芯片采用Altera公司的EP1C6Q240C6,使用Quartus II 9.0开发系统实现编程和仿真,完成对电路设计的功能仿真和时序仿真。
    在Quartus II中进行引脚分配并编译完工程后,将设计文件下载到FPGA的配置芯片中。在硬件上将LVDS的发送端和接收端连接以实现自发自收。在PC机的应用程序中设置发送频率为50 MHz,然后点击“发送频率控制字”按钮发送频率控制字,载入从0开始的连续累加数字,点击“开始发送”按钮发送数据,然后点击“开始接收”按钮接收数据。从图4所示的发送与接收数据显示可以发现,接收到的LVDS数据与发送的LVDS数据完全一致,系统的发送功能与接收功能符合设计要求。

4 结束语
    介绍了基于FPGA和PCI9054的LVDS数据通信卡的设计,通过FPGA实现了LVDS数据的接收发送控制、PCI9054实现了与上位机的数据交互,实现了10~200 Mbit·s-1速率的LVDS数据接收以及10~50 Mbit·s-1任意速率的LVDS数据发送。此板卡的设计,可以有效地应用于某遥测模拟信号源,并对待测设备的LVDS总线协议进行全面测试。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭