怎样设计实现一个基于DSP和PCI总线的通信数据采集系统?
0 2022-11-29

随着数字信号处理器性能的不断提高及其成本与售价的大幅下降,数字信号处理应用领域飞速扩展,信号处理进入了一个新的发展时期。同时随着计算机技术以及互联网络技术的不断发展,越来越多的数据需要经过计算机来进行处理、存储、传输筹操作。计算机的应用已经遍及我们生活的每一个角落。由于计算机本身的特点,通用计算机通常仅负责没有实时性要求的工作,而不适于进行实时性要求很高的数字信号处理。将计算机和 DSP有机地结合起来,充分利用各自的优点,它们将会相得益彰,满足现实应用中对数据实时处理能力、数据传输能力以及数据管理能力提出的越来越高的要求。

PCI总线是先进的高性能32/64位局部总线。可同时支持多组外围设备,不受制于处理器,数据吞吐量大(32位时峰值高达132Mb/s),并能完全兼容现有的ISA/EISA/MAC等扩展总线。连接到PCI总线上的设备主要分为:主控设备和目标(从)设备两类,接口设计成为PCI总线与设备进行沟通的桥梁。但是PCI总线的规范十分复杂,其接口的实现比ISA等总线要困难得多。目前实现PCI接口的有效方案有两种:使用可编程逻辑器件和使用专门接口芯片。本文中的采集系统就是运用公司的TMS320C5410高速定点DSP和PLX公司的PCI9052 PCI总线接口芯片来搭建的。

1 系统功能概述

根据实际应用析需要,系统的主要功能有:

(1)可以同时采集处理一条E1链路上所有32个时际的数据;

(2)对数据进行链路层协议解包后,重新打包茂特定的格式,交给上层系统(PC机)保存或进一步处理。对链路数据状态和采集的统计信息进行监测,定时生成报表,交给上层系统实时显示;

(3)系统应具有尽量大的软件升级功能和灵活性,便于系统提高性能或者应用于其他通信业务数据的采集。

本系统的设计难点主要是如何实现DSP与PCI9052之间高效率的数据通信。在系统中PCI9052通过DSP上专门的高速主机通用接口(host port inrface,以下简称H口)和DSP进行通信。但是HPI口总线是一个非常特殊的总线,它采用访问的方式来进行DSP内部数据的读写,HPI口单纯映射到PCI的I/O空间或者存储器空间,有不可避免的缺点。本文提出了一种双映射方法,成功地解决了这一问题,实现了DSP与PCI9052之间方便、高速的数据通信。

2 系统的硬件设计

整个硬件系统主要由DSP、PCI总线接口芯片和链路数据采集芯片组成。

本系统采用公司的TMS320C5410(以下简称C5410)DSP,该芯片的特点有:

·处理能力可达到100MIPS;

·采用多总线技术,一条指令可以同时访问数据和程序空间,具有高度并行性;

·具有改进型的8位HPI接口,主机通过HPI口可以访问DSP系统的任何一个存储器单元,而且外部访问和DSP内部操作相互独立,互不干扰;

·软件可编程的等待状态发生器,可以灵活地用不同速度的器件组建系统。

数据采集芯片采用了PMC公司的PMC4351.它可以同时采集三个时隙上的数据,可以通过编程选择采集或输出T1、E1数据,支持HDLC协议,可以进行去除CRC标志、复帧标志等预处理,为每小时隙提供128字节的发送FIFO和接收FIFO,有很完善的处理器接口。为了能够同时采集一整条E1链路上的数据,本系统采用了11片PMC4351组成链路数据接口单元。各个芯片之间的接口利用CPLD来完成,它的可编程性为各个组成部分之间的控制和通信提供了相当大的灵活性,也省去了大量外部电路、保证了硬件的方便调试和稳定工作。

具体的硬件框图如图1所示。


3 DSP的HPI接口与PCI9052的连接

C5410上的增强型8位HPI口为上层系统提供了一个灵活访问DSP内部存储器的并行数据口。上层系统可以通过HPI口自由地读写DSP内部存储器中的任何一个单元。并且C5410为HPI口提供了专门的中断线,这样两个系统可以通过中断进行控制信息交互。HPI为上层系统的访问提供了四个端口,通过这四个端口上层系统可以读写HPI的地址寄存器(HPIA)和控制寄存器(HPIC);通过另外两个端口HPIDC和HPIDS来分别连续和单个读写C5410存储器中的数据。这四个端口由HCNTL0和HCNTL1来寻址,它们的地址分配如表1所示。

表1


本系统采用双映射方式来完成C5410与PCI9052的连接。第一个映射是将HPI口的四个寄存器分别映射到PCI空间的四个16位I/O口上。上层系统可以通过访问I/O端口的方式来访问这四个寄存器,而依照HPI口的工作流程就可以间接地访问C5410内部存储器。这四个寄存器和PCI9052本地I/O空间的对应关系如下:

HPIC--100H

HPIDC--104H

HPIA--108H

HPIDS--10CH

在这种映射方式下,上层系统可通过PCI的I/O访问方式直接访问HPI口的四个寄存器,操作很直观。由于I/O访问无法进行突发传输,从而限制了数据传输速度。

第二种映射方式是将HPIDC寄存器映射成PCI空间的一个长度为2000H的8位存储器块。上层系统对该地址空间内任一单元的读写操作都会被映射成对HPIDC的读写访问。写入的情况也类似。可以看出,实际上这种模式形成了一个PCI存储器空间和DSP内部存储空间之间一一对应的直接映射。

