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

news2024/11/17 7:35:53

一种基于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.coloradmin.cn/o/82934.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python爬虫实战,requests+openpyxl模块,爬取小说数据并保存txt文档(附源码)

前言 今天给大家介绍的是Python爬取小说数据并保存txt文档,在这里给需要的小伙伴们代码,并且给出一点小心得。 首先是爬取之前应该尽可能伪装成浏览器而不被识别出来是爬虫,基本的是加请求头,但是这样的纯文本数据爬取的人会很多…

web网页设计与开发:基于HTML+CSS+JavaScript简单的个人博客网页制作期末作业

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

怎么让文字转换成语音?一步一步让你学会

在日常的生活中,我们经常会需要将文字转换成语音的情况,例如广告词、给文本配音等等,当然我们就简单的方法就是自己手动进行配音,但是如果没有专业的设备和配音环境,是很难配出很好的效果的,这该怎么办呢&a…

飞链云智能机器人-基于ChatGPT的有趣问答

最近ChatGPT火起来了; 可玩性很高,不亚于之前AI绘画的视觉冲击;这次ChatGPT带来的是逻辑冲击;上下文逻辑远超现有市面上其他所有的AI对话机器人; 有人用技巧训练ChatGPT,ChatGPT机器人宣言要毁灭人类&…

备战2023蓝桥国赛-传纸条

题目描述: 解析: 这道题想了我好久,一开始我是想假如只走一条路线,从(1,1)走到(m,n),这种问题该怎么解决呢?针对这种问题我是设了dp[k][i][j]表示走了k步到达(i,j)的好心程度之和的…

[附源码]JAVA毕业设计迎宾酒店管理系统录屏(系统+LW)

[附源码]JAVA毕业设计迎宾酒店管理系统录屏(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目…

R语言中使用多重聚合预测算法(MAPA)进行时间序列分析

最近我们被客户要求撰写关于时间序列分析的研究报告,包括一些图形和统计输出。这是一个简短的演示,可以使用该代码进行操作。使用MAPA生成预测。 > mapasimple(admissions)t1 t2 t3 t4 t5 t6 t7 t8 t9 t…

ElasticsearchRestTemplate 和ElasticsearchRepository 的使用

操作ElasticSearch的数据,有两种方式一种是 ElasticsearchRepository 接口,另一种是ElasticsearchTemplate接口 SpringData对ES的封装ElasticsearchRestTemplate类,可直接使用,此类在ElasticsearchRestTemplate基础上进行性一定程…

Kibana:使用 Maps 来显示分布式的团队

在我之前的文章 “Kibana:如何在 Maps 应用中显示图片提示” 里,我展示了如何在 Kibana 中使用图片来展示一个图片的提示。这个在很多情况下是非常有用的,比如在疫情发生期间,我可以通过点击地图上的点来查看发生疫情人员的详细情…

ADI Blackfin DSP处理器-BF533的开发详解40:图像处理专题-GrayStretch 图像的灰度拉伸(含源码)

硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 代码实现了图像的灰度拉伸,代码运行时,会通过文件系统打开工程文件根目下" …/ImageView"路径中的 t…

回归预测 | MATLAB实现WOA-GRU鲸鱼算法优化门控循环单元多输入单输出回归预测

回归预测 | MATLAB实现WOA-GRU鲸鱼算法优化门控循环单元多输入单输出回归预测 目录回归预测 | MATLAB实现WOA-GRU鲸鱼算法优化门控循环单元多输入单输出回归预测写在前面效果一览基本描述模型描述程序设计参考资料写在前面 程序获取 | 机器学习/深度学习程序获取方式&#xff0…

Django学习第一天记录

1.安装Django(Windows环境) 首先需要确定系统中存在python环境,当前,本机的python环境为python 3.6.6,可以使用命令python --version进行查看。 在python环境成功搭建的基础上,我们使用命令pip install django即可进行django环境…

虚拟现实解决方案,实现 VR 数智机房

如今,虚拟现实技术作为连接虚拟世界和现实世界的桥梁,正加速各领域应用形成新场景、新模式、新业态。 图扑软件基于自研可视化引擎 HT for Web 搭建的 VR 数据中心机房,是将数据中心的运营搬到 VR 虚拟场景。以数据中心实际场景为基础&#…

Chaos Vantage这款渲染器有多强,一起来了解一下

Chaos Vantage 是最老牌渲染器之一的VRay开发公司Chaos新开发的一款实时GPU渲染引擎,以前的名字是Project Lavina,首次在Siggraph 2018上作为技术预览展示,官方定位是“在完全光线追踪环境中探索大型3D场景的工具”。 与其他实时渲染解决方案…

头戴式耳机适不适合跑步、分享几款最适合跑步的耳机

激情的运动和美妙的音乐毫无疑问是绝妙的搭配,几乎每天都驰骋在田径场上的我,一直非常关注运动耳机,也有不少朋友找我推荐运动耳机。运动耳机的选择有很多,但是极度靠谱的产品却是真的很少!如果你也不希望你在选购运动…

双十二大家都在买哪些书?这份书单请码住

双十二来啦,这一天也在提醒着我们这一年就要结束了。虽然距离上次买买买才过去不久,但是想读的书却在时刻增加。 这个双十二,依旧给大家推荐好书,根据近期搜索人气、销量排行、读者口碑整理了“计算机新书”“2022最受欢迎图书”“…

C#+SqlServer超市管理系统的设计与实现

目 录 1引言 1 1.1课题研究内容 1 2系统需求分析 1 2.1系统模块构建 1 2.1.1系统整体结构功能模块 1 2.1.2前、后台功能模块 2 3 数据库设计 3 3.1 E-R图和关系图 3 3.2数据库表设计 4 4系统实现 7 4.1 前台模块 7 4.2 后台模块 14 5 结果测试 24 5.1前台模块的测试 24 5.2后台…

教你制作GIF表情包,逐帧动画制作

我们经常看到很多著名的电影场景都被制作成GIF动画,非常有趣。下面2分钟教你制作GIF表情包,方法很简单,一起来学习吧! 方法一:手机制作GIF 我们来看看如何在手机上制作GIF,您需要使用刷新视频编辑工具。打开…

南方农机杂志南方农机杂志社南方农机编辑部2022年第24期目录

南方论坛《南方农机》投稿:cnqikantg126.com 基于物联网的食用菌日光温室终端控制研究 崔玉萍;席雪琴; 8-1016 基于颜色统计的水果采摘机器人水果识别的研究 夏康利;何强; 11-16 基于MATLAB/GUI双作用椭圆轨道滚柱泵人机界面设计 陈舰; 17-20 电动自…

nodejs 引用 canvas报错:without installing the canvas npm package

Error: Not implemented:HTMLCanvasElement. prototype.getContext(without installing the canvas npm package) 试了node 14.19.1 和 node 16.15.0 两个版本的都不行,即使是npm install canvas 成功了,运行也会报错,困扰了好久,…