0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PCI9054的DMA传输过程可通过几个步骤实现?

lhl545545 ? 来源:维库电子市场网 ? 作者:维库电子市场网 ? 2020-08-12 16:39 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

目前卫星技术已广泛应用于国民生产的各个方面。通讯卫星,气象卫星以及遥感卫星,科学探测卫星等与人们的生活密切相关。卫星所收集的大量数据资料能否及时准确地下传、接收和存储是卫星技术的一个重要方面。其传送过程如图1所示。

PCI9054的DMA传输过程可通过几个步骤实现?

从卫星上高速下传的数据由地面卫星接收站转发为基带信号,通过光缆传送至数据中心,速度可达上百兆波特率,要求系统正确接收,经过同步和预处理,然后存入计算机系统,供数据中心使用。其特点是:数据下传速度高,数据量大,持续时间长,并且要求具有差错控制功能。而本文介绍了为了满足此要求而设计的数据接收和存储系统。

系统设计

数据接收和存储系统主要包括数据接收和预处理,数据传送,数据存储等部分。本文主要介绍CPLD,PCI总线结构,总线控制器PCI9054。其系统组成如图2所示。

基带串行信号由复杂可编程逻辑器件(CPLD)进行串并转换,变为8位数据信号后根据编码方式找到同步帧,并进行预处理,然后传到先入先出存储器FIFO, 在逻辑控制下将数据送入PCI总线控制器PCI9054,由9054采用DMA突发方式传输至内存,再存储到RAID磁盘阵列。

采用复杂可编程逻辑器件(CPLD)可大大减少复杂的控制,通过VHDL语言即可灵活设置控制逻辑。而且随着超大规模集成电路的发展,可编程逻辑器件的发展非常迅速,现已达到数十万门,速度《1ns(管脚之间)。由于高速电路设计中的干扰问题非常严重,因此要尽可能地减少线路设计,所以采用CPLD不仅可满足系统要求的复杂的逻辑关系,而且可大大减少布线干扰,调试和更改也非常方便,是今后逻辑控制的发展方向。在本系统中,CPLD不仅实现串并转换和同步的功能,同时还用以实现数据进入FIFO以及由FIFO传入PCI9054的传输控制逻辑,中断逻辑以及主机对数据传输通道的前端控制。

在总线结构上,由于数据传输速度高,以往的ISA总线不能满足要求(ISA总线最大传输速度5MB/S),必须采用更快的PCI总线结构。PCI总线协议是Intel公司1992年提出的,为满足高速数据输入/输出要求而设计的一种低成本,高性能的局部总线协议。它是一种独立于处理器的总线结构,具有32位或64位的复用的数据地址总线,总线上的设备可以以系统总线的速度在相互之间进行数据传输,或直接访问系统内存,可以达到132MB/s的数据传输速率(64位则性能加倍)。采用PCI接口的设备必须满足PCI接口规范V2.2标准。

PCI 总线结构具有非常明显的优点,但其总线规范十分复杂,要求非常严格的时序关系,接口的设计难度较大。因此,为了减少PCI总线在实际应用中的复杂性,许多公司设计出了专门针对PCI总线接口的控制芯片。PCI9054就是其中比较先进的一种。PCI9054是PLX公司推出的一种33M, 32位PCI接口控制器,可同时支持3.3V和5V两种信号环境,并且具有电源管理功能。其结构框图如图3所示。

PCI9054的DMA传输过程可通过几个步骤实现?

它提供了三种物理总线接口:PCI总线接口,LOCAL总线接口,及串行EPROM接口。

LOCAL总线的数据宽度为32位,时钟频率可达到50MHZ, 并且支持数据预取功能。 9054的LOCAL总线与PCI总线之间数据传输有三种方式:主模式(Direct Master),从模式(Direct Slave),DMA方式。其内部具有两个DMA数据通道,双向数据通路上各有6个FIFO进行数据缓冲,可同时进行高速的数据接收和发送。8个32位Maibox寄存器可为双向数据通路提供消息传送。9054还有2个32位Doorbell寄存器,用来在PCI和Local总线上产生中断。

PCI9054的DMA传输过程可通过几个步骤实现?