本系统利用I/O映射来访问控制、地址寄存器和单个数据口,并用存储器映射来访问连续数据口。

在这种配置方法下,PCI9052和HPI口之间的硬件连接,主要利用PCI9052的读写控制信号ADS#、LBE[30]#、LW/R#、LRDY#和部分地址信号LA[32]进行简单的时序和逻辑转换后来生成HPI口的读写控制信号HBIL、HDS1#、HCNTL0/1、HR/W#.由于HPI口的访问是C5410的外部频率CLKOUT的5分频,所以PCI9052的本地时钟采用CLKOUT/5.

所有控制信号的接口逻辑和时序转换都是由CPLD来完成,具体的连接方式如图2所示。


4 系统的软件设计

数据的采集与预处理需要在C5410数据存储器中开辟三种存储块:一种是DATA BUFFER,它与PMC4351中各个时隙的FIFO一一对应,用于缓存每个时隙上采集到的消息数据;第二是DATA POOL(大小为1000H字),这是一个消息数据地,消息数据在DATA BUFFER中存满一整条消息后,加上一些TS包头后,形成一个新的消息包,存入到DATA POOL中;另外还要再开辟一个大小为1000H字节的存储块HPI RAM,这样就将DSP的数据采集部分与上层系统通信部分相互隔离开来,互不干扰。在DATA POOL中存满数据后,形成一个大的数据包,交给HPI RAM,通过PCI总线交给上层系统,进行进一步处理。整体的数据流图如图3所示。


由于DSP芯片的中断引脚数目有限,而且中断工作方式容易造成各个时隙数据采集不均匀的情况,本系统采用了轮询的工作方式。软件的具体流程如图4所示。


图4  软件流程图

本文提出的双映射配置方法和DSP软件工作策略,将C5410 DSP和PCI总线相互连接,接口具有逻辑简单、操作方便、效率高等优点。在C5410的CLOCKOUT配置成64MHz的前提下,两者之间数据传输速率理论峰值可达12.8Mbps,实际系统实现的平均速率达到了10Mbps。采用高性能的采集芯片,可充分发挥HPI口与PCI9052之间的高速数据连接,同时系统也可以升级到同时采集10条E1链路。

本文实现的数据采集系统工作良好,并已经在电信部门得到采用。该系统目前已经不仅仅用于采集移动通信数据,也开始应用于采集V5、七号信号等协议的数据,满足了系统功能设计的要求。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 处理器
  • DSP
  • CPU
  • GPU
  • 对比分析MPU和MCU

    当为你的下一个设计方案选择正确的核心处理器件时,你应该考虑哪些因素呢?本文将对MPU和MCU做些对比分析,并以此对器件的选择给出一些指导性建议和意见。每当在为新

    01-28
  • 在Linux下对IO端口与IO内存访问方式总结

    (一)地址的概念1)物理地址:CPU地址总线传来的地址,由硬件电路控制其具体含义。物理地址中很大一部分是留给内存条中的内存的,但也常被映射到其他存储器上(如显存

    01-18
  • 分清ARM CPU上的三个地址

    首先,我们要分清ARMCPU上的三个地址:虚拟地址(VA,VirtualAddress)、变换后的虚拟地址(MVA,ModifiedVirtualAddress

    01-12
  • 一文详解锁存器、触发器、寄存器、缓冲器

    一、锁存器锁存器(latch)---对脉冲电平敏感,在时钟脉冲的电平作用下改变状态锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平

    01-11
  • 基于多核DSP实现千兆以太网通信

    DSP的应用针对8核DSPTMS320C6678与外部设备进行数据通信的需求,以片上集成千兆以太网交换子系统为核心,选取芯片88E1111作为PHY设备,设计了

    01-03
  • 多核DSP C6678内部构造

    TMS320C6678是KeyStone架构的8核DSP处理器,每个CorePac核的频率最高为1.25GHz,提供强大的定点和浮点运算能力,同时芯片内部集成了

    2022-12-23
  • CPU为什么不容易坏

      虽然层层封装的保护加上生产工厂的良品控制,CPU很难因为外界原因造成芯片的物理损坏,但是断针、超频或雷击造成电压过高烧毁、遇水短路等等原因还是会让CPU变得

    2022-12-16
  • 数字电路逻辑设计中的注意事项

    这是一个在逻辑设计中注意事项列表,由此引起的错误常使得设计不可靠或速度较慢,为了提高设计性能和提高速度的可靠性,必须确定设计通过所有的这些检查。可靠性1.为时钟

    2022-12-14
  • pcie和pci插槽的区别

      现在主板上的插槽基本上都是PCI插槽或者PCI-E插槽,这两种插槽有什么区别呢?主要是插哪些卡的呢?现在我们就针对这两个不同的插槽进行详细的分析。   PC

    2022-11-30
  • 处理器单元优缺点对比

      带有多个处理单元的SoC器件目前是产品设计链上的重要一环。本文综合各种因素评估了不同处理单元的优缺点,并通过卫星无线电接收器的设计实例帮助开发人员理解SoC

    2022-11-30
  • cpu总线逻辑上的三个分类

    cpu和其他芯片连接的导线,通常称为总线,从物理意义上讲,就是由一根根组成的。根据传送的信息的不同,从逻辑上可以分为地址总线、数据总线、控制总线。1.地址总线:

    2022-11-29
  • TI C6000系列DSP的片内总线架构、存储系统和外设

      TIC6000系列的DSP的内部总线架构、存储系统和各种外设(如EDMA3和PRU等),特别是片内的程序数据RAM和Cache系统,以及外设的EDMA控制器

    2022-11-24
下载排行榜
更多
广告