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

发布者:SereneNature最新更新时间:2010-08-31 来源: 微型机与应用2010年第14期关键字:FPGA  DSP  ARM  嵌入式系统 手机看文章 扫描二维码
随时随地手机看文章

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

  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等。其高速的处理速度满足系统的实时性要求,并能实现与多种外设无缝连接。[page]

  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总线接口,分别是64 bit的EMIFA和16 bit的EMIFB。EMIFA接口具备与8、16、32、64 bit系统接口的功能,EMIFB接口端口支持8 bit和16 bit系统[3]。EMIFA为64 bit存储器总线,分成ACE0~ACE3 4个存储空间,每个存储空间可以独立配置,无缝接口具有多种类型的存储器,如SRAM、Flash RAM和DDR RAM等。[page]

  3.2.2 FPGA与TMS320C6416的接口电路

  在该系统中,采用DSP TMS320C6416 EMIFA接口连接到FPGA的方法实现DSP与FPGA Block RAM的无缝连接。FPGA的双端Block RAM的一端以存储器模式与DSP通信,另一端与内部FPGA逻辑通信[4]。

  鉴于EMIF具有灵活的时序参数,只需要极少的FPGA逻辑,因此,只需最低限度的设计工作,FPGA就可以用做DSP协处理器。图3 所示为TMS320C6416与FPGA的接口电路。

  4 系统软件设计

  4.1 嵌入式操作系统

  在该数据传送总线变换器中,实时数据压缩的任务由DSP完成。ARM S3C4510B完成与PC之间的以太网通信,其软件实现所要求的实时性、可靠性和复杂性使得选择一种带有TCP/IP协议包的嵌入式实时操作系统成为必需,而μCLinux是一个带有完整的TCP/IP协议的操作系统,在μCLinux中加入实时RT-Linux模块以满足对嵌入式操作系统的实时性要求。

  4.2 驱动和应用程序的开发

  基于μCLinux操作系统的硬件驱动和应用程序的开发是在交叉编译环境中进行的,首先在PC机上开发,然后移植到目标机上进行调试并最终固化到目标机上。所开发的硬件驱动有以太网卡控制器驱动、LCD驱动、HPI驱动等驱动程序。系统软件结构如图4所示[5]。

[page]

  在μClinux操作系统上运行三个任务:读取压缩数据、通过以太网发送数据、接收和执行来自远端PC机的命令。其中读取DSP压缩数据任务对实时性有要求,它通过中断处理程序来实现,而其他的两个任务则通过用户进程来实现。以太网发送数据的任务和读取压缩数据的任务共享一个缓冲区,通过ioctl函数在其间传递缓冲区双向链表的地址。所以需要为数据处理模块上的通信接口HPI注册一个驱动程序,注册驱动程序的函数是:

  result=register_chrdev(HPI_MAJOR,"hpi",&hpi_fops)

  驱动程序的主要结构如下:

  struct file_operations hpi_fops=

  {

  owner: THIS MODULE,

  open: hpi_open,

  read: hpi_read,

  write: hpi_write,

  ioctl: hpi_ioctl,

  mmap:hpi_mmap,

  release:hpi_release,

  };

  HPI驱动程序编写完成后,将驱动程序源代码置于../linux-2.4.x/driver/char目录下,同时修改同级目录下的Makefile,在../linux-2.4.x/driver/char/Makefile中加入Obj_y +=hpi.o

  同时,为了能够在?滋Clinux启动时自动初始化此字符设备,还需要修改 ../linux-2.4.x/driver/char/men.c文件,在其中加入:

  (1)新添加的字符驱动程序初始化函数声明:extern void  hpi_init(void);

  (2)在字符设备统一初始化函数int _init chr_dev_init(void)中调用新设备的初始化函数,需要在int _init chr_dev_init(void)中加入语句:hpi_init();

  在函数int _init chr_dev_init(void)中,字符设备的初始化函数将被统一调用,并完成字符驱动file_operations数据结构的注册,初始化之后就可以使用HPI字符设备了。

  本文所设计数据传送总线变换器,不仅解决了由于传输距离远而引起的信号畸变问题,而且满足了信息传递的实时性要求,同时具有网关功能和嵌入式Web功能,能确保系统安全接入Internet。

  参考文献

  [1] 李驹光.ARM应用系统开发详解——基于S3C4510B的系统设计(第二版)[M].北京:清华大学出版社,2006.

  [2] TMS320C6416 datasheet[EB/OL].(2001-02).http://www.TI.com.

  [3] TMS320C6000 DSP External Memory Interface(EMIF) Reference Guide[EB/OL].(2008-04).http://www.TI.com.

  [4] 使用EMIF将Xilinx FPGA与TI DSP平台接口应用指南[EB/OL].(2007-01-29).http:www.xilinx.com.cn.

  [5] DAVID A.Linux编程白皮书[M].朱珂,译.北京:机械工业出版社,2000.

