版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
通信与网络责任编辑:万翀引言随着数字多媒体技术的发展,在现代电子系统中各模块之间经常需要高速数据传输。传统的数据传输系统采用并行接口,并行数据传输技术向来都是提高数据传输速率的重要手段。随着数据传输速率的提高,并行数据传输的进一步发展遇到了瓶颈,面临很多问题,如接口信号不同步,信号串扰,引脚过多增加PCB板布线难度及设计制作成本[1]。因此,高速串行接口已经逐渐取代并行接口。与并行传输相比,串行传输具有独特优势,可以提供更大的带宽更远的传输距离以及更低的成本[2]。高速数据传输系统中各模块规模以及复杂度逐渐加大,数据传输的可靠性逐渐成为影响系统性能的关键因素之一。数据发送模块和数据接收模块处理数据的速度很难达到一致,因此经常会出现接收模块等待发射模块发送数据,或者发送模块等待接收模块接受数据的情况[3]。为了使高速数据传输系统可靠工作不丢失数据,系统需要加入流量控制机制,来协调发送模块和接受模块的工作。系统结构本系统基于Xilinx公司的Virtex-6系列的一款FPGA——XC6VLX240T,用于进行高速串行数据传输,其结构如图1所示。系统主要包括微控制器MicroBlaze模块,直接存储器存取(DMA模块以及基于Aurora协议以及GTX收发机的Aurora模块,另外还有内存模块(DDR3,两个作为缓冲器的FIFO模块以及一个用于流量控制的有限状态机(FSM模块。系统的工作流程为:微控制器MicroBlaze通过AXI-Lite总线向DMA寄存器写数据,配置DMA读操作的数据源地址,读数据长度,DMA写操作的目标地址以及写数据长度,然后启动DMA。DMA开始读取DDR3源地址空间中的数据通过FIFO1传给Aurora模块,Aurora模块中的GTX收发器将数据通过同轴电缆以串行的方式从发射端发送到接收端。然后接收端将数据传输到FIFO2中,然后通过DMA将数据写入到DDR3内存规定的目标地址空间中。本系统中采用回路(loopback的模式来方便地模拟串行数据传输系统。基于FPGA的具有流量控制机制的高速串行数据传输系统设计TheDesignofAHighSpeedSerialDataTransmissionSystemwithFlowControlMechanismBasedonFPGA姬中凯天津大学电子信息工程学院(天津300072摘要:本文介绍了基于XilinxVirtex-6FPGA的高速串行数据传输系统的设计与实现,系统包含AXIDMA和GTX串行收发器,系统增加了流量控制机制来保证高速数据传输的可靠性。最后进行了仿真测试,测试结果显示系统可以高速可靠地传输数据。关键词:串行;流量控制;数据传输;FPGA;DMA图1系统结构图图2AXIDMA结构图352012.4责任编辑:万翀以下分别对其主要模块进行介绍。微控制器Microblaze模块[4]MicroBlaze是Xilinx公司推出的一款可以嵌入在FPGA中处理器软核,采用RISC架构和哈佛结构的32位指令和数据总线,具有丰富的适用于嵌入式应用的指令集,支持CoreConnect总线的标准外设集合,最新的MicroBlaze支持AXI总线。MicroBlaze运行速度快,占用资源少,具有很强的可配置性,在很多领域得到了广泛应用。在本系统中MicroBlaze主要用于配置DMA使其按照要求进行数据传输。MicroBlaze通过AXI-Lite总线对DMA内部寄存器进行读写,配置数据传输的源地址,目标地址以及数据长度。当读写操作完成后,DMA会向MicroBlaze发出中断请求,MicroBlaze根据中断类型进行相应操作。DMA模块[5]系统中的DMA模块为Xilinx公司提供的AXI-DMAIP核,具有AXI总线接口,其结构如图2所示。DMA在AXI总线接口的内存和AXI-Stream接口的外设之间进行高带宽数据存取。其内部具有初始化寄存器,状态寄存器和管理寄存器,可以被MicroBlaze通过AXI-Lite总线配置。该DMA为全双工工作模式,拥有两个通道MM2S和S2MM。MM2S通道用于将地址映射的内存中的数据以数据流的方式传输到AXI-Stream接口的外设中;S2MM通道将AXI-Stream接口的外设中的数据传输到地址映射的内存中。另外此IP核还可以配置为分散收集模式DMA,可以大大减少MCU配置次数,增加数据传输速率。Aurora模块[6]Aurora协议是高速串行接口的链路层标准,用于高速线性通路之间的点到点的串行数据传输,同时其可扩展的带宽,为系统设计人员提供了所需要的灵活性。Aurora信道包括一个或多个Aurora通道,每个通道是全双工的串行通道,它内部集成了GTX收发器硬核,允许器件间通过多个GTX通道绑定进行通信。Aurora信道初始化分为通道初始化、信道绑定和信道确认。其中信道绑定将多个通道合并为一个数据通道,消除不同数据源产生的偏斜。例如使用4通道2字节Aurora实现位宽为32位的数据传输,初始化时需要进行信道绑定。本文使用XilinxCoreGenerator配置AuroraIP核,其参数如表1所示。FSM模块由于GTX收发机里没有数据存储空间,所以GTX收发机一旦接收到数据就会发送给接收端的FIFO,而且Aurora模块接收端的AXI-Stream接口不是完整的AXI-Stream接口,缺少了M_AXI_RX_READY信号,所以无法得知接收端FIFO是否已满。因此,我们需要增加一个有限状态机,利用Aurora协议的流量控制机制,根据接收端FIFO剩余存储空间大小来改变发射端工作模式。Aurora协议的流量控制机制主要由三个信号完成:流量控制请求信号(S_AXI_NFC_REQ,流量控制应答信号(S_AXI_NFC_ACK和无效数据数量信号(S_AXI_NFC_NB。Aurora模块中的流量控制模块接收到FSM模块发出的流量控制请求信号和无效数据数量信号以后,会回应一个流量控制应答信号,并且使Aurora模块的发射端发送无效数据来防止有效数据丢失。根据Aurora协议,在接收到流量控制请求到发送无效数据之间有一定的延时,最大为256个符号时间。Aurora中一个时钟周期传输4字节的数据,所以流量控制机制的最大响应时间为64个时钟周期。所以在接收端FIFO需要设定一个阈值,这个阈值至少要比FIFO的最大容量小64个双字空间。接收端FIFO在达到这个阈值以后就要通过FSM模块发送流量控制请求。本系统中接收端FIFO容量为512个双字,所以FIFO的阈值上限设为410,留下102个双字空间的裕度来保证系统不丢失数据。有限状态机的状态转换如图3所示。该有限状态机包括四个状态:准备状态(Ready,阻塞状态(Blocked,停止状态(Stop和开始状态(Start。有限状态机涉及到五个信号:Reset,Occ,Req,NB和Ack。Reset信号为输入信号用来复位系统;Occ信号也是输入信号来表示接收端FIFO的数据存储量;Req信号和NB信号都是输出信号,用来向Aurora发出流量控制请求;Ack为输入信号,来接收Aurora发出的流量控制应答信号。系统复位以后,有限状态机进入Ready状态。接收端开始接表1AuroraIP核参数名称指标名称指标AuroraLane1DataflowModeDuplexLaneWidth4-byteInterfaceStreamingLineRate5GbpsLaneAssignmentGTX_X0Y18GTREFCLK125MHzREFCLKSourceGTXQ4_clk030362012.4通信与网络责任编辑:万翀收来自发射端的数据,通过FIFO传给DMA模块。当DMA不接收数据以后,FIFO中存储的数据会逐渐增加。FSM模块检测到FIFO达到阈值上限以后会进入Blocked状态,并且向Aurora发出流量控制请求信号。当FSM模块接收到Aurora的流量控制应答信号后就跳转到Stop状态,并且清除流量控制请求信号。此时Aurora发射端发射图3有限状态机状态转换示意图图4FSM的仿真波形无效数据,FIFO内数据逐渐传给DMA中,当FSM检测到FIFO内数据存储量低于阈值下限以后,就会跳转到Start状态,并且再次发送流量控制信号。当FSM再次接收到Aurora的流量控制应答信号后,跳转到Ready状态,并且清除流量控制请求信号。仿真测试结果本文的FPGA综合和实现工具为XilinxISE13.2,硬件平台为ML605开发板,仿真环境为ISE自带的iSim仿真工具。图4为系统流量控制有限状态机的工作波形,可以很明显看到有限状态机在FIFO达到阈值上限和阈值下限时发生的状态跳变。经过仿真测试得知,当DMA一次传输148比特数据用时8.3ns,传输速率为142.7Mbps;一次传输1480比特数据用时13.25ns,传输速率为893.6Mbps;一次传输4096比特数据用时23ns,传输速率为1.426Gbps。这是由于配置DMA需要花费一定时间,一次传输数据越多则整体传输速率越高。结语本系统以XilinxVirtex-6FPGA为核心,基于AXI总线和Aurora协议,对高速串行传输系统进行了设计与实现。通过增加流量控制机制,来保证当发射端与接收端处理数据速率不一致时不丢失数据。经过仿真测试,实验结果证明系统可以高速可靠地传输数据。参考文献:[1]朱伟杰,陆探,朱万经.FPGA的双缓冲模式PCIExpress总线设计[J].单片机与嵌入式系统应用,2011,11(11[2]胡锦,彭成,谭明.基于RocketIO的高速串行协议设计与实现[J].微计算机信息,2008,(24:196-197[3]G.Lee,J.Lee,S.LeeandE.Huh.AnEfficientAnalysisforReliableDataTransmissioninWirelessSensorNetwork[C].IEEEAsia-PacificServicesComputingConference,2010:535–540[4]MicroBlazeProcessorReferenceGuidev13.2,UG081[DB].XilinxInc.,2011[6]LogiCOREIPAurora8B/10Bv6.2,UG766[DB].XilinxInc.,2011分段最小二乘法拟合该曲线,并分析两条曲线的误差,使误差最小时,得到最佳的拟合曲线,求出该拟合曲线的系数可校准温度传感器的输出[5-6]。在25℃时,采用三种滤波方式CMOS温度传感器输出比较如图3所示。CMOS温度传感器理论上有很好的线性特性,只测试标定两个温度点即可,实际上受各种因素的影响CMOS传感器的线性特性并不是理想的一条直线,需选取3~5个测试点,来实现所需要的高精度。在拟合温度曲线时,在整个测温范围内简单认为温度传感器输出为一条直线就很难实现温度计的高精度。但在某一区间段上可近似认为是一段直线。设计的CMOS温度传感器测温范围为-20℃~120℃,为实现在整个范围内实现高精度要求,选取了5个测温点,在每相邻的两点间可近似用一条直线来代替,兼顾了大批量校准要求测温点数少,又保证了输出高精度。整个温度范围内校准测试误差结果如图4所示。结论针对该款CMOS温度传感器的校准方案,有效稳定了传感器的输出,通过采用分段校准提高了高温和低温的两个极端情况下温度传感器输出的精度。采用该算法采用数字校准方案,提高了系统通用性。参考文献:[1]BakerAnton.CMOSsmarttem
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 炭黑生产工岗中转正晋升考核试卷含答案
- 膨胀烟丝设备操作工岗位行业发展考核试卷含答案
- 绝缘防爆工具制作工岗中工作改进考核试卷含答案
- 2026年数字工厂高级架构师招聘笔试试卷 招录16人题型大全
- 2026年影视数字化高级特效专家招聘笔试试卷 招录10人考试题库
- 救助站疫情应急处置指南
- 2026年山东省即墨市高三数学下册期末考试模拟卷【必刷】附答案
- 2026年广东省连州市高三数学下册期末考试模拟试卷带答案(黄金题型)
- 2026年山东省荣成市高三数学下册期末考试模拟考试卷附参考答案【满分必刷】
- 2026届阿里地区札达县四年级数学下学期期中检测模拟试题(含答案)
- 2026人工智能高质量数据集建设与应用实践白皮书
- T/CI 1408-2026城镇燃气安全检查与评价指南
- 2026年福建省公务员考试申论真题及答案解析
- 塔吊安拆安全技术措施培训课件
- 中铝宁夏能源集团笔试题库
- 浙江省强基联盟2026-2027学年高二上学期开学化学试题含答案
- 2026年秋季开学大一晚自习规划学习方法指导课件
- 第6课 古代罗马(课件)-(共50张+视频)统编版(2024)九年级历史上册2
- DB34∕T 3079-2026 河道堤防减压井及测压管管理规程
- 2026统考专升本英语:作文模版20篇
- 2026年成人高考全科试题及答案
评论
0/150
提交评论