微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于FPGA+DSP+ARM的数据传送总线变换器

基于FPGA+DSP+ARM的数据传送总线变换器

时间:08-09 来源:华强电子 点击:

在飞控组件测试时,由于被测系统与上位机有一定距离,如果直接把遥测并行数据传送到上位机,将会出现数据信号的衰减和信号延时问题,有可能使信号时序错位,从而达不到系统测试的要求。为此,需要研制一种数据传送总线变换器,用来完成被测数据无失真的、实时的、远距离与上位机的通信,并能接收上位机的控制指令,实现工作状态的远程交互。

1 数据传送总线变换器的整体设计

  综合考虑到测试系统实时性和可靠性的要求,选择以太网口作为数据传送总线变换器与上位机的数据转发接口,以高速串口作为控制口,采用FPGA+DSP+ARM的架构作为实时信息处理平台。

  数据传送总线变换器的系统框图如图1所示。其中,FPGA作为数据预处理器,完成并行数据到串行数据的转换等数据预处理任务;DSP读取FPGA处理后的数据并完成数据压缩的任务;ARM作为中央处理控制器,主要完成从DSP系统中读取已经编码好的数据并通过以太网口完成与上位机的实时通信任务。上位机按照数据传输协议、产品的数据遥测协议解调出各类物理变量,记录并存储。测试人员通过上位机完成工作状态的远程控制与各种信息交互任务。

  在该系统中采用了FPGA+DSP+ARM的高端架构,但是衡量一个系统的整体性能不仅要看所使用的器件和所完成的功能,还要看各个器件之间的接口形式。在FPGA+DSP+ARM的信息处理平台上,三者之间的接口形式将决定整个系统的性能。为满足实时的信号处理任务,在选择DSP芯片时,不仅要考虑DSP芯片的处理速度,还要考虑DSP芯片与FPGA、ARM的接口能力,选择带有EMIF和HPI接口的DSP使其与FPGA、ARM无缝连接成为该系统设计的关键一环。

2 器件选型

  在该数据传送总线变换器中,FPGA选用Xilinx公司最新推出的低成本现场可编程门阵列Spartan-3E 系列中的XC3S500E。XC3S500E包含有20个Block RAM,每个RAM块中的18 KB的模块存储器,是完全同步、真正的双端存储器。用户可独立地从每个端口读出或向每个端口写入(但同一地址不能同时进行读和写)。另外,每个端口都有一个独立的时钟,对每个端口的数据宽度都可以独立进行配置。

  ARM芯片选用Samsung公司的S3C4510B。S3C4510B是基于以太网应用系统的高性价比16/32 bit RISC微控制器,内含一个由ARM公司设计的16/32 bit ARM7TDMI RISC处理器核。除了ARM7TDMI核以外,S3C4510B还有许多重要的片内外围功能模块,其中就有一个以太网控制器,用于S3C4510B系统与其他设备的网络通信[1]。

  DSP芯片选用TI公司的TMS320C6416。TMS320C6416是TI公司推出的高速定点DSP,它拥有处理能力强大的CPU、高达1 MB的RAM、丰富的外设接口。外设包括CPU访问外围设备提供无缝接口的灵活的外部存储器接口EMIFA和EMIFB,一个使得DSP很容易通过PCI接口无缝连接到一个具有PCI功能的外部主CPU上的PCI接口,一个16/32 bit宽的异步并行接口HPI(和PCI共用相同的引脚),一个提供64 bit数据通道访问的增强型EDMA等。其高速的处理速度满足系统的实时性要求,并能实现与多种外设无缝连接。

3 硬件设计

  3.1 ARM与DSP的接口电路

  3.1.1 DSP TMS320C6416 HPI描述

  TMS320C6416集成有一个16/32 bit宽主机接口HPI,HPI通过复位时的自举和器件配置引脚HD5选择采用HPI16还是HPI32。HPI具有两条地址线HCNTRL[1:0],负责对HPI的内部寄存器进行寻址。HPI只有3个32 bit内部寄存器,分别是控制寄存器HPIC、地址寄存器HPIA和数据寄存器HPID。用户只需对上述3个寄存器进行相应的读写操作,就能完成对DSP内存空间的访问[2]。

  3.1.2 S3C4510B与TMS320C6416的接口电路

  由于S3C4510B中没有完全符合TMS320C6416 HPI接口时序的外部接口可以直接使用,因此选用S3C4510B中时序最接近HPI接口时序的外部I/O接口与TMS320-C6416进行连接。TMS320C6416与S3C4510B接口电路如图2所示。TMS320C6416与S3C4510B通过单独的32 bit数据线HD0~HD31和8条控制线进行连接。S3C4510B通过HPI接口访问DSP内部的RAM以及其他外部资源。在整个ARM微处理器与DSP芯片通过HPI接口通信和数据交换的过程中,除了中断ARM和清除ARM发过来的中断需要DSP本身参与外,其他操作DSP都处于被动的地位,几乎不用进行其他的操作。所以对于ARM来说,DSP系统单元就相当于一片外接的SDRAM。

  在TMS320C6416中,HPI、GP[15:9]、PCI、EEPROM、McBSP2共用了一组引脚,DSP在复位时通过锁存PCI_EN和McBSP2_EN引脚的值来选择使用何种外设。在该系统中,将这两个使能引脚都拉低。

  3.2 FPGA与DSP的接口电路

  3.2.1 DSP TMS320C6416 EMIF描述

TMS320C6416对外有2个EMIF

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top