用户通过设置其内部寄存器,即可完成各种控制功能。9054内部寄存器的配置信息可以写在一片串行EPROM中,在加电时9054自动加载串行EPROM配置信息,并由PCIBIOS通过PCI总线对配置寄存器读写。9054可方便地与各种存储设备相连接,在本设计中,它与FIFO及EPROM的设计接口如图4所示。在本系统中,数据传输是单方向的,因此只设计PCI9504从FIFO中读数据的情况,只用到与读FIFO有关的信号,如REN,RCLK等。其中的CPLD逻辑关系如下:

REN平时为高电平(无效电平),当ADS#为低(有效),BLAST为高(无效),LW/R为低(有效)时,表明9054开始了一个有效的读数据周期,CPLD产生一个低电平信号REN(有效电平)给FIFO,同时作为Ready信号返回给9054,通知9054设备已准备就绪。此信号持续到ADS#为高(无效)且BLAST为低(有效)时,表明9054已经开始最后一个周期,此时REN信号再次变高电平(无效)。

OE信号与REN信号可同样设置,在读信号允许的同时使能FIFO芯片。

本设计中采用了PCI9054的DMA工作方式,在此方式下,9054作为PCI总线的主设备,同时也是Local总线的控制者,通过设置其DMA控制器内部的寄存器即可实现两总线之间的数据传送。表1显示了与DMA传输相关的寄存器在PCI总线上的地址分配:

PCI9054的DMA传输过程可由以下几个步骤实现:

1.设置方式寄存器:设置DMA通道的传输方式,寄存器DMAMODE0或者DMAMODE1的位9:0-表示块传输,1-表示散/聚传输;

2.设置PCI地址寄存器:设置PCI总线侧的地址空间。

3.设置LOCAL地址寄存器:设置LOCAL总线侧的地址空间。

4.设置传输计数寄存器:以字节位单位设置传输数据量。

5.设置描述寄存器:设置DMA传输的方向;在散/聚方式下,位0表示传输参数的加载地址,0-PCI地址,1-Local地址; 位1表示传输链结束,0-未结束,1-结束;位2设置当前块传输结束后中断;位3指示DMA的传输方向,0-从PCI总线到Local总线,1-从Local总线到PCI总线;高28位[31:4]表示传输参数表的地址指针。

6.设置命令/状态寄存器:启动或停止DMA操作,并读此寄存器返回DMA状态 。

PCI9054的DMA传输过程可通过几个步骤实现?

通过PCI9054的DMA传输方式,高速数据可以较容易地实现从PCI接口板上传入计算机,不必考虑PCI总线接口的实现,从而大大简化了设计中的复杂度,加快了设计周期。

结语

