你的位置:电感厂 > 先锋技术功率电感

基于FPGA的LVDS高速数据通信卡

2015-12-13 12:51:23      点击次数:
上一篇:NAS、SAN和iSCSI网络存储结构分析评价 贴片电感一体电感器生产厂家50 MHz时钟,SDRAM时钟由FPGA内部PLL合成。电源模块采用外围电路简单的LDO(Low Dropout Regulator)提供3.3V及1.5V电源电压。

1.4 FPGA内部结构设计

FPGA内部结构的逻辑设计是本板卡设计的核心部分,图3所示为本系统FPGA内部结构框图。

基于FPGA的LVDS高速数据通信卡设计

LVDS信号接收器接收外部的LVDS数据帧,检出帧头,并将帧数据传送给双口RAM进行处理,一个数据帧包含32 bit的帧头和256×32 bit的帧数据。接收的双口RAM实现数据的乒乓存储,写数据的宽度为1 bit,读数据的宽度为32 bit,以此来实现数据的串并转换,同时实现数据时钟域的转换。LVDS接收数据控制模块用于产生双口RAM和SDR奇力新电感AM控制器的地址总线、数据总线和控制总线,实现各接收模块联合控制和数据转移,同时它还负责从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所示。

基于FPGA的LVDS高速数据通信卡设计

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总线协议进行全面测试。

大电流电感
  • TDK变压器感量计算
    仔细查看一下资料,应该有标注的那篇文章看了几遍没看到有标注了,是TDK的K应该是电流纹波系数,K为0时是电流断续模式(CDM)。我想可能也是这样,


    应该没错了,图中K=0时,KIp=0.

  • 影响充电宝安全使用的几大要点   说到移动电源(充电宝)的安全问题,大家第一个想到的就是电芯,以往一些充电宝爆炸的事故,也大多是因电芯劣质所造成的,而还有一部分又是因为什么因素影响的呢!


      无论

  • [DCDC]5V输入升压型8.4V锂电池充电芯片AL30845V输入升压型8.4V锂电池充电芯片AL3084AL3084是一款5V输入支持两节串联锂电池的升压充电管理应用。 采用了开关升压压结构,有散热片的 SOP8 封装与较少的外部元件数目使得 AL3084 成为便携式应用的理想选择。 AL3084 输入电压为5V,内置自适应环路智能调节充电电流,防止拉低充电器输出。 可以适合 USB 电源和适配器电源工作。 热反馈可对充电电流进行自动调节,以便在大功率操作或高环境温度条件下对芯片温度加以限制。 充电电压固定于8.4

  • LK在油田伴生气增压回收系统中的应用
  • [充电器]请教一种长期放置设备的锂电池管理方案
  • 工字电感饱和问题
  • 凌力尔特推出高压负输出 DC/DC控制器 LTC3863
  • 数字转换器的创新指向传感应用,德州仪器推LDC电
  • 基于Arduino开发环境的光电编码器检测仪设计方
  • 拆解了一个手机充电器。里面的一个芯片,一直6支
  • 英飞凌F3系列IC设计小功率辅助电源图文详述
  • DC-DC芯片 LM2576 的电感选型请求帮助!
  • 线圈电感在电路中的最基本作用