关键字:FPGA  DSP  ARM  嵌入式系统 引用地址:基于FPGA+DSP+ARM的数据传送总线变换器

上一篇:Spartan-3实现DSP嵌入系统在FPD中的应用
下一篇:赛灵思将在中国LTE峰会上展示其无线目标设计平台

推荐阅读最新更新时间:2024-05-02 21:08

瑞萨全新PMIC参考设计加速FPGA和SoC产品问市
全球领先的半导体解决方案供应商瑞萨电子株式会社宣布推出三款易于使用的电源管理IC(PMIC)参考设计,用于为Xilinx Artix-7、Spartan-7系列FPGA以及Zynq-7000 SoC的多个电源轨供电,并可选配DDR存储器。瑞萨与Xilinx紧密合作,提供低风险且易于开发的电源解决方案,以加速FPGA和SoC设计。该参考设计可加快各种工业及运算类应用的电源研发速度,其中包括电机控制、机器视觉摄像头、可编程逻辑控制器(PLC)、家庭网关与家电、便携式医疗和无线设备等。 瑞萨高效PMIC参考设计提供了用户友好的交钥匙解决方案,使单个设计能够支持不同的Xilinx速度等级和DDR存储器类型,包括DDR3、DDR3
[嵌入式]
瑞萨全新PMIC参考设计加速<font color='red'>FPGA</font>和SoC产品问市
基于DSP的人脸识别系统设计
  为了人脸识别的相关算法能快速运行,选择了TI公司的DSP处理器,另附加键盘模块和PAL制式输出模块,可以脱离PC独立对PAL视频信号进行采集和处理,并独立运行人脸的定位,特征抽取以及人脸的识别。硬件方面,系统采用了存储器切换系统,使得图像数据缓存和读取分别由CPLD和DSP独立且同时执行,缩短了数据的处理周期,保证了系统的实时运行。软件设计包括了:人脸定位、人眼定位、样本存储以及人脸识别。其中样本由DSP自动选取,根据人眼定位和人脸标记方框的大小共同决定,选取一部分大小相等且眼距相同的图片作为训练样本以及待识别样本。在主分量分析过程中,提取出主分量构成特征脸空间,将原样本投影到该空间内一点,再输送到KNN分类器中进行分类。该设
[嵌入式]
基于<font color='red'>DSP</font>的人脸识别系统设计
arm力天电子 lpc2148基于DS18B20的温度控制系统
//读一位数据(读位程序) 1unsigned char tmpreadbit(void) //read a bit 2{ 3 unsigned char dat; 4 DS_OUT(); //端口设置为输出 5 DS_L(); //DS=0 6 //Delayn(1); //2uS 7 DS_IN(); //input 8 //Delayn(1); 9 if(DS_R()!=0) 10 dat=1; 11 else 12 dat=0; 13 DelaynUs(50); 14 return (dat); 15} //读一个字节数据 (读字节程序) 16unsign
[单片机]
基于DSP的核信号采集系统通讯接口原理及设计
  数字信号处理器的发展也是日新月异,不仅行指令速度越来越快,而且其功耗也越来越低。许多仪器或检测设备都不约而同地将DSP 应用到那些数据量庞大而且需实时传送数据的系统中。核信号数据采集系统也不例外,利用 DSP 可以实时有效地处理采集的信号,并将处理数据发送至上位机进行进一步处理。   通常 数据采集系统下位机与上位机的通讯采用串口方式,这种方式不仅协议简单,而且连接方便。 但是这种方式的数据传送速率不高,而USB 总线接口具有方便快捷、支持即插即用、可实 现高速数据通讯等优点,在很多领域得到广泛应用。USB 总线接口在USB1.1 协议下传输速率可达12Mbps ,USB2.0 协议下可达480Mbps ,完全可以满足目前