随着数字技术的发展,要求的数据传输速率将会越来越高,CPLD技术和PCI总线将会越来越多地应用在数据传输的设计中,PCI9054总线控制器有着较高的性能/价格比,将来的应用将会更加广泛。
责任编辑:pj

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5465

    浏览量

    126193
  • 接口
    +关注

    关注

    33

    文章

    9163

    浏览量

    154622
  • 可编程逻辑器件

    关注

    5

    文章

    145

    浏览量

    30709
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    当UART数据传输过程中发生RLS(接收线状态)中断时,如何处理PEF、FEF和BIF标志?

    当UART数据传输过程中发生RLS(接收线状态)中断时,如何处理PEF、FEF和BIF标志
    发表于 08-22 07:25

    FPGA利用DMA IP核实现ADC数据采集

    DMA IP核来实现高效数据传输步骤,包括创建项目、配置ADC接口、添加和连接DMA IP核、设计控制逻辑、生成比特流、软件开发及系统集成
    的头像 发表于 07-29 14:12 ?3175次阅读

    无法配置 ADC1 来触发 DMA 传输,怎么解决?

    您好,我无法配置 ADC1 来触发 DMA 传输,以便将 ADC 结果复制到缓冲区中并避免使用 ADC1 中断。 根据用户手册,我发现应该使用 DMAP_ADC 来设置 DMA 的触发源。 我设置
    发表于 07-21 06:57

    NVMe IP高速传输却不依赖XDMA设计之五:DMA 控制单元设计

    DMA 控制单元负责控制 DMA 传输事务, 该单元承担了 DMA 事务到 NVMe 事务的转换任务, 使用户对数据传输事务的控制更加简单快
    的头像 发表于 07-02 19:47 ?1700次阅读
    NVMe IP高速<b class='flag-5'>传输</b>却不依赖XDMA设计之五:<b class='flag-5'>DMA</b> 控制单元设计

    NVMe IP高速传输摆脱XDMA设计之四:系统控制模块设计

    系统控制模块负责实现 NVMe over PCI 逻辑加速引擎的控制功能, 其结构如图 1 所示。 用户通过系统控制模块实现对初始化功能、 队列管理功能、
    发表于 06-29 18:07

    传输DMA通道中的所有缓冲区后,DMA标志(就绪和部分)被卡住了是怎么回事?

    ,在对 FX3 固件进行编程期间和编程后没有直接打印出错误信息。 但在传输过程中,UART 调试器显示发送/接收的缓冲区为 0,我认为这是 DMA 自动模式的预期行为(如果不是,请指正)。 当我切换
    发表于 05-16 07:18

    QDMA Subsystem for PCI Express v5.0产品指南

    AMD QDMA Subsystem for PCI Express( PCIe )旨在利用多队列的概念实现高性能 DMA,以搭配 PCI Express Integrated Blo
    的头像 发表于 05-13 09:21 ?496次阅读
    QDMA Subsystem for <b class='flag-5'>PCI</b> Express v5.0产品指南

    将DMACB寄存器中的RC位设置为1来在DMA传输结束时重新加载计数器,什么时候将需要重新加载的值存储在FM3中?

    ? ——或者有其他的时间吗? 如果是在写入EM位的时候,那么我在一次DMA传输过程中如果再次写入1(写入已经为1的EM位),那么此时TC的值是否会被存储为要重新加载的值呢?
    发表于 04-30 07:33

    为什么无法设置DMA传输大小?

    我学会了将HSADC和DMA结合起来进行数据传输,我尝试修改DMA传输数据的大小,但一直没有成功,传输的数据已经是4095了,这就是为什么,
    发表于 03-17 07:08

    STM32 SPI从机用DMA方式实现全双工,数据在传输过程中就会CRC校验失败,为什么?

    STM32配置成从机全双工,采用DMA方式,出现一个问题:当我把DMA方式配置成DMA_CIRCULAR后,数据在传输过程中就会CRC校验失败。 在完成上述相关配置后,在SPI初始化函
    发表于 03-11 07:09

    如何实现 HTTP 协议的安全性

    协议的安全性,可以采取以下几种方法: 1. 使用HTTPS HTTPS(安全超文本传输协议)是HTTP的安全版本,它在HTTP的基础上通过SSL/TLS协议提供了数据加密、数据完整性验证和身份验证。使用HTTPS可以确保数据在传输过程
    的头像 发表于 12-30 09:22 ?1190次阅读

    pcie布线对信号传输的影响

    完整性是指信号在传输过程中保持其完整性的能力。在PCIe布线中,信号完整性受到以下几个因素的影响: 1.1 传输线特性 PCIe布线通常使用差分对来传输信号,以减少噪声和提高信号质量。
    的头像 发表于 11-13 10:38 ?1501次阅读

    什么是 PCI-E 图像采集卡?

    PCI-E图像采集卡是将模拟图像信号转换为数字信号并传输到计算机的设备,通过PCIExpress(PCIe)总线与计算机主机连接,提供高速、高带宽的数据传输能力,适用于需要快速、精确的
    的头像 发表于 11-01 15:47 ?1091次阅读
    什么是 <b class='flag-5'>PCI</b>-E 图像采集卡?

    pcm1864evm如何读取这个usb传输过来的采集信号呢?

    我看pcm1864evm的mode2可以把采集的4路数据传输到PC上,请问如何读取这个usb传输过来的采集信号呢?有没有SDK之类的驱动? 谢谢!
    发表于 10-29 07:31

    通过PLX PCI9080桥接芯片实现TMS320C6000扩展总线与PCI总线的接口

    电子发烧友网站提供《通过PLX PCI9080桥接芯片实现TMS320C6000扩展总线与PCI总线的接口.pdf》资料免费下载
    发表于 10-26 10:23 ?0次下载
    <b class='flag-5'>通过</b>PLX <b class='flag-5'>PCI</b>9080桥接芯片<b class='flag-5'>实现</b>TMS320C6000扩展总线与<b class='flag-5'>PCI</b>总线的接口