当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]随着通信技术的飞速发展,为满足高速数字电路和数字信号处理等对时钟管理、信号完整性、高速宽带接口的要求,高速处理器与通信的融合日趋紧密,高速处理器、可编程逻辑器件和高

随着通信技术的飞速发展,为满足高速数字电路和数字信号处理等对时钟管理、信号完整性、高速宽带接口的要求,高速处理器与通信的融合日趋紧密,高速处理器、可编程逻辑器件和高速存储器成为设计的关键。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 芯片内部不可测内部状态引到空余管脚。

应用系统实现

系统时钟

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

外部存储器

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

以太网接口

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

RS232 接口

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

在线可编程PROM

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

JTAG端口

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

结束语

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

hmi是Human Machine Interface 的缩写,"人机接口",也叫人机界面。人机界面(又称用户界面或使用者界面)是系统和用户之间进行交互和信息交换的媒介, 它实现信息的内部形式与人类可以接受形式之间的转换...

关键字: HMI 人机界面 系统

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用
关闭
关闭