[嵌入式]
ARM系统设计JTAG接口详细图解
ARM系统的JTAG接口的设计不当往往使硬件系统无法调试,所以在设计ARM系统前要先熟悉ARM系统的JTAG接口的定义和常见问题。 1.ARM系统的JTAG接口是如何定义的? 每个PIN又是如何连接的? 下图是JTAG接口的信号排列示意: 接口是一个20脚的IDC插座。下表给出了具体的信号说明: 2.目标系统如何设计?   目标板使用与Dragon-ICE一样的20脚针座,信号排列见表1。RTCK和 nTRST这两个信号根据目标ASIC有否提供对应的引脚来选用。nSRST则根据目标系统的设计考虑来选择使用。下面是一个典型的连接关系图: 表 1 JT
[单片机]
<font color='red'>ARM</font>系统设计JTAG接口详细图解
Altera首次实现了对关键工业以太网协议的FPGA IP支持
  工业OEM能够以高性价比,在单片硬件设计中灵活实现关键通信协议 2007年7月25号,北京 ——Altera公司(NASDAQ: ALTR)今天宣布为工业自动化应用中的以太网通信协议提供FPGA支持,这些应用包括ProfiNet、Ethernet/IP、Modbus-IDA、EtherCAT、SERCOS III接口和Ethernet Powerlink等。这些关键通信协议的知识产权(IP)内核现在可以在Altera低成本Cyclone系列FPGA中实现。 设计人员利用工业以太网IP内核可以在一块电路板上实现任何标准,这不但减小了外形尺寸,而且节省了时间。系统OEM能够以高性价比方式在其自动化产品中增加工业标准联网功能,同时
[新品]
第2课:ARM汇编学习
首先要明确这节课要学的是什么: 1通过学习ARM汇编语言从而了解ARM处理器的工作原理。 2用汇编写Bootloader 在这里汇编的基本语法在《ARM嵌入式系统开发》里面已经写过了。这里就写一点需要特别注意的地方 我们学汇编,并不是要求用汇编写很多复杂的程序。那样不切实际,那些可以用更高一层的C来写。 7种寻址方式: 1立即数寻址 ADD r0,r0,#1 2寄存器寻址 ADD r0,r0,r1 3寄存器间接寻址 LDR r0, 4寄存器变址寻址 :前变址,自动变址,后变址 LDR r0, LDR r0, ! LDR r0, ,#4 5堆栈寻址 我们一般用FD 满递减 LDM {sp}!,{r1-r4}
[单片机]
FPGA与SRAM相结合完成大容量数据存储
1 引言 随着数字信号处理技术的不断发展,大容量可编程逻辑器件的不断涌现,FPGA技术越来越多地应用在大规模集成电路设计中。在此硬件系统设计中,经常会遇到需要大容量的数据存储的情况,下面我们将针对FPGA中内部Block RAM有限的缺点,提出了将FPGA与外部SRAM相结合来改进设计的方法,并给出了部分VHDL程序。 2 硬件设计 这里将主要讨论以Xilinx公司的 FPGA(XC2S600E-6fg456)和ISSI公司的SRAM(IS61LV25616AL)为主要器件来完成大容量数据存储的设计思路。 FPGA即现场可编程门阵列,其结构与传统的门阵列相似,大量的可编程逻辑块(CLB, Configurable L
[缓冲存储]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved