基于Virtex-Ⅱ Pro的嵌入系统设计与应用

时间:2011-09-02

  FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。随着通信技术的飞速发展,为满足高速数字电路和数字信号处理等对时钟管理、信号完整性、高速宽带接口的要求,高速处理器与通信的融合日趋紧密,高速处理器、可编程逻辑器件和高速存储器成为设计的关键。Virtex- ⅡPro 系列FPGA 将可编程逻辑结构和高速处理器集成在同一芯片内部,直接的连接克服了利用总线在FPGA 和附加外部处理器之间接口的瓶颈。

  Virtex-II Pro 简介

  Virtex- ⅡPro 系列容量的FPGA 目前能提供多达5 万个逻辑单元具有超过10 Mb 的RAM;556 个乘法单元12 个数字时钟管理单元以及24个集成3. 125 GbPs 的Rocket IOTM 收发器可提供1 200 个IO 引脚, 支持CMOS、SSTL 、HSTL 、LVDS、GTL 和3. 3V PCI 信号标准。Virtex - II Pro 系列FPGA 支持多达4 个运行频率高达300 MHz 的PowerPC 405 处理器。PowerPC405 采用嵌入式300 MHz哈佛(Harvard) 结构的RISC 核具有五级数据通道流水线、硬件乘除单元、32 个32 位通用寄存器、16 KB指令Cache 和16 KB 数据Cache 、1 KB~16MB 可变页尺寸组成存储器管理单元(MMU) 和专用的片内存储器接口。

  PowerPC405 处理器由IBM CoreConnect 技术支持,CoreConnect 是运行在100~133 MHz 的64 位总线,为了使系统设计灵活性达到,CoreConnect 结构是作为软IP 核在Virtex - ⅡPRO FPGA 中实现的。CoreConnect 总线结构有2 个主要总线组成,处理器局部总线(PLB) 和片内外设总线(OPB) 。这些总线可以用来分别连接高速和低速外设到PowerPC处理器。此外,设备控制寄存器总线对通用外设器件寄存器的进行管理和控制。

  EDK(Embedded Development Kit) 是Xilinx 公司提供的嵌入开发工具,用于在FPGA 内部集成多种不同的IP 核,可方便地规划、设计并生成整个片上系统的硬件和软件结构。通过编写硬件描述文件(MHS) 来设置FPGA 内部硬件系统,主要包括定制嵌入处理器PowerPC405、外围设备IP 核、设定外部存储器和其他外设的地址空间、管理外围设备的控制信号及中断信号。EDK 的硬件生成平台根据用户编辑的MHS 文件生成相应的VHD 文件,原理图文件等,同时支持系统仿真。EDK工具提供了大量可供使用的IP 核, 包括SDRAM,DDRRAM,UARTController ,10/ 100 M以太网MAC ,总线仲裁器等,使FPGA 可方便地与其他外围器件连接。EDK 实现FPGA 片内软、硬件设计过程如图1 所示。

 


  应用系统结构

  数据纠错译码接入设备要求对同步传输的数据进行帧同步、解扰、纠错译码处理并对处理后的数据进行网络接入。在以太网接入部分,要求对解码后的数据进行IP 协议封装,然后使用数据链路层协议对协议包进行以太网帧的封装,终通过网口接入局域网。

  在对Virtex - II 系列FPGA 充分理解和研究的基础上,根据系统设计需求,进行系统硬件的设计。本设计采用了VII - Pro 系列的XC2VP7FG456 芯片,在芯片内部设计嵌入了一个PowerPC405 处理器IP核。应用系统由XC2VP7FG456 芯片及其上电复位电路, 系统时钟电路、内存电路、程序存储电路、PROM电路、以太网PHY接口电路和RS - 232 接口电路、JTAG接口、LVPECL 电平接口电路组成。系统组成框图如图2 所示。

  由于FPGA 可允许PowerPC 硬IP 分布在Virtex 结构中的任何位置,设计时需要综合考虑系统的设计要求,合理地指定FPGA 各个管脚的信号。考虑到输入输出标准的不同,FPGA 芯片划分了8 个不同的Bank ,每个Bank 可支持不同的I/ O 特性。在设计过程中,尽量把同一特性的外围芯片管脚连接到FPGA 芯片的同一Bank 的IO 管脚。同时,为了方便进行调试,可将FPGA 芯片内部不可测内部状态引到空余管脚。

  应用系统实现

  1.系统时钟

  参考时钟由外部晶振产生,通过FPGA 芯片全局时钟管脚接入到FPGA 内部数字时钟管理模块(DCM) 和时钟分配树。DCM 支持超过400 MHz 的时钟输出,提供了一个可保证50/ 50 占空比的零延迟时钟缓冲。同时提供了控制90 ,180 ,270 相移的能力,实现对时钟信号的综合,支持24~420 MHz间的频率产生。在FPGA 内部,DCM统一分配时钟信号,将DCM 的时钟输出设置为PowerPC 的系统时钟,并提供给PLB ,OPB 总线仲裁器。

  2.外部存储器

  PPC405 的PLB 总线支持高性能的高速存储器,如DDR RAM,SDRAM 等。OPB 总线支持通用的存储电路, 如EPROM, SRAM, FALSH 和外部寄存器等低速的存储器。在本设计中采用了2 片MT48V8M16 高速同步SDRAM, 构成PowerPC405处理器数据总线宽度32 位,容量为32 MB 的外部数据存储区。在编辑MHS 文件时, 选择加入PLBSDRAM核,在其中配置存储器地址总线和数据总线宽度,指定存储区的起始地址。程序存储器除选用OPB 总线外,其余设置与数据存储器类似。

  3.以太网接口

  在FPGA 内部集成10/ 100 MEthernet MAC 核。外接BCM5221 以太网物理层芯片,该芯片适用于IEEE802. 3 物理层的应用,然后通过网络变压器后接入以太网。在编辑MHS 文件时,选择加入以太网MAC 层内核。

  4.RS232 接口

  根据需要,在FPGA 内部集成UART 控制器,外接RS232 电平转换器,连接到计算机的串口,用作应用程序的调试信息输出。在MHS文件中可配置串口的波特率,数据位宽度,奇偶校验等设置。

  5.在线可编程PROM

  FPGA 是基于门阵列方式为用户提供可编程资源的,其内部逻辑结构的形成是由配置数据决定的。这些配置数据通过外部控制电路或微处理器加载到FPGA 内部的SRAM 中,由于SRAM 的易失性,每次上电时,都必须对FPGA 进行重新配置。在实际应用时,采用2 片XC18V04 PROM,用以存放FPGA 的配置数据流。通过硬件跳线将FPGA 设置为串行主模式配置方式,在FPGA 每次上电后,自动将配置数据从PROM读入到SRAM中,实现内部结构映射。

  6.JTAG端口

  JTAG端口用于进行FPGA 配置信息的,编程PROM。在VII - Pro 中嵌入PowerPC 内核时,还可进行应用程序代码的和调试。为方便软件代码的调试,除FPGA 专用配置管脚TCK,TMS ,TDO ,TDI外,还可在FPGA 芯片上指定4 个普通I/ O 管脚,内部配置连接PowerPC 内核的JTAG 接口, 用于PowerPC 内核的调试,软件代码跟踪调试。在这种模式下,软件代码可单独到PowerPC 内核进行软件的调试。在利用JTAG引脚配置FPGA 时,需要注意:JTAG配置引脚接上拉电阻,在配置期间INIT 引脚要接地。

  FPGA简介

  目前以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。

  系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。

  FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(复杂可编程逻辑器件备)。

  FPGA芯片结构

  目前主流的FPGA仍是基于查找表技术的,已经远远超出了先前版本的基本性能,并且整合了常用功能(如RAM、时钟管理和DSP)的硬核(ASIC型)模块。如图3所示(注:图3只是一个示意图,实际上每一个系列的FPGA都有其相应的内部结构),FPGA芯片主 要由6部分完成,分别为:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。


  图3 FPGA芯片的内部结构

   总结

  使用XC2VP7FG456 型FPGA 及其内部的PowerPC405 嵌入处理器开发了数据处理和网络接入板,经电路测试,可实现传输速率为100 Mb/ s的同步数据接收和处理,满足系统需要。Virtex - IIPro 系列FPGA Virtex- ⅡPro 系列FPGA 将可编程逻辑结构和高速处理器集成在同一芯片内部,直接的连接克服了利用总线在FPGA 和附加外部处理器之间接口的重点,支持内部嵌入运行频率高达300 MHz的PowerPC405 处理器IP 核,设计人员可以并行进行快速的硬件和软件开发,在系统结构利用可编程性能所提供的优点,从而使设计投入生产所需要的时间更短。


  

参考文献:

[1]. CPLD datasheet https://www.dzsc.com/datasheet/CPLD_1136600.html.
[2]. LVDS datasheet https://www.dzsc.com/datasheet/LVDS_457917.html.
[3]. RISC  datasheet https://www.dzsc.com/datasheet/RISC+_1189725.html.
[4]. MHS datasheet https://www.dzsc.com/datasheet/MHS_1022587.html.
[5]. BCM5221  datasheet https://www.dzsc.com/datasheet/BCM5221+_163494.html.


上一篇:两个单向电流检测放大器组成一个双向电流检测放大器
下一篇:数字家庭中的视频业务的研究

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料