一种基于PCI总线的反射内存卡设计

news/2025/2/13 5:07:24/

一种基于PCI总线的反射内存卡设计

摘要: 对实时传输, 传统的以太网络由于传输协议开销的不确定性, 很难满足实时网络的要求, 实时网络是一种应用于高实时性要求的专用网络通信技术, 一般采用基于高速网络的共享存储器技术实现。除了具有严格传输确定性和可预测性外, 还具有传输速度高、通讯协议简单、软硬件平台适应性强、可靠的传输纠错能力、支持中断信号的传输等特点。鉴于以上原因, 设计一款反射内存卡, 写入一个节点的内存的数据可以通过网络硬件传输到其它所有的节点。

关键词:接口IC编解码内存卡上位机PCI总线

Abstract:

Key words :

     1 引言

  对实时传输, 传统的以太网络由于传输协议开销的不确定性, 很难满足实时网络的要求, 实时网络是一种应用于高实时性要求的专用网络通信技术, 一般采用基于高速网络的共享存储器技术实现。除了具有严格传输确定性和可预测性外, 还具有传输速度高、通讯协议简单、软硬件平台适应性强、可靠的传输纠错能力、支持中断信号的传输等特点。鉴于以上原因, 设计一款反射内存卡, 写入一个节点的内存的数据可以通过网络硬件传输到其它所有的节点。

  2 硬件设计

  反射内存卡系统的总体框图如图1 所示, 主要由5部分组成:FPGA、PCI 接口、SDRAM、数据编解码电路、光纤收发电路。

  其中,FPGA 内部包含SDRAM控制器和FIFO 控制器、编解码控制器、接收FIFO、发送FIFO、中断FIFO及中断控制等。FPGA 选用Cyclone II 系列的EP2C35F484C7;PCI 选用PLX 公司的PCI9054,能够提供两个独立的DMA 引擎,每个都可以进行读写,在一个DMA 读取数据的同时另一个DMA 可以写入数据,加快系统工作速度; 编解码芯片选用安捷伦的H D M P -1636A,提供十位的并行IO,串行数据传输速率达1062.5MBd,负责数据串并行和并串行转换,以便与光纤收发器内部数据格式进行匹配; 光纤收发器选用安捷伦的HFBR-57L5AP,支持多模光纤,串行传输速率达1.0625Gb/s,负责将电信号转化为光信号, 通过光纤向下一节点传输。

 

图1 反射内存卡系统的总体框图

  2.1 SDRAM 控制器

  与双端口RAM 相比,SDRAM 容量大、价格低,采用128M 的SDRAM 作为反射内存卡的数据存储器。由于SDRAM 读写不能同时进行,且需要刷新维护,因此,需要设计SDRAM 控制器。

  SDRAM 控制器实现对SDRAM 的读写控制与仲裁,提供类似于双端口RAM 的外部接口。SDRAM 控制器内部由初始化模块、刷新计数器、地址多路开关、仲裁及信号产生器等组成,SDRAM 控制器结构如图2 所示。

 

图2 SDRAM 控制器结构图

  SDRAM 控制器内部各模块功能如下:

  (1) 初始化模块在上电之后对SDRAM 的模式寄存器进行设置;(2) 刷新计数器对SDRAM 进行定时刷新;(3) 地址多路开关将地址总线上的地址转化为SDRAM 的行列地址;(4) 仲裁机构要对上位机读、上位机写、网络写和刷新等操作做出仲裁。当读写和刷新同时产生时, 先完成相应的读写操作然后再刷新, 而上位机读、上位机写、网络写这三种操作的优先级从高到低依次是网络写、上位机读、上位机写;(5) 信号产生器根据不同的读写操作产生不同的读写信号, 从而SDRAM 可以正常工作, 而不发生读写冲突。

  2.2 FIFO 控制器

  在峰值速率下进行数据传输,SDRAM 存储器很难达到要求,所以使数据经过FIFO 缓存后发送或接收,可以降低了对存储器传输速率的要求, 实现较高的传输速率。设计了FIFO 控制器,它由数据解析、数据封装、仲裁、读信号产生器、写信号产生器组成。FIFO 控制器结构如图3 所示。

 

图3 FIFO 控制器结构图

  FIFO 控制器内部各模块功能如下:

  (1) 数据解析对从网络中接收的数据进行判断,如果是中断事件将中断数据写到中断FIFO 中,如果是需要共享的数据则一部分送到SDRAM 控制器,一部分送仲裁机构;(2) 数据封装对本节点发送的数据重新打包,加入数据类型、数据包长度、发送节点ID、目标节点ID 及校验等相关信息,以便于其他节点对数据进行解析;(3) 仲裁机构对来自接收FIFO 的数据和本节点发送到数据进行仲裁, 当他们同时到达时来自接收FIFO的数据优先;(4) 读信号产生器在接收到半满中断时产生读信号,从接收FIFO 中读出相应的数据,避免FIFO 充满或溢出;(5) 写信号产生器在仲裁机构向下发送数据时给发送FIFO一个写信号。FIFO控制器仿真时序如图4所示。

 

图4 FIFIO 控制器仿真时序

  2.3 编解码控制器

  编解码控制器由信号产生器、数据校验、8B/10B编码、8B/10B 解码组成。编解码控制器结构如图5 所示。在这部分主要是进行数据8B/10B 编解码,以与编解码芯片数据格式匹配同时给编解码芯片的正常工作提供控制信号,数据编解码控制器仿真时序如图6 所示。

 

图5 编解码控制器结构图

 

 图6 数据编解码仿真时序

  3 软件设计

  软件设计包括驱动程序和应用程序两部分。驱动程序提供的API 接口主要包含以下四个方面的功能: 打开和关闭驱动、配置反射内存卡、数据传输、中断控制与处理。当应用程序访问反射内存卡资源时,反射内存板必须打开, 一个句柄将返回到应用程序。图7是应用程序处理的流程图。

 

图7 应用程序流程图

  4 性能测试

  用三块反射内存卡组成环形反射内存网, 由节点1向2 节点发送数据, 节点2 发送到节点3, 由节点3 向节点1 发送确认中断, 记下此时的终止时间, 如表1 所示。

  该反射内存卡在windows 操作系统下进行测试,由于windows 为非实时操作系统,所以需发送大批量的数据进行速率测试, 以克服操作系统本身的时延。试验中每次发送15Mbit 的数据,根据传输速率= 总数据量/ 总时间算出传输速率。又由编解码芯片的串行传输速率为1062.5MBd,数据传输速率为106.25MB/s,而数据包的长度是可变的, 从1 个双字到16 个双字, 每包数据包括32 位的header、32 位的地址数据和32 位的校验和,所以有效的数据传输速率在26MB/s 至88MB/s,我们测得的数据传输率为38.9 MB/s 至39.9 MB/s,可以得出该反射内存样卡功能正常。

表1 环形通讯传输速率表

 

  5 结束语

  本文介绍了一种基于PCI 总线的反射内存卡的设计方法。给出了硬件电路设计,在FPGA 内完成数据缓存FIFO 及其控制器、SDRAM 控制器和编解码控制器的设计, 结构清晰, 集成度高; 介绍了驱动程序的设计,提供了应用程序接口; 采用三块反射内存卡搭建了验证系统, 实验证明该反射内存样卡功能正常, 工作稳定。


http://www.ppmy.cn/news/231784.html

相关文章

计算机硬盘到内存不足,内存不够硬盘来凑,怪不得电脑卡!

刚开机的时候还挺流畅 怎么用着用着就卡了呢? 其实这都是虚拟内存引起的 随着运行程序的逐渐增多 物理内存不够用的情况下 系统会启用一部分硬盘做内存 这也就是一开始说的那句 内存不够,硬盘来凑 说起虚拟内存,很多老用户都不会陌生,毕竟在当时的条件下,内存普遍比较小,…

电脑tf卡检测不到_手机内存卡在电脑上读不出来,怎么办?

不知道大家有没有遇到过手机内存卡在手机上可以用,但在电脑上读不出来或者电脑和手机都读不出来的情况,遇到这种情况还是很倒霉的,下面就说说出现的几种情况和解决办法: 1、如果在手机上能够检测出来,那么连接电脑后,看你的手机上面是否有提示启动什么,一般是U盘,或者移…

uhs3内存卡有哪些_三分钟教你看懂存储卡标识

就拍照来说,像相机包、滤镜及备用电池这些配件,预算有限的话都可以缓缓再说,但一款高速稳定的存储卡是不可缺少的。存储市场日新月异,为适应不同的设备要求,早前SDA颁发了SD5.0标准,新增视频速度等级,存储卡标识的涵义被 不断丰富,今天新手教程就来教大家怎样快速学会挑…

服务器开机显示正在配置内存,服务器卡在正在配置内存

服务器卡在正在配置内存 内容精选 换一换 开启弹性云服务器的虚拟内存后,会导致硬盘I/O性能下降,因此,平台提供的Windows弹性云服务器默认未配置虚拟内存。如果弹性云服务器内存不足,建议通过“变更规格”操作来扩大内存。如果业务需要,必须开启虚拟内存,请参见本节内容进…

手机为什么取消了内存卡?

简单来说就是科技的快速发展以及市场的消费需求下淘汰了这种卡! 这个内存卡指的就是TF卡,又叫T-Flash卡,现在也称为microSD储存卡,这是在2004年由闪迪和摩托罗拉两大厂家推出的,这种卡体积大小只有11mm*15mm*1.0mm&am…

SD卡数据恢复软件哪个最好 SD卡数据恢复多少钱

SD卡是一种常见的数字存储卡,由于其体积小、存储能力强,至今仍然被应用在手机,行车记录仪,微型摄像机中。但SD卡在使用过程中可能会出现一些故障或者数据丢失的情况。那么今天小编就给大家介绍一下SD卡数据恢复软件哪个最好&#…

linux sd卡 测试软件,怎么检测SD卡内存卡是否被扩容过?

最近很多人说自己买的便宜的内存卡,用着用着就不能存东西了,或者甚至就不能再读了,也就是所谓的卡烧了,所以结合本人的经验特分享一下。本人以常 见的4GB、8GB和16GB的内存卡为例为各位简单介绍一下。下面的图片是本人手上的内存卡的真实拍照图片,这些有国产的和台湾产的两…

linux sd卡只读模式如何消除,SD内存卡写保护怎么去掉-奇迹可解决方案

大家都只读sd内存卡如果不能用了,比如电脑读不出,有些还不能打开,有些可以打开但是不能写入文件,也就是sd卡被写保护了,而遇到这些问题,U盘网之前都教过大家直接使用内存卡修复工具就可以解决,但…